provide trigonometric functions with LUT.

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?

UserRevisionLine numberNew 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 }