mirror of https://github.com/zeldaret/tp.git
65 lines
1.1 KiB
C
65 lines
1.1 KiB
C
#ifndef MSL_MATH_H_
|
|
#define MSL_MATH_H_
|
|
|
|
#include "dolphin/types.h"
|
|
|
|
extern "C" {
|
|
f64 acos(f64);
|
|
f32 acosf(f32);
|
|
f64 asin(f64);
|
|
f64 atan(f64);
|
|
f64 atan2(f64);
|
|
f64 ceil(f64);
|
|
f64 copysign(f64, f64);
|
|
f64 cos(f64);
|
|
f32 cosf(f32);
|
|
f64 exp(f64);
|
|
|
|
extern f32 __fabsf(f32);
|
|
inline f64 fabs(f64 f) {
|
|
return __fabsf(f);
|
|
}
|
|
inline f64 fabsf2(f32 f) {
|
|
return __fabsf(f);
|
|
}
|
|
inline f32 fabsf(f32 f) {
|
|
return fabsf2(f);
|
|
}
|
|
|
|
f64 floor(f64);
|
|
f64 fmod(f64, f64);
|
|
inline f32 fmodf(f32 f1, f32 f2) {
|
|
return fmod(f1, f2);
|
|
}
|
|
inline s32 fpclassify(f32 f) {
|
|
u32 var = *(u32*)&f;
|
|
switch (var & 0x7F800000) {
|
|
case 0x7F800000:
|
|
if ((var & 0x7FFFFF) != 0) {
|
|
return 1;
|
|
} else {
|
|
return 2;
|
|
}
|
|
case 0:
|
|
if ((var & 0x7FFFFF) != 0) {
|
|
return 5;
|
|
} else {
|
|
return 3;
|
|
}
|
|
default:
|
|
return 4;
|
|
}
|
|
}
|
|
f64 frexp(f64, s32*);
|
|
f64 ldexp(f64, s32);
|
|
f64 modf(f64, f64*);
|
|
f64 pow(f64, f64);
|
|
f64 sin(f64);
|
|
f32 sinf(f32);
|
|
f64 sqrt(f64);
|
|
f64 tan(f64);
|
|
f32 tanf(f32);
|
|
f64 func_8036C590(f64);
|
|
}
|
|
|
|
#endif |