Re: gcc/gsl

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 14 Nov 2024, Stephen Morris wrote:

    Just my 2 cents worth. I develop at work in a language called SAS, which is interpretive like Python is. I see the sort of precision issues you are highlighting all the time, and the software vendor has written papers (which I can't lay my hands on atm) around the fact that they are expected because of the way computers work. There arguments are that when dealing with decimal numbers, because computers work in binary, there are certain numbers that cannot be accurately represented in binary, therefore you will get differences in the representation of those numbers. It may also have something to do with the fact that SAS stores numbers as double precision floating point. I've seen an upstream application supply us with a number to six decimal places and when we store that number in SAS the internal representation of that number does not match what we were supplied. One of the recommended solutions to this issue is to round numbers to the level of precision that you actually need.

That really does not match OP's problem.
That conversion from floating decimal to floating binary and back
does not necessarily produce the same value has long been known.
OP's problem is more like the same sequence
produces different results on similar machines.
If OP's program has very long decimal strings,
a difference in compilers might make a difference.
Without such decimal strings, C requires round to nearest.

To ensure that rounding of decimal strings is not the issue,
OP could the a literal format that can be exactly
stored in a binary floating point variable.
E.g.  0x5.Fp-3 = (5 + 15./16)/8 .

A more likely issue is different algorithms in the libraries.
a*b + x*y + g*e might be evaluated in different orders in the libraries.

--
Michael   hennebry@xxxxxxxxxxxxxxxxxxxxxx
"SCSI is NOT magic. There are *fundamental technical
reasons* why it is necessary to sacrifice a young
goat to your SCSI chain now and then."   --   John Woods
-- 
_______________________________________________
users mailing list -- users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/users@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [EPEL Devel]     [Fedora Magazine]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Desktop]     [Fedora Fonts]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Fedora Sparc]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux