Merge pull request #77 from NuxiNL/system-fenv

Make openlibm less dependent on the host, but still add knobs to build against it
This commit is contained in:
Viral B. Shah 2015-01-10 09:37:35 +05:30
commit 89ac4d4c8c
254 changed files with 523 additions and 445 deletions

View File

@ -32,7 +32,7 @@
#ifdef _WIN32
#define __fenv_static
#endif
#include "fenv.h"
#include <openlibm_fenv.h>
#ifdef __GNUC_GNU_INLINE__
#error "This file must be compiled with C99 'inline' semantics"

View File

@ -29,8 +29,10 @@
#ifndef _FENV_H_
#define _FENV_H_
#include "include/cdefs-compat.h"
#include "include/types-compat.h"
#include "cdefs-compat.h"
#include "types-compat.h"
#include "math_private.h"
#ifndef __fenv_static
#define __fenv_static static

View File

@ -27,7 +27,7 @@
*/
#define __fenv_static
#include "fenv.h"
#include <openlibm_fenv.h>
#ifdef __GNUC_GNU_INLINE__
#error "This file must be compiled with C99 'inline' semantics"

View File

@ -32,7 +32,7 @@
#include <i387/bsd_npx.h>
#define __fenv_static
#include "fenv.h"
#include <openlibm_fenv.h>
#ifdef __GNUC_GNU_INLINE__
#error "This file must be compiled with C99 'inline' semantics"

View File

@ -1,9 +0,0 @@
#ifdef __arm__
#include "../arm/fenv.h"
#else
#ifdef __LP64
#include "../amd64/fenv.h"
#else
#include "../i387/fenv.h"
#endif
#endif

View File

@ -24,7 +24,7 @@
* acoshl(NaN) is NaN without signal.
*/
#include <math.h>
#include <openlibm.h>
#include "math_private.h"

View File

@ -28,7 +28,7 @@
*
*/
#include <math.h>
#include <openlibm.h>
#include "math_private.h"

View File

@ -46,7 +46,7 @@
* only coshl(0)=1 is exact for finite x.
*/
#include <math.h>
#include <openlibm.h>
#include "math_private.h"

View File

@ -73,7 +73,7 @@
/* Exponential function */
#include <float.h>
#include <math.h>
#include <openlibm.h>
#include "math_private.h"

View File

@ -16,7 +16,7 @@
* Method: shift and subtract
*/
#include <math.h>
#include <openlibm.h>
#include "math_private.h"

View File

@ -42,7 +42,7 @@
* than 1 ulps (units in the last place)
*/
#include <math.h>
#include <openlibm.h>
#include "math_private.h"

View File

@ -69,7 +69,7 @@
*
*/
#include <math.h>
#include <openlibm.h>
#include "math_private.h"

View File

@ -59,7 +59,7 @@
*
*/
#include <math.h>
#include <openlibm.h>
#include "math_private.h"

View File

@ -58,7 +58,7 @@
*
*/
#include <math.h>
#include <openlibm.h>
#include "math_private.h"

View File

@ -60,7 +60,7 @@
*
*/
#include <math.h>
#include <openlibm.h>
#include "math_private.h"

View File

@ -59,7 +59,7 @@
*
*/
#include <math.h>
#include <openlibm.h>
#include "math_private.h"

View File

@ -23,8 +23,8 @@
*/
#include <float.h>
#include <openlibm.h>
#include "openlibm.h"
#include "math_private.h"
#include "fpmath.h"

View File

@ -44,7 +44,7 @@
* only sinhl(0)=0 is exact for finite x.
*/
#include <math.h>
#include <openlibm.h>
#include "math_private.h"

View File

@ -16,7 +16,7 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#include <math.h>
#include <openlibm.h>
#include "math_private.h"

View File

