www.digitalmars.com Home | Search | C & C++ | D | DMDScript | News Groups | index | prev | next
Archives

D Programming
D
D.gnu
digitalmars.D
digitalmars.D.bugs
digitalmars.D.dtl
digitalmars.D.dwt
digitalmars.D.announce
digitalmars.D.learn
digitalmars.D.debugger

C/C++ Programming
c++
c++.announce
c++.atl
c++.beta
c++.chat
c++.command-line
c++.dos
c++.dos.16-bits
c++.dos.32-bits
c++.idde
c++.mfc
c++.rtl
c++.stl
c++.stl.hp
c++.stl.port
c++.stl.sgi
c++.stlsoft
c++.windows
c++.windows.16-bits
c++.windows.32-bits
c++.wxwindows

digitalmars.empire
digitalmars.DMDScript

c++ - Bug? Comparison of doubles involving long double

↑ ↓ ← robertschlicht yahoo.com writes:
I am using DMC version 8.38 on Win32. The 
result of comparing two doubles seems to 
get wrong sometimes when a long double and 
the ?: operator are involved. Maybe I am 
wrong, but I think the following code 
should return 0, not 1. 

Thanks in advance for any suggestions.

Robert


#include <stdio.h>
#include <math.h>

int main(void)
{
double x, y;
long double z;

x = sqrt(1);
y = sqrt(2);
z = 0;

printf("y > x, so the return value should be zero (false). It isn't.");

return y < (1? x : z);
}
Dec 03 2003
↑ ↓ → "Walter" <walter digitalmars.com> writes:
Looks like a bug. I'll take it from here. Thanks, -Walter
Dec 05 2003