Files
HackerOoT/include/libc64/math64.h
Arthurpandaroux aceec95e6b Math inlining (#182)
* Initial optimization

* something

* t&

* fix

* fix3

* documentation moved in header

* documentation 2

* format fix

* format fix2

* final change

* space fix
2025-10-25 21:32:43 +02:00

49 lines
803 B
C

#ifndef LIBC64_MATH64_H
#define LIBC64_MATH64_H
#include "ultra64.h"
/**
* @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);
/**
* @return arccos(x) in radians, in [0,pi] range
*/
static inline f32 Math_FAcosF(f32 x) {
return M_PI / 2 - Math_FAsinF(x);
}
#endif