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.…
==============================================================================
--- 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;
}