summaryrefslogtreecommitdiff
path: root/lib/libm/__signbitf.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libm/__signbitf.c')
-rw-r--r--lib/libm/__signbitf.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/libm/__signbitf.c b/lib/libm/__signbitf.c
new file mode 100644
index 00000000..3e6c4466
--- /dev/null
+++ b/lib/libm/__signbitf.c
@@ -0,0 +1,11 @@
+#include "libm.h"
+
+// FIXME: macro in math.h
+int __signbitf(float x)
+{
+ union {
+ float f;
+ uint32_t i;
+ } y = { x };
+ return y.i >> 31;
+}