shithub: opus

ref: 662587d9c5d8f68aebb6d8b9207c086239eff27d
dir: /libcelt/static_modes_float.c/

View raw version
/* The contents of this file is automatically generated and contains static
   definitions for some pre-defined modes */
#include "modes.h"
#include "rate.h"

#ifndef DEF_WINDOW120
#define DEF_WINDOW120
static const opus_val16 window120[120] = {
0.000067000f, 0.000606000f, 0.001682000f, 0.003295000f, 0.005444000f, 0.008128000f, 0.011344000f, 0.015091000f, 0.019365000f, 0.024164001f, 0.029483000f, 0.035319999f, 0.041669000f, 0.048525002f, 0.055884000f, 0.063738003f, 0.072081998f, 0.080907002f, 0.090208001f, 0.099973999f, 0.110197999f, 0.120869003f, 0.131977007f, 0.143511996f, 0.155461997f, 0.167814001f, 0.180555001f, 0.193673000f, 0.207151994f, 0.220976993f, 0.235131994f, 0.249602005f, 0.264369011f, 0.279413998f, 0.294719994f, 0.310268015f, 0.326038003f, 0.342009008f, 0.358161986f, 0.374473989f, 0.390924990f, 0.407490999f, 0.424151987f, 0.440883994f, 0.457664996f, 0.474471003f, 0.491279989f, 0.508068025f, 0.524812996f, 0.541490972f, 0.558080018f, 0.574557006f, 0.590900004f, 0.607088029f, 0.623099983f, 0.638912976f, 0.654509008f, 0.669867992f, 0.684970975f, 0.699800014f, 0.714339018f, 0.728570998f, 0.742479980f, 0.756053984f, 0.769279003f, 0.782142997f, 0.794633985f, 0.806743979f, 0.818464994f, 0.829787016f, 0.840707004f, 0.851217985f, 0.861316979f, 0.871002018f, 0.880271018f, 0.889124990f, 0.897563994f, 0.905591011f, 0.913209021f, 0.920422971f, 0.927236974f, 0.933659971f, 0.939697027f, 0.945357025f, 0.950649023f, 0.955583990f, 0.960170984f, 0.964421988f, 0.968348980f, 0.971962988f, 0.975278974f, 0.978308976f, 0.981065989f, 0.983564973f, 0.985818982f, 0.987842023f, 0.989648998f, 0.991253018f, 0.992668986f, 0.993910015f, 0.994989991f, 0.995922983f, 0.996721983f, 0.997398973f, 0.997967005f, 0.998436987f, 0.998821974f, 0.999131978f, 0.999375999f, 0.999565005f, 0.999707997f, 0.999812007f, 0.999885976f, 0.999935985f, 0.999966979f, 0.999984980f, 0.999994993f, 0.999998987f, 1.000000000f, 1.000000000f, };
#endif

#ifndef DEF_LOGN400
#define DEF_LOGN400
static const opus_int16 logN400[21] = {
0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 16, 16, 16, 21, 21, 24, 29, 34, 36, };
#endif

#ifndef DEF_PULSE_CACHE50
#define DEF_PULSE_CACHE50
static const opus_int16 cache_index50[105] = {
-1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 41, 41, 41, 82, 82, 123, 164, 200, 222, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 123, 123, 123, 164, 164, 240, 266, 283, 295, 41, 41, 41, 41, 41, 41, 41, 41, 123, 123, 123, 123, 240, 240, 240, 266, 266, 305, 318, 328, 336, 123, 123, 123, 123, 123, 123, 123, 123, 240, 240, 240, 240, 305, 305, 305, 318, 318, 343, 351, 358, 364, 240, 240, 240, 240, 240, 240, 240, 240, 305, 305, 305, 305, 343, 343, 343, 351, 351, 370, 376, 382, 387, };
static const unsigned char cache_bits50[392] = {
40, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 40, 15, 23, 28, 31, 34, 36, 38, 39, 41, 42, 43, 44, 45, 46, 47, 47, 49, 50, 51, 52, 53, 54, 55, 55, 57, 58, 59, 60, 61, 62, 63, 63, 65, 66, 67, 68, 69, 70, 71, 71, 40, 20, 33, 41, 48, 53, 57, 61, 64, 66, 69, 71, 73, 75, 76, 78, 80, 82, 85, 87, 89, 91, 92, 94, 96, 98, 101, 103, 105, 107, 108, 110, 112, 114, 117, 119, 121, 123, 124, 126, 128, 40, 23, 39, 51, 60, 67, 73, 79, 83, 87, 91, 94, 97, 100, 102, 105, 107, 111, 115, 118, 121, 124, 126, 129, 131, 135, 139, 142, 145, 148, 150, 153, 155, 159, 163, 166, 169, 172, 174, 177, 179, 35, 28, 49, 65, 78, 89, 99, 107, 114, 120, 126, 132, 136, 141, 145, 149, 153, 159, 165, 171, 176, 180, 185, 189, 192, 199, 205, 211, 216, 220, 225, 229, 232, 239, 245, 251, 21, 33, 58, 79, 97, 112, 125, 137, 148, 157, 166, 174, 182, 189, 195, 201, 207, 217, 227, 235, 243, 251, 17, 35, 63, 86, 106, 123, 139, 152, 165, 177, 187, 197, 206, 214, 222, 230, 237, 250, 25, 31, 55, 75, 91, 105, 117, 128, 138, 146, 154, 161, 168, 174, 180, 185, 190, 200, 208, 215, 222, 229, 235, 240, 245, 255, 16, 36, 65, 89, 110, 128, 144, 159, 173, 185, 196, 207, 217, 226, 234, 242, 250, 11, 41, 74, 103, 128, 151, 172, 191, 209, 225, 241, 255, 9, 43, 79, 110, 138, 163, 186, 207, 227, 246, 12, 39, 71, 99, 123, 144, 164, 182, 198, 214, 228, 241, 253, 9, 44, 81, 113, 142, 168, 192, 214, 235, 255, 7, 49, 90, 127, 160, 191, 220, 247, 6, 51, 95, 134, 170, 203, 234, 7, 47, 87, 123, 155, 184, 212, 237, 6, 52, 97, 137, 174, 208, 240, 5, 57, 106, 151, 192, 231, 5, 59, 111, 158, 202, 243, 5, 55, 103, 147, 187, 224, 5, 60, 113, 161, 206, 248, 4, 65, 122, 175, 224, 4, 67, 127, 182, 234, };
static const unsigned char cache_caps50[168] = {
224, 224, 224, 224, 224, 224, 224, 224, 160, 160, 160, 160, 185, 185, 185, 178, 178, 168, 134, 61, 37, 224, 224, 224, 224, 224, 224, 224, 224, 240, 240, 240, 240, 207, 207, 207, 198, 198, 183, 144, 66, 40, 160, 160, 160, 160, 160, 160, 160, 160, 185, 185, 185, 185, 193, 193, 193, 183, 183, 172, 138, 64, 38, 240, 240, 240, 240, 240, 240, 240, 240, 207, 207, 207, 207, 204, 204, 204, 193, 193, 180, 143, 66, 40, 185, 185, 185, 185, 185, 185, 185, 185, 193, 193, 193, 193, 193, 193, 193, 183, 183, 172, 138, 65, 39, 207, 207, 207, 207, 207, 207, 207, 207, 204, 204, 204, 204, 201, 201, 201, 188, 188, 176, 141, 66, 40, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 194, 194, 194, 184, 184, 173, 139, 65, 39, 204, 204, 204, 204, 204, 204, 204, 204, 201, 201, 201, 201, 198, 198, 198, 187, 187, 175, 140, 66, 40, };
#endif

