numpy 2.0.0
include/numpy/npy_math.h File Reference
#include <math.h>
#include <numpy/npy_common.h>

Go to the source code of this file.

Defines

#define NPY_INFINITYF   __npy_inff()
#define NPY_NANF   __npy_nanf()
#define NPY_PZEROF   __npy_pzerof()
#define NPY_NZEROF   __npy_nzerof()
#define NPY_INFINITY   ((npy_double)NPY_INFINITYF)
#define NPY_NAN   ((npy_double)NPY_NANF)
#define NPY_PZERO   ((npy_double)NPY_PZEROF)
#define NPY_NZERO   ((npy_double)NPY_NZEROF)
#define NPY_INFINITYL   ((npy_longdouble)NPY_INFINITYF)
#define NPY_NANL   ((npy_longdouble)NPY_NANF)
#define NPY_PZEROL   ((npy_longdouble)NPY_PZEROF)
#define NPY_NZEROL   ((npy_longdouble)NPY_NZEROF)
#define NPY_E   2.718281828459045235360287471352662498
#define NPY_LOG2E   1.442695040888963407359924681001892137
#define NPY_LOG10E   0.434294481903251827651128918916605082
#define NPY_LOGE2   0.693147180559945309417232121458176568
#define NPY_LOGE10   2.302585092994045684017991454684364208
#define NPY_PI   3.141592653589793238462643383279502884
#define NPY_PI_2   1.570796326794896619231321691639751442
#define NPY_PI_4   0.785398163397448309615660845819875721
#define NPY_1_PI   0.318309886183790671537767526745028724
#define NPY_2_PI   0.636619772367581343075535053490057448
#define NPY_EULER   0.577215664901532860606512090082402431
#define NPY_SQRT2   1.414213562373095048801688724209698079
#define NPY_SQRT1_2   0.707106781186547524400844362104849039
#define NPY_Ef   2.718281828459045235360287471352662498F
#define NPY_LOG2Ef   1.442695040888963407359924681001892137F
#define NPY_LOG10Ef   0.434294481903251827651128918916605082F
#define NPY_LOGE2f   0.693147180559945309417232121458176568F
#define NPY_LOGE10f   2.302585092994045684017991454684364208F
#define NPY_PIf   3.141592653589793238462643383279502884F
#define NPY_PI_2f   1.570796326794896619231321691639751442F
#define NPY_PI_4f   0.785398163397448309615660845819875721F
#define NPY_1_PIf   0.318309886183790671537767526745028724F
#define NPY_2_PIf   0.636619772367581343075535053490057448F
#define NPY_EULERf   0.577215664901532860606512090082402431F
#define NPY_SQRT2f   1.414213562373095048801688724209698079F
#define NPY_SQRT1_2f   0.707106781186547524400844362104849039F
#define NPY_El   2.718281828459045235360287471352662498L
#define NPY_LOG2El   1.442695040888963407359924681001892137L
#define NPY_LOG10El   0.434294481903251827651128918916605082L
#define NPY_LOGE2l   0.693147180559945309417232121458176568L
#define NPY_LOGE10l   2.302585092994045684017991454684364208L
#define NPY_PIl   3.141592653589793238462643383279502884L
#define NPY_PI_2l   1.570796326794896619231321691639751442L
#define NPY_PI_4l   0.785398163397448309615660845819875721L
#define NPY_1_PIl   0.318309886183790671537767526745028724L
#define NPY_2_PIl   0.636619772367581343075535053490057448L
#define NPY_EULERl   0.577215664901532860606512090082402431L
#define NPY_SQRT2l   1.414213562373095048801688724209698079L
#define NPY_SQRT1_2l   0.707106781186547524400844362104849039L
#define npy_isnan(x)   ((x) != (x))
#define npy_isfinite(x)   !npy_isnan((x) + (-x))
#define npy_isinf(x)   (!npy_isfinite(x) && !npy_isnan(x))
#define npy_signbit(x)
#define npy_degrees   npy_rad2deg
#define npy_degreesf   npy_rad2degf
#define npy_degreesl   npy_rad2degl
#define npy_radians   npy_deg2rad
#define npy_radiansf   npy_deg2radf
#define npy_radiansl   npy_deg2radl
#define __NPY_CPACK_IMP(x, y, type, ctype)
#define __NPY_CEXTRACT_IMP(z, index, type, ctype)

