1 2/* @(#)e_acos.c 1.3 95/01/18 */ 3/* FreeBSD: head/lib/msun/src/e_acos.c 176451 2008-02-22 02:30:36Z das */ 4/* 5 * ==================================================== 6 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 7 * 8 * Developed at SunSoft, a Sun Microsystems, Inc. business. 9 * Permission to use, copy, modify, and distribute this 10 * software is freely granted, provided that this notice 11 * is preserved. 12 * ==================================================== 13 */ 14 15#include <sys/cdefs.h>
| 1 2/* @(#)e_acos.c 1.3 95/01/18 */ 3/* FreeBSD: head/lib/msun/src/e_acos.c 176451 2008-02-22 02:30:36Z das */ 4/* 5 * ==================================================== 6 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 7 * 8 * Developed at SunSoft, a Sun Microsystems, Inc. business. 9 * Permission to use, copy, modify, and distribute this 10 * software is freely granted, provided that this notice 11 * is preserved. 12 * ==================================================== 13 */ 14 15#include <sys/cdefs.h>
|
16__FBSDID("$FreeBSD: head/lib/msun/src/e_acosl.c 181074 2008-07-31 22:41:26Z das $");
| 16__FBSDID("$FreeBSD: head/lib/msun/src/e_acosl.c 181152 2008-08-02 03:56:22Z das $");
|
17 18/* 19 * See comments in e_acos.c. 20 * Converted to long double by David Schultz <das@FreeBSD.ORG>. 21 */ 22 23#include <float.h> 24 25#include "invtrig.h" 26#include "math.h" 27#include "math_private.h" 28 29static const long double
| 17 18/* 19 * See comments in e_acos.c. 20 * Converted to long double by David Schultz <das@FreeBSD.ORG>. 21 */ 22 23#include <float.h> 24 25#include "invtrig.h" 26#include "math.h" 27#include "math_private.h" 28 29static const long double
|
30one= 1.00000000000000000000e+00,
| 30one= 1.00000000000000000000e+00; 31 32#ifdef __i386__ 33/* XXX Work around the fact that gcc truncates long double constants on i386 */ 34static volatile double 35pi1 = 3.14159265358979311600e+00, /* 0x1.921fb54442d18p+1 */ 36pi2 = 1.22514845490862001043e-16; /* 0x1.1a80000000000p-53 */ 37#define pi ((long double)pi1 + pi2) 38#else 39static const long double
|
31pi = 3.14159265358979323846264338327950280e+00L;
| 40pi = 3.14159265358979323846264338327950280e+00L;
|
32
| 41#endif 42
|
33long double 34acosl(long double x) 35{ 36 union IEEEl2bits u; 37 long double z,p,q,r,w,s,c,df; 38 int16_t expsign, expt; 39 u.e = x; 40 expsign = u.xbits.expsign;
--- 37 unchanged lines hidden --- | 43long double 44acosl(long double x) 45{ 46 union IEEEl2bits u; 47 long double z,p,q,r,w,s,c,df; 48 int16_t expsign, expt; 49 u.e = x; 50 expsign = u.xbits.expsign;
--- 37 unchanged lines hidden --- |