summaryrefslogtreecommitdiff
path: root/arch/powerpc64/bits/fenv.h
diff options
context:
space:
mode:
authorVladimir Azarov <avm@intermediate-node.net>2024-10-01 15:47:05 +0200
committerVladimir Azarov <avm@intermediate-node.net>2024-10-01 15:47:05 +0200
commit4abab5ad6c8465a7528ccdd5f49367da05f78bbd (patch)
treeebf009bf1376a5a223a915bc27cbbd791a1316bc /arch/powerpc64/bits/fenv.h
Initial version
Diffstat (limited to 'arch/powerpc64/bits/fenv.h')
-rw-r--r--arch/powerpc64/bits/fenv.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/arch/powerpc64/bits/fenv.h b/arch/powerpc64/bits/fenv.h
new file mode 100644
index 0000000..2f722e6
--- /dev/null
+++ b/arch/powerpc64/bits/fenv.h
@@ -0,0 +1,31 @@
+#define FE_TONEAREST 0
+#define FE_TOWARDZERO 1
+#define FE_UPWARD 2
+#define FE_DOWNWARD 3
+
+#define FE_INEXACT 0x02000000
+#define FE_DIVBYZERO 0x04000000
+#define FE_UNDERFLOW 0x08000000
+#define FE_OVERFLOW 0x10000000
+#define FE_INVALID 0x20000000
+
+#define FE_ALL_EXCEPT 0x3e000000
+
+#ifdef _GNU_SOURCE
+#define FE_INVALID_SNAN 0x01000000
+#define FE_INVALID_ISI 0x00800000
+#define FE_INVALID_IDI 0x00400000
+#define FE_INVALID_ZDZ 0x00200000
+#define FE_INVALID_IMZ 0x00100000
+#define FE_INVALID_COMPARE 0x00080000
+#define FE_INVALID_SOFTWARE 0x00000400
+#define FE_INVALID_SQRT 0x00000200
+#define FE_INVALID_INTEGER_CONVERSION 0x00000100
+
+#define FE_ALL_INVALID 0x01f80700
+#endif
+
+typedef unsigned fexcept_t;
+typedef double fenv_t;
+
+#define FE_DFL_ENV ((const fenv_t *)-1)