Replace C99 exp2f(32) call in __2Int_encodeDouble
authorDon Stewart <dons@galois.com>
Wed, 30 Apr 2008 21:48:27 +0000 (21:48 +0000)
committerDon Stewart <dons@galois.com>
Wed, 30 Apr 2008 21:48:27 +0000 (21:48 +0000)
with constant 4294967296.

exp2f is a C99-ism not availabl everywhere. Replace it
with its result. Helps building on OpenBSD>

rts/StgPrimFloat.c

index 21ba9dc..150bdc6 100644 (file)
@@ -89,7 +89,7 @@ __2Int_encodeDouble (I_ j_high, I_ j_low, I_ e)
   ASSERT(sizeof(int          ) == 4            );
 
   r = (StgDouble)((unsigned int)j_high);
   ASSERT(sizeof(int          ) == 4            );
 
   r = (StgDouble)((unsigned int)j_high);
-  r *= exp2f(32);
+  r *= 4294967296; /* exp2f(32); */
   r += (StgDouble)((unsigned int)j_low);
   
   /* Now raise to the exponent */
   r += (StgDouble)((unsigned int)j_low);
   
   /* Now raise to the exponent */