diff options
author | Szabolcs Nagy <nsz@port70.net> | 2015-03-10 20:01:20 +0000 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2015-03-11 18:54:53 -0400 |
commit | f4e4632abfa8297db1485e132bb15b9ef6c32a1b (patch) | |
tree | 5e7f8685339372ad2eefa685cfa8e9c967300562 /src/internal | |
parent | 53cfe0c61a136c12376a8f32d616de1d68227181 (diff) | |
download | musl-f4e4632abfa8297db1485e132bb15b9ef6c32a1b.tar.gz musl-f4e4632abfa8297db1485e132bb15b9ef6c32a1b.tar.bz2 musl-f4e4632abfa8297db1485e132bb15b9ef6c32a1b.tar.xz musl-f4e4632abfa8297db1485e132bb15b9ef6c32a1b.zip |
math: add dummy implementations of 128 bit long double functions
This is in preparation for the aarch64 port only to have the long
double math symbols available on ld128 platforms. The implementations
should be fixed up later once we have proper tests for these functions.
Added bigendian handling for ld128 bit manipulations too.
Diffstat (limited to 'src/internal')
-rw-r--r-- | src/internal/libm.h | 14 |
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 |