Functions

static NPY_INLINE float __npy_inff (void)
static NPY_INLINE float __npy_nanf (void)
static NPY_INLINE float __npy_pzerof (void)
static NPY_INLINE float __npy_nzerof (void)
double npy_sin (double x)
double npy_cos (double x)
double npy_tan (double x)
double npy_sinh (double x)
double npy_cosh (double x)
double npy_tanh (double x)
double npy_asin (double x)
double npy_acos (double x)
double npy_atan (double x)
double npy_aexp (double x)
double npy_alog (double x)
double npy_asqrt (double x)
double npy_afabs (double x)
double npy_log (double x)
double npy_log10 (double x)
double npy_exp (double x)
double npy_sqrt (double x)
double npy_fabs (double x)
double npy_ceil (double x)
double npy_fmod (double x, double y)
double npy_floor (double x)
double npy_expm1 (double x)
double npy_log1p (double x)
double npy_hypot (double x, double y)
double npy_acosh (double x)
double npy_asinh (double xx)
double npy_atanh (double x)
double npy_rint (double x)
double npy_trunc (double x)
double npy_exp2 (double x)
double npy_log2 (double x)
double npy_atan2 (double x, double y)
double npy_pow (double x, double y)
double npy_modf (double x, double *y)
double npy_copysign (double x, double y)
double npy_nextafter (double x, double y)
double npy_spacing (double x)
int _npy_signbit_f (float x)
int _npy_signbit_d (double x)
int _npy_signbit_ld (long double x)
float npy_sinf (float x)
float npy_cosf (float x)
float npy_tanf (float x)
float npy_sinhf (float x)
float npy_coshf (float x)
float npy_tanhf (float x)
float npy_fabsf (float x)
float npy_floorf (float x)
float npy_ceilf (float x)
float npy_rintf (float x)
float npy_truncf (float x)
float npy_sqrtf (float x)
float npy_log10f (float x)
float npy_logf (float x)
float npy_expf (float x)
float npy_expm1f (float x)
float npy_asinf (float x)
float npy_acosf (float x)
float npy_atanf (float x)
float npy_asinhf (float x)
float npy_acoshf (float x)
float npy_atanhf (float x)
float npy_log1pf (float x)
float npy_exp2f (float x)
float npy_log2f (float x)
float npy_atan2f (float x, float y)
float npy_hypotf (float x, float y)
float npy_powf (float x, float y)
float npy_fmodf (float x, float y)
float npy_modff (float x, float *y)
float npy_copysignf (float x, float y)
float npy_nextafterf (float x, float y)
float npy_spacingf (float x)
npy_longdouble npy_sinl (npy_longdouble x)
npy_longdouble npy_cosl (npy_longdouble x)
npy_longdouble npy_tanl (npy_longdouble x)
npy_longdouble npy_sinhl (npy_longdouble x)
npy_longdouble npy_coshl (npy_longdouble x)
npy_longdouble npy_tanhl (npy_longdouble x)
npy_longdouble npy_fabsl (npy_longdouble x)
npy_longdouble npy_floorl (npy_longdouble x)
npy_longdouble npy_ceill (npy_longdouble x)
npy_longdouble npy_rintl (npy_longdouble x)
npy_longdouble npy_truncl (npy_longdouble x)
npy_longdouble npy_sqrtl (npy_longdouble x)
npy_longdouble npy_log10l (npy_longdouble x)
npy_longdouble npy_logl (npy_longdouble x)
npy_longdouble npy_expl (npy_longdouble x)
npy_longdouble npy_expm1l (npy_longdouble x)
npy_longdouble npy_asinl (npy_longdouble x)
npy_longdouble npy_acosl (npy_longdouble x)
npy_longdouble npy_atanl (npy_longdouble x)
npy_longdouble npy_asinhl (npy_longdouble x)
npy_longdouble npy_acoshl (npy_longdouble x)
npy_longdouble npy_atanhl (npy_longdouble x)
npy_longdouble npy_log1pl (npy_longdouble x)
npy_longdouble npy_exp2l (npy_longdouble x)
npy_longdouble npy_log2l (npy_longdouble x)
npy_longdouble npy_atan2l (npy_longdouble x, npy_longdouble y)
npy_longdouble npy_hypotl (npy_longdouble x, npy_longdouble y)
npy_longdouble npy_powl (npy_longdouble x, npy_longdouble y)
npy_longdouble npy_fmodl (npy_longdouble x, npy_longdouble y)
npy_longdouble npy_modfl (npy_longdouble x, npy_longdouble *y)
npy_longdouble npy_copysignl (npy_longdouble x, npy_longdouble y)
npy_longdouble npy_nextafterl (npy_longdouble x, npy_longdouble y)
npy_longdouble npy_spacingl (npy_longdouble x)
double npy_deg2rad (double x)
double npy_rad2deg (double x)
double npy_logaddexp (double x, double y)
double npy_logaddexp2 (double x, double y)
float npy_deg2radf (float x)
float npy_rad2degf (float x)
float npy_logaddexpf (float x, float y)
float npy_logaddexp2f (float x, float y)
npy_longdouble npy_deg2radl (npy_longdouble x)
npy_longdouble npy_rad2degl (npy_longdouble x)
npy_longdouble npy_logaddexpl (npy_longdouble x, npy_longdouble y)
npy_longdouble npy_logaddexp2l (npy_longdouble x, npy_longdouble y)
static NPY_INLINE npy_cdouble npy_cpack (double x, double y)
static NPY_INLINE npy_cfloat npy_cpackf (float x, float y)
static NPY_INLINE npy_clongdouble npy_cpackl (npy_longdouble x, npy_longdouble y)
static NPY_INLINE double npy_creal (npy_cdouble z)
static NPY_INLINE double npy_cimag (npy_cdouble z)
static NPY_INLINE float npy_crealf (npy_cfloat z)
static NPY_INLINE float npy_cimagf (npy_cfloat z)
static NPY_INLINE npy_longdouble npy_creall (npy_clongdouble z)
static NPY_INLINE npy_longdouble npy_cimagl (npy_clongdouble z)
double npy_cabs (npy_cdouble z)
double npy_carg (npy_cdouble z)
npy_cdouble npy_cexp (npy_cdouble z)
npy_cdouble npy_clog (npy_cdouble z)
npy_cdouble npy_cpow (npy_cdouble x, npy_cdouble y)
npy_cdouble npy_csqrt (npy_cdouble z)
npy_cdouble npy_ccos (npy_cdouble z)
npy_cdouble npy_csin (npy_cdouble z)
float npy_cabsf (npy_cfloat z)
float npy_cargf (npy_cfloat z)
npy_cfloat npy_cexpf (npy_cfloat z)
npy_cfloat npy_clogf (npy_cfloat z)
npy_cfloat npy_cpowf (npy_cfloat x, npy_cfloat y)
npy_cfloat npy_csqrtf (npy_cfloat z)
npy_cfloat npy_ccosf (npy_cfloat z)
npy_cfloat npy_csinf (npy_cfloat z)
npy_longdouble npy_cabsl (npy_clongdouble z)
npy_longdouble npy_cargl (npy_clongdouble z)
npy_clongdouble npy_cexpl (npy_clongdouble z)
npy_clongdouble npy_clogl (npy_clongdouble z)
npy_clongdouble npy_cpowl (npy_clongdouble x, npy_clongdouble y)
npy_clongdouble npy_csqrtl (npy_clongdouble z)
npy_clongdouble npy_ccosl (npy_clongdouble z)
npy_clongdouble npy_csinl (npy_clongdouble z)
void npy_set_floatstatus_divbyzero (void)
void npy_set_floatstatus_overflow (void)
void npy_set_floatstatus_underflow (void)
void npy_set_floatstatus_invalid (void)

