8#define MSL_HI(x) *(int*) &x
9#define MSL_LO(x) *(1 + (int*) &x)
11#define M_PI 3.14159265358979323846
12#define M_TAU 6.283185307179586
13#define M_PI_2 (M_PI / 2)
14#define M_PI_3 (M_PI / 3)
16#define M_PI_F 3.14159265358979323846F
17#define M_TAU_F 6.283185307179586F
18#define M_PI_2_F (M_PI_F / 2.0F)
19#define M_PI_3_F (M_PI_F / 3.0F)
21#define M_PI_L 3.14159265358979323846L
22#define M_TAU_L 6.283185307179586L
23#define M_PI_2_L (M_PI_L / 2.0L)
24#define M_PI_3_L (M_PI_L / 3.0L)
26#define SIGNF(x) ((x) > 0.0f ? 1.0f : -1.0f)
36#define FLT_EPSILON 1.00000001335e-10F
52 const s32 exp_mask = 0x7F800000;
53 const s32 mantissa_mask = 0x007FFFFF;
54 switch ((*(
s32*) &x) & exp_mask) {
69 switch (
__HI(x) & 0x7ff00000) {
71 return ((
__HI(x) & 0x000fffff) || (
__LO(x) & 0xffffffff))
75 return ((
__HI(x) & 0x000fffff) || (
__LO(x) & 0xffffffff))
83#define fpclassify(x) \
84 ((sizeof(x) == sizeof(float)) ? __fpclassifyf((float) (x)) \
85 : __fpclassifyd((double) (x)))
87#define ABS(x) ((x) < 0 ? -(x) : (x))
89static inline double fabs(
double f)
94double frexp(
double x,
int* exponent);
#define __LO(x)
Definition ansi_fp.c:6
#define __HI(x)
Definition ansi_fp.c:5
signed long s32
Definition hsd_3B2B.h:1
static float const deg_to_rad
Definition itparasol.c:16
#define M_PI
Definition itparasol.c:15
double frexp(double x, int *exponent)
Definition math_1.c:11
static s32 __fpclassifyd(double x)
Definition math.h:67
float fabsf__Ff(float)
Definition math_1.c:6
static double fabs(double f)
Definition math.h:89
float logf(float)
Definition math.c:66
static s32 __fpclassifyf(float x)
Definition math.h:50
FloatType
Definition math.h:42
@ FP_INFINITE
Definition math.h:44
@ FP_SUBNORMAL
Definition math.h:47
@ FP_NORMAL
Definition math.h:46
@ FP_ZERO
Definition math.h:45
@ FP_NAN
Definition math.h:43
void __sinit_trigf_c(void)
Definition trigf.c:14
static float const rad_to_deg
Definition math.h:29