Re: BUG #3289: SIN(PI()) expected to return 0, but returns garbage - Mailing list pgsql-bugs

From Heikki Linnakangas
Subject Re: BUG #3289: SIN(PI()) expected to return 0, but returns garbage
Date
Msg-id 464C308A.7010103@enterprisedb.com
Whole thread Raw
In response to BUG #3289: SIN(PI()) expected to return 0, but returns garbage  ("Daniel Kastenholz" <mail@danielkastenholz.de>)
List pgsql-bugs
Daniel Kastenholz wrote:
> Type in SELECT SIN(PI())
>
> Expected output:
> 0
>
> Actual output:
> * Windows, using 8.2.4:
>   garbage (-2.2......)
>
> * Linux, using 8.1:
>   garbage (1.22.......)
>
> --
>
> Comments:
> SIN(3.1414) and SIN(3.1417) come close to 0 and work on both platforms.
> SIN(3.1415) and SIN(3.1416) produce the same garbage output as using PI() on
> both platforms.

You don't get 0 because the value of pi is just an approximation, and
most likely the output of sin is not exact either. What you get is
pretty darn close to 0, however. Apparently you didn't read the output
carefully: it's in scientific notation. I'm getting

  1.22460635382238e-16

on my laptop, which means 1.22460635382238 * 10^(-16).

--
   Heikki Linnakangas
   EnterpriseDB   http://www.enterprisedb.com

pgsql-bugs by date:

Previous
From: "Daniel Kastenholz"
Date:
Subject: BUG #3289: SIN(PI()) expected to return 0, but returns garbage
Next
From: Max Khon
Date:
Subject: ON DELETE CASCADE with multiple paths