provide trigonometric functions with LUT.
LUTTrigonometric.cpp@1:825f5c2e80b4, 2015-03-23 (annotated)
- Committer:
- kb10uy
- Date:
- Mon Mar 23 11:20:09 2015 +0000
- Revision:
- 1:825f5c2e80b4
- Parent:
- 0:5472db659233
double/float????;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kb10uy | 1:825f5c2e80b4 | 1 | #include "LUTTrigonometric.h" |
kb10uy | 1:825f5c2e80b4 | 2 | |
kb10uy | 1:825f5c2e80b4 | 3 | LUTTrigonometric::LUTTrigonometric(int division): pi(3.1415926535897932384626433832795) { |
kb10uy | 1:825f5c2e80b4 | 4 | div = division; |
kb10uy | 1:825f5c2e80b4 | 5 | rate = division / pi / 2.0; |
kb10uy | 1:825f5c2e80b4 | 6 | table = new double[div]; |
kb10uy | 1:825f5c2e80b4 | 7 | for(int i = 0; i < div; i++) table[i] = ::sin(pi * 2.0 / rate * i); |
kb10uy | 1:825f5c2e80b4 | 8 | } |
kb10uy | 1:825f5c2e80b4 | 9 | |
kb10uy | 1:825f5c2e80b4 | 10 | LUTTrigonometric::~LUTTrigonometric() { |
kb10uy | 1:825f5c2e80b4 | 11 | delete[] table; |
kb10uy | 1:825f5c2e80b4 | 12 | } |
kb10uy | 1:825f5c2e80b4 | 13 | |
kb10uy | 1:825f5c2e80b4 | 14 | |
kb10uy | 1:825f5c2e80b4 | 15 | LUTSingleTrigonometric::LUTSingleTrigonometric(int division): pi(3.1415926535f) { |
kb10uy | 1:825f5c2e80b4 | 16 | div = division; |
kb10uy | 1:825f5c2e80b4 | 17 | rate = division / pi / 2.0f; |
kb10uy | 1:825f5c2e80b4 | 18 | table = new float[div]; |
kb10uy | 1:825f5c2e80b4 | 19 | for(int i = 0; i < div; i++) table[i] = (float)::sin(pi * 2.0f / rate * i); |
kb10uy | 1:825f5c2e80b4 | 20 | } |
kb10uy | 1:825f5c2e80b4 | 21 | |
kb10uy | 1:825f5c2e80b4 | 22 | LUTSingleTrigonometric::~LUTSingleTrigonometric() { |
kb10uy | 1:825f5c2e80b4 | 23 | delete[] table; |
kb10uy | 1:825f5c2e80b4 | 24 | } |