[ros-diffs] [pschweitzer] 54432: [CRT] Fix _fpclass prototype Fix headers included Remove internal defines that were useless and even not matching real defines. This fixes 4 tests

pschweitzer at svn.reactos.org pschweitzer at svn.reactos.org
Sat Nov 19 10:40:00 UTC 2011


Author: pschweitzer
Date: Sat Nov 19 10:39:58 2011
New Revision: 54432

URL: http://svn.reactos.org/svn/reactos?rev=54432&view=rev
Log:
[CRT]
Fix _fpclass prototype
Fix headers included
Remove internal defines that were useless and even not matching real defines.
This fixes 4 tests

Modified:
    trunk/reactos/lib/sdk/crt/float/fpclass.c

Modified: trunk/reactos/lib/sdk/crt/float/fpclass.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/sdk/crt/float/fpclass.c?rev=54432&r1=54431&r2=54432&view=diff
==============================================================================
--- trunk/reactos/lib/sdk/crt/float/fpclass.c [iso-8859-1] (original)
+++ trunk/reactos/lib/sdk/crt/float/fpclass.c [iso-8859-1] Sat Nov 19 10:39:58 2011
@@ -9,43 +9,13 @@
  */
 
 #include <precomp.h>
-#include <math.h>
+#include <float.h>
 #include <internal/ieee.h>
-
-
-#define _FPCLASS_SNAN	0x0001	/* signaling NaN */
-#define _FPCLASS_QNAN	0x0002	/* quiet NaN */
-#define _FPCLASS_NINF	0x0004	/* negative infinity */
-#define _FPCLASS_NN	0x0008	/* negative normal */
-#define _FPCLASS_ND	0x0010	/* negative denormal */
-#define _FPCLASS_NZ	0x0020	/* -0 */
-#define _FPCLASS_PZ	0x0040	/* +0 */
-#define _FPCLASS_PD	0x0080	/* positive denormal */
-#define _FPCLASS_PN	0x0100	/* positive normal */
-#define _FPCLASS_PINF	0x0200	/* positive infinity */
-
-
-//#if __MINGW32_MAJOR_VERSION < 3 || __MINGW32_MINOR_VERSION < 3
-
-#define FP_SNAN       0x0001  //    signaling NaN
-#define	FP_QNAN       0x0002  //    quiet NaN
-#define	FP_NINF       0x0004  //    negative infinity
-#define FP_PINF       0x0200  //    positive infinity
-#define FP_NDENORM    0x0008  //    negative denormalized non-zero
-#define FP_PDENORM    0x0010  //    positive denormalized non-zero
-#define FP_NZERO      0x0020  //    negative zero
-#define FP_PZERO      0x0040  //    positive zero
-#define FP_NNORM      0x0080  //    negative normalized non-zero
-#define FP_PNORM      0x0100  //    positive normalized non-zero
-
-//#endif
-
-typedef int fpclass_t;
 
 /*
  * @implemented
  */
-fpclass_t _fpclass(double __d)
+int _fpclass(double __d)
 {
 	union
 	{
@@ -57,26 +27,26 @@
 	if ( d.d->exponent == 0 ) {
 		if ( d.d->mantissah == 0 && d.d->mantissal == 0 ) {
 			if ( d.d->sign == 0 )
-				return FP_PZERO;
+				return _FPCLASS_PZ;
 			else
-				return FP_NZERO;
+				return _FPCLASS_NZ;
 		} else {
 			if ( d.d->sign == 0 )
-				return FP_PDENORM;
+				return _FPCLASS_PD;
 			else
-				return FP_NDENORM;
+				return _FPCLASS_ND;
 		}
 	}
 	else if (d.d->exponent == 0x7ff ) {
 		if ( d.d->mantissah == 0 && d.d->mantissal == 0 ) {
 			if ( d.d->sign == 0 )
-				return FP_PINF;
+				return _FPCLASS_PINF;
 			else
-				return FP_NINF;
+				return _FPCLASS_NINF;
 		}
 		else if ( (d.d->mantissah & 0x80000) != 0 ) {
-			return FP_QNAN;
+			return _FPCLASS_QNAN;
 		}
 	}
-	return FP_SNAN;
+	return _FPCLASS_SNAN;
 }




More information about the Ros-diffs mailing list