Index: fusl/src/math/hypotf.c |
diff --git a/fusl/src/math/hypotf.c b/fusl/src/math/hypotf.c |
index 2fc214b7232e09ab52d5f8b5bb1b10f024b9b8d3..6f4ad0394628d07411aae279ad22aa2b8376135d 100644 |
--- a/fusl/src/math/hypotf.c |
+++ b/fusl/src/math/hypotf.c |
@@ -1,35 +1,37 @@ |
#include <math.h> |
#include <stdint.h> |
-float hypotf(float x, float y) |
-{ |
- union {float f; uint32_t i;} ux = {x}, uy = {y}, ut; |
- float_t z; |
+float hypotf(float x, float y) { |
+ union { |
+ float f; |
+ uint32_t i; |
+ } ux = {x}, uy = {y}, ut; |
+ float_t z; |
- ux.i &= -1U>>1; |
- uy.i &= -1U>>1; |
- if (ux.i < uy.i) { |
- ut = ux; |
- ux = uy; |
- uy = ut; |
- } |
+ ux.i &= -1U >> 1; |
+ uy.i &= -1U >> 1; |
+ if (ux.i < uy.i) { |
+ ut = ux; |
+ ux = uy; |
+ uy = ut; |
+ } |
- x = ux.f; |
- y = uy.f; |
- if (uy.i == 0xff<<23) |
- return y; |
- if (ux.i >= 0xff<<23 || uy.i == 0 || ux.i - uy.i >= 25<<23) |
- return x + y; |
+ x = ux.f; |
+ y = uy.f; |
+ if (uy.i == 0xff << 23) |
+ return y; |
+ if (ux.i >= 0xff << 23 || uy.i == 0 || ux.i - uy.i >= 25 << 23) |
+ return x + y; |
- z = 1; |
- if (ux.i >= (0x7f+60)<<23) { |
- z = 0x1p90f; |
- x *= 0x1p-90f; |
- y *= 0x1p-90f; |
- } else if (uy.i < (0x7f-60)<<23) { |
- z = 0x1p-90f; |
- x *= 0x1p90f; |
- y *= 0x1p90f; |
- } |
- return z*sqrtf((double)x*x + (double)y*y); |
+ z = 1; |
+ if (ux.i >= (0x7f + 60) << 23) { |
+ z = 0x1p90f; |
+ x *= 0x1p-90f; |
+ y *= 0x1p-90f; |
+ } else if (uy.i < (0x7f - 60) << 23) { |
+ z = 0x1p-90f; |
+ x *= 0x1p90f; |
+ y *= 0x1p90f; |
+ } |
+ return z * sqrtf((double)x * x + (double)y * y); |
} |