diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/math/significand.c | 7 | ||||
-rw-r--r-- | src/math/significandf.c | 7 | ||||
-rw-r--r-- | src/math/significandl.c | 7 |
3 files changed, 21 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)); +} diff --git a/src/math/significandl.c b/src/math/significandl.c new file mode 100644 index 00000000..c1d68cd7 --- /dev/null +++ b/src/math/significandl.c @@ -0,0 +1,7 @@ +#define _GNU_SOURCE +#include <math.h> + +long double significandl(long double x) +{ + return scalbnl(x, -ilogbl(x)); +} |