ファンクション・ジェネレータ

Dependencies:   mbed SerialTxRxIntr MyTicker7 Array_Matrix

Committer:
MikamiUitOpen
Date:
Sat Oct 17 10:05:58 2020 +0000
Revision:
0:17c762b41fc7
Child:
1:ea5aa7f3d68c
1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:17c762b41fc7 1 //-----------------------------------------------------------
MikamiUitOpen 0:17c762b41fc7 2 // FastSin() 関数
MikamiUitOpen 0:17c762b41fc7 3 // sin(π/2)x) の値の計算
MikamiUitOpen 0:17c762b41fc7 4 //
MikamiUitOpen 0:17c762b41fc7 5 // 2020/06/01, Copyright (c) 2020 MIKAMI, Naoki
MikamiUitOpen 0:17c762b41fc7 6 //-----------------------------------------------------------
MikamiUitOpen 0:17c762b41fc7 7
MikamiUitOpen 0:17c762b41fc7 8 #ifndef FASTSIN_POLYNOMIAL_HPP
MikamiUitOpen 0:17c762b41fc7 9 #define FASTSIN_POLYNOMIAL_HPP
MikamiUitOpen 0:17c762b41fc7 10
MikamiUitOpen 0:17c762b41fc7 11 namespace Mikami
MikamiUitOpen 0:17c762b41fc7 12 {
MikamiUitOpen 0:17c762b41fc7 13 // 引数の範囲: -2 <= x <= 2
MikamiUitOpen 0:17c762b41fc7 14 inline float FastSin(float x)
MikamiUitOpen 0:17c762b41fc7 15 {
MikamiUitOpen 0:17c762b41fc7 16 static const float A1 = 1.570320019210f;
MikamiUitOpen 0:17c762b41fc7 17 static const float A3 = -0.642113166941f;
MikamiUitOpen 0:17c762b41fc7 18 static const float A5 = 0.071860854119f;
MikamiUitOpen 0:17c762b41fc7 19
MikamiUitOpen 0:17c762b41fc7 20 if (x > 1.0f) x = 2.0f - x;
MikamiUitOpen 0:17c762b41fc7 21 if (x < -1.0f) x = -2.0f - x;
MikamiUitOpen 0:17c762b41fc7 22 float x2 = x*x;
MikamiUitOpen 0:17c762b41fc7 23 return ((A5*x2 + A3)*x2 + A1)*x;
MikamiUitOpen 0:17c762b41fc7 24 }
MikamiUitOpen 0:17c762b41fc7 25 }
MikamiUitOpen 0:17c762b41fc7 26 #endif // FASTSIN_POLYNOMIAL_HPP