This is the mail archive of the
`libc-help@sourceware.org`
mailing list for the glibc project.

Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|

Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |

Other format: | [Raw text] |

*From*: Roberto Bagnara <bagnara at cs dot unipr dot it>*To*: libc-help at sourceware dot org*Date*: Fri, 05 Sep 2008 19:29:42 +0200*Subject*: Interaction between rounding direction and trigonometric functions*Organization*: Department of Mathematics, University of Parma, Italy

Hi there,

$ cat bug2.cc #include <fenv.h> #include <iostream> #include <cmath>

int main() { double theta = 5.27905511969922880410877041867934167385101318359375;

std::cout << "theta = " << theta << "\n"; std::cout << "sin(theta) = " << sin(theta) << "\n"; std::cout << "cos(theta) = " << cos(theta) << "\n";

std::cout << "Repeating after setting the rounding direction to UPWARD:" << std::endl;

fesetround(FE_UPWARD); std::cout << "theta = " << theta << "\n"; std::cout << "sin(theta) = " << sin(theta) << "\n"; std::cout << "cos(theta) = " << cos(theta) << "\n"; } $ g++ -W -Wall bug2.cc $ a.out theta = 5.27906 sin(theta) = -0.843695 cos(theta) = 0.536822 Repeating after setting the rounding direction to UPWARD: theta = 5.27906 sin(theta) = -0.119458 cos(theta) = 12.1636 $

This happens on a Fedora 7, x86_64 system, with glibc-2.6-4 and GCC 4.3.2.

As you see, after setting the rounding direction to UPWARD, the results are grossly wrong, to the point of cos() returning 12.1636. I wonder if this is a bug or if I am using sin() and cos() outside their specification. I have checked the glibc manual, but I did not find anything allowing to answer this question. All the best,

-- Prof. Roberto Bagnara Computer Science Group Department of Mathematics, University of Parma, Italy http://www.cs.unipr.it/~bagnara/ mailto:bagnara@cs.unipr.it

**Follow-Ups**:**Re: Interaction between rounding direction and trigonometric functions***From:*Ryan Arnold

Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|

Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |