summaryrefslogtreecommitdiff
path: root/libc
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2008-10-03 14:24:28 +0000
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2008-10-03 14:24:28 +0000
commitfeeb0301b31a5ad4ea0594b17e4720bbe3308a3b (patch)
treeae71a3f81309a3068335ec30f021333454bccbc6 /libc
parent2ba017a2d5af01cc3ef0dc554252a521e8d7c4f8 (diff)
- add long double math wrappers (Ned Ludd)
Diffstat (limited to 'libc')
-rw-r--r--libc/sysdeps/linux/alpha/bits/mathdef.h4
-rw-r--r--libc/sysdeps/linux/alpha/bits/wordsize.h4
-rw-r--r--libc/sysdeps/linux/arm/bits/mathdef.h8
-rw-r--r--libc/sysdeps/linux/common/bits/mathdef.h6
-rw-r--r--libc/sysdeps/linux/i386/bits/mathdef.h4
-rw-r--r--libc/sysdeps/linux/ia64/bits/mathdef.h4
-rw-r--r--libc/sysdeps/linux/m68k/bits/mathdef.h4
-rw-r--r--libc/sysdeps/linux/mips/bits/mathdef.h6
-rw-r--r--libc/sysdeps/linux/nios/bits/mathdef.h8
-rw-r--r--libc/sysdeps/linux/nios2/bits/mathdef.h8
-rw-r--r--libc/sysdeps/linux/powerpc/bits/mathdef.h8
-rw-r--r--libc/sysdeps/linux/powerpc/bits/wordsize.h4
-rw-r--r--libc/sysdeps/linux/sh/bits/mathdef.h6
-rw-r--r--libc/sysdeps/linux/sparc/bits/mathdef.h6
-rw-r--r--libc/sysdeps/linux/sparc/bits/mathinline.h12
-rw-r--r--libc/sysdeps/linux/sparc/bits/wordsize.h4
-rw-r--r--libc/sysdeps/linux/x86_64/bits/mathdef.h4
-rw-r--r--libc/sysdeps/linux/xtensa/bits/mathdef.h4
18 files changed, 21 insertions, 83 deletions
diff --git a/libc/sysdeps/linux/alpha/bits/mathdef.h b/libc/sysdeps/linux/alpha/bits/mathdef.h
index 3b52ec7d5..cbfaf68e2 100644
--- a/libc/sysdeps/linux/alpha/bits/mathdef.h
+++ b/libc/sysdeps/linux/alpha/bits/mathdef.h
@@ -78,7 +78,3 @@ typedef double double_t;
# endif /* GNUC before 3.4 */
#endif /* COMPLEX_H */
-
-#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
-# define __NO_LONG_DOUBLE_MATH 1
-#endif
diff --git a/libc/sysdeps/linux/alpha/bits/wordsize.h b/libc/sysdeps/linux/alpha/bits/wordsize.h
index 22fc64109..029a7dfb2 100644
--- a/libc/sysdeps/linux/alpha/bits/wordsize.h
+++ b/libc/sysdeps/linux/alpha/bits/wordsize.h
@@ -18,13 +18,13 @@
#define __WORDSIZE 64
-#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
+#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL
/* Signal that we didn't used to have a `long double'. The changes all
the `long double' function variants to be redirects 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
diff --git a/libc/sysdeps/linux/arm/bits/mathdef.h b/libc/sysdeps/linux/arm/bits/mathdef.h
index e013e74b7..22722e37a 100644
--- a/libc/sysdeps/linux/arm/bits/mathdef.h
+++ b/libc/sysdeps/linux/arm/bits/mathdef.h
@@ -34,11 +34,3 @@ typedef double double_t; /* `double' expressions are evaluated as
# define FP_ILOGBNAN (2147483647)
#endif /* ISO C99 */
-
-#ifndef __NO_LONG_DOUBLE_MATH
-/* Signal that we do not really have a `long double'. This disables the
- declaration of all the `long double' function variants. */
-/* XXX The FPA does support this but the patterns in GCC are currently
- turned off. */
-# define __NO_LONG_DOUBLE_MATH 1
-#endif
diff --git a/libc/sysdeps/linux/common/bits/mathdef.h b/libc/sysdeps/linux/common/bits/mathdef.h
index 00c67241a..1927299f9 100644
--- a/libc/sysdeps/linux/common/bits/mathdef.h
+++ b/libc/sysdeps/linux/common/bits/mathdef.h
@@ -35,9 +35,3 @@ typedef double double_t; /* `double' expressions are evaluated as
# define FP_ILOGBNAN 2147483647
#endif /* ISO C99 */
-
-#ifndef __NO_LONG_DOUBLE_MATH
-/* Signal that 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
-#endif
diff --git a/libc/sysdeps/linux/i386/bits/mathdef.h b/libc/sysdeps/linux/i386/bits/mathdef.h
index a3786fc81..ec42ed5df 100644
--- a/libc/sysdeps/linux/i386/bits/mathdef.h
+++ b/libc/sysdeps/linux/i386/bits/mathdef.h
@@ -44,7 +44,3 @@ typedef long double double_t; /* `double' expressions are evaluated as
# define FP_ILOGBNAN (-2147483647 - 1)
#endif /* ISO C99 */
-
-#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
-# define __NO_LONG_DOUBLE_MATH 1
-#endif
diff --git a/libc/sysdeps/linux/ia64/bits/mathdef.h b/libc/sysdeps/linux/ia64/bits/mathdef.h
index 5da23cc8a..3dc286022 100644
--- a/libc/sysdeps/linux/ia64/bits/mathdef.h
+++ b/libc/sysdeps/linux/ia64/bits/mathdef.h
@@ -35,7 +35,3 @@ typedef double double_t; /* `double' expressions are evaluated as
# define FP_ILOGBNAN 2147483647
#endif /* ISO C99 */
-
-#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
-# define __NO_LONG_DOUBLE_MATH 1
-#endif
diff --git a/libc/sysdeps/linux/m68k/bits/mathdef.h b/libc/sysdeps/linux/m68k/bits/mathdef.h
index a69e93089..65cf8d49f 100644
--- a/libc/sysdeps/linux/m68k/bits/mathdef.h
+++ b/libc/sysdeps/linux/m68k/bits/mathdef.h
@@ -36,7 +36,3 @@ typedef long double double_t; /* `double' expressions are evaluated as
# define FP_ILOGBNAN (2147483647)
#endif /* ISO C99 */
-
-#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
-# define __NO_LONG_DOUBLE_MATH 1
-#endif
diff --git a/libc/sysdeps/linux/mips/bits/mathdef.h b/libc/sysdeps/linux/mips/bits/mathdef.h
index 331da13a9..b741f6551 100644
--- a/libc/sysdeps/linux/mips/bits/mathdef.h
+++ b/libc/sysdeps/linux/mips/bits/mathdef.h
@@ -39,10 +39,8 @@ typedef double double_t; /* `double' expressions are evaluated as
#endif /* ISO C99 */
-#if ! defined __NO_LONG_DOUBLE_MATH && _MIPS_SIM == _ABIO32
+#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && _MIPS_SIM == _ABIO32
/* Signal that we do not really have a `long double'. This disables the
declaration of all the `long double' function variants. */
-# define __NO_LONG_DOUBLE_MATH 1
-#elif !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
-# define __NO_LONG_DOUBLE_MATH 1
+# error defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ and _MIPS_SIM == _ABIO32
#endif
diff --git a/libc/sysdeps/linux/nios/bits/mathdef.h b/libc/sysdeps/linux/nios/bits/mathdef.h
index e013e74b7..22722e37a 100644
--- a/libc/sysdeps/linux/nios/bits/mathdef.h
+++ b/libc/sysdeps/linux/nios/bits/mathdef.h
@@ -34,11 +34,3 @@ typedef double double_t; /* `double' expressions are evaluated as
# define FP_ILOGBNAN (2147483647)
#endif /* ISO C99 */
-
-#ifndef __NO_LONG_DOUBLE_MATH
-/* Signal that we do not really have a `long double'. This disables the
- declaration of all the `long double' function variants. */
-/* XXX The FPA does support this but the patterns in GCC are currently
- turned off. */
-# define __NO_LONG_DOUBLE_MATH 1
-#endif
diff --git a/libc/sysdeps/linux/nios2/bits/mathdef.h b/libc/sysdeps/linux/nios2/bits/mathdef.h
index e013e74b7..22722e37a 100644
--- a/libc/sysdeps/linux/nios2/bits/mathdef.h
+++ b/libc/sysdeps/linux/nios2/bits/mathdef.h
@@ -34,11 +34,3 @@ typedef double double_t; /* `double' expressions are evaluated as
# define FP_ILOGBNAN (2147483647)
#endif /* ISO C99 */
-
-#ifndef __NO_LONG_DOUBLE_MATH
-/* Signal that we do not really have a `long double'. This disables the
- declaration of all the `long double' function variants. */
-/* XXX The FPA does support this but the patterns in GCC are currently
- turned off. */
-# define __NO_LONG_DOUBLE_MATH 1
-#endif
diff --git a/libc/sysdeps/linux/powerpc/bits/mathdef.h b/libc/sysdeps/linux/powerpc/bits/mathdef.h
index f28bacece..81a46ddcd 100644
--- a/libc/sysdeps/linux/powerpc/bits/mathdef.h
+++ b/libc/sysdeps/linux/powerpc/bits/mathdef.h
@@ -65,13 +65,11 @@ typedef double double_t;
#endif /* ISO C99 */
-#ifndef __NO_LONG_DOUBLE_MATH
+#ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__
#include <bits/wordsize.h>
/* Signal that we do not really have a `long double'. The disables the
declaration of all the `long double' function variants. */
# if __WORDSIZE == 32
-# 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 /* __WORDSIZE == 32 */
-#endif /* __NO_LONG_DOUBLE_MATH */
+#endif /* __UCLIBC_HAS_LONG_DOUBLE_MATH__ */
diff --git a/libc/sysdeps/linux/powerpc/bits/wordsize.h b/libc/sysdeps/linux/powerpc/bits/wordsize.h
index cf934234f..dc19246d7 100644
--- a/libc/sysdeps/linux/powerpc/bits/wordsize.h
+++ b/libc/sysdeps/linux/powerpc/bits/wordsize.h
@@ -7,13 +7,13 @@
# define __WORDSIZE 32
#endif
-#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
+#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL
/* Signal the glibc ABI didn't used to have a `long double'.
The changes all the `long double' function variants to be redirects
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
diff --git a/libc/sysdeps/linux/sh/bits/mathdef.h b/libc/sysdeps/linux/sh/bits/mathdef.h
index 2b8caf194..c419fcd4a 100644
--- a/libc/sysdeps/linux/sh/bits/mathdef.h
+++ b/libc/sysdeps/linux/sh/bits/mathdef.h
@@ -61,9 +61,3 @@ typedef double double_t;
# define FP_ILOGBNAN 0x7fffffff
#endif /* ISO C99 */
-
-#ifndef __NO_LONG_DOUBLE_MATH
-/* Signal that 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
-#endif
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
diff --git a/libc/sysdeps/linux/x86_64/bits/mathdef.h b/libc/sysdeps/linux/x86_64/bits/mathdef.h
index b0567e4d4..7b1618959 100644
--- a/libc/sysdeps/linux/x86_64/bits/mathdef.h
+++ b/libc/sysdeps/linux/x86_64/bits/mathdef.h
@@ -46,7 +46,3 @@ typedef long double double_t; /* `double' expressions are evaluated as
# define FP_ILOGBNAN (-2147483647 - 1)
#endif /* ISO C99 */
-
-#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
-# define __NO_LONG_DOUBLE_MATH 1
-#endif
diff --git a/libc/sysdeps/linux/xtensa/bits/mathdef.h b/libc/sysdeps/linux/xtensa/bits/mathdef.h
index 0177fa9fc..99a4a318d 100644
--- a/libc/sysdeps/linux/xtensa/bits/mathdef.h
+++ b/libc/sysdeps/linux/xtensa/bits/mathdef.h
@@ -36,8 +36,8 @@ typedef double double_t; /* `double' expressions are evaluated as
#endif /* ISO C99 */
-#ifndef __NO_LONG_DOUBLE_MATH
+#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
/* Signal that 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
+# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
#endif