Wrapper for $1
authordrepper <drepper>
Sat, 17 Feb 2001 01:40:34 +0000 (01:40 +0000)
committerdrepper <drepper>
Sat, 17 Feb 2001 01:40:34 +0000 (01:40 +0000)
30 files changed:
sysdeps/generic/w_acos.c [new file with mode: 0644]
sysdeps/generic/w_acosf.c [new file with mode: 0644]
sysdeps/generic/w_acosh.c [new file with mode: 0644]
sysdeps/generic/w_acoshf.c [new file with mode: 0644]
sysdeps/generic/w_acoshl.c [new file with mode: 0644]
sysdeps/generic/w_acosl.c [new file with mode: 0644]
sysdeps/generic/w_asin.c [new file with mode: 0644]
sysdeps/generic/w_asinf.c [new file with mode: 0644]
sysdeps/generic/w_asinl.c [new file with mode: 0644]
sysdeps/generic/w_atan2.c [new file with mode: 0644]
sysdeps/generic/w_atan2f.c [new file with mode: 0644]
sysdeps/generic/w_atan2l.c [new file with mode: 0644]
sysdeps/generic/w_atanh.c [new file with mode: 0644]
sysdeps/generic/w_atanhf.c [new file with mode: 0644]
sysdeps/generic/w_atanhl.c [new file with mode: 0644]
sysdeps/generic/w_cosh.c [new file with mode: 0644]
sysdeps/generic/w_coshf.c [new file with mode: 0644]
sysdeps/generic/w_coshl.c [new file with mode: 0644]
sysdeps/generic/w_drem.c [new file with mode: 0644]
sysdeps/generic/w_dremf.c [new file with mode: 0644]
sysdeps/generic/w_dreml.c [new file with mode: 0644]
sysdeps/generic/w_exp10.c [new file with mode: 0644]
sysdeps/generic/w_exp10f.c [new file with mode: 0644]
sysdeps/generic/w_exp10l.c [new file with mode: 0644]
sysdeps/generic/w_exp2.c [new file with mode: 0644]
sysdeps/generic/w_exp2f.c [new file with mode: 0644]
sysdeps/generic/w_exp2l.c [new file with mode: 0644]
sysdeps/generic/w_fmod.c [new file with mode: 0644]
sysdeps/generic/w_fmodf.c [new file with mode: 0644]
sysdeps/generic/w_fmodl.c [new file with mode: 0644]

