8#define MSL_HI(x) *(int*) &x
9#define MSL_LO(x) *(1 + (int*) &x)
11#define M_PI 3.14159265358979323846
12#define M_PI_2 (M_PI / 2)
13#define M_PI_3 (M_PI / 3)
23#define FLT_EPSILON 1.00000001335e-10F
39 const s32 exp_mask = 0b01111111100000000000000000000000;
40 const s32 mantissa_mask =
41 0b00000000011111111111111111111111;
42 switch ((*(
s32*) &x) & exp_mask) {
57 switch (
__HI(x) & 0x7ff00000) {
59 return ((
__HI(x) & 0x000fffff) || (
__LO(x) & 0xffffffff))
63 return ((
__HI(x) & 0x000fffff) || (
__LO(x) & 0xffffffff))
71#define fpclassify(x) \
72 ((sizeof(x) == sizeof(float)) ? __fpclassifyf((float) (x)) \
73 : __fpclassifyd((double) (x)))
76#define ABS(x) ((x) < 0 ? -(x) : (x))
87static inline double fabs(
double f)
92double frexp(
double x,
int* exponent);
float sin__Ff(float x)
Definition trigf.c:20
double frexp(double x, int *exponent)
Definition math_1.c:6
static s32 __fpclassifyd(double x)
Definition math.h:55
float fabsf__Ff(float)
Definition math_1.c:28
float cos__Ff(float x)
Definition trigf.c:15
static double fabs(double f)
Definition math.h:87
float tanf(float x)
Definition trigf.c:10
float cosf(float x)
Definition trigf.c:42
float logf(float)
Definition math.c:105
float sinf(float x)
Definition trigf.c:103
static s32 __fpclassifyf(float x)
Definition math.h:37
FloatType
Definition math.h:29
@ FP_INFINITE
Definition math.h:31
@ FP_SUBNORMAL
Definition math.h:34
@ FP_NORMAL
Definition math.h:33
@ FP_ZERO
Definition math.h:32
@ FP_NAN
Definition math.h:30
static float const deg_to_rad
Definition math.h:15
void __sinit_trigf_c(void)
Definition trigf.c:171
static float const rad_to_deg
Definition math.h:16
static f32 fabs_inline(f32 x)
Definition math.h:78
#define M_PI
Definition math.h:11