From 0e194b1597751f80bef4bb6c8ca12dc671fe4a12 Mon Sep 17 00:00:00 2001 From: Ingo Date: Sun, 24 Mar 2013 23:26:22 +0100 Subject: [PATCH] added xmul2f and xdiv2f to sleef.c --- rtengine/sleef.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/rtengine/sleef.c b/rtengine/sleef.c index 6d08db650..b5f9ee395 100644 --- a/rtengine/sleef.c +++ b/rtengine/sleef.c @@ -1212,4 +1212,18 @@ __inline float xexpf(float d) { // if (xisminff(d)) u = 0; return u; } +__inline float xmul2f(float d) { + if (*(int*)&d & 0x7FFFFFFF) { // if f==0 do nothing + *(int*)&d += 1 << 23; // add 1 to the exponent + } + return d; +} + +__inline float xdiv2f(float d) { + if (*(int*)&d & 0x7FFFFFFF) { // if f==0 do nothing + *(int*)&d -= 1 << 23; // sub 1 from the exponent + } + return d; +} + #endif