Hello everyone,

Today I ran into a situation that is strange to me. I ran the following 
code on two Linux machines (go run floor.go), on two Windows ones, and on 
Go Playground.

package main

import (
"time"
"math"
)

func main() {
datetime := time.Now().Add(time.Hour * 24 * 7 * 4 * 12 * 3)
seconds := -1 * int(time.Now().Sub(datetime).Seconds())
a := 29030400
b := float64(seconds) / float64(a)

println("input:", b)
println("floor:", math.Floor(b))
}

On Linux the output is:

input: +3.000000e+000
floor: *+2.000000e+000*

On Windows and Playground:

input: +3.000000e+000
floor: *+3.000000e+000*

As you can see, on Linux the floor value of float value 3 is rounded down 
to 2, while on Windows/Playground it's 3.

The code was ran with Go 1.10 and 1.10.2.

The system details of one of the Linux machines, as reported by "go bug":

go version go1.10.2 linux/amd64
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/msd/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/msd/go/"
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 
-fdebug-prefix-map=/tmp/go-build304261270=/tmp/go-build 
-gno-record-gcc-switches"
GOROOT/bin/go version: go version go1.10.2 linux/amd64
GOROOT/bin/go tool compile -V: compile version go1.10.2
uname -sr: Linux 4.13.0-37-generic
Distributor ID: Ubuntu
Description: Ubuntu 16.04.4 LTS
Release: 16.04
Codename: xenial
/lib/x86_64-linux-gnu/libc.so.6: GNU C Library (Ubuntu GLIBC 
2.23-0ubuntu10) stable release version 2.23, by Roland McGrath et al.
gdb --version: GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1


Is there something I miss or could this be an issue?

Thanks,
Andrei

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to