/* CYGNUS LOCAL: Include files. */
#include "ieeefp.h"
+#include "mprec.h"
+
/* CYGNUS LOCAL: Default to XOPEN_MODE. */
#define _XOPEN_MODE
#define __P(p) ()
#endif
+#ifndef HUGE
#define HUGE ((float)3.40282346638528860e+38)
+#endif
/*
* set X_TLOSS = pi*2**52, which is possibly defined in <values.h>
/* These typedefs are true for the targets running Java. */
-#ifndef HAVE_INT32_DEFINED
-typedef int __int32_t;
-typedef unsigned int __uint32_t;
-#endif
-
#define _IEEE_LIBM
/*
extern double __ieee754_jn __P((int,double));
extern double __ieee754_yn __P((int,double));
extern double __ieee754_remainder __P((double,double));
-extern __int32_t __ieee754_rem_pio2 __P((double,double*));
+extern int32_t __ieee754_rem_pio2 __P((double,double*));
#ifdef _SCALB_INT
extern double __ieee754_scalb __P((double,int));
#else
extern double __kernel_sin __P((double,double,int));
extern double __kernel_cos __P((double,double));
extern double __kernel_tan __P((double,double,int));
-extern int __kernel_rem_pio2 __P((double*,double*,int,int,int,const __int32_t*));
+extern int __kernel_rem_pio2 __P((double*,double*,int,int,int,const int32_t*));
/* Undocumented float functions. */
extern float logbf __P((float));
extern float __ieee754_jnf __P((int,float));
extern float __ieee754_ynf __P((int,float));
extern float __ieee754_remainderf __P((float,float));
-extern __int32_t __ieee754_rem_pio2f __P((float,float*));
+extern int32_t __ieee754_rem_pio2f __P((float,float*));
#ifdef _SCALB_INT
extern float __ieee754_scalbf __P((float,int));
#else
extern float __kernel_sinf __P((float,float,int));
extern float __kernel_cosf __P((float,float));
extern float __kernel_tanf __P((float,float,int));
-extern int __kernel_rem_pio2f __P((float*,float*,int,int,int,const __int32_t*));
+extern int __kernel_rem_pio2f __P((float*,float*,int,int,int,const int32_t*));
/* The original code used statements like
n0 = ((*(int*)&one)>>29)^1; * index of high word *
double value;
struct
{
- __uint32_t msw;
- __uint32_t lsw;
+ uint32_t msw;
+ uint32_t lsw;
} parts;
} ieee_double_shape_type;
double value;
struct
{
- __uint32_t lsw;
- __uint32_t msw;
+ uint32_t lsw;
+ uint32_t msw;
} parts;
} ieee_double_shape_type;
typedef union
{
float value;
- __uint32_t word;
+ uint32_t word;
} ieee_float_shape_type;
/* Get a 32 bit int from a float. */