aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tools/cython/Cython/Includes/libc/math.pxd
blob: ef9ef1a9169e4aa5279c9f7454226377f06a61b9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
cdef extern from "<math.h>" nogil: 
    const double M_E 
    const double e "M_E"  # as in Python's math module 
    const double M_LOG2E 
    const double M_LOG10E 
    const double M_LN2 
    const double M_LN10 
    const double M_PI 
    const double pi "M_PI"  # as in Python's math module 
    const double M_PI_2 
    const double M_PI_4 
    const double M_1_PI 
    const double M_2_PI 
    const double M_2_SQRTPI 
    const double M_SQRT2 
    const double M_SQRT1_2 

    # C99 constants
    const float INFINITY 
    const float NAN 
    # note: not providing "nan" and "inf" aliases here as nan() is a function in C 
    const double HUGE_VAL 
    const float HUGE_VALF 
    const long double HUGE_VALL 

    double acos(double x)
    double asin(double x)
    double atan(double x)
    double atan2(double y, double x)
    double cos(double x)
    double sin(double x)
    double tan(double x)

    double cosh(double x)
    double sinh(double x)
    double tanh(double x)
    double acosh(double x)
    double asinh(double x)
    double atanh(double x)

    double hypot(double x, double y)

    double exp(double x)
    double exp2(double x)
    double expm1(double x)
    double log(double x)
    double logb(double x)
    double log2(double x)
    double log10(double x)
    double log1p(double x)
    int ilogb(double x)

    double lgamma(double x)
    double tgamma(double x)

    double frexp(double x, int* exponent)
    double ldexp(double x, int exponent)

    double modf(double x, double* iptr)
    double fmod(double x, double y)
    double remainder(double x, double y)
    double remquo(double x, double y, int *quot)
    double pow(double x, double y)
    double sqrt(double x)
    double cbrt(double x)

    double fabs(double x)
    double ceil(double x)
    double floor(double x)
    double trunc(double x)
    double rint(double x)
    double round(double x)
    double nearbyint(double x)
    double nextafter(double, double)
    double nexttoward(double, long double)

    long long llrint(double)
    long lrint(double)
    long long llround(double)
    long lround(double)

    double copysign(double, double)
    float copysignf(float, float)
    long double copysignl(long double, long double)

    double erf(double)
    float erff(float)
    long double erfl(long double)
    double erfc(double)
    float erfcf(float)
    long double erfcl(long double)

    double fdim(double x, double y)
    double fma(double x, double y, double z) 
    double fmax(double x, double y)
    double fmin(double x, double y)
    double scalbln(double x, long n)
    double scalbn(double x, int n)

    double nan(const char*)
 
    int isinf(long double)   # -1 / 0 / 1 
    bint isfinite(long double)
    bint isnan(long double) 
    bint isnormal(long double)
    bint signbit(long double) 
    int fpclassify(long double)
    const int FP_NAN
    const int FP_INFINITE
    const int FP_ZERO
    const int FP_SUBNORMAL
    const int FP_NORMAL