diff options
Diffstat (limited to 'include/JSystem/JMath')
| -rw-r--r-- | include/JSystem/JMath/JMATrigonometric.h | 11 |
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 */ |