Define Documentation

#define __NPY_CEXTRACT_IMP (   z,
  index,
  type,
  ctype 
)
Value:
union {                                         \
        ctype z;                                    \
        type a[2];                                  \
    } __z_repr;                                     \
    __z_repr.z = z;                                 \
                                                    \
    return __z_repr.a[index];
Same remark as above, but in the other direction: extract first/second member of complex number, assuming a C99-compatible representation
Those are defineds as static inline, and such as a reasonable compiler would most likely compile this to one or two instructions (on CISC at least)
#define __NPY_CPACK_IMP (   x,
  y,
  type,
  ctype 
)
Value:
union {                                  \
        ctype z;                             \
        type a[2];                           \
    } z1;;                                   \
                                             \
    z1.a[0] = (x);                           \
    z1.a[1] = (y);                           \
                                             \
    return z1.z;
Complex declarations
C99 specifies that complex numbers have the same representation as an array of two elements, where the first element is the real part and the second element is the imaginary part.
#define NPY_1_PI   0.318309886183790671537767526745028724
1/pi
#define NPY_1_PIf   0.318309886183790671537767526745028724F
1/pi
#define NPY_1_PIl   0.318309886183790671537767526745028724L
1/pi
#define NPY_2_PI   0.636619772367581343075535053490057448
2/pi
#define NPY_2_PIf   0.636619772367581343075535053490057448F
2/pi
#define NPY_2_PIl   0.636619772367581343075535053490057448L
2/pi
#define npy_degrees   npy_rad2deg
#define npy_degreesf   npy_rad2degf
#define npy_degreesl   npy_rad2degl
#define NPY_E   2.718281828459045235360287471352662498
Useful constants
e
#define NPY_Ef   2.718281828459045235360287471352662498F
e
#define NPY_El   2.718281828459045235360287471352662498L
e
#define NPY_EULER   0.577215664901532860606512090082402431
Euler constant
#define NPY_EULERf   0.577215664901532860606512090082402431F
Euler constan
#define NPY_EULERl   0.577215664901532860606512090082402431L
Euler constan
#define NPY_INFINITY   ((npy_double)NPY_INFINITYF)

