aboutsummaryrefslogtreecommitdiff
path: root/vendor/libc/include/math.h
blob: fba520e4a45d5a0831ebf3dd37c28f891d5c6e13 (plain)
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
#ifdef __cplusplus
extern "C" {
#endif

#pragma once

#include <stdbool.h>

#define INFINITY (1.0 / 0.0)
#define NAN      (0.0 / 0.0)

float sqrtf(float);
float cosf(float);
float sinf(float);
float atan2f(float, float);

float floorf(float x);
double floor(double x);
float ceilf(float x);
double ceil(double x);
double sqrt(double x);
float powf(float x, float y);
double pow(double x, double y);
float fmodf(float x, float y);
double fmod(double x, double y);
double cos(double x);
float acosf(float x);
double acos(double x);
float fabsf(float x);
double fabs(double x);
int abs(int);
double ldexp(double, int);
double exp(double);
float logf(float);
double log(double);
double sin(double);
double trunc(double);
double log2(double);
double log10(double);
double asin(double);
double atan(double);
double tan(double);
double atan2(double, double);
double modf(double, double*);

bool __isnanf(float);
bool __isnand(double);
#define isnan(x)                                           \
    ( sizeof(x) == sizeof(float)  ? __isnanf((float)(x))   \
                                  : __isnand((double)(x)))

bool __isinff(float);
bool __isinfd(double);
#define isinf(x)                                           \
    ( sizeof(x) == sizeof(float)  ? __isinff((float)(x))   \
                                  : __isinfd((double)(x)))

bool __isfinitef(float);
bool __isfinited(double);
#define isfinite(x)                                           \
    ( sizeof(x) == sizeof(float)  ? __isfinitef((float)(x))   \
                                  : __isfinited((double)(x)))

#ifdef __cplusplus
}
#endif