summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartynas Venckus <martynas@cvs.openbsd.org>2008-12-09 20:02:03 +0000
committerMartynas Venckus <martynas@cvs.openbsd.org>2008-12-09 20:02:03 +0000
commit39e5c0efc9bde4b2c68653ce7284bb9b6316d8a8 (patch)
tree587f7cf0e22c977254a4031f036dfe54a1d2df64
parent009c7af638fd14d259805ee9734b870b755af8a4 (diff)
expose extended-precision definitions. ok millert@
-rw-r--r--include/math.h40
1 files changed, 36 insertions, 4 deletions
diff --git a/include/math.h b/include/math.h
index 00c67571fd8..e02eaa96080 100644
--- a/include/math.h
+++ b/include/math.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: math.h,v 1.22 2008/09/09 20:42:55 martynas Exp $ */
+/* $OpenBSD: math.h,v 1.23 2008/12/09 20:02:02 martynas Exp $ */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -34,7 +34,11 @@ extern char __infinity[];
typedef __double_t double_t;
typedef __float_t float_t;
+#ifdef __vax__
+#define HUGE_VALF (*(float *)(void *)__infinityf)
+#else /* __vax__ */
#define HUGE_VALF ((float)HUGE_VAL)
+#endif /* __vax__ */
#define HUGE_VALL ((long double)HUGE_VAL)
#define INFINITY HUGE_VALF
#ifndef __vax__
@@ -87,13 +91,13 @@ extern char __nan[];
#define isinf(x) \
((sizeof (x) == sizeof (float)) ? \
- isinff(x) \
+ __isinff(x) \
: (sizeof (x) == sizeof (double)) ? \
__isinf(x) \
: __isinfl(x))
#define isnan(x) \
((sizeof (x) == sizeof (float)) ? \
- isnanf(x) \
+ __isnanf(x) \
: (sizeof (x) == sizeof (double)) ? \
__isnan(x) \
: __isnanl(x))
@@ -372,7 +376,6 @@ extern float significandf(float);
* Long double versions of C99 functions
*/
#if __ISO_C_VISIBLE >= 1999
-#if 0
extern long double acosl(long double);
extern long double asinl(long double);
extern long double atanl(long double);
@@ -381,63 +384,90 @@ extern long double cosl(long double);
extern long double sinl(long double);
extern long double tanl(long double);
+#if 0
extern long double acoshl(long double);
extern long double asinhl(long double);
extern long double atanhl(long double);
extern long double coshl(long double);
extern long double sinhl(long double);
extern long double tanhl(long double);
+#endif
+#if 0
extern long double expl(long double);
+#endif
extern long double exp2l(long double);
+#if 0
extern long double expm1l(long double);
+#endif
extern long double frexpl(long double, int *);
extern int ilogbl(long double);
extern long double ldexpl(long double, int);
+#if 0
extern long double logl(long double);
extern long double log10l(long double);
extern long double log1pl(long double);
extern long double log2l(long double);
+#endif
extern long double logbl(long double);
+#if 0
extern long double modfl(long double, long double *);
+#endif
extern long double scalbnl(long double, int);
+#if 0
extern long double scalblnl(long double, long int);
+#endif
+#if 0
extern long double cbrtl(long double);
+#endif
extern long double fabsl(long double);
+#if 0
extern long double hypotl(long double, long double);
extern long double powl(long double, long double);
+#endif
extern long double sqrtl(long double);
+#if 0
extern long double erfl(long double);
extern long double erfcl(long double);
extern long double lgammal(long double);
extern long double tgammal(long double);
+#endif
+#if 0
extern long double ceill(long double);
extern long double floorl(long double);
extern long double nearbyintl(long double);
+#endif
extern long double rintl(long double);
+#if 0
extern long int lrintl(long double);
extern long long int llrintl(long double);
extern long double roundl(long double);
extern long int lroundl(long double);
extern long long int llroundl(long double);
extern long double truncl(long double);
+#endif
+#if 0
extern long double fmodl(long double, long double);
extern long double remainderl(long double, long double);
extern long double remquol(long double, long double, int *);
+#endif
extern long double copysignl(long double, long double);
extern long double nanl(const char *);
+#if 0
extern long double nextafterl(long double, long double);
extern long double nexttowardl(long double, long double);
+#endif
extern long double fdiml(long double, long double);
extern long double fmaxl(long double, long double);
extern long double fminl(long double, long double);
+#if 0
extern long double fmal(long double, long double, long double);
#endif
#endif /* __ISO_C_VISIBLE >= 1999 */
@@ -452,8 +482,10 @@ extern int __isfinite(double);
extern int __isfinitef(float);
extern int __isfinitel(long double);
extern int __isinf(double);
+extern int __isinff(float);
extern int __isinfl(long double);
extern int __isnan(double);
+extern int __isnanf(float);
extern int __isnanl(long double);
extern int __isnormal(double);
extern int __isnormalf(float);