1#ifndef JMATRIGONOMETRIC_H
2#define JMATRIGONOMETRIC_H
26template<
int N,
typename T>
35 return -
table[(
u16)(-(T)(1 << N) *
v) & ((1 << N) - 1)].first;
37 return table[(
u16)((T)(1 << N) *
v) & ((1 << N) - 1)].first;
41 if (degree < (T)0.0) {
42 return -
table[(
u16)(-((T)(1 << N) / (T)360.0) * degree) & ((1 << N) - 1)].first;
44 return table[(
u16)(((T)(1 << N) / (T)360.0) * degree) & ((1 << N) - 1)].first;
48 if (degree < (T)0.0) {
51 return table[(
u16)(((T)(1 << N) / (T)360.0) * degree) & ((1 << N) - 1)].second;
55 if (radian < (T)0.0) {
82 }
else if (
x <= -1.0f) {
84 }
else if (
x < 0.0f) {
f32 JMASinShort(s16 v)
Definition JMATrigonometric.h:109
f32 JMASinLap(f32 v)
Definition JMATrigonometric.h:120
f32 JMASinDegree(f32 degree)
Definition JMATrigonometric.h:124
f32 JMASSin(s16 v)
Definition JMATrigonometric.h:116
f32 JMACosDegree(f32 degree)
Definition JMATrigonometric.h:128
f32 JMASinRadian(f32 radian)
Definition JMATrigonometric.h:132
f32 JMASCosShort(s16 v)
Definition JMATrigonometric.h:106
f32 JMASCos(s16 v)
Definition JMATrigonometric.h:113
double x double x
Definition e_atan2.c:58
double v
Definition e_pow.c:163
Definition JMATrigonometric.cpp:79
TAsinAcosTable asinAcosTable_
Definition JMATrigonometric.cpp:89
TAtanTable atanTable_
Definition JMATrigonometric.cpp:86
TSinCosTable< 13, f32 > sincosTable_
Definition JMATrigonometric.cpp:83
f32 acosDegree(f32 x)
Definition JMATrigonometric.h:101
static f32 RADIAN_DEG180()
Definition JMATrigonometric.h:17
static f32 RADIAN_DEG090()
Definition JMATrigonometric.h:16
static f32 RADIAN_DEG360()
Definition JMATrigonometric.h:18
static f32 RADIAN_TO_DEGREE_FACTOR()
Definition JMATrigonometric.h:19
Definition JMATrigonometric.h:8
Definition JMATrigonometric.cpp:63
f32 acosDegree(f32 x)
Definition JMATrigonometric.h:91
u8 pad[0x1C]
Definition JMATrigonometric.cpp:65
f32 acos_(f32 x)
Definition JMATrigonometric.h:79
f32 table[1025]
Definition JMATrigonometric.cpp:64
Definition JMATrigonometric.cpp:50
f32 table[1025]
Definition JMATrigonometric.cpp:51
u8 pad[0x1C]
Definition JMATrigonometric.cpp:52
Definition JMATrigonometric.cpp:36
T sinShort(s16 v) const
Definition JMATrigonometric.h:30
std::pair< T, T > table[1<< N]
Definition JMATrigonometric.cpp:37
T cosDegree(T degree)
Definition JMATrigonometric.h:47
T sinRadian(T radian)
Definition JMATrigonometric.h:54
T sinDegree(T degree)
Definition JMATrigonometric.h:40
T cosShort(s16 v) const
Definition JMATrigonometric.h:31
T sinLap(T v)
Definition JMATrigonometric.h:33
T2 second
Definition utility.h:8
T1 first
Definition utility.h:7
unsigned long u32
Definition types.h:9
signed short int s16
Definition types.h:6
float f32
Definition types.h:22
unsigned short int u16
Definition types.h:7
unsigned char u8
Definition types.h:5