OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [newlib-1.18.0/] [newlib-1.18.0-or32-1.0rc1/] [newlib/] [libc/] [sys/] [linux/] [cmath/] [math_private.h] - Diff between revs 207 and 345

Only display areas with differences | Details | Blame | View Log

Rev 207 Rev 345
/*
/*
 * ====================================================
 * ====================================================
 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
 *
 *
 * Developed at SunPro, a Sun Microsystems, Inc. business.
 * Developed at SunPro, a Sun Microsystems, Inc. business.
 * Permission to use, copy, modify, and distribute this
 * Permission to use, copy, modify, and distribute this
 * software is freely granted, provided that this notice
 * software is freely granted, provided that this notice
 * is preserved.
 * is preserved.
 * ====================================================
 * ====================================================
 */
 */
 
 
/*
/*
 * from: @(#)fdlibm.h 5.1 93/09/24
 * from: @(#)fdlibm.h 5.1 93/09/24
 * $Id: math_private.h 207 2010-07-19 17:43:24Z jeremybennett $
 * $Id: math_private.h 207 2010-07-19 17:43:24Z jeremybennett $
 */
 */
 
 
#ifndef _MATH_PRIVATE_H_
#ifndef _MATH_PRIVATE_H_
#define _MATH_PRIVATE_H_
#define _MATH_PRIVATE_H_
 
 
#include <endian.h>
#include <endian.h>
#include <sys/types.h>
#include <sys/types.h>
#include <machine/weakalias.h>
#include <machine/weakalias.h>
#include <machine/huge_val.h>
#include <machine/huge_val.h>
 
 
#define INFINITY HUGE_VALF
#define INFINITY HUGE_VALF
 
 
#define __nan nan
#define __nan nan
#define __isnan isnan
#define __isnan isnan
#define __isinf isinf
#define __isinf isinf
#define __copysignf copysignf
#define __copysignf copysignf
#define __copysign copysign
#define __copysign copysign
#define __isnanf isnanf
#define __isnanf isnanf
#define __isinff isinff
#define __isinff isinff
#define __nanf nanf
#define __nanf nanf
#define feraiseexcept(x) /* nothing */
#define feraiseexcept(x) /* nothing */
#define __sincos sincos
#define __sincos sincos
#define __sincosf sincosf
#define __sincosf sincosf
 
 
int __signbitd (double x);
int __signbitd (double x);
int __signbitf (float x);
int __signbitf (float x);
 
 
/* The original fdlibm code used statements like:
/* The original fdlibm code used statements like:
        n0 = ((*(int*)&one)>>29)^1;             * index of high word *
        n0 = ((*(int*)&one)>>29)^1;             * index of high word *
        ix0 = *(n0+(int*)&x);                   * high word of x *
        ix0 = *(n0+(int*)&x);                   * high word of x *
        ix1 = *((1-n0)+(int*)&x);               * low word of x *
        ix1 = *((1-n0)+(int*)&x);               * low word of x *
   to dig two 32 bit words out of the 64 bit IEEE floating point
   to dig two 32 bit words out of the 64 bit IEEE floating point
   value.  That is non-ANSI, and, moreover, the gcc instruction
   value.  That is non-ANSI, and, moreover, the gcc instruction
   scheduler gets it wrong.  We instead use the following macros.
   scheduler gets it wrong.  We instead use the following macros.
   Unlike the original code, we determine the endianness at compile
   Unlike the original code, we determine the endianness at compile
   time, not at run time; I don't see much benefit to selecting
   time, not at run time; I don't see much benefit to selecting
   endianness at run time.  */
   endianness at run time.  */
 
 
/* A union which permits us to convert between a double and two 32 bit
/* A union which permits us to convert between a double and two 32 bit
   ints.  */
   ints.  */
 
 
