Index: fusl/src/math/scalbf.c |
diff --git a/fusl/src/math/scalbf.c b/fusl/src/math/scalbf.c |
index f44ed5b64a0ff12c4fb9e1f272b4c8ba8189f03a..d0f2831053e146969cc62870e250b531f7e98202 100644 |
--- a/fusl/src/math/scalbf.c |
+++ b/fusl/src/math/scalbf.c |
@@ -16,17 +16,20 @@ |
#define _GNU_SOURCE |
#include <math.h> |
-float scalbf(float x, float fn) |
-{ |
- if (isnan(x) || isnan(fn)) return x*fn; |
- if (!isfinite(fn)) { |
- if (fn > 0.0f) |
- return x*fn; |
- else |
- return x/(-fn); |
- } |
- if (rintf(fn) != fn) return (fn-fn)/(fn-fn); |
- if ( fn > 65000.0f) return scalbnf(x, 65000); |
- if (-fn > 65000.0f) return scalbnf(x,-65000); |
- return scalbnf(x,(int)fn); |
+float scalbf(float x, float fn) { |
+ if (isnan(x) || isnan(fn)) |
+ return x * fn; |
+ if (!isfinite(fn)) { |
+ if (fn > 0.0f) |
+ return x * fn; |
+ else |
+ return x / (-fn); |
+ } |
+ if (rintf(fn) != fn) |
+ return (fn - fn) / (fn - fn); |
+ if (fn > 65000.0f) |
+ return scalbnf(x, 65000); |
+ if (-fn > 65000.0f) |
+ return scalbnf(x, -65000); |
+ return scalbnf(x, (int)fn); |
} |