Bug #9706 | Precision Math: Sin Function returns incorrect results when used with pi() | ||
---|---|---|---|
Submitted: | 7 Apr 2005 8:28 | Modified: | 7 Apr 2005 16:53 |
Reporter: | Disha | Email Updates: | |
Status: | Not a Bug | Impact on me: | |
Category: | MySQL Server | Severity: | S3 (Non-critical) |
Version: | 5.0.3 Beta | OS: | Windows (Windows 2003) |
Assigned to: | CPU Architecture: | Any |
[7 Apr 2005 8:28]
Disha
[7 Apr 2005 15:16]
Disha
The results are returned in radians. Hence the updated expected results are: +------------------+----------------------+ | sin(90) | sin(pi()) | +------------------+----------------------+ | 0.89399666360056 | 0 | +------------------+----------------------+ 1 row in set (0.00 sec)
[7 Apr 2005 16:53]
Jorge del Conde
Hi, sin() returns a approximate number (double). for approximate numbers, exact comparison does not work. instead of f1 = f2, one should use abs(f1 - f2) < epsilon method of comparison (used in floating point calculations). Also, sin() is not exact, and pi() is double, so having: sin(pi()) == 1.2246063538224e-16 is the expected result in this case. -- Jorge