summaryrefslogtreecommitdiff
path: root/src/internal/libm.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/internal/libm.h')
-rw-r--r--src/internal/libm.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/internal/libm.h b/src/internal/libm.h
index 88a7eb47..df864111 100644
--- a/src/internal/libm.h
+++ b/src/internal/libm.h
@@ -42,6 +42,20 @@ union ldshape {
uint64_t hi;
} i2;
};
+#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384 && __BYTE_ORDER == __BIG_ENDIAN
+union ldshape {
+ long double f;
+ struct {
+ uint16_t se;
+ uint16_t top;
+ uint32_t mid;
+ uint64_t lo;
+ } i;
+ struct {
+ uint64_t hi;
+ uint64_t lo;
+ } i2;
+};
#else
#error Unsupported long double representation
#endif