From feeb0301b31a5ad4ea0594b17e4720bbe3308a3b Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Fri, 3 Oct 2008 14:24:28 +0000 Subject: - add long double math wrappers (Ned Ludd) --- libc/sysdeps/linux/sparc/bits/mathdef.h | 6 ++---- libc/sysdeps/linux/sparc/bits/mathinline.h | 12 ++++++------ libc/sysdeps/linux/sparc/bits/wordsize.h | 4 ++-- 3 files changed, 10 insertions(+), 12 deletions(-) (limited to 'libc/sysdeps/linux/sparc/bits') diff --git a/libc/sysdeps/linux/sparc/bits/mathdef.h b/libc/sysdeps/linux/sparc/bits/mathdef.h index 7f9bbee81..b1a0d917c 100644 --- a/libc/sysdeps/linux/sparc/bits/mathdef.h +++ b/libc/sysdeps/linux/sparc/bits/mathdef.h @@ -57,15 +57,13 @@ typedef double double_t; #endif /* ISO C99 */ -#ifndef __NO_LONG_DOUBLE_MATH +#ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__ # if __WORDSIZE == 32 /* Signal that in 32bit ABI we do not really have a `long double'. The disables the declaration of all the `long double' function variants. */ -# define __NO_LONG_DOUBLE_MATH 1 -# elif !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ -# define __NO_LONG_DOUBLE_MATH 1 +# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__ # endif #endif diff --git a/libc/sysdeps/linux/sparc/bits/mathinline.h b/libc/sysdeps/linux/sparc/bits/mathinline.h index 729145e14..66ca0473d 100644 --- a/libc/sysdeps/linux/sparc/bits/mathinline.h +++ b/libc/sysdeps/linux/sparc/bits/mathinline.h @@ -37,7 +37,7 @@ # if __WORDSIZE == 32 -# ifndef __NO_LONG_DOUBLE_MATH +# ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__ # define __unordered_cmp(x, y) \ (__extension__ \ @@ -94,7 +94,7 @@ # define __unordered_v9cmp(x, y, op, qop) \ (__extension__ \ - ({ unsigned __r; \ + ({ unsigned __r; \ if (sizeof (x) == 4 && sizeof (y) == 4) \ { \ float __x = (x); float __y = (y); \ @@ -111,7 +111,7 @@ { \ long double __x = (x); long double __y = (y); \ extern int _Qp_cmp (const long double *a, const long double *b); \ - __r = qop; \ + __r = qop; \ } \ __r; })) @@ -157,7 +157,7 @@ __NTH (__signbit (double __x)) return __u.__i[0] < 0; } -# ifndef __NO_LONG_DOUBLE_MATH +# ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__ __MATH_INLINE int __NTH (__signbitl (long double __x)) { @@ -219,7 +219,7 @@ __NTH (sqrtl (long double __x)) _Qp_sqrt (&__r, &__x); return __r; } -# elif !defined __NO_LONG_DOUBLE_MATH +# elif defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ __MATH_INLINE long double sqrtl (long double __x) __THROW { @@ -257,7 +257,7 @@ __ieee754_sqrtl (long double __x) _Qp_sqrt(&__r, &__x); return __r; } -# elif !defined __NO_LONG_DOUBLE_MATH +# elif defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ __MATH_INLINE long double __ieee754_sqrtl (long double __x) { diff --git a/libc/sysdeps/linux/sparc/bits/wordsize.h b/libc/sysdeps/linux/sparc/bits/wordsize.h index c0e600ed5..c8e5bfdea 100644 --- a/libc/sysdeps/linux/sparc/bits/wordsize.h +++ b/libc/sysdeps/linux/sparc/bits/wordsize.h @@ -6,7 +6,7 @@ # define __WORDSIZE 32 #endif -#if 0 /* uClibc: done in mathdefs.h: !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL*/ +#if 0 /* uClibc: done in mathdefs.h: defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL*/ # if __WORDSIZE == 32 /* Signal that in 32bit ABI we didn't used to have a `long double'. @@ -14,7 +14,7 @@ to the double functions. */ # define __LONG_DOUBLE_MATH_OPTIONAL 1 # ifndef __LONG_DOUBLE_128__ -# define __NO_LONG_DOUBLE_MATH 1 +# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__ # endif # endif #endif -- cgit v1.2.3