AOT計算で呼び出し自体を早くする三角関数
AOTTrigon.h
- Committer:
- kb10uy
- Date:
- 2014-12-29
- Revision:
- 8:b771ac4871bb
- Parent:
- 7:eed80268ab34
- Child:
- 9:d6153f6a5f75
File content as of revision 8:b771ac4871bb:
#pragma once #include "math.h" /** AOTTrigon class * AOT計算によって三角関数の計算を高速化します。 */ class AOTTrigon { public: AOTTrigon(); inline float sin(float); inline float cos(float); inline float tan(float); private: float *t_sin; float rate; const float pi; }; inline float AOTTrigon::sin(float x) { return t_sin[((int)(x * rate)) & 0xFF]; } inline float AOTTrigon::cos(float x) { return sin(x + pi / 2.0f); } inline float AOTTrigon::tan(float x) { return sin(x) / cos(x); }