4b275c62c083f98687bc629678293bf1082ce2ee
[platform/upstream/gst-plugins-good.git] / gst / goom / mathtools.c
1 /*---------------------------------------------------------------------------*/
2 /*
3 ** mathtools.c
4 ** Goom Project
5 **
6 ** Created by Jeko on Sun Jul 20 2003
7  ** Copyright (c) 2003 iOS. All rights reserved.
8 */
9 /*---------------------------------------------------------------------------*/
10
11 #include "mathtools.h"
12
13 float sin256[256] = {
14   0, 0.0245412, 0.0490677, 0.0735646, 0.0980171, 0.122411, 0.14673, 0.170962,
15       0.19509, 0.219101, 0.24298, 0.266713, 0.290285, 0.313682, 0.33689,
16       0.359895, 0.382683, 0.405241, 0.427555, 0.449611, 0.471397, 0.492898,
17       0.514103, 0.534998, 0.55557, 0.575808, 0.595699, 0.615232, 0.634393,
18       0.653173, 0.671559, 0.689541, 0.707107, 0.724247, 0.740951, 0.757209,
19       0.77301, 0.788346, 0.803208, 0.817585, 0.83147, 0.844854, 0.857729,
20       0.870087, 0.881921, 0.893224, 0.903989, 0.91421, 0.92388, 0.932993,
21       0.941544, 0.949528, 0.95694, 0.963776, 0.970031, 0.975702, 0.980785,
22       0.985278, 0.989177, 0.99248, 0.995185, 0.99729, 0.998795, 0.999699, 1,
23       0.999699, 0.998795, 0.99729, 0.995185, 0.99248, 0.989177, 0.985278,
24       0.980785, 0.975702, 0.970031, 0.963776, 0.95694, 0.949528, 0.941544,
25       0.932993, 0.92388, 0.91421, 0.903989, 0.893224, 0.881921, 0.870087,
26       0.857729, 0.844854, 0.83147, 0.817585, 0.803208, 0.788346, 0.77301,
27       0.757209, 0.740951, 0.724247, 0.707107, 0.689541, 0.671559, 0.653173,
28       0.634393, 0.615232, 0.595699, 0.575808, 0.55557, 0.534998, 0.514103,
29       0.492898, 0.471397, 0.449611, 0.427555, 0.405241, 0.382683, 0.359895,
30       0.33689, 0.313682, 0.290285, 0.266713, 0.24298, 0.219101, 0.19509,
31       0.170962, 0.14673, 0.122411, 0.0980171, 0.0735646, 0.0490677, 0.0245412,
32       1.22465e-16, -0.0245412, -0.0490677, -0.0735646, -0.0980171, -0.122411,
33       -0.14673, -0.170962, -0.19509, -0.219101, -0.24298, -0.266713, -0.290285,
34       -0.313682, -0.33689, -0.359895, -0.382683, -0.405241, -0.427555,
35       -0.449611, -0.471397, -0.492898, -0.514103, -0.534998, -0.55557,
36       -0.575808, -0.595699, -0.615232, -0.634393, -0.653173, -0.671559,
37       -0.689541, -0.707107, -0.724247, -0.740951, -0.757209, -0.77301,
38       -0.788346, -0.803208, -0.817585, -0.83147, -0.844854, -0.857729,
39       -0.870087, -0.881921, -0.893224, -0.903989, -0.91421, -0.92388, -0.932993,
40       -0.941544, -0.949528, -0.95694, -0.963776, -0.970031, -0.975702,
41       -0.980785, -0.985278, -0.989177, -0.99248, -0.995185, -0.99729, -0.998795,
42       -0.999699, -1, -0.999699, -0.998795, -0.99729, -0.995185, -0.99248,
43       -0.989177, -0.985278, -0.980785, -0.975702, -0.970031, -0.963776,
44       -0.95694, -0.949528, -0.941544, -0.932993, -0.92388, -0.91421, -0.903989,
45       -0.893224, -0.881921, -0.870087, -0.857729, -0.844854, -0.83147,
46       -0.817585, -0.803208, -0.788346, -0.77301, -0.757209, -0.740951,
47       -0.724247, -0.707107, -0.689541, -0.671559, -0.653173, -0.634393,
48       -0.615232, -0.595699, -0.575808, -0.55557, -0.534998, -0.514103,
49       -0.492898, -0.471397, -0.449611, -0.427555, -0.405241, -0.382683,
50       -0.359895, -0.33689, -0.313682, -0.290285, -0.266713, -0.24298, -0.219101,
51       -0.19509, -0.170962, -0.14673, -0.122411, -0.0980171, -0.0735646,
52       -0.0490677, -0.0245412
53 };
54
55 float cos256[256] = {
56   0, 0.999699, 0.998795, 0.99729, 0.995185, 0.99248, 0.989177, 0.985278,
57       0.980785, 0.975702, 0.970031, 0.963776, 0.95694, 0.949528, 0.941544,
58       0.932993, 0.92388, 0.91421, 0.903989, 0.893224, 0.881921, 0.870087,
59       0.857729, 0.844854, 0.83147, 0.817585, 0.803208, 0.788346, 0.77301,
60       0.757209, 0.740951, 0.724247, 0.707107, 0.689541, 0.671559, 0.653173,
61       0.634393, 0.615232, 0.595699, 0.575808, 0.55557, 0.534998, 0.514103,
62       0.492898, 0.471397, 0.449611, 0.427555, 0.405241, 0.382683, 0.359895,
63       0.33689, 0.313682, 0.290285, 0.266713, 0.24298, 0.219101, 0.19509,
64       0.170962, 0.14673, 0.122411, 0.0980171, 0.0735646, 0.0490677, 0.0245412,
65       6.12323e-17, -0.0245412, -0.0490677, -0.0735646, -0.0980171, -0.122411,
66       -0.14673, -0.170962, -0.19509, -0.219101, -0.24298, -0.266713, -0.290285,
67       -0.313682, -0.33689, -0.359895, -0.382683, -0.405241, -0.427555,
68       -0.449611, -0.471397, -0.492898, -0.514103, -0.534998, -0.55557,
69       -0.575808, -0.595699, -0.615232, -0.634393, -0.653173, -0.671559,
70       -0.689541, -0.707107, -0.724247, -0.740951, -0.757209, -0.77301,
71       -0.788346, -0.803208, -0.817585, -0.83147, -0.844854, -0.857729,
72       -0.870087, -0.881921, -0.893224, -0.903989, -0.91421, -0.92388, -0.932993,
73       -0.941544, -0.949528, -0.95694, -0.963776, -0.970031, -0.975702,
74       -0.980785, -0.985278, -0.989177, -0.99248, -0.995185, -0.99729, -0.998795,
75       -0.999699, -1, -0.999699, -0.998795, -0.99729, -0.995185, -0.99248,
76       -0.989177, -0.985278, -0.980785, -0.975702, -0.970031, -0.963776,
77       -0.95694, -0.949528, -0.941544, -0.932993, -0.92388, -0.91421, -0.903989,
78       -0.893224, -0.881921, -0.870087, -0.857729, -0.844854, -0.83147,
79       -0.817585, -0.803208, -0.788346, -0.77301, -0.757209, -0.740951,
80       -0.724247, -0.707107, -0.689541, -0.671559, -0.653173, -0.634393,
81       -0.615232, -0.595699, -0.575808, -0.55557, -0.534998, -0.514103,
82       -0.492898, -0.471397, -0.449611, -0.427555, -0.405241, -0.382683,
83       -0.359895, -0.33689, -0.313682, -0.290285, -0.266713, -0.24298, -0.219101,
84       -0.19509, -0.170962, -0.14673, -0.122411, -0.0980171, -0.0735646,
85       -0.0490677, -0.0245412, -1.83697e-16, 0.0245412, 0.0490677, 0.0735646,
86       0.0980171, 0.122411, 0.14673, 0.170962, 0.19509, 0.219101, 0.24298,
87       0.266713, 0.290285, 0.313682, 0.33689, 0.359895, 0.382683, 0.405241,
88       0.427555, 0.449611, 0.471397, 0.492898, 0.514103, 0.534998, 0.55557,
89       0.575808, 0.595699, 0.615232, 0.634393, 0.653173, 0.671559, 0.689541,
90       0.707107, 0.724247, 0.740951, 0.757209, 0.77301, 0.788346, 0.803208,
91       0.817585, 0.83147, 0.844854, 0.857729, 0.870087, 0.881921, 0.893224,
92       0.903989, 0.91421, 0.92388, 0.932993, 0.941544, 0.949528, 0.95694,
93       0.963776, 0.970031, 0.975702, 0.980785, 0.985278, 0.989177, 0.99248,
94       0.995185, 0.99729, 0.998795, 0.999699
95 };