diff --git a/sysdeps/generic/w_acos.c b/sysdeps/generic/w_acos.c
new file mode 100644 (file)
index 0000000..5a1158e
--- /dev/null
@@ -0,0 +1,48 @@
+/* @(#)w_acos.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#if defined(LIBM_SCCS) && !defined(lint)
+static char rcsid[] = "$NetBSD: w_acos.c,v 1.6 1995/05/10 20:48:26 jtc Exp $";
+#endif
+
+/*
+ * wrap_acos(x)
+ */
+
+#include "math.h"
+#include "math_private.h"
+
+
+#ifdef __STDC__
+       double __acos(double x)         /* wrapper acos */
+#else
+       double __acos(x)                        /* wrapper acos */
+       double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+       return __ieee754_acos(x);
+#else
+       double z;
+       z = __ieee754_acos(x);
+       if(_LIB_VERSION == _IEEE_ || __isnan(x)) return z;
+       if(fabs(x)>1.0) {
+               return __kernel_standard(x,x,1); /* acos(|x|>1) */
+       } else
+           return z;
+#endif
+}
+weak_alias (__acos, acos)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__acos, __acosl)
+weak_alias (__acos, acosl)
+#endif
diff --git a/sysdeps/generic/w_acosf.c b/sysdeps/generic/w_acosf.c
new file mode 100644 (file)
index 0000000..28260dd
--- /dev/null
@@ -0,0 +1,48 @@
+/* w_acosf.c -- float version of w_acos.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice 
+ * is preserved.
+ * ====================================================
+ */
+
+#if defined(LIBM_SCCS) && !defined(lint)
+static char rcsid[] = "$NetBSD: w_acosf.c,v 1.3 1995/05/10 20:48:29 jtc Exp $";
+#endif
+
+/*
+ * wrap_acosf(x)
+ */
+
+#include "math.h"
+#include "math_private.h"
+
+
+#ifdef __STDC__
+       float __acosf(float x)          /* wrapper acosf */
+#else
+       float __acosf(x)                        /* wrapper acosf */
+       float x;
+#endif
+{
+#ifdef _IEEE_LIBM
+       return __ieee754_acosf(x);
+#else
+       float z;
+       z = __ieee754_acosf(x);
+       if(_LIB_VERSION == _IEEE_ || __isnanf(x)) return z;
+       if(fabsf(x)>(float)1.0) {
+               /* acosf(|x|>1) */
+               return (float)__kernel_standard((double)x,(double)x,101);
+       } else
+           return z;
+#endif
+}
+weak_alias (__acosf, acosf)
diff --git a/sysdeps/generic/w_acosh.c b/sysdeps/generic/w_acosh.c
new file mode 100644 (file)
index 0000000..2b5d60f
--- /dev/null
@@ -0,0 +1,47 @@
+/* @(#)w_acosh.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#if defined(LIBM_SCCS) && !defined(lint)
+static char rcsid[] = "$NetBSD: w_acosh.c,v 1.6 1995/05/10 20:48:31 jtc Exp $";
+#endif
+
+/*
+ * wrapper acosh(x)
+ */
+
+#include "math.h"
+#include "math_private.h"
+
+#ifdef __STDC__
+       double __acosh(double x)                /* wrapper acosh */
+#else
+       double __acosh(x)                       /* wrapper acosh */
+       double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+       return __ieee754_acosh(x);
+#else
+       double z;
+       z = __ieee754_acosh(x);
+       if(_LIB_VERSION == _IEEE_ || __isnan(x)) return z;
+       if(x<1.0) {
+               return __kernel_standard(x,x,29); /* acosh(x<1) */
+       } else
+           return z;
+#endif
+}
+weak_alias (__acosh, acosh)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__acosh, __acoshl)
+weak_alias (__acosh, acoshl)
+#endif
diff --git a/sysdeps/generic/w_acoshf.c b/sysdeps/generic/w_acoshf.c
new file mode 100644 (file)
index 0000000..f701983
--- /dev/null
@@ -0,0 +1,48 @@
+/* w_acoshf.c -- float version of w_acosh.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice 
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+#if defined(LIBM_SCCS) && !defined(lint)
+static char rcsid[] = "$NetBSD: w_acoshf.c,v 1.3 1995/05/10 20:48:33 jtc Exp $";
+#endif
+
+/* 
+ * wrapper acoshf(x)
+ */
+
+#include "math.h"
+#include "math_private.h"
+
+#ifdef __STDC__
+       float __acoshf(float x)         /* wrapper acoshf */
+#else
+       float __acoshf(x)                       /* wrapper acoshf */
+       float x;
+#endif
+{
+#ifdef _IEEE_LIBM
+       return __ieee754_acoshf(x);
+#else
+       float z;
+       z = __ieee754_acoshf(x);
+       if(_LIB_VERSION == _IEEE_ || __isnanf(x)) return z;
+       if(x<(float)1.0) {
+               /* acosh(x<1) */
+               return (float)__kernel_standard((double)x,(double)x,129);
+       } else
+           return z;
+#endif
+}
+weak_alias (__acoshf, acoshf)
diff --git a/sysdeps/generic/w_acoshl.c b/sysdeps/generic/w_acoshl.c
new file mode 100644 (file)
index 0000000..a37d4c1
--- /dev/null
@@ -0,0 +1,47 @@
+/* w_acoshl.c -- long double version of w_acosh.c.
+ * Conversion to long double by Ulrich Drepper,
+ * Cygnus Support, drepper@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#if defined(LIBM_SCCS) && !defined(lint)
+static char rcsid[] = "$NetBSD: $";
+#endif
+
+/*
+ * wrapper acoshl(x)
+ */
+
+#include "math.h"
+#include "math_private.h"
+
+#ifdef __STDC__
+       long double __acoshl(long double x)     /* wrapper acosh */
+#else
+       long double __acoshl(x)                 /* wrapper acosh */
+       long double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+       return __ieee754_acoshl(x);
+#else
+       long double z;
+       z = __ieee754_acoshl(x);
+       if(_LIB_VERSION == _IEEE_ || __isnanl(x)) return z;
+       if(x<1.0) {
+               return __kernel_standard(x,x,229); /* acoshl(x<1) */
+       } else
+           return z;
+#endif
+}
+weak_alias (__acoshl, acoshl)
diff --git a/sysdeps/generic/w_acosl.c b/sysdeps/generic/w_acosl.c
new file mode 100644 (file)
index 0000000..cd9cecf
--- /dev/null
@@ -0,0 +1,48 @@
+/* w_acosl.c -- long double version of w_acos.c.
+ * Conversion to long double by Ulrich Drepper,
+ * Cygnus Support, drepper@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#if defined(LIBM_SCCS) && !defined(lint)
+static char rcsid[] = "$NetBSD: $";
+#endif
+
+/*
+ * wrap_acosl(x)
+ */
+
+#include "math.h"
+#include "math_private.h"
+
+
+#ifdef __STDC__
+       long double __acosl(long double x)      /* wrapper acos */
+#else
+       long double __acosl(x)                  /* wrapper acos */
+       long double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+       return __ieee754_acosl(x);
+#else
+       long double z;
+       z = __ieee754_acosl(x);
+       if(_LIB_VERSION == _IEEE_ || __isnanl(x)) return z;
+       if(fabsl(x)>1.0) {
+               return __kernel_standard(x,x,201); /* acosl(|x|>1) */
+       } else
+           return z;
+#endif
+}
+weak_alias (__acosl, acosl)
diff --git a/sysdeps/generic/w_asin.c b/sysdeps/generic/w_asin.c
new file mode 100644 (file)
index 0000000..a7ca4ef
--- /dev/null
@@ -0,0 +1,49 @@
+/* @(#)w_asin.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#if defined(LIBM_SCCS) && !defined(lint)
+static char rcsid[] = "$NetBSD: w_asin.c,v 1.6 1995/05/10 20:48:35 jtc Exp $";
+#endif
+
+/*
+ * wrapper asin(x)
+ */
+
+
+#include "math.h"
+#include "math_private.h"
+
+
+#ifdef __STDC__
+       double __asin(double x)         /* wrapper asin */
+#else
+       double __asin(x)                        /* wrapper asin */
+       double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+       return __ieee754_asin(x);
+#else
+       double z;
+       z = __ieee754_asin(x);
+       if(_LIB_VERSION == _IEEE_ || __isnan(x)) return z;
+       if(fabs(x)>1.0) {
+               return __kernel_standard(x,x,2); /* asin(|x|>1) */
+       } else
+           return z;
+#endif
+}
+weak_alias (__asin, asin)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__asin, __asinl)
+weak_alias (__asin, asinl)
+#endif
diff --git a/sysdeps/generic/w_asinf.c b/sysdeps/generic/w_asinf.c
new file mode 100644 (file)
index 0000000..d7f7a25
--- /dev/null
@@ -0,0 +1,49 @@
+/* w_asinf.c -- float version of w_asin.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice 
+ * is preserved.
+ * ====================================================
+ */
+
+#if defined(LIBM_SCCS) && !defined(lint)
+static char rcsid[] = "$NetBSD: w_asinf.c,v 1.3 1995/05/10 20:48:37 jtc Exp $";
+#endif
+
+/* 
+ * wrapper asinf(x)
+ */
+
+
+#include "math.h"
+#include "math_private.h"
+
+
+#ifdef __STDC__
+       float __asinf(float x)          /* wrapper asinf */
+#else
+       float __asinf(x)                        /* wrapper asinf */
+       float x;
+#endif
+{
+#ifdef _IEEE_LIBM
+       return __ieee754_asinf(x);
+#else
+       float z;
+       z = __ieee754_asinf(x);
+       if(_LIB_VERSION == _IEEE_ || __isnanf(x)) return z;
+       if(fabsf(x)>(float)1.0) {
+           /* asinf(|x|>1) */
+           return (float)__kernel_standard((double)x,(double)x,102);
+       } else
+           return z;
+#endif
+}
+weak_alias (__asinf, asinf)
diff --git a/sysdeps/generic/w_asinl.c b/sysdeps/generic/w_asinl.c
new file mode 100644 (file)
index 0000000..0ac3038
--- /dev/null
@@ -0,0 +1,49 @@
+/* w_asinl.c -- long double version of w_asin.c.
+ * Conversion to long double by Ulrich Drepper,
+ * Cygnus Support, drepper@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#if defined(LIBM_SCCS) && !defined(lint)
+static char rcsid[] = "$NetBSD: $";
+#endif
+
+/*
+ * wrapper asinl(x)
+ */
+
+
+#include "math.h"
+#include "math_private.h"
+
+
+#ifdef __STDC__
+       long double __asinl(long double x)      /* wrapper asinl */
+#else
+       long double __asinl(x)                  /* wrapper asinl */
+       long double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+       return __ieee754_asinl(x);
+#else
+       long double z;
+       z = __ieee754_asinl(x);
+       if(_LIB_VERSION == _IEEE_ || __isnanl(x)) return z;
+       if(fabsl(x)>1.0) {
+               return __kernel_standard(x,x,202); /* asinl(|x|>1) */
+       } else
+           return z;
+#endif
+}
+weak_alias (__asinl, asinl)
diff --git a/sysdeps/generic/w_atan2.c b/sysdeps/generic/w_atan2.c
new file mode 100644 (file)
index 0000000..801baa2
--- /dev/null
@@ -0,0 +1,47 @@
+/* @(#)w_atan2.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#if defined(LIBM_SCCS) && !defined(lint)
+static char rcsid[] = "$NetBSD: w_atan2.c,v 1.6 1995/05/10 20:48:39 jtc Exp $";
+#endif
+
+/*
+ * wrapper atan2(y,x)
+ */
+
+#include "math.h"
+#include "math_private.h"
+
+
+#ifdef __STDC__
+       double __atan2(double y, double x)      /* wrapper atan2 */
+#else
+       double __atan2(y,x)                     /* wrapper atan2 */
+       double y,x;
+#endif
+{
+#ifdef _IEEE_LIBM
+       return __ieee754_atan2(y,x);
+#else
+       double z;
+       z = __ieee754_atan2(y,x);
+       if(_LIB_VERSION != _SVID_||__isnan(x)||__isnan(y)) return z;
+       if(x==0.0&&y==0.0)
+         return __kernel_standard(y,x,3); /* atan2(+-0,+-0) */
+       return z;
+#endif
+}
+weak_alias (__atan2, atan2)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__atan2, __atan2l)
+weak_alias (__atan2, atan2l)
+#endif
diff --git a/sysdeps/generic/w_atan2f.c b/sysdeps/generic/w_atan2f.c
new file mode 100644 (file)
index 0000000..09caa06
--- /dev/null
@@ -0,0 +1,46 @@
+/* w_atan2f.c -- float version of w_atan2.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#if defined(LIBM_SCCS) && !defined(lint)
+static char rcsid[] = "$NetBSD: w_atan2f.c,v 1.3 1995/05/10 20:48:42 jtc Exp $";
+#endif
+
+/*
+ * wrapper atan2f(y,x)
+ */
+
+#include "math.h"
+#include "math_private.h"
+
+
+#ifdef __STDC__
+       float __atan2f(float y, float x)                /* wrapper atan2f */
+#else
+       float __atan2f(y,x)                     /* wrapper atan2 */
+       float y,x;
+#endif
+{
+#ifdef _IEEE_LIBM
+       return __ieee754_atan2f(y,x);
+#else
+       float z;
+       z = __ieee754_atan2f(y,x);
+       if(_LIB_VERSION != _SVID_||__isnanf(x)||__isnanf(y)) return z;
+       if(x==0.0&&y==0.0)
+         return __kernel_standard(y,x,103); /* atan2(+-0,+-0) */
+       return z;
+#endif
+}
+weak_alias (__atan2f, atan2f)
diff --git a/sysdeps/generic/w_atan2l.c b/sysdeps/generic/w_atan2l.c
new file mode 100644 (file)
index 0000000..2897c8c
--- /dev/null
@@ -0,0 +1,47 @@
+/* w_atan2l.c -- long double version of w_atan2.c.
+ * Conversion to long double by Ulrich Drepper,
+ * Cygnus Support, drepper@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#if defined(LIBM_SCCS) && !defined(lint)
+static char rcsid[] = "$NetBSD: $";
+#endif
+
+/*
+ * wrapper atan2l(y,x)
+ */
+
+#include "math.h"
+#include "math_private.h"
+
+
+#ifdef __STDC__
+       long double __atan2l(long double y, long double x) /* wrapper atan2l */
+#else
+       long double __atan2l(y,x)                       /* wrapper atan2l */
+       long double y,x;
+#endif
+{
+#ifdef _IEEE_LIBM
+       return __ieee754_atan2l(y,x);
+#else
+       long double z;
+       z = __ieee754_atan2l(y,x);
+       if(_LIB_VERSION != _SVID_||__isnanl(x)||__isnanl(y)) return z;
+       if(x==0.0&&y==0.0)
+         return __kernel_standard(y,x,203); /* atan2(+-0,+-0) */
+       return z;
+#endif
+}
+weak_alias (__atan2l, atan2l)
diff --git a/sysdeps/generic/w_atanh.c b/sysdeps/generic/w_atanh.c
new file mode 100644 (file)
index 0000000..e7995b1
--- /dev/null
@@ -0,0 +1,52 @@
+/* @(#)w_atanh.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#if defined(LIBM_SCCS) && !defined(lint)
+static char rcsid[] = "$NetBSD: w_atanh.c,v 1.6 1995/05/10 20:48:43 jtc Exp $";
+#endif
+
+/*
+ * wrapper atanh(x)
+ */
+
+#include "math.h"
+#include "math_private.h"
+
+
+#ifdef __STDC__
+       double __atanh(double x)                /* wrapper atanh */
+#else
+       double __atanh(x)                       /* wrapper atanh */
+       double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+       return __ieee754_atanh(x);
+#else
+       double z,y;
+       z = __ieee754_atanh(x);
+       if(_LIB_VERSION == _IEEE_ || __isnan(x)) return z;
+       y = fabs(x);
+       if(y>=1.0) {
+           if(y>1.0)
+               return __kernel_standard(x,x,30); /* atanh(|x|>1) */
+           else
+               return __kernel_standard(x,x,31); /* atanh(|x|==1) */
+       } else
+           return z;
+#endif
+}
+weak_alias (__atanh, atanh)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__atanh, __atanhl)
+weak_alias (__atanh, atanhl)
+#endif
diff --git a/sysdeps/generic/w_atanhf.c b/sysdeps/generic/w_atanhf.c
new file mode 100644 (file)
index 0000000..0b24f2c
--- /dev/null
@@ -0,0 +1,53 @@
+/* w_atanhf.c -- float version of w_atanh.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice 
+ * is preserved.
+ * ====================================================
+ */
+
+#if defined(LIBM_SCCS) && !defined(lint)
+static char rcsid[] = "$NetBSD: w_atanhf.c,v 1.3 1995/05/10 20:48:45 jtc Exp $";
+#endif
+
+/* 
+ * wrapper atanhf(x)
+ */
+
+#include "math.h"
+#include "math_private.h"
+
+
+#ifdef __STDC__
+       float __atanhf(float x)         /* wrapper atanhf */
+#else
+       float __atanhf(x)                       /* wrapper atanhf */
+       float x;
+#endif
+{
+#ifdef _IEEE_LIBM
+       return __ieee754_atanhf(x);
+#else
+       float z,y;
+       z = __ieee754_atanhf(x);
+       if(_LIB_VERSION == _IEEE_ || __isnanf(x)) return z;
+       y = fabsf(x);
+       if(y>=(float)1.0) {
+           if(y>(float)1.0)
+               /* atanhf(|x|>1) */
+               return (float)__kernel_standard((double)x,(double)x,130);
+           else 
+               /* atanhf(|x|==1) */
+               return (float)__kernel_standard((double)x,(double)x,131);
+       } else
+           return z;
+#endif
+}
+weak_alias (__atanhf, atanhf)
diff --git a/sysdeps/generic/w_atanhl.c b/sysdeps/generic/w_atanhl.c
new file mode 100644 (file)
index 0000000..d675fc6
--- /dev/null
@@ -0,0 +1,52 @@
+/* w_atanhl.c -- long double version of w_atanh.c.
+ * Conversion to long double by Ulrich Drepper,
+ * Cygnus Support, drepper@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#if defined(LIBM_SCCS) && !defined(lint)
+static char rcsid[] = "$NetBSD: $";
+#endif
+
+/*
+ * wrapper atanhl(x)
+ */
+
+#include "math.h"
+#include "math_private.h"
+
+
+#ifdef __STDC__
+       long double __atanhl(long double x)     /* wrapper atanhl */
+#else
+       long double __atanhl(x)                 /* wrapper atanhl */
+       long double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+       return __ieee754_atanhl(x);
+#else
+       long double z,y;
+       z = __ieee754_atanhl(x);
+       if(_LIB_VERSION == _IEEE_ || __isnanl(x)) return z;
+       y = fabsl(x);
+       if(y>=1.0) {
+           if(y>1.0)
+               return __kernel_standard(x,x,230); /* atanhl(|x|>1) */
+           else
+               return __kernel_standard(x,x,231); /* atanhl(|x|==1) */
+       } else
+           return z;
+#endif
+}
+weak_alias (__atanhl, atanhl)
diff --git a/sysdeps/generic/w_cosh.c b/sysdeps/generic/w_cosh.c
new file mode 100644 (file)
index 0000000..8db25c8
--- /dev/null
@@ -0,0 +1,47 @@
+/* @(#)w_cosh.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#if defined(LIBM_SCCS) && !defined(lint)
+static char rcsid[] = "$NetBSD: w_cosh.c,v 1.6 1995/05/10 20:48:47 jtc Exp $";
+#endif
+
+/*
+ * wrapper cosh(x)
+ */
+
+#include "math.h"
+#include "math_private.h"
+
+#ifdef __STDC__
+       double __cosh(double x)         /* wrapper cosh */
+#else
+       double __cosh(x)                        /* wrapper cosh */
+       double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+       return __ieee754_cosh(x);
+#else
+       double z;
+       z = __ieee754_cosh(x);
+       if(_LIB_VERSION == _IEEE_ || __isnan(x)) return z;
+       if(fabs(x)>7.10475860073943863426e+02) {
+               return __kernel_standard(x,x,5); /* cosh overflow */
+       } else
+           return z;
+#endif
+}
+weak_alias (__cosh, cosh)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__cosh, __coshl)
+weak_alias (__cosh, coshl)
+#endif
diff --git a/sysdeps/generic/w_coshf.c b/sysdeps/generic/w_coshf.c
new file mode 100644 (file)
index 0000000..53ca841
--- /dev/null
@@ -0,0 +1,47 @@
+/* w_coshf.c -- float version of w_cosh.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice 
+ * is preserved.
+ * ====================================================
+ */
+
+#if defined(LIBM_SCCS) && !defined(lint)
+static char rcsid[] = "$NetBSD: w_coshf.c,v 1.3 1995/05/10 20:48:49 jtc Exp $";
+#endif
+
+/* 
+ * wrapper coshf(x)
+ */
+
+#include "math.h"
+#include "math_private.h"
+
+#ifdef __STDC__
+       float __coshf(float x)          /* wrapper coshf */
+#else
+       float __coshf(x)                        /* wrapper coshf */
+       float x;
+#endif
+{
+#ifdef _IEEE_LIBM
+       return __ieee754_coshf(x);
+#else
+       float z;
+       z = __ieee754_coshf(x);
+       if(_LIB_VERSION == _IEEE_ || __isnanf(x)) return z;
+       if(fabsf(x)>(float)8.9415985107e+01) {  
+               /* cosh overflow */
+               return (float)__kernel_standard((double)x,(double)x,105);
+       } else
+           return z;
+#endif
+}
+weak_alias (__coshf, coshf)
diff --git a/sysdeps/generic/w_coshl.c b/sysdeps/generic/w_coshl.c
new file mode 100644 (file)
index 0000000..343d572
--- /dev/null
@@ -0,0 +1,47 @@
+/* w_acoshl.c -- long double version of w_acosh.c.
+ * Conversion to long double by Ulrich Drepper,
+ * Cygnus Support, drepper@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#if defined(LIBM_SCCS) && !defined(lint)
+static char rcsid[] = "$NetBSD: $";
+#endif
+
+/*
+ * wrapper coshl(x)
+ */
+
+#include "math.h"
+#include "math_private.h"
+
+#ifdef __STDC__
+       long double __coshl(long double x)      /* wrapper coshl */
+#else
+       long double __coshl(x)                  /* wrapper coshl */
+       long double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+       return __ieee754_coshl(x);
+#else
+       long double z;
+       z = __ieee754_coshl(x);
+       if(_LIB_VERSION == _IEEE_ || __isnanl(x)) return z;
+       if(fabsl(x)>7.10475860073943863426e+02) {
+               return __kernel_standard(x,x,205); /* cosh overflow */
+       } else
+           return z;
+#endif
+}
+weak_alias (__coshl, coshl)
diff --git a/sysdeps/generic/w_drem.c b/sysdeps/generic/w_drem.c
new file mode 100644 (file)
index 0000000..9e2b1e7
--- /dev/null
@@ -0,0 +1,20 @@
+/*
+ * drem() wrapper for remainder().
+ *
+ * Written by J.T. Conklin, <jtc@wimsey.com>
+ * Placed into the Public Domain, 1994.
+ */
+
+#include <math.h>
+
+double
+__drem(x, y)
+       double x, y;
+{
+       return __remainder(x, y);
+}
+weak_alias (__drem, drem)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__drem, __dreml)
+weak_alias (__drem, dreml)
+#endif
diff --git a/sysdeps/generic/w_dremf.c b/sysdeps/generic/w_dremf.c
new file mode 100644 (file)
index 0000000..b740ea3
--- /dev/null
@@ -0,0 +1,17 @@
+/*
+ * dremf() wrapper for remainderf().
+ * 
+ * Written by J.T. Conklin, <jtc@wimsey.com>
+ * Placed into the Public Domain, 1994.
+ */
+
+#include "math.h"
+#include "math_private.h"
+
+float
+__dremf(x, y)
+       float x, y;
+{
+       return __remainderf(x, y);
+}
+weak_alias (__dremf, dremf)
diff --git a/sysdeps/generic/w_dreml.c b/sysdeps/generic/w_dreml.c
new file mode 100644 (file)
index 0000000..aa73eed
--- /dev/null
@@ -0,0 +1,18 @@
+/*
+ * dreml() wrapper for remainderl().
+ *
+ * Written by J.T. Conklin, <jtc@wimsey.com>
+ * Conversion to long double by Ulrich Drepper,
+ * Cygnus Support, drepper@cygnus.com.
+ * Placed into the Public Domain, 1994.
+ */
+
+#include <math.h>
+
+long double
+__dreml(x, y)
+       long double x, y;
+{
+       return __remainderl(x, y);
+}
+weak_alias (__dreml, dreml)
diff --git a/sysdeps/generic/w_exp10.c b/sysdeps/generic/w_exp10.c
new file mode 100644 (file)
index 0000000..bf0d361
--- /dev/null
@@ -0,0 +1,61 @@
+/* @(#)w_exp10.c
+ * Conversion to exp10 by Ulrich Drepper <drepper@cygnus.com>.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * wrapper exp10(x)
+ */
+
+#include "math.h"
+#include "math_private.h"
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+o_threshold=  3.0825471555991674389672e+02,
+u_threshold= -3.2360724533877978485251e+02;
+
+#ifdef __STDC__
+       double __exp10(double x)                /* wrapper exp10 */
+#else
+       double __exp10(x)                       /* wrapper exp10 */
+       double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+       return __ieee754_exp10(x);
+#else
+       double z;
+       z = __ieee754_exp10(x);
+       if(_LIB_VERSION == _IEEE_) return z;
+       if(__finite(x)) {
+           if(x>o_threshold)
+               return __kernel_standard(x,x,46); /* exp10 overflow */
+           else if(x<u_threshold)
+               return __kernel_standard(x,x,47); /* exp10 underflow */
+       }
+       return z;
+#endif
+}
+weak_alias (__exp10, exp10)
+strong_alias (__exp10, __pow10)
+weak_alias (__pow10, pow10)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__exp10, __exp10l)
+weak_alias (__exp10, exp10l)
+strong_alias (__exp10l, __pow10l)
+weak_alias (__pow10l, pow10l)
+#endif
diff --git a/sysdeps/generic/w_exp10f.c b/sysdeps/generic/w_exp10f.c
new file mode 100644 (file)
index 0000000..f78be79
--- /dev/null
@@ -0,0 +1,57 @@
+/* w_exp10f.c -- float version of w_exp10.c.
+ * Conversion to exp10 by Ulrich Drepper <drepper@cygnus.com>.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * wrapper expf10(x)
+ */
+
+#include "math.h"
+#include "math_private.h"
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+o_threshold=  3.853183944498959298709e+01,
+u_threshold= -4.515449934959717928174e+01;
+
+#ifdef __STDC__
+       float __exp10f(float x)         /* wrapper exp10f */
+#else
+       float __exp10f(x)                       /* wrapper exp10f */
+       float x;
+#endif
+{
+#ifdef _IEEE_LIBM
+       return __ieee754_exp10f(x);
+#else
+       float z;
+       z = __ieee754_exp10f(x);
+       if(_LIB_VERSION == _IEEE_) return z;
+       if(__finitef(x)) {
+           if(x>o_threshold)
+               /* exp overflow */
+               return (float)__kernel_standard((double)x,(double)x,146);
+           else if(x<u_threshold)
+               /* exp underflow */
+               return (float)__kernel_standard((double)x,(double)x,147);
+       }
+       return z;
+#endif
+}
+weak_alias (__exp10f, exp10f)
+strong_alias (__exp10f, __pow10f)
+weak_alias (__pow10f, pow10f)
diff --git a/sysdeps/generic/w_exp10l.c b/sysdeps/generic/w_exp10l.c
new file mode 100644 (file)
index 0000000..7117873
--- /dev/null
@@ -0,0 +1,56 @@
+/* w_exp10l.c -- long double version of w_exp10.c.
+ * Conversion to long double by Ulrich Drepper,
+ * Cygnus Support, drepper@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * wrapper exp10l(x)
+ */
+
+#include "math.h"
+#include "math_private.h"
+
+#ifdef __STDC__
+static const long double
+#else
+static long double
+#endif
+o_threshold=  4.93207544895866790234755e+03,
+u_threshold= -4.95104033868549871764588e+03;
+
+#ifdef __STDC__
+       long double __exp10l(long double x)     /* wrapper exp10 */
+#else
+       long double __exp10l(x)                 /* wrapper exp10 */
+       long double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+       return __ieee754_exp10l(x);
+#else
+       long double z;
+       z = __ieee754_exp10l(x);
+       if(_LIB_VERSION == _IEEE_) return z;
+       if(__finitel(x)) {
+           if(x>o_threshold)
+               return __kernel_standard(x,x,246); /* exp10 overflow */
+           else if(x<u_threshold)
+               return __kernel_standard(x,x,247); /* exp10 underflow */
+       }
+       return z;
+#endif
+}
+weak_alias (__exp10l, exp10l)
+strong_alias (__exp10l, __pow10l)
+weak_alias (__pow10l, pow10l)
diff --git a/sysdeps/generic/w_exp2.c b/sysdeps/generic/w_exp2.c
new file mode 100644 (file)
index 0000000..126aa09
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+ * wrapper exp2(x)
+ */
+
+#include <float.h>
+#include "math.h"
+#include "math_private.h"
+
+static const double o_threshold= (double) DBL_MAX_EXP;
+static const double u_threshold= (double) DBL_MIN_EXP;
+
+double
+__exp2 (double x)              /* wrapper exp2 */
+{
+#ifdef _IEEE_LIBM
+  return __ieee754_exp2 (x);
+#else
+  double z;
+  z = __ieee754_exp2 (x);
+  if (_LIB_VERSION != _IEEE_ && __finite (x))
+    {
+      if (x > o_threshold)
+       /* exp2 overflow */
+       return __kernel_standard (x, x, 44);
+      else if (x < u_threshold)
+       /* exp2 underflow */
+       return __kernel_standard (x, x, 45);
+    }
+  return z;
+#endif
+}
+weak_alias (__exp2, exp2)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__exp2, __expl2)
+weak_alias (__exp2, expl2)
+#endif
diff --git a/sysdeps/generic/w_exp2f.c b/sysdeps/generic/w_exp2f.c
new file mode 100644 (file)
index 0000000..d2c340d
--- /dev/null
@@ -0,0 +1,32 @@
+/*
+ * wrapper exp2f(x)
+ */
+
+#include <float.h>
+#include "math.h"
+#include "math_private.h"
+
+static const float o_threshold= (float) FLT_MAX_EXP;
+static const float u_threshold= (float) FLT_MIN_EXP;
+
+float
+__exp2f (float x)              /* wrapper exp2f */
+{
+#ifdef _IEEE_LIBM
+  return __ieee754_exp2f (x);
+#else
+  float z;
+  z = __ieee754_exp2f (x);
+  if (_LIB_VERSION != _IEEE_ && __finitef (x))
+    {
+      if (x > o_threshold)
+       /* exp2 overflow */
+       return (float) __kernel_standard ((double) x, (double) x, 144);
+      else if (x < u_threshold)
+       /* exp2 underflow */
+       return (float) __kernel_standard ((double) x, (double) x, 145);
+    }
+  return z;
+#endif
+}
+weak_alias (__exp2f, exp2f)
diff --git a/sysdeps/generic/w_exp2l.c b/sysdeps/generic/w_exp2l.c
new file mode 100644 (file)
index 0000000..965e9bf
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+ * wrapper exp2l(x)
+ */
+
+#include <float.h>
+#include "math.h"
+#include "math_private.h"
+
+static const long double o_threshold = (long double) LDBL_MAX_EXP;
+static const long double u_threshold = (long double) LDBL_MIN_EXP;
+
+long double
+__exp2l (long double x)                        /* wrapper exp2l */
+{
+#ifdef _IEEE_LIBM
+  return __ieee754_exp2l (x);
+#else
+  long double z;
+  z = __ieee754_exp2l (x);
+  if (_LIB_VERSION != _IEEE_ && __finitel (x))
+    {
+      if (x > o_threshold)
+       return __kernel_standard (x, x, 244); /* exp2l overflow */
+      else if (x < u_threshold)
+       return __kernel_standard (x, x, 245); /* exp2l underflow */
+    }
+  return z;
+#endif
+}
+weak_alias (__exp2l, exp2l)
diff --git a/sysdeps/generic/w_fmod.c b/sysdeps/generic/w_fmod.c
new file mode 100644 (file)
index 0000000..0ceeb98
--- /dev/null
@@ -0,0 +1,48 @@
+/* @(#)w_fmod.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#if defined(LIBM_SCCS) && !defined(lint)
+static char rcsid[] = "$NetBSD: w_fmod.c,v 1.6 1995/05/10 20:48:55 jtc Exp $";
+#endif
+
+/*
+ * wrapper fmod(x,y)
+ */
+
+#include "math.h"
+#include "math_private.h"
+
+
+#ifdef __STDC__
+       double __fmod(double x, double y)       /* wrapper fmod */
+#else
+       double __fmod(x,y)              /* wrapper fmod */
+       double x,y;
+#endif
+{
+#ifdef _IEEE_LIBM
+       return __ieee754_fmod(x,y);
+#else
+       double z;
+       z = __ieee754_fmod(x,y);
+       if(_LIB_VERSION == _IEEE_ ||__isnan(y)||__isnan(x)) return z;
+       if(y==0.0) {
+               return __kernel_standard(x,y,27); /* fmod(x,0) */
+       } else
+           return z;
+#endif
+}
+weak_alias (__fmod, fmod)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__fmod, __fmodl)
+weak_alias (__fmod, fmodl)
+#endif
diff --git a/sysdeps/generic/w_fmodf.c b/sysdeps/generic/w_fmodf.c
new file mode 100644 (file)
index 0000000..9afe5dd
--- /dev/null
@@ -0,0 +1,48 @@
+/* w_fmodf.c -- float version of w_fmod.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice 
+ * is preserved.
+ * ====================================================
+ */
+
+#if defined(LIBM_SCCS) && !defined(lint)
+static char rcsid[] = "$NetBSD: w_fmodf.c,v 1.3 1995/05/10 20:48:57 jtc Exp $";
+#endif
+
+/* 
+ * wrapper fmodf(x,y)
+ */
+
+#include "math.h"
+#include "math_private.h"
+
+
+#ifdef __STDC__
+       float __fmodf(float x, float y) /* wrapper fmodf */
+#else
+       float __fmodf(x,y)              /* wrapper fmodf */
+       float x,y;
+#endif
+{
+#ifdef _IEEE_LIBM
+       return __ieee754_fmodf(x,y);
+#else
+       float z;
+       z = __ieee754_fmodf(x,y);
+       if(_LIB_VERSION == _IEEE_ ||__isnanf(y)||__isnanf(x)) return z;
+       if(y==(float)0.0) {
+               /* fmodf(x,0) */
+               return (float)__kernel_standard((double)x,(double)y,127);
+       } else
+           return z;
+#endif
+}
+weak_alias (__fmodf, fmodf)
diff --git a/sysdeps/generic/w_fmodl.c b/sysdeps/generic/w_fmodl.c
new file mode 100644 (file)
index 0000000..71ed4a9
--- /dev/null
@@ -0,0 +1,48 @@
+/* w_fmodl.c -- long double version of w_fmod.c.
+ * Conversion to long double by Ulrich Drepper,
+ * Cygnus Support, drepper@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#if defined(LIBM_SCCS) && !defined(lint)
+static char rcsid[] = "$NetBSD: $";
+#endif
+
+/*
+ * wrapper fmodl(x,y)
+ */
+
+#include "math.h"
+#include "math_private.h"
+
+
+#ifdef __STDC__
+       long double __fmodl(long double x, long double y)/* wrapper fmodl */
+#else
+       long double __fmodl(x,y)                /* wrapper fmodl */
+       long double x,y;
+#endif
+{
+#ifdef _IEEE_LIBM
+       return __ieee754_fmodl(x,y);
+#else
+       long double z;
+       z = __ieee754_fmodl(x,y);
+       if(_LIB_VERSION == _IEEE_ ||__isnanl(y)||__isnanl(x)) return z;
+       if(y==0.0) {
+               return __kernel_standard(x,y,227); /* fmod(x,0) */
+       } else
+           return z;
+#endif
+}
+weak_alias (__fmodl, fmodl)