Referenced by NumPyOS_ascii_strtod().

#define NPY_INFINITYF   __npy_inff()
#define NPY_INFINITYL   ((npy_longdouble)NPY_INFINITYF)
#define npy_isfinite (   x)    !npy_isnan((x) + (-x))

Referenced by c().

#define npy_isinf (   x)    (!npy_isfinite(x) && !npy_isnan(x))
#define npy_isnan (   x)    ((x) != (x))
IEEE 754 fpu handling. Those are guaranteed to be macros

Referenced by c(), and TIMEDELTA_dm_m_multiply().

#define NPY_LOG10E   0.434294481903251827651128918916605082
log_10 e
#define NPY_LOG10Ef   0.434294481903251827651128918916605082F
log_10 e
#define NPY_LOG10El   0.434294481903251827651128918916605082L
log_10 e
#define NPY_LOG2E   1.442695040888963407359924681001892137
log_2 e
#define NPY_LOG2Ef   1.442695040888963407359924681001892137F
log_2 e
#define NPY_LOG2El   1.442695040888963407359924681001892137L
log_2 e
#define NPY_LOGE10   2.302585092994045684017991454684364208
log_e 10
#define NPY_LOGE10f   2.302585092994045684017991454684364208F
log_e 10
#define NPY_LOGE10l   2.302585092994045684017991454684364208L
log_e 10
#define NPY_LOGE2   0.693147180559945309417232121458176568
log_e 2
#define NPY_LOGE2f   0.693147180559945309417232121458176568F
log_e 2
#define NPY_LOGE2l   0.693147180559945309417232121458176568L
log_e 2
#define NPY_NAN   ((npy_double)NPY_NANF)

