summaryrefslogtreecommitdiff
path: root/src/math
diff options
context:
space:
mode:
Diffstat (limited to 'src/math')
-rw-r--r--src/math/significand.c7
-rw-r--r--src/math/significandf.c7
2 files changed, 14 insertions, 0 deletions
diff --git a/src/math/significand.c b/src/math/significand.c
new file mode 100644
index 00000000..40d9aa9f
--- /dev/null
+++ b/src/math/significand.c
@@ -0,0 +1,7 @@
+#define _GNU_SOURCE
+#include <math.h>
+
+double significand(double x)
+{
+ return scalbn(x, -ilogb(x));
+}
diff --git a/src/math/significandf.c b/src/math/significandf.c
new file mode 100644
index 00000000..8a697e1a
--- /dev/null
+++ b/src/math/significandf.c
@@ -0,0 +1,7 @@
+#define _GNU_SOURCE
+#include <math.h>
+
+float significandf(float x)
+{
+ return scalbnf(x, -ilogbf(x));
+}