diff options
author | 2008-12-09 20:00:35 +0000 | |
---|---|---|
committer | 2008-12-09 20:00:35 +0000 | |
commit | 390c8400525fc0ecc9e2c49c2246076b1b49fe19 (patch) | |
tree | 53eacecd5d140dfe4af32e85cbd374f340c935fc /lib/libm/src/s_cos.c | |
parent | - add long double signbit (diff) | |
download | wireguard-openbsd-390c8400525fc0ecc9e2c49c2246076b1b49fe19.tar.xz wireguard-openbsd-390c8400525fc0ecc9e2c49c2246076b1b49fe19.zip |
- 80-bit and quad precision trigonometric and other most
important functions: acosl, asinl, atanl, atan2l, cosl,
sinl, tanl, exp2l, frexpl, ilogbl, ldexpl, logbl, scalbnl,
fabsl, hypotl, powl, sqrtl, rintl, copysignl, nanl, fdiml,
fmaxl, fminl. mostly taken from freebsd, needed alot of
changes to adapt. note, these are all c versions; and are
quite slow when architectures have, e.g. sqrt. assembly
versions will be added afterwards
- make them .weak/__weak_alias to the double precision
versions on other archs
- no need to have two finites. finite() and finitef() are
non-standard 3BSD obsolete versions of isfinite. remove
from libm. make them weak_alias in libc to __isfinite and
__isfinitef instead. similarly make 3BSD obsolete versions
of isinf, isinff, isnan, isnanf weak_aliases to C99's
__isinf, __isinff, __isnan, __isnanf
- remove unused infinity.c. the c library has infinities
for each supported platform
- use STRICT_ASSIGN cast hack for _kernel_rem_pio2, so that
the double version has a chance of working on i386 with
extra precision
- avoid storing multiple copies of the pi/2 array, since
it won't vary
- bump major due to removed finite/finitef. although they
will be in libc, which anything is linked to, minor bump
might be enough
ok millert@. tested by sthen@, jsg@, ajacoutot@, kili@, naddy@
Diffstat (limited to 'lib/libm/src/s_cos.c')
-rw-r--r-- | lib/libm/src/s_cos.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/libm/src/s_cos.c b/lib/libm/src/s_cos.c index 54bf0e07d39..fa46074cfe5 100644 --- a/lib/libm/src/s_cos.c +++ b/lib/libm/src/s_cos.c @@ -45,7 +45,10 @@ static char rcsid[] = "$NetBSD: s_cos.c,v 1.7 1995/05/10 20:47:02 jtc Exp $"; * TRIG(x) returns trig(x) nearly rounded */ -#include "math.h" +#include <machine/cdefs.h> +#include <float.h> +#include <math.h> + #include "math_private.h" double @@ -76,3 +79,9 @@ cos(double x) } } } + +#if LDBL_MANT_DIG == 53 +#ifdef __weak_alias +__weak_alias(cosl, cos); +#endif /* __weak_alias */ +#endif /* LDBL_MANT_DIG == 53 */ |