Referenced by c(), and MyPyFloat_AsDouble().

#define NPY_NANF   __npy_nanf()
#define NPY_NANL   ((npy_longdouble)NPY_NANF)
#define NPY_NZERO   ((npy_double)NPY_NZEROF)
#define NPY_NZEROF   __npy_nzerof()
#define NPY_NZEROL   ((npy_longdouble)NPY_NZEROF)
#define NPY_PI   3.141592653589793238462643383279502884
pi
#define NPY_PI_2   1.570796326794896619231321691639751442
pi/2
#define NPY_PI_2f   1.570796326794896619231321691639751442F
pi/2
#define NPY_PI_2l   1.570796326794896619231321691639751442L
pi/2
#define NPY_PI_4   0.785398163397448309615660845819875721
pi/4
#define NPY_PI_4f   0.785398163397448309615660845819875721F
pi/4
#define NPY_PI_4l   0.785398163397448309615660845819875721L
pi/4
#define NPY_PIf   3.141592653589793238462643383279502884F
pi
#define NPY_PIl   3.141592653589793238462643383279502884L
pi
#define NPY_PZERO   ((npy_double)NPY_PZEROF)
#define NPY_PZEROF   __npy_pzerof()
#define NPY_PZEROL   ((npy_longdouble)NPY_PZEROF)
#define npy_radians   npy_deg2rad
#define npy_radiansf   npy_deg2radf
#define npy_radiansl   npy_deg2radl
#define npy_signbit (   x)
Value:
(sizeof (x) == sizeof (long double) ? _npy_signbit_ld (x) \
         : sizeof (x) == sizeof (double) ? _npy_signbit_d (x) \
         : _npy_signbit_f (x))
#define NPY_SQRT1_2   0.707106781186547524400844362104849039
1/sqrt(2)
#define NPY_SQRT1_2f   0.707106781186547524400844362104849039F
1/sqrt(2)
#define NPY_SQRT1_2l   0.707106781186547524400844362104849039L
1/sqrt(2)
#define NPY_SQRT2   1.414213562373095048801688724209698079
sqrt(2)
#define NPY_SQRT2f   1.414213562373095048801688724209698079F
sqrt(2)
#define NPY_SQRT2l   1.414213562373095048801688724209698079L
sqrt(2)

Function Documentation

static NPY_INLINE float __npy_inff ( void  ) [static]
NAN and INFINITY like macros (same behavior as glibc for NAN, same as C99 for INFINITY)
XXX: I should test whether INFINITY and NAN are available on the platform
static NPY_INLINE float __npy_nanf ( void  ) [static]
static NPY_INLINE float __npy_nzerof ( void  ) [static]
static NPY_INLINE float __npy_pzerof ( void  ) [static]
int _npy_signbit_d ( double  x)

<

SIZEOF_INT != 4

<

SIZEOF_INT

Referenced by _npy_signbit_f(), and _npy_signbit_ld().

int _npy_signbit_f ( float  x)

References _npy_signbit_d().

int _npy_signbit_ld ( long double  x)

References _npy_signbit_d().

double npy_acos ( double  x)
float npy_acosf ( float  x)
double npy_acosh ( double  x)
float npy_acoshf ( float  x)
npy_longdouble npy_acoshl ( npy_longdouble  x)
npy_longdouble npy_acosl ( npy_longdouble  x)
double npy_aexp ( double  x)
double npy_afabs ( double  x)
double npy_alog ( double  x)
double npy_asin ( double  x)
float npy_asinf ( float  x)
double npy_asinh ( double  xx)

