Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/libvorbis-1.2.0/lib/lookup_data.h @ 52

Last change on this file since 52 was 16, checked in by landauf, 17 years ago

added libvorbis

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