#ifndef FFT_TWIDDLES48000_960
#define FFT_TWIDDLES48000_960
static const kiss_twiddle_cpx fft_twiddles48000_960[480] = {
{1.000000000f, -0.000000000f}, {0.999913990f, -0.013090000f}, {0.999656975f, -0.026177000f}, {0.999229014f, -0.039260000f}, {0.998629987f, -0.052336000f}, {0.997859001f, -0.065403000f}, {0.996917009f, -0.078459002f}, {0.995805025f, -0.091502003f}, {0.994521976f, -0.104528002f}, {0.993067980f, -0.117536999f}, {0.991445005f, -0.130526006f}, {0.989651024f, -0.143492997f}, {0.987688005f, -0.156434000f}, {0.985556006f, -0.169349998f}, {0.983255029f, -0.182236001f}, {0.980785012f, -0.195089996f}, {0.978147984f, -0.207911998f}, {0.975341976f, -0.220697001f}, {0.972370028f, -0.233445004f}, {0.969231009f, -0.246152997f}, {0.965925992f, -0.258819014f}, {0.962454975f, -0.271439999f}, {0.958819985f, -0.284015000f}, {0.955020010f, -0.296541989f}, {0.951057017f, -0.309017003f}, {0.946929991f, -0.321438998f}, {0.942641020f, -0.333806992f}, {0.938190997f, -0.346116990f}, {0.933579981f, -0.358368009f}, {0.928810000f, -0.370557010f}, {0.923879981f, -0.382683009f}, {0.918790996f, -0.394744009f}, {0.913545012f, -0.406737000f}, {0.908142984f, -0.418660015f}, {0.902585030f, -0.430510998f}, {0.896872997f, -0.442288995f}, {0.891007006f, -0.453990012f}, {0.884988010f, -0.465615004f}, {0.878817022f, -0.477158993f}, {0.872496009f, -0.488620996f}, {0.866024971f, -0.500000000f}, {0.859405994f, -0.511292994f}, {0.852639973f, -0.522499025f}, {0.845727980f, -0.533614993f}, {0.838671029f, -0.544638991f}, {0.831470013f, -0.555570006f}, {0.824126005f, -0.566406012f}, {0.816641986f, -0.577144980f}, {0.809017003f, -0.587785006f}, {0.801253974f, -0.598325014f}, {0.793353021f, -0.608761013f}, {0.785317004f, -0.619094014f}, {0.777145982f, -0.629320025f}, {0.768841982f, -0.639438987f}, {0.760406017f, -0.649447978f}, {0.751839995f, -0.659345984f}, {0.743144989f, -0.669130981f}, {0.734322011f, -0.678801000f}, {0.725373983f, -0.688355029f}, {0.716301978f, -0.697790027f}, {0.707107008f, -0.707107008f}, {0.697790027f, -0.716301978f}, {0.688355029f, -0.725373983f}, {0.678801000f, -0.734322011f}, {0.669130981f, -0.743144989f}, {0.659345984f, -0.751839995f}, {0.649447978f, -0.760406017f}, {0.639438987f, -0.768841982f}, {0.629320025f, -0.777145982f}, {0.619094014f, -0.785317004f}, {0.608761013f, -0.793353021f}, {0.598325014f, -0.801253974f}, {0.587785006f, -0.809017003f}, {0.577144980f, -0.816641986f}, {0.566406012f, -0.824126005f}, {0.555570006f, -0.831470013f}, {0.544638991f, -0.838671029f}, {0.533614993f, -0.845727980f}, {0.522499025f, -0.852639973f}, {0.511292994f, -0.859405994f}, {0.500000000f, -0.866024971f}, {0.488620996f, -0.872496009f}, {0.477158993f, -0.878817022f}, {0.465615004f, -0.884988010f}, {0.453990012f, -0.891007006f}, {0.442288995f, -0.896872997f}, {0.430510998f, -0.902585030f}, {0.418660015f, -0.908142984f}, {0.406737000f, -0.913545012f}, {0.394744009f, -0.918790996f}, {0.382683009f, -0.923879981f}, {0.370557010f, -0.928810000f}, {0.358368009f, -0.933579981f}, {0.346116990f, -0.938190997f}, {0.333806992f, -0.942641020f}, {0.321438998f, -0.946929991f}, {0.309017003f, -0.951057017f}, {0.296541989f, -0.955020010f}, {0.284015000f, -0.958819985f}, {0.271439999f, -0.962454975f}, {0.258819014f, -0.965925992f}, {0.246152997f, -0.969231009f}, {0.233445004f, -0.972370028f}, {0.220697001f, -0.975341976f}, {0.207911998f, -0.978147984f}, {0.195089996f, -0.980785012f}, {0.182236001f, -0.983255029f}, {0.169349998f, -0.985556006f}, {0.156434000f, -0.987688005f}, {0.143492997f, -0.989651024f}, {0.130526006f, -0.991445005f}, {0.117536999f, -0.993067980f}, {0.104528002f, -0.994521976f}, {0.091502003f, -0.995805025f}, {0.078459002f, -0.996917009f}, {0.065403000f, -0.997859001f}, {0.052336000f, -0.998629987f}, {0.039260000f, -0.999229014f}, {0.026177000f, -0.999656975f}, {0.013090000f, -0.999913990f}, {0.000000000f, -1.000000000f}, {-0.013090000f, -0.999913990f}, {-0.026177000f, -0.999656975f}, {-0.039260000f, -0.999229014f}, {-0.052336000f, -0.998629987f}, {-0.065403000f, -0.997859001f}, {-0.078459002f, -0.996917009f}, {-0.091502003f, -0.995805025f}, {-0.104528002f, -0.994521976f}, {-0.117536999f, -0.993067980f}, {-0.130526006f, -0.991445005f}, {-0.143492997f, -0.989651024f}, {-0.156434000f, -0.987688005f}, {-0.169349998f, -0.985556006f}, {-0.182236001f, -0.983255029f}, {-0.195089996f, -0.980785012f}, {-0.207911998f, -0.978147984f}, {-0.220697001f, -0.975341976f}, {-0.233445004f, -0.972370028f}, {-0.246152997f, -0.969231009f}, {-0.258819014f, -0.965925992f}, {-0.271439999f, -0.962454975f}, {-0.284015000f, -0.958819985f}, {-0.296541989f, -0.955020010f}, {-0.309017003f, -0.951057017f}, {-0.321438998f, -0.946929991f}, {-0.333806992f, -0.942641020f}, {-0.346116990f, -0.938190997f}, {-0.358368009f, -0.933579981f}, {-0.370557010f, -0.928810000f}, {-0.382683009f, -0.923879981f}, {-0.394744009f, -0.918790996f}, {-0.406737000f, -0.913545012f}, {-0.418660015f, -0.908142984f}, {-0.430510998f, -0.902585030f}, {-0.442288995f, -0.896872997f}, {-0.453990012f, -0.891007006f}, {-0.465615004f, -0.884988010f}, {-0.477158993f, -0.878817022f}, {-0.488620996f, -0.872496009f}, {-0.500000000f, -0.866024971f}, {-0.511292994f, -0.859405994f}, {-0.522499025f, -0.852639973f}, {-0.533614993f, -0.845727980f}, {-0.544638991f, -0.838671029f}, {-0.555570006f, -0.831470013f}, {-0.566406012f, -0.824126005f}, {-0.577144980f, -0.816641986f}, {-0.587785006f, -0.809017003f}, {-0.598325014f, -0.801253974f}, {-0.608761013f, -0.793353021f}, {-0.619094014f, -0.785317004f}, {-0.629320025f, -0.777145982f}, {-0.639438987f, -0.768841982f}, {-0.649447978f, -0.760406017f}, {-0.659345984f, -0.751839995f}, {-0.669130981f, -0.743144989f}, {-0.678801000f, -0.734322011f}, {-0.688355029f, -0.725373983f}, {-0.697790027f, -0.716301978f}, {-0.707107008f, -0.707107008f}, {-0.716301978f, -0.697790027f}, {-0.725373983f, -0.688355029f}, {-0.734322011f, -0.678801000f}, {-0.743144989f, -0.669130981f}, {-0.751839995f, -0.659345984f}, {-0.760406017f, -0.649447978f}, {-0.768841982f, -0.639438987f}, {-0.777145982f, -0.629320025f}, {-0.785317004f, -0.619094014f}, {-0.793353021f, -0.608761013f}, {-0.801253974f, -0.598325014f}, {-0.809017003f, -0.587785006f}, {-0.816641986f, -0.577144980f}, {-0.824126005f, -0.566406012f}, {-0.831470013f, -0.555570006f}, {-0.838671029f, -0.544638991f}, {-0.845727980f, -0.533614993f}, {-0.852639973f, -0.522499025f}, {-0.859405994f, -0.511292994f}, {-0.866024971f, -0.500000000f}, {-0.872496009f, -0.488620996f}, {-0.878817022f, -0.477158993f}, {-0.884988010f, -0.465615004f}, {-0.891007006f, -0.453990012f}, {-0.896872997f, -0.442288995f}, {-0.902585030f, -0.430510998f}, {-0.908142984f, -0.418660015f}, {-0.913545012f, -0.406737000f}, {-0.918790996f, -0.394744009f}, {-0.923879981f, -0.382683009f}, {-0.928810000f, -0.370557010f}, {-0.933579981f, -0.358368009f}, {-0.938190997f, -0.346116990f}, {-0.942641020f, -0.333806992f}, {-0.946929991f, -0.321438998f}, {-0.951057017f, -0.309017003f}, {-0.955020010f, -0.296541989f}, {-0.958819985f, -0.284015000f}, {-0.962454975f, -0.271439999f}, {-0.965925992f, -0.258819014f}, {-0.969231009f, -0.246152997f}, {-0.972370028f, -0.233445004f}, {-0.975341976f, -0.220697001f}, {-0.978147984f, -0.207911998f}, {-0.980785012f, -0.195089996f}, {-0.983255029f, -0.182236001f}, {-0.985556006f, -0.169349998f}, {-0.987688005f, -0.156434000f}, {-0.989651024f, -0.143492997f}, {-0.991445005f, -0.130526006f}, {-0.993067980f, -0.117536999f}, {-0.994521976f, -0.104528002f}, {-0.995805025f, -0.091502003f}, {-0.996917009f, -0.078459002f}, {-0.997859001f, -0.065403000f}, {-0.998629987f, -0.052336000f}, {-0.999229014f, -0.039260000f}, {-0.999656975f, -0.026177000f}, {-0.999913990f, -0.013090000f}, {-1.000000000f, -0.000000000f}, {-0.999913990f, 0.013090000f}, {-0.999656975f, 0.026177000f}, {-0.999229014f, 0.039260000f}, {-0.998629987f, 0.052336000f}, {-0.997859001f, 0.065403000f}, {-0.996917009f, 0.078459002f}, {-0.995805025f, 0.091502003f}, {-0.994521976f, 0.104528002f}, {-0.993067980f, 0.117536999f}, {-0.991445005f, 0.130526006f}, {-0.989651024f, 0.143492997f}, {-0.987688005f, 0.156434000f}, {-0.985556006f, 0.169349998f}, {-0.983255029f, 0.182236001f}, {-0.980785012f, 0.195089996f}, {-0.978147984f, 0.207911998f}, {-0.975341976f, 0.220697001f}, {-0.972370028f, 0.233445004f}, {-0.969231009f, 0.246152997f}, {-0.965925992f, 0.258819014f}, {-0.962454975f, 0.271439999f}, {-0.958819985f, 0.284015000f}, {-0.955020010f, 0.296541989f}, {-0.951057017f, 0.309017003f}, {-0.946929991f, 0.321438998f}, {-0.942641020f, 0.333806992f}, {-0.938190997f, 0.346116990f}, {-0.933579981f, 0.358368009f}, {-0.928810000f, 0.370557010f}, {-0.923879981f, 0.382683009f}, {-0.918790996f, 0.394744009f}, {-0.913545012f, 0.406737000f}, {-0.908142984f, 0.418660015f}, {-0.902585030f, 0.430510998f}, {-0.896872997f, 0.442288995f}, {-0.891007006f, 0.453990012f}, {-0.884988010f, 0.465615004f}, {-0.878817022f, 0.477158993f}, {-0.872496009f, 0.488620996f}, {-0.866024971f, 0.500000000f}, {-0.859405994f, 0.511292994f}, {-0.852639973f, 0.522499025f}, {-0.845727980f, 0.533614993f}, {-0.838671029f, 0.544638991f}, {-0.831470013f, 0.555570006f}, {-0.824126005f, 0.566406012f}, {-0.816641986f, 0.577144980f}, {-0.809017003f, 0.587785006f}, {-0.801253974f, 0.598325014f}, {-0.793353021f, 0.608761013f}, {-0.785317004f, 0.619094014f}, {-0.777145982f, 0.629320025f}, {-0.768841982f, 0.639438987f}, {-0.760406017f, 0.649447978f}, {-0.751839995f, 0.659345984f}, {-0.743144989f, 0.669130981f}, {-0.734322011f, 0.678801000f}, {-0.725373983f, 0.688355029f}, {-0.716301978f, 0.697790027f}, {-0.707107008f, 0.707107008f}, {-0.697790027f, 0.716301978f}, {-0.688355029f, 0.725373983f}, {-0.678801000f, 0.734322011f}, {-0.669130981f, 0.743144989f}, {-0.659345984f, 0.751839995f}, {-0.649447978f, 0.760406017f}, {-0.639438987f, 0.768841982f}, {-0.629320025f, 0.777145982f}, {-0.619094014f, 0.785317004f}, {-0.608761013f, 0.793353021f}, {-0.598325014f, 0.801253974f}, {-0.587785006f, 0.809017003f}, {-0.577144980f, 0.816641986f}, {-0.566406012f, 0.824126005f}, {-0.555570006f, 0.831470013f}, {-0.544638991f, 0.838671029f}, {-0.533614993f, 0.845727980f}, {-0.522499025f, 0.852639973f}, {-0.511292994f, 0.859405994f}, {-0.500000000f, 0.866024971f}, {-0.488620996f, 0.872496009f}, {-0.477158993f, 0.878817022f}, {-0.465615004f, 0.884988010f}, {-0.453990012f, 0.891007006f}, {-0.442288995f, 0.896872997f}, {-0.430510998f, 0.902585030f}, {-0.418660015f, 0.908142984f}, {-0.406737000f, 0.913545012f}, {-0.394744009f, 0.918790996f}, {-0.382683009f, 0.923879981f}, {-0.370557010f, 0.928810000f}, {-0.358368009f, 0.933579981f}, {-0.346116990f, 0.938190997f}, {-0.333806992f, 0.942641020f}, {-0.321438998f, 0.946929991f}, {-0.309017003f, 0.951057017f}, {-0.296541989f, 0.955020010f}, {-0.284015000f, 0.958819985f}, {-0.271439999f, 0.962454975f}, {-0.258819014f, 0.965925992f}, {-0.246152997f, 0.969231009f}, {-0.233445004f, 0.972370028f}, {-0.220697001f, 0.975341976f}, {-0.207911998f, 0.978147984f}, {-0.195089996f, 0.980785012f}, {-0.182236001f, 0.983255029f}, {-0.169349998f, 0.985556006f}, {-0.156434000f, 0.987688005f}, {-0.143492997f, 0.989651024f}, {-0.130526006f, 0.991445005f}, {-0.117536999f, 0.993067980f}, {-0.104528002f, 0.994521976f}, {-0.091502003f, 0.995805025f}, {-0.078459002f, 0.996917009f}, {-0.065403000f, 0.997859001f}, {-0.052336000f, 0.998629987f}, {-0.039260000f, 0.999229014f}, {-0.026177000f, 0.999656975f}, {-0.013090000f, 0.999913990f}, {-0.000000000f, 1.000000000f}, {0.013090000f, 0.999913990f}, {0.026177000f, 0.999656975f}, {0.039260000f, 0.999229014f}, {0.052336000f, 0.998629987f}, {0.065403000f, 0.997859001f}, {0.078459002f, 0.996917009f}, {0.091502003f, 0.995805025f}, {0.104528002f, 0.994521976f}, {0.117536999f, 0.993067980f}, {0.130526006f, 0.991445005f}, {0.143492997f, 0.989651024f}, {0.156434000f, 0.987688005f}, {0.169349998f, 0.985556006f}, {0.182236001f, 0.983255029f}, {0.195089996f, 0.980785012f}, {0.207911998f, 0.978147984f}, {0.220697001f, 0.975341976f}, {0.233445004f, 0.972370028f}, {0.246152997f, 0.969231009f}, {0.258819014f, 0.965925992f}, {0.271439999f, 0.962454975f}, {0.284015000f, 0.958819985f}, {0.296541989f, 0.955020010f}, {0.309017003f, 0.951057017f}, {0.321438998f, 0.946929991f}, {0.333806992f, 0.942641020f}, {0.346116990f, 0.938190997f}, {0.358368009f, 0.933579981f}, {0.370557010f, 0.928810000f}, {0.382683009f, 0.923879981f}, {0.394744009f, 0.918790996f}, {0.406737000f, 0.913545012f}, {0.418660015f, 0.908142984f}, {0.430510998f, 0.902585030f}, {0.442288995f, 0.896872997f}, {0.453990012f, 0.891007006f}, {0.465615004f, 0.884988010f}, {0.477158993f, 0.878817022f}, {0.488620996f, 0.872496009f}, {0.500000000f, 0.866024971f}, {0.511292994f, 0.859405994f}, {0.522499025f, 0.852639973f}, {0.533614993f, 0.845727980f}, {0.544638991f, 0.838671029f}, {0.555570006f, 0.831470013f}, {0.566406012f, 0.824126005f}, {0.577144980f, 0.816641986f}, {0.587785006f, 0.809017003f}, {0.598325014f, 0.801253974f}, {0.608761013f, 0.793353021f}, {0.619094014f, 0.785317004f}, {0.629320025f, 0.777145982f}, {0.639438987f, 0.768841982f}, {0.649447978f, 0.760406017f}, {0.659345984f, 0.751839995f}, {0.669130981f, 0.743144989f}, {0.678801000f, 0.734322011f}, {0.688355029f, 0.725373983f}, {0.697790027f, 0.716301978f}, {0.707107008f, 0.707107008f}, {0.716301978f, 0.697790027f}, {0.725373983f, 0.688355029f}, {0.734322011f, 0.678801000f}, {0.743144989f, 0.669130981f}, {0.751839995f, 0.659345984f}, {0.760406017f, 0.649447978f}, {0.768841982f, 0.639438987f}, {0.777145982f, 0.629320025f}, {0.785317004f, 0.619094014f}, {0.793353021f, 0.608761013f}, {0.801253974f, 0.598325014f}, {0.809017003f, 0.587785006f}, {0.816641986f, 0.577144980f}, {0.824126005f, 0.566406012f}, {0.831470013f, 0.555570006f}, {0.838671029f, 0.544638991f}, {0.845727980f, 0.533614993f}, {0.852639973f, 0.522499025f}, {0.859405994f, 0.511292994f}, {0.866024971f, 0.500000000f}, {0.872496009f, 0.488620996f}, {0.878817022f, 0.477158993f}, {0.884988010f, 0.465615004f}, {0.891007006f, 0.453990012f}, {0.896872997f, 0.442288995f}, {0.902585030f, 0.430510998f}, {0.908142984f, 0.418660015f}, {0.913545012f, 0.406737000f}, {0.918790996f, 0.394744009f}, {0.923879981f, 0.382683009f}, {0.928810000f, 0.370557010f}, {0.933579981f, 0.358368009f}, {0.938190997f, 0.346116990f}, {0.942641020f, 0.333806992f}, {0.946929991f, 0.321438998f}, {0.951057017f, 0.309017003f}, {0.955020010f, 0.296541989f}, {0.958819985f, 0.284015000f}, {0.962454975f, 0.271439999f}, {0.965925992f, 0.258819014f}, {0.969231009f, 0.246152997f}, {0.972370028f, 0.233445004f}, {0.975341976f, 0.220697001f}, {0.978147984f, 0.207911998f}, {0.980785012f, 0.195089996f}, {0.983255029f, 0.182236001f}, {0.985556006f, 0.169349998f}, {0.987688005f, 0.156434000f}, {0.989651024f, 0.143492997f}, {0.991445005f, 0.130526006f}, {0.993067980f, 0.117536999f}, {0.994521976f, 0.104528002f}, {0.995805025f, 0.091502003f}, {0.996917009f, 0.078459002f}, {0.997859001f, 0.065403000f}, {0.998629987f, 0.052336000f}, {0.999229014f, 0.039260000f}, {0.999656975f, 0.026177000f}, {0.999913990f, 0.013090000f}, };
#ifndef FFT_BITREV480
#define FFT_BITREV480
static const opus_int16 fft_bitrev480[480] = {
0, 120, 240, 360, 30, 150, 270, 390, 60, 180, 300, 420, 90, 210, 330, 450, 15, 135, 255, 375, 45, 165, 285, 405, 75, 195, 315, 435, 105, 225, 345, 465, 5, 125, 245, 365, 35, 155, 275, 395, 65, 185, 305, 425, 95, 215, 335, 455, 20, 140, 260, 380, 50, 170, 290, 410, 80, 200, 320, 440, 110, 230, 350, 470, 10, 130, 250, 370, 40, 160, 280, 400, 70, 190, 310, 430, 100, 220, 340, 460, 25, 145, 265, 385, 55, 175, 295, 415, 85, 205, 325, 445, 115, 235, 355, 475, 1, 121, 241, 361, 31, 151, 271, 391, 61, 181, 301, 421, 91, 211, 331, 451, 16, 136, 256, 376, 46, 166, 286, 406, 76, 196, 316, 436, 106, 226, 346, 466, 6, 126, 246, 366, 36, 156, 276, 396, 66, 186, 306, 426, 96, 216, 336, 456, 21, 141, 261, 381, 51, 171, 291, 411, 81, 201, 321, 441, 111, 231, 351, 471, 11, 131, 251, 371, 41, 161, 281, 401, 71, 191, 311, 431, 101, 221, 341, 461, 26, 146, 266, 386, 56, 176, 296, 416, 86, 206, 326, 446, 116, 236, 356, 476, 2, 122, 242, 362, 32, 152, 272, 392, 62, 182, 302, 422, 92, 212, 332, 452, 17, 137, 257, 377, 47, 167, 287, 407, 77, 197, 317, 437, 107, 227, 347, 467, 7, 127, 247, 367, 37, 157, 277, 397, 67, 187, 307, 427, 97, 217, 337, 457, 22, 142, 262, 382, 52, 172, 292, 412, 82, 202, 322, 442, 112, 232, 352, 472, 12, 132, 252, 372, 42, 162, 282, 402, 72, 192, 312, 432, 102, 222, 342, 462, 27, 147, 267, 387, 57, 177, 297, 417, 87, 207, 327, 447, 117, 237, 357, 477, 3, 123, 243, 363, 33, 153, 273, 393, 63, 183, 303, 423, 93, 213, 333, 453, 18, 138, 258, 378, 48, 168, 288, 408, 78, 198, 318, 438, 108, 228, 348, 468, 8, 128, 248, 368, 38, 158, 278, 398, 68, 188, 308, 428, 98, 218, 338, 458, 23, 143, 263, 383, 53, 173, 293, 413, 83, 203, 323, 443, 113, 233, 353, 473, 13, 133, 253, 373, 43, 163, 283, 403, 73, 193, 313, 433, 103, 223, 343, 463, 28, 148, 268, 388, 58, 178, 298, 418, 88, 208, 328, 448, 118, 238, 358, 478, 4, 124, 244, 364, 34, 154, 274, 394, 64, 184, 304, 424, 94, 214, 334, 454, 19, 139, 259, 379, 49, 169, 289, 409, 79, 199, 319, 439, 109, 229, 349, 469, 9, 129, 249, 369, 39, 159, 279, 399, 69, 189, 309, 429, 99, 219, 339, 459, 24, 144, 264, 384, 54, 174, 294, 414, 84, 204, 324, 444, 114, 234, 354, 474, 14, 134, 254, 374, 44, 164, 284, 404, 74, 194, 314, 434, 104, 224, 344, 464, 29, 149, 269, 389, 59, 179, 299, 419, 89, 209, 329, 449, 119, 239, 359, 479, };
#endif

