http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53367
Bug #: 53367
Summary: FMOD Standar C++ library
Classification: Unclassified
Product: gcc
Version: 4.4.3
Status: UNCONFIRMED
Severity: major
Priority: P3
Component: libstdc++
AssignedTo: [email protected]
ReportedBy: [email protected]
Created attachment 27411
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27411
the preprocessed file (*.i*) that triggers the bug???
/*
Exact version of GCC: gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
System Type: 32BITS --target=i486-linux-gnu.
Options given when GCC was configured/build:
The complete command line that triggers the bug: "g++ -lm fmod.cpp -o fmod"
The compiler output (error messages, warnings, etc.): None.
the preprocessed file (*.i*) that triggers the bug, generated by adding
-save-temps to the complete compilation command: As attachment
http://en.tiraecol.net/modules/comic/cache/images/tiraecol_en-5.png
*/
#include <cmath>
#include <iostream>
using namespace std;
const long double _1PI2 = 1.5707963267948966193L; // PI/2
const long double _3PI2 = 4.712388980384689858L; // 3*PI/2
long double my_fmod(long double numerator, long double denominator){
return numerator-((int)(numerator/denominator))*denominator;
}
int main(){
// GCC Standard Library fmod
cout << fmod(_3PI2,_1PI2) << endl;
// RETURNS 1.0842e-19 !!!!!!!!!!!!!!!!!!BUG BUG BUG!!!!!!!!!!!!!!
// my_fmod
cout << my_fmod(_3PI2,_1PI2) << endl;
// RETURNS 0
}