Blame lib/lookup_data.h

Packit 06404a
/********************************************************************
Packit 06404a
 *                                                                  *
Packit 06404a
 * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.   *
Packit 06404a
 * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     *
Packit 06404a
 * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
Packit 06404a
 * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
Packit 06404a
 *                                                                  *
Packit 06404a
 * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007             *
Packit 06404a
 * by the Xiph.Org Foundation http://www.xiph.org/                  *
Packit 06404a
 *                                                                  *
Packit 06404a
 ********************************************************************
Packit 06404a
Packit 06404a
  function: lookup data; generated by lookups.pl; edit there
Packit 06404a
  last mod: $Id: lookup_data.h 16037 2009-05-26 21:10:58Z xiphmont $
Packit 06404a
Packit 06404a
 ********************************************************************/
Packit 06404a
Packit 06404a
#ifndef _V_LOOKUP_DATA_H_
Packit 06404a
Packit 06404a
#ifdef FLOAT_LOOKUP
Packit 06404a
#define COS_LOOKUP_SZ 128
Packit 06404a
static const float COS_LOOKUP[COS_LOOKUP_SZ+1]={
Packit 06404a
        +1.0000000000000f,+0.9996988186962f,+0.9987954562052f,+0.9972904566787f,
Packit 06404a
        +0.9951847266722f,+0.9924795345987f,+0.9891765099648f,+0.9852776423889f,
Packit 06404a
        +0.9807852804032f,+0.9757021300385f,+0.9700312531945f,+0.9637760657954f,
Packit 06404a
        +0.9569403357322f,+0.9495281805930f,+0.9415440651830f,+0.9329927988347f,
Packit 06404a
        +0.9238795325113f,+0.9142097557035f,+0.9039892931234f,+0.8932243011955f,
Packit 06404a
        +0.8819212643484f,+0.8700869911087f,+0.8577286100003f,+0.8448535652497f,
Packit 06404a
        +0.8314696123025f,+0.8175848131516f,+0.8032075314806f,+0.7883464276266f,
Packit 06404a
        +0.7730104533627f,+0.7572088465065f,+0.7409511253550f,+0.7242470829515f,
Packit 06404a
        +0.7071067811865f,+0.6895405447371f,+0.6715589548470f,+0.6531728429538f,
Packit 06404a
        +0.6343932841636f,+0.6152315905806f,+0.5956993044924f,+0.5758081914178f,
Packit 06404a
        +0.5555702330196f,+0.5349976198871f,+0.5141027441932f,+0.4928981922298f,
Packit 06404a
        +0.4713967368260f,+0.4496113296546f,+0.4275550934303f,+0.4052413140050f,
Packit 06404a
        +0.3826834323651f,+0.3598950365350f,+0.3368898533922f,+0.3136817403989f,
Packit 06404a
        +0.2902846772545f,+0.2667127574749f,+0.2429801799033f,+0.2191012401569f,
Packit 06404a
        +0.1950903220161f,+0.1709618887603f,+0.1467304744554f,+0.1224106751992f,
Packit 06404a
        +0.0980171403296f,+0.0735645635997f,+0.0490676743274f,+0.0245412285229f,
Packit 06404a
        +0.0000000000000f,-0.0245412285229f,-0.0490676743274f,-0.0735645635997f,
Packit 06404a
        -0.0980171403296f,-0.1224106751992f,-0.1467304744554f,-0.1709618887603f,
Packit 06404a
        -0.1950903220161f,-0.2191012401569f,-0.2429801799033f,-0.2667127574749f,
Packit 06404a
        -0.2902846772545f,-0.3136817403989f,-0.3368898533922f,-0.3598950365350f,
Packit 06404a
        -0.3826834323651f,-0.4052413140050f,-0.4275550934303f,-0.4496113296546f,
Packit 06404a
        -0.4713967368260f,-0.4928981922298f,-0.5141027441932f,-0.5349976198871f,
Packit 06404a
        -0.5555702330196f,-0.5758081914178f,-0.5956993044924f,-0.6152315905806f,
Packit 06404a
        -0.6343932841636f,-0.6531728429538f,-0.6715589548470f,-0.6895405447371f,
Packit 06404a
        -0.7071067811865f,-0.7242470829515f,-0.7409511253550f,-0.7572088465065f,
Packit 06404a
        -0.7730104533627f,-0.7883464276266f,-0.8032075314806f,-0.8175848131516f,
Packit 06404a
        -0.8314696123025f,-0.8448535652497f,-0.8577286100003f,-0.8700869911087f,
Packit 06404a
        -0.8819212643484f,-0.8932243011955f,-0.9039892931234f,-0.9142097557035f,
Packit 06404a
        -0.9238795325113f,-0.9329927988347f,-0.9415440651830f,-0.9495281805930f,
Packit 06404a
        -0.9569403357322f,-0.9637760657954f,-0.9700312531945f,-0.9757021300385f,
Packit 06404a
        -0.9807852804032f,-0.9852776423889f,-0.9891765099648f,-0.9924795345987f,
Packit 06404a
        -0.9951847266722f,-0.9972904566787f,-0.9987954562052f,-0.9996988186962f,
Packit 06404a
        -1.0000000000000f,
Packit 06404a
};
Packit 06404a
Packit 06404a
#define INVSQ_LOOKUP_SZ 32
Packit 06404a
static const float INVSQ_LOOKUP[INVSQ_LOOKUP_SZ+1]={
Packit 06404a
        1.414213562373f,1.392621247646f,1.371988681140f,1.352246807566f,
Packit 06404a
        1.333333333333f,1.315191898443f,1.297771369046f,1.281025230441f,
Packit 06404a
        1.264911064067f,1.249390095109f,1.234426799697f,1.219988562661f,
Packit 06404a
        1.206045378311f,1.192569588000f,1.179535649239f,1.166919931983f,
Packit 06404a
        1.154700538379f,1.142857142857f,1.131370849898f,1.120224067222f,
Packit 06404a
        1.109400392450f,1.098884511590f,1.088662107904f,1.078719779941f,
Packit 06404a
        1.069044967650f,1.059625885652f,1.050451462878f,1.041511287847f,
Packit 06404a
        1.032795558989f,1.024295039463f,1.016001016002f,1.007905261358f,
Packit 06404a
        1.000000000000f,
Packit 06404a
};
Packit 06404a
Packit 06404a
#define INVSQ2EXP_LOOKUP_MIN (-32)
Packit 06404a
#define INVSQ2EXP_LOOKUP_MAX 32
Packit 06404a
static const float INVSQ2EXP_LOOKUP[INVSQ2EXP_LOOKUP_MAX-\
Packit 06404a
                              INVSQ2EXP_LOOKUP_MIN+1]={
Packit 06404a
                 65536.f,    46340.95001f,         32768.f,    23170.47501f,
Packit 06404a
                 16384.f,     11585.2375f,          8192.f,    5792.618751f,
Packit 06404a
                  4096.f,    2896.309376f,          2048.f,    1448.154688f,
Packit 06404a
                  1024.f,    724.0773439f,           512.f,     362.038672f,
Packit 06404a
                   256.f,     181.019336f,           128.f,    90.50966799f,
Packit 06404a
                    64.f,      45.254834f,            32.f,      22.627417f,
Packit 06404a
                    16.f,     11.3137085f,             8.f,    5.656854249f,
Packit 06404a
                     4.f,    2.828427125f,             2.f,    1.414213562f,
Packit 06404a
                     1.f,   0.7071067812f,            0.5f,   0.3535533906f,
Packit 06404a
                   0.25f,   0.1767766953f,          0.125f,  0.08838834765f,
Packit 06404a
                 0.0625f,  0.04419417382f,        0.03125f,  0.02209708691f,
Packit 06404a
               0.015625f,  0.01104854346f,      0.0078125f, 0.005524271728f,
Packit 06404a
             0.00390625f, 0.002762135864f,    0.001953125f, 0.001381067932f,
Packit 06404a
           0.0009765625f, 0.000690533966f,  0.00048828125f, 0.000345266983f,
Packit 06404a
         0.000244140625f,0.0001726334915f,0.0001220703125f,8.631674575e-05f,
Packit 06404a
        6.103515625e-05f,4.315837288e-05f,3.051757812e-05f,2.157918644e-05f,
Packit 06404a
        1.525878906e-05f,
Packit 06404a
};
Packit 06404a
Packit 06404a
#endif
Packit 06404a
Packit 06404a
#define FROMdB_LOOKUP_SZ 35
Packit 06404a
#define FROMdB2_LOOKUP_SZ 32
Packit 06404a
#define FROMdB_SHIFT 5
Packit 06404a
#define FROMdB2_SHIFT 3
Packit 06404a
#define FROMdB2_MASK 31
Packit 06404a
Packit 06404a
#ifdef FLOAT_LOOKUP
Packit 06404a
static const float FROMdB_LOOKUP[FROMdB_LOOKUP_SZ]={
Packit 06404a
                     1.f,   0.6309573445f,   0.3981071706f,   0.2511886432f,
Packit 06404a
           0.1584893192f,            0.1f,  0.06309573445f,  0.03981071706f,
Packit 06404a
          0.02511886432f,  0.01584893192f,           0.01f, 0.006309573445f,
Packit 06404a
         0.003981071706f, 0.002511886432f, 0.001584893192f,          0.001f,
Packit 06404a
        0.0006309573445f,0.0003981071706f,0.0002511886432f,0.0001584893192f,
Packit 06404a
                 0.0001f,6.309573445e-05f,3.981071706e-05f,2.511886432e-05f,
Packit 06404a
        1.584893192e-05f,          1e-05f,6.309573445e-06f,3.981071706e-06f,
Packit 06404a
        2.511886432e-06f,1.584893192e-06f,          1e-06f,6.309573445e-07f,
Packit 06404a
        3.981071706e-07f,2.511886432e-07f,1.584893192e-07f,
Packit 06404a
};
Packit 06404a
Packit 06404a
static const float FROMdB2_LOOKUP[FROMdB2_LOOKUP_SZ]={
Packit 06404a
           0.9928302478f,   0.9786445908f,   0.9646616199f,   0.9508784391f,
Packit 06404a
           0.9372921937f,     0.92390007f,   0.9106992942f,   0.8976871324f,
Packit 06404a
           0.8848608897f,   0.8722179097f,   0.8597555737f,   0.8474713009f,
Packit 06404a
            0.835362547f,   0.8234268041f,   0.8116616003f,   0.8000644989f,
Packit 06404a
           0.7886330981f,   0.7773650302f,   0.7662579617f,    0.755309592f,
Packit 06404a
           0.7445176537f,   0.7338799116f,   0.7233941627f,   0.7130582353f,
Packit 06404a
           0.7028699885f,   0.6928273125f,   0.6829281272f,   0.6731703824f,
Packit 06404a
           0.6635520573f,   0.6540711597f,   0.6447257262f,   0.6355138211f,
Packit 06404a
};
Packit 06404a
#endif
Packit 06404a
Packit 06404a
#ifdef INT_LOOKUP
Packit 06404a
Packit 06404a
#define INVSQ_LOOKUP_I_SHIFT 10
Packit 06404a
#define INVSQ_LOOKUP_I_MASK 1023
Packit 06404a
static const long INVSQ_LOOKUP_I[64+1]={
Packit 06404a
           92682l,   91966l,   91267l,   90583l,
Packit 06404a
           89915l,   89261l,   88621l,   87995l,
Packit 06404a
           87381l,   86781l,   86192l,   85616l,
Packit 06404a
           85051l,   84497l,   83953l,   83420l,
Packit 06404a
           82897l,   82384l,   81880l,   81385l,
Packit 06404a
           80899l,   80422l,   79953l,   79492l,
Packit 06404a
           79039l,   78594l,   78156l,   77726l,
Packit 06404a
           77302l,   76885l,   76475l,   76072l,
Packit 06404a
           75674l,   75283l,   74898l,   74519l,
Packit 06404a
           74146l,   73778l,   73415l,   73058l,
Packit 06404a
           72706l,   72359l,   72016l,   71679l,
Packit 06404a
           71347l,   71019l,   70695l,   70376l,
Packit 06404a
           70061l,   69750l,   69444l,   69141l,
Packit 06404a
           68842l,   68548l,   68256l,   67969l,
Packit 06404a
           67685l,   67405l,   67128l,   66855l,
Packit 06404a
           66585l,   66318l,   66054l,   65794l,
Packit 06404a
           65536l,
Packit 06404a
};
Packit 06404a
Packit 06404a
#define COS_LOOKUP_I_SHIFT 9
Packit 06404a
#define COS_LOOKUP_I_MASK 511
Packit 06404a
#define COS_LOOKUP_I_SZ 128
Packit 06404a
static const long COS_LOOKUP_I[COS_LOOKUP_I_SZ+1]={
Packit 06404a
           16384l,   16379l,   16364l,   16340l,
Packit 06404a
           16305l,   16261l,   16207l,   16143l,
Packit 06404a
           16069l,   15986l,   15893l,   15791l,
Packit 06404a
           15679l,   15557l,   15426l,   15286l,
Packit 06404a
           15137l,   14978l,   14811l,   14635l,
Packit 06404a
           14449l,   14256l,   14053l,   13842l,
Packit 06404a
           13623l,   13395l,   13160l,   12916l,
Packit 06404a
           12665l,   12406l,   12140l,   11866l,
Packit 06404a
           11585l,   11297l,   11003l,   10702l,
Packit 06404a
           10394l,   10080l,    9760l,    9434l,
Packit 06404a
            9102l,    8765l,    8423l,    8076l,
Packit 06404a
            7723l,    7366l,    7005l,    6639l,
Packit 06404a
            6270l,    5897l,    5520l,    5139l,
Packit 06404a
            4756l,    4370l,    3981l,    3590l,
Packit 06404a
            3196l,    2801l,    2404l,    2006l,
Packit 06404a
            1606l,    1205l,     804l,     402l,
Packit 06404a
               0l,    -401l,    -803l,   -1204l,
Packit 06404a
           -1605l,   -2005l,   -2403l,   -2800l,
Packit 06404a
           -3195l,   -3589l,   -3980l,   -4369l,
Packit 06404a
           -4755l,   -5138l,   -5519l,   -5896l,
Packit 06404a
           -6269l,   -6638l,   -7004l,   -7365l,
Packit 06404a
           -7722l,   -8075l,   -8422l,   -8764l,
Packit 06404a
           -9101l,   -9433l,   -9759l,  -10079l,
Packit 06404a
          -10393l,  -10701l,  -11002l,  -11296l,
Packit 06404a
          -11584l,  -11865l,  -12139l,  -12405l,
Packit 06404a
          -12664l,  -12915l,  -13159l,  -13394l,
Packit 06404a
          -13622l,  -13841l,  -14052l,  -14255l,
Packit 06404a
          -14448l,  -14634l,  -14810l,  -14977l,
Packit 06404a
          -15136l,  -15285l,  -15425l,  -15556l,
Packit 06404a
          -15678l,  -15790l,  -15892l,  -15985l,
Packit 06404a
          -16068l,  -16142l,  -16206l,  -16260l,
Packit 06404a
          -16304l,  -16339l,  -16363l,  -16378l,
Packit 06404a
          -16383l,
Packit 06404a
};
Packit 06404a
Packit 06404a
#endif
Packit 06404a
Packit 06404a
#endif