Consider the following code snippet, at https://play.golang.org/p/hUUF9O-p-k

Using go 1.8.1 (same thing with current master branch)

package main
func main() {
        x := float64(-1)
        println(uint64(x))
        println(int64(x))
        println(uint64(int64(x)))
}

On ARM64:
0
-1
18446744073709551615
 
On x86:
 
18446744073709551615
-1
18446744073709551615


The comment from the ARM engineer: "It seems on arm we are using FCVTZU, 
for rounding to unsigned, which is what the code example is doing. Except 
on x86 they are rounding to signed int, and then dropping the sign."

I'd like to know what the results are on other non-ARM, non-x86 platforms 
(Power, Z, MIPS) to know what level of variety exists in this result and 
then adjust the code path everywhere to do the right thing.

thanks

Ed

Ed Vielmetti, e...@packet.net

-- 
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