#if __FLOAT_WORD_ORDER == BIG_ENDIAN
#if __FLOAT_WORD_ORDER == BIG_ENDIAN
 
 
typedef union
typedef union
{
{
  double value;
  double value;
  struct
  struct
  {
  {
    u_int32_t msw;
    u_int32_t msw;
    u_int32_t lsw;
    u_int32_t lsw;
  } parts;
  } parts;
} ieee_double_shape_type;
} ieee_double_shape_type;
 
 
#endif
#endif
 
 
#if __FLOAT_WORD_ORDER == LITTLE_ENDIAN
#if __FLOAT_WORD_ORDER == LITTLE_ENDIAN
 
 
typedef union
typedef union
{
{
  double value;
  double value;
  struct
  struct
  {
  {
    u_int32_t lsw;
    u_int32_t lsw;
    u_int32_t msw;
    u_int32_t msw;
  } parts;
  } parts;
} ieee_double_shape_type;
} ieee_double_shape_type;
 
 
#endif
#endif
 
 
/* Get two 32 bit ints from a double.  */
/* Get two 32 bit ints from a double.  */
 
 
#define EXTRACT_WORDS(ix0,ix1,d)                                \
#define EXTRACT_WORDS(ix0,ix1,d)                                \
do {                                                            \
do {                                                            \
  ieee_double_shape_type ew_u;                                  \
  ieee_double_shape_type ew_u;                                  \
  ew_u.value = (d);                                             \
  ew_u.value = (d);                                             \
  (ix0) = ew_u.parts.msw;                                       \
  (ix0) = ew_u.parts.msw;                                       \
  (ix1) = ew_u.parts.lsw;                                       \
  (ix1) = ew_u.parts.lsw;                                       \
} while (0)
} while (0)
 
 
/* Get the more significant 32 bit int from a double.  */
/* Get the more significant 32 bit int from a double.  */
 
 
#define GET_HIGH_WORD(i,d)                                      \
#define GET_HIGH_WORD(i,d)                                      \
do {                                                            \
do {                                                            \
  ieee_double_shape_type gh_u;                                  \
  ieee_double_shape_type gh_u;                                  \
  gh_u.value = (d);                                             \
  gh_u.value = (d);                                             \
  (i) = gh_u.parts.msw;                                         \
  (i) = gh_u.parts.msw;                                         \
} while (0)
} while (0)
 
 
/* Get the less significant 32 bit int from a double.  */
/* Get the less significant 32 bit int from a double.  */
 
 
#define GET_LOW_WORD(i,d)                                       \
#define GET_LOW_WORD(i,d)                                       \
do {                                                            \
do {                                                            \
  ieee_double_shape_type gl_u;                                  \
  ieee_double_shape_type gl_u;                                  \
  gl_u.value = (d);                                             \
  gl_u.value = (d);                                             \
  (i) = gl_u.parts.lsw;                                         \
  (i) = gl_u.parts.lsw;                                         \
} while (0)
} while (0)
 
 
/* Set a double from two 32 bit ints.  */
/* Set a double from two 32 bit ints.  */
 
 
#define INSERT_WORDS(d,ix0,ix1)                                 \
#define INSERT_WORDS(d,ix0,ix1)                                 \
do {                                                            \
do {                                                            \
  ieee_double_shape_type iw_u;                                  \
  ieee_double_shape_type iw_u;                                  \
  iw_u.parts.msw = (ix0);                                       \
  iw_u.parts.msw = (ix0);                                       \
  iw_u.parts.lsw = (ix1);                                       \
  iw_u.parts.lsw = (ix1);                                       \
  (d) = iw_u.value;                                             \
  (d) = iw_u.value;                                             \
} while (0)
} while (0)
 
 
/* Set the more significant 32 bits of a double from an int.  */
/* Set the more significant 32 bits of a double from an int.  */
 
 
#define SET_HIGH_WORD(d,v)                                      \
#define SET_HIGH_WORD(d,v)                                      \
do {                                                            \
do {                                                            \
  ieee_double_shape_type sh_u;                                  \
  ieee_double_shape_type sh_u;                                  \
  sh_u.value = (d);                                             \
  sh_u.value = (d);                                             \
  sh_u.parts.msw = (v);                                         \
  sh_u.parts.msw = (v);                                         \
  (d) = sh_u.value;                                             \
  (d) = sh_u.value;                                             \
} while (0)
} while (0)
 
 
/* Set the less significant 32 bits of a double from an int.  */
/* Set the less significant 32 bits of a double from an int.  */
 
 
#define SET_LOW_WORD(d,v)                                       \
#define SET_LOW_WORD(d,v)                                       \
do {                                                            \
do {                                                            \
  ieee_double_shape_type sl_u;                                  \
  ieee_double_shape_type sl_u;                                  \
  sl_u.value = (d);                                             \
  sl_u.value = (d);                                             \
  sl_u.parts.lsw = (v);                                         \
  sl_u.parts.lsw = (v);                                         \
  (d) = sl_u.value;                                             \
  (d) = sl_u.value;                                             \
} while (0)
} while (0)
 
 
/* A union which permits us to convert between a float and a 32 bit
/* A union which permits us to convert between a float and a 32 bit
   int.  */
   int.  */
 
 
