lookup_data.h - vx32 - Local 9vx git repository for patches.
 (HTM) git clone git://r-36.net/vx32
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
       lookup_data.h (9150B)
       ---
            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-2002             *
            9  * by the XIPHOPHORUS Company http://www.xiph.org/                  *
           10  *                                                                  *
           11  ********************************************************************
           12 
           13   function: lookup data; generated by lookups.pl; edit there
           14   last mod: $Id: lookup_data.h 1919 2005-07-24 14:18:04Z baford $
           15 
           16  ********************************************************************/
           17 
           18 #ifndef _V_LOOKUP_DATA_H_
           19 
           20 #ifdef FLOAT_LOOKUP
           21 #define COS_LOOKUP_SZ 128
           22 static 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
           59 static 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
           73 static 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
          101 static 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 
          113 static 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
          128 static 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
          151 static 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