Index: fusl/src/math/scalb.c |
diff --git a/fusl/src/math/scalb.c b/fusl/src/math/scalb.c |
index efe69e60cd6f5c2cd3ba061dc43d141281d3c111..49cdb5a043b92869bf642052c1b759e0c2844203 100644 |
--- a/fusl/src/math/scalb.c |
+++ b/fusl/src/math/scalb.c |
@@ -18,18 +18,20 @@ |
#define _GNU_SOURCE |
#include <math.h> |
-double scalb(double x, double fn) |
-{ |
- if (isnan(x) || isnan(fn)) |
- return x*fn; |
- if (!isfinite(fn)) { |
- if (fn > 0.0) |
- return x*fn; |
- else |
- return x/(-fn); |
- } |
- if (rint(fn) != fn) return (fn-fn)/(fn-fn); |
- if ( fn > 65000.0) return scalbn(x, 65000); |
- if (-fn > 65000.0) return scalbn(x,-65000); |
- return scalbn(x,(int)fn); |
+double scalb(double x, double fn) { |
+ if (isnan(x) || isnan(fn)) |
+ return x * fn; |
+ if (!isfinite(fn)) { |
+ if (fn > 0.0) |
+ return x * fn; |
+ else |
+ return x / (-fn); |
+ } |
+ if (rint(fn) != fn) |
+ return (fn - fn) / (fn - fn); |
+ if (fn > 65000.0) |
+ return scalbn(x, 65000); |
+ if (-fn > 65000.0) |
+ return scalbn(x, -65000); |
+ return scalbn(x, (int)fn); |
} |