三角関数の合成に使うテーブルを作る。テーブルのデータは、サブディレクトリ にあるテキスト・ファイルを読み込んで使う。 記事本文の内容に合わせて、3種類のサブディレクトリを用意している。
1_int は、記事中で最初に使うテーブルである。このテーブルは、Scilab スクリプトでデータを整数化する際にint()関数を使っている。
2_roundは、記事中で2番目に使うテーブルを収めたサブディレクトリである。 このディレクトリのデータは、Scilabスクリプトでデータを整数化する際に round()関数を使っている。
3_smallは、記事中で3番目に使うテーブルを収めたサブディレクトリである。 このディレクトリのデータは、2_round同様、スクリプト内でround()関数に より、整数化している。異なるのは整数化するときの係数で、上二つは 32768倍しているが、このディレクトリのデータは32767倍している。その 結果、真の正弦関数、余弦関数より小さくなるが、飽和による非対称な誤差 から逃げることができる。
osctable.cpp で定義されています。
#include "osc.h"
#include "3_small\\hco.txt"
#include "3_small\\lco.txt"
#include "3_small\\hsi.txt"
#include "3_small\\lsi.txt"
ネームスペース | |
| namespace | osc |
変数 | |
| const int | osc::tableSize = 256 |
| ルックアップ・テーブルのサイズ | |
1.5.2