shut up llabs!
authorraster <raster>
Wed, 9 Dec 2009 07:25:41 +0000 (07:25 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 9 Dec 2009 07:25:41 +0000 (07:25 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@44312 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/include/eina_inline_f32p32.x

index c6144c9..06a6339 100644 (file)
@@ -21,6 +21,9 @@
 
 #include <stdlib.h>
 
+// dont use llabs - issues if not on 64bit
+#define _eina_fp32p32_llabs(a) ((a < 0) ? -(a) : (a))
+
 static inline Eina_F32p32
 eina_f32p32_add(Eina_F32p32 a, Eina_F32p32 b)
 {
@@ -45,8 +48,8 @@ eina_f32p32_mul(Eina_F32p32 a, Eina_F32p32 b)
    Eina_F32p32 sign;
 
    sign = a ^ b;
-   as = llabs(a);
-   bs = llabs(b);
+   as = _eina_fp32p32_llabs(a);
+   bs = _eina_fp32p32_llabs(b);
 
    up = (as >> 16) * (bs >> 16);
    down = (as & 0xFFFF) * (bs & 0xFFFF);
@@ -71,9 +74,9 @@ eina_f32p32_div(Eina_F32p32 a, Eina_F32p32 b)
    sign = a ^ b;
 
    if (b == 0)
-     return sign < 0 ? (Eina_F32p32) 0x8000000000000000 : (Eina_F32p32) 0x7FFFFFFFFFFFFFFF;
+     return sign < 0 ? (Eina_F32p32) 0x8000000000000000ll : (Eina_F32p32) 0x7FFFFFFFFFFFFFFFll;
 
-   result = (eina_f32p32_mul(llabs(a),  (((uint64_t) 1 << 62) / ((uint64_t)(llabs(b)) >> 2))));
+   result = (eina_f32p32_mul(_eina_fp32p32_llabs(a),  (((uint64_t) 1 << 62) / ((uint64_t)(_eina_fp32p32_llabs(b)) >> 2))));
 
    return sign < 0 ? - result : result;
 }