1#ifndef JMATRIGONOMETRIC_H
2#define JMATRIGONOMETRIC_H
27template<
int N,
typename T>
36 return -
table[(
u16)(-(T)(1 << N) *
v) & ((1 << N) - 1)].first;
38 return table[(
u16)((T)(1 << N) *
v) & ((1 << N) - 1)].first;
42 if (degree < (T)0.0) {
43 return -
table[(
u16)(-((T)(1 << N) / (T)360.0) * degree) & ((1 << N) - 1)].first;
45 return table[(
u16)(((T)(1 << N) / (T)360.0) * degree) & ((1 << N) - 1)].first;
49 if (degree < (T)0.0) {
52 return table[(
u16)(((T)(1 << N) / (T)360.0) * degree) & ((1 << N) - 1)].second;
56 if (radian < (T)0.0) {
76template<
int N,
typename T>
84 }
else if (
x <= -1.0f) {
86 }
else if (
x < 0.0f) {
f32 JMASinShort(s16 v)
Definition JMATrigonometric.h:110
f32 JMASinLap(f32 v)
Definition JMATrigonometric.h:121
f32 JMASinDegree(f32 degree)
Definition JMATrigonometric.h:125
f32 JMASSin(s16 v)
Definition JMATrigonometric.h:117
f32 JMACosShort(s16 v)
Definition JMATrigonometric.h:107
f32 JMACosDegree(f32 degree)
Definition JMATrigonometric.h:129
f32 JMASinRadian(f32 radian)
Definition JMATrigonometric.h:133
f32 JMASCos(s16 v)
Definition JMATrigonometric.h:114
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
unsigned char u8
Definition types.h:8
double x double x
Definition e_atan2.c:58
double v
Definition e_pow.c:163
Definition JMATrigonometric.cpp:71
TSinCosTable< 13, f32 > sincosTable_
f32 acosDegree(f32 x)
Definition JMATrigonometric.h:102
TAsinAcosTable< 1024, f32 > asinAcosTable_
static f32 RADIAN_TO_DEGREE_FACTOR()
Definition JMATrigonometric.h:20
static f32 RADIAN_DEG180()
Definition JMATrigonometric.h:18
static f32 RADIAN_DEG360()
Definition JMATrigonometric.h:19
static f32 RADIAN_DEG090()
Definition JMATrigonometric.h:17
Definition JMATrigonometric.h:9
Definition JMATrigonometric.h:77
T table[1025]
Definition JMATrigonometric.h:78
T acosDegree(T x) const
Definition JMATrigonometric.h:93
T acos_(T x) const
Definition JMATrigonometric.h:81
u8 pad[0x1C]
Definition JMATrigonometric.h:79
Definition JMATrigonometric.h:67
u8 pad[0x1C]
Definition JMATrigonometric.h:69
f32 table[1025]
Definition JMATrigonometric.h:68
Definition JMATrigonometric.h:28
T sinDegree(T degree) const
Definition JMATrigonometric.h:41
T cosShort(s16 v) const
Definition JMATrigonometric.h:32
T cosDegree(T degree) const
Definition JMATrigonometric.h:48
T sinShort(s16 v) const
Definition JMATrigonometric.h:31
T sinLap(T v) const
Definition JMATrigonometric.h:34
T sinRadian(T radian) const
Definition JMATrigonometric.h:55
std::pair< T, T > table[1<< N]
Definition JMATrigonometric.h:29
Definition JMATrigonometric.cpp:59
Definition JMATrigonometric.cpp:46
Definition JMATrigonometric.cpp:32
T2 second
Definition utility.h:8
T1 first
Definition utility.h:7