@ -18,7 +18,8 @@
* ld128 version of k_tan.c. See ../src/k_tan.c for most comments.
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
/*

View File

@ -21,7 +21,7 @@
* := signl(x)*log1pl(|x| + x^2/(1 + sqrtl(1+x^2)))
*/
#include <math.h>
#include <openlibm.h>
#include "math_private.h"

View File

@ -19,7 +19,7 @@
* Inexact flag raised if x not equal to ceil(x).
*/
#include <math.h>
#include <openlibm.h>
#include "math_private.h"

View File

@ -91,7 +91,7 @@
* erfc/erf(NaN) is NaN
*/
#include <math.h>
#include <openlibm.h>
#include "math_private.h"

View File

@ -28,10 +28,10 @@
//__FBSDID("$FreeBSD: src/lib/msun/ld128/s_exp2l.c,v 1.3 2008/02/13 10:44:44 bde Exp $");
#include <float.h>
#include <openlibm.h>
#include <stdint.h>
#include "fpmath.h"
#include "openlibm.h"
#include "math_private.h"
#define TBLBITS 7

View File

@ -54,7 +54,7 @@
*/
#include <errno.h>
#include <math.h>
#include <openlibm.h>
#include "math_private.h"

View File

@ -19,7 +19,7 @@
* Inexact flag raised if x not equal to floor(x).
*/
#include <math.h>
#include <openlibm.h>
#include "math_private.h"

View File

@ -54,7 +54,7 @@
* IEEE -1, 8 100000 1.9e-34 4.3e-35
*/
#include <math.h>
#include <openlibm.h>
#include "math_private.h"

View File

@ -20,7 +20,7 @@
* No exception.
*/
#include <math.h>
#include <openlibm.h>
#include "math_private.h"

View File

@ -26,7 +26,7 @@
* $FreeBSD: src/lib/msun/ld128/s_nanl.c,v 1.3 2008/03/02 20:16:55 das Exp $
*/
#include "openlibm.h"
#include <openlibm.h>
#include "fpmath.h"
#include "math_private.h"

View File

@ -17,7 +17,7 @@
* Special cases:
*/
#include <math.h>
#include <openlibm.h>
#include "math_private.h"

View File

@ -17,8 +17,8 @@
* Special cases:
*/
#include <math.h>
#include <float.h>
#include <openlibm.h>
#include "math_private.h"

View File

@ -10,7 +10,7 @@
* ====================================================
*/
#include <math.h>
#include <openlibm.h>
#include "math_private.h"

View File

@ -14,7 +14,7 @@
#include <machine/ieee.h>
#include <float.h>
#include <math.h>
#include <openlibm.h>
#include <stdint.h>
#include "math_private.h"

View File

@ -50,7 +50,8 @@
* only tanhl(0)=0 is exact for finite argument.
*/
#include "math.h"
#include <openlibm.h>
#include "math_private.h"
static const long double one = 1.0, two = 2.0, tiny = 1.0e-4900L;

View File

@ -24,7 +24,7 @@
#include <machine/ieee.h>
#include <float.h>
#include <math.h>
#include <openlibm.h>
#include <stdint.h>
#include "math_private.h"

View File

@ -31,7 +31,8 @@
* only coshl(0)=1 is exact for finite x.
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static const long double one = 1.0, half=0.5, huge = 1.0e4900L;

View File

@ -23,10 +23,9 @@
*/
#include <float.h>
#include <openlibm.h>
#include "openlibm.h"
#include "math_private.h"
#include "openlibm.h"
#define BIAS (LDBL_MAX_EXP - 1)

View File

@ -18,7 +18,8 @@
* ld80 version of k_tan.c. See ../src/k_tan.c for most comments.
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
/*

View File

@ -32,8 +32,8 @@
#include "amd64/bsd_ieeefp.h"
#include "openlibm.h"
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
#define TBLBITS 7

View File

@ -26,9 +26,8 @@
* $FreeBSD: src/lib/msun/ld80/s_nanl.c,v 1.2 2007/12/18 23:46:31 das Exp $
*/
#include "openlibm.h"
#include <openlibm.h>
#include "openlibm.h"
#include "math_private.h"
DLLEXPORT long double

