diff --git a/include/libc64/math64.h b/include/libc64/math64.h index acd6992b7..453c211d8 100644 --- a/include/libc64/math64.h +++ b/include/libc64/math64.h @@ -3,15 +3,46 @@ #include "ultra64.h" -f32 Math_FTanF(f32 angle); -f32 Math_FFloorF(f32 x); -f32 Math_FCeilF(f32 x); -f32 Math_FRoundF(f32 x); -f32 Math_FNearbyIntF(f32 x); -f32 Math_FTruncF(f32 x); +/** + * @param angle radians + * @return tan(angle) + */ +static inline f32 Math_FTanF(f32 angle) { + f32 sin = sinf(angle); + f32 cos = cosf(angle); + + return sin / cos; +} + +static inline f32 Math_FFloorF(f32 x) { + return floorf(x); +} + +static inline f32 Math_FCeilF(f32 x) { + return ceilf(x); +} + +static inline f32 Math_FRoundF(f32 x) { + return roundf(x); +} + +static inline f32 Math_FTruncF(f32 x) { + return truncf(x); +} + +static inline f32 Math_FNearbyIntF(f32 x) { + return nearbyintf(x); +} + f32 Math_FAtanF(f32 x); f32 Math_FAtan2F(f32 y, f32 x); f32 Math_FAsinF(f32 x); -f32 Math_FAcosF(f32 x); + +/** + * @return arccos(x) in radians, in [0,pi] range + */ +static inline f32 Math_FAcosF(f32 x) { + return M_PI / 2 - Math_FAsinF(x); +} #endif diff --git a/src/libc64/math64.c b/src/libc64/math64.c index 964dc3c8a..cfbe79d72 100644 --- a/src/libc64/math64.c +++ b/src/libc64/math64.c @@ -5,25 +5,6 @@ s32 gUseAtanContFrac; #endif -/** - * @param angle radians - * @return tan(angle) - */ -f32 Math_FTanF(f32 angle) { - f32 sin = sinf(angle); - f32 cos = cosf(angle); - - return sin / cos; -} - -f32 Math_FFloorF(f32 x) { - return floorf(x); -} - -f32 Math_FCeilF(f32 x) { - return ceilf(x); -} - #if PLATFORM_N64 f64 Math_FAbs(f64 x) { return x < 0.0 ? -x : x; @@ -34,18 +15,6 @@ f32 Math_FAbsF(f32 x) { } #endif -f32 Math_FRoundF(f32 x) { - return roundf(x); -} - -f32 Math_FTruncF(f32 x) { - return truncf(x); -} - -f32 Math_FNearbyIntF(f32 x) { - return nearbyintf(x); -} - #if !PLATFORM_N64 /* Arctangent approximation using a Taylor series (one quadrant) */ f32 Math_FAtanTaylorQF(f32 x) { @@ -239,10 +208,3 @@ f32 Math_FAtan2F(f32 y, f32 x) { f32 Math_FAsinF(f32 x) { return Math_FAtan2F(x, sqrtf(1.0f - SQ(x))); } - -/** - * @return arccos(x) in radians, in [0,pi] range - */ -f32 Math_FAcosF(f32 x) { - return M_PI / 2 - Math_FAsinF(x); -}