LongFloat.st
changeset 14931 0de2fc03f23a
parent 14921 bb511b683781
child 15021 e0ca9bd75f0f
child 18040 a11a12546f23
--- a/LongFloat.st	Thu Mar 21 17:41:42 2013 +0100
+++ b/LongFloat.st	Fri Mar 22 10:44:23 2013 +0100
@@ -67,33 +67,33 @@
  */
 # ifndef isnanl
 #  define isnanl(x)      \
-        ((((unsigned int *)(&x))[0] == 0x00000000) && \
-         (((unsigned int *)(&x))[1] == 0xC0000000) && \
-         (((unsigned short *)(&x))[4] == 0xFFFF))
+	((((unsigned int *)(&x))[0] == 0x00000000) && \
+	 (((unsigned int *)(&x))[1] == 0xC0000000) && \
+	 (((unsigned short *)(&x))[4] == 0xFFFF))
 # endif
 
 # ifndef isnan
 #  define isnan(x)      \
-        ((((unsigned int *)(&x))[0] == 0x00000000) && \
-         (((unsigned int *)(&x))[1] == 0xFFF80000))
+	((((unsigned int *)(&x))[0] == 0x00000000) && \
+	 (((unsigned int *)(&x))[1] == 0xFFF80000))
 # endif
 
 # ifndef isPositiveInfinity
 #  define isPositiveInfinity(x) \
-        ((((unsigned int *)(&x))[0] == 0x00000000) && \
-         (((unsigned int *)(&x))[1] == 0x7FF00000))
+	((((unsigned int *)(&x))[0] == 0x00000000) && \
+	 (((unsigned int *)(&x))[1] == 0x7FF00000))
 # endif
 
 # ifndef isNegativeInfinity
-#  define isPositiveInfinity(x) \
-        ((((unsigned int *)(&x))[0] == 0x00000000) && \
-         (((unsigned int *)(&x))[1] == 0xFFF00000))
+#  define isNegativeInfinity(x) \
+	((((unsigned int *)(&x))[0] == 0x00000000) && \
+	 (((unsigned int *)(&x))[1] == 0xFFF00000))
 # endif
 
 # ifndef isinf
 #  define isinf(x) \
-        ((((unsigned int *)(&x))[0] == 0x00000000) && \
-         ((((unsigned int *)(&x))[1] & 0x7FF00000) == 0x7FF00000))
+	((((unsigned int *)(&x))[0] == 0x00000000) && \
+	 ((((unsigned int *)(&x))[1] & 0x7FF00000) == 0x7FF00000))
 # endif
 
 # ifndef isfinite
@@ -103,6 +103,11 @@
 # define NO_ASINH
 # define NO_ACOSH
 # define NO_ATANH
+
+# ifdef __MINGW__
+#  include <string.h>
+# endif
+
 #endif /* WIN32 */
 
 #ifdef solaris
@@ -171,38 +176,38 @@
 #endif
 
 struct __longfloatstruct {
-        STX_OBJ_HEADER
+	STX_OBJ_HEADER
 #ifdef __NEED_DOUBLE_ALIGN
-        __FILLTYPE_DOUBLE       f_filler;
+	__FILLTYPE_DOUBLE       f_filler;
 #endif
-        LONGFLOAT               f_longfloatvalue;
+	LONGFLOAT               f_longfloatvalue;
 };
 #define __LongFloatInstPtr(obj)      ((struct __longfloatstruct *)(__objPtr(obj)))
 
 #ifndef __longFloatVal
 # define __longFloatVal(o) \
-        __LongFloatInstPtr(o)->f_longfloatvalue
+	__LongFloatInstPtr(o)->f_longfloatvalue
 #endif
 
 #ifndef __qMKLFLOAT
 # define __qMKLFLOAT(__newFloat__, __fVal__) \
     { \
-        __qNew(__newFloat__ , sizeof(struct __longfloatstruct)); \
-        if (__newFloat__) { \
-            __objPtr(__newFloat__)->o_class = LONGFLOAT_GLOBAL; \
-            __LongFloatInstPtr(__newFloat__)->f_longfloatvalue = (LONGFLOAT)(__fVal__); \
-        } \
+	__qNew(__newFloat__ , sizeof(struct __longfloatstruct)); \
+	if (__newFloat__) { \
+	    __objPtr(__newFloat__)->o_class = LONGFLOAT_GLOBAL; \
+	    __LongFloatInstPtr(__newFloat__)->f_longfloatvalue = (LONGFLOAT)(__fVal__); \
+	} \
     }
 #endif
 
 #ifndef __isLongFloat
 # define __isLongFloat(o) \