typedef union
typedef union
{
{
  float value;
  float value;
  u_int32_t word;
  u_int32_t word;
} ieee_float_shape_type;
} ieee_float_shape_type;
 
 
/* Get a 32 bit int from a float.  */
/* Get a 32 bit int from a float.  */
 
 
#define GET_FLOAT_WORD(i,d)                                     \
#define GET_FLOAT_WORD(i,d)                                     \
do {                                                            \
do {                                                            \
  ieee_float_shape_type gf_u;                                   \
  ieee_float_shape_type gf_u;                                   \
  gf_u.value = (d);                                             \
  gf_u.value = (d);                                             \
  (i) = gf_u.word;                                              \
  (i) = gf_u.word;                                              \
} while (0)
} while (0)
 
 
/* Set a float from a 32 bit int.  */
/* Set a float from a 32 bit int.  */
 
 
#define SET_FLOAT_WORD(d,i)                                     \
#define SET_FLOAT_WORD(d,i)                                     \
do {                                                            \
do {                                                            \
  ieee_float_shape_type sf_u;                                   \
  ieee_float_shape_type sf_u;                                   \
  sf_u.word = (i);                                              \
  sf_u.word = (i);                                              \
  (d) = sf_u.value;                                             \
  (d) = sf_u.value;                                             \
} while (0)
} while (0)
 
 
#if 0
#if 0
/* ieee style elementary functions */
/* ieee style elementary functions */
extern double __ieee754_sqrt (double);
extern double __ieee754_sqrt (double);
extern double __ieee754_acos (double);
extern double __ieee754_acos (double);
extern double __ieee754_acosh (double);
extern double __ieee754_acosh (double);
extern double __ieee754_log (double);
extern double __ieee754_log (double);
extern double __ieee754_atanh (double);
extern double __ieee754_atanh (double);
extern double __ieee754_asin (double);
extern double __ieee754_asin (double);
extern double __ieee754_atan2 (double,double);
extern double __ieee754_atan2 (double,double);
extern double __ieee754_exp (double);
extern double __ieee754_exp (double);
extern double __ieee754_exp2 (double);
extern double __ieee754_exp2 (double);
extern double __ieee754_exp10 (double);
extern double __ieee754_exp10 (double);
extern double __ieee754_cosh (double);
extern double __ieee754_cosh (double);
extern double __ieee754_fmod (double,double);
extern double __ieee754_fmod (double,double);
extern double __ieee754_pow (double,double);
extern double __ieee754_pow (double,double);
extern double __ieee754_lgamma_r (double,int *);
extern double __ieee754_lgamma_r (double,int *);
extern double __ieee754_gamma_r (double,int *);
extern double __ieee754_gamma_r (double,int *);
extern double __ieee754_lgamma (double);
extern double __ieee754_lgamma (double);
extern double __ieee754_gamma (double);
extern double __ieee754_gamma (double);
extern double __ieee754_log10 (double);
extern double __ieee754_log10 (double);
extern double __ieee754_log2 (double);
extern double __ieee754_log2 (double);
extern double __ieee754_sinh (double);
extern double __ieee754_sinh (double);
extern double __ieee754_hypot (double,double);
extern double __ieee754_hypot (double,double);
extern double __ieee754_j0 (double);
extern double __ieee754_j0 (double);
extern double __ieee754_j1 (double);
extern double __ieee754_j1 (double);
extern double __ieee754_y0 (double);
extern double __ieee754_y0 (double);
extern double __ieee754_y1 (double);
extern double __ieee754_y1 (double);
extern double __ieee754_jn (int,double);
extern double __ieee754_jn (int,double);
extern double __ieee754_yn (int,double);
extern double __ieee754_yn (int,double);
extern double __ieee754_remainder (double,double);
extern double __ieee754_remainder (double,double);
extern int32_t __ieee754_rem_pio2 (double,double*);
extern int32_t __ieee754_rem_pio2 (double,double*);
extern double __ieee754_scalb (double,double);
extern double __ieee754_scalb (double,double);
#endif
#endif
 
 
/* This is necessary because the hardware accelerated version of libm
/* This is necessary because the hardware accelerated version of libm
   does not provide the __ieee754 functions. */
   does not provide the __ieee754 functions. */