View File

@ -24,7 +24,7 @@
//#include <machine/ieee.h>
#include <float.h>
#include "openlibm.h"
#include <openlibm.h>
#include <stdint.h>
#include "math_private.h"

View File

@ -39,8 +39,8 @@
*/
#include <float.h>
#include <openlibm.h>
#include "openlibm.h"
#include "math_private.h"
static const double

View File

@ -16,7 +16,8 @@
#include "cdefs-compat.h"
//__FBSDID("$FreeBSD: src/lib/msun/src/e_acosf.c,v 1.11 2008/08/03 17:39:54 das Exp $");
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static const float

View File

@ -29,7 +29,8 @@
* acosh(NaN) is NaN without signal.
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static const double

View File

@ -16,7 +16,8 @@
#include "cdefs-compat.h"
//__FBSDID("$FreeBSD: src/lib/msun/src/e_acoshf.c,v 1.8 2008/02/22 02:30:34 das Exp $");
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static const float

View File

@ -21,9 +21,9 @@
*/
#include <float.h>
#include <openlibm.h>
#include "invtrig.h"
#include "openlibm.h"
#include "math_private.h"
static const long double

View File

@ -45,8 +45,8 @@
*/
#include <float.h>
#include <openlibm.h>
#include "openlibm.h"
#include "math_private.h"
static const double

View File

@ -16,7 +16,8 @@
#include "cdefs-compat.h"
//__FBSDID("$FreeBSD: src/lib/msun/src/e_asinf.c,v 1.13 2008/08/08 00:21:27 das Exp $");
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static const float

View File

@ -21,9 +21,9 @@
*/
#include <float.h>
#include <openlibm.h>
#include "invtrig.h"
#include "openlibm.h"
#include "math_private.h"
static const long double

View File

@ -43,8 +43,8 @@
*/
#include <float.h>
#include <openlibm.h>
#include "openlibm.h"
#include "math_private.h"
static volatile double

View File

@ -16,7 +16,8 @@
#include "cdefs-compat.h"
//__FBSDID("$FreeBSD: src/lib/msun/src/e_atan2f.c,v 1.12 2008/08/03 17:39:54 das Exp $");
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static volatile float

View File

@ -22,9 +22,9 @@
*/
#include <float.h>
#include <openlibm.h>
#include "invtrig.h"
#include "openlibm.h"
#include "math_private.h"
static volatile long double

View File

@ -33,7 +33,8 @@
*
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static const double one = 1.0, huge = 1e300;

View File

@ -16,7 +16,8 @@
#include "cdefs-compat.h"
//__FBSDID("$FreeBSD: src/lib/msun/src/e_atanhf.c,v 1.7 2008/02/22 02:30:34 das Exp $");
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static const float one = 1.0, huge = 1e30;

View File

@ -35,7 +35,8 @@
* only cosh(0)=1 is exact for finite x.
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static const double one = 1.0, half=0.5, huge = 1.0e300;

View File

@ -16,7 +16,8 @@
#include "cdefs-compat.h"
//__FBSDID("$FreeBSD: src/lib/msun/src/e_coshf.c,v 1.9 2011/10/21 06:28:47 das Exp $");
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static const float one = 1.0, half=0.5, huge = 1.0e30;

View File

@ -77,8 +77,8 @@
*/
#include <float.h>
#include <openlibm.h>
#include "openlibm.h"
#include "math_private.h"
static const double

View File

@ -17,8 +17,8 @@
//__FBSDID("$FreeBSD: src/lib/msun/src/e_expf.c,v 1.16 2011/10/21 06:26:38 das Exp $");
#include <float.h>
#include <openlibm.h>
#include "openlibm.h"
#include "math_private.h"
static const float

View File

@ -20,7 +20,8 @@
* Method: shift and subtract
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static const double one = 1.0, Zero[] = {0.0, -0.0,};

