29#include <EASTL/array.h>
36namespace TrigInternals {
38void generateTable(eastl::array<int32_t, 513>& table,
unsigned precisionBits);
50namespace trig_literals {
58consteval Angle operator""_pi(
long double angle) {
return angle; }
73template <
unsigned precisionBits = 12>
84 constexpr FixedPoint<precisionBits>
cos(
Angle a)
const {
85 using namespace trig_literals;
94 }
else if (a < 1.0_pi) {
96 }
else if (a < 1.5_pi) {
102 FixedPoint<precisionBits>
ret;
113 constexpr FixedPoint<precisionBits>
sin(
Angle a)
const {
114 using namespace trig_literals;
115 return cos(a - 0.5_pi);
119 eastl::array<int32_t, 513> table;
uint32_t t
Definition cdltest.c:291
A trigonometry table.
Definition trigonometry.hh:74
constexpr FixedPoint< precisionBits > sin(Angle a) const
Calculate the sine of an angle.
Definition trigonometry.hh:113
Trig()
Definition trigonometry.hh:76
constexpr FixedPoint< precisionBits > cos(Angle a) const
Calculate the cosine of an angle.
Definition trigonometry.hh:84
uint32_t r
Definition cpu.c:310
void generateTable(eastl::array< int32_t, 513 > &table, unsigned precisionBits)
Definition trigonometry.cpp:36
FixedPoint< 10 > Angle
A fixed point angle.
Definition trigonometry.hh:48
static int value
Definition syscalls.h:553
static int ret
Definition syscalls.h:125