References kind(), and type().

float npy_asinhf ( float  x)
npy_longdouble npy_asinhl ( npy_longdouble  x)
npy_longdouble npy_asinl ( npy_longdouble  x)
double npy_asqrt ( double  x)
double npy_atan ( double  x)
double npy_atan2 ( double  x,
double  y 
)

if x or y is nan, return nan

<

atan(+-0,+anything)=+-0

<

atan(+0,-anything) = pi

<

atan(-0,-anything) =-pi

<

atan(+INF,+INF)

<

atan(-INF,+INF)

<

atan(+INF,-INF)

<

atan(-INF,-INF)

<

atan(+...,+INF)

<

atan(-...,+INF)

<

atan(+...,-INF)

<

atan(-...,-INF)
compute y/x

<

|y/x| > 2**60

Docutils System Messages

System Message: ERROR/3 (<string>, line 1); backlink Undefined substitution referenced: "y/x".

<

0 > |y|/x > -2**-60

Docutils System Messages

System Message: ERROR/3 (<string>, line 1); backlink Undefined substitution referenced: "y".

<

safe to do y/x

<

atan(+,+)

<

atan(-,+)

<

atan(+,-)

<

case 3

<

atan(-,-)

Referenced by HALF_modf().

float npy_atan2f ( float  x,
float  y 
)
npy_longdouble npy_atan2l ( npy_longdouble  x,
npy_longdouble  y 
)
float npy_atanf ( float  x)
double npy_atanh ( double  x)
float npy_atanhf ( float  x)
npy_longdouble npy_atanhl ( npy_longdouble  x)
npy_longdouble npy_atanl ( npy_longdouble  x)
double npy_cabs ( npy_cdouble  z)
Double precision complex functions
float npy_cabsf ( npy_cfloat  z)
Single precision complex functions
npy_longdouble npy_cabsl ( npy_clongdouble  z)
Extended precision complex functions
double npy_carg ( npy_cdouble  z)
float npy_cargf ( npy_cfloat  z)
npy_longdouble npy_cargl ( npy_clongdouble  z)
npy_cdouble npy_ccos ( npy_cdouble  z)
npy_cfloat npy_ccosf ( npy_cfloat  z)
npy_clongdouble npy_ccosl ( npy_clongdouble  z)
double npy_ceil ( double  x)
float npy_ceilf ( float  x)
npy_longdouble npy_ceill ( npy_longdouble  x)
npy_cdouble npy_cexp ( npy_cdouble  z)
npy_cfloat npy_cexpf ( npy_cfloat  z)
npy_clongdouble npy_cexpl ( npy_clongdouble  z)
static NPY_INLINE double npy_cimag ( npy_cdouble  z) [static]

Referenced by c().

static NPY_INLINE float npy_cimagf ( npy_cfloat  z) [static]
static NPY_INLINE npy_longdouble npy_cimagl ( npy_clongdouble  z) [static]
npy_cdouble npy_clog ( npy_cdouble  z)
npy_cfloat npy_clogf ( npy_cfloat  z)
npy_clongdouble npy_clogl ( npy_clongdouble  z)
double npy_copysign ( double  x,
double  y 
)
vim:syntax=c
Low-level routines related to IEEE-754 format

References GET_HIGH_WORD, and SET_HIGH_WORD.

Referenced by c().

float npy_copysignf ( float  x,
float  y 
)
npy_longdouble npy_copysignl ( npy_longdouble  x,
npy_longdouble  y 
)
double npy_cos ( double  x)

Referenced by c().

float npy_cosf ( float  x)
double npy_cosh ( double  x)
float npy_coshf ( float  x)
npy_longdouble npy_coshl ( npy_longdouble  x)
npy_longdouble npy_cosl ( npy_longdouble  x)
static NPY_INLINE npy_cdouble npy_cpack ( double  x,
double  y 
) [static]

Referenced by c().