View File

@ -22,7 +22,8 @@
* Method: shift and subtract
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static const float one = 1.0, Zero[] = {0.0, -0.0,};

View File

@ -14,10 +14,11 @@
//__FBSDID("$FreeBSD: src/lib/msun/src/e_fmodl.c,v 1.2 2008/07/31 20:09:47 das Exp $");
#include <float.h>
#include <openlibm.h>
#include <stdint.h>
#include "fpmath.h"
#include "openlibm.h"
#include "math_private.h"
#define BIAS (LDBL_MAX_EXP - 1)

View File

@ -21,7 +21,8 @@
* Method: call __ieee754_gamma_r
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
extern int signgam;

View File

@ -22,7 +22,8 @@
* Method: See __ieee754_lgamma_r
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
DLLEXPORT double

View File

@ -22,7 +22,8 @@
* Method: call __ieee754_gammaf_r
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
extern int signgam;

View File

@ -23,7 +23,8 @@
* Method: See __ieee754_lgammaf_r
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
DLLEXPORT float

View File

@ -47,8 +47,8 @@
*/
#include <float.h>
#include <openlibm.h>
#include "openlibm.h"
#include "math_private.h"
DLLEXPORT double

View File

@ -16,7 +16,8 @@
#include "cdefs-compat.h"
//__FBSDID("$FreeBSD: src/lib/msun/src/e_hypotf.c,v 1.14 2011/10/15 07:00:28 das Exp $");
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
DLLEXPORT float

View File

@ -16,9 +16,9 @@
/* long double version of hypot(). See e_hypot.c for most comments. */
#include <float.h>
#include <openlibm.h>
#include "fpmath.h"
#include "openlibm.h"
#include "math_private.h"
#define GET_LDBL_MAN(h, l, v) do { \

View File

@ -61,7 +61,8 @@
* 3. Special cases: y0(0)=-inf, y0(x<0)=NaN, y0(inf)=0.
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static double pzero(double), qzero(double);

View File

@ -18,7 +18,8 @@
#include "cdefs-compat.h"
//__FBSDID("$FreeBSD: src/lib/msun/src/e_j0f.c,v 1.8 2008/02/22 02:30:35 das Exp $");
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static float pzerof(float), qzerof(float);

View File

@ -61,7 +61,8 @@
* by method mentioned above.
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static double pone(double), qone(double);

View File

@ -18,7 +18,8 @@
#include "cdefs-compat.h"
//__FBSDID("$FreeBSD: src/lib/msun/src/e_j1f.c,v 1.8 2008/02/22 02:30:35 das Exp $");
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static float ponef(float), qonef(float);

View File

@ -40,7 +40,8 @@
*
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static const double

View File

@ -16,7 +16,8 @@
#include "cdefs-compat.h"
//__FBSDID("$FreeBSD: src/lib/msun/src/e_jnf.c,v 1.11 2010/11/13 10:54:10 uqs Exp $");
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static const float

View File

@ -21,7 +21,8 @@
* Method: call __ieee754_lgamma_r
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
extern int signgam;

View File

@ -83,7 +83,8 @@
*
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static const double

View File

@ -22,7 +22,8 @@
* Method: call __ieee754_lgammaf_r
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
extern int signgam;

View File

@ -16,7 +16,8 @@
#include "cdefs-compat.h"
//__FBSDID("$FreeBSD: src/lib/msun/src/e_lgammaf_r.c,v 1.12 2011/10/15 07:00:28 das Exp $");
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static const float

View File

@ -1,5 +1,7 @@
#include "cdefs-compat.h"
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
extern int signgam;

View File

@ -65,7 +65,8 @@
* to produce the hexadecimal values shown.
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static const double

View File

@ -22,7 +22,8 @@
* in not-quite-routine extra precision.
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
#include "k_log.h"

View File

