summaryrefslogtreecommitdiff
path: root/include/JSystem/JMath
diff options
context:
space:
mode:
Diffstat (limited to 'include/JSystem/JMath')
-rw-r--r--include/JSystem/JMath/JMATrigonometric.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/JSystem/JMath/JMATrigonometric.h b/include/JSystem/JMath/JMATrigonometric.h
index 8fd009944b..2b09c3939d 100644
--- a/include/JSystem/JMath/JMATrigonometric.h
+++ b/include/JSystem/JMath/JMATrigonometric.h
@@ -9,6 +9,13 @@ struct TSinCosTable {
f32 sinShort(s16 v) const { return table[static_cast<u16>(v) >> 3].first; }
f32 cosShort(s16 v) const { return table[static_cast<u16>(v) >> 3].second; }
+
+ inline f32 sinLap(f32 v) {
+ if (v < 0.0f) {
+ return -table[(u16)(-8192.0f * v) & 0x1fff].first;
+ }
+ return table[(u16)(8192.0f * v) & 0x1fff].first;
+ }
};
struct TAtanTable {
@@ -41,4 +48,8 @@ inline f32 JMASSin(s16 v) {
return JMASinShort(v);
}
+inline f32 JMASinLap(f32 v) {
+ return JMath::sincosTable_.sinLap(v);
+}
+
#endif /* JMATRIGONOMETRIC_H */