On 8/23/07, Zoe Slattery <[EMAIL PROTECTED]> wrote: > Hi - I've writing a few tests for the math extension and have a question > about floating point precision. > > Here's a small example: > > --TEST-- > Test return type and value for expected input sin() > --INI-- > precision = 14 > --FILE-- > <?php > > $threesixty = pi() * 2.0; > echo "sin 360 = "; > var_dump(sin($threesixty)); > > ?> > --EXPECT-- > sin 360 = float(-2.4492127076448E-16) > > Is it right to test for an exact number in this way? I was slightly > suprised that I got the same number from Windows and Linux (maybe I > shouldn't be). > > If not, I could write the test above to check that sin 360 is zero > plus/minus some small number - but how small?
It really depends on the architecture. Using a precision of 10 should put you on the safe side, at least for the common architecture (intel, amd and ppc). --Pierre -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php