#ifndef FFT_BITREV240
#define FFT_BITREV240
static const opus_int16 fft_bitrev240[240] = {
0, 60, 120, 180, 15, 75, 135, 195, 30, 90, 150, 210, 45, 105, 165, 225, 5, 65, 125, 185, 20, 80, 140, 200, 35, 95, 155, 215, 50, 110, 170, 230, 10, 70, 130, 190, 25, 85, 145, 205, 40, 100, 160, 220, 55, 115, 175, 235, 1, 61, 121, 181, 16, 76, 136, 196, 31, 91, 151, 211, 46, 106, 166, 226, 6, 66, 126, 186, 21, 81, 141, 201, 36, 96, 156, 216, 51, 111, 171, 231, 11, 71, 131, 191, 26, 86, 146, 206, 41, 101, 161, 221, 56, 116, 176, 236, 2, 62, 122, 182, 17, 77, 137, 197, 32, 92, 152, 212, 47, 107, 167, 227, 7, 67, 127, 187, 22, 82, 142, 202, 37, 97, 157, 217, 52, 112, 172, 232, 12, 72, 132, 192, 27, 87, 147, 207, 42, 102, 162, 222, 57, 117, 177, 237, 3, 63, 123, 183, 18, 78, 138, 198, 33, 93, 153, 213, 48, 108, 168, 228, 8, 68, 128, 188, 23, 83, 143, 203, 38, 98, 158, 218, 53, 113, 173, 233, 13, 73, 133, 193, 28, 88, 148, 208, 43, 103, 163, 223, 58, 118, 178, 238, 4, 64, 124, 184, 19, 79, 139, 199, 34, 94, 154, 214, 49, 109, 169, 229, 9, 69, 129, 189, 24, 84, 144, 204, 39, 99, 159, 219, 54, 114, 174, 234, 14, 74, 134, 194, 29, 89, 149, 209, 44, 104, 164, 224, 59, 119, 179, 239, };
#endif

