diff options
author | Tyler Murphy <=> | 2023-07-16 02:54:32 -0400 |
---|---|---|
committer | Tyler Murphy <=> | 2023-07-16 02:54:32 -0400 |
commit | fbf131b5c043b27e0b1543374bb144e3e426f723 (patch) | |
tree | 07f0ab2fc107b36621d5ae95480e6a91e332548b /libk/src/math/abs.c | |
download | finix-fbf131b5c043b27e0b1543374bb144e3e426f723.tar.gz finix-fbf131b5c043b27e0b1543374bb144e3e426f723.tar.bz2 finix-fbf131b5c043b27e0b1543374bb144e3e426f723.zip |
initial
Diffstat (limited to '')
-rw-r--r-- | libk/src/math/abs.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/libk/src/math/abs.c b/libk/src/math/abs.c new file mode 100644 index 0000000..1757272 --- /dev/null +++ b/libk/src/math/abs.c @@ -0,0 +1,14 @@ +#include <math.h> +#include <stdint.h> + +float fabsf(float num) { + union {float f; uint32_t i;} u = {num}; + u.i &= 0x7fffffff; + return u.f; +} + +double fabs(double num) { + union {double f; uint64_t i;} u = {num}; + u.i &= -1ULL/2; + return u.f; +} |