static NPY_INLINE npy_cfloat npy_cpackf ( float  x,
float  y 
) [static]
static NPY_INLINE npy_clongdouble npy_cpackl ( npy_longdouble  x,
npy_longdouble  y 
) [static]
npy_cdouble npy_cpow ( npy_cdouble  x,
npy_cdouble  y 
)
npy_cfloat npy_cpowf ( npy_cfloat  x,
npy_cfloat  y 
)
static NPY_INLINE double npy_creal ( npy_cdouble  z) [static]

Referenced by c().

static NPY_INLINE float npy_crealf ( npy_cfloat  z) [static]
static NPY_INLINE npy_longdouble npy_creall ( npy_clongdouble  z) [static]
npy_cdouble npy_csin ( npy_cdouble  z)
npy_cfloat npy_csinf ( npy_cfloat  z)
npy_clongdouble npy_csinl ( npy_clongdouble  z)
npy_cdouble npy_csqrt ( npy_cdouble  z)
npy_cfloat npy_csqrtf ( npy_cfloat  z)
npy_clongdouble npy_csqrtl ( npy_clongdouble  z)
double npy_deg2rad ( double  x)
Non standard functions
float npy_deg2radf ( float  x)
npy_longdouble npy_deg2radl ( npy_longdouble  x)
double npy_exp ( double  x)

Referenced by c().

double npy_exp2 ( double  x)
float npy_exp2f ( float  x)
npy_longdouble npy_exp2l ( npy_longdouble  x)
float npy_expf ( float  x)
npy_longdouble npy_expl ( npy_longdouble  x)
double npy_expm1 ( double  x)

* BASIC MATH FUNCTIONS **

Original code by Konrad Hinsen.
float npy_expm1f ( float  x)
npy_longdouble npy_expm1l ( npy_longdouble  x)
double npy_fabs ( double  x)

Referenced by HALF_nextafter(), and HALF_ones_like().

float npy_fabsf ( float  x)
npy_longdouble npy_fabsl ( npy_longdouble  x)
double npy_floor ( double  x)

Referenced by HALF_nextafter().

float npy_floorf ( float  x)
npy_longdouble npy_floorl ( npy_longdouble  x)
double npy_fmod ( double  x,
double  y 
)

Referenced by TIMEDELTA_mm_d_divide().

float npy_fmodf ( float  x,
float  y 
)
npy_longdouble npy_fmodl ( npy_longdouble  x,
npy_longdouble  y 
)
double npy_hypot ( double  x,
double  y 
)

Handle the case where x or y is a NaN

float npy_hypotf ( float  x,
float  y 
)
npy_longdouble npy_hypotl ( npy_longdouble  x,
npy_longdouble  y 
)
double npy_log ( double  x)
double npy_log10 ( double  x)
float npy_log10f ( float  x)
npy_longdouble npy_log10l ( npy_longdouble  x)
double npy_log1p ( double  x)
float npy_log1pf ( float  x)
npy_longdouble npy_log1pl ( npy_longdouble  x)
double npy_log2 ( double  x)
float npy_log2f ( float  x)
npy_longdouble npy_log2l ( npy_longdouble  x)
double npy_logaddexp ( double  x,
double  y 
)
double npy_logaddexp2 ( double  x,
double  y 
)
float npy_logaddexp2f ( float  x,
float  y 
)
npy_longdouble npy_logaddexp2l ( npy_longdouble  x,
npy_longdouble  y 
)
float npy_logaddexpf ( float  x,
float  y 
)
npy_longdouble npy_logaddexpl ( npy_longdouble  x,
npy_longdouble  y 
)
float npy_logf ( float  x)
npy_longdouble npy_logl ( npy_longdouble  x)
double npy_modf ( double  x,
double *  y 
)
float npy_modff ( float  x,
float *  y 
)
npy_longdouble npy_modfl ( npy_longdouble  x,
npy_longdouble y 
)
double npy_nextafter ( double  x,
double  y 
)
nextafter code taken from BSD math lib, the code contains the following notice:

System Message: SEVERE/4 (<string>, line 4)
Missing matching underline for section title overline.

====================================================
Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
 
Developed at SunPro, a Sun Microsystems, Inc. business. Permission to use, copy, modify, and distribute this software is freely granted, provided that this notice is preserved. ====================================================

<

|x|

Docutils System Messages

System Message: ERROR/3 (<string>, line 1); backlink Undefined substitution referenced: "x".

<

|y|

Docutils System Messages

System Message: ERROR/3 (<string>, line 1); backlink Undefined substitution referenced: "y".

<

x is nan

<

y is nan

<

x=y, return y

<

x == 0

<

return +-minsubnormal

<

raise underflow flag

<

x > 0

<

x > y, x -= ulp

<

x < y, x += ulp

<

x < 0

<

x < y, x -= ulp

<

x > y, x += ulp

<

overflow

<

underflow

<

raise underflow flag

Referenced by TIMEDELTA_md_m_multiply().

float npy_nextafterf ( float  x,
float  y 
)

<

|x|

Docutils System Messages

System Message: ERROR/3 (<string>, line 1); backlink Undefined substitution referenced: "x".

<

|y|

Docutils System Messages

System Message: ERROR/3 (<string>, line 1); backlink Undefined substitution referenced: "y".

<

x is nan

<

y is nan

<

x=y, return y

<

x == 0

<

return +-minsubnormal

<

raise underflow flag

<

x > 0

<

x > y, x -= ulp

<

x < y, x += ulp

<

x < 0

<

x < y, x -= ulp

<

x > y, x += ulp

<

overflow

<

underflow

<

raise underflow flag

References _npy_floatstatus_zero.

npy_longdouble npy_nextafterl ( npy_longdouble  x,
npy_longdouble  y 
)

<

x or y is nan

<

x=y, return y

<

return +-minsubnormal

<

raise underflow flag

<

x -= ulp

<

x += ulp

<

overflow

<

underflow

<

raise underflow flag

double npy_pow ( double  x,
double  y 
)
float npy_powf ( float  x,
float  y 
)
npy_longdouble npy_powl ( npy_longdouble  x,
npy_longdouble  y 
)
double npy_rad2deg ( double  x)
float npy_rad2degf ( float  x)
npy_longdouble npy_rad2degl ( npy_longdouble  x)
double npy_rint ( double  x)

Round to nearest even

float npy_rintf ( float  x)
npy_longdouble npy_rintl ( npy_longdouble  x)
void npy_set_floatstatus_divbyzero ( void  )
Functions that set the floating point error status word.

Referenced by _logical_not().

void npy_set_floatstatus_invalid ( void  )

Referenced by npy_half_spacing().

void npy_set_floatstatus_overflow ( void  )

Referenced by npy_half_spacing().

void npy_set_floatstatus_underflow ( void  )
double npy_sin ( double  x)
C99 double math funcs

Referenced by c().

float npy_sinf ( float  x)
float C99 math functions
double npy_sinh ( double  x)
float npy_sinhf ( float  x)
npy_longdouble npy_sinhl ( npy_longdouble  x)
npy_longdouble npy_sinl ( npy_longdouble  x)
float C99 math functions
double npy_spacing ( double  x)
float npy_spacingf ( float  x)
npy_longdouble npy_spacingl ( npy_longdouble  x)
double npy_sqrt ( double  x)
float npy_sqrtf ( float  x)
npy_longdouble npy_sqrtl ( npy_longdouble  x)
double npy_tan ( double  x)
float npy_tanf ( float  x)
double npy_tanh ( double  x)
float npy_tanhf ( float  x)
npy_longdouble npy_tanhl ( npy_longdouble  x)
npy_longdouble npy_tanl ( npy_longdouble  x)
double npy_trunc ( double  x)
float npy_truncf ( float  x)
npy_longdouble npy_truncl ( npy_longdouble  x)