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

Reply via email to