@ -16,7 +16,8 @@
* Float version of e_log10.c. See the latter for most comments.
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
#include "k_logf.h"

View File

@ -24,7 +24,8 @@
* in not-quite-routine extra precision.
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
#include "k_log.h"

View File

@ -16,7 +16,8 @@
* Float version of e_log2.c. See the latter for most comments.
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
#include "k_logf.h"

View File

@ -16,7 +16,8 @@
#include "cdefs-compat.h"
//__FBSDID("$FreeBSD: src/lib/msun/src/e_logf.c,v 1.11 2008/03/29 16:37:59 das Exp $");
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static const float

View File

@ -57,7 +57,8 @@
* to produce the hexadecimal values shown.
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static const double

View File

@ -16,7 +16,8 @@
#include "cdefs-compat.h"
//__FBSDID("$FreeBSD: src/lib/msun/src/e_powf.c,v 1.16 2011/10/21 06:26:07 das Exp $");
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static const float

View File

@ -23,8 +23,8 @@
*/
#include <float.h>
#include <openlibm.h>
#include "openlibm.h"
#include "math_private.h"
/*

View File

@ -25,8 +25,8 @@
*/
#include <float.h>
#include <openlibm.h>
#include "openlibm.h"
#include "math_private.h"
/*

View File

@ -24,8 +24,8 @@
*/
#include <float.h>
#include <openlibm.h>
#include "openlibm.h"
#include "math_private.h"
static const double zero = 0.0;

View File

@ -16,7 +16,8 @@
#include "cdefs-compat.h"
//__FBSDID("$FreeBSD: src/lib/msun/src/e_remainderf.c,v 1.8 2008/02/12 17:11:36 bde Exp $");
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static const float zero = 0.0;

View File

@ -20,7 +20,8 @@
* should use scalbn() instead.
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
#ifdef _SCALB_INT

View File

@ -16,7 +16,8 @@
#include "cdefs-compat.h"
//__FBSDID("$FreeBSD: src/lib/msun/src/e_scalbf.c,v 1.13 2008/02/22 02:30:35 das Exp $");
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
#ifdef _SCALB_INT

View File

@ -32,7 +32,8 @@
* only sinh(0)=0 is exact for finite x.
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static const double one = 1.0, shuge = 1.0e307;

View File

@ -16,7 +16,8 @@
#include "cdefs-compat.h"
//__FBSDID("$FreeBSD: src/lib/msun/src/e_sinhf.c,v 1.10 2011/10/21 06:28:47 das Exp $");
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static const float one = 1.0, shuge = 1.0e37;

View File

@ -85,8 +85,8 @@
*/
#include <float.h>
#include <openlibm.h>
#include "openlibm.h"
#include "math_private.h"
static const double one = 1.0, tiny=1.0e-300;

View File

@ -13,7 +13,8 @@
* ====================================================
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static const float one = 1.0, tiny=1.0e-30;

View File

@ -27,11 +27,11 @@
#include "cdefs-compat.h"
//__FBSDID("$FreeBSD: src/lib/msun/src/e_sqrtl.c,v 1.1 2008/03/02 01:47:58 das Exp $");
#include <fenv.h>
#include <float.h>
#include <openlibm.h>
#include <openlibm_fenv.h>
#include "fpmath.h"
#include "openlibm.h"
#include "math_private.h"
/* Return (x + ulp) for normal positive x. Assumes no overflow. */

View File

@ -53,7 +53,8 @@
* any extra precision in w.
*/
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
static const double

View File

@ -19,7 +19,8 @@
//__FBSDID("$FreeBSD: src/lib/msun/src/k_cosf.c,v 1.18 2009/06/03 08:16:34 ed Exp $");
#endif
#include "openlibm.h"
#include <openlibm.h>
#include "math_private.h"
/* |cos(x) - c(x)| < 2**-34.1 (~[-5.37e-11, 5.295e-11]). */

Some files were not shown because too many files have changed in this diff Show More