Without optimization the result of the function call is, as a bit pattern,
System's cbrt(5.3049894774e-315) system = 2a2fffffffffffff
Damian's cbrt(5.3049894774e-315) damian = 2a30000000000000
Only the second is the correct/exact value.
With optimization the result of the function call is, as a bit pattern,
System's cbrt(5.3049894774e-315) system = 2a30000000000000
Damian's cbrt(5.3049894774e-315) damian = 2a30000000000000
Both are the correct/exact value.
To me, this means that a different library is being linked after the
compilation stage. This agrees with the manual page for 'gcc'.
I do not really think the problem is in Chapel. Still weird.
As an aside, my 3.5 billion evaluations of my generic cube root routine,
and checking that the result is accurate to machine tolerance takes,
96 seconds (with -O)
and
335 seconds (no -O)
Impressive.
I am not using --ieee-fast because I do not want it doing things which
affect NaN processing.
Regards - Damian
Pacific Engineering Systems International, 277-279 Broadway, Glebe NSW 2037
Ph:+61-2-8571-0847 .. Fx:+61-2-9692-9623 | unsolicited email not wanted here
Views & opinions here are mine and not those of any past or present employer
_______________________________________________
Chapel-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-developers