summaryrefslogtreecommitdiff
path: root/libk/src/math/frexp.c
diff options
context:
space:
mode:
Diffstat (limited to 'libk/src/math/frexp.c')
-rw-r--r--libk/src/math/frexp.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/libk/src/math/frexp.c b/libk/src/math/frexp.c
new file mode 100644
index 0000000..16b8dd3
--- /dev/null
+++ b/libk/src/math/frexp.c
@@ -0,0 +1,19 @@
+#include <math.h>
+
+double frexp(double arg, int* exp) {
+ *exp = 0;
+ while (arg > 1) {
+ arg /= 2;;
+ (*exp)++;
+ }
+ return arg;
+}
+
+float frexpf(float arg, int* exp) {
+ *exp = 0;
+ while (arg > 1) {
+ arg /= 2;
+ (*exp)++;
+ }
+ return arg;
+}