#define __ieee754_sinh   sinh
#define __ieee754_sinh   sinh
#define __ieee754_hypot  hypot
#define __ieee754_hypot  hypot
#define __ieee754_hypotf hypotf
#define __ieee754_hypotf hypotf
#define __ieee754_logf   logf
#define __ieee754_logf   logf
#define __ieee754_log10  log10
#define __ieee754_log10  log10
#define __ieee754_exp    exp
#define __ieee754_exp    exp
#define __ieee754_cosh   cosh
#define __ieee754_cosh   cosh
#define __ieee754_expf   expf
#define __ieee754_expf   expf
#define __ieee754_log10f log10f
#define __ieee754_log10f log10f
#define __ieee754_atan2  atan2
#define __ieee754_atan2  atan2
#define __ieee754_sqrtf  sqrtf
#define __ieee754_sqrtf  sqrtf
#define __ieee754_sinhf  sinhf
#define __ieee754_sinhf  sinhf
#define __ieee754_log    log
#define __ieee754_log    log
#define __ieee754_sqrt   sqrt
#define __ieee754_sqrt   sqrt
#define __ieee754_coshf  coshf
#define __ieee754_coshf  coshf
#define __ieee754_atan2f atan2f
#define __ieee754_atan2f atan2f
 
 
/* fdlibm kernel function */
/* fdlibm kernel function */
extern double __kernel_standard (double,double,int);
extern double __kernel_standard (double,double,int);
extern double __kernel_sin (double,double,int);
extern double __kernel_sin (double,double,int);
extern double __kernel_cos (double,double);
extern double __kernel_cos (double,double);
extern double __kernel_tan (double,double,int);
extern double __kernel_tan (double,double,int);
extern int    __kernel_rem_pio2 (double*,double*,int,int,int, const int32_t*);
extern int    __kernel_rem_pio2 (double*,double*,int,int,int, const int32_t*);
 
 
/* internal functions.  */
/* internal functions.  */
extern double __copysign (double x, double __y);
extern double __copysign (double x, double __y);
 
 
 
 
/* ieee style elementary float functions */
/* ieee style elementary float functions */
extern float __ieee754_sqrtf (float);
extern float __ieee754_sqrtf (float);
extern float __ieee754_acosf (float);
extern float __ieee754_acosf (float);
extern float __ieee754_acoshf (float);
extern float __ieee754_acoshf (float);
extern float __ieee754_logf (float);
extern float __ieee754_logf (float);
extern float __ieee754_atanhf (float);
extern float __ieee754_atanhf (float);
extern float __ieee754_asinf (float);
extern float __ieee754_asinf (float);
extern float __ieee754_atan2f (float,float);
extern float __ieee754_atan2f (float,float);
extern float __ieee754_expf (float);
extern float __ieee754_expf (float);
extern float __ieee754_exp2f (float);
extern float __ieee754_exp2f (float);
extern float __ieee754_exp10f (float);
extern float __ieee754_exp10f (float);
extern float __ieee754_coshf (float);
extern float __ieee754_coshf (float);
extern float __ieee754_fmodf (float,float);
extern float __ieee754_fmodf (float,float);
extern float __ieee754_powf (float,float);
extern float __ieee754_powf (float,float);
extern float __ieee754_lgammaf_r (float,int *);
extern float __ieee754_lgammaf_r (float,int *);
extern float __ieee754_gammaf_r (float,int *);
extern float __ieee754_gammaf_r (float,int *);
extern float __ieee754_lgammaf (float);
extern float __ieee754_lgammaf (float);
extern float __ieee754_gammaf (float);
extern float __ieee754_gammaf (float);
extern float __ieee754_log10f (float);
extern float __ieee754_log10f (float);
extern float __ieee754_log2f (float);
extern float __ieee754_log2f (float);
extern float __ieee754_sinhf (float);
extern float __ieee754_sinhf (float);
extern float __ieee754_hypotf (float,float);
extern float __ieee754_hypotf (float,float);
extern float __ieee754_j0f (float);
extern float __ieee754_j0f (float);
extern float __ieee754_j1f (float);
extern float __ieee754_j1f (float);
extern float __ieee754_y0f (float);
extern float __ieee754_y0f (float);
extern float __ieee754_y1f (float);
extern float __ieee754_y1f (float);
extern float __ieee754_jnf (int,float);
extern float __ieee754_jnf (int,float);
extern float __ieee754_ynf (int,float);
extern float __ieee754_ynf (int,float);
extern float __ieee754_remainderf (float,float);
extern float __ieee754_remainderf (float,float);
extern int32_t __ieee754_rem_pio2f (float,float*);
extern int32_t __ieee754_rem_pio2f (float,float*);
extern float __ieee754_scalbf (float,float);
extern float __ieee754_scalbf (float,float);
 
 
 
 
/* float versions of fdlibm kernel functions */
/* float versions of fdlibm kernel functions */
extern float __kernel_sinf (float,float,int);
extern float __kernel_sinf (float,float,int);
extern float __kernel_cosf (float,float);
extern float __kernel_cosf (float,float);
extern float __kernel_tanf (float,float,int);
extern float __kernel_tanf (float,float,int);
extern int   __kernel_rem_pio2f (float*,float*,int,int,int, const int32_t*);
extern int   __kernel_rem_pio2f (float*,float*,int,int,int, const int32_t*);
 
 
 
 
/* ieee style elementary long double functions */
/* ieee style elementary long double functions */
extern long double __ieee754_sqrtl (long double);
extern long double __ieee754_sqrtl (long double);
extern long double __ieee754_acosl (long double);
extern long double __ieee754_acosl (long double);
extern long double __ieee754_acoshl (long double);
extern long double __ieee754_acoshl (long double);
extern long double __ieee754_logl (long double);
extern long double __ieee754_logl (long double);
extern long double __ieee754_atanhl (long double);
extern long double __ieee754_atanhl (long double);
extern long double __ieee754_asinl (long double);
extern long double __ieee754_asinl (long double);
extern long double __ieee754_atan2l (long double,long double);
extern long double __ieee754_atan2l (long double,long double);
extern long double __ieee754_expl (long double);
extern long double __ieee754_expl (long double);
extern long double __ieee754_exp2l (long double);
extern long double __ieee754_exp2l (long double);
extern long double __ieee754_exp10l (long double);
extern long double __ieee754_exp10l (long double);
extern long double __ieee754_coshl (long double);
extern long double __ieee754_coshl (long double);
extern long double __ieee754_fmodl (long double,long double);
extern long double __ieee754_fmodl (long double,long double);
extern long double __ieee754_powl (long double,long double);
extern long double __ieee754_powl (long double,long double);
extern long double __ieee754_lgammal_r (long double,int *);
extern long double __ieee754_lgammal_r (long double,int *);
extern long double __ieee754_gammal_r (long double,int *);
extern long double __ieee754_gammal_r (long double,int *);
extern long double __ieee754_lgammal (long double);
extern long double __ieee754_lgammal (long double);
extern long double __ieee754_gammal (long double);
extern long double __ieee754_gammal (long double);
extern long double __ieee754_log10l (long double);
extern long double __ieee754_log10l (long double);
extern long double __ieee754_log2l (long double);
extern long double __ieee754_log2l (long double);
extern long double __ieee754_sinhl (long double);
extern long double __ieee754_sinhl (long double);
extern long double __ieee754_hypotl (long double,long double);
extern long double __ieee754_hypotl (long double,long double);
extern long double __ieee754_j0l (long double);
extern long double __ieee754_j0l (long double);
extern long double __ieee754_j1l (long double);
extern long double __ieee754_j1l (long double);
extern long double __ieee754_y0l (long double);
extern long double __ieee754_y0l (long double);
extern long double __ieee754_y1l (long double);
extern long double __ieee754_y1l (long double);
extern long double __ieee754_jnl (int,long double);
extern long double __ieee754_jnl (int,long double);
extern long double __ieee754_ynl (int,long double);
extern long double __ieee754_ynl (int,long double);
extern long double __ieee754_remainderl (long double,long double);
extern long double __ieee754_remainderl (long double,long double);
extern int   __ieee754_rem_pio2l (long double,long double*);
extern int   __ieee754_rem_pio2l (long double,long double*);
extern long double __ieee754_scalbl (long double,long double);
extern long double __ieee754_scalbl (long double,long double);
 
 
/* long double versions of fdlibm kernel functions */
/* long double versions of fdlibm kernel functions */
extern long double __kernel_sinl (long double,long double,int);
extern long double __kernel_sinl (long double,long double,int);
extern long double __kernel_cosl (long double,long double);
extern long double __kernel_cosl (long double,long double);
extern long double __kernel_tanl (long double,long double,int);
extern long double __kernel_tanl (long double,long double,int);
extern void __kernel_sincosl (long double,long double,
extern void __kernel_sincosl (long double,long double,
                              long double *,long double *, int);
                              long double *,long double *, int);