#ifndef FFT_BITREV120
#define FFT_BITREV120
static const opus_int16 fft_bitrev120[120] = {
0, 30, 60, 90, 15, 45, 75, 105, 5, 35, 65, 95, 20, 50, 80, 110, 10, 40, 70, 100, 25, 55, 85, 115, 1, 31, 61, 91, 16, 46, 76, 106, 6, 36, 66, 96, 21, 51, 81, 111, 11, 41, 71, 101, 26, 56, 86, 116, 2, 32, 62, 92, 17, 47, 77, 107, 7, 37, 67, 97, 22, 52, 82, 112, 12, 42, 72, 102, 27, 57, 87, 117, 3, 33, 63, 93, 18, 48, 78, 108, 8, 38, 68, 98, 23, 53, 83, 113, 13, 43, 73, 103, 28, 58, 88, 118, 4, 34, 64, 94, 19, 49, 79, 109, 9, 39, 69, 99, 24, 54, 84, 114, 14, 44, 74, 104, 29, 59, 89, 119, };
#endif

#ifndef FFT_BITREV60
#define FFT_BITREV60
static const opus_int16 fft_bitrev60[60] = {
0, 15, 30, 45, 5, 20, 35, 50, 10, 25, 40, 55, 1, 16, 31, 46, 6, 21, 36, 51, 11, 26, 41, 56, 2, 17, 32, 47, 7, 22, 37, 52, 12, 27, 42, 57, 3, 18, 33, 48, 8, 23, 38, 53, 13, 28, 43, 58, 4, 19, 34, 49, 9, 24, 39, 54, 14, 29, 44, 59, };
#endif

