in reply to Results depending on evaluation order
There is a difference between what is represented and what is actually being stored,
When you subtract the two the difference is exposed:DB<11> p sprintf("%.8f", $expected); 1.98000000 DB<10> p sprintf("%.8f", $premium); 1.98000000 DB<12> p ($expected == $premium) DB<13>
DB<16> p ($expected - $premium) -2.22044604925031e-16
But it is very small. Let's lop off the unnecessary information:
DB<13> $pa = 1.98 DB<14> $pb = 1.98 DB<15> p ($pb == $pb) 1 DB<17> p ($pb - $pa) 0 DB<18> DB<22> $exp = sprintf("%.8f", $expected) DB<23> $pre = sprintf("%.8f", $premium) DB<24> p ($pre - $exp) 0
So you see if you set limits on what Perl stores you should get more accurate comparisons.
Celebrate Intellectual Diversity
|
|---|