extern int   __kernel_rem_pio2l (long double*,long double*,int,int,
extern int   __kernel_rem_pio2l (long double*,long double*,int,int,
                                 int,const int*);
                                 int,const int*);
 
 
#ifndef NO_LONG_DOUBLE
#ifndef NO_LONG_DOUBLE
/* prototypes required to compile the ldbl-96 support without warnings */
/* prototypes required to compile the ldbl-96 support without warnings */
extern int __finitel (long double);
extern int __finitel (long double);
extern int __ilogbl (long double);
extern int __ilogbl (long double);
extern int __isinfl (long double);
extern int __isinfl (long double);
extern int __isnanl (long double);
extern int __isnanl (long double);
extern long double __atanl (long double);
extern long double __atanl (long double);
extern long double __copysignl (long double, long double);
extern long double __copysignl (long double, long double);
extern long double __expm1l (long double);
extern long double __expm1l (long double);
extern long double __floorl (long double);
extern long double __floorl (long double);
extern long double __frexpl (long double, int *);
extern long double __frexpl (long double, int *);
extern long double __ldexpl (long double, int);
extern long double __ldexpl (long double, int);
extern long double __log1pl (long double);
extern long double __log1pl (long double);
extern long double __nanl (const char *);
extern long double __nanl (const char *);
extern long double __rintl (long double);
extern long double __rintl (long double);
extern long double __scalbnl (long double, int);
extern long double __scalbnl (long double, int);
extern long double __sqrtl (long double x);
extern long double __sqrtl (long double x);
extern long double fabsl (long double x);
extern long double fabsl (long double x);
extern void __sincosl (long double, long double *, long double *);
extern void __sincosl (long double, long double *, long double *);
extern long double __logbl (long double x);
extern long double __logbl (long double x);
extern long double __significandl (long double x);
extern long double __significandl (long double x);
#endif
#endif
 
 
/* Prototypes for functions of the IBM Accurate Mathematical Library.  */
/* Prototypes for functions of the IBM Accurate Mathematical Library.  */
extern double __exp1 (double __x, double __xx, double __error);
extern double __exp1 (double __x, double __xx, double __error);
extern double __sin (double __x);
extern double __sin (double __x);
extern double __cos (double __x);
extern double __cos (double __x);
extern int __branred (double __x, double *__a, double *__aa);
extern int __branred (double __x, double *__a, double *__aa);
extern void __doasin (double __x, double __dx, double __v[]);
extern void __doasin (double __x, double __dx, double __v[]);
extern void __dubsin (double __x, double __dx, double __v[]);
extern void __dubsin (double __x, double __dx, double __v[]);
extern void __dubcos (double __x, double __dx, double __v[]);
extern void __dubcos (double __x, double __dx, double __v[]);
extern double __halfulp (double __x, double __y);
extern double __halfulp (double __x, double __y);
extern double __sin32 (double __x, double __res, double __res1);
extern double __sin32 (double __x, double __res, double __res1);
extern double __cos32 (double __x, double __res, double __res1);
extern double __cos32 (double __x, double __res, double __res1);
extern double __mpsin (double __x, double __dx);
extern double __mpsin (double __x, double __dx);
extern double __mpcos (double __x, double __dx);
extern double __mpcos (double __x, double __dx);
extern double __mpsin1 (double __x);
extern double __mpsin1 (double __x);
extern double __mpcos1 (double __x);
extern double __mpcos1 (double __x);
extern double __slowexp (double __x);
extern double __slowexp (double __x);
extern double __slowpow (double __x, double __y, double __z);
extern double __slowpow (double __x, double __y, double __z);
extern void __docos (double __x, double __dx, double __v[]);
extern void __docos (double __x, double __dx, double __v[]);
 
 
#endif /* _MATH_PRIVATE_H_ */
#endif /* _MATH_PRIVATE_H_ */
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.