#ifndef FFT_STATE48000_960_0
#define FFT_STATE48000_960_0
static const kiss_fft_state fft_state48000_960_0 = {
480,	/* nfft */
0.002083000f,	/* scale */
-1,	/* shift */
{4, 120, 4, 30, 2, 15, 3, 5, 5, 1, 0, 0, 0, 0, 0, 0, },	/* factors */
fft_bitrev480,	/* bitrev */
fft_twiddles48000_960,	/* bitrev */
};
#endif

#ifndef FFT_STATE48000_960_1
#define FFT_STATE48000_960_1
static const kiss_fft_state fft_state48000_960_1 = {
240,	/* nfft */
0.004167000f,	/* scale */
1,	/* shift */
{4, 60, 4, 15, 3, 5, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, },	/* factors */
fft_bitrev240,	/* bitrev */
fft_twiddles48000_960,	/* bitrev */
};
#endif

#ifndef FFT_STATE48000_960_2
#define FFT_STATE48000_960_2
static const kiss_fft_state fft_state48000_960_2 = {
120,	/* nfft */
0.008333000f,	/* scale */
2,	/* shift */
{4, 30, 2, 15, 3, 5, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, },	/* factors */
fft_bitrev120,	/* bitrev */
fft_twiddles48000_960,	/* bitrev */
};
#endif

