Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
godotengine
GitHub Repository: godotengine/godot
Path: blob/master/thirdparty/libvorbis/lookup_data.h
9903 views
1
/********************************************************************
2
* *
3
* THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
4
* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
5
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
6
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
7
* *
8
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
9
* by the Xiph.Org Foundation https://xiph.org/ *
10
* *
11
********************************************************************
12
13
function: lookup data; generated by lookups.pl; edit there
14
15
********************************************************************/
16
17
#ifndef _V_LOOKUP_DATA_H_
18
19
#ifdef FLOAT_LOOKUP
20
#define COS_LOOKUP_SZ 128
21
static const float COS_LOOKUP[COS_LOOKUP_SZ+1]={
22
+1.0000000000000f,+0.9996988186962f,+0.9987954562052f,+0.9972904566787f,
23
+0.9951847266722f,+0.9924795345987f,+0.9891765099648f,+0.9852776423889f,
24
+0.9807852804032f,+0.9757021300385f,+0.9700312531945f,+0.9637760657954f,
25
+0.9569403357322f,+0.9495281805930f,+0.9415440651830f,+0.9329927988347f,
26
+0.9238795325113f,+0.9142097557035f,+0.9039892931234f,+0.8932243011955f,
27
+0.8819212643484f,+0.8700869911087f,+0.8577286100003f,+0.8448535652497f,
28
+0.8314696123025f,+0.8175848131516f,+0.8032075314806f,+0.7883464276266f,
29
+0.7730104533627f,+0.7572088465065f,+0.7409511253550f,+0.7242470829515f,
30
+0.7071067811865f,+0.6895405447371f,+0.6715589548470f,+0.6531728429538f,
31
+0.6343932841636f,+0.6152315905806f,+0.5956993044924f,+0.5758081914178f,
32
+0.5555702330196f,+0.5349976198871f,+0.5141027441932f,+0.4928981922298f,
33
+0.4713967368260f,+0.4496113296546f,+0.4275550934303f,+0.4052413140050f,
34
+0.3826834323651f,+0.3598950365350f,+0.3368898533922f,+0.3136817403989f,
35
+0.2902846772545f,+0.2667127574749f,+0.2429801799033f,+0.2191012401569f,
36
+0.1950903220161f,+0.1709618887603f,+0.1467304744554f,+0.1224106751992f,
37
+0.0980171403296f,+0.0735645635997f,+0.0490676743274f,+0.0245412285229f,
38
+0.0000000000000f,-0.0245412285229f,-0.0490676743274f,-0.0735645635997f,
39
-0.0980171403296f,-0.1224106751992f,-0.1467304744554f,-0.1709618887603f,
40
-0.1950903220161f,-0.2191012401569f,-0.2429801799033f,-0.2667127574749f,
41
-0.2902846772545f,-0.3136817403989f,-0.3368898533922f,-0.3598950365350f,
42
-0.3826834323651f,-0.4052413140050f,-0.4275550934303f,-0.4496113296546f,
43
-0.4713967368260f,-0.4928981922298f,-0.5141027441932f,-0.5349976198871f,
44
-0.5555702330196f,-0.5758081914178f,-0.5956993044924f,-0.6152315905806f,
45
-0.6343932841636f,-0.6531728429538f,-0.6715589548470f,-0.6895405447371f,
46
-0.7071067811865f,-0.7242470829515f,-0.7409511253550f,-0.7572088465065f,
47
-0.7730104533627f,-0.7883464276266f,-0.8032075314806f,-0.8175848131516f,
48
-0.8314696123025f,-0.8448535652497f,-0.8577286100003f,-0.8700869911087f,
49
-0.8819212643484f,-0.8932243011955f,-0.9039892931234f,-0.9142097557035f,
50
-0.9238795325113f,-0.9329927988347f,-0.9415440651830f,-0.9495281805930f,
51
-0.9569403357322f,-0.9637760657954f,-0.9700312531945f,-0.9757021300385f,
52
-0.9807852804032f,-0.9852776423889f,-0.9891765099648f,-0.9924795345987f,
53
-0.9951847266722f,-0.9972904566787f,-0.9987954562052f,-0.9996988186962f,
54
-1.0000000000000f,
55
};
56
57
#define INVSQ_LOOKUP_SZ 32
58
static const float INVSQ_LOOKUP[INVSQ_LOOKUP_SZ+1]={
59
1.414213562373f,1.392621247646f,1.371988681140f,1.352246807566f,
60
1.333333333333f,1.315191898443f,1.297771369046f,1.281025230441f,
61
1.264911064067f,1.249390095109f,1.234426799697f,1.219988562661f,
62
1.206045378311f,1.192569588000f,1.179535649239f,1.166919931983f,
63
1.154700538379f,1.142857142857f,1.131370849898f,1.120224067222f,
64
1.109400392450f,1.098884511590f,1.088662107904f,1.078719779941f,
65
1.069044967650f,1.059625885652f,1.050451462878f,1.041511287847f,
66
1.032795558989f,1.024295039463f,1.016001016002f,1.007905261358f,
67
1.000000000000f,
68
};
69
70
#define INVSQ2EXP_LOOKUP_MIN (-32)
71
#define INVSQ2EXP_LOOKUP_MAX 32
72
static const float INVSQ2EXP_LOOKUP[INVSQ2EXP_LOOKUP_MAX-\
73
INVSQ2EXP_LOOKUP_MIN+1]={
74
65536.f, 46340.95001f, 32768.f, 23170.47501f,
75
16384.f, 11585.2375f, 8192.f, 5792.618751f,
76
4096.f, 2896.309376f, 2048.f, 1448.154688f,
77
1024.f, 724.0773439f, 512.f, 362.038672f,
78
256.f, 181.019336f, 128.f, 90.50966799f,
79
64.f, 45.254834f, 32.f, 22.627417f,
80
16.f, 11.3137085f, 8.f, 5.656854249f,
81
4.f, 2.828427125f, 2.f, 1.414213562f,
82
1.f, 0.7071067812f, 0.5f, 0.3535533906f,
83
0.25f, 0.1767766953f, 0.125f, 0.08838834765f,
84
0.0625f, 0.04419417382f, 0.03125f, 0.02209708691f,
85
0.015625f, 0.01104854346f, 0.0078125f, 0.005524271728f,
86
0.00390625f, 0.002762135864f, 0.001953125f, 0.001381067932f,
87
0.0009765625f, 0.000690533966f, 0.00048828125f, 0.000345266983f,
88
0.000244140625f,0.0001726334915f,0.0001220703125f,8.631674575e-05f,
89
6.103515625e-05f,4.315837288e-05f,3.051757812e-05f,2.157918644e-05f,
90
1.525878906e-05f,
91
};
92
93
#endif
94
95
#define FROMdB_LOOKUP_SZ 35
96
#define FROMdB2_LOOKUP_SZ 32
97
#define FROMdB_SHIFT 5
98
#define FROMdB2_SHIFT 3
99
#define FROMdB2_MASK 31
100
101
#ifdef FLOAT_LOOKUP
102
static const float FROMdB_LOOKUP[FROMdB_LOOKUP_SZ]={
103
1.f, 0.6309573445f, 0.3981071706f, 0.2511886432f,
104
0.1584893192f, 0.1f, 0.06309573445f, 0.03981071706f,
105
0.02511886432f, 0.01584893192f, 0.01f, 0.006309573445f,
106
0.003981071706f, 0.002511886432f, 0.001584893192f, 0.001f,
107
0.0006309573445f,0.0003981071706f,0.0002511886432f,0.0001584893192f,
108
0.0001f,6.309573445e-05f,3.981071706e-05f,2.511886432e-05f,
109
1.584893192e-05f, 1e-05f,6.309573445e-06f,3.981071706e-06f,
110
2.511886432e-06f,1.584893192e-06f, 1e-06f,6.309573445e-07f,
111
3.981071706e-07f,2.511886432e-07f,1.584893192e-07f,
112
};
113
114
static const float FROMdB2_LOOKUP[FROMdB2_LOOKUP_SZ]={
115
0.9928302478f, 0.9786445908f, 0.9646616199f, 0.9508784391f,
116
0.9372921937f, 0.92390007f, 0.9106992942f, 0.8976871324f,
117
0.8848608897f, 0.8722179097f, 0.8597555737f, 0.8474713009f,
118
0.835362547f, 0.8234268041f, 0.8116616003f, 0.8000644989f,
119
0.7886330981f, 0.7773650302f, 0.7662579617f, 0.755309592f,
120
0.7445176537f, 0.7338799116f, 0.7233941627f, 0.7130582353f,
121
0.7028699885f, 0.6928273125f, 0.6829281272f, 0.6731703824f,
122
0.6635520573f, 0.6540711597f, 0.6447257262f, 0.6355138211f,
123
};
124
#endif
125
126
#ifdef INT_LOOKUP
127
128
#define INVSQ_LOOKUP_I_SHIFT 10
129
#define INVSQ_LOOKUP_I_MASK 1023
130
static const long INVSQ_LOOKUP_I[64+1]={
131
92682l, 91966l, 91267l, 90583l,
132
89915l, 89261l, 88621l, 87995l,
133
87381l, 86781l, 86192l, 85616l,
134
85051l, 84497l, 83953l, 83420l,
135
82897l, 82384l, 81880l, 81385l,
136
80899l, 80422l, 79953l, 79492l,
137
79039l, 78594l, 78156l, 77726l,
138
77302l, 76885l, 76475l, 76072l,
139
75674l, 75283l, 74898l, 74519l,
140
74146l, 73778l, 73415l, 73058l,
141
72706l, 72359l, 72016l, 71679l,
142
71347l, 71019l, 70695l, 70376l,
143
70061l, 69750l, 69444l, 69141l,
144
68842l, 68548l, 68256l, 67969l,
145
67685l, 67405l, 67128l, 66855l,
146
66585l, 66318l, 66054l, 65794l,
147
65536l,
148
};
149
150
#define COS_LOOKUP_I_SHIFT 9
151
#define COS_LOOKUP_I_MASK 511
152
#define COS_LOOKUP_I_SZ 128
153
static const long COS_LOOKUP_I[COS_LOOKUP_I_SZ+1]={
154
16384l, 16379l, 16364l, 16340l,
155
16305l, 16261l, 16207l, 16143l,
156
16069l, 15986l, 15893l, 15791l,
157
15679l, 15557l, 15426l, 15286l,
158
15137l, 14978l, 14811l, 14635l,
159
14449l, 14256l, 14053l, 13842l,
160
13623l, 13395l, 13160l, 12916l,
161
12665l, 12406l, 12140l, 11866l,
162
11585l, 11297l, 11003l, 10702l,
163
10394l, 10080l, 9760l, 9434l,
164
9102l, 8765l, 8423l, 8076l,
165
7723l, 7366l, 7005l, 6639l,
166
6270l, 5897l, 5520l, 5139l,
167
4756l, 4370l, 3981l, 3590l,
168
3196l, 2801l, 2404l, 2006l,
169
1606l, 1205l, 804l, 402l,
170
0l, -401l, -803l, -1204l,
171
-1605l, -2005l, -2403l, -2800l,
172
-3195l, -3589l, -3980l, -4369l,
173
-4755l, -5138l, -5519l, -5896l,
174
-6269l, -6638l, -7004l, -7365l,
175
-7722l, -8075l, -8422l, -8764l,
176
-9101l, -9433l, -9759l, -10079l,
177
-10393l, -10701l, -11002l, -11296l,
178
-11584l, -11865l, -12139l, -12405l,
179
-12664l, -12915l, -13159l, -13394l,
180
-13622l, -13841l, -14052l, -14255l,
181
-14448l, -14634l, -14810l, -14977l,
182
-15136l, -15285l, -15425l, -15556l,
183
-15678l, -15790l, -15892l, -15985l,
184
-16068l, -16142l, -16206l, -16260l,
185
-16304l, -16339l, -16363l, -16378l,
186
-16383l,
187
};
188
189
#endif
190
191
#endif
192
193