annotate src/libvorbis-1.3.3/lib/lookup_data.h @ 83:ae30d91d2ffe

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