-        (__Class(o) == @global(LongFloat))
+	(__Class(o) == @global(LongFloat))
 #endif
 
 #ifndef __qIsLongFloat
 # define __qIsLongFloat(o) \
-        (__qClass(o) == @global(LongFloat))
+	(__qClass(o) == @global(LongFloat))
 #endif
 
 %}
@@ -2401,13 +2406,13 @@
 
     lVal = LONG_ceil(__longFloatVal(self));
     if ((lVal >= (LONGFLOAT)_MIN_INT) && (lVal <= (LONGFLOAT)_MAX_INT)) {
-        RETURN ( __mkSmallInteger( (INT) lVal ) );
+	RETURN ( __mkSmallInteger( (INT) lVal ) );
     }
     __qMKLFLOAT(val, lVal);
 #endif
 %}.
     val notNil ifTrue:[
-        ^ val asInteger
+	^ val asInteger
     ].
     ^ super ceiling.
 
@@ -2453,13 +2458,13 @@
 
     lVal = LONG_floor(__longFloatVal(self));
     if ((lVal >= (LONGFLOAT)_MIN_INT) && (lVal <= (LONGFLOAT)_MAX_INT)) {
-        RETURN ( __mkSmallInteger( (INT) lVal ) );
+	RETURN ( __mkSmallInteger( (INT) lVal ) );
     }
     __qMKLFLOAT(val, lVal);
 #endif
 %}.
     val notNil ifTrue:[
-        ^ val asInteger
+	^ val asInteger
     ].
     ^ super floor.
 
@@ -2542,15 +2547,15 @@
 
     lVal = __longFloatVal(self);
     if (lVal < 0.0) {
-        lVal = LONG_ceil(lVal - (LONGFLOAT)0.5);
+	lVal = LONG_ceil(lVal - (LONGFLOAT)0.5);
     } else {
-        lVal = LONG_floor(lVal + (LONGFLOAT)0.5);
+	lVal = LONG_floor(lVal + (LONGFLOAT)0.5);
     }
     /*
      * ST-80 (and X3J20) returns integer.
      */
     if ((lVal >= (LONGFLOAT)_MIN_INT) && (lVal <= (LONGFLOAT)_MAX_INT)) {
-        RETURN ( __mkSmallInteger( (INT) lVal ) );
+	RETURN ( __mkSmallInteger( (INT) lVal ) );
     }
     __qMKLFLOAT(v, lVal);
     RETURN (v);
@@ -2603,22 +2608,22 @@
 
     lVal = __longFloatVal(self);
     if (lVal < 0.0) {
-        lVal = LONG_ceil(lVal);
+	lVal = LONG_ceil(lVal);
     } else {
-        lVal = LONG_floor(lVal);
+	lVal = LONG_floor(lVal);
     }
 
     /*
      * ST-80 (and X3J20) returns integer.
      */
     if ((lVal >= (LONGFLOAT)_MIN_INT) && (lVal <= (LONGFLOAT)_MAX_INT)) {
-        RETURN ( __mkSmallInteger( (INT) lVal ) );
+	RETURN ( __mkSmallInteger( (INT) lVal ) );
     }
     __qMKLFLOAT(val, lVal);
 #endif
 %}.
     val notNil ifTrue:[
-        ^ val asInteger
+	^ val asInteger
     ].
     ^ super truncated
 
@@ -2644,9 +2649,9 @@
 
     lVal = __longFloatVal(self);
     if (lVal < 0.0) {
-        lVal = LONG_ceil(lVal);
+	lVal = LONG_ceil(lVal);
     } else {
-        lVal = LONG_floor(lVal);
+	lVal = LONG_floor(lVal);
     }
     __qMKLFLOAT(v, lVal);
     RETURN (v);
@@ -2665,11 +2670,11 @@
 !LongFloat class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/LongFloat.st,v 1.76 2013-03-20 14:57:16 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/LongFloat.st,v 1.77 2013-03-22 09:44:22 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic/LongFloat.st,v 1.76 2013-03-20 14:57:16 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/LongFloat.st,v 1.77 2013-03-22 09:44:22 cg Exp $'
 ! !