It would help if your could show the actual code for both C and Go, as well as the input
On Wednesday, March 9, 2022 at 11:37:10 AM UTC christoph...@gmail.com wrote: > I'm translating a scientific C program into Go that is doing some 64bit > floating point operations. > > In this process I check that the same input yields the same output. > Unfortunately they don't yield the same result, though the computation is > simple. It is as follow. I receive a 64bit integer value. > > This value is converted to float64/double, and divided by 2^64. > The resulting number is multiplied by 1e8. > > With C I get 41 6E 84 FD 00 09 90 D7, with Go I get 41 6E 84 FD 00 09 E6 > 8E. The last 15bits are different. The computation is performed with the > same computer. > > Could it be that the C program is performing the computation with long > double (80 bit) precision and that Go is doing it with 64bit precision ? > > Is there something I could do about it because that might be a red flag > for replacing the C program with a Go program. > -- 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. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/56218a68-dea9-4f02-b8cb-c74b97a71704n%40googlegroups.com.