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