Thread: BUG #3289: SIN(PI()) expected to return 0, but returns garbage
The following bug has been logged online: Bug reference: 3289 Logged by: Daniel Kastenholz Email address: mail@danielkastenholz.de PostgreSQL version: 8.1, 8.2.4 Operating system: Linux, Windows Description: SIN(PI()) expected to return 0, but returns garbage Details: Trouble case: Action: 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.
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