Large values (that should produce inf, produce a bogus result instead.
For example, 1.0e+309 produces 1.39065e-309 on gcc 3.4.3!
Here is the trivial program:
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
double a,b;
cout << "Enter a (Using cin):";
cin >> a;
printf ("Enter b (Using scanf):");
scanf ("%lf",&b);
cout <<"a = "<< a << "\tb = "<< b <<endl;
return 0;
}
--
Summary: Out of range float inputs to cin get spurious values
Product: gcc
Version: 3.4.3
Status: UNCONFIRMED
Severity: minor
Priority: P2
Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: david dot moore at intel dot com
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20431