#ifndef FFT_STATE48000_960_3
#define FFT_STATE48000_960_3
static const kiss_fft_state fft_state48000_960_3 = {
60,	/* nfft */
0.016666999f,	/* scale */
3,	/* shift */
{4, 15, 3, 5, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, },	/* factors */
fft_bitrev60,	/* bitrev */
fft_twiddles48000_960,	/* bitrev */
};
#endif

#endif

#ifndef MDCT_TWIDDLES960
#define MDCT_TWIDDLES960
static const opus_val16 mdct_twiddles960[481] = {
1.000000000f, 0.999994993f, 0.999979019f, 0.999952018f, 0.999913990f, 0.999866009f, 0.999807000f, 0.999737978f, 0.999656975f, 0.999566019f, 0.999464989f, 0.999351978f, 0.999229014f, 0.999095023f, 0.998951018f, 0.998794973f, 0.998629987f, 0.998453021f, 0.998265982f, 0.998067975f, 0.997859001f, 0.997640014f, 0.997408986f, 0.997169018f, 0.996917009f, 0.996654987f, 0.996381998f, 0.996098995f, 0.995805025f, 0.995500028f, 0.995185018f, 0.994858980f, 0.994521976f, 0.994174004f, 0.993816018f, 0.993448019f, 0.993067980f, 0.992679000f, 0.992277980f, 0.991867006f, 0.991445005f, 0.991011977f, 0.990568995f, 0.990116000f, 0.989651024f, 0.989176989f, 0.988690972f, 0.988195002f, 0.987688005f, 0.987170994f, 0.986643016f, 0.986105025f, 0.985556006f, 0.984996974f, 0.984426975f, 0.983846009f, 0.983255029f, 0.982653022f, 0.982041001f, 0.981418014f, 0.980785012f, 0.980141997f, 0.979487002f, 0.978823006f, 0.978147984f, 0.977461994f, 0.976765990f, 0.976059020f, 0.975341976f, 0.974614978f, 0.973877013f, 0.973128974f, 0.972370028f, 0.971601009f, 0.970821023f, 0.970031023f, 0.969231009f, 0.968420029f, 0.967598975f, 0.966768026f, 0.965925992f, 0.965074003f, 0.964210987f, 0.963338017f, 0.962454975f, 0.961561978f, 0.960658014f, 0.959743977f, 0.958819985f, 0.957885027f, 0.956939995f, 0.955985010f, 0.955020010f, 0.954043984f, 0.953059018f, 0.952063024f, 0.951057017f, 0.950039983f, 0.949014008f, 0.947977006f, 0.946929991f, 0.945873022f, 0.944805980f, 0.943728983f, 0.942641020f, 0.941543996f, 0.940437019f, 0.939319015f, 0.938190997f, 0.937053978f, 0.935905993f, 0.934747994f, 0.933579981f, 0.932403028f, 0.931214988f, 0.930016994f, 0.928810000f, 0.927591980f, 0.926364005f, 0.925127029f, 0.923879981f, 0.922622025f, 0.921355009f, 0.920077980f, 0.918790996f, 0.917493999f, 0.916188002f, 0.914871991f, 0.913545012f, 0.912209988f, 0.910863996f, 0.909507990f, 0.908142984f, 0.906768024f, 0.905384004f, 0.903989017f, 0.902585030f, 0.901171982f, 0.899748027f, 0.898315012f, 0.896872997f, 0.895421028f, 0.893958986f, 0.892486989f, 0.891007006f, 0.889515996f, 0.888015985f, 0.886506975f, 0.884988010f, 0.883458972f, 0.881920993f, 0.880374014f, 0.878817022f, 0.877251029f, 0.875675023f, 0.874090016f, 0.872496009f, 0.870891988f, 0.869279027f, 0.867657006f, 0.866024971f, 0.864385009f, 0.862734020f, 0.861074984f, 0.859405994f, 0.857729018f, 0.856042027f, 0.854345024f, 0.852639973f, 0.850925982f, 0.849201977f, 0.847469985f, 0.845727980f, 0.843976974f, 0.842217028f, 0.840448022f, 0.838671029f, 0.836884022f, 0.835088015f, 0.833283007f, 0.831470013f, 0.829647005f, 0.827816010f, 0.825975001f, 0.824126005f, 0.822268009f, 0.820401013f, 0.818526030f, 0.816641986f, 0.814747989f, 0.812847018f, 0.810935974f, 0.809017003f, 0.807088971f, 0.805153012f, 0.803207994f, 0.801253974f, 0.799291015f, 0.797321022f, 0.795341015f, 0.793353021f, 0.791356981f, 0.789352000f, 0.787338972f, 0.785317004f, 0.783286989f, 0.781247973f, 0.779200971f, 0.777145982f, 0.775081992f, 0.773010015f, 0.770929992f, 0.768841982f, 0.766744971f, 0.764639974f, 0.762526989f, 0.760406017f, 0.758276999f, 0.756138980f, 0.753993988f, 0.751839995f, 0.749678016f, 0.747507989f, 0.745330989f, 0.743144989f, 0.740951002f, 0.738749981f, 0.736540020f, 0.734322011f, 0.732097030f, 0.729864001f, 0.727622986f, 0.725373983f, 0.723118007f, 0.720853984f, 0.718581975f, 0.716301978f, 0.714015007f, 0.711719990f, 0.709416986f, 0.707107008f, 0.704788983f, 0.702463984f, 0.700130999f, 0.697790027f, 0.695442975f, 0.693086982f, 0.690725029f, 0.688355029f, 0.685976982f, 0.683592021f, 0.681200027f, 0.678801000f, 0.676393986f, 0.673979998f, 0.671558976f, 0.669130981f, 0.666694999f, 0.664251983f, 0.661803007f, 0.659345984f, 0.656881988f, 0.654411018f, 0.651933014f, 0.649447978f, 0.646956027f, 0.644456983f, 0.641951978f, 0.639438987f, 0.636919975f, 0.634392977f, 0.631860018f, 0.629320025f, 0.626774013f, 0.624221027f, 0.621661007f, 0.619094014f, 0.616521001f, 0.613941014f, 0.611353993f, 0.608761013f, 0.606162012f, 0.603555977f, 0.600943983f, 0.598325014f, 0.595699012f, 0.593068004f, 0.590430021f, 0.587785006f, 0.585134983f, 0.582477987f, 0.579814970f, 0.577144980f, 0.574469984f, 0.571788013f, 0.569100022f, 0.566406012f, 0.563705981f, 0.560999990f, 0.558287978f, 0.555570006f, 0.552846014f, 0.550116003f, 0.547380984f, 0.544638991f, 0.541891992f, 0.539138019f, 0.536378980f, 0.533614993f, 0.530843973f, 0.528068006f, 0.525286019f, 0.522499025f, 0.519706011f, 0.516906977f, 0.514102995f, 0.511292994f, 0.508477986f, 0.505657017f, 0.502830982f, 0.500000000f, 0.497162998f, 0.494320989f, 0.491474003f, 0.488620996f, 0.485763013f, 0.482899994f, 0.480031997f, 0.477158993f, 0.474280000f, 0.471397012f, 0.468508005f, 0.465615004f, 0.462716013f, 0.459811985f, 0.456903994f, 0.453990012f, 0.451072007f, 0.448148996f, 0.445221007f, 0.442288995f, 0.439350992f, 0.436408997f, 0.433463007f, 0.430510998f, 0.427554995f, 0.424594998f, 0.421629012f, 0.418660015f, 0.415686011f, 0.412707001f, 0.409723997f, 0.406737000f, 0.403744996f, 0.400748998f, 0.397747993f, 0.394744009f, 0.391734987f, 0.388722003f, 0.385704994f, 0.382683009f, 0.379658014f, 0.376628011f, 0.373594999f, 0.370557010f, 0.367516011f, 0.364470989f, 0.361420989f, 0.358368009f, 0.355311006f, 0.352250010f, 0.349184990f, 0.346116990f, 0.343044996f, 0.339969009f, 0.336890012f, 0.333806992f, 0.330720007f, 0.327630013f, 0.324537009f, 0.321438998f, 0.318338990f, 0.315234989f, 0.312128007f, 0.309017003f, 0.305902988f, 0.302785993f, 0.299665004f, 0.296541989f, 0.293415010f, 0.290284991f, 0.287151992f, 0.284015000f, 0.280876011f, 0.277734011f, 0.274589002f, 0.271439999f, 0.268289000f, 0.265134990f, 0.261979014f, 0.258819014f, 0.255656987f, 0.252492011f, 0.249323994f, 0.246152997f, 0.242980003f, 0.239804000f, 0.236625999f, 0.233445004f, 0.230261996f, 0.227075994f, 0.223887995f, 0.220697001f, 0.217503995f, 0.214309007f, 0.211111993f, 0.207911998f, 0.204710007f, 0.201505005f, 0.198299006f, 0.195089996f, 0.191880003f, 0.188666999f, 0.185451999f, 0.182236001f, 0.179017007f, 0.175796002f, 0.172573999f, 0.169349998f, 0.166123003f, 0.162894994f, 0.159666002f, 0.156434000f, 0.153200999f, 0.149967000f, 0.146730006f, 0.143492997f, 0.140253007f, 0.137012005f, 0.133770004f, 0.130526006f, 0.127280995f, 0.124034002f, 0.120787002f, 0.117536999f, 0.114286996f, 0.111034997f, 0.107781999f, 0.104528002f, 0.101273000f, 0.098017000f, 0.094760001f, 0.091502003f, 0.088242002f, 0.084982000f, 0.081721000f, 0.078459002f, 0.075195998f, 0.071933001f, 0.068668000f, 0.065403000f, 0.062137000f, 0.058871001f, 0.055604000f, 0.052336000f, 0.049068000f, 0.045798998f, 0.042530000f, 0.039260000f, 0.035990000f, 0.032719001f, 0.029448001f, 0.026177000f, 0.022905000f, 0.019633999f, 0.016362000f, 0.013090000f, 0.009817000f, 0.006545000f, 0.003272000f, 0.000000000f, };
#endif

static const CELTMode mode48000_960_120 = {
48000,	/* Fs */
120,	/* overlap */
21,	/* nbEBands */
21,	/* effEBands */
{0.850005984f, 0.000000000f, 1.000000000f, 1.000000000f, },	/* preemph */
eband5ms,	/* eBands */
11,	/* nbAllocVectors */
band_allocation,	/* allocVectors */
{1920, 3, {&fft_state48000_960_0, &fft_state48000_960_1, &fft_state48000_960_2, &fft_state48000_960_3, }, mdct_twiddles960},	/* mdct */
window120,	/* window */
3,	/* maxLM */
8,	/* nbShortMdcts */
120,	/* shortMdctSize */
logN400,	/* logN */
{392, cache_index50, cache_bits50, cache_caps50},	/* cache */
};

/* List of all the available modes */
#define TOTAL_MODES 1
static const CELTMode * const static_mode_list[TOTAL_MODES] = {
&mode48000_960_120,
};