
John Maddock wrote: [SNIP]
Win32: VC6: Can't detect signaling NaN's (_isnan is broken). VC7, 7.1, 8: OK Intel 7, 8, 9: OK provided you're not using the VC6 runtime. GCC cygwin: OK. Borland 5.6.4: So broken I don't know where to begin :-(
HP-UX: gcc-3.4.2: OK. aCC: OK (native fpclassify broken for long doubles, but portable version works).
Tru64: cxx : OK (but can't test infinities/NaN's as they're not supported?
Suse Linux: gcc-3.3.3 : OK.
[pedro@localhost Projetos]$ g++ -v Utilisation des specs internes. Target: i386-redhat-linux Configuré avec: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,java,f95,ada --enable-java-awt=gtk --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --host=i386-redhat-linux Modèle de thread: posix version gcc 4.0.2 20051125 (Red Hat 4.0.2-8) [pedro@localhost Projetos]$ g++ -Wall classify.cpp -o classify [pedro@localhost Projetos]$ ./classify Running 1 test case... Platform has FP_NORMAL macro. FP_ZERO: 2 FP_NORMAL: 4 FP_INFINITE: 1 FP_NAN: 0 FP_SUBNORMAL: 3 Testing type float Testing type double Testing type long double *** No errors detected [pedro@localhost Projetos]$ g++ -Wall -O classify.cpp -o classify [pedro@localhost Projetos]$ ./classify Running 1 test case... Platform has FP_NORMAL macro. FP_ZERO: 2 FP_NORMAL: 4 FP_INFINITE: 1 FP_NAN: 0 FP_SUBNORMAL: 3 Testing type float Testing type double Testing type long double *** No errors detected [pedro@localhost Projetos]$ g++ -Wall -O2 classify.cpp -o classify [pedro@localhost Projetos]$ ./classify Running 1 test case... Platform has FP_NORMAL macro. FP_ZERO: 2 FP_NORMAL: 4 FP_INFINITE: 1 FP_NAN: 0 FP_SUBNORMAL: 3 Testing type float Testing type double Testing type long double *** No errors detected [pedro@localhost Projetos]$ g++ -Wall -O3 classify.cpp -o classify [pedro@localhost Projetos]$ ./classify Running 1 test case... Platform has FP_NORMAL macro. FP_ZERO: 2 FP_NORMAL: 4 FP_INFINITE: 1 FP_NAN: 0 FP_SUBNORMAL: 3 Testing type float Testing type double Testing type long double *** No errors detected [pedro@localhost Projetos]$ man gcc [pedro@localhost Projetos]$ g++ -Wall -O3 -ffast-math classify.cpp -o classify [pedro@localhost Projetos]$ ./classify Running 1 test case... Platform has FP_NORMAL macro. FP_ZERO: 2 FP_NORMAL: 4 FP_INFINITE: 1 FP_NAN: 0 FP_SUBNORMAL: 3 Testing type float Testing type double Testing type long double *** No errors detected -- Pedro Lamarão