{ \
return (long double) func((double) x); \
}
+#define WRAPPER2(func) \
+long double func##l(long double x, long double y) \
+{ \
+ return (long double) func((double) x, (double) y); \
+}
#define int_WRAPPER1(func) \
int func##l(long double x) \
{ \
return func((double) x); \
}
+#ifndef __DO_XSI_MATH__
+# undef L_j0l /* long double j0l(long double x); */
+# undef L_j1l /* long double j1l(long double x); */
+# undef L_jnl /* long double jnl(int n, long double x); */
+# undef L_y0l /* long double y0l(long double x); */
+# undef L_y1l /* long double y1l(long double x); */
+# undef L_ynl /* long double ynl(int n, long double x); */
+#endif
+
/* Implement the following, as defined by SuSv3 */
#if 0
long double acoshl(long double);
#endif
#ifdef L_atan2l
-long double atan2l (long double x, long double y)
-{
- return (long double) atan2( (double)x, (double)y );
-}
+WRAPPER2(atan2)
#endif
#ifdef L_atanhl
#endif
#ifdef L_copysignl
-long double copysignl (long double x, long double y)
-{
- return (long double) copysign( (double)x, (double)y );
-}
+WRAPPER2(copysign)
#endif
#ifdef L_coshl
#ifdef L_cosl
WRAPPER1(cos)
+libm_hidden_def(cosl)
#endif
#ifdef L_erfcl
#ifdef L_expl
WRAPPER1(exp)
+libm_hidden_def(expl)
#endif
#ifdef L_expm1l
#endif
#ifdef L_fdiml
-long double fdiml (long double x, long double y)
-{
- return (long double) fdim( (double)x, (double)y );
-}
+WRAPPER2(fdim)
#endif
#ifdef L_floorl
#endif
#ifdef L_fmaxl
-long double fmaxl (long double x, long double y)
-{
- return (long double) fmax( (double)x, (double)y );
-}
+WRAPPER2(fmax)
#endif
#ifdef L_fminl
-long double fminl (long double x, long double y)
-{
- return (long double) fmin( (double)x, (double)y );
-}
+WRAPPER2(fmin)
#endif
#ifdef L_fmodl
-long double fmodl (long double x, long double y)
-{
- return (long double) fmod( (double)x, (double)y );
-}
+WRAPPER2(fmod)
#endif
#ifdef L_frexpl
#endif
#ifdef L_hypotl
-long double hypotl (long double x, long double y)
-{
- return (long double) hypot( (double)x, (double)y );
-}
+WRAPPER2(hypot)
+libm_hidden_def(hypotl)
#endif
#ifdef L_ilogbl
int_WRAPPER1(ilogb)
#endif
+#ifdef L_j0l
+ WRAPPER1(j0)
+#endif
+
+#ifdef L_j1l
+ WRAPPER1(j1)
+#endif
+
+#ifdef L_jnl
+long double jnl(int n, long double x)
+{
+ return (long double) jn(n, (double)x);
+}
+#endif
+
#ifdef L_ldexpl
long double ldexpl (long double x, int ex)
{
#endif
#ifdef L_nextafterl
-long double nextafterl (long double x, long double y)
-{
- return (long double) nextafter( (double)x, (double)y );
-}
+WRAPPER2(nextafter)
+libm_hidden_def(nextafterl)
#endif
-/* Disabled in Makefile.in */
-#if 0 /* def L_nexttowardl */
-long double nexttowardl (long double x, long double y)
+#ifdef L_nexttowardl
+# if 0 /* TODO */
+strong_alias(nextafterl, nexttowardl)
+# else
+long double nexttowardl(long double x, long double y)
{
- return (long double) nexttoward( (double)x, (double)y );
+ return nextafterl(x, y);
}
-libm_hidden_def(nexttowardl)
+#endif
#endif
#ifdef L_powl
-long double powl (long double x, long double y)
-{
- return (long double) pow( (double)x, (double)y );
-}
+WRAPPER2(pow)
#endif
#ifdef L_remainderl
-long double remainderl (long double x, long double y)
-{
- return (long double) remainder( (double)x, (double)y );
-}
+WRAPPER2(remainder)
#endif
#ifdef L_remquol
#ifdef L_sinl
WRAPPER1(sin)
+libm_hidden_def(sinl)
#endif
#ifdef L_sqrtl
WRAPPER1(significand)
#endif
+#ifdef L_y0l
+WRAPPER1(y0)
+#endif
+
+#ifdef L_y1l
+WRAPPER1(y1)
+#endif
+
+#ifdef L_ynl
+long double ynl(int n, long double x)
+{
+ return (long double) yn(n, (double)x);
+}
+#endif
+
+
#if defined __DO_C99_MATH__ && !defined __NO_LONG_DOUBLE_MATH
# ifdef L___fpclassifyl