[Haskell-cafe] Sinus in Haskell

Brent Yorgey byorgey at gmail.com
Fri Nov 9 14:30:42 EST 2007


On Nov 9, 2007 2:08 PM, Hans van Thiel <hthiel.char at zonnet.nl> wrote:

> Hello All,
> Can anybody explain the results for 1.0, 2.0 and 3.0 times pi below?
> GHCi yields the same results. I did search the Haskell report and my
> text books, but to no avail. Thanks in advance,
> Hans van Thiel
>
> Hugs> sin (0.0 * pi)
> 0.0
> Hugs> sin (0.5 * pi)
> 1.0
> Hugs> sin (1.0 * pi)
> 1.22460635382238e-16
> Hugs> sin (1.5 * pi)
> -1.0
> Hugs> sin (2.0 * pi)
> -2.44921270764475e-16
> Hugs> sin (2.5 * pi)
> 1.0
> Hugs> sin (3.0 * pi)
> 3.67381906146713e-16
> Hugs>
>

More generally, this is due to the fact that floating-point numbers can only
have finite precision, so a little bit of rounding error is inevitable when
dealing with irrational numbers like pi.   This problem is in no way
specific to Haskell.

-Brent
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20071109/00e8ed1f/attachment.htm


More information about the Haskell-Cafe mailing list