/*==================================================================================== EVS Codec 3GPP TS26.443 Jun 30, 2015. Version CR 26.443-0006 ====================================================================================*/ #include "options.h" #include "cnst.h" #include "rom_com.h" #include "prot.h" #include "basop_util.h" /*----------------------------------------------------------------------------------* * Table of bitrates *----------------------------------------------------------------------------------*/ const long brate_tbl[SIZE_BRATE_TBL] = { ACELP_7k20, ACELP_8k00, ACELP_9k60, ACELP_13k20, ACELP_16k40, ACELP_24k40, ACELP_32k, ACELP_48k, ACELP_64k, HQ_96k, HQ_128k }; /*----------------------------------------------------------------------------------* * Frame size and mode configuration tables *----------------------------------------------------------------------------------*/ const FrameSizeParams FrameSizeConfig[FRAME_SIZE_NB] = { /* bits, net bits, trans_bits, trans_mode, band_bits, band_mode_min, band_mode_max, reserved_bits */ { FRAME_0, FRAME_0, 0, {0,0}, 0, 0, 0, 0}, /* 0 kbps ZERO_FRAME*/ { FRAME_2, FRAME_2-1, 0, {0,1}, 1, NB, WB, 0}, /* 2 kbps VBR*/ { FRAME_2_4, FRAME_2_4-2, 1, {1,1}, 1, NB, WB, 0}, /* 2.4kbps VBR(SID)*/ { FRAME_4, FRAME_4-1, 0, {0,1}, 1, NB, WB, 0}, /* 4 kbps VBR*/ { FRAME_5_6, FRAME_5_6-1, 0, {0,1}, 1, NB, WB, 0}, /* 5.6kbps VBR*/ { FRAME_7_2, FRAME_7_2-1, 0, {0,1}, 1, NB, WB, 0}, /* 7.2kbps VBR/CBR*/ { FRAME_8, FRAME_8-1, 0, {0,1}, 1, NB, WB, 0}, /* 8 kbps VBR/CBR*/ { FRAME_9_6, FRAME_9_6-2, 0, {0,1}, 2, NB, SWB, 0}, /* 9.6kbps CBR*/ { FRAME_13_2, FRAME_13_2-2, 0, {0,1}, 2, NB, SWB, 0}, /* 13.2kbps CBR*/ { FRAME_16_4, FRAME_16_4-3, 0, {0,1}, 2, NB, FB, 1}, /* 16.4kbps CBR*/ { FRAME_24_4, FRAME_24_4-3, 0, {0,1}, 2, NB, FB, 1}, /* 24.4kbps CBR*/ { FRAME_32, FRAME_32-3, 0, {0,1}, 2, WB, FB, 1}, /* 32 kbps CBR*/ { FRAME_48, FRAME_48-3, 0, {0,1}, 2, WB, FB, 1}, /* 48 kbps CBR*/ { FRAME_64, FRAME_64-3, 0, {0,1}, 2, WB, FB, 1}, /* 64 kbps CBR*/ { FRAME_96, FRAME_96-3, 0, {0,1}, 2, WB, FB, 1}, /* 96 kbps CBR*/ { FRAME_128, FRAME_128-3, 0, {0,1}, 2, WB, FB, 1} /*128 kbps CBR*/ }; /*----------------------------------------------------------------------------------* * Conversion of ACELP signalling parameters (ACELP internal Fs, coder type, bandwidth, sharpening flag) to index * (to be consulted with the decision matrix) * * - in order to retrieve the index, each section in this table starts with the bitrate * - the second value in each section corresponds to the number of bits * - the other values represent indices created by combining different parameters into a single value through the macro SIG2IND() *----------------------------------------------------------------------------------*/ const long acelp_sig_tbl[MAX_ACELP_SIG] = { /* GENERIC UNVOICED VOICED TRANSITION AUDIO INACTIVE */ ACELP_7k20, 4, SIG2IND(GENERIC, NB, 1, 0), SIG2IND(UNVOICED, NB, 0, 0), SIG2IND(VOICED, NB, 1, 0), SIG2IND(TRANSITION, NB, 1, 0), SIG2IND(AUDIO, NB, 0, 0), SIG2IND(INACTIVE, NB, 0, 0), SIG2IND(GENERIC, WB, 1, 0), SIG2IND(UNVOICED, WB, 0, 0), SIG2IND(VOICED, WB, 1, 0), SIG2IND(TRANSITION, WB, 1, 0), SIG2IND(AUDIO, WB, 0, 0), SIG2IND(INACTIVE, WB, 0, 0), SIG2IND(GENERIC, NB, 0, 0), SIG2IND(GENERIC, WB, 0, 0), SIG2IND(LR_MDCT, NB, 0, 0), ACELP_8k00, 4, SIG2IND(GENERIC, NB, 1, 0), SIG2IND(UNVOICED, NB, 0, 0), SIG2IND(VOICED, NB, 1, 0), SIG2IND(TRANSITION, NB, 1, 0), SIG2IND(AUDIO, NB, 0, 0), SIG2IND(INACTIVE, NB, 0, 0), SIG2IND(GENERIC, WB, 1, 0), SIG2IND(UNVOICED, WB, 0, 0), SIG2IND(VOICED, WB, 1, 0), SIG2IND(TRANSITION, WB, 1, 0), SIG2IND(AUDIO, WB, 0, 0), SIG2IND(INACTIVE, WB, 0, 0), SIG2IND(GENERIC, NB, 0, 0), SIG2IND(GENERIC, WB, 0, 0), SIG2IND(LR_MDCT, NB, 0, 0), ACELP_13k20, 5, SIG2IND(GENERIC, NB, 1, 0), SIG2IND(VOICED, NB, 1, 0), SIG2IND(TRANSITION, NB, 0, 0), SIG2IND(AUDIO, NB, 0, 0), SIG2IND(INACTIVE, NB, 0, 0), SIG2IND(GENERIC, WB, 1, 0), SIG2IND(VOICED, WB, 1, 0), SIG2IND(TRANSITION, WB, 0, 0), SIG2IND(AUDIO, WB, 0, 0), SIG2IND(INACTIVE, WB, 0, 0), SIG2IND(GENERIC, SWB, 1, 0), SIG2IND(VOICED, SWB, 1, 0), SIG2IND(TRANSITION, SWB, 0, 0), SIG2IND(AUDIO, SWB, 0, 0), SIG2IND(INACTIVE, SWB, 0, 0), SIG2IND(GENERIC, NB, 0, 0), SIG2IND(VOICED, NB, 0, 0), SIG2IND(GENERIC, WB, 0, 0), SIG2IND(VOICED, WB, 0, 0), SIG2IND(GENERIC, SWB, 0, 0), SIG2IND(VOICED, SWB, 0, 0), SIG2IND(GENERIC, WB, 1, 1), SIG2IND(UNVOICED, WB, 0, 1), SIG2IND(VOICED, WB, 1, 1), SIG2IND(INACTIVE, WB, 0, 1), SIG2IND(GENERIC, SWB, 1, 1), SIG2IND(UNVOICED, SWB, 0, 1), SIG2IND(VOICED, SWB, 1, 1), SIG2IND(INACTIVE, SWB, 0, 1), SIG2IND(LR_MDCT, NB, 0, 0), SIG2IND(LR_MDCT, WB, 0, 0), SIG2IND(LR_MDCT, SWB, 0, 0), ACELP_32k, 4, SIG2IND(GENERIC, WB, 1, 0), SIG2IND(TRANSITION, WB, 1, 0), SIG2IND(INACTIVE, WB, 0, 0), SIG2IND(GENERIC, SWB, 1, 0), SIG2IND(TRANSITION, SWB, 1, 0), SIG2IND(INACTIVE, SWB, 0, 0), SIG2IND(GENERIC, FB, 1, 0), SIG2IND(TRANSITION, FB, 1, 0), SIG2IND(INACTIVE, FB, 0, 0), SIG2IND(GENERIC, WB, 0, 0), SIG2IND(TRANSITION, WB, 0, 0), SIG2IND(GENERIC, SWB, 0, 0), SIG2IND(TRANSITION, SWB, 0, 0), SIG2IND(GENERIC, FB, 0, 0), SIG2IND(TRANSITION, FB, 0, 0), ACELP_64k, 4, SIG2IND(GENERIC, WB, 0, 0), SIG2IND(TRANSITION, WB, 0, 0), SIG2IND(INACTIVE, WB, 0, 0), SIG2IND(GENERIC, SWB, 1, 0), SIG2IND(TRANSITION, SWB, 1, 0), SIG2IND(INACTIVE, SWB, 0, 0), SIG2IND(GENERIC, FB, 1, 0), SIG2IND(TRANSITION, FB, 1, 0), SIG2IND(INACTIVE, FB, 0, 0), SIG2IND(GENERIC, SWB, 0, 0), SIG2IND(TRANSITION, SWB, 0, 0), SIG2IND(GENERIC, FB, 0, 0), SIG2IND(TRANSITION, FB, 0, 0), }; /*----------------------------------------------------------------------------------* * ACELP bit allocation tables *----------------------------------------------------------------------------------*/ /* bit allocation table for end-frame LSF quantizer */ const short LSF_bits_tbl[] = { /* IC UC VC GC TC AC */ 22, 37, 31, 29, 31, 22, /* ACELP_7k20 */ 22, 40, 36, 33, 34, 22, /* ACELP_8k00 */ 31, 0, 37, 37, 40, 31, /* ACELP_11k60 */ 31, 0, 39, 39, 41, 31, /* ACELP_12k15 */ 31, 0, 38, 38, 40, 31, /* ACELP_12k85 */ 31, 0, 38, 38, 40, 31, /* ACELP_13k20 */ 31, 0, 37, 42, 42, 31, /* ACELP_14k80 */ 31, 0, 43, 40, 40, 31, /* ACELP_16k40 */ 31, 0, 42, 40, 40, 0, /* ACELP_22k60 */ 31, 0, 46, 41, 41, 31, /* ACELP_24k40 */ 41, 0, 0, 41, 41, 0, /* ACELP_29k00 */ 41, 0, 0, 41, 41, 0, /* ACELP_29k20 */ 41, 0, 0, 41, 41, 0, /* ACELP_30k20 */ 41, 0, 0, 41, 41, 0, /* ACELP_30k40 */ 41, 0, 0, 41, 41, 0, /* ACELP_32k */ 41, 0, 0, 41, 41, 0, /* ACELP_48k */ 41, 0, 0, 41, 41, 0, /* ACELP_64k */ }; /* bit allocation table for mid-frame LSF quantizer */ const short mid_LSF_bits_tbl[] = { /* IC UC VC GC TC AC */ 2, 5, 4, 5, 5, 2, /* ACELP_7k20 */ 2, 5, 4, 5, 5, 2, /* ACELP_8k00 */ 2, 0, 4, 5, 5, 2, /* ACELP_11k60 */ 2, 0, 5, 5, 5, 2, /* ACELP_12k15 */ 2, 0, 5, 5, 5, 2, /* ACELP_12k85 */ 2, 0, 5, 5, 5, 2, /* ACELP_13k20 */ 4, 0, 5, 5, 5, 4, /* ACELP_14k80 */ 4, 0, 5, 5, 5, 4, /* ACELP_16k40 */ 5, 0, 5, 5, 5, 5, /* ACELP_22k60 */ 5, 0, 5, 5, 5, 5, /* ACELP_24k40 */ 5, 0, 0, 5, 5, 5, /* ACELP_29k00 */ 5, 0, 0, 5, 5, 5, /* ACELP_29k20 */ 5, 0, 0, 5, 5, 5, /* ACELP_30k20 */ 5, 0, 0, 5, 5, 5, /* ACELP_30k40 */ 5, 0, 0, 5, 5, 5, /* ACELP_32k */ 5, 0, 0, 5, 5, 5, /* ACELP_48k */ 5, 0, 0, 5, 5, 5, /* ACELP_64k */ }; /* bit allocation table for scaled innovation energy prediction */ const short Es_pred_bits_tbl[] = { /* UC VC GC TC */ 0, 0, 0, 4, /* ACELP_7k20 */ 0, 0, 0, 4, /* ACELP_8k00 */ 0, 5, 4, 4, /* ACELP_11k60 */ 0, 5, 5, 5, /* ACELP_12k15 */ 0, 5, 4, 5, /* ACELP_12k85 */ 0, 5, 4, 4, /* ACELP_13k20 */ 0, 5, 5, 5, /* ACELP_14k80 */ 0, 5, 5, 5, /* ACELP_16k40 */ 0, 5, 5, 5, /* ACELP_22k60 */ 0, 5, 5, 5, /* ACELP_24k40 */ 0, 0, 5, 5, /* ACELP_29k00 */ 0, 0, 5, 5, /* ACELP_29k20 */ 0, 0, 5, 5, /* ACELP_30k20 */ 0, 0, 5, 5, /* ACELP_30k40 */ 0, 0, 5, 5, /* ACELP_32k */ 0, 0, 5, 5, /* ACELP_48k */ 0, 0, 5, 5, /* ACELP_64k */ }; /* bit allocation table for gain quantizer (ACELP@12.8kHz) */ /* the 4 values allocated correspond to 4 subframes */ const short gain_bits_tbl[] = { /* UC VC GC TC0_0 TC0_64 TC0_128 TC0_192 TC64 TC128 TC192 */ 7,7,7,7, 7,6,6,6, 6,6,6,6, 5,5,5,5, 5,5,6,5, 5,3,6,6, 5,3,3,6, 3,6,6,6, 3,3,6,6, 3,3,3,10, /* ACELP_7k20 */ 7,7,7,7, 8,7,6,6, 8,7,6,6, 5,5,5,5, 5,6,5,5, 5,3,6,6, 5,3,3,6, 3,5,5,5, 3,3,6,6, 3,3,3,14, /* ACELP_8k00 */ 0,0,0,0, 6,6,6,6, 6,6,6,6, 6,6,6,6, 6,6,6,6, 6,3,6,6, 6,3,3,6, 3,6,6,6, 3,3,6,6, 3,3,3,13, /* ACELP_11k60 */ 0,0,0,0, 6,6,6,6, 6,6,6,6, 6,6,6,6, 6,6,6,6, 6,3,6,6, 6,3,3,6, 3,6,6,6, 3,3,6,6, 3,3,3,14, /* ACELP_12k15 */ 0,0,0,0, 6,6,6,6, 6,6,6,6, 6,6,6,6, 6,6,6,6, 6,3,6,6, 6,3,3,6, 3,6,6,6, 3,3,6,5, 3,3,3,14, /* ACELP_12k85 */ 0,0,0,0, 6,6,6,6, 6,6,6,6, 6,6,6,6, 6,6,6,6, 6,3,6,6, 6,3,3,6, 3,6,6,6, 3,3,6,6, 3,3,3,15, /* ACELP_13k20 */ 0,0,0,0, 6,6,6,6, 6,6,6,6, 6,6,6,6, 6,6,6,6, 6,3,6,6, 6,3,3,6, 3,6,6,6, 3,3,6,6, 3,3,3,15, /* ACELP_14k80 */ 0,0,0,0, 6,6,6,6, 6,6,6,6, 6,6,6,6, 6,6,6,6, 6,3,6,6, 6,3,3,6, 3,6,6,6, 3,3,6,6, 3,3,3,15, /* ACELP_16k40 */ 0,0,0,0, 6,6,6,6, 6,6,6,6, 6,6,6,6, 6,6,6,6, 6,3,6,6, 6,3,3,6, 3,6,6,6, 3,3,6,6, 3,3,3,14, /* ACELP_22k60 */ 0,0,0,0, 6,6,6,6, 6,6,6,6, 6,6,6,6, 6,6,6,6, 6,3,6,6, 6,3,3,6, 3,6,6,6, 3,3,6,6, 3,3,3,15, /* ACELP_24k40 */ }; /* bit allocation table for gain gain quantizer (ACELP@16kHz) */ /* the 5 values allocated correspond to 5 subframes */ const short gain_bits_16kHz_tbl[] = { /* IC GC TC0 TC64 TC128 TC192 TC256 */ 0,0,0,0,0, 6,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0, 0, /* ACELP_8k00 */ 0,0,0,0,0, 6,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0, 0, /* ACELP_14k80 */ 6,6,6,6,6, 6,6,6,6,6, 6,6,6,6,6, 3,6,6,6,6, 3,3,6,6,6, 3,3,3,6,6, 3,3,3,3,15, /* ACELP_22k60 */ 6,6,6,6,6, 6,6,6,6,6, 6,6,6,6,6, 3,6,6,6,6, 3,3,6,6,6, 3,3,3,6,6, 3,3,3,3,16, /* ACELP_24k40 */ 6,6,6,6,6, 6,6,6,6,6, 6,6,6,6,6, 3,6,6,6,6, 3,3,6,6,6, 3,3,3,6,6, 3,3,3,3,14, /* ACELP_29k00 */ 6,6,6,6,6, 6,6,6,6,6, 6,6,6,6,6, 3,6,6,6,6, 3,3,6,6,6, 3,3,3,6,6, 3,3,3,3,14, /* ACELP_29k20 */ 6,6,6,6,6, 6,6,6,6,6, 6,6,6,6,6, 3,6,6,6,6, 3,3,6,6,6, 3,3,3,6,6, 3,3,3,3,14, /* ACELP_30k20 */ 6,6,6,6,6, 6,6,6,6,6, 6,6,6,6,6, 3,6,6,6,6, 3,3,6,6,6, 3,3,3,6,6, 3,3,3,3,14, /* ACELP_30k40 */ 6,6,6,6,6, 6,6,6,6,6, 6,6,6,6,6, 3,6,6,6,6, 3,3,6,6,6, 3,3,3,6,6, 3,3,3,3,14, /* ACELP_32k */ 12,12,12,12,12, 12,12,12,12,12, 12,12,12,12,12, 6,12,12,12,12, 6,6,12,12,12, 6,6,6,12,12, 6,6,6,6,12, /* ACELP_48k */ 12,12,12,12,12, 12,12,12,12,12, 12,12,12,12,12, 6,12,12,12,12, 6,6,12,12,12, 6,6,6,12,12, 6,6,6,6,12 /* ACELP_64k */ }; /* bit allocation table for adaptive codebook (pitch) (ACELP@12.8kHz) */ /* the 4 values correspond to 4 subframes */ const short ACB_bits_tbl[] = { /* UC VC GC TC0_0 TC0_64 TC0_128 TC0_192 TC64 TC128 TC192 */ 0,0,0,0, 9,5,5,5, 8,5, 8,5, 6,5,6,6, 0,7,6,6, 0,0,7,6, 0,0,0,7, 0,0,9,6, 0,0,5,9, 0,0,0,8, /* ACELP_7k20 */ 0,0,0,0, 10,5,5,5, 9,5, 8,5, 6,5,6,6, 0,7,6,6, 0,0,7,5, 0,0,0,7, 0,0,9,6, 0,0,5,9, 0,0,0,9, /* ACELP_8k00 */ 0,0,0,0, 10,5,5,5, 10,6, 9,6, 6,5,6,6, 0,7,6,6, 0,0,7,6, 0,0,0,7, 0,0,9,6, 0,0,5,9, 0,0,0,9, /* ACELP_11k60 */ 0,0,0,0, 10,5,5,5, 10,6, 9,6, 6,6,6,6, 0,7,6,6, 0,0,7,6, 0,0,0,7, 0,0,9,6, 0,0,5,9, 0,0,0,9, /* ACELP_12k15 */ 0,0,0,0, 10,5,5,5, 10,6, 9,6, 6,5,6,6, 0,7,6,6, 0,0,7,6, 0,0,0,7, 0,0,9,6, 0,0,5,9, 0,0,0,9, /* ACELP_12k85 */ 0,0,0,0, 10,5,5,5, 10,6, 9,6, 6,5,6,6, 0,7,6,6, 0,0,7,6, 0,0,0,7, 0,0,9,6, 0,0,5,9, 0,0,0,9, /* ACELP_13k20 */ 0,0,0,0, 10,5,5,5, 10,6,10,6, 6,6,6,6, 0,7,6,6, 0,0,7,6, 0,0,0,7, 0,0,9,6, 0,0,5,9, 0,0,0,9, /* ACELP_14k80 */ 0,0,0,0, 10,5,5,5, 10,6,10,6, 6,6,6,6, 0,7,6,6, 0,0,7,6, 0,0,0,7, 0,0,9,6, 0,0,5,9, 0,0,0,9, /* ACELP_16k40 */ 0,0,0,0, 10,5,5,5, 10,6,10,6, 6,6,6,6, 0,7,6,6, 0,0,7,6, 0,0,0,7, 0,0,9,6, 0,0,5,9, 0,0,0,9, /* ACELP_22k60 */ 0,0,0,0, 10,5,5,5, 10,6,10,6, 6,6,6,6, 0,7,6,6, 0,0,7,6, 0,0,0,7, 0,0,9,6, 0,0,5,9, 0,0,0,9, /* ACELP_24k40 */ }; /* bit allocation table for adaptive codebook (pitch) (ACELP@16kHz) */ /* the 5 values correspond to 5 subframes */ const short ACB_bits_16kHz_tbl[] = { /* IC GC TC0 TC64 TC128 TC192 TC256 */ 0,0, 0,0,0, 9,0, 0,0,0, 0,0, 0,0,0, 0,0, 0,0,0, 0,0, 0,0,0, 0,0,0, 0,0, 0,0,0,0, 0, /* ACELP_8k00 */ 0,0, 0,0,0, 10,0, 0,0,0, 0,0, 0,0,0, 0,0, 0,0,0, 0,0, 0,0,0, 0,0,0, 0,0, 0,0,0,0, 0, /* ACELP_14k80 */ 10,6,10,6,6, 10,6,10,6,6, 5,8,10,6,6, 0,6,10,6,6, 0,0,10,6,6, 0,0,0,10,6, 0,0,0,0,10, /* ACELP_22k60 */ 10,6,10,6,6, 10,6,10,6,6, 5,8,10,6,6, 0,6,10,6,6, 0,0,10,6,6, 0,0,0,10,6, 0,0,0,0,10, /* ACELP_24k40 */ 10,6,10,6,6, 10,6,10,6,6, 6,8,10,6,6, 0,6,10,6,6, 0,0,10,6,6, 0,0,0,10,6, 0,0,0,0,10, /* ACELP_29k00 */ 10,6,10,6,6, 10,6,10,6,6, 6,8,10,6,6, 0,6,10,6,6, 0,0,10,6,6, 0,0,0,10,6, 0,0,0,0,10, /* ACELP_29k20 */ 10,6,10,6,6, 10,6,10,6,6, 6,8,10,6,6, 0,6,10,6,6, 0,0,10,6,6, 0,0,0,10,6, 0,0,0,0,10, /* ACELP_30k20 */ 10,6,10,6,6, 10,6,10,6,6, 6,8,10,6,6, 0,6,10,6,6, 0,0,10,6,6, 0,0,0,10,6, 0,0,0,0,10, /* ACELP_30k40 */ 10,6,10,6,6, 10,6,10,6,6, 6,8,10,6,6, 0,6,10,6,6, 0,0,10,6,6, 0,0,0,10,6, 0,0,0,0,10, /* ACELP_32k */ 10,6,10,6,6, 10,6,10,6,6, 6,8,10,6,6, 0,6,10,6,6, 0,0,10,6,6, 0,0,0,10,6, 0,0,0,0,10, /* ACELP_48k */ 10,6,10,6,6, 10,6,10,6,6, 6,8,10,6,6, 0,6,10,6,6, 0,0,10,6,6, 0,0,0,10,6, 0,0,0,0,10 /* ACELP_64k */ }; /* bit allocation table for algebraic (fixed) codebook (innovation) (ACELP@12.8kHz) */ /* the 4 values correspond to 4 subframes */ const short FCB_bits_tbl[] = { /* UC VC GC TC0_0 TC0_64 TC0_128 TC0_192 TC64 TC128 TC192 */ 13,13,13,13, 12,12,12,20, 12,12,12,20, 12, 7,12,12, 12,12, 7,12, 12,12,12,12, 12,12,20,12, 12,12,12,12, 12,12,12,12, 12,12,12,20, /* ACELP_7k20 */ 13,13,13,13, 12,20,12,20, 12,20,12,20, 20,12,12,12, 20,12,12,12, 20,12,20,12, 20,12,20,20, 20,12,12,20, 20,12,20,12, 12,20,12,20, /* ACELP_8k00 */ 0, 0, 0, 0, 28,36,28,36, 28,28,28,36, 28,28,28,28, 28,28,28,28, 28,28,36,28, 28,36,28,36, 28,36,28,28, 28,28,28,36, 28,36,28,36, /* ACELP_11k60 */ 0, 0, 0, 0, 28,36,36,36, 28,36,28,36, 36,28,28,28, 36,28,28,28, 36,28,36,28, 36,36,28,43, 28,36,28,36, 28,36,28,36, 28,36,36,36, /* ACELP_12k15 */ 0, 0, 0, 0, 36,36,36,43, 36,36,36,36, 36,36,28,36, 36,28,36,36, 36,36,36,36, 36,36,43,43, 36,36,36,36, 36,36,36,43, 36,36,36,43, /* ACELP_12k85 */ 0, 0, 0, 0, 36,43,36,43, 36,36,36,43, 36,36,36,36, 36,36,36,36, 36,36,43,36, 36,43,43,43, 36,43,36,36, 43,36,43,36, 36,43,36,43, /* ACELP_13k20 */ 0, 0, 0, 0, 43,50,43,50, 43,43,43,43, 43,43,43,43, 43,43,43,43, 43,43,50,43, 43,50,50,50, 43,43,43,50, 50,43,50,43, 43,50,43,50, /* ACELP_14k80 */ 0, 0, 0, 0, 50,56,50,56, 50,50,50,56, 56,50,50,50, 56,50,50,50, 56,50,56,56, 56,56,56,56, 50,56,50,56, 50,56,56,56, 50,56,56,56, /* ACELP_16k40 */ 0, 0, 0, 0, 83,83,83,87, 78,83,83,83, 83,78,83,83, 83,78,83,87, 83,87,83,87, 83,87,87,92, 87,83,87,83, 87,83,87,87, 83,87,87,87, /* ACELP_22k60 */ 0, 0, 0, 0, 92,92,92,92, 87,92,92,92, 92,87,92,92, 92,87,92,92, 92,92,92,92, 92,92,92,92, 92,92,92,92, 92,92,92,92, 92,92,92,92, /* ACELP_24k40 */ }; /* bit allocation table for algebraic (fixed) codebook (innovation) (ACELP@16kHz) */ /* the 5 values correspond to 5 subframes */ const short FCB_bits_16kHz_tbl[] = { /* IC GC TC0 TC64 TC128 TC192 TC256 */ 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* ACELP_8k00 */ 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* ACELP_14k80 */ 0, 0, 0, 0, 0, 62,56,56,56,62, 62,56,56,56,56, 56,56,56,56,73, 62,56,62,62,62, 56,62,62,62,73, 62,62,62,62,68, /* ACELP_22k60 */ 0, 0, 0, 0, 0, 68,68,68,73,73, 68,68,68,68,73, 68,73,68,73,73, 73,73,73,73,73, 73,78,73,73,78, 73,78,73,73,78, /* ACELP_24k40 */ 12,12,12,12,12, 36,28,28,36,36, 36,28,28,36,36, 36,28,28,36,36, 36,28,28,36,36, 36,28,28,36,36, 36,28,28,36,36, /* ACELP_29k00 */ 12,12,12,12,12, 36,28,28,36,36, 36,28,28,36,36, 36,28,28,36,36, 36,28,28,36,36, 36,28,28,36,36, 36,28,28,36,36, /* ACELP_29k20 */ 12,12,12,12,12, 36,36,36,36,36, 36,36,36,36,36, 36,36,36,36,36, 36,36,36,36,36, 36,36,36,36,36, 36,36,36,36,36, /* ACELP_30k20 */ 12,12,12,12,12, 36,36,36,36,36, 36,36,36,36,36, 36,36,36,36,36, 36,36,36,36,36, 36,36,36,36,36, 36,36,36,36,36, /* ACELP_30k40 */ 12,12,12,12,12, 36,36,36,36,36, 36,36,36,36,36, 36,36,36,36,36, 36,36,36,36,36, 36,36,36,36,36, 36,36,36,36,36, /* ACELP_32k */ 12,12,12,12,12, 36,36,36,36,36, 36,36,36,36,36, 36,36,36,36,36, 36,36,36,36,36, 36,36,36,36,36, 36,36,36,36,36, /* ACELP_48k */ 12,12,12,12,12, 36,36,36,36,36, 36,36,36,36,36, 36,36,36,36,36, 36,36,36,36,36, 36,36,36,36,36, 36,36,36,36,36 /* ACELP_64k */ }; /* bit allocation table for AVQ bits in active segments (ACELP@16kHz) */ const short AVQ_bits_16kHz_tbl[] = { /* IC GC TC0 TC64 TC128 TC192 TC256 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* ACELP_8k00 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* ACELP_14k80 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* ACELP_22k60 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* ACELP_24k40 */ 78, 78, 78, 78, 78, 48, 48, 48, 48, 49, 48, 49, 49, 48, 49, 50, 50, 51, 52, 52, 50, 54, 53, 54, 54, 55, 55, 55, 55, 54, 52, 56, 56, 56, 56, /* ACELP_29k00 */ 79, 79, 79, 79, 78, 49, 49, 49, 49, 49, 50, 49, 49, 50, 49, 52, 52, 51, 52, 52, 54, 54, 53, 54, 54, 56, 55, 55, 56, 56, 56, 56, 56, 56, 56, /* ACELP_29k20 */ 78, 78, 78, 78, 78, 50, 50, 50, 50, 49, 51, 50, 50, 50, 50, 53, 53, 53, 52, 52, 55, 55, 55, 54, 54, 57, 57, 56, 56, 56, 57, 57, 57, 57, 56, /* ACELP_30k20 */ 79, 79, 79, 79, 78, 51, 51, 51, 50, 50, 51, 51, 51, 51, 51, 54, 54, 53, 53, 53, 56, 56, 56, 55, 54, 58, 57, 57, 57, 57, 58, 58, 58, 57, 57, /* ACELP_30k40 */ 86, 85, 85, 85, 85, 57, 57, 57, 57, 57, 58, 58, 57, 57, 57, 60, 60, 60, 60, 59, 62, 62, 62, 62, 61, 64, 64, 64, 63, 63, 64, 64, 64, 64, 64, /* ACELP_32k */ 143,142,142,142,142, 116,115,115,115,115, 116,116,115,115,115, 119,119,118,118,118, 121,121,121,121,121, 124,124,123,123,123, 126,126,126,126,126, /* ACELP_48k */ 207,206,206,206,206, 180,179,179,179,179, 180,180,179,179,179, 183,183,182,182,182, 185,185,185,185,185, 188,188,187,187,187, 190,190,190,190,190 /* ACELP_64k */ }; /* bit allocation table for reserved bits (ACELP@12.8kHz) */ const short reserved_bits_tbl[] = { /* UC VC GC TC0_0 TC0_64 TC0_128 TC0_192 TC64 TC128 TC192 */ 1, 0, 0, 0, 0, 2, 4, 0, 3, 0, /* ACELP_7k20 */ 14, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* ACELP_8k00 */ 0, 0, 0, 0, 1, 3, 6, 2, 6, 0, /* ACELP_11k60 */ 0, 0, 0, 0, 2, 4, 0, 3, 7, 0, /* ACELP_12k15 */ 0, 0, 0, 0, 1, 3, 0, 2, 0, 0, /* ACELP_12k85 */ 0, 0, 0, 0, 1, 4, 1, 3, 0, 0, /* ACELP_13k20 */ 0, 0, 0, 0, 2, 5, 2, 4, 1, 1, /* ACELP_14k80 */ 0, 0, 0, 0, 2, 0, 5, 5, 3, 3, /* ACELP_16k40 */ 0, 0, 2, 2, 0, 1, 3, 0, 0, 1, /* ACELP_22k60 */ 0, 0, 1, 1, 3, 8, 19, 7, 11, 11, /* ACELP_24k40 */ }; /* NRG mode */ const unsigned char ACELP_NRG_MODE[RATE_MODE_MAX][BANDWIDTH_MODE_MAX][ACELP_MODE_MAX+RF_MODE_MAX] = { {{0,0,1,1,0,0,0,0},{2,2,1,1,0,0,0,0}}, {{1,1,1,1,0,0,0,0},{1,1,1,1,1,1,1,0}}, }; /* NRG bits : (0/2/3 bits) */ const unsigned char ACELP_NRG_BITS[3] = { 0, 3, 4 }; /* LTP MODE*/ const unsigned char ACELP_LTP_MODE[RATE_MODE_MAX][BANDWIDTH_MODE_MAX][ACELP_MODE_MAX+RF_MODE_MAX] = { {{0,0,1,2,0,0,0,0},{0,0,1,2,0,0,0,0}}, {{4,4,3,4,0,0,0,0},{4,4,3,4,8,0,9,0}}, }; /* LTP bits */ const unsigned char ACELP_LTP_BITS_SFR[8+RF_MODE_MAX][5] = { {0,0,0,0,0}, {8,4,4,4,4}, {8,5,8,5,5}, {9,6,6,6,6}, {9,6,9,6,6}, {8,5,5,5,5}, {8,5,8,5,5}, {8,0,0,0,0}, {8,5,5,5,5}, /* All-pred mode in RF, rf_frame_type = 0 */ {8,4,4,4,0}, /* Gen-pred mode in RF, rf_frame_type = 2 */ }; /* LTF modes (0 - LOW_PASS (LP filtering), 1 - FULL_BAND (no filtering), 2 - NORMAL_OPERATION (adaptive)) */ /* Mode 2 ACELP: INACTIVE,UNVOICED,VOICED,GENERIC */ const unsigned char ACELP_LTF_MODE[RATE_MODE_MAX][BANDWIDTH_MODE_MAX][ACELP_MODE_MAX+RF_MODE_MAX] = { {{1,1,1,0,0,0,0,0},{1,1,1,0,0,0,0,0}}, {{0,0,2,0,0,0,0,0},{0,0,2,0,1,1,1,0}}, }; /* LTF bits */ const unsigned char ACELP_LTF_BITS[4] = { 0, 0, 4, 0 }; /* GAINS ELEMENT */ /* 5 modes: (EVS: 5b/subframe), (AMRWB: 7b/subframe),(AMRWB: 6b/subframe),(UC: 5b/subframe) */ const unsigned char ACELP_GAINS_MODE[RATE_MODE_MAX][BANDWIDTH_MODE_MAX][ACELP_MODE_MAX+RF_MODE_MAX] = { {{6,6,1,1,0,0,0,0},{7,7,1,1,0,0,0,0}}, {{2,2,3,3,0,0,0,0},{2,2,3,3,3,2,1,0}}, }; /* gains bits */ const unsigned char ACELP_GAINS_BITS[11] = { 0, /* skip sub-frame wise gain coding*/ 5, 6, 7, 6, 7, 6, /* UC */ 7, /* GUNVOICED UV (5b ICB/2b Gaussian) */ 4, /* GNELP UV */ 5, /* GNELP UV */ 8 }; /* BPF modes (0 - no filtering, 1 - filtering, 2 - adaptive) */ const unsigned char ACELP_BPF_MODE[RATE_MODE_MAX][BANDWIDTH_MODE_MAX][ACELP_MODE_MAX+RF_MODE_MAX] = { {{1,1,1,1,0,0,0,0},{1,1,1,1,0,0,0,0}}, {{1,1,2,2,0,0,0,0},{1,1,2,2,1,1,1,1}}, }; /* BPF bits */ const unsigned char ACELP_BPF_BITS[3] = { 0, 0, 2 }; /*----------------------------------------------------------------------------------* * Power of 2 table (2^x) *----------------------------------------------------------------------------------*/ const int pow2[] = { 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144, 524288, 1048576 }; /*----------------------------------------------------------------------------------* * Perceptual critical bands *----------------------------------------------------------------------------------*/ const float crit_bands[] = { 100.0f, 200.0f, 300.0f, 400.0f, 510.0f, 630.0f, 770.0f, 920.0f, 1080.0f, 1270.0f, 1480.0f, 1720.0f, 2000.0f, 2320.0f, 2700.0f, 3150.0f, 3700.0f, 4400.0f, 5300.0f, 6350.0f, 7700.0f, 9500.0f, 12000.0f, 15500.0f, 40000.0f }; const float crit_bins_corr[CRIT_NOIS_BAND] = { 0.9f, 0.9f, 0.85f, 0.8f, 0.775f, 0.75f, 0.725f, 0.7f, 0.675f, 0.65f, 0.625f, 0.60f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f }; const short crit_bins[CRIT_NOIS_BAND] = { 4, 4, 4, 4, 4, 5, 6, 6, 6, 8, 8, 10, 11, 13, 15, 18, 22, 16, 16, 20, 20, 20, 16 }; const float crit_bands_loc[CRIT_NOIS_BAND] = { 100.0f, 200.0f, 300.0f, 400.0f, 510.0f, 630.0f, 770.0f, 920.0f, 1080.0f, 1270.0f, 1480.0f, 1720.0f, 2000.0f, 2320.0f, 2700.0f, 3150.0f, 3700.0f, 4100.0f, 4500.0f, 5000.0f, 5500.0f, 6000.0f, 6375.0f }; const float inv_tbl[130] = { 0.0f, /* unused */ 1.0000000000f, 0.5000000000f, 0.3333333333f, 0.2500000000f, 0.2000000000f, 0.1666666667f, 0.1428571429f, 0.1250000000f, 0.1111111111f, 0.1000000000f, 0.0909090909f, 0.0833333333f, 0.0769230769f, 0.0714285714f, 0.0666666667f, 0.0625000000f, 0.0588235294f, 0.0555555556f, 0.0526315789f, 0.0500000000f, 0.0476190476f, 0.0454545455f, 0.0434782609f, 0.0416666667f, 0.0400000000f, 0.0384615385f, 0.0370370370f, 0.0357142857f, 0.0344827586f, 0.0333333333f, 0.0322580645f, 0.0312500000f, 0.0303030303f, 0.0294117647f, 0.0285714286f, 0.0277777778f, 0.0270270270f, 0.0263157895f, 0.0256410256f, 0.0250000000f, 0.0243902439f, 0.0238095238f, 0.0232558140f, 0.0227272727f, 0.0222222222f, 0.0217391304f, 0.0212765957f, 0.0208333333f, 0.0204081633f, 0.0200000000f, 0.0196078431f, 0.0192307692f, 0.0188679245f, 0.0185185185f, 0.0181818182f, 0.0178571429f, 0.0175438596f, 0.0172413793f, 0.0169491525f, 0.0166666667f, 0.0163934426f, 0.0161290323f, 0.0158730159f, 0.0156250000f, 0.0153846154f, 0.0151515152f, 0.0149253731f, 0.0147058824f, 0.0144927536f, 0.0142857143f, 0.0140845070f, 0.0138888889f, 0.0136986301f, 0.0135135135f, 0.0133333333f, 0.0131578947f, 0.0129870130f, 0.0128205128f, 0.0126582278f, 0.0125000000f, 0.0123456790f, 0.0121951220f, 0.0120481928f, 0.0119047619f, 0.0117647059f, 0.0116279070f, 0.0114942529f, 0.0113636364f, 0.0112359551f, 0.0111111111f, 0.0109890110f, 0.0108695652f, 0.0107526882f, 0.0106382979f, 0.0105263158f, 0.0104166667f, 0.0103092784f, 0.0102040816f, 0.0101010101f, 0.0100000000f, 0.0099009901f, 0.0098039216f, 0.0097087379f, 0.0096153846f, 0.0095238095f, 0.0094339623f, 0.0093457944f, 0.0092592593f, 0.0091743119f, 0.0090909091f, 0.0090090090f, 0.0089285714f, 0.0088495575f, 0.0087719298f, 0.0086956522f, 0.0086206897f, 0.0085470085f, 0.0084745763f, 0.0084033613f, 0.0083333333f, 0.0082644628f, 0.0081967213f, 0.0081300813f, 0.0080645161f, 0.0080000000f, 0.0079365079f, 0.0078740157f, 0.0078125000f, 0.0077519380f /* last val = 1/129 */ }; /*----------------------------------------------------------------------------------* * LD music post-filter *----------------------------------------------------------------------------------*/ const float mfreq_loc_LD[] = { 100.0f, 200.0f, 300.0f, 400.0f, 510.0f, 630.0f, 770.0f, 920.0f, 1080.0f, 1270.0f, 1480.0f, 1720.0f, 2000.0f, 2320.0f, 2700.0f, 3150.0f, 3700.0f, 4400.0f, 5300.0f, (6400.0f-BIN_16kdct) }; const short mfreq_bindiv_LD[] = {10, 10, 10, 10, 11, 12, 14, 15, 16, 19, 21, 24, 28, 32, 38, 45, 55, 70, 90, 110}; const float sc_qnoise[] = {0.1f,0.1f,0.1f,0.1f,0.1f,0.1f,0.09091f,0.09091f,0.09091f,0.09091f,0.09091f,0.09091f,0.09091f,0.09091f,0.09091f,0.06667f,0.06667f,0.06667f,0.06667f,0.06667f}; const float post_dct_wind[OFFSET2] = { 1.000000f, 0.999933f, 0.999731f, 0.999395f, 0.998924f, 0.998319f, 0.997580f, 0.996707f, 0.995700f, 0.994560f, 0.993287f, 0.991881f, 0.990343f, 0.988672f, 0.986870f, 0.984938f, 0.982874f, 0.980681f, 0.978358f, 0.975907f, 0.973328f, 0.970621f, 0.967787f, 0.964828f, 0.961743f, 0.958535f, 0.955202f, 0.951748f, 0.948172f, 0.944475f, 0.940658f, 0.936723f, 0.932671f, 0.928501f, 0.924217f, 0.919819f, 0.915307f, 0.910684f, 0.905950f, 0.901107f, 0.896156f, 0.891098f, 0.885935f, 0.880669f, 0.875300f, 0.869829f, 0.864260f, 0.858592f, 0.852828f, 0.846968f, 0.841016f, 0.834971f, 0.828837f, 0.822614f, 0.816304f, 0.809909f, 0.803431f, 0.796871f, 0.790231f, 0.783513f, 0.776719f, 0.769850f, 0.762908f, 0.755896f, 0.748815f, 0.741667f, 0.734454f, 0.727178f, 0.719841f, 0.712444f, 0.704991f, 0.697482f, 0.689920f, 0.682307f, 0.674645f, 0.666936f, 0.659182f, 0.651385f, 0.643547f, 0.635671f, 0.627758f, 0.619811f, 0.611832f, 0.603822f, 0.595785f, 0.587721f, 0.579635f, 0.571526f, 0.563399f, 0.555254f, 0.547095f, 0.538923f, 0.530740f, 0.522549f, 0.514353f, 0.506152f, 0.497949f, 0.489747f, 0.481548f, 0.473354f, 0.465167f, 0.456990f, 0.448824f, 0.440671f, 0.432535f, 0.424417f, 0.416319f, 0.408244f, 0.400193f, 0.392169f, 0.384175f, 0.376211f, 0.368281f, 0.360386f, 0.352529f, 0.344712f, 0.336936f, 0.329204f, 0.321518f, 0.313880f, 0.306293f, 0.298757f, 0.291276f, 0.283850f, 0.276483f, 0.269176f, 0.261931f, 0.254751f, 0.247636f, 0.240589f, 0.233612f, 0.226707f, 0.219875f, 0.213118f, 0.206439f, 0.199839f, 0.193320f, 0.186883f, 0.180530f, 0.174264f, 0.168085f, 0.161995f, 0.155996f, 0.150090f, 0.144278f, 0.138562f, 0.132943f, 0.127423f, 0.122003f, 0.116685f, 0.111470f, 0.106360f, 0.101355f, 0.096458f, 0.091669f, 0.086991f, 0.082423f, 0.077968f, 0.073626f, 0.069399f, 0.065289f, 0.061295f, 0.057419f, 0.053662f, 0.050025f, 0.046510f, 0.043116f, 0.039846f, 0.036699f, 0.033677f, 0.030780f, 0.028010f, 0.025367f, 0.022851f, 0.020464f, 0.018206f, 0.016078f, 0.014080f, 0.012212f, 0.010476f, 0.008872f, 0.007400f, 0.006060f, 0.004853f, 0.003780f, 0.002840f, 0.002034f, 0.001362f, 0.000824f, 0.000420f, 0.000151f, 0.000017f }; const float MAX_SNR_SNR1_tab[MBANDS_GN_LD] = { 1.026316f, 1.026316f, 1.026316f, 1.026316f, 1.026316f, 1.026316f, 1.026316f, 1.026316f, 1.026316f, 1.026316f, 1.026316f, 1.026316f, 1.026316f, 1.026316f, 1.026316f, 1.02631627f, 1.043478f, 1.043478f, 1.043478f, 1.043478f}; const float INV_MAX_SNR_tab[MBANDS_GN_LD] = { .026316f, .026316f, .026316f, .026316f, .026316f, .026316f, .026316f, .026316f, .026316f, .026316f, .026316f, .026316f, .026316f, .026316f, .026316f, .026316f, .043478f, .043478f, .043478f, .043478f}; const float wind_sss[LEN_WIN_SSS] = /* window for subsampling */ { 0.080000f, 0.080183f, 0.080730f, 0.081642f, 0.082918f, 0.084557f, 0.086558f, 0.088918f, 0.091636f, 0.094711f, 0.098139f, 0.101917f, 0.106043f, 0.110514f, 0.115326f, 0.120475f, 0.125957f, 0.131767f, 0.137902f, 0.144356f, 0.151124f, 0.158200f, 0.165580f, 0.173257f, 0.181225f, 0.189478f, 0.198009f, 0.206811f, 0.215878f, 0.225203f, 0.234777f, 0.244594f, 0.254645f, 0.264922f, 0.275418f, 0.286124f, 0.297031f, 0.308132f, 0.319416f, 0.330876f, 0.342501f, 0.354284f, 0.366213f, 0.378281f, 0.390477f, 0.402792f, 0.415215f, 0.427738f, 0.440350f, 0.453041f, 0.465801f, 0.478620f, 0.491487f, 0.504393f, 0.517328f, 0.530280f, 0.543240f, 0.556198f, 0.569142f, 0.582064f, 0.594952f, 0.607796f, 0.620587f, 0.633314f, 0.645967f, 0.658535f, 0.671009f, 0.683380f, 0.695637f, 0.707770f, 0.719769f, 0.731627f, 0.743332f, 0.754875f, 0.766248f, 0.777442f, 0.788447f, 0.799255f, 0.809857f, 0.820244f, 0.830410f, 0.840344f, 0.850041f, 0.859491f, 0.868688f, 0.877623f, 0.886291f, 0.894684f, 0.902795f, 0.910618f, 0.918147f, 0.925376f, 0.932299f, 0.938911f, 0.945205f, 0.951179f, 0.956825f, 0.962141f, 0.967122f, 0.971764f, 0.976063f, 0.980016f, 0.983619f, 0.986871f, 0.989767f, 0.992307f, 0.994488f, 0.996307f, 0.997765f, 0.998859f, 0.999589f, 0.999954f, 1.000000f, 0.979530f, 0.918958f, 0.820763f, 0.688967f, 0.528964f, 0.347305f, 0.151428f }; /*----------------------------------------------------------------------------------* * Low-pass FIR filter for low-frequency post-filtering @ 8kHz * fir1(240,(3900/32000),hanning(241))*5 *----------------------------------------------------------------------------------*/ const float filter5_39s320_120[121] = { 0.609388f, 0.594507f, 0.551181f, 0.483219f, 0.396518f, 0.298448f, 0.197086f, 0.100396f, 0.015442f, -0.052273f, -0.099277f, -0.124358f, -0.128542f, -0.114820f, -0.087682f, -0.052507f, -0.014899f, 0.019957f, 0.047847f, 0.065924f, 0.072906f, 0.069076f, 0.056094f, 0.036651f, 0.014026f, -0.008391f, -0.027559f, -0.041148f, -0.047793f, -0.047188f, -0.040043f, -0.027903f, -0.012866f, 0.002740f, 0.016701f, 0.027204f, 0.033059f, 0.033817f, 0.029768f, 0.021853f, 0.011477f, 0.000283f, -0.010097f, -0.018267f, -0.023248f, -0.024581f, -0.022354f, -0.017150f, -0.009927f, -0.001855f, 0.005864f, 0.012168f, 0.016275f, 0.017775f, 0.016654f, 0.013275f, 0.008291f, 0.002530f, -0.003131f, -0.007899f, -0.011171f, -0.012604f, -0.012143f, -0.010011f, -0.006645f, -0.002628f, 0.001417f, 0.004913f, 0.007412f, 0.008646f, 0.008551f, 0.007261f, 0.005067f, 0.002364f, -0.000416f, -0.002869f, -0.004678f, -0.005647f, -0.005724f, -0.004986f, -0.003623f, -0.001896f, -0.000090f, 0.001528f, 0.002746f, 0.003436f, 0.003559f, 0.003165f, 0.002373f, 0.001348f, 0.000266f, -0.000708f, -0.001448f, -0.001877f, -0.001978f, -0.001782f, -0.001364f, -0.000818f, -0.000247f, 0.000261f, 0.000641f, 0.000858f, 0.000909f, 0.000817f, 0.000625f, 0.000384f, 0.000142f, -0.000062f, -0.000203f, -0.000274f, -0.000280f, -0.000239f, -0.000172f, -0.000099f, -0.000038f, 0.000004f, 0.000024f, 0.000027f, 0.000019f, 0.000009f, 0.000002f }; /*----------------------------------------------------------------------------------* * LP analysis windows *----------------------------------------------------------------------------------*/ /* LP analysis window (length of the window is 25 ms which is 320 samples at 12.8kHz */ const float LP_assym_window[L_LP] = { 0.080000f, 0.080065f, 0.080258f, 0.080581f, 0.081033f, 0.081613f, 0.082323f, 0.083160f, 0.084126f, 0.085220f, 0.086442f, 0.087791f, 0.089267f, 0.090869f, 0.092598f, 0.094452f, 0.096431f, 0.098535f, 0.100762f, 0.103113f, 0.105587f, 0.108182f, 0.110899f, 0.113736f, 0.116693f, 0.119769f, 0.122963f, 0.126274f, 0.129701f, 0.133243f, 0.136899f, 0.140668f, 0.144550f, 0.148543f, 0.152645f, 0.156856f, 0.161175f, 0.165600f, 0.170130f, 0.174764f, 0.179501f, 0.184339f, 0.189276f, 0.194313f, 0.199446f, 0.204674f, 0.209997f, 0.215413f, 0.220919f, 0.226516f, 0.232200f, 0.237971f, 0.243826f, 0.249765f, 0.255785f, 0.261884f, 0.268062f, 0.274317f, 0.280645f, 0.287047f, 0.293520f, 0.300062f, 0.306671f, 0.313345f, 0.320084f, 0.326884f, 0.333744f, 0.340662f, 0.347635f, 0.354663f, 0.361743f, 0.368873f, 0.376051f, 0.383274f, 0.390542f, 0.397852f, 0.405202f, 0.412590f, 0.420013f, 0.427470f, 0.434959f, 0.442477f, 0.450022f, 0.457593f, 0.465187f, 0.472802f, 0.480436f, 0.488086f, 0.495751f, 0.503429f, 0.511116f, 0.518812f, 0.526514f, 0.534220f, 0.541927f, 0.549634f, 0.557337f, 0.565037f, 0.572729f, 0.580412f, 0.588083f, 0.595741f, 0.603384f, 0.611008f, 0.618613f, 0.626195f, 0.633754f, 0.641286f, 0.648790f, 0.656263f, 0.663703f, 0.671109f, 0.678478f, 0.685808f, 0.693097f, 0.700343f, 0.707544f, 0.714698f, 0.721803f, 0.728857f, 0.735858f, 0.742804f, 0.749694f, 0.756524f, 0.763293f, 0.770000f, 0.776642f, 0.783218f, 0.789725f, 0.796163f, 0.802528f, 0.808820f, 0.815036f, 0.821175f, 0.827236f, 0.833215f, 0.839112f, 0.844925f, 0.850653f, 0.856294f, 0.861845f, 0.867306f, 0.872676f, 0.877952f, 0.883133f, 0.888218f, 0.893205f, 0.898093f, 0.902880f, 0.907566f, 0.912148f, 0.916626f, 0.920998f, 0.925263f, 0.929420f, 0.933468f, 0.937405f, 0.941230f, 0.944943f, 0.948543f, 0.952027f, 0.955396f, 0.958649f, 0.961784f, 0.964800f, 0.967697f, 0.970474f, 0.973131f, 0.975665f, 0.978078f, 0.980367f, 0.982533f, 0.984574f, 0.986491f, 0.988282f, 0.989948f, 0.991487f, 0.992900f, 0.994185f, 0.995343f, 0.996373f, 0.997275f, 0.998048f, 0.998693f, 0.999209f, 0.999597f, 0.999855f, 0.999984f, 0.999967f, 0.999705f, 0.999180f, 0.998393f, 0.997344f, 0.996035f, 0.994465f, 0.992636f, 0.990548f, 0.988203f, 0.985603f, 0.982748f, 0.979641f, 0.976282f, 0.972675f, 0.968820f, 0.964721f, 0.960380f, 0.955798f, 0.950980f, 0.945926f, 0.940641f, 0.935128f, 0.929389f, 0.923427f, 0.917247f, 0.910852f, 0.904245f, 0.897430f, 0.890410f, 0.883191f, 0.875777f, 0.868170f, 0.860376f, 0.852400f, 0.844245f, 0.835916f, 0.827419f, 0.818757f, 0.809936f, 0.800962f, 0.791838f, 0.782571f, 0.773165f, 0.763626f, 0.753960f, 0.744171f, 0.734266f, 0.724250f, 0.714129f, 0.703908f, 0.693594f, 0.683193f, 0.672709f, 0.662150f, 0.651521f, 0.640828f, 0.630078f, 0.619277f, 0.608430f, 0.597544f, 0.586626f, 0.575680f, 0.564715f, 0.553735f, 0.542747f, 0.531758f, 0.520774f, 0.509800f, 0.498844f, 0.487911f, 0.477008f, 0.466141f, 0.455316f, 0.444540f, 0.433818f, 0.423156f, 0.412561f, 0.402039f, 0.391596f, 0.381237f, 0.370969f, 0.360798f, 0.350728f, 0.340767f, 0.330920f, 0.321191f, 0.311588f, 0.302115f, 0.292778f, 0.283582f, 0.274532f, 0.265634f, 0.256892f, 0.248312f, 0.239898f, 0.231656f, 0.223589f, 0.215704f, 0.208003f, 0.200492f, 0.193174f, 0.186055f, 0.179137f, 0.172426f, 0.165924f, 0.159636f, 0.153564f, 0.147714f, 0.142087f, 0.136687f, 0.131518f, 0.126582f, 0.121881f, 0.117419f, 0.113199f, 0.109222f, 0.105491f, 0.102007f, 0.098774f, 0.095793f, 0.093065f, 0.090592f, 0.088376f, 0.086417f, 0.084718f, 0.083278f, 0.082099f, 0.081181f, 0.080525f, 0.080131f, 0.080000f }; /* LP analysis window (length of the window is 25ms which is 400 samples at 16kHz */ const float LP_assym_window_16k[L_LP_16k] = { 0.080000f, 0.080041f, 0.080165f, 0.080371f, 0.080660f, 0.081032f, 0.081485f, 0.082021f, 0.082639f, 0.083340f, 0.084122f, 0.084986f, 0.085932f, 0.086959f, 0.088067f, 0.089257f, 0.090527f, 0.091879f, 0.093310f, 0.094822f, 0.096414f, 0.098085f, 0.099835f, 0.101665f, 0.103573f, 0.105560f, 0.107624f, 0.109767f, 0.111986f, 0.114282f, 0.116655f, 0.119103f, 0.121627f, 0.124227f, 0.126901f, 0.129649f, 0.132470f, 0.135365f, 0.138332f, 0.141372f, 0.144483f, 0.147665f, 0.150917f, 0.154240f, 0.157631f, 0.161091f, 0.164619f, 0.168215f, 0.171877f, 0.175605f, 0.179399f, 0.183257f, 0.187180f, 0.191166f, 0.195214f, 0.199324f, 0.203496f, 0.207727f, 0.212019f, 0.216369f, 0.220777f, 0.225243f, 0.229765f, 0.234343f, 0.238976f, 0.243663f, 0.248402f, 0.253195f, 0.258038f, 0.262933f, 0.267877f, 0.272870f, 0.277911f, 0.282998f, 0.288132f, 0.293312f, 0.298535f, 0.303802f, 0.309111f, 0.314462f, 0.319853f, 0.325283f, 0.330753f, 0.336259f, 0.341803f, 0.347382f, 0.352995f, 0.358642f, 0.364322f, 0.370033f, 0.375774f, 0.381545f, 0.387345f, 0.393172f, 0.399025f, 0.404903f, 0.410806f, 0.416732f, 0.422680f, 0.428649f, 0.434639f, 0.440647f, 0.446673f, 0.452715f, 0.458774f, 0.464846f, 0.470933f, 0.477032f, 0.483142f, 0.489262f, 0.495391f, 0.501529f, 0.507673f, 0.513823f, 0.519978f, 0.526136f, 0.532297f, 0.538459f, 0.544622f, 0.550784f, 0.556943f, 0.563100f, 0.569253f, 0.575400f, 0.581541f, 0.587674f, 0.593799f, 0.599915f, 0.606019f, 0.612112f, 0.618192f, 0.624258f, 0.630308f, 0.636343f, 0.642360f, 0.648358f, 0.654338f, 0.660296f, 0.666234f, 0.672148f, 0.678039f, 0.683905f, 0.689745f, 0.695558f, 0.701344f, 0.707100f, 0.712827f, 0.718522f, 0.724186f, 0.729816f, 0.735412f, 0.740973f, 0.746499f, 0.751987f, 0.757437f, 0.762848f, 0.768219f, 0.773549f, 0.778837f, 0.784082f, 0.789284f, 0.794440f, 0.799551f, 0.804616f, 0.809633f, 0.814601f, 0.819521f, 0.824390f, 0.829208f, 0.833974f, 0.838688f, 0.843347f, 0.847953f, 0.852503f, 0.856997f, 0.861434f, 0.865813f, 0.870134f, 0.874396f, 0.878598f, 0.882739f, 0.886818f, 0.890835f, 0.894789f, 0.898680f, 0.902506f, 0.906267f, 0.909962f, 0.913591f, 0.917153f, 0.920647f, 0.924073f, 0.927430f, 0.930718f, 0.933935f, 0.937082f, 0.940157f, 0.943160f, 0.946092f, 0.948950f, 0.951735f, 0.954446f, 0.957082f, 0.959644f, 0.962130f, 0.964541f, 0.966876f, 0.969133f, 0.971314f, 0.973418f, 0.975443f, 0.977391f, 0.979260f, 0.981050f, 0.982761f, 0.984392f, 0.985944f, 0.987416f, 0.988807f, 0.990118f, 0.991348f, 0.992497f, 0.993565f, 0.994551f, 0.995456f, 0.996279f, 0.997021f, 0.997680f, 0.998257f, 0.998752f, 0.999164f, 0.999494f, 0.999742f, 0.999907f, 0.999990f, 0.999979f, 0.999811f, 0.999476f, 0.998973f, 0.998302f, 0.997465f, 0.996460f, 0.995289f, 0.993952f, 0.992450f, 0.990782f, 0.988950f, 0.986955f, 0.984796f, 0.982475f, 0.979993f, 0.977350f, 0.974548f, 0.971587f, 0.968469f, 0.965194f, 0.961765f, 0.958182f, 0.954446f, 0.950559f, 0.946522f, 0.942337f, 0.938005f, 0.933528f, 0.928908f, 0.924146f, 0.919243f, 0.914202f, 0.909025f, 0.903713f, 0.898269f, 0.892694f, 0.886990f, 0.881160f, 0.875205f, 0.869128f, 0.862931f, 0.856617f, 0.850186f, 0.843643f, 0.836989f, 0.830226f, 0.823358f, 0.816386f, 0.809314f, 0.802143f, 0.794877f, 0.787518f, 0.780068f, 0.772531f, 0.764909f, 0.757206f, 0.749422f, 0.741563f, 0.733630f, 0.725626f, 0.717555f, 0.709419f, 0.701221f, 0.692964f, 0.684652f, 0.676287f, 0.667872f, 0.659410f, 0.650905f, 0.642360f, 0.633777f, 0.625160f, 0.616512f, 0.607835f, 0.599135f, 0.590412f, 0.581672f, 0.572916f, 0.564148f, 0.555371f, 0.546589f, 0.537804f, 0.529020f, 0.520240f, 0.511467f, 0.502705f, 0.493956f, 0.485224f, 0.476512f, 0.467823f, 0.459161f, 0.450528f, 0.441927f, 0.433363f, 0.424837f, 0.416353f, 0.407915f, 0.399524f, 0.391185f, 0.382900f, 0.374672f, 0.366505f, 0.358401f, 0.350363f, 0.342395f, 0.334498f, 0.326676f, 0.318932f, 0.311269f, 0.303689f, 0.296196f, 0.288791f, 0.281478f, 0.274259f, 0.267137f, 0.260115f, 0.253195f, 0.246379f, 0.239670f, 0.233071f, 0.226584f, 0.220211f, 0.213955f, 0.207818f, 0.201802f, 0.195909f, 0.190142f, 0.184502f, 0.178992f, 0.173614f, 0.168369f, 0.163260f, 0.158288f, 0.153456f, 0.148764f, 0.144215f, 0.139811f, 0.135552f, 0.131441f, 0.127479f, 0.123667f, 0.120008f, 0.116501f, 0.113149f, 0.109952f, 0.106913f, 0.104031f, 0.101309f, 0.098746f, 0.096344f, 0.094104f, 0.092027f, 0.090113f, 0.088363f, 0.086778f, 0.085358f, 0.084104f, 0.083017f, 0.082096f, 0.081342f, 0.080755f, 0.080336f, 0.080084f, 0.080000f }; /* LP analysis window for AMR-WB IO mode (length of the window is 30ms which is * 384 samples at 12.8kHz */ const float hamcos_window[L_LP_AMR_WB] = { 0.080000f, 0.080035f, 0.080139f, 0.080313f, 0.080556f, 0.080869f, 0.081251f, 0.081703f, 0.082224f, 0.082814f, 0.083473f, 0.084201f, 0.084998f, 0.085864f, 0.086799f, 0.087802f, 0.088873f, 0.090013f, 0.091221f, 0.092496f, 0.093839f, 0.095250f, 0.096728f, 0.098273f, 0.099884f, 0.101563f, 0.103307f, 0.105118f, 0.106994f, 0.108936f, 0.110943f, 0.113015f, 0.115151f, 0.117351f, 0.119616f, 0.121944f, 0.124335f, 0.126789f, 0.129306f, 0.131884f, 0.134525f, 0.137226f, 0.139989f, 0.142812f, 0.145695f, 0.148638f, 0.151639f, 0.154700f, 0.157819f, 0.160995f, 0.164229f, 0.167520f, 0.170867f, 0.174270f, 0.177728f, 0.181241f, 0.184808f, 0.188429f, 0.192103f, 0.195829f, 0.199608f, 0.203438f, 0.207319f, 0.211250f, 0.215231f, 0.219261f, 0.223340f, 0.227466f, 0.231640f, 0.235860f, 0.240126f, 0.244438f, 0.248794f, 0.253195f, 0.257638f, 0.262125f, 0.266653f, 0.271223f, 0.275833f, 0.280483f, 0.285173f, 0.289901f, 0.294667f, 0.299470f, 0.304309f, 0.309184f, 0.314094f, 0.319038f, 0.324015f, 0.329025f, 0.334067f, 0.339140f, 0.344244f, 0.349377f, 0.354538f, 0.359728f, 0.364946f, 0.370189f, 0.375458f, 0.380753f, 0.386071f, 0.391412f, 0.396776f, 0.402162f, 0.407568f, 0.412995f, 0.418441f, 0.423905f, 0.429386f, 0.434885f, 0.440399f, 0.445928f, 0.451472f, 0.457029f, 0.462598f, 0.468179f, 0.473771f, 0.479373f, 0.484984f, 0.490604f, 0.496231f, 0.501865f, 0.507504f, 0.513148f, 0.518797f, 0.524448f, 0.530102f, 0.535757f, 0.541413f, 0.547069f, 0.552724f, 0.558377f, 0.564027f, 0.569673f, 0.575315f, 0.580952f, 0.586582f, 0.592205f, 0.597821f, 0.603428f, 0.609025f, 0.614611f, 0.620187f, 0.625750f, 0.631300f, 0.636837f, 0.642359f, 0.647865f, 0.653355f, 0.658828f, 0.664283f, 0.669719f, 0.675136f, 0.680532f, 0.685907f, 0.691260f, 0.696590f, 0.701896f, 0.707178f, 0.712435f, 0.717665f, 0.722869f, 0.728045f, 0.733192f, 0.738311f, 0.743399f, 0.748457f, 0.753483f, 0.758477f, 0.763438f, 0.768365f, 0.773257f, 0.778115f, 0.782936f, 0.787720f, 0.792467f, 0.797176f, 0.801846f, 0.806477f, 0.811067f, 0.815616f, 0.820124f, 0.824589f, 0.829011f, 0.833389f, 0.837723f, 0.842012f, 0.846256f, 0.850453f, 0.854603f, 0.858706f, 0.862760f, 0.866766f, 0.870722f, 0.874628f, 0.878484f, 0.882288f, 0.886041f, 0.889741f, 0.893389f, 0.896983f, 0.900523f, 0.904009f, 0.907439f, 0.910814f, 0.914133f, 0.917395f, 0.920601f, 0.923748f, 0.926838f, 0.929869f, 0.932842f, 0.935755f, 0.938608f, 0.941401f, 0.944133f, 0.946804f, 0.949413f, 0.951961f, 0.954446f, 0.956869f, 0.959229f, 0.961525f, 0.963758f, 0.965926f, 0.968030f, 0.970070f, 0.972044f, 0.973953f, 0.975796f, 0.977574f, 0.979285f, 0.980930f, 0.982509f, 0.984020f, 0.985464f, 0.986841f, 0.988151f, 0.989392f, 0.990566f, 0.991672f, 0.992709f, 0.993678f, 0.994578f, 0.995409f, 0.996172f, 0.996866f, 0.997490f, 0.998046f, 0.998532f, 0.998949f, 0.999296f, 0.999574f, 0.999783f, 0.999922f, 0.999991f, 1.000000f, 0.999924f, 0.999698f, 0.999320f, 0.998791f, 0.998111f, 0.997280f, 0.996298f, 0.995166f, 0.993883f, 0.992450f, 0.990867f, 0.989134f, 0.987252f, 0.985220f, 0.983039f, 0.980710f, 0.978233f, 0.975607f, 0.972834f, 0.969914f, 0.966848f, 0.963635f, 0.960277f, 0.956773f, 0.953125f, 0.949332f, 0.945396f, 0.941317f, 0.937096f, 0.932733f, 0.928229f, 0.923585f, 0.918801f, 0.913879f, 0.908818f, 0.903619f, 0.898284f, 0.892814f, 0.887208f, 0.881468f, 0.875595f, 0.869589f, 0.863452f, 0.857185f, 0.850788f, 0.844262f, 0.837609f, 0.830829f, 0.823923f, 0.816893f, 0.809739f, 0.802463f, 0.795066f, 0.787548f, 0.779911f, 0.772157f, 0.764285f, 0.756298f, 0.748197f, 0.739983f, 0.731657f, 0.723220f, 0.714674f, 0.706019f, 0.697258f, 0.688392f, 0.679421f, 0.670348f, 0.661174f, 0.651899f, 0.642526f, 0.633056f, 0.623490f, 0.613830f, 0.604077f, 0.594233f, 0.584299f, 0.574276f, 0.564167f, 0.553972f, 0.543694f, 0.533333f, 0.522892f, 0.512372f, 0.501774f, 0.491101f, 0.480353f, 0.469533f, 0.458641f, 0.447680f, 0.436652f, 0.425558f, 0.414399f, 0.403177f, 0.391895f, 0.380553f, 0.369154f, 0.357699f, 0.346190f, 0.334629f, 0.323017f, 0.311356f, 0.299648f, 0.287895f, 0.276098f, 0.264260f, 0.252381f, 0.240465f, 0.228512f, 0.216524f, 0.204504f, 0.192453f, 0.180373f, 0.168265f, 0.156132f, 0.143976f, 0.131797f, 0.119599f, 0.107383f, 0.095150f, 0.082903f, 0.070644f, 0.058374f, 0.046095f, 0.033809f, 0.021518f, 0.009223f }; /* LAGW_STRONG */ const float lag_window_8k[17] = { 1.0001f, 0.998890285694f, 0.995568526105f, 0.990056789412f, 0.982391584471f, 0.972623458067f, 0.960816439805f, 0.947047343167f, 0.931404933402f, 0.913988974871f, 0.894909172129f, 0.874284020465f, 0.852239582728f, 0.828908210054f, 0.804427224606f, 0.778937582562f, 0.752582535421f }; const float lag_window_12k8[NUM_LAGW_STRENGTHS][17] = { /* LAGW_WEAK */ { 1.0001f, 0.999951809733f, 0.999807252867f, 0.999566371195f, 0.999229234349f, 0.998795939769f, 0.998266612656f, 0.997641405905f, 0.996920500042f, 0.996104103128f, 0.995192450664f, 0.994185805476f, 0.993084457589f, 0.991888724088f, 0.990598948965f, 0.989215502956f, 0.987738783362f }, /* LAGW_MEDIUM */ { 1.0001f, 0.999807252867f, 0.999229234349f, 0.998266612656f, 0.996920500042f, 0.995192450664f, 0.993084457589f, 0.990598948965f, 0.987738783362f, 0.984507244288f, 0.980908033914f, 0.976945266001f, 0.972623458067f, 0.967947522806f, 0.962922758784f, 0.957554840431f, 0.951849807369f }, /* LAGW_STRONG */ { 1.0001f, 0.999566371183f, 0.998266612613f, 0.996104103033f, 0.993084457421f, 0.989215493202f, 0.984507262707f, 0.978971838951f, 0.972623467445f, 0.965478420258f, 0.957554817200f, 0.948872864246f, 0.939454317093f, 0.929322779179f, 0.918503403664f, 0.907022833824f, 0.894909143448f } }; const float lag_window_16k[NUM_LAGW_STRENGTHS][17] = { /* LAGW_WEAK */ { 1.0001f, 0.999969157962f, 0.999876637555f, 0.999722455899f, 0.999506641521f, 0.999229234349f, 0.998890285694f, 0.998489858239f, 0.998028026020f, 0.997504874399f, 0.996920500042f, 0.996275010885f, 0.995568526105f, 0.994801176082f, 0.993973102356f, 0.993084457589f, 0.992135405511f }, /* LAGW_MEDIUM */ { 1.0001f, 0.999876637555f, 0.999506641521f, 0.998890285694f, 0.998028026020f, 0.996920500042f, 0.995568526105f, 0.993973102356f, 0.992135405511f, 0.990056789412f, 0.987738783362f, 0.985183090250f, 0.982391584471f, 0.979366309628f, 0.976109476043f, 0.972623458067f, 0.968910791191f }, /* LAGW_STRONG */ { 1.0001f, 0.999722455899f, 0.998890285694f, 0.997504874399f, 0.995568526105f, 0.993084457589f, 0.990056789412f, 0.986490534533f, 0.982391584471f, 0.977766693093f, 0.972623458067f, 0.966970300068f, 0.960816439805f, 0.954171872966f, 0.947047343167f, 0.939454313017f, 0.931404933402f } }; const float lag_window_25k6[NUM_LAGW_STRENGTHS][17] = { /* LAGW_WEAK */ { 1.0001f, 0.999987952216f, 0.999951809733f, 0.999891575166f, 0.999807252867f, 0.999698848932f, 0.999566371195f, 0.999409829230f, 0.999229234349f, 0.999024599601f, 0.998795939769f, 0.998543271372f, 0.998266612656f, 0.997965983599f, 0.997641405905f, 0.997292903003f, 0.996920500042f }, /* LAGW_MEDIUM */ { 1.0001f, 0.999951809733f, 0.999807252867f, 0.999566371195f, 0.999229234349f, 0.998795939769f, 0.998266612656f, 0.997641405905f, 0.996920500042f, 0.996104103128f, 0.995192450664f, 0.994185805476f, 0.993084457589f, 0.991888724088f, 0.990598948965f, 0.989215502956f, 0.987738783362f }, /* LAGW_STRONG */ { 1.0001f, 0.999891579151f, 0.999566376209f, 0.999024569988f, 0.998266637325f, 0.997292876244f, 0.996104121208f, 0.994700968266f, 0.993084430695f, 0.991255581379f, 0.989215493202f, 0.986965596676f, 0.984507262707f, 0.981842100620f, 0.978971838951f, 0.975898265839f, 0.972623467445f } }; const float lag_window_32k[NUM_LAGW_STRENGTHS][17] = { /* LAGW_WEAK */ { 1.0001f, 0.999992289401f, 0.999969157962f, 0.999930606752f, 0.999876637555f, 0.999807252867f, 0.999722455899f, 0.999622250572f, 0.999506641521f, 0.999375634094f, 0.999229234349f, 0.999067449055f, 0.998890285694f, 0.998697752455f, 0.998489858239f, 0.998266612656f, 0.998028026020f }, /* LAGW_MEDIUM */ { 1.0001f, 0.999969157962f, 0.999876637555f, 0.999722455899f, 0.999506641521f, 0.999229234349f, 0.998890285694f, 0.998489858239f, 0.998028026020f, 0.997504874399f, 0.996920500042f, 0.996275010885f, 0.995568526105f, 0.994801176082f, 0.993973102356f, 0.993084457589f, 0.992135405511f }, /* LAGW_STRONG */ { 1.0001f, 0.999930606752f, 0.999722455899f, 0.999375634094f, 0.998890285694f, 0.998266612656f, 0.997504874399f, 0.996605387628f, 0.995568526105f, 0.994394720400f, 0.993084457589f, 0.991638280913f, 0.990056789412f, 0.988340637503f, 0.986490534533f, 0.984507244288f, 0.982391584471f } }; /* LAGW_STRONG */ const float lag_window_48k[17] = { 1.0001f, 0.999969157962f, 0.999876637555f, 0.999722455899f, 0.999506641521f, 0.999229234349f, 0.998890285694f, 0.998489858239f, 0.998028026020f, 0.997504874399f, 0.996920500042f, 0.996275010885f, 0.995568526105f, 0.994801176082f, 0.993973102356f, 0.993084457589f, 0.992135405511f }; /*----------------------------------------------------------------------------------* * LP analysis - grid of points for evaluating Chebyshev polynomials *----------------------------------------------------------------------------------*/ const float grid50[(GRID50_POINTS-1)/2 - 1] = { 0.9980267284f, 0.9921147013f, 0.9822872507f, 0.9685831611f, 0.9510565163f, 0.9297764859f, 0.9048270525f, 0.8763066800f, 0.8443279255f, 0.8090169944f, 0.7705132428f, 0.7289686274f, 0.6845471059f, 0.6374239897f, 0.5877852523f, 0.5358267950f, 0.4817536741f, 0.4257792916f, 0.3681245527f, 0.3090169944f, 0.2486898872f, 0.1873813146f, 0.1253332336f, 0.0627905195f }; const float grid40[(GRID40_POINTS-1)/2 - 1] = { 0.9969173337f, 0.9876883406f, 0.9723699204f, 0.9510565163f, 0.9238795325f, 0.8910065242f, 0.8526401644f, 0.8090169944f, 0.7604059656f, 0.7071067812f, 0.6494480483f, 0.5877852523f, 0.5224985647f, 0.4539904997f, 0.3826834324f, 0.3090169944f, 0.2334453639f, 0.1564344650f, 0.0784590957f }; const float grid100[GRID100_POINTS+1] = { 1.0000000000f, 0.9995065331f, 0.9980267286f, 0.9955619574f, 0.9921147227f, 0.9876883626f, 0.9822872281f, 0.9759167433f, 0.9685831666f, 0.9602936506f, 0.9510565400f, 0.9408807755f, 0.9297764897f, 0.9177545905f, 0.9048270583f, 0.8910065293f, 0.8763066530f, 0.8607420325f, 0.8443279266f, 0.8270805478f, 0.8090170026f, 0.7901549935f, 0.7705132365f, 0.7501110435f, 0.7289685607f, 0.7071067691f, 0.6845470667f, 0.6613118052f, 0.6374239326f, 0.6129069924f, 0.5877852440f, 0.5620833635f, 0.5358267426f, 0.5090413690f, 0.4817536175f, 0.4539904296f, 0.4257791936f, 0.3971477747f, 0.3681245446f, 0.3387379050f, 0.3090169728f, 0.2789910734f, 0.2486898303f, 0.2181431651f, 0.1873812228f, 0.1564343721f, 0.1253331155f, 0.0941081867f, 0.0627903789f, 0.0314107276f, -0.0000000437f, -0.0314108171f, -0.0627905875f, -0.0941083953f, -0.1253333241f, -0.1564345658f, -0.1873814315f, -0.2181433737f, -0.2486900240f, -0.2789911330f, -0.3090170324f, -0.3387379944f, -0.3681246340f, -0.3971479833f, -0.4257793725f, -0.4539906085f, -0.4817537963f, -0.5090415478f, -0.5358269215f, -0.5620835423f, -0.5877854228f, -0.6129072309f, -0.6374241710f, -0.6613120437f, -0.6845472455f, -0.7071067691f, -0.7289686203f, -0.7501111031f, -0.7705132961f, -0.7901550531f, -0.8090170622f, -0.8270806074f, -0.8443279862f, -0.8607420921f, -0.8763067126f, -0.8910065889f, -0.9048271179f, -0.9177547097f, -0.9297765493f, -0.9408808351f, -0.9510565996f, -0.9602937698f, -0.9685832262f, -0.9759168029f, -0.9822872877f, -0.9876883626f, -0.9921147227f, -0.9955619574f, -0.9980267286f, -0.9995065331f, -1.0000000000f }; /*----------------------------------------------------------------------------------* * Sinus & Cosinus - table for the FFT and IFFT of 256 points, * dimension of the table = 161 *----------------------------------------------------------------------------------*/ const float sincos_t[161] = { 0.0f, 0.0245412290096282960f, 0.0490676760673522950f, 0.0735645666718482970f, 0.0980171412229537960f, 0.1224106773734092700f, 0.1467304676771163900f, 0.1709618866443634000f, 0.1950903236865997300f, 0.2191012352705001800f, 0.2429801821708679200f, 0.2667127549648284900f, 0.2902846634387970000f, 0.3136817514896392800f, 0.3368898630142211900f, 0.3598950505256652800f, 0.3826834261417388900f, 0.4052413105964660600f, 0.4275550842285156300f, 0.4496113359928131100f, 0.4713967442512512200f, 0.4928981959819793700f, 0.5141027569770813000f, 0.5349976420402526900f, 0.5555702447891235400f, 0.5758081674575805700f, 0.5956993103027343800f, 0.6152315735816955600f, 0.6343932747840881300f, 0.6531728506088256800f, 0.6715589761734008800f, 0.6895405650138855000f, 0.7071067690849304200f, 0.7242470979690551800f, 0.7409511208534240700f, 0.7572088241577148400f, 0.7730104327201843300f, 0.7883464097976684600f, 0.8032075166702270500f, 0.8175848126411438000f, 0.8314695954322814900f, 0.8448535799980163600f, 0.8577286005020141600f, 0.8700869679450988800f, 0.8819212913513183600f, 0.8932242989540100100f, 0.9039893150329589800f, 0.9142097830772399900f, 0.9238795042037963900f, 0.9329928159713745100f, 0.9415440559387207000f, 0.9495281577110290500f, 0.9569403529167175300f, 0.9637760519981384300f, 0.9700312614440918000f, 0.9757021069526672400f, 0.9807852506637573200f, 0.9852776527404785200f, 0.9891765117645263700f, 0.9924795627593994100f, 0.9951847195625305200f, 0.9972904324531555200f, 0.9987954497337341300f, 0.9996988177299499500f, 1.0000000000000000000f, 0.9996988177299499500f, 0.9987954497337341300f, 0.9972904324531555200f, 0.9951847195625305200f, 0.9924795627593994100f, 0.9891765117645263700f, 0.9852776527404785200f, 0.9807852506637573200f, 0.9757021069526672400f, 0.9700312614440918000f, 0.9637760519981384300f, 0.9569403529167175300f, 0.9495281577110290500f, 0.9415440559387207000f, 0.9329928159713745100f, 0.9238795042037963900f, 0.9142097830772399900f, 0.9039893150329589800f, 0.8932242989540100100f, 0.8819212913513183600f, 0.8700869679450988800f, 0.8577286005020141600f, 0.8448535799980163600f, 0.8314695954322814900f, 0.8175848126411438000f, 0.8032075166702270500f, 0.7883464097976684600f, 0.7730104327201843300f, 0.7572088241577148400f, 0.7409511208534240700f, 0.7242470979690551800f, 0.7071067690849304200f, 0.6895405650138855000f, 0.6715589761734008800f, 0.6531728506088256800f, 0.6343932747840881300f, 0.6152315735816955600f, 0.5956993103027343800f, 0.5758081674575805700f, 0.5555702447891235400f, 0.5349976420402526900f, 0.5141027569770813000f, 0.4928981959819793700f, 0.4713967442512512200f, 0.4496113359928131100f, 0.4275550842285156300f, 0.4052413105964660600f, 0.3826834261417388900f, 0.3598950505256652800f, 0.3368898630142211900f, 0.3136817514896392800f, 0.2902846634387970000f, 0.2667127549648284900f, 0.2429801821708679200f, 0.2191012352705001800f, 0.1950903236865997300f, 0.1709618866443634000f, 0.1467304676771163900f, 0.1224106773734092700f, 0.0980171412229537960f, 0.0735645666718482970f, 0.0490676723420619960f, 0.0245412290096282960f, -0.00000000041020686847303978f, -0.0245412290096282960f, -0.0490676760673522950f, -0.0735645666718482970f, -0.0980171412229537960f, -0.1224106773734092700f, -0.1467304676771163900f, -0.1709618866443634000f, -0.1950903236865997300f, -0.2191012352705001800f, -0.2429801821708679200f, -0.2667127549648284900f, -0.2902846634387970000f, -0.3136817514896392800f, -0.3368898630142211900f, -0.3598950505256652800f, -0.3826834261417388900f, -0.4052413105964660600f, -0.4275550842285156300f, -0.4496113359928131100f, -0.4713967442512512200f, -0.4928981959819793700f, -0.5141027569770813000f, -0.5349976420402526900f, -0.5555702447891235400f, -0.5758081674575805700f, -0.5956993103027343800f, -0.6152315735816955600f, -0.6343932747840881300f, -0.6531728506088256800f, -0.6715589761734008800f, -0.6895405650138855000f, -0.7071067690849304200f }; /*----------------------------------------------------------------------------------* * Sinus & Cosinus - table for the FFT and IFFT of 1024 points, value range [0 ... sin(-5pi/4)] * dimension of the table = 641=4*256*(5/8)+1 *----------------------------------------------------------------------------------*/ /* every 4th value is identical to sincos_t above but as sincos_t is also used in SWB TBE a separate table has been defined here */ const float sincos_t_ext[641] = { 0.0f, 0.006135884649154f, 0.012271538285720f, 0.018406729905805f, 0.024541228522912f, 0.030674803176637f, 0.036807222941359f, 0.042938256934941f, 0.049067674327418f, 0.055195244349690f, 0.061320736302209f, 0.067443919563664f, 0.073564563599667f, 0.079682437971430f, 0.085797312344440f, 0.091908956497133f, 0.098017140329561f, 0.104121633872055f, 0.110222207293883f, 0.116318630911905f, 0.122410675199216f, 0.128498110793793f, 0.134580708507126f, 0.140658239332849f, 0.146730474455362f, 0.152797185258443f, 0.158858143333861f, 0.164913120489970f, 0.170961888760301f, 0.177004220412149f, 0.183039887955141f, 0.189068664149806f, 0.195090322016128f, 0.201104634842092f, 0.207111376192219f, 0.213110319916091f, 0.219101240156870f, 0.225083911359793f, 0.231058108280671f, 0.237023605994367f, 0.242980179903264f, 0.248927605745720f, 0.254865659604515f, 0.260794117915276f, 0.266712757474898f, 0.272621355449949f, 0.278519689385053f, 0.284407537211272f, 0.290284677254462f, 0.296150888243624f, 0.302005949319228f, 0.307849640041535f, 0.313681740398892f, 0.319502030816016f, 0.325310292162263f, 0.331106305759876f, 0.336889853392220f, 0.342660717311994f, 0.348418680249435f, 0.354163525420490f, 0.359895036534988f, 0.365612997804774f, 0.371317193951837f, 0.377007410216418f, 0.382683432365090f, 0.388345046698826f, 0.393992040061048f, 0.399624199845647f, 0.405241314004990f, 0.410843171057904f, 0.416429560097637f, 0.422000270799800f, 0.427555093430282f, 0.433093818853152f, 0.438616238538528f, 0.444122144570429f, 0.449611329654607f, 0.455083587126344f, 0.460538710958240f, 0.465976495767966f, 0.471396736825998f, 0.476799230063322f, 0.482183772079123f, 0.487550160148436f, 0.492898192229784f, 0.498227666972782f, 0.503538383725718f, 0.508830142543107f, 0.514102744193222f, 0.519355990165590f, 0.524589682678469f, 0.529803624686295f, 0.534997619887097f, 0.540171472729893f, 0.545324988422046f, 0.550457972936605f, 0.555570233019602f, 0.560661576197336f, 0.565731810783613f, 0.570780745886967f, 0.575808191417845f, 0.580813958095765f, 0.585797857456439f, 0.590759701858874f, 0.595699304492433f, 0.600616479383869f, 0.605511041404326f, 0.610382806276309f, 0.615231590580627f, 0.620057211763289f, 0.624859488142386f, 0.629638238914927f, 0.634393284163645f, 0.639124444863776f, 0.643831542889791f, 0.648514401022112f, 0.653172842953777f, 0.657806693297079f, 0.662415777590172f, 0.666999922303637f, 0.671558954847018f, 0.676092703575316f, 0.680600997795453f, 0.685083667772700f, 0.689540544737067f, 0.693971460889654f, 0.698376249408973f, 0.702754744457225f, 0.707106781186547f, 0.711432195745216f, 0.715730825283819f, 0.720002507961382f, 0.724247082951467f, 0.728464390448225f, 0.732654271672413f, 0.736816568877370f, 0.740951125354959f, 0.745057785441466f, 0.749136394523459f, 0.753186799043613f, 0.757208846506485f, 0.761202385484262f, 0.765167265622459f, 0.769103337645580f, 0.773010453362737f, 0.776888465673232f, 0.780737228572094f, 0.784556597155575f, 0.788346427626606f, 0.792106577300212f, 0.795836904608884f, 0.799537269107905f, 0.803207531480645f, 0.806847553543799f, 0.810457198252595f, 0.814036329705948f, 0.817584813151584f, 0.821102514991105f, 0.824589302785025f, 0.828045045257756f, 0.831469612302545f, 0.834862874986380f, 0.838224705554838f, 0.841554977436898f, 0.844853565249707f, 0.848120344803297f, 0.851355193105265f, 0.854557988365401f, 0.857728610000272f, 0.860866938637767f, 0.863972856121587f, 0.867046245515693f, 0.870086991108711f, 0.873094978418290f, 0.876070094195407f, 0.879012226428633f, 0.881921264348355f, 0.884797098430938f, 0.887639620402854f, 0.890448723244758f, 0.893224301195515f, 0.895966249756185f, 0.898674465693954f, 0.901348847046022f, 0.903989293123443f, 0.906595704514915f, 0.909167983090522f, 0.911706032005430f, 0.914209755703531f, 0.916679059921043f, 0.919113851690058f, 0.921514039342042f, 0.923879532511287f, 0.926210242138311f, 0.928506080473216f, 0.930766961078984f, 0.932992798834739f, 0.935183509938948f, 0.937339011912575f, 0.939459223602190f, 0.941544065183021f, 0.943593458161960f, 0.945607325380521f, 0.947585591017741f, 0.949528180593037f, 0.951435020969008f, 0.953306040354194f, 0.955141168305771f, 0.956940335732209f, 0.958703474895872f, 0.960430519415566f, 0.962121404269042f, 0.963776065795440f, 0.965394441697689f, 0.966976471044852f, 0.968522094274417f, 0.970031253194544f, 0.971503890986252f, 0.972939952205560f, 0.974339382785576f, 0.975702130038529f, 0.977028142657754f, 0.978317370719628f, 0.979569765685441f, 0.980785280403230f, 0.981963869109555f, 0.983105487431216f, 0.984210092386929f, 0.985277642388941f, 0.986308097244599f, 0.987301418157858f, 0.988257567730749f, 0.989176509964781f, 0.990058210262297f, 0.990902635427780f, 0.991709753669100f, 0.992479534598710f, 0.993211949234795f, 0.993906970002356f, 0.994564570734255f, 0.995184726672197f, 0.995767414467660f, 0.996312612182778f, 0.996820299291166f, 0.997290456678690f, 0.997723066644192f, 0.998118112900149f, 0.998475580573295f, 0.998795456205172f, 0.999077727752645f, 0.999322384588350f, 0.999529417501093f, 0.999698818696204f, 0.999830581795823f, 0.999924701839145f, 0.999981175282601f, 1.000000000000000f, 0.999981175282601f, 0.999924701839145f, 0.999830581795823f, 0.999698818696204f, 0.999529417501093f, 0.999322384588350f, 0.999077727752645f, 0.998795456205172f, 0.998475580573295f, 0.998118112900149f, 0.997723066644192f, 0.997290456678690f, 0.996820299291166f, 0.996312612182778f, 0.995767414467660f, 0.995184726672197f, 0.994564570734255f, 0.993906970002356f, 0.993211949234795f, 0.992479534598710f, 0.991709753669100f, 0.990902635427780f, 0.990058210262297f, 0.989176509964781f, 0.988257567730749f, 0.987301418157858f, 0.986308097244599f, 0.985277642388941f, 0.984210092386929f, 0.983105487431216f, 0.981963869109555f, 0.980785280403230f, 0.979569765685441f, 0.978317370719628f, 0.977028142657754f, 0.975702130038529f, 0.974339382785576f, 0.972939952205560f, 0.971503890986252f, 0.970031253194544f, 0.968522094274417f, 0.966976471044852f, 0.965394441697689f, 0.963776065795440f, 0.962121404269042f, 0.960430519415566f, 0.958703474895872f, 0.956940335732209f, 0.955141168305771f, 0.953306040354194f, 0.951435020969008f, 0.949528180593037f, 0.947585591017741f, 0.945607325380521f, 0.943593458161960f, 0.941544065183021f, 0.939459223602190f, 0.937339011912575f, 0.935183509938948f, 0.932992798834739f, 0.930766961078984f, 0.928506080473216f, 0.926210242138311f, 0.923879532511287f, 0.921514039342042f, 0.919113851690058f, 0.916679059921043f, 0.914209755703531f, 0.911706032005430f, 0.909167983090522f, 0.906595704514915f, 0.903989293123443f, 0.901348847046022f, 0.898674465693954f, 0.895966249756185f, 0.893224301195515f, 0.890448723244758f, 0.887639620402854f, 0.884797098430938f, 0.881921264348355f, 0.879012226428634f, 0.876070094195407f, 0.873094978418290f, 0.870086991108711f, 0.867046245515693f, 0.863972856121587f, 0.860866938637767f, 0.857728610000272f, 0.854557988365401f, 0.851355193105265f, 0.848120344803297f, 0.844853565249707f, 0.841554977436898f, 0.838224705554838f, 0.834862874986380f, 0.831469612302545f, 0.828045045257756f, 0.824589302785025f, 0.821102514991105f, 0.817584813151584f, 0.814036329705949f, 0.810457198252595f, 0.806847553543799f, 0.803207531480645f, 0.799537269107905f, 0.795836904608884f, 0.792106577300212f, 0.788346427626606f, 0.784556597155575f, 0.780737228572095f, 0.776888465673232f, 0.773010453362737f, 0.769103337645580f, 0.765167265622459f, 0.761202385484262f, 0.757208846506485f, 0.753186799043613f, 0.749136394523459f, 0.745057785441466f, 0.740951125354959f, 0.736816568877370f, 0.732654271672413f, 0.728464390448225f, 0.724247082951467f, 0.720002507961382f, 0.715730825283819f, 0.711432195745217f, 0.707106781186548f, 0.702754744457225f, 0.698376249408973f, 0.693971460889654f, 0.689540544737067f, 0.685083667772700f, 0.680600997795453f, 0.676092703575316f, 0.671558954847019f, 0.666999922303638f, 0.662415777590172f, 0.657806693297079f, 0.653172842953777f, 0.648514401022113f, 0.643831542889791f, 0.639124444863776f, 0.634393284163645f, 0.629638238914927f, 0.624859488142386f, 0.620057211763289f, 0.615231590580627f, 0.610382806276310f, 0.605511041404326f, 0.600616479383869f, 0.595699304492433f, 0.590759701858874f, 0.585797857456439f, 0.580813958095765f, 0.575808191417845f, 0.570780745886967f, 0.565731810783613f, 0.560661576197336f, 0.555570233019602f, 0.550457972936605f, 0.545324988422046f, 0.540171472729893f, 0.534997619887097f, 0.529803624686295f, 0.524589682678469f, 0.519355990165590f, 0.514102744193222f, 0.508830142543107f, 0.503538383725718f, 0.498227666972782f, 0.492898192229784f, 0.487550160148436f, 0.482183772079123f, 0.476799230063322f, 0.471396736825998f, 0.465976495767966f, 0.460538710958240f, 0.455083587126344f, 0.449611329654607f, 0.444122144570429f, 0.438616238538528f, 0.433093818853152f, 0.427555093430282f, 0.422000270799800f, 0.416429560097637f, 0.410843171057904f, 0.405241314004990f, 0.399624199845647f, 0.393992040061048f, 0.388345046698827f, 0.382683432365090f, 0.377007410216418f, 0.371317193951838f, 0.365612997804774f, 0.359895036534988f, 0.354163525420490f, 0.348418680249435f, 0.342660717311994f, 0.336889853392220f, 0.331106305759876f, 0.325310292162263f, 0.319502030816016f, 0.313681740398891f, 0.307849640041535f, 0.302005949319228f, 0.296150888243624f, 0.290284677254462f, 0.284407537211272f, 0.278519689385053f, 0.272621355449949f, 0.266712757474898f, 0.260794117915276f, 0.254865659604515f, 0.248927605745720f, 0.242980179903264f, 0.237023605994367f, 0.231058108280671f, 0.225083911359793f, 0.219101240156870f, 0.213110319916091f, 0.207111376192219f, 0.201104634842092f, 0.195090322016129f, 0.189068664149806f, 0.183039887955141f, 0.177004220412149f, 0.170961888760301f, 0.164913120489970f, 0.158858143333861f, 0.152797185258444f, 0.146730474455362f, 0.140658239332850f, 0.134580708507126f, 0.128498110793793f, 0.122410675199216f, 0.116318630911905f, 0.110222207293883f, 0.104121633872055f, 0.098017140329561f, 0.091908956497133f, 0.085797312344440f, 0.079682437971430f, 0.073564563599668f, 0.067443919563664f, 0.061320736302208f, 0.055195244349690f, 0.049067674327418f, 0.042938256934941f, 0.036807222941359f, 0.030674803176637f, 0.024541228522912f, 0.018406729905805f, 0.012271538285720f, 0.006135884649155f, 0.000000000000000f, -0.006135884649155f, -0.012271538285720f, -0.018406729905805f, -0.024541228522912f, -0.030674803176637f, -0.036807222941359f, -0.042938256934941f, -0.049067674327418f, -0.055195244349690f, -0.061320736302208f, -0.067443919563664f, -0.073564563599667f, -0.079682437971430f, -0.085797312344440f, -0.091908956497133f, -0.098017140329561f, -0.104121633872054f, -0.110222207293883f, -0.116318630911904f, -0.122410675199216f, -0.128498110793793f, -0.134580708507126f, -0.140658239332849f, -0.146730474455362f, -0.152797185258443f, -0.158858143333861f, -0.164913120489970f, -0.170961888760301f, -0.177004220412149f, -0.183039887955141f, -0.189068664149806f, -0.195090322016128f, -0.201104634842092f, -0.207111376192219f, -0.213110319916091f, -0.219101240156870f, -0.225083911359793f, -0.231058108280671f, -0.237023605994367f, -0.242980179903264f, -0.248927605745720f, -0.254865659604514f, -0.260794117915276f, -0.266712757474898f, -0.272621355449949f, -0.278519689385053f, -0.284407537211272f, -0.290284677254462f, -0.296150888243624f, -0.302005949319228f, -0.307849640041535f, -0.313681740398891f, -0.319502030816016f, -0.325310292162263f, -0.331106305759876f, -0.336889853392220f, -0.342660717311994f, -0.348418680249435f, -0.354163525420490f, -0.359895036534988f, -0.365612997804774f, -0.371317193951837f, -0.377007410216418f, -0.382683432365090f, -0.388345046698826f, -0.393992040061048f, -0.399624199845647f, -0.405241314004990f, -0.410843171057904f, -0.416429560097637f, -0.422000270799800f, -0.427555093430282f, -0.433093818853152f, -0.438616238538527f, -0.444122144570429f, -0.449611329654607f, -0.455083587126344f, -0.460538710958240f, -0.465976495767966f, -0.471396736825998f, -0.476799230063322f, -0.482183772079123f, -0.487550160148436f, -0.492898192229784f, -0.498227666972782f, -0.503538383725717f, -0.508830142543107f, -0.514102744193222f, -0.519355990165590f, -0.524589682678469f, -0.529803624686295f, -0.534997619887097f, -0.540171472729893f, -0.545324988422046f, -0.550457972936605f, -0.555570233019602f, -0.560661576197336f, -0.565731810783613f, -0.570780745886967f, -0.575808191417845f, -0.580813958095764f, -0.585797857456439f, -0.590759701858874f, -0.595699304492433f, -0.600616479383869f, -0.605511041404325f, -0.610382806276309f, -0.615231590580627f, -0.620057211763289f, -0.624859488142386f, -0.629638238914927f, -0.634393284163645f, -0.639124444863776f, -0.643831542889791f, -0.648514401022112f, -0.653172842953777f, -0.657806693297079f, -0.662415777590172f, -0.666999922303637f, -0.671558954847018f, -0.676092703575316f, -0.680600997795453f, -0.685083667772700f, -0.689540544737067f, -0.693971460889654f, -0.698376249408973f, -0.702754744457225f, -0.707106781186547f }; const float Asr_LP32[41] = { 0.00000000f, 0.00074311f, 0.00168152f, 0.00177319f, -0.00000000f, -0.00345938f, -0.00653664f, -0.00604727f, 0.00000000f, 0.00988729f, 0.01759782f, 0.01556464f, -0.00000000f, -0.02426962f, -0.04321351f, -0.03907450f, 0.00000000f, 0.07133152f, 0.15563209f, 0.22382514f, 0.25000000f, 0.22382514f, 0.15563209f, 0.07133152f, 0.00000000f, -0.03907450f, -0.04321351f, -0.02426962f, -0.00000000f, 0.01556464f, 0.01759782f, 0.00988729f, 0.00000000f, -0.00604727f, -0.00653664f, -0.00345938f, -0.00000000f, 0.00177319f, 0.00168152f, 0.00074311f, 0.00000000f }; const float Asr_LP16[21] = { 0.00000000f, 0.00336304f, -0.00000000f, -0.01307328f, 0.00000000f, 0.03519564f, -0.00000000f, -0.08642702f, 0.00000000f, 0.31126418f, 0.50000000f, 0.31126418f, 0.00000000f, -0.08642702f, -0.00000000f, 0.03519564f, 0.00000000f, -0.01307328f, -0.00000000f, 0.00336304f, 0.00000000f }; const float Asr_LP48[61] = { 0.00000000f, 0.00029287f, 0.00071673f, 0.00112101f, 0.00127506f, 0.00094416f, -0.00000000f, -0.00147233f, -0.00311928f, -0.00435776f, -0.00452368f, -0.00310585f, 0.00000000f, 0.00430863f, 0.00872382f, 0.01173188f, 0.01180048f, 0.00789952f, -0.00000000f, -0.01061594f, -0.02137287f, -0.02880901f, -0.02932326f, -0.02010347f, 0.00000000f, 0.02990484f, 0.06622310f, 0.10375473f, 0.13646949f, 0.15876038f, 0.16666667f, 0.15876038f, 0.13646949f, 0.10375473f, 0.06622310f, 0.02990484f, 0.00000000f, -0.02010347f, -0.02932326f, -0.02880901f, -0.02137287f, -0.01061594f, -0.00000000f, 0.00789952f, 0.01180048f, 0.01173188f, 0.00872382f, 0.00430863f, 0.00000000f, -0.00310585f, -0.00452368f, -0.00435776f, -0.00311928f, -0.00147233f, -0.00000000f, 0.00094416f, 0.00127506f, 0.00112101f, 0.00071673f, 0.00029287f, 0.00000000f }; const short fft256_read_indexes[]= { 0, 128, 64, 192, 32, 160, 96, 224, 16, 144, 80, 208, 48, 176, 112, 240, 8, 136, 72, 200, 40, 168, 104, 232, 24, 152, 88, 216, 56, 184, 120, 248, 4, 132, 68, 196, 36, 164, 100, 228, 20, 148, 84, 212, 52, 180, 116, 244, 12, 140, 76, 204, 44, 172, 108, 236, 28, 156, 92, 220, 60, 188, 124, 252, 2, 130, 66, 194, 34, 162, 98, 226, 18, 146, 82, 210, 50, 178, 114, 242, 10, 138, 74, 202, 42, 170, 106, 234, 26, 154, 90, 218, 58, 186, 122, 250, 6, 134, 70, 198, 38, 166, 102, 230, 22, 150, 86, 214, 54, 182, 118, 246, 14, 142, 78, 206, 46, 174, 110, 238, 30, 158, 94, 222, 62, 190, 126, 254, 1, 129, 65, 193, 33, 161, 97, 225, 17, 145, 81, 209, 49, 177, 113, 241, 9, 137, 73, 201, 41, 169, 105, 233, 25, 153, 89, 217, 57, 185, 121, 249, 5, 133, 69, 197, 37, 165, 101, 229, 21, 149, 85, 213, 53, 181, 117, 245, 13, 141, 77, 205, 45, 173, 109, 237, 29, 157, 93, 221, 61, 189, 125, 253, 3, 131, 67, 195, 35, 163, 99, 227, 19, 147, 83, 211, 51, 179, 115, 243, 11, 139, 75, 203, 43, 171, 107, 235, 27, 155, 91, 219, 59, 187, 123, 251, 7, 135, 71, 199, 39, 167, 103, 231, 23, 151, 87, 215, 55, 183, 119, 247, 15, 143, 79, 207, 47, 175, 111, 239, 31, 159, 95, 223, 63, 191, 127, 255 }; /*----------------------------------------------------------------------------------* * Sinus & Cosinus - table for the DCT-IV based 2 *----------------------------------------------------------------------------------*/ const float sin_table256[] = { 0.003067957f, 0.009203755f, 0.015339206f, 0.02147408f, 0.027608146f, 0.033741172f, 0.039872928f, 0.046003182f, 0.052131705f, 0.058258265f, 0.064382631f, 0.070504573f, 0.076623861f, 0.082740265f, 0.088853553f, 0.094963495f, 0.101069863f, 0.107172425f, 0.113270952f, 0.119365215f, 0.125454983f, 0.131540029f, 0.137620122f, 0.143695033f, 0.149764535f, 0.155828398f, 0.161886394f, 0.167938295f, 0.173983873f, 0.180022901f, 0.186055152f, 0.192080397f, 0.198098411f, 0.204108966f, 0.210111837f, 0.216106797f, 0.222093621f, 0.228072083f, 0.234041959f, 0.240003022f, 0.24595505f, 0.251897818f, 0.257831102f, 0.263754679f, 0.269668326f, 0.275571819f, 0.281464938f, 0.28734746f, 0.293219163f, 0.299079826f, 0.30492923f, 0.310767153f, 0.316593376f, 0.322407679f, 0.328209844f, 0.333999651f, 0.339776884f, 0.345541325f, 0.351292756f, 0.357030961f, 0.362755724f, 0.36846683f, 0.374164063f, 0.379847209f, 0.385516054f, 0.391170384f, 0.396809987f, 0.402434651f, 0.408044163f, 0.413638312f, 0.419216888f, 0.424779681f, 0.430326481f, 0.43585708f, 0.441371269f, 0.44686884f, 0.452349587f, 0.457813304f, 0.463259784f, 0.468688822f, 0.474100215f, 0.479493758f, 0.484869248f, 0.490226483f, 0.495565262f, 0.500885383f, 0.506186645f, 0.51146885f, 0.516731799f, 0.521975293f, 0.527199135f, 0.532403128f, 0.537587076f, 0.542750785f, 0.547894059f, 0.553016706f, 0.558118531f, 0.563199344f, 0.568258953f, 0.573297167f, 0.578313796f, 0.583308653f, 0.588281548f, 0.593232295f, 0.598160707f, 0.603066599f, 0.607949785f, 0.612810082f, 0.617647308f, 0.622461279f, 0.627251815f, 0.632018736f, 0.636761861f, 0.641481013f, 0.646176013f, 0.650846685f, 0.655492853f, 0.660114342f, 0.664710978f, 0.669282588f, 0.673829f, 0.678350043f, 0.682845546f, 0.687315341f, 0.691759258f, 0.696177131f, 0.700568794f, 0.70493408f, 0.709272826f, 0.713584869f, 0.717870045f, 0.722128194f, 0.726359155f, 0.730562769f, 0.734738878f, 0.738887324f, 0.743007952f, 0.747100606f, 0.751165132f, 0.755201377f, 0.759209189f, 0.763188417f, 0.767138912f, 0.771060524f, 0.774953107f, 0.778816512f, 0.782650596f, 0.786455214f, 0.790230221f, 0.793975478f, 0.797690841f, 0.801376172f, 0.805031331f, 0.808656182f, 0.812250587f, 0.815814411f, 0.81934752f, 0.822849781f, 0.826321063f, 0.829761234f, 0.833170165f, 0.836547727f, 0.839893794f, 0.84320824f, 0.846490939f, 0.849741768f, 0.852960605f, 0.856147328f, 0.859301818f, 0.862423956f, 0.865513624f, 0.868570706f, 0.871595087f, 0.874586652f, 0.87754529f, 0.880470889f, 0.883363339f, 0.88622253f, 0.889048356f, 0.891840709f, 0.894599486f, 0.897324581f, 0.900015892f, 0.902673318f, 0.905296759f, 0.907886116f, 0.910441292f, 0.91296219f, 0.915448716f, 0.917900776f, 0.920318277f, 0.922701128f, 0.925049241f, 0.927362526f, 0.929640896f, 0.931884266f, 0.93409255f, 0.936265667f, 0.938403534f, 0.940506071f, 0.942573198f, 0.944604837f, 0.946600913f, 0.94856135f, 0.950486074f, 0.952375013f, 0.954228095f, 0.956045251f, 0.957826413f, 0.959571513f, 0.961280486f, 0.962953267f, 0.964589793f, 0.966190003f, 0.967753837f, 0.969281235f, 0.970772141f, 0.972226497f, 0.97364425f, 0.975025345f, 0.976369731f, 0.977677358f, 0.978948175f, 0.980182136f, 0.981379193f, 0.982539302f, 0.983662419f, 0.984748502f, 0.985797509f, 0.986809402f, 0.987784142f, 0.988721692f, 0.989622017f, 0.990485084f, 0.99131086f, 0.992099313f, 0.992850414f, 0.993564136f, 0.994240449f, 0.994879331f, 0.995480755f, 0.996044701f, 0.996571146f, 0.99706007f, 0.997511456f, 0.997925286f, 0.998301545f, 0.998640218f, 0.998941293f, 0.999204759f, 0.999430605f, 0.999618822f, 0.999769405f, 0.999882347f, 0.999957645f, 0.999995294f }; /*----------------------------------------------------------------------------------* * 1/4 resolution interpolation filter (-3 dB at 0.913*fs/2) *----------------------------------------------------------------------------------*/ const float inter4_2[65] = { 0.940000f, 0.856390f, 0.632268f, 0.337560f, 0.059072f, -0.131059f, -0.199393f, -0.158569f, -0.056359f, 0.047606f, 0.106749f, 0.103705f, 0.052062f, -0.015182f, -0.063705f, -0.073660f, -0.046497f, -0.000983f, 0.038227f, 0.053143f, 0.040059f, 0.009308f, -0.021674f, -0.037767f, -0.033186f, -0.013028f, 0.010702f, 0.025901f, 0.026318f, 0.013821f, -0.003645f, -0.016813f, -0.019855f, -0.012766f, -0.000530f, 0.010080f, 0.014122f, 0.010657f, 0.002594f, -0.005363f, -0.009344f, -0.008101f, -0.003182f, 0.002330f, 0.005635f, 0.005562f, 0.002844f, -0.000627f, -0.002993f, -0.003362f, -0.002044f, -0.000116f, 0.001315f, 0.001692f, 0.001151f, 0.000259f, -0.000417f, -0.000618f, -0.000434f, -0.000133f, 0.000063f, 0.000098f, 0.000048f, 0.000007f, 0.000000f }; /*----------------------------------------------------------------------------------* * 1/6 resolution interpolation filter (-3 dB at 0.95*fs/2) *----------------------------------------------------------------------------------*/ const float inter6_2[PIT_FIR_SIZE6_2] = { 0.949986374119862F, 0.911081104469830F, 0.800115099292852F, 0.633320673120883F, 0.434558462154083F, 0.231177017786780F, 0.049378173063717F, -0.090039611811170F, -0.174782560924477F, -0.202477516286360F, -0.180218293244902F, -0.122429229978978F, -0.047552067127379F, 0.025733669494145F, 0.081995376731897F, 0.111581381838187F, 0.111781798292302F, 0.086499988914996F, 0.044629684447068F, -0.002416435594242F, -0.043440027386915F, -0.069857782812169F, -0.077293683967992F, -0.066098268486336F, -0.040782649068098F, -0.008590773415008F, 0.022397654632128F, 0.045171360007974F, 0.055274128677739F, 0.051578034020076F, 0.036232016917169F, 0.013869500422767F, -0.009680698856947F, -0.028843394410080F, -0.039560663181280F, -0.040095747151623F, -0.031231107680685F, -0.015866154815425F, 0.001841532922707F, 0.017553701334759F, 0.027778555138199F, 0.030612329573745F, 0.026046143652186F, 0.015803012695681F, 0.002782973481834F, -0.009720124055079F, -0.018826488463900F, -0.022710487805852F, -0.020936374578238F, -0.014436620433404F, -0.005169079181373F, 0.004437651243491F, 0.012100372954920F, 0.016207075406240F, 0.016135389123271F, 0.012306629559665F, 0.005986734945567F, -0.001094950878591F, -0.007200842219958F, -0.010998212848124F, -0.011835179448280F, -0.009826566540474F, -0.005747665080695F, -0.000780600030751F, 0.003810613287985F, 0.006990479233404F, 0.008174249796791F, 0.007317375965949F, 0.004864690818765F, 0.001587005259212F, -0.001642504305841F, -0.004070609517416F, -0.005230670504649F, -0.005019147682711F, -0.003673879223241F, -0.001671460853812F, 0.000420750005150F, 0.002095384947391F, 0.003020513665060F, 0.003095468528243F, 0.002441025550729F, 0.001335514431569F, 0.000120805384516F, -0.000893340757369F, -0.001501610712267F, -0.001636887611783F, -0.001362571776250F, -0.000832126175863F, -0.000232033375863F, 0.000273627139471F, 0.000582092683087F, 0.000666445711949F, 0.000566088888178F, 0.000360374058147F, 0.000136306914913F, -0.000038864994777F, -0.000132755824518F, -0.000148377158880F, -0.000112937171810F, -0.000061132514471F, -0.000019974224468F, -0.000000460344975F, 0.000001976848453F }; /*----------------------------------------------------------------------------------* * Low-pass FIR filter for low-frequency post-filtering @ 16kHz * response : -6dB @ 50Hz, -3dB @ 500Hz, -6dB @ 6.4kHz) * L_FILT=15 @ 16kHz (1+4x15=61 coef) * L_FILT=12 @ 12.8kHz (1+5x12=61 coef) * filter parameters: fs/2=32000, fc=6400, gain=5.0, n=61 *----------------------------------------------------------------------------------*/ static const float filter_LP12_180H[] = /* Sincfilt.m: N=180*2+1, Fmin=0, Fmax=1/12, hann( N )' */ { 1.00000000f, 0.98854064f, 0.95463880f, 0.89969939f, 0.82598609f, 0.73650898f, 0.63487604f, 0.52511631f, 0.41148461f, 0.29825804f, 0.18953518f, 0.08904855f, 0.00000000f, -0.07507283f, -0.13439242f, -0.17699551f, -0.20274380f, -0.21229157f, -0.20701353f, -0.18889782f, -0.16041129f, -0.12434529f, -0.08365114f, -0.04127482f, -0.00000000f, 0.03769212f, 0.06973903f, 0.09458356f, 0.11122751f, 0.11925054f, 0.11879487f, 0.11051837f, 0.09552022f, 0.07524478f, 0.05137065f, 0.02569204f, 0.00000000f, -0.02402919f, -0.04493222f, -0.06153821f, -0.07302535f, -0.07895262f, -0.07926575f, -0.07427839f, -0.06463103f, -0.05123120f, -0.03517999f, -0.01768990f, -0.00000000f, 0.01670619f, 0.03137493f, 0.04314423f, 0.05139005f, 0.05575472f, 0.05615642f, 0.05278011f, 0.04605151f, 0.03659641f, 0.02518906f, 0.01269314f, 0.00000000f, -0.01203202f, -0.02263294f, -0.03116789f, -0.03717261f, -0.04037571f, -0.04070711f, -0.03829248f, -0.03343501f, -0.02658610f, -0.01830764f, -0.00922872f, -0.00000000f, 0.00875109f, 0.01646140f, 0.02266671f, 0.02702792f, 0.02934764f, 0.02957617f, 0.02780739f, 0.02426498f, 0.01928068f, 0.01326622f, 0.00668131f, 0.00000000f, -0.00632223f, -0.01187840f, -0.01633509f, -0.01945125f, -0.02108964f, -0.02122066f, -0.01991853f, -0.01735069f, -0.01376125f, -0.00945018f, -0.00474975f, -0.00000000f, 0.00447492f, 0.00838805f, 0.01150721f, 0.01366775f, 0.01478001f, 0.01483115f, 0.01388152f, 0.01205626f, 0.00953282f, 0.00652562f, 0.00326903f, 0.00000000f, -0.00305850f, -0.00571204f, -0.00780638f, -0.00923565f, -0.00994662f, -0.00993903f, -0.00926212f, -0.00800799f, -0.00630232f, -0.00429337f, -0.00214002f, -0.00000000f, 0.00198116f, 0.00367946f, 0.00499962f, 0.00587975f, 0.00629327f, 0.00624819f, 0.00578397f, 0.00496633f, 0.00388057f, 0.00262394f, 0.00129781f, 0.00000000f, -0.00118189f, -0.00217597f, -0.00292996f, -0.00341330f, -0.00361747f, -0.00355476f, -0.00325545f, -0.00276400f, -0.00213446f, -0.00142560f, -0.00069606f, -0.00000000f, 0.00061651f, 0.00111820f, 0.00148212f, 0.00169815f, 0.00176842f, 0.00170582f, 0.00153178f, 0.00127370f, 0.00096205f, 0.00062756f, 0.00029879f, -0.00000000f, -0.00025029f, -0.00044009f, -0.00056414f, -0.00062342f, -0.00062426f, -0.00057701f, -0.00049453f, -0.00039069f, -0.00027889f, -0.00017088f, -0.00007586f, -0.00000000f, 0.00005374f, 0.00008534f, 0.00009723f, 0.00009358f, 0.00007948f, 0.00006013f, 0.00004011f, 0.00002289f, 0.00001046f, 0.00000327f, 0.00000042f, 0.00000000f }; static const float filter_LP15_180H[] = /* Sincfilt.m: N=180*2+1, Fmin=0, Fmax=1/15, hann( N )' */ { 1.00000000f, 0.99262960f, 0.97071645f, 0.93484826f, 0.88598337f, 0.82541986f, 0.75475374f, 0.67582786f, 0.59067328f, 0.50144522f, 0.41035570f, 0.31960540f, 0.23131699f, 0.14747211f, 0.06985439f, 0.00000000f, -0.06084233f, -0.11174093f, -0.15209937f, -0.18166306f, -0.20051411f, -0.20905505f, -0.20798222f, -0.19825005f, -0.18102779f, -0.15765038f, -0.12956550f, -0.09827869f, -0.06529875f, -0.03208525f, -0.00000000f, 0.02973580f, 0.05607741f, 0.07818439f, 0.09543959f, 0.10745905f, 0.11409270f, 0.11541631f, 0.11171520f, 0.10346089f, 0.09128169f, 0.07592875f, 0.05823905f, 0.03909687f, 0.01939543f, 0.00000000f, -0.01828583f, -0.03474981f, -0.04879543f, -0.05996041f, -0.06792872f, -0.07253607f, -0.07376881f, -0.07175666f, -0.06675991f, -0.05915169f, -0.04939656f, -0.03802614f, -0.02561328f, -0.01274565f, -0.00000000f, 0.01208179f, 0.02301411f, 0.03238554f, 0.03987272f, 0.04524984f, 0.04839345f, 0.04928266f, 0.04799492f, 0.04469779f, 0.03963720f, 0.03312292f, 0.02551190f, 0.01719053f, 0.00855630f, 0.00000000f, -0.00811094f, -0.01544730f, -0.02173055f, -0.02674237f, -0.03033123f, -0.03241557f, -0.03298387f, -0.03209149f, -0.02985488f, -0.02644325f, -0.02206842f, -0.01697326f, -0.01141932f, -0.00567433f, -0.00000000f, 0.00535923f, 0.01018613f, 0.01429886f, 0.01755714f, 0.01986621f, 0.02117865f, 0.02149380f, 0.02085525f, 0.01934645f, 0.01708469f, 0.01421394f, 0.01089691f, 0.00730662f, 0.00361802f, 0.00000000f, -0.00339188f, -0.00642164f, -0.00897788f, -0.01097732f, -0.01236693f, -0.01312444f, -0.01325748f, -0.01280137f, -0.01181573f, -0.01038024f, -0.00858967f, -0.00654854f, -0.00436567f, -0.00214887f, -0.00000000f, 0.00198936f, 0.00374143f, 0.00519494f, 0.00630684f, 0.00705299f, 0.00742798f, 0.00744401f, 0.00712902f, 0.00652419f, 0.00568101f, 0.00465798f, 0.00351733f, 0.00232168f, 0.00113102f, 0.00000000f, -0.00102431f, -0.00190408f, -0.00261180f, -0.00313077f, -0.00345499f, -0.00358855f, -0.00354447f, -0.00334328f, -0.00301127f, -0.00257862f, -0.00207746f, -0.00154002f, -0.00099694f, -0.00047581f, -0.00000000f, 0.00041214f, 0.00074776f, 0.00099963f, 0.00116592f, 0.00124972f, 0.00125829f, 0.00120217f, 0.00109420f, 0.00094845f, 0.00077928f, 0.00060035f, 0.00042395f, 0.00026030f, 0.00011724f, 0.00000000f, -0.00008882f, -0.00014902f, -0.00018252f, -0.00019287f, -0.00018476f, -0.00016347f, -0.00013434f, -0.00010230f, -0.00007148f, -0.00004496f, -0.00002456f, -0.00001086f, -0.00000332f, -0.00000042f, -0.00000000f }; static const float filter_LP24_180H[] = { 0.62500000f, 0.62316920f, 0.61769676f, 0.60864225f, 0.59610411f, 0.58021829f, 0.56115644f, 0.53912366f, 0.51435576f, 0.48711614f, 0.45769231f, 0.42639217f, 0.39353996f, 0.35947208f, 0.32453276f, 0.28906972f, 0.25342974f, 0.21795440f, 0.18297583f, 0.14881280f, 0.11576688f, 0.08411898f, 0.05412627f, 0.02601936f, 0.00000000f, -0.02376086f, -0.04512447f, -0.06398532f, -0.08027154f, -0.09394501f, -0.10500082f, -0.11346643f, -0.11940027f, -0.12289005f, -0.12405060f, -0.12302147f, -0.11996417f, -0.11505921f, -0.10850299f, -0.10050444f, -0.09128169f, -0.08105866f, -0.07006168f, -0.05851617f, -0.04664343f, -0.03465766f, -0.02276313f, -0.01115159f, -0.00000000f, 0.01053147f, 0.02030107f, 0.02918686f, 0.03708757f, 0.04392331f, 0.04963573f, 0.05418801f, 0.05756438f, 0.05976940f, 0.06082690f, 0.06077871f, 0.05968310f, 0.05761305f, 0.05465434f, 0.05090351f, 0.04646576f, 0.04145272f, 0.03598034f, 0.03016664f, 0.02412964f, 0.01798537f, 0.01184592f, 0.00581772f, 0.00000000f, -0.00551663f, -0.01065131f, -0.01533392f, -0.01950572f, -0.02311993f, -0.02614189f, -0.02854914f, -0.03033123f, -0.03148928f, -0.03203547f, -0.03199220f, -0.03139128f, -0.03027281f, -0.02868413f, -0.02667853f, -0.02431406f, -0.02165221f, -0.01875659f, -0.01569173f, -0.01252178f, -0.00930942f, -0.00611472f, -0.00299421f, -0.00000000f, 0.00282096f, 0.00542747f, 0.00778457f, 0.00986385f, 0.01164362f, 0.01310901f, 0.01425181f, 0.01507033f, 0.01556903f, 0.01575815f, 0.01565314f, 0.01527408f, 0.01464507f, 0.01379352f, 0.01274940f, 0.01154456f, 0.01021195f, 0.00878495f, 0.00729665f, 0.00577927f, 0.00426349f, 0.00277801f, 0.00134906f, 0.00000000f, -0.00124891f, -0.00238079f, -0.00338222f, -0.00424334f, -0.00495781f, -0.00552267f, -0.00593826f, -0.00620792f, -0.00633776f, -0.00633634f, -0.00621431f, -0.00598403f, -0.00565923f, -0.00525456f, -0.00478522f, -0.00426662f, -0.00371397f, -0.00314200f, -0.00256463f, -0.00199474f, -0.00144395f, -0.00092243f, -0.00043879f, -0.00000000f, 0.00038865f, 0.00072353f, 0.00100265f, 0.00122554f, 0.00139316f, 0.00150774f, 0.00157264f, 0.00159213f, 0.00157122f, 0.00151545f, 0.00143071f, 0.00132304f, 0.00119845f, 0.00106274f, 0.00092135f, 0.00077928f, 0.00064092f, 0.00051001f, 0.00038959f, 0.00028195f, 0.00018867f, 0.00011057f, 0.00004782f, 0.00000000f, -0.00003388f, -0.00005522f, -0.00006578f, -0.00006754f, -0.00006262f, -0.00005315f, -0.00004118f, -0.00002862f, -0.00001708f, -0.00000789f, -0.00000201f, -0.00000000f }; static const float filter_LP3_90H[] = /* Sincfilt.m: N=90*2+1, Fmin=0, Fmax=1/3, hann( N )' */ { 1.00000000f, 0.82674145f, 0.41299304f, 0.00000000f, -0.20574231f, -0.16414228f, -0.00000000f, 0.11638725f, 0.10137190f, 0.00000000f, -0.08020564f, -0.07244401f, -0.00000000f, 0.06039577f, 0.05561375f, 0.00000000f, -0.04776011f, -0.04448829f, -0.00000000f, 0.03891245f, 0.03651267f, 0.00000000f, -0.03231551f, -0.03046677f, -0.00000000f, 0.02717149f, 0.02569502f, 0.00000000f, -0.02302575f, -0.02181436f, -0.00000000f, 0.01960070f, 0.01858630f, 0.00000000f, -0.01671751f, -0.01585488f, -0.00000000f, 0.01425599f, 0.01351396f, -0.00000000f, -0.01213249f, -0.01148889f, -0.00000000f, 0.01028699f, 0.00972562f, 0.00000000f, -0.00867534f, -0.00818410f, -0.00000000f, 0.00726427f, 0.00683387f, -0.00000000f, -0.00602813f, -0.00565135f, -0.00000000f, 0.00494677f, 0.00461782f, 0.00000000f, -0.00400399f, -0.00371817f, -0.00000000f, 0.00318651f, 0.00293988f, -0.00000000f, -0.00248317f, -0.00227240f, -0.00000000f, 0.00188444f, 0.00170665f, 0.00000000f, -0.00138200f, -0.00123460f, -0.00000000f, 0.00096839f, 0.00084908f, -0.00000000f, -0.00063685f, -0.00054348f, 0.00000000f, 0.00038113f, 0.00031171f, 0.00000000f, -0.00019534f, -0.00014798f, -0.00000000f, 0.00007391f, 0.00004679f, -0.00000000f, -0.00001145f, -0.00000283f, -0.00000000f }; static const float filter_LP15_360H[] = /* Sincfilt.m: N=360*2+1, Fmin=0, Fmax=1/15, hann( N )' */ { 1.00000000f, 0.99268640f, 0.97093867f, 0.93532989f, 0.88679510f, 0.82660196f, 0.75631099f, 0.67772690f, 0.59284259f, 0.50377777f, 0.41271428f, 0.32183024f, 0.23323527f, 0.14890901f, 0.07064471f, 0.00000000f, -0.06174384f, -0.11361280f, -0.15496039f, -0.18547676f, -0.20518652f, -0.21443575f, -0.21386869f, -0.20439528f, -0.18715077f, -0.16344917f, -0.13473211f, -0.10251518f, -0.06833357f, -0.03368904f, -0.00000000f, 0.03144362f, 0.05951924f, 0.08330302f, 0.10209294f, 0.11542293f, 0.12306791f, 0.12503981f, 0.12157498f, 0.11311391f, 0.10027413f, 0.08381753f, 0.06461370f, 0.04360066f, 0.02174455f, 0.00000000f, -0.02072746f, -0.03961549f, -0.05595444f, -0.06917113f, -0.07884629f, -0.08472521f, -0.08672137f, -0.08491313f, -0.07953401f, -0.07095693f, -0.05967349f, -0.04626915f, -0.03139548f, -0.01574075f, -0.00000000f, 0.01515402f, 0.02909808f, 0.04128258f, 0.05125197f, 0.05866038f, 0.06328236f, 0.06501815f, 0.06389360f, 0.06005485f, 0.05375815f, 0.04535547f, 0.03527650f, 0.02400801f, 0.01207150f, 0.00000000f, -0.01168480f, -0.02249426f, -0.03199250f, -0.03981317f, -0.04567293f, -0.04938087f, -0.05084386f, -0.05006752f, -0.04715306f, -0.04229010f, -0.03574599f, -0.02785210f, -0.01898788f, -0.00956319f, -0.00000000f, 0.00928603f, 0.01790311f, 0.02549938f, 0.03177686f, 0.03650265f, 0.03951708f, 0.04073850f, 0.04016462f, 0.03787037f, 0.03400261f, 0.02877179f, 0.02244121f, 0.01531429f, 0.00772039f, 0.00000000f, -0.00751019f, -0.01449168f, -0.02065736f, -0.02576304f, -0.02961675f, -0.03208568f, -0.03310029f, -0.03265561f, -0.03080978f, -0.02767986f, -0.02343523f, -0.01828891f, -0.01248723f, -0.00629832f, -0.00000000f, 0.00613249f, 0.01183829f, 0.01688181f, 0.02106227f, 0.02422142f, 0.02624931f, 0.02708778f, 0.02673160f, 0.02522739f, 0.02267018f, 0.01919813f, 0.01498536f, 0.01023356f, 0.00516248f, 0.00000000f, -0.00502795f, -0.00970715f, -0.01384402f, -0.01727353f, -0.01986554f, -0.02152959f, -0.02221779f, -0.02192576f, -0.02069173f, -0.01859376f, -0.01574532f, -0.01228947f, -0.00839187f, -0.00423301f, -0.00000000f, 0.00412174f, 0.00795646f, 0.01134547f, 0.01415358f, 0.01627438f, 0.01763405f, 0.01819377f, 0.01795046f, 0.01693597f, 0.01521482f, 0.01288044f, 0.01005046f, 0.00686086f, 0.00345963f, 0.00000000f, -0.00336638f, -0.00649597f, -0.00925939f, -0.01154665f, -0.01327141f, -0.01437412f, -0.01482390f, -0.01461907f, -0.01378646f, -0.01237944f, -0.01047492f, -0.00816931f, -0.00557380f, -0.00280912f, -0.00000000f, 0.00273035f, 0.00526559f, 0.00750113f, 0.00934836f, 0.01073805f, 0.01162284f, 0.01197870f, 0.01180528f, 0.01112531f, 0.00998290f, 0.00844105f, 0.00657831f, 0.00448494f, 0.00225863f, -0.00000000f, -0.00219185f, -0.00422367f, -0.00601190f, -0.00748609f, -0.00859158f, -0.00929139f, -0.00956735f, -0.00942030f, -0.00886950f, -0.00795125f, -0.00671674f, -0.00522941f, -0.00356175f, -0.00179189f, -0.00000000f, 0.00173531f, 0.00334034f, 0.00474942f, 0.00590751f, 0.00677226f, 0.00731550f, 0.00752400f, 0.00739958f, 0.00695854f, 0.00623048f, 0.00525657f, 0.00408738f, 0.00278032f, 0.00139692f, 0.00000000f, -0.00134916f, -0.00259345f, -0.00368229f, -0.00457361f, -0.00523547f, -0.00564706f, -0.00579926f, -0.00569462f, -0.00534685f, -0.00477983f, -0.00402617f, -0.00312550f, -0.00212248f, -0.00106459f, -0.00000000f, 0.00102461f, 0.00196604f, 0.00278637f, 0.00345440f, 0.00394682f, 0.00424892f, 0.00435488f, 0.00426778f, 0.00399900f, 0.00356752f, 0.00299868f, 0.00232288f, 0.00157398f, 0.00078772f, -0.00000000f, -0.00075466f, -0.00144465f, -0.00204251f, -0.00252601f, -0.00287889f, -0.00309135f, -0.00316023f, -0.00308882f, -0.00288648f, -0.00256794f, -0.00215242f, -0.00166255f, -0.00112325f, -0.00056046f, -0.00000000f, 0.00053364f, 0.00101829f, 0.00143502f, 0.00176882f, 0.00200907f, 0.00214985f, 0.00218995f, 0.00213269f, 0.00198558f, 0.00175975f, 0.00146927f, 0.00113036f, 0.00076058f, 0.00037792f, 0.00000000f, -0.00035672f, -0.00067764f, -0.00095057f, -0.00116614f, -0.00131812f, -0.00140347f, -0.00142235f, -0.00137791f, -0.00127596f, -0.00112458f, -0.00093361f, -0.00071406f, -0.00047757f, -0.00023583f, -0.00000000f, 0.00021973f, 0.00041459f, 0.00057751f, 0.00070338f, 0.00078915f, 0.00083382f, 0.00083835f, 0.00080551f, 0.00073960f, 0.00064615f, 0.00053157f, 0.00040275f, 0.00026674f, 0.00013039f, -0.00000000f, -0.00011891f, -0.00022183f, -0.00030537f, -0.00036737f, -0.00040691f, -0.00042423f, -0.00042061f, -0.00039828f, -0.00036014f, -0.00030964f, -0.00025049f, -0.00018648f, -0.00012124f, -0.00005812f, -0.00000000f, 0.00005082f, 0.00009265f, 0.00012448f, 0.00014596f, 0.00015731f, 0.00015929f, 0.00015311f, 0.00014024f, 0.00012237f, 0.00010126f, 0.00007860f, 0.00005596f, 0.00003466f, 0.00001576f, 0.00000000f, -0.00001220f, -0.00002074f, -0.00002578f, -0.00002769f, -0.00002704f, -0.00002448f, -0.00002068f, -0.00001629f, -0.00001190f, -0.00000794f, -0.00000472f, -0.00000238f, -0.00000092f, -0.00000021f, -0.00000000f }; const Resampling_cfg resampling_cfg_tbl[] = { /* fin fout up.fact. filter coefs. filter length/2 */ { 8000, 12800, 8, filter5_39s320_120, 15, RS_INV_FAC }, { 12800, 8000, 5, filter5_39s320_120, L_FILT_UP8k, RS_INV_FAC }, { 16000, 8000, 6, filter_LP12_180H, 180/6, 0 }, { 12800, 16000, 15, filter_LP15_180H, L_FILT_UP16k, 0 }, { 12800, 32000, 15, filter_LP15_180H, L_FILT_UP32k, 0 }, { 12800, 48000, 15, filter_LP15_180H, L_FILT_UP48k, 0 }, { 16000, 12800, 12, filter_LP15_180H, L_FILT16k, 0 }, { 16000, 32000, 12, filter_LP12_180H, L_FILT16k, 0 }, { 16000, 48000, 12, filter_LP12_180H, L_FILT16k, 0 }, { 32000, 12800, 6, filter_LP15_180H, L_FILT32k, 0 }, { 32000, 16000, 6, filter_LP12_180H, L_FILT32k, 0 }, { 32000, 25600, 12, filter_LP15_360H, L_FILT32k, 0 }, { 32000, 48000, 3, filter_LP3_90H, L_FILT32k, 0 }, { 48000, 12800, 4, filter_LP15_180H, L_FILT48k, 0 }, { 48000, 16000, 4, filter_LP12_180H, L_FILT48k, 0 }, { 48000, 25600, 8, filter_LP15_360H, L_FILT48k, 0 }, { 48000, 32000, 2, filter_LP3_90H, L_FILT48k, 0 }, /* configs with NB 4kHz low-pass */ { 16000, 12800, 12, filter_LP24_180H, L_FILT16k, 0 }, { 32000, 12800, 6, filter_LP24_180H, L_FILT32k, 0 }, { 48000, 12800, 4, filter_LP24_180H, L_FILT48k, 0 }, { 0, 0, 0, 0, 0, 0 } /* trailing entry (just to calculate the length of this table) */ }; /*----------------------------------------------------------------------------------* * LSP interpolation coefficients *----------------------------------------------------------------------------------*/ const float interpol_frac_12k8[NB_SUBFR] = { 0.25f, 0.5f, 0.75f, 1.0f }; const float interpol_isp_amr_wb[NB_SUBFR] = { 0.45f, 0.8f, 0.96f, 1.0f }; const float interpol_frac_16k[NB_SUBFR16k] = { 0.2f, 0.4f, 0.6f, 0.8f, 1.0f }; const float interpol_frac_mid[NB_SUBFR*3] = { 0.5f, 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.5f, 0.5f, 0.0f, 0.0f, 1.0f }; const float interpol_frac_mid_16k[NB_SUBFR16k*3] = { 0.55f, 0.45f, 0.0f, 0.15f, 0.85f, 0.0f, 0.0f, 0.75f, 0.25f, 0.0f, 0.35f, 0.65f, 0.0f, 0.0f, 1.0f }; const float interpol_frac_mid_relaxprev_12k8[NB_SUBFR*3] = { 0.0f, 0.7f, 0.3f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f }; const float interpol_frac_mid_FEC[NB_SUBFR*3] = { 0.25f, 0.55f, 0.20f, 0.00f, 0.70f, 0.30f, 0.00f, 0.45f, 0.55f, 0.00f, 0.00f, 1.00f }; const float interpol_frac_mid_relaxprev_pred_12k8[NB_SUBFR*3] = { 0.15f, 0.70f, 0.15f, 0.05f, 0.65f, 0.30f, 0.00f, 0.50f, 0.50f, 0.00f, 0.0f, 1.00f }; const float interpol_frac_mid_relaxprev_16k[NB_SUBFR16k*3] = { 0.0f, 0.7f, 0.3f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f }; const float interpol_frac_mid_16k_FEC[NB_SUBFR16k*3] = { 0.4f, 0.40f, 0.2f, 0.0f, 0.80f, 0.20f, 0.0f, 0.65f, 0.35f, 0.0f, 0.15f, 0.85f, 0.0f, 0.00f, 1.00f }; const float interpol_frac_mid_relaxprev_pred_16k[NB_SUBFR16k*3] = { 0.15f, 0.70f, 0.15f, 0.05f, 0.65f, 0.30f, 0.00f, 0.50f, 0.50f, 0.00f, 0.15f, 0.85f, 0.00f, 0.0f, 1.00f }; /*----------------------------------------------------------------------------------* * Innovative codebook *----------------------------------------------------------------------------------*/ /* Innovative codebook config */ PulseConfig PulseConfTable[] = { /* Design rules: * ---> "fixed" + "tried-pair-pos"*2 = pulses & 0xfe * ---> tracks with pulses % 3 == 0, have always TRACKPOS_FIXED_FIRST */ /* bits,iter,alp,pulses,fixed,tried-pair-pos,codetrack */ { 5, 4, 2.0f, 1, 0, {8}, TRACKPOS_FIXED_FIRST }, /* 5 bits, 1 pulses, 4 tracks, 1000 fixed track to first*/ { 6, 4, 2.0f, 1, 0, {8}, TRACKPOS_FIXED_FIRST_TWO }, /* 6 bits, 1 pulses, 2 tracks, 10 fixed track to first */ { 7, 4, 2.0f, 1, 0, {8}, TRACKPOS_FREE_ONE }, /* 7 bits, 1 pulses, 4 tracks, 1000 free track */ { 10, 4, 2.0f, 2, 0, {8}, TRACKPOS_FIXED_EVEN }, /* 10 bits, 2 pulses, 4 tracks 1010 (used only even tracks designed for NB) */ { 12, 4, 2.0f, 2, 0, {8}, TRACKPOS_FIXED_TWO }, /* 12 bits, 2 pulses, 2 tracks 11 used all tracks ala AMR-WB 6.6 */ { 15, 4, 2.0f, 3, 0, {8}, TRACKPOS_FIXED_FIRST }, /* 15 bits, 3 pulses, 4 tracks 1110 fixed track to first ? */ { 17, 6, 2.0f, 3, 0, {8}, TRACKPOS_FREE_THREE }, /* 17 bits, 3 pulses, 4 tracks (used all tracks) - 1110, 1101, 1011, 0111 */ { 20, 4, 2.0f, 4, 0, {4, 8}, TRACKPOS_FIXED_FIRST }, /* 20 bits, 4 pulses, 4 tracks 1111 */ { 24, 4, 2.0f, 5, 0, {4, 8}, TRACKPOS_FIXED_FIRST }, /* 24 bits, 5 pulses, 4 tracks 2111 fixed track to first */ { 26, 4, 2.0f, 5, 0, {4, 8}, TRACKPOS_FREE_ONE }, /* 26 bits, 5 pulses, 4 tracks 2111 one free track ? */ { 28, 4, 1.5f, 6, 0, {4, 8, 8}, TRACKPOS_FIXED_FIRST }, /* 28 bits, 6 pulses, 4 tracks 2211 */ { 30, 4, 1.5f, 6, 0, {4, 8, 8}, TRACKPOS_FIXED_TWO }, /* 30 bits, 6 pulses, 4 tracks 2211 free consecutive track positions ? */ { 32, 4, 1.5f, 7, 0, {4, 8, 8}, TRACKPOS_FIXED_FIRST }, /* 32 bits, 6 pulses, 4 tracks 2221 fixed ?*/ { 34, 4, 1.5f, 7, 0, {4, 8, 8}, TRACKPOS_FREE_THREE }, /* 34 bits, 6 pulses, 4 tracks 2221 free track positions ? */ { 36, 4, 1.0f, 8, 2, {4, 8, 8}, TRACKPOS_FIXED_FIRST }, /* 36 bits, 8 pulses, 4 tracks 2222 */ { 40, 4, 1.0f, 9, 2, {4, 8, 8}, TRACKPOS_FIXED_FIRST }, /* 40 bits, 9 pulses, 4 tracks 3222 fixed ?*/ { 43, 4, 1.0f, 10, 2, {4, 6, 8, 8}, TRACKPOS_FIXED_FIRST }, /* 44 bits, 10 pulses, 4 tracks 3322 */ { 46, 4, 1.0f, 10, 2, {4, 6, 8, 8}, TRACKPOS_FIXED_TWO }, /* 46 bits, 10 pulses, 4 tracks 3322 free consecutive tracks ? */ { 47, 4, 1.0f, 11, 2, {4, 6, 8, 8}, TRACKPOS_FIXED_FIRST }, /* 47 bits, 10 pulses, 4 tracks 3332 fixed ? */ { 49, 4, 1.0f, 11, 2, {4, 6, 8, 8}, TRACKPOS_FREE_THREE }, /* 49 bits, 10 pulses, 4 tracks 3332 free three track positions ? */ { 50, 4, 1.0f, 12, 4, {4, 6, 8, 8}, TRACKPOS_FIXED_FIRST }, /* 50 bits, 12 pulses, 4 tracks 3333 */ { 53, 4, 1.0f, 13, 4, {4, 6, 8, 8}, TRACKPOS_FIXED_FIRST }, /* 53 bits, 13 pulses, 4 tracks 4333 fixed ? */ { 55, 4, 1.0f, 13, 4, {4, 6, 8, 8}, TRACKPOS_FREE_ONE }, /* 55 bits, 13 pulses, 4 tracks 4333 free one ? */ { 56, 4, 1.0f, 14, 4, {4, 6, 6, 8, 8}, TRACKPOS_FIXED_FIRST }, /* 56 bits, 14 pulses, 4 tracks 4433 fixed ?!?! */ { 58, 4, 1.0f, 14, 4, {4, 6, 6, 8, 8}, TRACKPOS_FIXED_TWO }, /* 58 bits, 14 pulses, 4 tracks 4433 free consecutive ? */ { 59, 4, 1.0f, 15, 4, {4, 6, 6, 8, 8}, TRACKPOS_FIXED_FIRST }, /* 59 bits, 15 pulses, 4 tracks 4443 fixed ? */ { 61, 4, 1.0f, 15, 4, {4, 6, 6, 8, 8}, TRACKPOS_FREE_THREE }, /* 61 bits, 15 pulses, 4 tracks 4443 free ? */ { 62, 3, 0.8f, 16, 4, {4, 4, 6, 6, 8, 8}, TRACKPOS_FIXED_FIRST }, /* 62 bits, 16 pulses, 4 tracks 4444 */ { 65, 3, 0.8f, 17, 4, {4, 4, 6, 6, 8, 8}, TRACKPOS_FIXED_FIRST }, /* 65 bits, 17 pulses, 4 tracks 5444 fixed ?*/ { 68, 3, 0.75f, 18, 4, {2, 3, 4, 5, 6, 7, 8}, TRACKPOS_FIXED_FIRST }, /* 68 bits, 18 pulses, 4 tracks 5544 */ { 70, 3, 0.75f, 19, 4, {2, 3, 4, 5, 6, 7, 8}, TRACKPOS_FIXED_FIRST }, /* 70 bits, 19 pulses, 4 tracks 5554 fixed ? */ { 73, 3, 0.75f, 20, 4, {2, 3, 4, 5, 6, 7, 8, 8}, TRACKPOS_FIXED_FIRST }, /* 73 bits, 20 pulses, 4 tracks 5555 fixed ? */ { 75, 3, 0.75f, 21, 4, {2, 3, 4, 5, 6, 7, 8, 8}, TRACKPOS_FIXED_FIRST }, /* 75 bits, 21 pulses, 4 tracks 6555 fixed ? */ { 78, 3, 0.75f, 22, 4, {2, 3, 4, 5, 6, 7, 8, 8, 8}, TRACKPOS_FIXED_FIRST }, /* 78 bits, 22 pulses, 4 tracks 6655 fixed ? */ { 80, 3, 0.75f, 23, 4, {2, 3, 4, 5, 6, 7, 8, 8, 8}, TRACKPOS_FIXED_FIRST }, /* 80 bits, 23 pulses, 4 tracks 6665 fixed ? */ { 83, 2, 0.30f, 24, 4, {2, 3, 4, 5, 6, 7, 8, 8, 8, 8}, TRACKPOS_FIXED_FIRST}, /* 83 bits, 24 pulses, 4 tracks 6666 */ { 85, 2, 0.30f, 25, 4, {2, 3, 4, 5, 6, 7, 8, 8, 8, 8}, TRACKPOS_FIXED_FIRST}, /* 85 bits, 25 pulses, 4 tracks 7666 */ { 87, 2, 0.25f, 26, 4, {2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8}, TRACKPOS_FIXED_FIRST}, /* 87 bits, 26 pulses, 4 tracks 7766 */ { 89, 2, 0.25f, 27, 4, {2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8}, TRACKPOS_FIXED_FIRST}, /* 89 bits, 27 pulses, 4 tracks 7776 */ { 92, 2, 0.25f, 28, 4, {2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8}, TRACKPOS_FIXED_FIRST}, /* 92 bits, 28 pulses, 4 tracks 7777 */ { 94, 2, 0.25f, 29, 4, {2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8}, TRACKPOS_FIXED_FIRST}, /* 94 bits, 29 pulses, 4 tracks 8777 */ { 96, 1, 0.20f, 30, 4, {2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8}, TRACKPOS_FIXED_FIRST}, /* 96 bits, 30 pulses, 4 tracks 8877 */ { 98, 1, 0.20f, 31, 4, {2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8}, TRACKPOS_FIXED_FIRST}, /* 98 bits, 31 pulses, 4 tracks 8887 */ { 100,1, 0.20f, 32, 4, {2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8}, TRACKPOS_FIXED_FIRST}, /* 100 bits, 32 pulses, 4 tracks 8888 */ { 102,1, 0.20f, 33, 4, {2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8}, TRACKPOS_FIXED_FIRST}, /* 102 bits, 33 pulses, 4 tracks 9888 */ { 104,1, 0.15f, 34, 4, {2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8}, TRACKPOS_FIXED_FIRST}, /* 104 bits, 34 pulses, 4 tracks 9988 */ { 106,1, 0.15f, 35, 4, {2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8}, TRACKPOS_FIXED_FIRST}, /* 106 bits, 35 pulses, 4 tracks 9998 */ { 108,1, 0.15f, 36, 4, {2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8}, TRACKPOS_FIXED_FIRST}, /* 108 bits, 36 pulses, 4 tracks 9999 */ }; /* Number of pulses & positions to the number of unique states that can be achieved with those pulses */ const long unsigned pulsestostates[17][9] = { { 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 2, 2, 2, 2, 2, 2, 2, 2, 2}, { 4, 8, 12, 16, 20, 24, 28, 32, 36}, { 6, 18, 38, 66, 102, 146, 198, 258, 326}, { 8, 32, 88, 192, 360, 608, 952, 1408, 1992}, { 10, 50, 170, 450, 1002, 1970, 3530, 5890, 9290}, { 12, 72, 292, 912, 2364, 5336, 10836, 20256, 35436}, { 14, 98, 462, 1666, 4942, 12642, 28814, 59906, 115598}, { 16, 128, 688, 2816, 9424, 27008, 68464, 157184, 332688}, { 18, 162, 978, 4482, 16722, 53154, 148626, 374274, 864146}, { 20, 200, 1340, 6800, 28004, 97880, 299660, 822560, 2060980}, { 22, 242, 1782, 9922, 44726, 170610, 568150, 1690370, 4573910}, { 24, 288, 2312, 14016, 68664, 284000, 1022760, 3281280, 9545560}, { 26, 338, 2938, 19266, 101946, 454610, 1761370, 6065410, 18892250}, { 28, 392, 3668, 25872, 147084, 703640, 2919620, 10746400, 35704060}, { 30, 450, 4510, 34050, 207006, 1057730, 4680990, 18347010, 64797470}, { 32, 512, 5472, 44032, 285088, 1549824, 7288544, 30316544, 113461024}, }; /*----------------------------------------------------------------------------------* * Gain quantization table for memory-less gain quantizer *----------------------------------------------------------------------------------*/ const float gain_qua_mless_7b[128*2] = { 0.0256f, 0.0555f, 0.0915f, 1.1847f, 0.0968f, 0.6282f, 0.0996f, 0.2821f, 0.1029f, 0.4465f, 0.1065f, 0.9677f, 0.1332f, 0.7997f, 0.1535f, 1.3985f, 0.1692f, 1.6101f, 0.1873f, 2.0886f, 0.1960f, 1.8291f, 0.1964f, 0.1732f, 0.2122f, 2.4304f, 0.2292f, 0.5306f, 0.2359f, 1.0716f, 0.2369f, 0.6796f, 0.2546f, 0.3544f, 0.2694f, 1.2247f, 0.2697f, 0.9217f, 0.2996f, 2.7903f, 0.3197f, 0.7881f, 0.3199f, 3.2249f, 0.3492f, 0.1667f, 0.3560f, 0.4883f, 0.3568f, 1.3541f, 0.3599f, 0.6346f, 0.3684f, 1.0620f, 0.3716f, 1.5223f, 0.3942f, 3.6890f, 0.4059f, 0.3064f, 0.4076f, 0.9021f, 0.4149f, 1.7170f, 0.4225f, 1.9400f, 0.4229f, 2.2074f, 0.4487f, 1.2106f, 0.4554f, 0.7548f, 0.4800f, 0.4531f, 0.4882f, 0.6140f, 0.4966f, 1.0464f, 0.5126f, 1.3905f, 0.5298f, 0.8967f, 0.5369f, 2.4926f, 0.5521f, 1.5735f, 0.5614f, 0.1682f, 0.5758f, 0.7770f, 0.5939f, 1.1468f, 0.5942f, 0.5222f, 0.5946f, 0.3409f, 0.6053f, 1.7908f, 0.6129f, 0.9937f, 0.6136f, 1.2784f, 0.6184f, 2.0111f, 0.6249f, 0.6626f, 0.6527f, 3.0463f, 0.6602f, 0.8724f, 0.6692f, 1.4121f, 0.6961f, 2.2440f, 0.7035f, 1.0724f, 0.7069f, 0.7548f, 0.7081f, 1.5445f, 0.7091f, 0.5579f, 0.7253f, 1.6832f, 0.7296f, 1.1850f, 0.7359f, 0.4175f, 0.7388f, 0.9680f, 0.7428f, 2.7283f, 0.7591f, 1.3040f, 0.7700f, 0.6550f, 0.7732f, 1.8595f, 0.7742f, 0.8500f, 0.7924f, 0.2178f, 0.8078f, 1.4486f, 0.8178f, 1.0725f, 0.8255f, 0.7421f, 0.8256f, 0.5278f, 0.8316f, 2.0390f, 0.8382f, 0.9422f, 0.8435f, 1.2053f, 0.8567f, 1.5952f, 0.8570f, 2.4549f, 0.8725f, 0.8299f, 0.8756f, 1.3365f, 0.8769f, 0.6222f, 0.8799f, 0.3881f, 0.8938f, 1.7540f, 0.9121f, 1.0122f, 0.9210f, 0.7117f, 0.9249f, 1.1285f, 0.9344f, 0.9022f, 0.9375f, 3.7762f, 0.9376f, 1.4769f, 0.9388f, 0.5124f, 0.9501f, 2.2014f, 0.9582f, 1.2478f, 0.9646f, 0.8003f, 0.9815f, 0.6165f, 0.9864f, 1.9390f, 0.9985f, 1.3694f, 1.0041f, 1.6163f, 1.0071f, 1.0599f, 1.0095f, 0.9596f, 1.0142f, 3.3774f, 1.0150f, 0.3827f, 1.0223f, 0.7201f, 1.0351f, 2.9891f, 1.0393f, 0.8629f, 1.0461f, 1.1773f, 1.0601f, 1.7548f, 1.0616f, 0.5225f, 1.0969f, 1.4899f, 1.0977f, 2.6574f, 1.0996f, 0.6500f, 1.1006f, 1.3029f, 1.1129f, 0.7923f, 1.1151f, 0.2047f, 1.1169f, 1.0829f, 1.1195f, 0.9526f, 1.1442f, 2.3570f, 1.1613f, 2.0960f, 1.1920f, 0.4212f, 1.1942f, 1.8806f, 1.2055f, 1.6309f, 1.2081f, 1.2005f, 1.2091f, 0.5825f, 1.2200f, 1.3871f, 1.2201f, 0.8762f, 1.2210f, 0.7314f, 1.2298f, 1.0376f }; const float gain_qua_mless_6b[64*2] = { 0.1023f, 0.1385f, 0.1299f, 0.3865f, 0.1415f, 0.9587f, 0.1433f, 0.6630f, 0.1708f, 1.2210f, 0.1766f, 1.5334f, 0.2387f, 2.1457f, 0.2917f, 0.4762f, 0.2918f, 0.8337f, 0.3122f, 1.8254f, 0.3231f, 2.9468f, 0.3520f, 0.2219f, 0.3673f, 1.0612f, 0.3755f, 0.6540f, 0.3787f, 1.3191f, 0.3805f, 3.5578f, 0.4114f, 2.4443f, 0.4293f, 1.5662f, 0.4750f, 0.8475f, 0.4886f, 0.4489f, 0.5635f, 1.2143f, 0.5699f, 0.6556f, 0.5730f, 1.0155f, 0.5963f, 2.0279f, 0.6021f, 1.4337f, 0.6240f, 1.7159f, 0.6480f, 0.2310f, 0.6577f, 0.8326f, 0.7030f, 0.4858f, 0.7146f, 2.7331f, 0.7351f, 1.1471f, 0.7489f, 0.9787f, 0.7493f, 0.6800f, 0.7628f, 1.3365f, 0.7947f, 1.5351f, 0.7994f, 2.3357f, 0.8258f, 0.8233f, 0.8434f, 1.7918f, 0.8620f, 0.5667f, 0.8850f, 2.0286f, 0.8873f, 1.2422f, 0.8933f, 1.0855f, 0.8952f, 0.9457f, 0.9113f, 0.7066f, 0.9189f, 0.4096f, 0.9554f, 3.1133f, 0.9662f, 3.6596f, 0.9685f, 1.4001f, 0.9703f, 1.6178f, 0.9859f, 0.8469f, 1.0095f, 0.5734f, 1.0299f, 1.1866f, 1.0337f, 1.0014f, 1.0487f, 0.7284f, 1.0769f, 2.6107f, 1.0801f, 0.2455f, 1.1195f, 2.1906f, 1.1268f, 1.8445f, 1.1591f, 0.4730f, 1.1666f, 1.5523f, 1.1711f, 1.3167f, 1.1753f, 0.8763f, 1.1893f, 1.0872f, 1.1911f, 0.6722f }; const float gain_qua_mless_5b[32*2] = { 0.1645f, 0.2137f, 0.2102f, 0.5295f, 0.2154f, 0.8448f, 0.2615f, 1.5636f, 0.2664f, 1.1856f, 0.3012f, 2.1266f, 0.4209f, 2.7473f, 0.4713f, 0.6328f, 0.4830f, 0.2861f, 0.4938f, 0.9146f, 0.5523f, 1.7829f, 0.5798f, 1.1716f, 0.6039f, 1.4473f, 0.6068f, 3.5936f, 0.7267f, 0.7460f, 0.7329f, 2.1548f, 0.7537f, 0.4738f, 0.7586f, 0.9788f, 0.8354f, 1.2308f, 0.8529f, 1.7499f, 0.8856f, 1.4611f, 0.9253f, 0.6280f, 0.9414f, 0.8362f, 0.9570f, 1.0559f, 0.9663f, 3.0746f, 0.9765f, 2.5027f, 1.0512f, 0.4129f, 1.0815f, 2.0090f, 1.1099f, 1.2670f, 1.1250f, 1.5985f, 1.1376f, 0.6895f, 1.1529f, 0.9632f }; const short E_ROM_qua_gain5b_const[NB_QUA_GAIN5B * 2]= { 1774,577, 2090,1805, 2103,3371, 3908,1116, 4834,2500, 6030,4763, 6838,1334, 7490,2033, 8585,3036, 9845,1575, 10437,2320, 10649,3739, 11298,945, 12108,1920, 12310,5108, 12391,2758, 12659,1237, 13729,1557, 13798,2201, 13972,3275, 14881,993, 15175,1776, 15409,16190, 15551,2395, 15879,4048, 16341,1335, 16988,2918, 18317,7449, 18368,2026, 19114,1364, 19991,4472, 20644,2790, }; const Word16 E_ROM_qua_gain6b_const[NB_QUA_GAIN6B * 2] = { 0,2758, 143,3562, 397,2146, 544,4306, 952,1726, 1236,724, 1779,3158, 1820,5448, 1975,2473, 2121,1343, 3049,3912, 3081,1885, 3289,8261, 3416,2843, 3495,2204, 3831,3386, 4295,4590, 4300,2476, 4345,1545, 4913,1122, 5198,2080, 5200,3079, 5448,3714, 5482,2689, 5546,1817, 5783,17318, 5934,6236, 6156,2320, 6481,4225, 6828,3351, 6832,5045, 6888,2895, 7186,2559, 7214,1663, 7373,2052, 7906,3819, 8192,1372, 8452,3063, 8464,2354, 9021,4468, 9037,2715, 9175,1874, 9219,3463, 9831,2155, 10523,5383, 10557,9061, 10618,3093, 10633,3949, 10890,2465, 11141,1654, 12132,2790, 12180,3477, 12376,2079, 12494,4560, 14430,2468, 14573,3914, 14576,3111, 15043,1827, 15207,1329, 16073,6155, 17519,4719, 18345,2148, 18554,2784, 18576,3563, }; const short E_ROM_qua_gain7b_const[NB_QUA_GAIN7B * 2] = { 123,2777, 369,2102, 404,4368, 693,3486, 1107,719, 1222,1679, 1657,1293, 1667,5547, 1805,2425, 2369,3075, 2489,12063, 2681,1901, 2693,3984, 3031,7547, 3248,990, 3466,2672, 3674,2165, 3718,1513, 3844,3456, 4120,4656, 4748,2967, 4821,19622, 4855,2400, 4912,1776, 5245,3860, 5312,6282, 5500,1176, 5713,2056, 5872,3287, 5960,2662, 6170,9756, 6364,5021, 6545,1476, 6788,2283, 6796,4163, 7038,2949, 7216,1831, 7274,3516, 7707,2510, 8123,5762, 8361,4485, 8376,2110, 8594,3135, 8611,3755, 8634,1570, 8636,2748, 8683,8222, 9274,335, 9512,2404, 9640,5020, 9690,1893, 9778,3361, 9808,15435, 9936,4029, 10194,2767, 10306,6510, 10325,1252, 10686,2186, 10844,32767, 10913,4453, 10968,3078, 11044,1666, 11076,3609, 11398,2509, 11423,5160, 11848,1994, 11997,2823, 12002,3880, 12084,7573, 12129,3325, 12214,5867, 12331,1496, 12450,4245, 12458,2283, 12768,901, 12896,4741, 12898,1811, 12902,2569, 12983,2959, 13173,3331, 13413,2059, 13416,3734, 13429,10641, 13448,1148, 13615,5340, 13674,1425, 13779,2332, 13847,4264, 13909,2657, 13958,6488, 14047,3085, 14130,1648, 14547,1915, 14554,3684, 14749,2739, 14868,5017, 14875,2216, 14898,3197, 14988,1085, 15026,4246, 15375,7971, 15421,1446, 15548,2462, 15722,5920, 15882,3449, 15960,1782, 15994,2863, 16365,3977, 16419,4754, 16472,2162, 17378,3101, 17410,2550, 17743,1339, 17856,5485, 17979,1982, 17996,3628, 18041,7110, 18242,4381, 18602,22207, 19373,12827, 19533,2777, 19640,1678, 19728,2272, 19795,8861, 20065,3275, 20133,4881, 20198,3947, 20290,6128, }; const short E_ROM_qua_gain8b_const[512]= { 67,3880, 133,2207, 266,4539, 286,2906, 366,3410, 398,2542, 491,5470, 585,1729, 634,1187, 841,700, 1036,7071, 1169,2012, 1541,1440, 1590,15962, 1593,4133, 1604,3174, 1680,2339, 1939,2664, 1975,1015, 2166,4880, 2214,1828, 2233,3617, 2316,9781, 2362,6054, 2589,2917, 2651,2146, 2709,24290, 2756,1528, 2971,2433, 3107,4008, 3265,3408, 3398,1264, 3447,420, 3461,2682, 3554,3095, 3555,1985, 3561,5305, 3572,1693, 3662,4503, 3762,8140, 3801,12726, 4019,2232, 4054,3684, 4265,6452, 4299,2861, 4382,2447, 4456,957, 4563,4163, 4599,1856, 4642,1467, 4704,3299, 4932,4839, 5024,2638, 5045,2063, 5191,3739, 5203,3026, 5308,5664, 5395,20292, 5506,2238, 5546,1698, 5687,7373, 5746,4081, 5757,2421, 5805,2804, 5866,3470, 5910,4433, 6124,5131, 6143,1201, 6248,3109, 6311,1907, 6398,2571, 6533,3895, 6653,8906, 6686,6173, 6780,1568, 6791,11737, 6851,2117, 6916,2757, 6944,3331, 7005,2330, 7092,4544, 7230,3669, 7336,2938, 7380,32767, 7434,5039, 7556,1783, 7598,2513, 7632,5639, 7723,4053, 7792,3156, 7925,6831, 7978,18633, 8104,3508, 8188,1997, 8221,2698, 8265,2261, 8293,4391, 8438,4757, 8608,2970, 8626,1401, 8653,3805, 8668,8023, 8781,5424, 8782,3306, 8929,219, 8930,2443, 9153,4247, 9196,1782, 9268,6270, 9289,2798, 9386,14632, 9411,4998, 9426,3526, 9491,2122, 9501,3148, 9566,3742, 9580,9751, 9743,2567, 9826,4064, 9909,4628, 10147,2973, 10156,5691, 10220,3361, 10259,2281, 10328,884, 10398,7280, 10408,3890, 10493,1618, 10549,2640, 10614,4371, 10615,5130, 10674,3655, 10883,1969, 10980,3178, 11019,2808, 11034,6129, 11093,2378, 11228,3575, 11240,4765, 11257,4134, 11310,8598, 11549,5376, 11614,2931, 11631,3382, 11743,2545, 11744,3811, 11798,11247, 11870,2123, 11875,4502, 11890,6670, 11947,1752, 11966,3100, 12117,1324, 12219,4046, 12257,3287, 12257,2743, 12272,4966, 12315,3584, 12323,5654, 12386,2266, 12557,4375, 12577,2993, 12691,2422, 12768,1914, 12789,3680, 12837,3325, 12911,6069, 12916,8128, 12950,2618, 12988,3887, 13003,4655, 13055,4147, 13068,7054, 13113,5090, 13123,1512, 13134,2905, 13264,2121, 13387,3168, 13428,3473, 13531,4244, 13532,2384, 13547,5456, 13631,2676, 13651,3737, 13704,1732, 13843,4649, 13872,6151, 13897,2897, 14070,3948, 14128,1974, 14137,3380, 14153,3087, 14182,27445, 14277,5134, 14292,2258, 14302,2567, 14375,4281, 14411,7722, 14498,3602, 14648,9424, 14652,12727, 14701,6625, 14743,5676, 14752,2837, 14887,4658, 14896,3172, 15008,3805, 15075,2465, 15106,1119, 15162,4179, 15231,1665, 15339,3394, 15352,2073, 15375,5114, 15603,2694, 15785,5806, 15806,7388, 15884,3025, 15976,3943, 16069,3502, 16083,4418, 16225,6556, 16226,2345, 16435,4894, 16766,2759, 16951,2006, 16999,566, 17001,3202, 17051,5484, 17090,3681, 17140,8058, 17412,4152, 17712,6225, 17757,17169, 17791,4774, 17834,2467, 17889,1438, 17980,32767, 18122,10182, 18354,2984, 18650,3546, 18993,1804, 19092,4313, 19112,7343, 19144,5231, 19241,13948, 19386,2227, 19386,21536, 19524,2687, 19526,8677, 19554,11505, 19559,5807, 19579,3858, 19659,6561, 19726,3212, 19760,4700, }; /*----------------------------------------------------------------------------------* * MA predicition coefficients for gain quantizer *----------------------------------------------------------------------------------*/ const float pred_gain[GAIN_PRED_ORDER] = { 0.5f, 0.4f, 0.3f, 0.2f }; /*----------------------------------------------------------------------------------* * 6-bit gain quantization table (only for AMR-WB IO mode) *----------------------------------------------------------------------------------*/ const float t_qua_gain6b[64*2] = { 0.095577f, 0.650507f, 0.096232f, 1.737050f, 0.187418f, 3.168846f, 0.255896f, 4.962348f, 0.274392f, 1.237365f, 0.306340f, 2.191559f, 0.340913f, 7.624112f, 0.349443f, 0.694540f, 0.393850f, 0.283414f, 0.410411f, 3.335519f, 0.467326f, 1.722400f, 0.492699f, 1.024880f, 0.502447f, 2.596945f, 0.538748f, 4.284797f, 0.594507f, 1.400231f, 0.601562f, 0.715119f, 0.615667f, 6.097708f, 0.625075f, 2.174328f, 0.662782f, 3.231284f, 0.690967f, 1.751661f, 0.696845f, 0.878992f, 0.710639f, 1.185743f, 0.715220f, 0.482280f, 0.751490f, 2.486668f, 0.764345f, 4.108078f, 0.767472f, 12.8f, /*0.767472f, 13.875360f,*/ 0.769099f, 1.658386f, 0.803928f, 0.792686f, 0.810832f, 1.183175f, 0.818967f, 2.972155f, 0.821480f, 6.255056f, 0.833469f, 1.761157f, 0.861276f, 2.207579f, 0.863275f, 0.599961f, 0.880429f, 0.913681f, 0.880816f, 3.532393f, 0.881643f, 1.383632f, 0.892825f, 4.900598f, 0.906974f, 8.542764f, 0.925368f, 1.772085f, 0.928281f, 2.841080f, 0.933752f, 1.101603f, 0.947124f, 2.305683f, 0.956012f, 0.517399f, 0.961870f, 3.892433f, 0.972823f, 5.841643f, 0.977796f, 1.463091f, 0.981803f, 0.833284f, 1.008362f, 2.077002f, 1.011696f, 3.039251f, 1.031157f, 1.162086f, 1.031888f, 0.332692f, 1.050599f, 4.104371f, 1.074819f, 1.668828f, 1.092217f, 2.572842f, 1.108887f, 5.736302f, 1.112667f, 0.769072f, 1.135654f, 15.9999f, /*1.135654f, 28.065996f,*/ 1.143096f, 10.587959f, 1.168006f, 1.241697f, 1.185414f, 3.211269f, 1.186919f, 2.000422f, 1.187154f, 4.421983f, 1.243327f, 7.268204f }; /*----------------------------------------------------------------------------------* * 7-bit gain quantization table (only for AMR-WB IO mode) *----------------------------------------------------------------------------------*/ const float t_qua_gain7b[128*2] = { 0.012445f, 0.215546f, 0.028326f, 0.965442f, 0.053042f, 0.525819f, 0.065409f, 1.495322f, 0.078212f, 2.323725f, 0.100504f, 0.751276f, 0.112617f, 3.427530f, 0.113124f, 0.309583f, 0.121763f, 1.140685f, 0.143515f, 7.519609f, 0.162430f, 0.568752f, 0.164940f, 1.904113f, 0.165429f, 4.947562f, 0.194985f, 0.855463f, 0.213527f, 1.281019f, 0.223544f, 0.414672f, 0.243135f, 2.781766f, 0.257180f, 1.659565f, 0.269488f, 0.636749f, 0.286539f, 1.003938f, 0.328124f, 2.225436f, 0.328761f, 0.330278f, 0.336807f, 11.500983f, 0.339794f, 3.805726f, 0.344454f, 1.494626f, 0.346165f, 0.738748f, 0.363605f, 1.141454f, 0.398729f, 0.517614f, 0.415276f, 2.928666f, 0.416282f, 0.862935f, 0.423421f, 1.873310f, 0.444151f, 0.202244f, 0.445842f, 1.301113f, 0.455671f, 5.519512f, 0.484764f, 0.387607f, 0.488696f, 0.967884f, 0.488730f, 0.666771f, 0.508189f, 1.516224f, 0.508792f, 2.348662f, 0.531504f, 3.883870f, 0.548649f, 1.112861f, 0.551182f, 0.514986f, 0.564397f, 1.742030f, 0.566598f, 0.796454f, 0.589255f, 3.081743f, 0.598816f, 1.271936f, 0.617654f, 0.333501f, 0.619073f, 2.040522f, 0.625282f, 0.950244f, 0.630798f, 0.594883f, 0.638918f, 4.863197f, 0.650102f, 1.464846f, 0.668412f, 0.747138f, 0.669490f, 2.583027f, 0.683757f, 1.125479f, 0.691216f, 1.739274f, 0.718441f, 3.297789f, 0.722608f, 0.902743f, 0.728827f, 2.194941f, 0.729586f, 0.633849f, 0.730907f, 7.432957f, 0.731017f, 0.431076f, 0.731543f, 1.387847f, 0.759183f, 1.045210f, 0.768606f, 1.789648f, 0.771245f, 4.085637f, 0.772613f, 0.778145f, 0.786483f, 1.283204f, 0.792467f, 2.412891f, 0.802393f, 0.544588f, 0.807156f, 0.255978f, 0.814280f, 1.544409f, 0.817839f, 0.938798f, 0.826959f, 2.910633f, 0.830453f, 0.684066f, 0.833431f, 1.171532f, 0.841208f, 1.908628f, 0.846440f, 5.333522f, 0.868280f, 0.841519f, 0.868662f, 1.435230f, 0.871449f, 3.675784f, 0.881317f, 2.245058f, 0.882020f, 0.480249f, 0.882476f, 1.105804f, 0.902856f, 0.684850f, 0.904419f, 1.682113f, 0.909384f, 2.787801f, 0.916558f, 7.500981f, 0.918444f, 0.950341f, 0.919721f, 1.296319f, 0.940272f, 4.682978f, 0.940273f, 1.991736f, 0.950291f, 3.507281f, 0.957455f, 1.116284f, 0.957723f, 0.793034f, 0.958217f, 1.497824f, 0.962628f, 2.514156f, 0.968507f, 0.588605f, 0.974739f, 0.339933f, 0.991738f, 1.750201f, 0.997210f, 0.936131f, 1.002422f, 1.250008f, 1.006040f, 2.167232f, 1.008848f, 3.129940f, 1.014404f, 5.842819f, 1.027798f, 4.287319f, 1.039404f, 1.489295f, 1.039628f, 8.947958f, 1.043214f, 0.765733f, 1.045089f, 2.537806f, 1.058994f, 1.031496f, 1.060415f, 0.478612f, 1.072132f, 12.8f, /*1.072132f, 14.961459f,*/ 1.074778f, 1.910049f, 1.076570f, 15.9999f, /*1.076570f, 30.500374f,*/ 1.107853f, 3.843067f, 1.110673f, 1.228576f, 1.110969f, 2.758471f, 1.140058f, 1.603077f, 1.155384f, 0.668935f, 1.176229f, 6.717108f, 1.179008f, 2.011940f, 1.187735f, 0.963552f, 1.199569f, 4.891432f, 1.206311f, 3.316329f, 1.215323f, 2.507536f, 1.223150f, 1.387102f, 1.296012f, 9.684225f }; /*----------------------------------------------------------------------------------* * Quantization table for scaled innovation energy prediciton *----------------------------------------------------------------------------------*/ const float Es_pred_qua_5b[32] = { -8.0000f, -2.0519f, 2.5095f, 6.5923f, 9.9507f, 12.9923f, 15.7251f, 18.1521f, 20.3552f, 22.4218f, 24.3014f, 26.0214f, 27.6040f, 29.0898f, 30.5291f, 31.9154f, 33.2749f, 34.6277f, 35.9525f, 37.3081f, 38.7173f, 40.1734f, 41.6751f, 43.2697f, 44.9559f, 46.7826f, 48.7749f, 50.9729f, 53.4967f, 56.3814f, 59.9748f, 65.0000f }; const float Es_pred_qua_4b[16] = { -8.0000f, -0.1400f, 7.1397f, 12.8276f, 17.9064f, 22.4280f, 26.6441f, 30.6032f, 34.2916f, 37.8937f, 41.4441f, 45.0174f, 48.7769f, 52.9669f, 58.0552f, 65.0000f }; const float Es_pred_qua_3b[8] = { 5.9422f, 15.2711f, 23.3857f, 30.5310f, 37.0190f, 43.4539f, 50.2442f, 58.7164f }; const float Es_pred_qua_4b_no_ltp[16] = { -5.f, 0.f, 5.f, 10.f, 15.f, 20.f, 25.f, 30.f, 35.f, 40.f, 45.f, 50.f, 55.f, 60.f, 65.f, 70.f }; /*----------------------------------------------------------------------------------* * Gain estimation constants (for gain quantizer at 7.2 and 8.0 kbps) *----------------------------------------------------------------------------------*/ const float b_1sfr[2] = { 2.36736f, -0.22452f }; const float b_2sfr[4] = { -0.00027f, 0.01703f, 0.91879f, 0.13234f }; const float b_3sfr[6] = { -0.11658f, 0.02674f, 0.13513f, 0.79682f, 0.02241f, 0.17815f }; const float b_4sfr[8] = { -0.09296f, 0.01578f, -0.06606f, 0.20416f, 0.79254f, 0.00829f, 0.03499f, 0.15859f }; /*----------------------------------------------------------------------------------* * Gain codebooks (for gain quantizer at 7.2 and 8.0 kbps) *----------------------------------------------------------------------------------*/ const float gp_gamma_1sfr_8b[2*256] = { 0.01864f, 0.29707f, 0.02030f, 0.07182f, 0.02151f, 1.08524f, 0.03500f, 0.16009f, 0.03977f, 0.02281f, 0.04234f, 0.40424f, 0.04933f, 0.76004f, 0.05586f, 1.51515f, 0.06020f, 2.12629f, 0.06027f, 3.09183f, 0.06439f, 0.11739f, 0.07339f, 5.42703f, 0.07352f, 0.03949f, 0.08217f, 0.24883f, 0.08739f, 0.64886f, 0.10306f, 12.80025f, 0.10466f, 0.50924f, 0.11107f, 0.09482f, 0.12457f, 1.36386f, 0.13298f, 7.87494f, 0.13422f, 0.19471f, 0.13866f, 2.54472f, 0.14144f, 0.90007f, 0.14280f, 0.34101f, 0.15640f, 0.05105f, 0.15712f, 28.93375f, 0.16220f, 4.10343f, 0.16674f, 0.12822f, 0.17199f, 0.01803f, 0.17309f, 0.57791f, 0.17880f, 1.83167f, 0.21237f, 0.25432f, 0.21425f, 0.42966f, 0.22283f, 6.15919f, 0.22382f, 1.40095f, 0.22706f, 0.74928f, 0.23090f, 1.03443f, 0.23261f, 20.98373f, 0.23699f, 10.51665f, 0.24053f, 3.14177f, 0.24195f, 0.09011f, 0.25145f, 0.15676f, 0.26865f, 0.02971f, 0.27099f, 2.30569f, 0.27377f, 0.33881f, 0.28928f, 0.60729f, 0.29592f, 0.06145f, 0.31283f, 14.92646f, 0.31414f, 0.21458f, 0.31534f, 1.77427f, 0.31962f, 0.49268f, 0.32489f, 1.21756f, 0.32814f, 4.91051f, 0.34121f, 0.01364f, 0.34148f, 8.74051f, 0.34386f, 0.12541f, 0.34508f, 0.89971f, 0.35532f, 0.04229f, 0.35970f, 0.27273f, 0.36044f, 3.53446f, 0.37703f, 0.71598f, 0.38255f, 0.39178f, 0.38772f, 2.13255f, 0.40080f, 1.46796f, 0.40443f, 0.09811f, 0.41099f, 0.18558f, 0.41248f, 0.57650f, 0.42003f, 6.02510f, 0.42491f, 2.66162f, 0.44395f, 1.05504f, 0.45244f, 0.32349f, 0.46599f, 4.14121f, 0.46643f, 0.07352f, 0.46821f, 0.76710f, 0.47180f, 0.44298f, 0.47973f, 0.14694f, 0.48709f, 0.22467f, 0.48898f, 1.86483f, 0.49391f, 7.20170f, 0.49561f, 0.03365f, 0.49719f, 11.52638f, 0.51590f, 1.31314f, 0.52029f, 3.12855f, 0.52386f, 0.11286f, 0.52972f, 0.53743f, 0.54158f, 0.64936f, 0.54442f, 0.88680f, 0.54741f, 18.96873f, 0.55717f, 5.01132f, 0.55900f, 0.38267f, 0.56108f, 2.20040f, 0.56269f, 0.27811f, 0.56764f, 0.01728f, 0.56774f, 1.61683f, 0.57428f, 0.17847f, 0.59426f, 0.05172f, 0.60253f, 1.12077f, 0.61435f, 0.47966f, 0.61837f, 2.64075f, 0.61974f, 3.85052f, 0.62233f, 0.77999f, 0.62488f, 30.82914f, 0.62591f, 8.30773f, 0.63483f, 0.13040f, 0.63717f, 0.08340f, 0.64151f, 0.22596f, 0.64277f, 14.45112f, 0.65342f, 1.94833f, 0.65906f, 1.41075f, 0.66195f, 0.33327f, 0.66208f, 0.59438f, 0.66380f, 5.82288f, 0.67561f, 55.08506f, 0.67985f, 0.98953f, 0.68848f, 0.02431f, 0.69743f, 0.75692f, 0.69940f, 0.41776f, 0.71088f, 2.29372f, 0.71473f, 9.88443f, 0.71666f, 3.15179f, 0.71976f, 1.57490f, 0.72121f, 0.15977f, 0.72569f, 0.25747f, 0.73215f, 4.49475f, 0.73242f, 1.17828f, 0.73611f, 0.10706f, 0.74660f, 0.50029f, 0.75066f, 0.06441f, 0.75918f, 0.66077f, 0.76003f, 0.89356f, 0.77072f, 6.95905f, 0.77186f, 18.53232f, 0.77303f, 1.82446f, 0.78131f, 2.59582f, 0.78137f, 0.37054f, 0.78595f, 1.33439f, 0.78988f, 0.20177f, 0.79579f, 3.69204f, 0.80621f, 12.12779f, 0.80699f, 24.75305f, 0.81287f, 0.04130f, 0.81630f, 0.55362f, 0.81694f, 0.29092f, 0.81734f, 0.74874f, 0.82110f, 1.06401f, 0.82787f, 2.07876f, 0.82981f, 5.00103f, 0.84050f, 1.58158f, 0.84438f, 2.89191f, 0.84678f, 0.13416f, 0.85616f, 0.44166f, 0.86019f, 8.65103f, 0.86346f, 0.01317f, 0.86494f, 1.18927f, 0.86577f, 0.09267f, 0.86811f, 5.95882f, 0.87117f, 0.84740f, 0.87406f, 0.61269f, 0.87981f, 0.23437f, 0.88151f, 2.44548f, 0.88504f, 0.33708f, 0.88847f, 1.82180f, 0.89206f, 3.31226f, 0.89352f, 16.07224f, 0.89868f, 0.17353f, 0.90558f, 1.37396f, 0.90956f, 4.04629f, 0.91046f, 0.71437f, 0.91555f, 0.95141f, 0.91607f, 0.05802f, 0.92133f, 0.50076f, 0.92397f, 2.18529f, 0.92943f, 6.99163f, 0.93816f, 2.70762f, 0.93915f, 10.79124f, 0.93979f, 35.02379f, 0.94373f, 0.29109f, 0.94428f, 1.54440f, 0.94915f, 1.11190f, 0.94935f, 4.81827f, 0.94963f, 0.39335f, 0.95314f, 0.02810f, 0.95605f, 0.62253f, 0.96422f, 0.78364f, 0.96502f, 1.90168f, 0.96887f, 0.08041f, 0.97223f, 3.22145f, 0.97319f, 0.15476f, 0.97937f, 0.21603f, 0.99027f, 1.26402f, 0.99060f, 2.42092f, 0.99469f, 8.02656f, 0.99661f, 20.50587f, 0.99674f, 0.54301f, 0.99823f, 5.86597f, 0.99991f, 0.88884f, 1.00124f, 0.33090f, 1.00312f, 4.24275f, 1.00328f, 1.65980f, 1.02202f, 13.84765f, 1.02395f, 0.69092f, 1.02548f, 2.07584f, 1.02556f, 0.12171f, 1.02613f, 0.43643f, 1.03316f, 1.03433f, 1.03462f, 1.40902f, 1.03999f, 2.82553f, 1.05031f, 3.58878f, 1.05184f, 0.26298f, 1.06027f, 9.06668f, 1.07241f, 0.79358f, 1.07471f, 0.52241f, 1.08008f, 1.76977f, 1.08043f, 4.93935f, 1.08062f, 45.38949f, 1.08090f, 2.36074f, 1.08304f, 1.15533f, 1.08642f, 0.18015f, 1.08996f, 0.06905f, 1.09008f, 6.56321f, 1.09044f, 0.01828f, 1.09727f, 0.36021f, 1.10075f, 0.62638f, 1.11422f, 1.47205f, 1.11535f, 0.93762f, 1.11816f, 0.03576f, 1.12340f, 0.10836f, 1.13413f, 25.42389f, 1.13994f, 2.96173f, 1.14294f, 3.90159f, 1.15382f, 0.04975f, 1.15439f, 11.91982f, 1.16090f, 16.73218f, 1.16103f, 2.17967f, 1.16117f, 0.68099f, 1.16863f, 0.46714f, 1.17332f, 1.18022f, 1.17498f, 0.31199f, 1.17616f, 9.51265f, 1.18152f, 7.40048f, 1.18372f, 0.24663f, 1.18372f, 0.20126f, 1.18610f, 0.14046f, 1.18676f, 0.08978f, 1.18699f, 5.55043f, 1.18951f, 0.84044f, 1.19478f, 1.59238f, 1.19799f, 2.55164f, 1.19820f, 1.89784f, 1.19857f, 0.39387f, 1.19888f, 0.56489f, 1.19998f, 1.02889f, 1.20345f, 3.31468f, 1.20431f, 4.41910f, 1.20567f, 1.32040f, 1.21177f, 0.74548f }; const float gp_gamma_1sfr_7b[2*128] = { 0.02136f, 0.16576f, 0.02610f, 0.04700f, 0.02673f, 1.32916f, 0.03917f, 0.38038f, 0.06539f, 3.93015f, 0.06590f, 0.78428f, 0.07007f, 2.41347f, 0.07073f, 0.12201f, 0.08692f, 0.02273f, 0.10144f, 0.26162f, 0.12117f, 0.58428f, 0.12817f, 0.06582f, 0.13200f, 6.18738f, 0.13542f, 1.05113f, 0.14605f, 12.85127f, 0.15252f, 1.88832f, 0.17593f, 0.43086f, 0.18150f, 24.88791f, 0.19845f, 0.19059f, 0.20102f, 0.09975f, 0.21887f, 3.04712f, 0.22650f, 0.80244f, 0.22710f, 1.36678f, 0.23569f, 0.04128f, 0.24090f, 0.33017f, 0.24423f, 4.39312f, 0.25622f, 9.04696f, 0.26686f, 0.01465f, 0.30474f, 0.13696f, 0.30653f, 0.51721f, 0.33982f, 2.33214f, 0.34572f, 0.96726f, 0.34776f, 0.22391f, 0.35921f, 1.66824f, 0.37321f, 5.83958f, 0.38246f, 0.29909f, 0.38918f, 0.07567f, 0.39258f, 0.03099f, 0.40290f, 0.67440f, 0.43384f, 3.82188f, 0.44136f, 1.28810f, 0.45720f, 0.39518f, 0.46915f, 0.18114f, 0.49155f, 7.58133f, 0.49486f, 18.79692f, 0.49964f, 2.78200f, 0.50311f, 0.11426f, 0.50988f, 1.82600f, 0.51013f, 12.50225f, 0.51163f, 0.85831f, 0.53672f, 0.55661f, 0.54568f, 0.24221f, 0.58854f, 0.04842f, 0.58856f, 1.13464f, 0.59022f, 5.29180f, 0.61432f, 0.31344f, 0.62368f, 0.01799f, 0.62503f, 3.37535f, 0.62557f, 0.15698f, 0.63586f, 2.17291f, 0.64066f, 0.72903f, 0.65002f, 0.46018f, 0.67718f, 0.08632f, 0.67719f, 1.47658f, 0.68875f, 9.72347f, 0.68911f, 32.65981f, 0.72111f, 4.49107f, 0.72523f, 0.94174f, 0.73603f, 0.22351f, 0.75271f, 16.69924f, 0.75455f, 2.72292f, 0.75633f, 0.36255f, 0.76400f, 0.65651f, 0.76595f, 6.66691f, 0.77475f, 1.86222f, 0.79933f, 1.19851f, 0.80473f, 0.13963f, 0.80852f, 0.51193f, 0.82270f, 3.73825f, 0.84176f, 0.02816f, 0.84259f, 0.05841f, 0.85838f, 0.27004f, 0.86563f, 0.82004f, 0.86743f, 2.29536f, 0.88363f, 1.49460f, 0.89140f, 5.36064f, 0.89183f, 12.35149f, 0.89905f, 8.20030f, 0.90532f, 0.58773f, 0.90588f, 0.39700f, 0.91006f, 24.98023f, 0.92596f, 0.19474f, 0.92719f, 3.17426f, 0.93316f, 1.03857f, 0.94022f, 0.10069f, 0.94912f, 1.92355f, 0.98244f, 0.69665f, 0.98723f, 4.12701f, 0.99391f, 0.45338f, 0.99688f, 1.30750f, 0.99874f, 44.92089f, 1.00074f, 0.30398f, 1.00361f, 2.48072f, 1.00432f, 6.80059f, 1.00968f, 0.01556f, 1.01623f, 10.59523f, 1.03016f, 0.88271f, 1.03693f, 0.16444f, 1.03908f, 18.89908f, 1.04942f, 1.71141f, 1.08216f, 0.03947f, 1.08519f, 2.81718f, 1.09035f, 0.07394f, 1.09092f, 0.49594f, 1.09429f, 1.02772f, 1.09931f, 4.69322f, 1.14445f, 13.97163f, 1.14663f, 0.22834f, 1.14869f, 8.63215f, 1.15982f, 0.12298f, 1.16574f, 0.78265f, 1.16644f, 0.35763f, 1.17170f, 1.51544f, 1.17199f, 5.76835f, 1.17405f, 2.05383f, 1.17523f, 0.58874f, 1.18128f, 3.43730f, 1.18605f, 1.15776f }; const float gp_gamma_1sfr_6b[2*64] = { 0.02662f, 0.35620f, 0.02886f, 0.12384f, 0.05872f, 0.03097f, 0.06053f, 1.26461f, 0.07678f, 3.09046f, 0.08829f, 0.68582f, 0.10444f, 0.24412f, 0.11040f, 0.08899f, 0.15678f, 8.15025f, 0.15909f, 1.86873f, 0.17247f, 0.48977f, 0.17727f, 24.37615f, 0.19825f, 0.05111f, 0.21935f, 4.40219f, 0.22361f, 0.15212f, 0.22674f, 0.94328f, 0.25832f, 0.01602f, 0.28570f, 0.36784f, 0.30922f, 12.93476f, 0.31936f, 2.48635f, 0.38038f, 1.35732f, 0.38051f, 0.09521f, 0.38075f, 0.21973f, 0.38524f, 0.62092f, 0.42799f, 0.03238f, 0.44723f, 6.21713f, 0.48877f, 3.39646f, 0.53050f, 0.87060f, 0.53522f, 0.31847f, 0.54464f, 1.99023f, 0.55504f, 0.15767f, 0.63219f, 0.55908f, 0.64035f, 0.05438f, 0.64773f, 19.11642f, 0.65402f, 1.48427f, 0.67413f, 9.41877f, 0.69087f, 4.69262f, 0.71312f, 0.10928f, 0.75159f, 0.21181f, 0.76049f, 1.08676f, 0.76781f, 0.01802f, 0.77612f, 0.41533f, 0.78253f, 2.60862f, 0.86685f, 0.73032f, 0.87435f, 33.14677f, 0.89187f, 1.63714f, 0.89264f, 6.41601f, 0.89525f, 12.17085f, 0.91060f, 0.07523f, 0.92352f, 0.26853f, 0.94457f, 3.60819f, 0.97995f, 0.49732f, 0.99345f, 0.96508f, 0.99428f, 0.12950f, 1.01209f, 2.04687f, 1.02897f, 0.03326f, 1.05102f, 17.03703f, 1.06462f, 8.38911f, 1.10284f, 4.88112f, 1.11160f, 0.34356f, 1.12908f, 0.17681f, 1.13018f, 2.82130f, 1.13048f, 0.64939f, 1.13502f, 1.29540f }; const float gp_gamma_2sfr_7b[2*128] = { 0.00607f, 2.39054f, 0.00954f, 0.47393f, 0.01025f, 1.13156f, 0.01770f, 0.69243f, 0.02670f, 0.86143f, 0.02900f, 0.36511f, 0.04481f, 1.44093f, 0.05677f, 0.18129f, 0.06916f, 0.29914f, 0.06931f, 0.58281f, 0.09094f, 0.99160f, 0.11875f, 0.78403f, 0.12072f, 32.79239f, 0.12805f, 0.43746f, 0.12919f, 1.87968f, 0.14693f, 0.23271f, 0.16393f, 0.66184f, 0.17876f, 1.08413f, 0.20774f, 0.52913f, 0.21146f, 0.33304f, 0.21176f, 0.82451f, 0.22667f, 1.29470f, 0.27074f, 0.96525f, 0.27431f, 0.64919f, 0.27900f, 0.42916f, 0.27972f, 4.26235f, 0.30501f, 1.65535f, 0.32627f, 0.74124f, 0.33076f, 0.21006f, 0.33996f, 1.13073f, 0.35145f, 0.51891f, 0.35860f, 0.86393f, 0.36177f, 0.33235f, 0.37868f, 6.51886f, 0.39024f, 12.56903f, 0.39765f, 0.63998f, 0.40513f, 1.42570f, 0.40817f, 2.87488f, 0.43002f, 2.06198f, 0.43340f, 0.97173f, 0.43475f, 0.40939f, 0.43718f, 18.88363f, 0.44833f, 0.75361f, 0.46375f, 0.54756f, 0.47932f, 1.22520f, 0.51646f, 0.86275f, 0.52785f, 0.64565f, 0.53846f, 0.46049f, 0.54240f, 1.07549f, 0.54644f, 1.76965f, 0.56866f, 0.26470f, 0.58517f, 0.75438f, 0.58905f, 1.35033f, 0.59790f, 0.55874f, 0.60132f, 0.95549f, 0.61063f, 2.37370f, 0.61285f, 0.37493f, 0.64837f, 1.12469f, 0.65662f, 0.64355f, 0.66163f, 0.82985f, 0.66799f, 1.54600f, 0.67368f, 0.50148f, 0.68300f, 3.65165f, 0.70443f, 0.97799f, 0.71587f, 1.25327f, 0.72464f, 0.71612f, 0.73632f, 0.31795f, 0.75268f, 0.42125f, 0.75309f, 2.14775f, 0.75309f, 0.57562f, 0.76160f, 0.86706f, 0.76665f, 1.10985f, 0.77299f, 1.64991f, 0.80915f, 0.77262f, 0.81281f, 1.32136f, 0.81854f, 0.99876f, 0.83675f, 0.63186f, 0.83681f, 3.02209f, 0.83687f, 0.48040f, 0.85777f, 1.93471f, 0.86131f, 0.87229f, 0.86952f, 1.13226f, 0.87613f, 1.46053f, 0.87855f, 0.34269f, 0.88214f, 0.19384f, 0.89134f, 0.70978f, 0.90866f, 0.95984f, 0.92004f, 0.54981f, 0.92222f, 1.24490f, 0.93028f, 2.52260f, 0.93695f, 0.80671f, 0.94177f, 1.64620f, 0.95825f, 1.05636f, 0.96289f, 0.39904f, 0.97439f, 0.65464f, 0.97607f, 1.34420f, 0.98128f, 0.88402f, 0.99580f, 9.01834f, 1.00135f, 2.01532f, 1.01010f, 1.16279f, 1.01723f, 0.74974f, 1.02846f, 1.51554f, 1.02849f, 0.94135f, 1.03245f, 0.49354f, 1.05191f, 0.60369f, 1.05632f, 4.15579f, 1.06623f, 1.06736f, 1.07827f, 1.25591f, 1.08027f, 0.82287f, 1.08960f, 1.72193f, 1.09072f, 0.28420f, 1.10754f, 2.43024f, 1.12653f, 0.95428f, 1.12778f, 0.67641f, 1.13450f, 1.41156f, 1.14902f, 0.40686f, 1.16032f, 3.38038f, 1.16226f, 1.14385f, 1.17713f, 0.54895f, 1.18580f, 1.84337f, 1.18686f, 0.74693f, 1.19352f, 0.86699f, 1.20171f, 1.54779f, 1.20572f, 2.16971f, 1.20617f, 1.02977f, 1.20662f, 2.74485f, 1.20688f, 1.28237f, 1.20728f, 5.22483f }; const float gp_gamma_2sfr_6b[2*64] = { 0.01130f, 0.59705f, 0.02652f, 1.01430f, 0.02794f, 0.28351f, 0.06102f, 0.41178f, 0.07430f, 0.77026f, 0.07572f, 1.46777f, 0.10914f, 0.18121f, 0.12363f, 2.40953f, 0.13197f, 0.51810f, 0.14628f, 0.30909f, 0.15972f, 0.92110f, 0.20291f, 0.66321f, 0.20694f, 1.21691f, 0.23404f, 0.40495f, 0.27484f, 33.61382f, 0.28250f, 0.79452f, 0.30145f, 1.75124f, 0.31141f, 0.53656f, 0.32351f, 0.23494f, 0.33936f, 0.99733f, 0.38508f, 3.72779f, 0.40108f, 0.65367f, 0.41319f, 0.40008f, 0.42662f, 1.25364f, 0.43246f, 9.93625f, 0.45774f, 0.83578f, 0.51009f, 1.61477f, 0.51585f, 0.50984f, 0.55413f, 1.04889f, 0.56694f, 0.69123f, 0.60142f, 2.29733f, 0.60208f, 0.32174f, 0.63695f, 16.75804f, 0.64385f, 0.85349f, 0.64786f, 1.32201f, 0.67202f, 0.55054f, 0.72879f, 1.03555f, 0.74357f, 0.71744f, 0.76140f, 1.79730f, 0.78523f, 0.43896f, 0.81538f, 1.20775f, 0.81979f, 0.86215f, 0.82523f, 3.16953f, 0.86528f, 0.66633f, 0.87274f, 0.25452f, 0.88210f, 1.51311f, 0.90326f, 0.99246f, 0.93081f, 0.53871f, 0.95916f, 2.20734f, 0.96174f, 1.28996f, 0.96917f, 0.82441f, 0.99824f, 6.35842f, 1.00335f, 0.36563f, 1.02237f, 1.09680f, 1.03188f, 0.64719f, 1.04846f, 1.61469f, 1.09185f, 0.91916f, 1.11199f, 4.24727f, 1.14659f, 0.48521f, 1.15873f, 2.64461f, 1.16374f, 1.37282f, 1.17310f, 0.74954f, 1.18098f, 1.86320f, 1.18544f, 1.08087f }; const float gp_gamma_3sfr_6b[2*64] = { 0.01192f, 0.29245f, 0.04985f, 0.56198f, 0.07032f, 1.20261f, 0.08337f, 0.36774f, 0.08405f, 0.80061f, 0.09313f, 1.76147f, 0.09580f, 0.19048f, 0.13781f, 0.46427f, 0.15191f, 1.01263f, 0.17911f, 0.66093f, 0.19176f, 0.31423f, 0.21095f, 3.33105f, 0.24351f, 0.84426f, 0.25383f, 1.38475f, 0.25558f, 0.52730f, 0.26697f, 2.41458f, 0.32244f, 1.02709f, 0.33147f, 0.25578f, 0.33614f, 0.69549f, 0.35169f, 0.41222f, 0.41458f, 1.21107f, 0.41759f, 0.87121f, 0.42537f, 0.59296f, 0.46820f, 1.57552f, 0.51038f, 0.47823f, 0.51562f, 1.03574f, 0.52553f, 0.74288f, 0.56848f, 2.12515f, 0.59985f, 0.33289f, 0.60551f, 13.69166f, 0.61194f, 0.89674f, 0.62213f, 0.60927f, 0.62628f, 1.28489f, 0.70519f, 0.76916f, 0.71649f, 1.72293f, 0.71964f, 1.05889f, 0.73148f, 8.45570f, 0.73217f, 0.48093f, 0.77896f, 26.25153f, 0.78396f, 2.95227f, 0.80147f, 0.90896f, 0.80167f, 0.66149f, 0.80656f, 1.44516f, 0.86294f, 1.18805f, 0.88649f, 0.81413f, 0.90213f, 2.01099f, 0.90474f, 0.55259f, 0.91649f, 0.33485f, 0.93167f, 1.03017f, 0.96578f, 5.28431f, 0.97308f, 1.36442f, 0.97409f, 0.70362f, 0.99790f, 0.92401f, 1.05048f, 1.12005f, 1.05996f, 1.76024f, 1.06915f, 0.46437f, 1.08636f, 0.80929f, 1.10286f, 2.76431f, 1.13708f, 3.74909f, 1.15280f, 1.23892f, 1.16077f, 0.62175f, 1.17824f, 0.96656f, 1.18408f, 2.17545f, 1.18487f, 1.49786f }; const float gp_gamma_4sfr_6b[2*64] = { 0.00934f, 0.27565f, 0.01721f, 0.97811f, 0.02433f, 0.46654f, 0.04781f, 0.72086f, 0.06776f, 1.45241f, 0.08727f, 0.35723f, 0.08791f, 3.41441f, 0.09299f, 2.13125f, 0.09778f, 0.57872f, 0.11158f, 0.19319f, 0.12208f, 0.85691f, 0.16346f, 0.44503f, 0.17183f, 1.17256f, 0.18821f, 0.67810f, 0.23565f, 0.93068f, 0.25353f, 0.31870f, 0.25723f, 0.55721f, 0.27028f, 1.43169f, 0.30369f, 0.74972f, 0.33457f, 1.10643f, 0.33886f, 0.45699f, 0.37588f, 1.81394f, 0.39890f, 0.91791f, 0.40041f, 0.63732f, 0.44484f, 0.33746f, 0.45345f, 1.29581f, 0.45454f, 20.73460f, 0.48041f, 0.79572f, 0.51620f, 0.51876f, 0.52239f, 1.07372f, 0.52970f, 2.77458f, 0.57723f, 0.69551f, 0.58187f, 1.53270f, 0.60145f, 0.92017f, 0.64601f, 11.29119f, 0.65868f, 7.45030f, 0.66000f, 0.40154f, 0.66097f, 0.58966f, 0.67054f, 1.18310f, 0.69460f, 0.84554f, 0.69993f, 2.09527f, 0.76202f, 0.69518f, 0.77672f, 1.01521f, 0.78020f, 1.40843f, 0.82725f, 0.50517f, 0.84005f, 0.27186f, 0.84739f, 0.84066f, 0.85816f, 5.06160f, 0.87075f, 1.17031f, 0.87474f, 1.80610f, 0.91532f, 0.65903f, 0.93722f, 0.94775f, 0.94762f, 1.39061f, 1.00344f, 1.14608f, 1.00732f, 0.77084f, 1.01480f, 0.39878f, 1.05149f, 2.51385f, 1.07194f, 1.57173f, 1.07599f, 1.01017f, 1.10831f, 3.54277f, 1.11815f, 0.59230f, 1.17359f, 0.85449f, 1.17572f, 1.24171f, 1.18513f, 1.93190f }; /*----------------------------------------------------------------------------------* * Transition coding - gain quantization table *----------------------------------------------------------------------------------*/ const float tbl_gain_code_tc[N_GAIN_CODE_TC] = { 0.36201f, 0.72382f, 0.96727f, 1.1856f, 1.4119f, 1.679f, 2.0743f, 3.3301f }; /*-----------------------------------------------------------------* * Transition coding - gain quantization table for g_trans *-----------------------------------------------------------------*/ const float tbl_gain_trans_tc[N_GAIN_TC] = { 35.8449f, 86.7884f, 150.0926f, 233.3001f, 346.0286f, 511.5196f, 819.6746f, 1500.0f }; /*-----------------------------------------------------------------* * Transition coding - table of prototype glottal impulses *-----------------------------------------------------------------*/ const float glottal_cdbk[L_IMPULSE*NUM_IMPULSE] = { /* impulse 0 */ -0.0873f, -0.2063f, -0.3544f, -0.2126f, -0.1581f, -0.5208f, -0.5973f, 0.2106f, 1.0000f, 0.7095f, -0.0767f, -0.2388f, 0.0709f, 0.1143f, -0.0099f, 0.1015f, 0.1852f, /* impulse 1 */ -0.2646f, -0.1655f, -0.0493f, -0.3314f, -0.5455f, -0.2641f, -0.2661f, -0.9837f, -1.1157f, 0.1420f, 1.2626f, 0.8151f, -0.2146f, -0.3466f, 0.0460f, 0.0398f, -0.0598f, /* impulse 2 */ 0.0440f, 0.0685f, 0.5108f, 0.3092f, -0.4060f, -0.3111f, 0.2513f, -0.2578f, -1.1648f, -0.7488f, 0.1596f, 0.0151f, -0.4176f, -0.1788f, 0.0580f, -0.1082f, -0.1541f, /* impulse 3 */ -0.1579f, -0.0873f, -0.0224f, -0.1885f, -0.2000f, -0.0267f, -0.4276f, -1.1485f, -0.9711f, -0.1718f, -0.0348f, -0.3044f, 0.0372f, 0.5686f, 0.4015f, 0.0141f, 0.1816f, /* impulse 4 */ 0.1022f, 0.3080f, 0.2984f, 0.3270f, 0.7278f, 0.8466f, -0.1128f, -1.2094f, -0.9235f, 0.0785f, 0.1648f, -0.3146f, -0.2563f, -0.0338f, -0.1887f, -0.2782f, -0.1077f, /* impulse 5 */ -0.0510f, -0.1082f, -0.0058f, -0.0603f, -0.2891f, -0.2515f, -0.1505f, -0.6434f, -1.2732f, -0.8490f, 0.4029f, 0.9251f, 0.3172f, -0.2032f, -0.0563f, 0.0897f, -0.0221f, /* impulse 6 */ -0.0570f, -0.2277f, -0.1776f, -0.0155f, -0.2296f, -0.4609f, 0.1004f, 1.0174f, 1.0000f, 0.1053f, -0.3371f, -0.0458f, 0.0924f, -0.0681f, -0.0348f, 0.0797f, 0.0183f, /* impulse 7 */ 0.1327f, 0.0575f, -0.0754f, 0.0862f, 0.1887f, -0.1959f, -0.3975f, 0.2925f, 0.9839f, 0.6334f, -0.0121f, -0.0045f, 0.1349f, -0.0815f, -0.1751f, -0.0072f, -0.0099f }; /*----------------------------------------------------------------------------------* * AMR-WB IO WB BWE - deemphasis *----------------------------------------------------------------------------------*/ const float deem_tab[56] = { 0.630730419421360f, 0.629416164964296f, 0.628129905227103f, 0.626871385453679f, 0.625640357452226f, 0.624436579475560f, 0.623259816105156f, 0.622109838138814f, 0.620986422481867f, 0.619889352041818f, 0.618818415626335f, 0.617773407844493f, 0.616754129011203f, 0.615760385054730f, 0.614791987427225f, 0.613848753018209f, 0.612930504070914f, 0.612037068101433f, 0.611168277820597f, 0.610323971058526f, 0.609503990691786f, 0.608708184573088f, 0.607936405463484f, 0.607188510967000f, 0.606464363467645f, 0.605763830068759f, 0.605086782534647f, 0.604433097234441f, 0.603802655088168f, 0.603195341514964f, 0.602611046383395f, 0.602049663963857f, 0.601511092883003f, 0.600995236080178f, 0.600502000765808f, 0.600031298381734f, 0.599583044563439f, 0.599157159104159f, 0.598753565920828f, 0.598372193021851f, 0.598012972476677f, 0.597675840387130f, 0.597360736860508f, 0.597067605984399f, 0.596796395803217f, 0.596547058296428f, 0.596319549358454f, 0.596113828780239f, 0.595929860232466f, 0.595767611250409f, 0.595627053220407f, 0.595508161367956f, 0.595410914747406f, 0.595335296233253f, 0.595281292513031f, 0.595248894081778f }; const float filt_hp[56] = { 0.001610570549503f, 0.004682981184545f, 0.008349027644995f, 0.012654118680910f, 0.017642537255539f, 0.023357023549788f, 0.029838357405517f, 0.037124944278684f, 0.045252408764306f, 0.054253199698241f, 0.064156210737117f, 0.074986420169406f, 0.086764553520305f, 0.099506772283889f, 0.113224391851657f, 0.127923631411203f, 0.143605398266754f, 0.160265108689438f, 0.177892547044310f, 0.196471764568281f, 0.215981018793259f, 0.236392754226835f, 0.257673624523579f, 0.279784556007892f, 0.302680852048711f, 0.326312337440982f, 0.350623541622164f, 0.375553919247241f, 0.401038106365070f, 0.427006210184762f, 0.453384130194306f, 0.480093908196193f, 0.507054104656542f, 0.534180198625471f, 0.561385008376586f, 0.588579129831778f, 0.615671389782721f, 0.642569310891142f, 0.669179585444241f, 0.695408554857669f, 0.721162691954086f, 0.746349083098340f, 0.770875907338563f, 0.794652909783784f, 0.817591866540936f, 0.839607038635485f, 0.860615612448599f, 0.880538124318166f, 0.899298867069991f, 0.916826276367851f, 0.933053294896263f, 0.947917712517199f, 0.961362480671352f, 0.973335999426038f, 0.983792375705577f, 0.992691651376520f }; /* table of values exp(-j*w*i) */ const float exp_tab_q[34] = { 1.000000000000000f, -0.980785280403230f, 0.923879532511287f, -0.831469612302544f, 0.707106781186547f, -0.555570233019602f, 0.382683432365086f, -0.195090322016125f, -0.000000000000003f, 0.195090322016130f, -0.382683432365091f, 0.555570233019606f, -0.707106781186553f, 0.831469612302547f, -0.923879532511289f, 0.980785280403231f, -1.000000000000000f, 0.000000000000000f, -0.195090322016129f, 0.382683432365090f, -0.555570233019604f, 0.707106781186549f, -0.831469612302546f, 0.923879532511288f, -0.980785280403231f, 1.000000000000000f, -0.980785280403230f, 0.923879532511286f, -0.831469612302543f, 0.707106781186542f, -0.555570233019599f, 0.382683432365084f, -0.195090322016126f, -0.000000000000005f }; const float exp_tab_p[34] = { 1.000000000000000f, -0.707106781186548f, -0.000000000000000f, 0.707106781186548f, -1.000000000000000f, 0.707106781186547f, 0.000000000000000f, -0.707106781186547f, 1.000000000000000f, -0.707106781186546f, -0.000000000000003f, 0.707106781186548f, -1.000000000000000f, 0.707106781186546f, -0.000000000000000f, -0.707106781186548f, 1.000000000000000f, 0.000000000000000f, -0.707106781186548f, 1.000000000000000f, -0.707106781186547f, -0.000000000000000f, 0.707106781186549f, -1.000000000000000f, 0.707106781186548f, 0.000000000000000f, -0.707106781186549f, 1.000000000000000f, -0.707106781186548f, 0.000000000000000f, 0.707106781186549f, -1.000000000000000f, 0.707106781186547f, 0.000000000000000f }; /* gains for 23k85 mode */ const float HP_gain[16] = { /* values in Q15: 3624, 4673, 5597, 6479, 7425, 8378, 9324, 10264, 11210, 12206, 13391, 14844, 16770, 19655, 24289, 32728 */ 0.110595703125000f, 0.142608642578125f, 0.170806884765625f, 0.197723388671875f, 0.226593017578125f, 0.255676269531250f, 0.284545898437500f, 0.313232421875000f, 0.342102050781250f, 0.372497558593750f, 0.408660888671875f, 0.453002929687500f, 0.511779785156250f, 0.599822998046875f, 0.741241455078125f, 0.998779296875000f }; /* band-pass 6-8kHz filter */ const float fir_6k_8k[31]= { 0.001331237773450f, -0.004734562657574f, 0.009865692979275f, -0.014704482109862f, 0.017170883692091f, -0.018004559024736f, 0.022168155759205f, -0.036012990296002f, 0.060614595353634f, -0.086000479894051f, 0.092413785317631f, -0.060769441864153f, -0.012918738234409f, 0.109335430548556f, -0.191677822804549f, 0.224071909378974f, -0.191677822804549f, 0.109335430548556f, -0.012918738234409f, -0.060769441864153f, 0.092413785317631f, -0.086000479894051f, 0.060614595353634f, -0.036012990296002f, 0.022168155759205f, -0.018004559024736f, 0.017170883692091f, -0.014704482109862f, 0.009865692979275f, -0.004734562657574f, 0.001331237773450f }; /*----------------------------------------------------------------------------------* * 2nd order high-pass filter with cut-off frequency at 400 Hz. * Designed with Chebyshev of 2nd type * Optimized for fixed-point to get the following frequency response: * * frequency: 0Hz 100Hz 200Hz 300Hz 400Hz 630Hz 1.5kHz 3kHz * dB loss: -infdB -30dB -20dB -10dB -3dB +6dB +1dB 0dB * * Algorithm: * * y[i] = b[0]*x[i] + b[1]*x[i-1] + b[2]*x[i-2] * + a[1]*y[i-1] + a[2]*y[i-2]; * * short b[3] = {3660, -7320, 3660}; in Q12 * short a[3] = {4096, 7320, -3540}; in Q12 *----------------------------------------------------------------------------------*/ const float b_hp400[3] = { 0.893554687f, -1.787109375f, 0.893554687f }; const float a_hp400[3] = { 1.000000000f, 1.787109375f, -0.864257812f }; /*----------------------------------------------------------------------------------* * 15th-order band-pass 6kHz to 7kHz FIR filter. * * frequency: 4kHz 5kHz 5.5kHz 6kHz 6.5kHz 7kHz 7.5kHz 8kHz * dB loss: -60dB -45dB -13dB -3dB 0dB -3dB -13dB -45dB * * gain = 4.0 *----------------------------------------------------------------------------------*/ const float fir_6k_7k[31] = { -0.001005f, 0.001428f, 0.000965f, -0.000863f, -0.011296f, 0.034231f, -0.043397f, -0.000000f, 0.115906f, -0.271028f, 0.376868f, -0.335243f, 0.108276f, 0.237003f, -0.549363f, 0.675000f, -0.549363f, 0.237003f, 0.108276f, -0.335243f, 0.376868f, -0.271028f, 0.115906f, -0.000000f, -0.043397f, 0.034231f, -0.011296f, -0.000863f, 0.000965f, 0.001428f, -0.001005f }; /*----------------------------------------------------------------------------------* * Enhacer - 2.0 - 6.4 kHz impulse response with phase dispersion in freq. domain *----------------------------------------------------------------------------------*/ const float low_H[L_SUBFR] = { 1.000300f, 0.999812f, 1.000125f, 0.999868f, 0.999879f, 0.999935f, 0.999838f, 0.999992f, 1.000076f, 0.626554f, 0.619763f, 0.603882f, 0.857647f, 0.997470f, -0.032403f, 0.806652f, 0.999300f, 0.946634f, 0.574139f, 0.973425f, 0.288464f, 0.890704f, 0.635021f, 0.597882f, -0.997076f, -0.110774f, -0.648392f, 0.771888f, 0.888411f, -0.774123f, 0.695109f, 0.498998f, 0.999900f, -0.866525f, 0.719081f, 0.633481f, 0.458722f, 0.636210f, -0.761251f, 0.993932f, -0.073228f, -0.801816f, 0.772627f, -0.454461f, 0.957250f, -0.229682f, -0.818972f, -0.322274f, 0.031800f, -0.591141f, -0.999439f, -0.074385f, 0.514882f, -0.797032f, -0.784999f, -0.779712f, -0.000028f, 0.000164f, 0.000029f, -0.000135f, -0.000047f, -0.000033f, -0.000080f, 0.000099f }; /*----------------------------------------------------------------------------------* * Enhancer - 3.2 - 6.4 kHz impulse response with phase dispersion in freq. domain *----------------------------------------------------------------------------------*/ const float mid_H[L_SUBFR] = { 0.999900f, 0.999848f, 1.000003f, 1.000048f, 1.000107f, 1.000242f, 1.000165f, 0.999909f, 1.000212f, 0.999933f, 1.000099f, 1.000100f, 1.000113f, 1.000018f, 0.999901f, 1.000267f, 0.906200f, 0.587715f, 0.808629f, 0.884216f, 0.671089f, 0.039238f, 0.843369f, 0.841006f, 0.394788f, 0.528863f, 0.710110f, 0.596973f, -0.893309f, -0.059908f, 0.716925f, -0.044067f, 1.000100f, -0.998848f, -0.697170f, 0.998190f, 0.449397f, 0.802480f, -0.704198f, -0.848591f, -0.918649f, -0.540881f, 0.537822f, -0.999200f, -0.741318f, 0.467580f, -0.588204f, -0.808928f, -0.422500f, 0.000219f, -0.000261f, -0.000086f, -0.000313f, 0.000080f, 0.000406f, 0.000351f, -0.000449f, -0.000065f, 0.000214f, -0.000254f, 0.000002f, -0.000090f, -0.000198f, 0.000193f }; /*-------------------------------------------------------------------* * Low-pass FIR filter for low-freq post-filtering * response : 0dB @ 50Hz, -6dB @ 500Hz, -45dB @ 1kHz) * filter parameters: fs/2=8000, fc=500, gain=1.0, n=16 *-------------------------------------------------------------------*/ const float tab_hup_l[SIZ_TAB_HUP_L] = { -0.001246f, 0.002200f, -0.004791f, 0.009621f, -0.017685f, 0.031212f, -0.057225f, 0.135470f, 0.973955f, -0.103495f, 0.048663f, -0.027090f, 0.015280f, -0.008160f, 0.003961f, -0.001827f, -0.002388f, 0.004479f, -0.009715f, 0.019261f, -0.035118f, 0.061945f, -0.115187f, 0.294161f, 0.898322f, -0.170283f, 0.083211f, -0.046645f, 0.026210f, -0.013854f, 0.006641f, -0.003099f, -0.003277f, 0.006456f, -0.013906f, 0.027229f, -0.049283f, 0.086990f, -0.164590f, 0.464041f, 0.780309f, -0.199879f, 0.100795f, -0.056792f, 0.031761f, -0.016606f, 0.007866f, -0.003740f, -0.003770f, 0.007714f, -0.016462f, 0.031849f, -0.057272f, 0.101294f, -0.195755f, 0.630993f, 0.630993f, -0.195755f, 0.101294f, -0.057272f, 0.031849f, -0.016462f, 0.007714f, -0.003770f, -0.003740f, 0.007866f, -0.016606f, 0.031761f, -0.056792f, 0.100795f, -0.199879f, 0.780309f, 0.464041f, -0.164590f, 0.086990f, -0.049283f, 0.027229f, -0.013906f, 0.006456f, -0.003277f, -0.003099f, 0.006641f, -0.013854f, 0.026210f, -0.046645f, 0.083211f, -0.170283f, 0.898322f, 0.294161f, -0.115187f, 0.061945f, -0.035118f, 0.019261f, -0.009715f, 0.004479f, -0.002388f, -0.001827f, 0.003961f, -0.008160f, 0.015280f, -0.027090f, 0.048663f, -0.103495f, 0.973955f, 0.135470f, -0.057225f, 0.031212f, -0.017685f, 0.009621f, -0.004791f, 0.002200f, -0.001246f }; const float tab_hup_s[SIZ_TAB_HUP_S] = { -0.005772f, 0.087669f, 0.965882f, -0.048753f, -0.014793f, 0.214886f, 0.868791f, -0.065537f, -0.028507f, 0.374334f, 0.723418f, -0.060834f, -0.045567f, 0.550847f, 0.550847f, -0.045567f, -0.060834f, 0.723418f, 0.374334f, -0.028507f, -0.065537f, 0.868791f, 0.214886f, -0.014793f, -0.048753f, 0.965882f, 0.087669f, -0.005772f }; /*-------------------------------------------------------------------* * Bass post-filter *-------------------------------------------------------------------*/ const float filt_lp[1+L_FILT] = { 0.088250f, 0.086410f, 0.081074f, 0.072768f, 0.062294f, 0.050623f, 0.038774f, 0.027692f, 0.018130f, 0.010578f, 0.005221f, 0.001946f, 0.000385f }; const float filt_lp_16kHz[1+L_FILT16k] = { 0.071410f, 0.070433f, 0.067568f, 0.062999f, 0.057020f, 0.050005f, 0.042378f, 0.034577f, 0.027022f, 0.020078f, 0.014031f, 0.009070f, 0.005276f, 0.002625f, 0.000999f, 0.000205f }; /*-------------------------------------------------------------------* * Pulse indexing tables for ACELP innovation coding *-------------------------------------------------------------------*/ const int PI_select_table[23][8] = { {1, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0}, {1, 2, 1, 0, 0, 0, 0, 0}, {1, 3, 3, 1, 0, 0, 0, 0}, {1, 4, 6, 4, 1, 0, 0, 0}, {1, 5, 10, 10, 5, 1, 0, 0}, {1, 6, 15, 20, 15, 6, 1, 0}, {1, 7, 21, 35, 35, 21, 7, 1}, {1, 8, 28, 56, 70, 56, 28, 8}, {1, 9, 36, 84, 126, 126, 84, 36}, {1, 10, 45, 120, 210, 252, 210, 120}, {1, 11, 55, 165, 330, 462, 462, 330}, {1, 12, 66, 220, 495, 792, 924, 792}, {1, 13, 78, 286, 715, 1287, 1716, 1716}, {1, 14, 91, 364, 1001, 2002, 3003, 3432}, {1, 15, 105, 455, 1365, 3003, 5005, 6435}, {1, 16, 120, 560, 1820, 4368, 8008, 11440}, {1, 17, 136, 680, 2380, 6188, 12376, 19448}, {1, 18, 153, 816, 3060, 8568, 18564, 31824}, {1, 19, 171, 969, 3876, 11628, 27132, 50388}, {1, 20, 190, 1140, 4845, 15504, 38760, 77520}, {1, 21, 210, 1330, 5985, 20349, 54264, 116280}, {1, 22, 231, 1540, 7315, 26334, 74613, 1705444} }; const int PI_offset[8][8] = { /* for 0p(0). */ {0x00000,0x00000,0x00000,0x00000,0x00000,0x00000,0x00000,0x00000}, /* for 1p(1). */ {0x00000,0x00000,0x00000,0x00000,0x00000,0x00000,0x00000,0x00000}, /* for 2p(2,1). */ {0x00000,0x00000,0x00000,0x00000,0x00000,0x00000,0x00000,0x00000}, /* for 3p(3,2,1). */ {0x00000,0x00000,0x01180,0x01540,0x00000,0x00000,0x00000,0x00000}, /* for 4p(4,3,2,1). */ {0x00000,0x00000,0x071C0,0x0A640,0x0ABE0,0x00000,0x00000,0x00000}, /* for 5p(5,4,3,2,1). */ {0x00000,0x00000,0x22200,0x3E900,0x45200,0x45980,0x00000,0x00000}, /* for 6p(6,5,4,3,2,1). */ {0x00000,0x00000,0x07d200,0x127c00,0x16ed80,0x179c80,0x17a5e0,0x00000}, /* for 7p(7,6,5,4,3,2,1). */ {0x00000,0x00000,0x165800,0x454400,0x654200,0x6E2500,0x6F2B80,0x6F36C0} }; const short PI_factor[7] = {0,0,120,560,1820,4368,8008}; /*------------------------------------------------------------------------------* * EDCT tables *------------------------------------------------------------------------------*/ const float edct_table_80[80] = { 0.33433591f, 0.33420702f, 0.33394929f, 0.33356281f, 0.33304773f, 0.33240426f, 0.33163264f, 0.33073317f, 0.32970620f, 0.32855212f, 0.32727137f, 0.32586446f, 0.32433192f, 0.32267434f, 0.32089236f, 0.31898668f, 0.31695802f, 0.31480717f, 0.31253495f, 0.31014224f, 0.30762997f, 0.30499910f, 0.30225065f, 0.29938568f, 0.29640528f, 0.29331062f, 0.29010288f, 0.28678330f, 0.28335316f, 0.27981378f, 0.27616653f, 0.27241281f, 0.26855407f, 0.26459179f, 0.26052751f, 0.25636280f, 0.25209925f, 0.24773851f, 0.24328226f, 0.23873223f, 0.23409016f, 0.22935784f, 0.22453710f, 0.21962979f, 0.21463782f, 0.20956310f, 0.20440759f, 0.19917327f, 0.19386217f, 0.18847633f, 0.18301783f, 0.17748878f, 0.17189129f, 0.16622755f, 0.16049971f, 0.15471000f, 0.14886065f, 0.14295391f, 0.13699206f, 0.13097739f, 0.12491224f, 0.11879892f, 0.11263981f, 0.10643727f, 0.10019369f, 0.09391149f, 0.08759309f, 0.08124092f, 0.07485742f, 0.06844507f, 0.06200633f, 0.05554369f, 0.04905963f, 0.04255666f, 0.03603728f, 0.02950402f, 0.02295937f, 0.01640588f, 0.00984606f, 0.00328244f }; const float edct_table_120[120] = { 0.30212379f, 0.30207202f, 0.30196850f, 0.30181323f, 0.30160625f, 0.30134759f, 0.30103730f, 0.30067542f, 0.30026203f, 0.29979718f, 0.29928097f, 0.29871348f, 0.29809481f, 0.29742505f, 0.29670434f, 0.29593279f, 0.29511053f, 0.29423770f, 0.29331446f, 0.29234097f, 0.29131738f, 0.29024387f, 0.28912063f, 0.28794786f, 0.28672574f, 0.28545450f, 0.28413434f, 0.28276550f, 0.28134821f, 0.27988271f, 0.27836926f, 0.27680811f, 0.27519952f, 0.27354379f, 0.27184118f, 0.27009200f, 0.26829654f, 0.26645510f, 0.26456801f, 0.26263559f, 0.26065816f, 0.25863608f, 0.25656968f, 0.25445931f, 0.25230535f, 0.25010815f, 0.24786810f, 0.24558558f, 0.24326098f, 0.24089470f, 0.23848714f, 0.23603872f, 0.23354985f, 0.23102097f, 0.22845250f, 0.22584489f, 0.22319858f, 0.22051402f, 0.21779168f, 0.21503203f, 0.21223553f, 0.20940267f, 0.20653392f, 0.20362979f, 0.20069076f, 0.19771735f, 0.19471006f, 0.19166941f, 0.18859591f, 0.18549011f, 0.18235251f, 0.17918368f, 0.17598414f, 0.17275445f, 0.16949515f, 0.16620682f, 0.16289000f, 0.15954528f, 0.15617322f, 0.15277439f, 0.14934940f, 0.14589881f, 0.14242322f, 0.13892323f, 0.13539943f, 0.13185244f, 0.12828285f, 0.12469128f, 0.12107835f, 0.11744467f, 0.11379087f, 0.11011757f, 0.10642540f, 0.10271499f, 0.09898699f, 0.09524203f, 0.09148074f, 0.08770378f, 0.08391180f, 0.08010544f, 0.07628535f, 0.07245219f, 0.06860661f, 0.06474928f, 0.06088086f, 0.05700200f, 0.05311338f, 0.04921565f, 0.04530949f, 0.04139557f, 0.03747456f, 0.03354713f, 0.02961394f, 0.02567569f, 0.02173303f, 0.01778665f, 0.01383722f, 0.00988542f, 0.00593193f, 0.00197742f }; const float edct_table_320[320] = { 0.23643389f, 0.23642819f, 0.23641680f, 0.23639971f, 0.23637692f, 0.23634844f, 0.23631426f, 0.23627439f, 0.23622882f, 0.23617757f, 0.23612062f, 0.23605798f, 0.23598966f, 0.23591565f, 0.23583595f, 0.23575057f, 0.23565951f, 0.23556278f, 0.23546036f, 0.23535227f, 0.23523852f, 0.23511909f, 0.23499400f, 0.23486324f, 0.23472683f, 0.23458476f, 0.23443704f, 0.23428367f, 0.23412465f, 0.23396000f, 0.23378970f, 0.23361377f, 0.23343222f, 0.23324504f, 0.23305223f, 0.23285382f, 0.23264979f, 0.23244015f, 0.23222492f, 0.23200409f, 0.23177767f, 0.23154566f, 0.23130808f, 0.23106492f, 0.23081619f, 0.23056191f, 0.23030206f, 0.23003667f, 0.22976573f, 0.22948926f, 0.22920726f, 0.22891974f, 0.22862670f, 0.22832815f, 0.22802410f, 0.22771455f, 0.22739952f, 0.22707901f, 0.22675302f, 0.22642158f, 0.22608467f, 0.22574232f, 0.22539453f, 0.22504131f, 0.22468267f, 0.22431861f, 0.22394915f, 0.22357429f, 0.22319405f, 0.22280842f, 0.22241743f, 0.22202108f, 0.22161938f, 0.22121233f, 0.22079996f, 0.22038227f, 0.21995927f, 0.21953096f, 0.21909737f, 0.21865850f, 0.21821436f, 0.21776496f, 0.21731032f, 0.21685044f, 0.21638533f, 0.21591501f, 0.21543948f, 0.21495877f, 0.21447288f, 0.21398181f, 0.21348560f, 0.21298423f, 0.21247774f, 0.21196612f, 0.21144940f, 0.21092759f, 0.21040069f, 0.20986872f, 0.20933169f, 0.20878962f, 0.20824252f, 0.20769041f, 0.20713328f, 0.20657117f, 0.20600408f, 0.20543202f, 0.20485502f, 0.20427308f, 0.20368621f, 0.20309444f, 0.20249778f, 0.20189623f, 0.20128983f, 0.20067857f, 0.20006247f, 0.19944156f, 0.19881584f, 0.19818532f, 0.19755004f, 0.19690999f, 0.19626520f, 0.19561568f, 0.19496144f, 0.19430251f, 0.19363890f, 0.19297062f, 0.19229769f, 0.19162012f, 0.19093794f, 0.19025116f, 0.18955980f, 0.18886386f, 0.18816338f, 0.18745836f, 0.18674883f, 0.18603479f, 0.18531628f, 0.18459330f, 0.18386586f, 0.18313400f, 0.18239773f, 0.18165706f, 0.18091202f, 0.18016261f, 0.17940887f, 0.17865080f, 0.17788842f, 0.17712176f, 0.17635084f, 0.17557566f, 0.17479625f, 0.17401263f, 0.17322482f, 0.17243283f, 0.17163669f, 0.17083642f, 0.17003202f, 0.16922353f, 0.16841096f, 0.16759434f, 0.16677367f, 0.16594899f, 0.16512031f, 0.16428765f, 0.16345103f, 0.16261047f, 0.16176600f, 0.16091763f, 0.16006537f, 0.15920927f, 0.15834932f, 0.15748556f, 0.15661801f, 0.15574668f, 0.15487160f, 0.15399279f, 0.15311027f, 0.15222405f, 0.15133417f, 0.15044065f, 0.14954350f, 0.14864274f, 0.14773840f, 0.14683051f, 0.14591907f, 0.14500412f, 0.14408568f, 0.14316376f, 0.14223840f, 0.14130960f, 0.14037740f, 0.13944182f, 0.13850288f, 0.13756060f, 0.13661501f, 0.13566613f, 0.13471397f, 0.13375858f, 0.13279995f, 0.13183813f, 0.13087313f, 0.12990498f, 0.12893370f, 0.12795931f, 0.12698183f, 0.12600130f, 0.12501773f, 0.12403115f, 0.12304158f, 0.12204905f, 0.12105357f, 0.12005518f, 0.11905390f, 0.11804974f, 0.11704275f, 0.11603293f, 0.11502031f, 0.11400493f, 0.11298680f, 0.11196594f, 0.11094239f, 0.10991616f, 0.10888729f, 0.10785579f, 0.10682169f, 0.10578502f, 0.10474580f, 0.10370406f, 0.10265981f, 0.10161310f, 0.10056393f, 0.09951234f, 0.09845836f, 0.09740200f, 0.09634329f, 0.09528227f, 0.09421894f, 0.09315335f, 0.09208551f, 0.09101546f, 0.08994321f, 0.08886879f, 0.08779223f, 0.08671356f, 0.08563280f, 0.08454997f, 0.08346511f, 0.08237823f, 0.08128937f, 0.08019855f, 0.07910580f, 0.07801115f, 0.07691461f, 0.07581622f, 0.07471600f, 0.07361399f, 0.07251019f, 0.07140466f, 0.07029740f, 0.06918844f, 0.06807783f, 0.06696557f, 0.06585169f, 0.06473623f, 0.06361921f, 0.06250066f, 0.06138060f, 0.06025906f, 0.05913607f, 0.05801166f, 0.05688584f, 0.05575866f, 0.05463013f, 0.05350029f, 0.05236916f, 0.05123676f, 0.05010313f, 0.04896830f, 0.04783228f, 0.04669511f, 0.04555682f, 0.04441742f, 0.04327696f, 0.04213546f, 0.04099294f, 0.03984943f, 0.03870496f, 0.03755956f, 0.03641326f, 0.03526607f, 0.03411804f, 0.03296919f, 0.03181954f, 0.03066912f, 0.02951797f, 0.02836610f, 0.02721355f, 0.02606034f, 0.02490651f, 0.02375208f, 0.02259707f, 0.02144152f, 0.02028545f, 0.01912890f, 0.01797188f, 0.01681443f, 0.01565658f, 0.01449834f, 0.01333976f, 0.01218086f, 0.01102166f, 0.00986220f, 0.00870250f, 0.00754259f, 0.00638250f, 0.00522226f, 0.00406188f, 0.00290142f, 0.00174088f, 0.00058030f }; const float edct_table_480[480] = { 0.21364290f, 0.21364061f, 0.21363603f, 0.21362917f, 0.21362002f, 0.21360858f, 0.21359485f, 0.21357884f, 0.21356053f, 0.21353995f, 0.21351707f, 0.21349191f, 0.21346446f, 0.21343473f, 0.21340271f, 0.21336840f, 0.21333181f, 0.21329294f, 0.21325178f, 0.21320833f, 0.21316261f, 0.21311460f, 0.21306431f, 0.21301173f, 0.21295688f, 0.21289974f, 0.21284033f, 0.21277863f, 0.21271466f, 0.21264841f, 0.21257988f, 0.21250908f, 0.21243600f, 0.21236064f, 0.21228301f, 0.21220311f, 0.21212093f, 0.21203649f, 0.21194977f, 0.21186078f, 0.21176952f, 0.21167600f, 0.21158021f, 0.21148215f, 0.21138183f, 0.21127924f, 0.21117439f, 0.21106728f, 0.21095791f, 0.21084628f, 0.21073239f, 0.21061625f, 0.21049785f, 0.21037720f, 0.21025429f, 0.21012913f, 0.21000172f, 0.20987206f, 0.20974016f, 0.20960601f, 0.20946961f, 0.20933097f, 0.20919009f, 0.20904697f, 0.20890161f, 0.20875401f, 0.20860417f, 0.20845211f, 0.20829781f, 0.20814128f, 0.20798252f, 0.20782153f, 0.20765832f, 0.20749288f, 0.20732522f, 0.20715535f, 0.20698325f, 0.20680894f, 0.20663241f, 0.20645367f, 0.20627271f, 0.20608955f, 0.20590418f, 0.20571661f, 0.20552684f, 0.20533486f, 0.20514068f, 0.20494431f, 0.20474574f, 0.20454498f, 0.20434203f, 0.20413689f, 0.20392956f, 0.20372005f, 0.20350836f, 0.20329449f, 0.20307844f, 0.20286022f, 0.20263983f, 0.20241726f, 0.20219253f, 0.20196563f, 0.20173657f, 0.20150535f, 0.20127197f, 0.20103643f, 0.20079874f, 0.20055891f, 0.20031692f, 0.20007279f, 0.19982652f, 0.19957810f, 0.19932755f, 0.19907486f, 0.19882005f, 0.19856310f, 0.19830403f, 0.19804283f, 0.19777951f, 0.19751407f, 0.19724652f, 0.19697686f, 0.19670509f, 0.19643121f, 0.19615522f, 0.19587714f, 0.19559696f, 0.19531468f, 0.19503031f, 0.19474386f, 0.19445531f, 0.19416469f, 0.19387199f, 0.19357720f, 0.19328035f, 0.19298143f, 0.19268044f, 0.19237739f, 0.19207227f, 0.19176510f, 0.19145588f, 0.19114460f, 0.19083128f, 0.19051592f, 0.19019851f, 0.18987907f, 0.18955759f, 0.18923409f, 0.18890856f, 0.18858100f, 0.18825143f, 0.18791983f, 0.18758623f, 0.18725062f, 0.18691300f, 0.18657338f, 0.18623176f, 0.18588815f, 0.18554255f, 0.18519496f, 0.18484539f, 0.18449384f, 0.18414031f, 0.18378481f, 0.18342734f, 0.18306791f, 0.18270651f, 0.18234316f, 0.18197786f, 0.18161061f, 0.18124141f, 0.18087028f, 0.18049720f, 0.18012220f, 0.17974526f, 0.17936640f, 0.17898562f, 0.17860292f, 0.17821831f, 0.17783179f, 0.17744336f, 0.17705304f, 0.17666082f, 0.17626671f, 0.17587071f, 0.17547282f, 0.17507306f, 0.17467142f, 0.17426791f, 0.17386254f, 0.17345530f, 0.17304621f, 0.17263526f, 0.17222246f, 0.17180782f, 0.17139134f, 0.17097303f, 0.17055288f, 0.17013091f, 0.16970711f, 0.16928150f, 0.16885407f, 0.16842484f, 0.16799380f, 0.16756096f, 0.16712633f, 0.16668991f, 0.16625171f, 0.16581172f, 0.16536996f, 0.16492642f, 0.16448113f, 0.16403406f, 0.16358525f, 0.16313468f, 0.16268236f, 0.16222830f, 0.16177251f, 0.16131498f, 0.16085572f, 0.16039474f, 0.15993205f, 0.15946764f, 0.15900152f, 0.15853370f, 0.15806419f, 0.15759298f, 0.15712008f, 0.15664550f, 0.15616924f, 0.15569131f, 0.15521171f, 0.15473045f, 0.15424753f, 0.15376297f, 0.15327675f, 0.15278889f, 0.15229940f, 0.15180828f, 0.15131553f, 0.15082115f, 0.15032517f, 0.14982757f, 0.14932837f, 0.14882757f, 0.14832518f, 0.14782120f, 0.14731564f, 0.14680849f, 0.14629978f, 0.14578950f, 0.14527766f, 0.14476426f, 0.14424931f, 0.14373282f, 0.14321478f, 0.14269522f, 0.14217412f, 0.14165151f, 0.14112737f, 0.14060173f, 0.14007458f, 0.13954592f, 0.13901578f, 0.13848414f, 0.13795103f, 0.13741643f, 0.13688037f, 0.13634283f, 0.13580384f, 0.13526339f, 0.13472150f, 0.13417816f, 0.13363339f, 0.13308718f, 0.13253955f, 0.13199050f, 0.13144003f, 0.13088816f, 0.13033489f, 0.12978022f, 0.12922416f, 0.12866672f, 0.12810790f, 0.12754770f, 0.12698614f, 0.12642323f, 0.12585895f, 0.12529333f, 0.12472637f, 0.12415807f, 0.12358845f, 0.12301749f, 0.12244523f, 0.12187165f, 0.12129676f, 0.12072058f, 0.12014310f, 0.11956434f, 0.11898429f, 0.11840297f, 0.11782039f, 0.11723654f, 0.11665144f, 0.11606508f, 0.11547749f, 0.11488866f, 0.11429859f, 0.11370731f, 0.11311480f, 0.11252109f, 0.11192617f, 0.11133005f, 0.11073273f, 0.11013424f, 0.10953456f, 0.10893371f, 0.10833169f, 0.10772852f, 0.10712419f, 0.10651871f, 0.10591209f, 0.10530434f, 0.10469546f, 0.10408546f, 0.10347434f, 0.10286212f, 0.10224879f, 0.10163437f, 0.10101886f, 0.10040227f, 0.09978460f, 0.09916587f, 0.09854607f, 0.09792522f, 0.09730332f, 0.09668037f, 0.09605639f, 0.09543139f, 0.09480536f, 0.09417831f, 0.09355026f, 0.09292121f, 0.09229116f, 0.09166012f, 0.09102810f, 0.09039510f, 0.08976114f, 0.08912622f, 0.08849034f, 0.08785351f, 0.08721574f, 0.08657704f, 0.08593742f, 0.08529687f, 0.08465540f, 0.08401304f, 0.08336977f, 0.08272561f, 0.08208056f, 0.08143463f, 0.08078784f, 0.08014017f, 0.07949165f, 0.07884228f, 0.07819206f, 0.07754101f, 0.07688912f, 0.07623641f, 0.07558289f, 0.07492855f, 0.07427342f, 0.07361748f, 0.07296076f, 0.07230326f, 0.07164499f, 0.07098594f, 0.07032614f, 0.06966558f, 0.06900428f, 0.06834224f, 0.06767946f, 0.06701596f, 0.06635175f, 0.06568682f, 0.06502119f, 0.06435487f, 0.06368785f, 0.06302015f, 0.06235178f, 0.06168274f, 0.06101304f, 0.06034268f, 0.05967168f, 0.05900004f, 0.05832777f, 0.05765488f, 0.05698136f, 0.05630724f, 0.05563251f, 0.05495719f, 0.05428128f, 0.05360479f, 0.05292772f, 0.05225009f, 0.05157189f, 0.05089315f, 0.05021386f, 0.04953403f, 0.04885367f, 0.04817279f, 0.04749139f, 0.04680949f, 0.04612708f, 0.04544418f, 0.04476079f, 0.04407692f, 0.04339258f, 0.04270778f, 0.04202252f, 0.04133681f, 0.04065065f, 0.03996406f, 0.03927704f, 0.03858961f, 0.03790175f, 0.03721350f, 0.03652484f, 0.03583579f, 0.03514636f, 0.03445656f, 0.03376638f, 0.03307584f, 0.03238495f, 0.03169371f, 0.03100213f, 0.03031022f, 0.02961799f, 0.02892544f, 0.02823258f, 0.02753941f, 0.02684595f, 0.02615221f, 0.02545818f, 0.02476388f, 0.02406932f, 0.02337449f, 0.02267942f, 0.02198411f, 0.02128856f, 0.02059278f, 0.01989678f, 0.01920056f, 0.01850415f, 0.01780753f, 0.01711072f, 0.01641373f, 0.01571657f, 0.01501923f, 0.01432174f, 0.01362409f, 0.01292630f, 0.01222836f, 0.01153030f, 0.01083211f, 0.01013381f, 0.00943540f, 0.00873688f, 0.00803828f, 0.00733959f, 0.00664081f, 0.00594197f, 0.00524307f, 0.00454410f, 0.00384509f, 0.00314604f, 0.00244696f, 0.00174784f, 0.00104871f, 0.00034957f }; const float edct_table_128[128] = { 0.29728989f, 0.29724512f, 0.29715558f, 0.29702130f, 0.29684228f, 0.29661856f, 0.29635017f, 0.29603715f, 0.29567955f, 0.29527743f, 0.29483083f, 0.29433983f, 0.29380451f, 0.29322494f, 0.29260121f, 0.29193342f, 0.29122167f, 0.29046605f, 0.28966670f, 0.28882372f, 0.28793724f, 0.28700741f, 0.28603435f, 0.28501821f, 0.28395915f, 0.28285733f, 0.28171292f, 0.28052607f, 0.27929698f, 0.27802583f, 0.27671281f, 0.27535812f, 0.27396196f, 0.27252454f, 0.27104609f, 0.26952681f, 0.26796694f, 0.26636672f, 0.26472638f, 0.26304618f, 0.26132636f, 0.25956719f, 0.25776893f, 0.25593185f, 0.25405623f, 0.25214235f, 0.25019049f, 0.24820096f, 0.24617405f, 0.24411007f, 0.24200932f, 0.23987213f, 0.23769882f, 0.23548971f, 0.23324513f, 0.23096543f, 0.22865095f, 0.22630203f, 0.22391903f, 0.22150231f, 0.21905224f, 0.21656917f, 0.21405349f, 0.21150558f, 0.20892581f, 0.20631458f, 0.20367228f, 0.20099931f, 0.19829606f, 0.19556296f, 0.19280040f, 0.19000881f, 0.18718860f, 0.18434021f, 0.18146405f, 0.17856057f, 0.17563019f, 0.17267337f, 0.16969054f, 0.16668215f, 0.16364867f, 0.16059054f, 0.15750822f, 0.15440219f, 0.15127290f, 0.14812083f, 0.14494646f, 0.14175026f, 0.13853271f, 0.13529429f, 0.13203551f, 0.12875684f, 0.12545877f, 0.12214182f, 0.11880647f, 0.11545323f, 0.11208260f, 0.10869509f, 0.10529122f, 0.10187148f, 0.09843641f, 0.09498651f, 0.09152231f, 0.08804432f, 0.08455308f, 0.08104910f, 0.07753291f, 0.07400505f, 0.07046605f, 0.06691643f, 0.06335674f, 0.05978750f, 0.05620926f, 0.05262256f, 0.04902793f, 0.04542591f, 0.04181706f, 0.03820191f, 0.03458100f, 0.03095489f, 0.02732412f, 0.02368923f, 0.02005077f, 0.01640930f, 0.01276535f, 0.00911948f, 0.00547224f, 0.00182417f }; const float edct_table_160[160] = { 0.28116346f, 0.28113637f, 0.28108217f, 0.28100088f, 0.28089251f, 0.28075707f, 0.28059457f, 0.28040502f, 0.28018844f, 0.27994487f, 0.27967431f, 0.27937679f, 0.27905235f, 0.27870101f, 0.27832281f, 0.27791778f, 0.27748597f, 0.27702741f, 0.27654216f, 0.27603024f, 0.27549173f, 0.27492666f, 0.27433510f, 0.27371709f, 0.27307270f, 0.27240199f, 0.27170503f, 0.27098188f, 0.27023261f, 0.26945730f, 0.26865602f, 0.26782884f, 0.26697585f, 0.26609713f, 0.26519276f, 0.26426283f, 0.26330743f, 0.26232665f, 0.26132059f, 0.26028934f, 0.25923300f, 0.25815168f, 0.25704548f, 0.25591450f, 0.25475886f, 0.25357866f, 0.25237403f, 0.25114506f, 0.24989190f, 0.24861465f, 0.24731343f, 0.24598838f, 0.24463962f, 0.24326728f, 0.24187150f, 0.24045240f, 0.23901013f, 0.23754482f, 0.23605661f, 0.23454566f, 0.23301210f, 0.23145608f, 0.22987775f, 0.22827726f, 0.22665478f, 0.22501045f, 0.22334443f, 0.22165688f, 0.21994797f, 0.21821787f, 0.21646673f, 0.21469472f, 0.21290203f, 0.21108881f, 0.20925525f, 0.20740152f, 0.20552780f, 0.20363427f, 0.20172112f, 0.19978852f, 0.19783667f, 0.19586574f, 0.19387594f, 0.19186746f, 0.18984048f, 0.18779520f, 0.18573183f, 0.18365055f, 0.18155157f, 0.17943510f, 0.17730133f, 0.17515047f, 0.17298273f, 0.17079832f, 0.16859744f, 0.16638032f, 0.16414716f, 0.16189818f, 0.15963359f, 0.15735362f, 0.15505848f, 0.15274840f, 0.15042360f, 0.14808429f, 0.14573072f, 0.14336310f, 0.14098166f, 0.13858663f, 0.13617825f, 0.13375674f, 0.13132234f, 0.12887528f, 0.12641580f, 0.12394414f, 0.12146053f, 0.11896521f, 0.11645843f, 0.11394042f, 0.11141144f, 0.10887171f, 0.10632149f, 0.10376102f, 0.10119055f, 0.09861033f, 0.09602061f, 0.09342163f, 0.09081364f, 0.08819691f, 0.08557167f, 0.08293818f, 0.08029671f, 0.07764749f, 0.07499079f, 0.07232686f, 0.06965596f, 0.06697834f, 0.06429427f, 0.06160401f, 0.05890780f, 0.05620592f, 0.05349862f, 0.05078617f, 0.04806882f, 0.04534683f, 0.04262048f, 0.03989002f, 0.03715571f, 0.03441782f, 0.03167662f, 0.02893236f, 0.02618532f, 0.02343575f, 0.02068392f, 0.01793009f, 0.01517454f, 0.01241753f, 0.00965932f, 0.00690018f, 0.00414037f, 0.00138017f }; const float edct_table_40[40] = { 0.39747255f, 0.39685967f, 0.39563487f, 0.39380003f, 0.39135797f, 0.38831247f, 0.38466823f, 0.38043085f, 0.37560687f, 0.37020373f, 0.36422977f, 0.35769419f, 0.35060707f, 0.34297935f, 0.33482277f, 0.32614992f, 0.31697417f, 0.30730967f, 0.29717132f, 0.28657476f, 0.27553631f, 0.26407301f, 0.25220253f, 0.23994317f, 0.22731383f, 0.21433400f, 0.20102367f, 0.18740339f, 0.17349414f, 0.15931737f, 0.14489495f, 0.13024911f, 0.11540244f, 0.10037782f, 0.08519843f, 0.06988767f, 0.05446914f, 0.03896663f, 0.02340404f, 0.00780536f }; const float edct_table_20[20] = { 0.47209725f, 0.46918661f, 0.46338329f, 0.45472305f, 0.44325929f, 0.42906269f, 0.41222077f, 0.39283738f, 0.37103202f, 0.34693912f, 0.32070722f, 0.29249806f, 0.26248555f, 0.23085473f, 0.19780061f, 0.16352698f, 0.12824516f, 0.09217267f, 0.05553190f, 0.01854875f }; const float edct_table_10[10] = { 0.55867933f, 0.54492279f, 0.51774844f, 0.47782541f, 0.42613673f, 0.36395515f, 0.29281179f, 0.21445843f, 0.13082439f, 0.04396902f }; const float edct_table_16[16] = { 0.49872314f, 0.49392016f, 0.48436046f, 0.47013611f, 0.45138409f, 0.42828499f, 0.40106128f, 0.36997512f, 0.33532590f, 0.29744731f, 0.25670414f, 0.21348877f, 0.16821739f, 0.12132598f, 0.07326613f, 0.02450070f }; const float edct_table_32[32] = { 0.42017927f, 0.41916702f, 0.41714497f, 0.41411797f, 0.41009332f, 0.40508073f, 0.39909226f, 0.39214234f, 0.38424772f, 0.37542741f, 0.36570266f, 0.35509691f, 0.34363569f, 0.33134662f, 0.31825932f, 0.30440529f, 0.28981793f, 0.27453237f, 0.25858544f, 0.24201556f, 0.22486264f, 0.20716800f, 0.18897428f, 0.17032530f, 0.15126599f, 0.13184227f, 0.11210094f, 0.09208954f, 0.07185628f, 0.05144992f, 0.03091962f, 0.01031482f }; const float edct_table_60[60] = { 0.35923871f, 0.35899251f, 0.35850027f, 0.35776233f, 0.35677920f, 0.35555155f, 0.35408023f, 0.35236623f, 0.35041074f, 0.34821510f, 0.34578081f, 0.34310953f, 0.34020311f, 0.33706353f, 0.33369294f, 0.33009365f, 0.32626814f, 0.32221902f, 0.31794906f, 0.31346120f, 0.30875851f, 0.30384421f, 0.29872167f, 0.29339440f, 0.28786605f, 0.28214042f, 0.27622142f, 0.27011311f, 0.26381968f, 0.25734544f, 0.25069483f, 0.24387240f, 0.23688284f, 0.22973093f, 0.22242157f, 0.21495978f, 0.20735066f, 0.19959944f, 0.19171142f, 0.18369201f, 0.17554671f, 0.16728109f, 0.15890083f, 0.15041167f, 0.14181943f, 0.13312998f, 0.12434930f, 0.11548339f, 0.10653834f, 0.09752027f, 0.08843537f, 0.07928986f, 0.07009000f, 0.06084211f, 0.05155252f, 0.04222760f, 0.03287374f, 0.02349735f, 0.01410485f, 0.00470269f }; const float edct_table_64[64] = { 0.35349683f, 0.35328389f, 0.35285816f, 0.35221987f, 0.35136942f, 0.35030732f, 0.34903420f, 0.34755084f, 0.34585813f, 0.34395709f, 0.34184886f, 0.33953471f, 0.33701604f, 0.33429436f, 0.33137132f, 0.32824867f, 0.32492830f, 0.32141220f, 0.31770249f, 0.31380142f, 0.30971132f, 0.30543466f, 0.30097402f, 0.29633209f, 0.29151165f, 0.28651562f, 0.28134701f, 0.27600892f, 0.27050457f, 0.26483728f, 0.25901046f, 0.25302763f, 0.24689238f, 0.24060841f, 0.23417951f, 0.22760955f, 0.22090248f, 0.21406235f, 0.20709328f, 0.19999946f, 0.19278517f, 0.18545475f, 0.17801263f, 0.17046327f, 0.16281123f, 0.15506112f, 0.14721761f, 0.13928542f, 0.13126933f, 0.12317417f, 0.11500482f, 0.10676618f, 0.09846324f, 0.09010099f, 0.08168446f, 0.07321873f, 0.06470889f, 0.05616008f, 0.04757744f, 0.03896613f, 0.03033136f, 0.02167832f, 0.01301222f, 0.00433828f }; const float edct_table_100[100] = { 0.31620704f, 0.31612902f, 0.31597300f, 0.31573902f, 0.31542714f, 0.31503742f, 0.31456998f, 0.31402492f, 0.31340238f, 0.31270252f, 0.31192550f, 0.31107151f, 0.31014078f, 0.30913352f, 0.30804998f, 0.30689044f, 0.30565518f, 0.30434451f, 0.30295874f, 0.30149822f, 0.29996331f, 0.29835439f, 0.29667186f, 0.29491612f, 0.29308762f, 0.29118680f, 0.28921414f, 0.28717012f, 0.28505525f, 0.28287004f, 0.28061503f, 0.27829079f, 0.27589789f, 0.27343691f, 0.27090847f, 0.26831318f, 0.26565169f, 0.26292465f, 0.26013275f, 0.25727665f, 0.25435708f, 0.25137475f, 0.24833040f, 0.24522478f, 0.24205865f, 0.23883279f, 0.23554801f, 0.23220511f, 0.22880491f, 0.22534827f, 0.22183602f, 0.21826903f, 0.21464819f, 0.21097439f, 0.20724854f, 0.20347155f, 0.19964436f, 0.19576790f, 0.19184315f, 0.18787106f, 0.18385261f, 0.17978880f, 0.17568064f, 0.17152912f, 0.16733529f, 0.16310016f, 0.15882480f, 0.15451024f, 0.15015756f, 0.14576784f, 0.14134215f, 0.13688158f, 0.13238724f, 0.12786023f, 0.12330168f, 0.11871271f, 0.11409444f, 0.10944803f, 0.10477460f, 0.10007533f, 0.09535137f, 0.09060388f, 0.08583403f, 0.08104300f, 0.07623198f, 0.07140215f, 0.06655470f, 0.06169084f, 0.05681175f, 0.05191864f, 0.04701272f, 0.04209520f, 0.03716730f, 0.03223022f, 0.02728520f, 0.02233344f, 0.01737617f, 0.01241461f, 0.00744999f, 0.00248354f }; const float edct_table_192[192] = { 0.26863771f, 0.26861973f, 0.26858377f, 0.26852983f, 0.26845792f, 0.26836804f, 0.26826020f, 0.26813441f, 0.26799066f, 0.26782898f, 0.26764938f, 0.26745186f, 0.26723643f, 0.26700313f, 0.26675195f, 0.26648291f, 0.26619604f, 0.26589135f, 0.26556887f, 0.26522861f, 0.26487060f, 0.26449486f, 0.26410142f, 0.26369030f, 0.26326153f, 0.26281514f, 0.26235116f, 0.26186961f, 0.26137055f, 0.26085398f, 0.26031996f, 0.25976852f, 0.25919968f, 0.25861350f, 0.25801001f, 0.25738925f, 0.25675127f, 0.25609609f, 0.25542378f, 0.25473437f, 0.25402791f, 0.25330445f, 0.25256403f, 0.25180671f, 0.25103254f, 0.25024156f, 0.24943383f, 0.24860941f, 0.24776835f, 0.24691071f, 0.24603653f, 0.24514589f, 0.24423885f, 0.24331545f, 0.24237577f, 0.24141987f, 0.24044781f, 0.23945965f, 0.23845547f, 0.23743533f, 0.23639929f, 0.23534743f, 0.23427982f, 0.23319653f, 0.23209763f, 0.23098320f, 0.22985330f, 0.22870802f, 0.22754743f, 0.22637162f, 0.22518065f, 0.22397461f, 0.22275358f, 0.22151763f, 0.22026687f, 0.21900136f, 0.21772119f, 0.21642644f, 0.21511722f, 0.21379359f, 0.21245566f, 0.21110350f, 0.20973722f, 0.20835689f, 0.20696262f, 0.20555450f, 0.20413262f, 0.20269708f, 0.20124797f, 0.19978539f, 0.19830944f, 0.19682021f, 0.19531781f, 0.19380234f, 0.19227390f, 0.19073259f, 0.18917851f, 0.18761177f, 0.18603247f, 0.18444072f, 0.18283662f, 0.18122029f, 0.17959183f, 0.17795135f, 0.17629895f, 0.17463476f, 0.17295888f, 0.17127142f, 0.16957250f, 0.16786223f, 0.16614072f, 0.16440809f, 0.16266446f, 0.16090994f, 0.15914465f, 0.15736871f, 0.15558224f, 0.15378535f, 0.15197817f, 0.15016082f, 0.14833341f, 0.14649608f, 0.14464894f, 0.14279213f, 0.14092575f, 0.13904994f, 0.13716483f, 0.13527053f, 0.13336718f, 0.13145490f, 0.12953383f, 0.12760408f, 0.12566580f, 0.12371910f, 0.12176412f, 0.11980099f, 0.11782985f, 0.11585081f, 0.11386403f, 0.11186962f, 0.10986772f, 0.10785847f, 0.10584200f, 0.10381845f, 0.10178795f, 0.09975063f, 0.09770664f, 0.09565611f, 0.09359918f, 0.09153598f, 0.08946666f, 0.08739134f, 0.08531018f, 0.08322331f, 0.08113087f, 0.07903299f, 0.07692983f, 0.07482152f, 0.07270820f, 0.07059001f, 0.06846710f, 0.06633961f, 0.06420767f, 0.06207144f, 0.05993105f, 0.05778666f, 0.05563839f, 0.05348640f, 0.05133083f, 0.04917183f, 0.04700953f, 0.04484409f, 0.04267564f, 0.04050434f, 0.03833033f, 0.03615376f, 0.03397476f, 0.03179349f, 0.02961009f, 0.02742471f, 0.02523749f, 0.02304859f, 0.02085814f, 0.01866629f, 0.01647320f, 0.01427900f, 0.01208385f, 0.00988789f, 0.00769127f, 0.00549413f, 0.00329663f, 0.00109890f }; const float edct_table_200[200] = { 0.26591044f, 0.26589403f, 0.26586123f, 0.26581203f, 0.26574643f, 0.26566443f, 0.26556605f, 0.26545129f, 0.26532015f, 0.26517265f, 0.26500879f, 0.26482859f, 0.26463205f, 0.26441918f, 0.26419000f, 0.26394453f, 0.26368278f, 0.26340476f, 0.26311049f, 0.26279999f, 0.26247328f, 0.26213038f, 0.26177132f, 0.26139610f, 0.26100476f, 0.26059732f, 0.26017381f, 0.25973424f, 0.25927866f, 0.25880708f, 0.25831954f, 0.25781606f, 0.25729668f, 0.25676143f, 0.25621034f, 0.25564344f, 0.25506078f, 0.25446238f, 0.25384829f, 0.25321854f, 0.25257317f, 0.25191222f, 0.25123573f, 0.25054374f, 0.24983629f, 0.24911344f, 0.24837522f, 0.24762168f, 0.24685286f, 0.24606882f, 0.24526960f, 0.24445525f, 0.24362582f, 0.24278136f, 0.24192193f, 0.24104757f, 0.24015834f, 0.23925430f, 0.23833551f, 0.23740201f, 0.23645386f, 0.23549113f, 0.23451388f, 0.23352215f, 0.23251603f, 0.23149556f, 0.23046081f, 0.22941185f, 0.22834873f, 0.22727153f, 0.22618031f, 0.22507514f, 0.22395608f, 0.22282321f, 0.22167659f, 0.22051630f, 0.21934241f, 0.21815499f, 0.21695411f, 0.21573985f, 0.21451228f, 0.21327148f, 0.21201752f, 0.21075048f, 0.20947045f, 0.20817749f, 0.20687169f, 0.20555313f, 0.20422189f, 0.20287806f, 0.20152171f, 0.20015293f, 0.19877180f, 0.19737841f, 0.19597285f, 0.19455519f, 0.19312554f, 0.19168397f, 0.19023058f, 0.18876546f, 0.18728869f, 0.18580037f, 0.18430058f, 0.18278943f, 0.18126701f, 0.17973340f, 0.17818870f, 0.17663302f, 0.17506644f, 0.17348906f, 0.17190097f, 0.17030229f, 0.16869310f, 0.16707350f, 0.16544360f, 0.16380349f, 0.16215328f, 0.16049306f, 0.15882295f, 0.15714304f, 0.15545343f, 0.15375424f, 0.15204556f, 0.15032750f, 0.14860017f, 0.14686367f, 0.14511812f, 0.14336361f, 0.14160026f, 0.13982818f, 0.13804747f, 0.13625824f, 0.13446061f, 0.13265468f, 0.13084058f, 0.12901840f, 0.12718826f, 0.12535028f, 0.12350456f, 0.12165123f, 0.11979039f, 0.11792217f, 0.11604667f, 0.11416401f, 0.11227431f, 0.11037768f, 0.10847425f, 0.10656412f, 0.10464742f, 0.10272426f, 0.10079477f, 0.09885906f, 0.09691726f, 0.09496947f, 0.09301583f, 0.09105645f, 0.08909145f, 0.08712096f, 0.08514509f, 0.08316397f, 0.08117772f, 0.07918646f, 0.07719032f, 0.07518942f, 0.07318388f, 0.07117382f, 0.06915937f, 0.06714066f, 0.06511781f, 0.06309094f, 0.06106018f, 0.05902565f, 0.05698748f, 0.05494580f, 0.05290072f, 0.05085238f, 0.04880091f, 0.04674643f, 0.04468906f, 0.04262893f, 0.04056618f, 0.03850092f, 0.03643329f, 0.03436341f, 0.03229142f, 0.03021743f, 0.02814157f, 0.02606398f, 0.02398478f, 0.02190411f, 0.01982208f, 0.01773883f, 0.01565448f, 0.01356917f, 0.01148302f, 0.00939617f, 0.00730873f, 0.00522084f, 0.00313264f, 0.00104423f }; const float edct_table_240[240] = { 0.25406349f, 0.25405260f, 0.25403084f, 0.25399819f, 0.25395466f, 0.25390025f, 0.25383497f, 0.25375881f, 0.25367179f, 0.25357389f, 0.25346514f, 0.25334553f, 0.25321506f, 0.25307375f, 0.25292160f, 0.25275861f, 0.25258479f, 0.25240016f, 0.25220471f, 0.25199846f, 0.25178142f, 0.25155358f, 0.25131498f, 0.25106561f, 0.25080548f, 0.25053461f, 0.25025301f, 0.24996068f, 0.24965766f, 0.24934393f, 0.24901953f, 0.24868445f, 0.24833873f, 0.24798236f, 0.24761538f, 0.24723778f, 0.24684960f, 0.24645084f, 0.24604153f, 0.24562167f, 0.24519129f, 0.24475042f, 0.24429905f, 0.24383722f, 0.24336495f, 0.24288225f, 0.24238915f, 0.24188566f, 0.24137181f, 0.24084762f, 0.24031312f, 0.23976832f, 0.23921325f, 0.23864793f, 0.23807239f, 0.23748665f, 0.23689074f, 0.23628468f, 0.23566850f, 0.23504223f, 0.23440588f, 0.23375950f, 0.23310310f, 0.23243671f, 0.23176037f, 0.23107410f, 0.23037794f, 0.22967190f, 0.22895603f, 0.22823035f, 0.22749489f, 0.22674968f, 0.22599477f, 0.22523017f, 0.22445592f, 0.22367206f, 0.22287862f, 0.22207563f, 0.22126313f, 0.22044115f, 0.21960972f, 0.21876889f, 0.21791869f, 0.21705915f, 0.21619032f, 0.21531222f, 0.21442490f, 0.21352839f, 0.21262274f, 0.21170798f, 0.21078415f, 0.20985130f, 0.20890945f, 0.20795865f, 0.20699895f, 0.20603038f, 0.20505298f, 0.20406680f, 0.20307188f, 0.20206825f, 0.20105598f, 0.20003509f, 0.19900563f, 0.19796764f, 0.19692118f, 0.19586628f, 0.19480299f, 0.19373136f, 0.19265142f, 0.19156324f, 0.19046685f, 0.18936230f, 0.18824963f, 0.18712891f, 0.18600017f, 0.18486346f, 0.18371883f, 0.18256633f, 0.18140601f, 0.18023792f, 0.17906211f, 0.17787863f, 0.17668753f, 0.17548886f, 0.17428267f, 0.17306902f, 0.17184795f, 0.17061952f, 0.16938379f, 0.16814079f, 0.16689060f, 0.16563326f, 0.16436882f, 0.16309734f, 0.16181887f, 0.16053347f, 0.15924120f, 0.15794210f, 0.15663624f, 0.15532366f, 0.15400444f, 0.15267862f, 0.15134625f, 0.15000741f, 0.14866213f, 0.14731049f, 0.14595254f, 0.14458834f, 0.14321795f, 0.14184141f, 0.14045881f, 0.13907018f, 0.13767560f, 0.13627512f, 0.13486881f, 0.13345671f, 0.13203890f, 0.13061544f, 0.12918637f, 0.12775178f, 0.12631171f, 0.12486623f, 0.12341540f, 0.12195929f, 0.12049795f, 0.11903145f, 0.11755985f, 0.11608321f, 0.11460161f, 0.11311509f, 0.11162373f, 0.11012758f, 0.10862672f, 0.10712120f, 0.10561110f, 0.10409647f, 0.10257739f, 0.10105391f, 0.09952610f, 0.09799402f, 0.09645775f, 0.09491735f, 0.09337288f, 0.09182441f, 0.09027201f, 0.08871574f, 0.08715567f, 0.08559187f, 0.08402440f, 0.08245333f, 0.08087873f, 0.07930067f, 0.07771920f, 0.07613441f, 0.07454636f, 0.07295511f, 0.07136074f, 0.06976332f, 0.06816290f, 0.06655956f, 0.06495338f, 0.06334441f, 0.06173272f, 0.06011839f, 0.05850149f, 0.05688208f, 0.05526024f, 0.05363602f, 0.05200951f, 0.05038078f, 0.04874988f, 0.04711689f, 0.04548189f, 0.04384494f, 0.04220611f, 0.04056547f, 0.03892310f, 0.03727906f, 0.03563342f, 0.03398625f, 0.03233763f, 0.03068762f, 0.02903630f, 0.02738373f, 0.02573000f, 0.02407516f, 0.02241928f, 0.02076245f, 0.01910473f, 0.01744619f, 0.01578690f, 0.01412694f, 0.01246637f, 0.01080527f, 0.00914370f, 0.00748175f, 0.00581947f, 0.00415694f, 0.00249424f, 0.00083142f }; const float edct_table_256[256] = { 0.24999750f, 0.24998809f, 0.24996926f, 0.24994103f, 0.24990338f, 0.24985633f, 0.24979987f, 0.24973400f, 0.24965873f, 0.24957406f, 0.24948000f, 0.24937654f, 0.24926370f, 0.24914147f, 0.24900986f, 0.24886887f, 0.24871852f, 0.24855880f, 0.24838972f, 0.24821129f, 0.24802352f, 0.24782640f, 0.24761996f, 0.24740419f, 0.24717911f, 0.24694473f, 0.24670104f, 0.24644807f, 0.24618582f, 0.24591430f, 0.24563353f, 0.24534350f, 0.24504424f, 0.24473575f, 0.24441805f, 0.24409114f, 0.24375505f, 0.24340977f, 0.24305534f, 0.24269175f, 0.24231903f, 0.24193718f, 0.24154622f, 0.24114617f, 0.24073704f, 0.24031885f, 0.23989161f, 0.23945534f, 0.23901005f, 0.23855576f, 0.23809249f, 0.23762026f, 0.23713908f, 0.23664898f, 0.23614996f, 0.23564205f, 0.23512527f, 0.23459964f, 0.23406518f, 0.23352190f, 0.23296983f, 0.23240899f, 0.23183940f, 0.23126109f, 0.23067406f, 0.23007835f, 0.22947398f, 0.22886097f, 0.22823934f, 0.22760912f, 0.22697033f, 0.22632299f, 0.22566713f, 0.22500278f, 0.22432996f, 0.22364869f, 0.22295900f, 0.22226091f, 0.22155446f, 0.22083967f, 0.22011656f, 0.21938516f, 0.21864551f, 0.21789762f, 0.21714153f, 0.21637726f, 0.21560485f, 0.21482432f, 0.21403570f, 0.21323902f, 0.21243432f, 0.21162161f, 0.21080094f, 0.20997234f, 0.20913582f, 0.20829144f, 0.20743921f, 0.20657917f, 0.20571136f, 0.20483580f, 0.20395252f, 0.20306157f, 0.20216298f, 0.20125677f, 0.20034298f, 0.19942165f, 0.19849282f, 0.19755651f, 0.19661276f, 0.19566161f, 0.19470310f, 0.19373725f, 0.19276411f, 0.19178371f, 0.19079609f, 0.18980129f, 0.18879934f, 0.18779029f, 0.18677416f, 0.18575100f, 0.18472085f, 0.18368375f, 0.18263973f, 0.18158883f, 0.18053109f, 0.17946656f, 0.17839527f, 0.17731727f, 0.17623259f, 0.17514127f, 0.17404336f, 0.17293890f, 0.17182793f, 0.17071048f, 0.16958661f, 0.16845636f, 0.16731976f, 0.16617686f, 0.16502771f, 0.16387235f, 0.16271081f, 0.16154315f, 0.16036940f, 0.15918962f, 0.15800385f, 0.15681212f, 0.15561450f, 0.15441101f, 0.15320171f, 0.15198664f, 0.15076585f, 0.14953939f, 0.14830729f, 0.14706961f, 0.14582639f, 0.14457768f, 0.14332353f, 0.14206399f, 0.14079909f, 0.13952889f, 0.13825344f, 0.13697279f, 0.13568698f, 0.13439606f, 0.13310008f, 0.13179909f, 0.13049313f, 0.12918227f, 0.12786654f, 0.12654599f, 0.12522068f, 0.12389066f, 0.12255597f, 0.12121667f, 0.11987280f, 0.11852443f, 0.11717159f, 0.11581433f, 0.11445272f, 0.11308680f, 0.11171662f, 0.11034223f, 0.10896369f, 0.10758105f, 0.10619436f, 0.10480367f, 0.10340903f, 0.10201050f, 0.10060813f, 0.09920197f, 0.09779208f, 0.09637850f, 0.09496130f, 0.09354052f, 0.09211622f, 0.09068845f, 0.08925727f, 0.08782272f, 0.08638487f, 0.08494377f, 0.08349947f, 0.08205203f, 0.08060149f, 0.07914792f, 0.07769138f, 0.07623190f, 0.07476956f, 0.07330440f, 0.07183648f, 0.07036586f, 0.06889259f, 0.06741672f, 0.06593832f, 0.06445743f, 0.06297412f, 0.06148844f, 0.06000044f, 0.05851018f, 0.05701772f, 0.05552311f, 0.05402641f, 0.05252768f, 0.05102697f, 0.04952434f, 0.04801985f, 0.04651354f, 0.04500549f, 0.04349574f, 0.04198435f, 0.04047138f, 0.03895689f, 0.03744094f, 0.03592357f, 0.03440485f, 0.03288483f, 0.03136358f, 0.02984115f, 0.02831759f, 0.02679296f, 0.02526733f, 0.02374075f, 0.02221327f, 0.02068496f, 0.01915586f, 0.01762605f, 0.01609557f, 0.01456449f, 0.01303286f, 0.01150073f, 0.00996818f, 0.00843525f, 0.00690200f, 0.00536849f, 0.00383478f, 0.00230093f, 0.00076699f }; const float edct_table_400[400] = { 0.22360588f, 0.22360243f, 0.22359554f, 0.22358519f, 0.22357140f, 0.22355416f, 0.22353347f, 0.22350934f, 0.22348175f, 0.22345073f, 0.22341625f, 0.22337833f, 0.22333697f, 0.22329216f, 0.22324391f, 0.22319221f, 0.22313708f, 0.22307850f, 0.22301648f, 0.22295103f, 0.22288213f, 0.22280980f, 0.22273403f, 0.22265483f, 0.22257219f, 0.22248612f, 0.22239662f, 0.22230369f, 0.22220734f, 0.22210755f, 0.22200434f, 0.22189771f, 0.22178765f, 0.22167418f, 0.22155728f, 0.22143697f, 0.22131325f, 0.22118611f, 0.22105556f, 0.22092160f, 0.22078424f, 0.22064347f, 0.22049930f, 0.22035172f, 0.22020075f, 0.22004639f, 0.21988863f, 0.21972748f, 0.21956294f, 0.21939501f, 0.21922370f, 0.21904901f, 0.21887095f, 0.21868950f, 0.21850469f, 0.21831650f, 0.21812495f, 0.21793004f, 0.21773176f, 0.21753013f, 0.21732514f, 0.21711680f, 0.21690511f, 0.21669008f, 0.21647170f, 0.21624999f, 0.21602494f, 0.21579656f, 0.21556486f, 0.21532983f, 0.21509147f, 0.21484981f, 0.21460482f, 0.21435653f, 0.21410494f, 0.21385004f, 0.21359184f, 0.21333035f, 0.21306557f, 0.21279750f, 0.21252616f, 0.21225153f, 0.21197363f, 0.21169247f, 0.21140803f, 0.21112034f, 0.21082939f, 0.21053520f, 0.21023775f, 0.20993706f, 0.20963314f, 0.20932598f, 0.20901559f, 0.20870198f, 0.20838516f, 0.20806511f, 0.20774186f, 0.20741541f, 0.20708576f, 0.20675291f, 0.20641688f, 0.20607766f, 0.20573527f, 0.20538970f, 0.20504096f, 0.20468907f, 0.20433401f, 0.20397581f, 0.20361446f, 0.20324997f, 0.20288234f, 0.20251159f, 0.20213771f, 0.20176072f, 0.20138061f, 0.20099740f, 0.20061109f, 0.20022169f, 0.19982920f, 0.19943362f, 0.19903497f, 0.19863326f, 0.19822847f, 0.19782064f, 0.19740975f, 0.19699581f, 0.19657884f, 0.19615884f, 0.19573581f, 0.19530977f, 0.19488071f, 0.19444865f, 0.19401358f, 0.19357553f, 0.19313449f, 0.19269047f, 0.19224348f, 0.19179353f, 0.19134062f, 0.19088476f, 0.19042595f, 0.18996421f, 0.18949954f, 0.18903194f, 0.18856143f, 0.18808802f, 0.18761170f, 0.18713249f, 0.18665039f, 0.18616542f, 0.18567757f, 0.18518686f, 0.18469330f, 0.18419688f, 0.18369763f, 0.18319554f, 0.18269063f, 0.18218290f, 0.18167236f, 0.18115902f, 0.18064289f, 0.18012397f, 0.17960227f, 0.17907781f, 0.17855058f, 0.17802060f, 0.17748787f, 0.17695240f, 0.17641421f, 0.17587330f, 0.17532967f, 0.17478334f, 0.17423432f, 0.17368260f, 0.17312821f, 0.17257115f, 0.17201143f, 0.17144906f, 0.17088404f, 0.17031639f, 0.16974611f, 0.16917321f, 0.16859770f, 0.16801960f, 0.16743890f, 0.16685562f, 0.16626977f, 0.16568135f, 0.16509038f, 0.16449686f, 0.16390080f, 0.16330222f, 0.16270112f, 0.16209751f, 0.16149140f, 0.16088280f, 0.16027172f, 0.15965817f, 0.15904216f, 0.15842369f, 0.15780278f, 0.15717944f, 0.15655367f, 0.15592549f, 0.15529490f, 0.15466192f, 0.15402655f, 0.15338881f, 0.15274870f, 0.15210624f, 0.15146143f, 0.15081429f, 0.15016482f, 0.14951304f, 0.14885894f, 0.14820256f, 0.14754389f, 0.14688294f, 0.14621973f, 0.14555426f, 0.14488655f, 0.14421660f, 0.14354443f, 0.14287005f, 0.14219346f, 0.14151468f, 0.14083372f, 0.14015058f, 0.13946529f, 0.13877784f, 0.13808825f, 0.13739654f, 0.13670270f, 0.13600676f, 0.13530872f, 0.13460859f, 0.13390639f, 0.13320212f, 0.13249580f, 0.13178744f, 0.13107704f, 0.13036462f, 0.12965019f, 0.12893376f, 0.12821535f, 0.12749495f, 0.12677259f, 0.12604828f, 0.12532202f, 0.12459383f, 0.12386371f, 0.12313169f, 0.12239777f, 0.12166196f, 0.12092427f, 0.12018472f, 0.11944332f, 0.11870007f, 0.11795500f, 0.11720810f, 0.11645940f, 0.11570890f, 0.11495662f, 0.11420256f, 0.11344675f, 0.11268918f, 0.11192987f, 0.11116884f, 0.11040610f, 0.10964165f, 0.10887551f, 0.10810770f, 0.10733821f, 0.10656707f, 0.10579429f, 0.10501988f, 0.10424384f, 0.10346620f, 0.10268696f, 0.10190614f, 0.10112375f, 0.10033980f, 0.09955430f, 0.09876726f, 0.09797871f, 0.09718864f, 0.09639707f, 0.09560402f, 0.09480949f, 0.09401350f, 0.09321606f, 0.09241718f, 0.09161688f, 0.09081516f, 0.09001205f, 0.08920754f, 0.08840166f, 0.08759442f, 0.08678583f, 0.08597589f, 0.08516464f, 0.08435207f, 0.08353819f, 0.08272303f, 0.08190660f, 0.08108890f, 0.08026995f, 0.07944976f, 0.07862835f, 0.07780572f, 0.07698190f, 0.07615688f, 0.07533070f, 0.07450335f, 0.07367485f, 0.07284522f, 0.07201446f, 0.07118259f, 0.07034963f, 0.06951558f, 0.06868046f, 0.06784427f, 0.06700705f, 0.06616879f, 0.06532951f, 0.06448922f, 0.06364793f, 0.06280567f, 0.06196244f, 0.06111825f, 0.06027312f, 0.05942705f, 0.05858008f, 0.05773220f, 0.05688343f, 0.05603378f, 0.05518327f, 0.05433190f, 0.05347970f, 0.05262667f, 0.05177284f, 0.05091820f, 0.05006278f, 0.04920659f, 0.04834964f, 0.04749194f, 0.04663351f, 0.04577436f, 0.04491450f, 0.04405396f, 0.04319273f, 0.04233084f, 0.04146829f, 0.04060511f, 0.03974129f, 0.03887687f, 0.03801185f, 0.03714624f, 0.03628005f, 0.03541331f, 0.03454602f, 0.03367820f, 0.03280986f, 0.03194101f, 0.03107167f, 0.03020186f, 0.02933157f, 0.02846084f, 0.02758966f, 0.02671806f, 0.02584605f, 0.02497364f, 0.02410084f, 0.02322767f, 0.02235414f, 0.02148027f, 0.02060607f, 0.01973155f, 0.01885673f, 0.01798161f, 0.01710622f, 0.01623056f, 0.01535466f, 0.01447851f, 0.01360215f, 0.01272557f, 0.01184880f, 0.01097184f, 0.01009472f, 0.00921744f, 0.00834001f, 0.00746246f, 0.00658480f, 0.00570703f, 0.00482917f, 0.00395124f, 0.00307325f, 0.00219521f, 0.00131714f, 0.00043905f }; const float edct_table_600[600] = { 0.20205118f, 0.20204980f, 0.20204703f, 0.20204287f, 0.20203734f, 0.20203041f, 0.20202210f, 0.20201241f, 0.20200133f, 0.20198887f, 0.20197502f, 0.20195979f, 0.20194318f, 0.20192518f, 0.20190579f, 0.20188503f, 0.20186288f, 0.20183934f, 0.20181442f, 0.20178812f, 0.20176044f, 0.20173137f, 0.20170092f, 0.20166909f, 0.20163587f, 0.20160128f, 0.20156530f, 0.20152794f, 0.20148920f, 0.20144908f, 0.20140758f, 0.20136469f, 0.20132043f, 0.20127479f, 0.20122777f, 0.20117936f, 0.20112958f, 0.20107842f, 0.20102589f, 0.20097197f, 0.20091668f, 0.20086001f, 0.20080196f, 0.20074254f, 0.20068174f, 0.20061957f, 0.20055602f, 0.20049110f, 0.20042480f, 0.20035713f, 0.20028809f, 0.20021767f, 0.20014588f, 0.20007272f, 0.19999819f, 0.19992228f, 0.19984501f, 0.19976637f, 0.19968635f, 0.19960497f, 0.19952222f, 0.19943811f, 0.19935262f, 0.19926577f, 0.19917756f, 0.19908798f, 0.19899703f, 0.19890472f, 0.19881105f, 0.19871602f, 0.19861962f, 0.19852186f, 0.19842274f, 0.19832226f, 0.19822043f, 0.19811723f, 0.19801267f, 0.19790676f, 0.19779949f, 0.19769087f, 0.19758089f, 0.19746956f, 0.19735687f, 0.19724283f, 0.19712744f, 0.19701070f, 0.19689261f, 0.19677317f, 0.19665237f, 0.19653024f, 0.19640675f, 0.19628192f, 0.19615574f, 0.19602822f, 0.19589936f, 0.19576915f, 0.19563760f, 0.19550471f, 0.19537048f, 0.19523491f, 0.19509800f, 0.19495976f, 0.19482018f, 0.19467926f, 0.19453701f, 0.19439343f, 0.19424851f, 0.19410226f, 0.19395469f, 0.19380578f, 0.19365554f, 0.19350398f, 0.19335109f, 0.19319688f, 0.19304134f, 0.19288448f, 0.19272630f, 0.19256679f, 0.19240597f, 0.19224383f, 0.19208036f, 0.19191559f, 0.19174950f, 0.19158209f, 0.19141337f, 0.19124334f, 0.19107200f, 0.19089934f, 0.19072538f, 0.19055012f, 0.19037354f, 0.19019566f, 0.19001648f, 0.18983600f, 0.18965421f, 0.18947113f, 0.18928674f, 0.18910106f, 0.18891409f, 0.18872581f, 0.18853625f, 0.18834539f, 0.18815324f, 0.18795980f, 0.18776508f, 0.18756906f, 0.18737176f, 0.18717318f, 0.18697331f, 0.18677217f, 0.18656974f, 0.18636603f, 0.18616105f, 0.18595479f, 0.18574726f, 0.18553845f, 0.18532837f, 0.18511702f, 0.18490440f, 0.18469052f, 0.18447537f, 0.18425895f, 0.18404127f, 0.18382233f, 0.18360213f, 0.18338067f, 0.18315796f, 0.18293399f, 0.18270877f, 0.18248229f, 0.18225456f, 0.18202559f, 0.18179536f, 0.18156389f, 0.18133118f, 0.18109722f, 0.18086202f, 0.18062558f, 0.18038791f, 0.18014900f, 0.17990885f, 0.17966747f, 0.17942486f, 0.17918102f, 0.17893595f, 0.17868965f, 0.17844213f, 0.17819339f, 0.17794342f, 0.17769224f, 0.17743984f, 0.17718622f, 0.17693139f, 0.17667534f, 0.17641808f, 0.17615962f, 0.17589995f, 0.17563907f, 0.17537698f, 0.17511370f, 0.17484922f, 0.17458353f, 0.17431665f, 0.17404858f, 0.17377931f, 0.17350885f, 0.17323721f, 0.17296437f, 0.17269035f, 0.17241515f, 0.17213876f, 0.17186120f, 0.17158245f, 0.17130253f, 0.17102144f, 0.17073917f, 0.17045574f, 0.17017113f, 0.16988536f, 0.16959843f, 0.16931033f, 0.16902107f, 0.16873066f, 0.16843909f, 0.16814636f, 0.16785248f, 0.16755745f, 0.16726127f, 0.16696395f, 0.16666548f, 0.16636587f, 0.16606511f, 0.16576322f, 0.16546020f, 0.16515604f, 0.16485075f, 0.16454433f, 0.16423678f, 0.16392810f, 0.16361830f, 0.16330738f, 0.16299534f, 0.16268219f, 0.16236791f, 0.16205253f, 0.16173603f, 0.16141843f, 0.16109972f, 0.16077991f, 0.16045899f, 0.16013697f, 0.15981386f, 0.15948965f, 0.15916435f, 0.15883796f, 0.15851047f, 0.15818191f, 0.15785225f, 0.15752152f, 0.15718971f, 0.15685682f, 0.15652285f, 0.15618781f, 0.15585170f, 0.15551452f, 0.15517628f, 0.15483697f, 0.15449661f, 0.15415518f, 0.15381269f, 0.15346916f, 0.15312457f, 0.15277893f, 0.15243224f, 0.15208451f, 0.15173574f, 0.15138592f, 0.15103507f, 0.15068319f, 0.15033027f, 0.14997632f, 0.14962134f, 0.14926534f, 0.14890831f, 0.14855026f, 0.14819120f, 0.14783112f, 0.14747003f, 0.14710792f, 0.14674481f, 0.14638069f, 0.14601557f, 0.14564945f, 0.14528233f, 0.14491421f, 0.14454510f, 0.14417500f, 0.14380391f, 0.14343184f, 0.14305878f, 0.14268474f, 0.14230973f, 0.14193374f, 0.14155677f, 0.14117884f, 0.14079994f, 0.14042007f, 0.14003924f, 0.13965745f, 0.13927471f, 0.13889101f, 0.13850635f, 0.13812075f, 0.13773420f, 0.13734671f, 0.13695828f, 0.13656890f, 0.13617860f, 0.13578735f, 0.13539518f, 0.13500208f, 0.13460805f, 0.13421311f, 0.13381724f, 0.13342045f, 0.13302275f, 0.13262414f, 0.13222462f, 0.13182419f, 0.13142286f, 0.13102063f, 0.13061750f, 0.13021348f, 0.12980856f, 0.12940275f, 0.12899606f, 0.12858848f, 0.12818002f, 0.12777069f, 0.12736047f, 0.12694939f, 0.12653743f, 0.12612461f, 0.12571092f, 0.12529637f, 0.12488096f, 0.12446470f, 0.12404758f, 0.12362961f, 0.12321080f, 0.12279114f, 0.12237064f, 0.12194930f, 0.12152712f, 0.12110411f, 0.12068027f, 0.12025561f, 0.11983012f, 0.11940381f, 0.11897668f, 0.11854873f, 0.11811998f, 0.11769041f, 0.11726004f, 0.11682886f, 0.11639688f, 0.11596410f, 0.11553053f, 0.11509617f, 0.11466102f, 0.11422508f, 0.11378836f, 0.11335086f, 0.11291258f, 0.11247353f, 0.11203371f, 0.11159312f, 0.11115177f, 0.11070965f, 0.11026678f, 0.10982315f, 0.10937876f, 0.10893363f, 0.10848775f, 0.10804113f, 0.10759376f, 0.10714566f, 0.10669683f, 0.10624726f, 0.10579696f, 0.10534594f, 0.10489420f, 0.10444174f, 0.10398856f, 0.10353467f, 0.10308007f, 0.10262477f, 0.10216876f, 0.10171205f, 0.10125464f, 0.10079654f, 0.10033775f, 0.09987827f, 0.09941811f, 0.09895726f, 0.09849574f, 0.09803354f, 0.09757067f, 0.09710713f, 0.09664293f, 0.09617806f, 0.09571253f, 0.09524635f, 0.09477952f, 0.09431203f, 0.09384390f, 0.09337513f, 0.09290571f, 0.09243566f, 0.09196498f, 0.09149366f, 0.09102172f, 0.09054915f, 0.09007597f, 0.08960216f, 0.08912774f, 0.08865272f, 0.08817708f, 0.08770084f, 0.08722400f, 0.08674656f, 0.08626852f, 0.08578990f, 0.08531068f, 0.08483089f, 0.08435051f, 0.08386955f, 0.08338802f, 0.08290591f, 0.08242324f, 0.08194000f, 0.08145620f, 0.08097185f, 0.08048693f, 0.08000147f, 0.07951546f, 0.07902890f, 0.07854180f, 0.07805416f, 0.07756599f, 0.07707729f, 0.07658806f, 0.07609830f, 0.07560802f, 0.07511722f, 0.07462591f, 0.07413409f, 0.07364176f, 0.07314892f, 0.07265559f, 0.07216175f, 0.07166742f, 0.07117260f, 0.07067729f, 0.07018150f, 0.06968522f, 0.06918847f, 0.06869125f, 0.06819355f, 0.06769539f, 0.06719676f, 0.06669767f, 0.06619812f, 0.06569812f, 0.06519767f, 0.06469678f, 0.06419544f, 0.06369366f, 0.06319144f, 0.06268879f, 0.06218571f, 0.06168220f, 0.06117828f, 0.06067393f, 0.06016916f, 0.05966399f, 0.05915840f, 0.05865241f, 0.05814602f, 0.05763923f, 0.05713204f, 0.05662447f, 0.05611650f, 0.05560815f, 0.05509942f, 0.05459031f, 0.05408083f, 0.05357097f, 0.05306075f, 0.05255017f, 0.05203922f, 0.05152792f, 0.05101627f, 0.05050426f, 0.04999191f, 0.04947922f, 0.04896619f, 0.04845282f, 0.04793912f, 0.04742509f, 0.04691074f, 0.04639606f, 0.04588107f, 0.04536576f, 0.04485014f, 0.04433422f, 0.04381799f, 0.04330146f, 0.04278463f, 0.04226751f, 0.04175010f, 0.04123240f, 0.04071442f, 0.04019617f, 0.03967763f, 0.03915883f, 0.03863975f, 0.03812042f, 0.03760082f, 0.03708096f, 0.03656085f, 0.03604049f, 0.03551988f, 0.03499902f, 0.03447793f, 0.03395660f, 0.03343504f, 0.03291325f, 0.03239124f, 0.03186900f, 0.03134654f, 0.03082387f, 0.03030099f, 0.02977790f, 0.02925460f, 0.02873111f, 0.02820741f, 0.02768353f, 0.02715945f, 0.02663519f, 0.02611075f, 0.02558613f, 0.02506133f, 0.02453636f, 0.02401122f, 0.02348592f, 0.02296046f, 0.02243483f, 0.02190906f, 0.02138314f, 0.02085706f, 0.02033085f, 0.01980450f, 0.01927801f, 0.01875139f, 0.01822464f, 0.01769776f, 0.01717076f, 0.01664365f, 0.01611642f, 0.01558908f, 0.01506164f, 0.01453409f, 0.01400644f, 0.01347870f, 0.01295086f, 0.01242294f, 0.01189493f, 0.01136683f, 0.01083866f, 0.01031042f, 0.00978211f, 0.00925372f, 0.00872528f, 0.00819677f, 0.00766821f, 0.00713960f, 0.00661094f, 0.00608223f, 0.00555348f, 0.00502469f, 0.00449587f, 0.00396701f, 0.00343813f, 0.00290923f, 0.00238031f, 0.00185137f, 0.00132241f, 0.00079345f, 0.00026448f }; /*----------------------------------------------------------------------------------* * Mean ISF vector for active signal (only for AMR-WB IO mode) *----------------------------------------------------------------------------------*/ const float mean_isf_amr_wb[M] = { 288.411774f, 518.149414f, 912.352051f, 1397.743652f, 1795.418823f, 2211.536133f, 2621.461182f, 3019.680176f, 3417.989746f, 3809.700928f, 4181.547363f, 4581.064941f, 5012.819824f, 5457.521484f, 5876.145020f, 1576.906494f }; /*----------------------------------------------------------------------------------* * Mean ISF vector for SID frames (only in AMR-WB IO mode) *----------------------------------------------------------------------------------*/ const float mean_isf_noise_amr_wb[M] = { 186.625259f, 429.613403f, 864.525085f, 1276.010254f, 1648.228394f, 2039.998535f, 2420.943115f, 2828.022461f, 3214.584961f, 3575.200195f, 3944.685303f, 4338.971191f, 4743.657227f, 5149.993164f, 5533.081055f, 1485.457031f }; /*----------------------------------------------------------------------------------* * Initial LSF memory *----------------------------------------------------------------------------------*/ const float lsf_init[16] = { 375.0, 750.0, 1125.0, 1500.0, 1875.0, 2250.0, 2625.0, 3000.0, 3375.0, 3750.0, 4125.0, 4500.0, 4875.0, 5250.0, 5625.0, 6000.0 }; /*----------------------------------------------------------------------------------* * Gaussian codebook *----------------------------------------------------------------------------------*/ const float gaus_dico[190] = { -0.0973f, -0.0306f, 0.1278f, -0.1138f, 0.0744f, -0.1606f, -0.1976f, 0.0115f, -0.0344f, -0.0417f, -0.1424f, -0.0633f, 0.0723f, 0.3257f, -0.0697f, -0.0978f, -0.1168f, -0.1021f, 0.0342f, -0.1319f, 0.0431f, -0.2658f, 0.0317f, -0.0712f, 0.0348f, 0.1200f, -0.0758f, -0.2104f, -0.0781f, 0.0947f, 0.1333f, 0.0204f, -0.2934f, 0.0262f, 0.0264f, 0.0830f, 0.0584f, -0.0318f, 0.2271f, 0.0835f, 0.0374f, -0.0645f, -0.1864f, -0.0277f, 0.0945f, -0.1306f, 0.0202f, -0.2090f, -0.0881f, -0.1029f, 0.0292f, 0.0966f, -0.0896f, 0.1563f, 0.1994f, 0.0543f, -0.2482f, -0.0201f, -0.0294f, 0.2172f, 0.0830f, -0.0938f, 0.0115f, 0.0827f, -0.1233f, -0.1051f, 0.0394f, 0.2390f, 0.2172f, -0.0653f, 0.0253f, 0.1241f, -0.0366f, -0.0473f, 0.1080f, 0.0470f, 0.1009f, -0.0059f, 0.0964f, -0.0105f, -0.0531f, 0.0169f, -0.0972f, 0.0408f, 0.0283f, -0.2285f, -0.0232f, 0.3580f, -0.1063f, 0.1125f, 0.2105f, -0.0331f, -0.0230f, 0.3200f, -0.0905f, 0.0166f, 0.0328f, -0.0722f, -0.0380f, -0.1377f, -0.0118f, -0.1189f, 0.1580f, 0.0769f, 0.1252f, -0.0247f, -0.1672f, -0.0777f, -0.0841f, -0.1573f, -0.0160f, 0.2078f, 0.1011f, -0.0070f, 0.1242f, 0.1011f, 0.1225f, 0.0973f, 0.1361f, 0.1584f, -0.0729f, 0.1831f, 0.1332f, -0.1846f, -0.0029f, -0.0890f, 0.1447f, -0.1727f, 0.0963f, -0.0321f, -0.0916f, -0.0151f, -0.2232f, -0.0624f, -0.1036f, 0.0157f, 0.1134f, -0.2782f, 0.0684f, 0.0222f, -0.0202f, -0.0704f, -0.1342f, 0.0950f, 0.0128f, -0.2999f, 0.0015f, -0.1051f, 0.0180f, 0.0500f, -0.1166f, -0.0361f, -0.1446f, 0.0688f, -0.0179f, 0.2959f, 0.0102f, 0.1416f, -0.0815f, 0.1181f, -0.1867f, 0.1082f, 0.1585f, 0.0661f, -0.1805f, 0.0915f, 0.1497f, -0.1124f, -0.0508f, 0.0573f, -0.0294f, -0.0119f, -0.0759f, 0.1477f, 0.2136f, 0.1271f, 0.0492f, -0.1235f, -0.1337f, -0.2657f, -0.0106f, -0.0540f, 0.1642f, -0.0598f, -0.0065f, 0.1146f, 0.0863f, 0.0129f, 0.1816f, 0.0672f }; const float gaus_dico_swb[256] = { 0.02164473f, 0.35885197f, -0.16274954f, -0.08241354f, 0.07313631f, -0.00054929f, -0.13080014f, 0.07226136f, -0.13965981f, -0.04834007f, -0.02745908f, -0.02867859f, 0.11216793f, 0.16604294f, -0.00134274f, 0.06818508f, -0.17387933f, 0.09406016f, -0.08150196f, 0.05083200f, -0.01952806f, -0.10203217f, -0.03067050f, -0.05153965f, 0.06250680f, 0.00859049f, -0.12008808f, -0.11361376f, 0.17176038f, 0.01174004f, -0.02275130f, -0.09895785f, -0.10167463f, -0.22059087f, -0.05334539f, -0.00629700f, -0.16706355f, 0.07795000f, 0.08731710f, 0.09669208f, 0.15378080f, 0.01794813f, -0.01549965f, -0.24923822f, 0.19985947f, -0.10477958f, 0.06674605f, -0.11186616f, -0.17927034f, 0.08443811f, 0.25542912f, 0.03167623f, 0.19633667f, 0.19163096f, 0.01907267f, 0.12298489f, -0.03147158f, 0.05562247f, 0.30200079f, -0.04257871f, 0.08275045f, -0.03386311f, -0.02265750f, 0.18742503f, -0.13598505f, -0.32004824f, -0.00438390f, -0.15576170f, 0.06006401f, -0.00952147f, 0.18848655f, 0.06630960f, 0.07121546f, -0.00733249f, 0.08277771f, 0.22764891f, 0.06772452f, -0.09509693f, -0.00172236f, 0.08452052f, 0.17020901f, -0.03737585f, 0.02349647f, 0.10855560f, 0.06854416f, 0.07084806f, 0.09390105f, 0.00124924f, 0.03026483f, -0.15169589f, 0.01347072f, -0.15377805f, 0.14992996f, 0.11630810f, 0.03483583f, -0.03914850f, -0.20075595f, 0.12728901f, -0.04495851f, -0.11576717f, -0.15281813f, 0.06055827f, -0.03471978f, -0.03617816f, 0.17230885f, 0.03094525f, -0.15618153f, 0.21792564f, 0.08106838f, -0.22098514f, -0.10796417f, 0.07131225f, 0.22092983f, -0.01539366f, -0.02876964f, -0.30910203f, 0.02143815f, -0.11630868f, -0.00922897f, 0.07431208f, 0.15533504f, 0.11425125f, 0.07125455f, -0.11914105f, -0.04275274f, -0.05072749f, -0.22143129f, 0.19787727f, -0.20946717f, -0.16564523f, 0.05962536f, -0.22325630f, -0.04333350f, -0.04707248f, 0.16608582f, 0.00948954f, 0.11283893f, -0.04097161f, -0.09076904f, 0.26722300f, 0.00987607f, -0.05807892f, 0.07872546f, 0.08040629f, 0.12927419f, -0.05647410f, 0.09603068f, -0.02356448f, -0.02160797f, -0.11687102f, 0.07936122f, -0.05764586f, -0.10510305f, -0.02326054f, 0.12021790f, 0.09782617f, -0.22600858f, -0.02555378f, -0.03561033f, -0.01337216f, 0.11311363f, -0.03096960f, -0.22801498f, 0.05643769f, 0.13053033f, 0.04452197f, -0.09299882f, -0.11475921f, 0.02257649f, -0.21770498f, -0.11454470f, -0.09435777f, 0.00638951f, -0.36990553f, 0.04266735f, 0.06915011f, 0.07644624f, -0.24336053f, -0.03421960f, -0.10622191f, -0.17223521f, 0.04054553f, 0.13831380f, 0.02925055f, 0.16207848f, -0.12994884f, -0.09751288f, -0.05397306f, -0.09323815f, 0.13425350f, -0.00046960f, 0.31072289f, 0.13740718f, 0.05835414f, -0.04803475f, 0.15423043f, -0.09652353f, 0.14896898f, -0.16368309f, 0.05875925f, -0.03678078f, -0.19627908f, 0.07034992f, -0.27213186f, -0.04338680f, 0.01567988f, -0.09158870f, 0.11987700f, 0.07083926f, 0.01099900f, -0.01084446f, 0.04508050f, -0.10655984f, -0.13945042f, 0.05837287f, 0.08458713f, -0.04212087f, -0.15749574f, 0.11632511f, 0.07976698f, 0.06725866f, -0.09567240f, 0.03796997f, -0.09355708f, -0.13569611f, -0.19498724f, 0.14951572f, -0.16023041f, 0.04185898f, 0.06099325f, 0.03425207f, 0.16211477f, 0.03998571f, -0.03629408f, -0.10099959f, 0.19540504f, 0.11653102f, 0.23601755f, 0.04943547f, -0.26040605f, 0.02153429f, 0.22880882f, -0.13646534f, 0.03881640f, -0.02896636f, 0.09774253f, -0.13509314f, -0.08713179f, 0.13485038f, 0.06968338f, 0.19561967f, 0.07884958f, -0.10365590f, -0.10321335f, -0.09081125f, -0.00147976f }; /*----------------------------------------------------------------------------------* * CLDFB tables *----------------------------------------------------------------------------------*/ const int freqTable[2] = {20, 40}; /* SNR: 109.44, PHASE: 3.500000000000000 */ const float CLDFB80_10[100] = { 0.0000033382f, -0.0000023292f, -0.0000006582f, 0.0000001464f, -0.0000010899f, -0.0000009664f, -0.0000000104f, -0.0000018105f, -0.0000012856f, 0.0000017112f, 0.0000137155f, -0.0000084710f, -0.0000015748f, -0.0000002482f, 0.0000036294f, -0.0000043816f, 0.0000003906f, 0.0000043318f, 0.0000049126f, -0.0000061826f, -0.0002270069f, -0.0000675402f, -0.0000158982f, 0.0000138120f, -0.0000220086f, -0.0000356560f, 0.0000171849f, -0.0000194504f, -0.0000058158f, -0.0002621811f, -0.0009969691f, -0.0001427984f, -0.0000188085f, -0.0000040399f, -0.0001954359f, 0.0001806872f, 0.0000232574f, -0.0000047551f, -0.0000321009f, 0.0010723262f, -0.0020160153f, -0.0007751652f, 0.0003508478f, 0.0015707671f, 0.0017180828f, 0.0015807568f, 0.0021944824f, 0.0028288425f, 0.0030257006f, 0.0016570983f, -0.0014279413f, -0.0015962377f, 0.0007765516f, 0.0025625922f, 0.0022554877f, 0.0002647332f, -0.0032977409f, -0.0065113932f, -0.0095444393f, -0.0136373114f, 0.0186561662f, 0.0242546518f, 0.0320538418f, 0.0427742450f, 0.0565841171f, 0.0732940277f, 0.0914110197f, 0.1082620545f, 0.1209072165f, 0.1269811579f, 0.1253574855f, 0.1136768387f, 0.0887587689f, 0.0497640968f, -0.0031398279f, -0.0698373206f, -0.1494875982f, -0.2406007759f, -0.3411996303f, -0.4484628681f, 0.5579472269f, 0.6655527761f, 0.7669493517f, 0.8575328375f, 0.9329386030f, 0.9892971917f, 1.0250167399f, 1.0397966587f, 1.0375221638f, 1.0163053398f, 0.9610874400f, 0.8748972145f, 0.7783924293f, 0.6777346686f, 0.5724389618f, 0.4648620471f, 0.3560337451f, 0.2485564060f, 0.1386438276f, 0.0416433203f, }; /* SNR: 292.49, PHASE: 2.000000000000000 */ const float CLDFB80_16[160] = { 0.0000005510f, -0.0000007674f, -0.0000002340f, 0.0000000964f, 0.0000000593f, -0.0000000017f, -0.0000000178f, 0.0000021953f, 0.0000030004f, -0.0000000167f, -0.0000000019f, 0.0000000702f, 0.0000000344f, -0.0000000765f, -0.0000005553f, 0.0000007526f, 0.0000020881f, -0.0000028263f, -0.0000007033f, 0.0000002370f, 0.0000001175f, -0.0000004048f, 0.0000000996f, -0.0000180207f, 0.0000246292f, -0.0000000934f, 0.0000004489f, -0.0000001390f, -0.0000000845f, 0.0000002300f, 0.0000020452f, -0.0000028520f, -0.0003204839f, -0.0001476489f, -0.0000626217f, -0.0000446346f, -0.0000202236f, 0.0000151160f, 0.0000057995f, 0.0000450017f, 0.0000433006f, 0.0000050745f, 0.0000167005f, -0.0000314631f, -0.0000244547f, -0.0000125422f, -0.0000911863f, -0.0004371781f, -0.0012267106f, -0.0005247118f, -0.0001857576f, -0.0001103593f, -0.0000402931f, 0.0000108771f, -0.0000576360f, 0.0000602621f, -0.0002317927f, 0.0000520316f, 0.0000035090f, 0.0000625950f, 0.0000603417f, 0.0000368907f, 0.0003220307f, 0.0016733998f, -0.0021551784f, -0.0015444660f, -0.0007592329f, -0.0001077355f, 0.0007091208f, 0.0015054295f, 0.0017984668f, 0.0011461500f, 0.0015946160f, 0.0018157551f, 0.0022526599f, 0.0027665136f, 0.0029611644f, 0.0030474884f, 0.0025509350f, 0.0012885692f, -0.0011048694f, -0.0019476595f, -0.0014849578f, -0.0000191307f, 0.0014542427f, 0.0025014060f, 0.0026282341f, 0.0020896060f, 0.0009380930f, -0.0012303806f, -0.0035150110f, -0.0055687066f, -0.0074233361f, -0.0093371234f, -0.0117127490f, -0.0145175090f, 0.0177813213f, 0.0209221310f, 0.0246700384f, 0.0293186424f, 0.0350939424f, 0.0420166741f, 0.0501689083f, 0.0594973479f, 0.0699793095f, 0.0811978302f, 0.0925316969f, 0.1033039355f, 0.1127998301f, 0.1202885467f, 0.1252446307f, 0.1272143872f, 0.1262547749f, 0.1217276780f, 0.1125292370f, 0.0980647299f, 0.0780704213f, 0.0526074650f, 0.0217182187f, -0.0146037409f, -0.0563029259f, -0.1031675028f, -0.1548654211f, -0.2110103318f, -0.2711216615f, -0.3346791161f, -0.4009613796f, -0.4689983890f, 0.5374920358f, 0.6054498150f, 0.6721266919f, 0.7362374318f, 0.7966023599f, 0.8522654625f, 0.9021245679f, 0.9450253190f, 0.9802630812f, 1.0075496836f, 1.0265340754f, 1.0372359728f, 1.0407524022f, 1.0381397893f, 1.0284102813f, 1.0099196627f, 0.9753688495f, 0.9254582964f, 0.8690385973f, 0.8090082031f, 0.7474414548f, 0.6841760105f, 0.6189218236f, 0.5524001591f, 0.4851748506f, 0.4172433895f, 0.3492691242f, 0.2821066655f, 0.2146356085f, 0.1455327617f, 0.0796914490f, 0.0278251946f, }; /* SNR: 89.77, PHASE: 1.500000000000000 */ const float CLDFB80_20[200] = { 0.0000016461f, -0.0000046862f, -0.0000000815f, -0.0000001822f, 0.0000000240f, 0.0000001892f, -0.0000002365f, -0.0000007031f, -0.0000000079f, 0.0000048656f, 0.0000070490f, 0.0000000032f, 0.0000001499f, -0.0000000944f, 0.0000004307f, -0.0000000787f, -0.0000001070f, 0.0000015376f, -0.0000025088f, 0.0000044280f, 0.0000046060f, -0.0000207092f, -0.0000004877f, -0.0000006126f, 0.0000000605f, 0.0000004365f, -0.0000003741f, -0.0000009508f, 0.0000006700f, -0.0000087189f, 0.0000114297f, -0.0000007710f, -0.0000002908f, 0.0000001583f, -0.0000010138f, 0.0000001875f, 0.0000003789f, -0.0000065731f, 0.0000112115f, -0.0000036253f, -0.0003045828f, -0.0002068946f, -0.0000330428f, -0.0000658559f, -0.0000416668f, -0.0000207558f, -0.0000046097f, 0.0000096778f, -0.0000064960f, 0.0000515938f, 0.0000257367f, -0.0000068671f, 0.0000029284f, -0.0000209369f, -0.0000191720f, -0.0000235869f, -0.0000286778f, 0.0000594843f, -0.0001104448f, -0.0004947290f, -0.0011759540f, -0.0006581582f, -0.0001310136f, -0.0001782524f, -0.0001002354f, -0.0000465158f, -0.0000188237f, 0.0000285072f, -0.0001359344f, 0.0002814194f, -0.0004814411f, 0.0001302339f, -0.0000257394f, 0.0000578339f, 0.0000485628f, 0.0000543116f, 0.0000763443f, -0.0001495108f, 0.0003492618f, 0.0018283780f, -0.0019931487f, -0.0018716309f, -0.0008617653f, -0.0006080124f, -0.0000337803f, 0.0006187704f, 0.0012478726f, 0.0016757046f, 0.0018115391f, 0.0007745483f, 0.0016550121f, 0.0017032298f, 0.0019356593f, 0.0024080283f, 0.0027878510f, 0.0029379588f, 0.0030637651f, 0.0028257202f, 0.0021943273f, 0.0010679683f, -0.0009250455f, -0.0017798333f, -0.0018826540f, -0.0011010583f, 0.0001463485f, 0.0013293069f, 0.0022974838f, 0.0027746423f, 0.0025078917f, 0.0020425098f, 0.0011954954f, -0.0005741594f, -0.0024120809f, -0.0041653667f, -0.0057623702f, -0.0072425386f, -0.0087363677f, -0.0104237699f, -0.0125156239f, -0.0148077168f, 0.0174398402f, 0.0199230411f, 0.0226649147f, 0.0259599813f, 0.0298434758f, 0.0344649815f, 0.0398139569f, 0.0459314689f, 0.0528498740f, 0.0604788669f, 0.0688814001f, 0.0777923399f, 0.0868947517f, 0.0958553537f, 0.1043243835f, 0.1119302041f, 0.1182880738f, 0.1231125873f, 0.1261745561f, 0.1272284850f, 0.1264656300f, 0.1235525506f, 0.1177556666f, 0.1087635447f, 0.0963144136f, 0.0803171444f, 0.0608146076f, 0.0378425383f, 0.0113896330f, -0.0185270856f, -0.0518892622f, -0.0885871716f, -0.1284318249f, -0.1712634880f, -0.2168508609f, -0.2649463144f, -0.3152867427f, -0.3675395959f, -0.4212350657f, -0.4758650706f, 0.5306725282f, 0.5851445237f, 0.6390281696f, 0.6916889535f, 0.7424591009f, 0.7907617163f, 0.8361206884f, 0.8779983070f, 0.9157691951f, 0.9489012228f, 0.9770929872f, 1.0002174168f, 1.0180999340f, 1.0305853696f, 1.0378851378f, 1.0406826783f, 1.0395784114f, 1.0343061945f, 1.0237762412f, 1.0076524569f, 0.9800034826f, 0.9411740407f, 0.8979145998f, 0.8512639848f, 0.8029102780f, 0.7536620391f, 0.7033730373f, 0.6517679660f, 0.5990562278f, 0.5457078369f, 0.4919297136f, 0.4376796414f, 0.3831842053f, 0.3290362900f, 0.2754121565f, 0.2214602867f, 0.1663238479f, 0.1115465981f, 0.0622889538f, 0.0233593568f, }; /* SNR: 89.29, PHASE: 0.833333333333333 */ const float CLDFB80_30[300] = { -0.0000002772f, 0.0000033382f, 0.0000018078f, -0.0000007965f, -0.0000023292f, -0.0000000163f, 0.0000001004f, -0.0000006582f, 0.0000000287f, 0.0000000140f, 0.0000001464f, 0.0000002826f, 0.0000000427f, -0.0000010899f, 0.0000048488f, 0.0000070973f, -0.0000009664f, 0.0000000360f, 0.0000004432f, -0.0000000104f, -0.0000000269f, -0.0000000107f, -0.0000018105f, 0.0000000543f, -0.0000000029f, -0.0000012856f, -0.0000006144f, 0.0000009806f, 0.0000017112f, -0.0000026992f, -0.0000120997f, 0.0000137155f, 0.0000075545f, -0.0000032372f, -0.0000084710f, -0.0000000206f, 0.0000002472f, -0.0000015748f, 0.0000000428f, -0.0000000299f, -0.0000002482f, 0.0000005522f, 0.0000001959f, 0.0000036294f, 0.0000084418f, -0.0000120850f, -0.0000043816f, -0.0000001651f, -0.0000010266f, 0.0000003906f, 0.0000001476f, 0.0000000560f, 0.0000043318f, -0.0000001327f, -0.0000000099f, 0.0000049126f, 0.0000025641f, -0.0000041212f, -0.0000061826f, 0.0000182899f, -0.0003177625f, -0.0002270069f, -0.0001470513f, -0.0000710867f, -0.0000675402f, -0.0000612052f, -0.0000458905f, -0.0000158982f, -0.0000198609f, -0.0000044865f, 0.0000138120f, 0.0000259521f, -0.0000014174f, -0.0000220086f, 0.0000046746f, -0.0000478217f, -0.0000356560f, -0.0000008176f, 0.0000554471f, 0.0000171849f, -0.0000104782f, -0.0000342931f, -0.0000194504f, -0.0000247231f, -0.0000266321f, -0.0000058158f, -0.0000154718f, -0.0000860619f, -0.0002621811f, -0.0006329730f, -0.0010151313f, -0.0009969691f, -0.0006401095f, -0.0002347208f, -0.0001427984f, -0.0001657818f, -0.0001142242f, -0.0000188085f, -0.0000385187f, -0.0000275046f, -0.0000040399f, 0.0000495378f, -0.0001045437f, -0.0001954359f, 0.0005754000f, -0.0007487377f, 0.0001806872f, 0.0000995589f, -0.0000996504f, 0.0000232574f, 0.0000603268f, 0.0000660807f, -0.0000047551f, 0.0000619265f, 0.0000723872f, -0.0000321009f, 0.0000223561f, 0.0003720504f, 0.0010723262f, 0.0019477029f, -0.0018122293f, -0.0020160153f, -0.0017426363f, -0.0010556444f, -0.0007751652f, -0.0005221317f, -0.0001347624f, 0.0003508478f, 0.0007386346f, 0.0011721899f, 0.0015707671f, 0.0017166805f, 0.0018089705f, 0.0017180828f, 0.0002671723f, 0.0016677326f, 0.0015807568f, 0.0017534327f, 0.0019075685f, 0.0021944824f, 0.0024875266f, 0.0027574445f, 0.0028288425f, 0.0029688585f, 0.0030573770f, 0.0030257006f, 0.0027683197f, 0.0023855538f, 0.0016570983f, 0.0007261425f, -0.0006240877f, -0.0014279413f, -0.0018848796f, -0.0019263976f, -0.0015962377f, -0.0009120500f, -0.0000736785f, 0.0007765516f, 0.0014961634f, 0.0021524541f, 0.0025625922f, 0.0027460441f, 0.0025688449f, 0.0022554877f, 0.0019970512f, 0.0015552223f, 0.0002647332f, -0.0008620885f, -0.0020865380f, -0.0032977409f, -0.0044403210f, -0.0055039505f, -0.0065113932f, -0.0074839181f, -0.0084786965f, -0.0095444393f, -0.0107566368f, -0.0121559845f, -0.0136373114f, -0.0152125941f, 0.0169692165f, 0.0186561662f, 0.0203704498f, 0.0221787331f, 0.0242546518f, 0.0265582983f, 0.0291465321f, 0.0320538418f, 0.0353059968f, 0.0388699993f, 0.0427742450f, 0.0470319574f, 0.0516455579f, 0.0565841171f, 0.0617960053f, 0.0674208876f, 0.0732940277f, 0.0793036968f, 0.0853757711f, 0.0914110197f, 0.0973085175f, 0.1029609938f, 0.1082620545f, 0.1130850459f, 0.1173295323f, 0.1209072165f, 0.1237469292f, 0.1257934619f, 0.1269811579f, 0.1271703366f, 0.1266559114f, 0.1253574855f, 0.1227915199f, 0.1189360593f, 0.1136768387f, 0.1069333476f, 0.0986359173f, 0.0887587689f, 0.0773092890f, 0.0643073307f, 0.0497640968f, 0.0336765771f, 0.0160401582f, -0.0031398279f, -0.0238366387f, -0.0460799881f, -0.0698373206f, -0.0950128018f, -0.1215783841f, -0.1494875982f, -0.1786760784f, -0.2090721736f, -0.2406007759f, -0.2731879051f, -0.3067537961f, -0.3411996303f, -0.3764015708f, -0.4122065782f, -0.4484628681f, -0.4850451997f, 0.5215924710f, 0.5579472269f, 0.5941804962f, 0.6301135607f, 0.6655527761f, 0.7002994797f, 0.7341550905f, 0.7669493517f, 0.7985389090f, 0.8287866009f, 0.8575328375f, 0.8845952462f, 0.9097846281f, 0.9329386030f, 0.9539491421f, 0.9727435862f, 0.9892971917f, 1.0035676672f, 1.0154927835f, 1.0250167399f, 1.0321480823f, 1.0370035227f, 1.0397966587f, 1.0407627030f, 1.0400314908f, 1.0375221638f, 1.0329480648f, 1.0259438203f, 1.0163053398f, 1.0048344063f, 0.9863956401f, 0.9610874400f, 0.9342743262f, 0.9054084925f, 0.8748972145f, 0.8432873810f, 0.8110381808f, 0.7783924293f, 0.7453640666f, 0.7118431392f, 0.6777346686f, 0.6430470493f, 0.6078972260f, 0.5724389618f, 0.5367746506f, 0.5009238704f, 0.4648620471f, 0.4286003322f, 0.3922588980f, 0.3560337451f, 0.3200733025f, 0.2843378434f, 0.2485564060f, 0.2123552623f, 0.1755742394f, 0.1386438276f, 0.1027751331f, 0.0698223020f, 0.0416433203f, 0.0171881989f, }; /* SNR: 85.69, PHASE: 0.750000000000000 */ const float CLDFB80_32[320] = { -0.0000010182f, 0.0000018812f, -0.0000013969f, 0.0000000702f, -0.0000030351f, -0.0000001862f, 0.0000000017f, 0.0000000804f, -0.0000002859f, -0.0000000058f, -0.0000003463f, -0.0000003782f, 0.0000006385f, 0.0000000365f, -0.0000015696f, 0.0000043896f, 0.0000063462f, -0.0000013860f, 0.0000000439f, 0.0000007243f, -0.0000000373f, -0.0000001214f, 0.0000000228f, -0.0000008123f, 0.0000002096f, -0.0000000043f, -0.0000001079f, -0.0000005174f, -0.0000001146f, -0.0000006991f, 0.0000012420f, -0.0000054157f, -0.0000164806f, 0.0000076445f, -0.0000065087f, 0.0000002224f, -0.0000110942f, -0.0000006228f, 0.0000000012f, 0.0000001914f, -0.0000006876f, 0.0000000004f, -0.0000005395f, -0.0000007555f, 0.0000015057f, 0.0000005303f, 0.0000035648f, 0.0000094151f, -0.0000133505f, -0.0000042847f, -0.0000005848f, -0.0000018021f, 0.0000001676f, 0.0000001730f, -0.0000000645f, 0.0000019429f, -0.0000005012f, 0.0000000132f, 0.0000003799f, 0.0000014190f, 0.0000005446f, 0.0000033533f, -0.0000041925f, 0.0000243728f, -0.0003249116f, -0.0002555667f, -0.0001781466f, -0.0000946691f, -0.0000512440f, -0.0000668181f, -0.0000538663f, -0.0000367589f, -0.0000153566f, -0.0000159763f, -0.0000043008f, 0.0000014360f, 0.0000256407f, -0.0000045056f, -0.0000224244f, -0.0000056258f, -0.0000573469f, -0.0000427838f, -0.0000040513f, 0.0000493530f, -0.0000199927f, -0.0000284530f, -0.0000443529f, -0.0000157197f, -0.0000152059f, -0.0000265666f, -0.0000286606f, 0.0000426372f, -0.0000445737f, -0.0000968212f, -0.0002992176f, -0.0006564777f, -0.0009923400f, -0.0010465131f, -0.0006586000f, -0.0003460162f, -0.0000803812f, -0.0001828317f, -0.0001374910f, -0.0000892170f, -0.0000247429f, -0.0000281266f, -0.0000112548f, -0.0000220216f, 0.0000281030f, -0.0001241423f, -0.0001739019f, 0.0006003709f, -0.0007665771f, 0.0001545192f, 0.0001183979f, -0.0000725009f, 0.0000709099f, 0.0000556600f, 0.0000787870f, 0.0000127551f, 0.0000418355f, 0.0000676110f, 0.0000771386f, -0.0001678521f, 0.0001526165f, 0.0003591734f, 0.0011851563f, 0.0019531880f, -0.0018073091f, -0.0020646655f, -0.0018286838f, -0.0012220764f, -0.0007555665f, -0.0006377868f, -0.0003093176f, 0.0000756312f, 0.0005274300f, 0.0009274213f, 0.0012803192f, 0.0016235299f, 0.0017557598f, 0.0018111856f, 0.0016683303f, 0.0002150325f, 0.0016540635f, 0.0015774318f, 0.0017217761f, 0.0018831036f, 0.0020842542f, 0.0023790930f, 0.0026699692f, 0.0028034973f, 0.0028981065f, 0.0030135931f, 0.0030635897f, 0.0029615904f, 0.0027120429f, 0.0022714745f, 0.0016059652f, 0.0006835412f, -0.0005828829f, -0.0013844400f, -0.0018243580f, -0.0019502151f, -0.0017356111f, -0.0011689841f, -0.0004229350f, 0.0003965073f, 0.0011294169f, 0.0017707072f, 0.0023448371f, 0.0026728102f, 0.0027087051f, 0.0025324105f, 0.0022209939f, 0.0019939538f, 0.0015995394f, 0.0003709522f, -0.0006814813f, -0.0018062812f, -0.0029774326f, -0.0040602444f, -0.0050788762f, -0.0060470476f, -0.0069716019f, -0.0078811278f, -0.0088339160f, -0.0098593061f, -0.0110571431f, -0.0123801308f, -0.0137829951f, -0.0152658987f, 0.0169119551f, 0.0185130319f, 0.0200914127f, 0.0217670701f, 0.0236411334f, 0.0257401339f, 0.0280588687f, 0.0306516429f, 0.0335396415f, 0.0367140220f, 0.0401734073f, 0.0439328404f, 0.0480118471f, 0.0523958086f, 0.0570643279f, 0.0619617615f, 0.0672386055f, 0.0727386082f, 0.0783586322f, 0.0840454562f, 0.0897239254f, 0.0953063133f, 0.1006989894f, 0.1058297221f, 0.1105886458f, 0.1148828316f, 0.1186363019f, 0.1217873693f, 0.1242652074f, 0.1260376844f, 0.1270428159f, 0.1271553981f, 0.1266717254f, 0.1255342565f, 0.1232765470f, 0.1198938969f, 0.1153006197f, 0.1094250684f, 0.1021978763f, 0.0935850985f, 0.0835853025f, 0.0722146942f, 0.0594803881f, 0.0453959671f, 0.0299515180f, 0.0131448092f, -0.0050174243f, -0.0245067664f, -0.0453599939f, -0.0675506175f, -0.0909864895f, -0.1156500318f, -0.1415054519f, -0.1685034579f, -0.1965824123f, -0.2256851924f, -0.2557490596f, -0.2867109877f, -0.3185003509f, -0.3510308710f, -0.3841878257f, -0.4178462189f, -0.4518783777f, -0.4861948985f, 0.5204589154f, 0.5545392477f, 0.5885349528f, 0.6222881265f, 0.6556472882f, 0.6884462258f, 0.7205203255f, 0.7517187214f, 0.7819150729f, 0.8109973423f, 0.8388462493f, 0.8653227793f, 0.8902717587f, 0.9135401037f, 0.9350004724f, 0.9545704608f, 0.9721900670f, 0.9878415249f, 1.0014908046f, 1.0130877123f, 1.0225821802f, 1.0299620942f, 1.0352930981f, 1.0387279035f, 1.0404656862f, 1.0406699226f, 1.0393792732f, 1.0364602207f, 1.0316371259f, 1.0246094465f, 1.0152749279f, 1.0045111461f, 0.9872243762f, 0.9634951727f, 0.9386029698f, 0.9118835665f, 0.8836131513f, 0.8542438147f, 0.8241955864f, 0.7937396816f, 0.7629631733f, 0.7318123869f, 0.7001870615f, 0.6680338585f, 0.6353919868f, 0.6023736401f, 0.5691034053f, 0.5356571527f, 0.5020472026f, 0.4682522004f, 0.4342757821f, 0.4002060880f, 0.3661991567f, 0.3324016480f, 0.2988415427f, 0.2653598332f, 0.2316572400f, 0.1974745970f, 0.1628547074f, 0.1283770554f, 0.0952404323f, 0.0650740936f, 0.0392771501f, 0.0163785856f, }; /* SNR: 81.55, PHASE: 0.500000000000000 */ const float CLDFB80_40[400] = { -0.0000041528f, -0.0000003900f, -0.0000033779f, 0.0000013260f, -0.0000003143f, -0.0000019348f, 0.0000002820f, 0.0000000171f, 0.0000000756f, 0.0000001478f, -0.0000006625f, 0.0000000082f, 0.0000000114f, -0.0000002690f, -0.0000007281f, 0.0000005577f, -0.0000000239f, 0.0000002429f, -0.0000004091f, 0.0000026069f, 0.0000034995f, -0.0000001726f, 0.0000002145f, -0.0000000401f, 0.0000006351f, -0.0000000199f, -0.0000000701f, -0.0000000269f, -0.0000000511f, -0.0000018158f, 0.0000003875f, 0.0000000519f, 0.0000000148f, 0.0000002168f, 0.0000008257f, -0.0000004464f, 0.0000006336f, -0.0000025316f, -0.0000005295f, -0.0000153180f, -0.0000308298f, -0.0000015398f, -0.0000152958f, 0.0000058438f, -0.0000013050f, -0.0000070187f, 0.0000011695f, 0.0000000763f, 0.0000001881f, 0.0000003524f, -0.0000015865f, -0.0000000049f, -0.0000000249f, -0.0000006192f, -0.0000011121f, 0.0000012060f, -0.0000000166f, 0.0000001099f, -0.0000106587f, 0.0000106129f, -0.0000148286f, 0.0000149412f, 0.0000001626f, 0.0000000725f, -0.0000015409f, 0.0000000950f, 0.0000003484f, 0.0000001231f, 0.0000001497f, 0.0000043429f, -0.0000009269f, -0.0000001280f, -0.0000000626f, -0.0000009033f, -0.0000040910f, 0.0000019169f, -0.0000028704f, 0.0000109325f, -0.0000009252f, 0.0000489011f, -0.0003468893f, -0.0003166165f, -0.0002216732f, -0.0001440458f, -0.0000849613f, -0.0000369773f, -0.0000635098f, -0.0000591070f, -0.0000486803f, -0.0000341989f, -0.0000120811f, -0.0000190275f, -0.0000064494f, 0.0000069162f, -0.0000021987f, 0.0000272330f, 0.0000008567f, -0.0000105879f, 0.0000129785f, -0.0000391934f, -0.0000840231f, 0.0000041534f, -0.0000069437f, 0.0000002747f, 0.0000564106f, -0.0000335888f, -0.0000091603f, -0.0000220067f, -0.0000377648f, -0.0000212702f, -0.0000107779f, -0.0000254405f, -0.0000262093f, -0.0000203017f, 0.0000691479f, -0.0000348713f, -0.0000882526f, -0.0001632241f, -0.0003897623f, -0.0007277920f, -0.0009273781f, -0.0011866370f, -0.0007657374f, -0.0005999553f, -0.0002985749f, -0.0000739204f, -0.0001965512f, -0.0001587267f, -0.0001222374f, -0.0000844484f, -0.0000080229f, -0.0000361957f, -0.0000240334f, 0.0000097698f, -0.0000196647f, 0.0000408240f, -0.0000873313f, -0.0001974888f, -0.0000745679f, 0.0006405856f, -0.0007833142f, -0.0000263740f, 0.0001825899f, 0.0000836328f, -0.0000919747f, 0.0000758216f, 0.0000210116f, 0.0000664122f, 0.0000716628f, -0.0000011497f, 0.0000361513f, 0.0000644816f, 0.0000707314f, 0.0000692091f, -0.0002055217f, 0.0001007125f, 0.0003613597f, 0.0005722141f, 0.0014928248f, 0.0019595151f, -0.0018123181f, -0.0021841686f, -0.0019313868f, -0.0016661118f, -0.0011520847f, -0.0007460794f, -0.0007200000f, -0.0004759622f, -0.0001911740f, 0.0001177745f, 0.0005112609f, 0.0007956582f, 0.0011317990f, 0.0014125904f, 0.0016338868f, 0.0017396047f, 0.0018056445f, 0.0018052119f, 0.0014209425f, 0.0000970427f, 0.0015804238f, 0.0015713347f, 0.0016260006f, 0.0017792934f, 0.0018939546f, 0.0020439435f, 0.0023023017f, 0.0025264800f, 0.0027361034f, 0.0028056985f, 0.0028830887f, 0.0029840440f, 0.0030499023f, 0.0030582362f, 0.0029323543f, 0.0027372045f, 0.0024602608f, 0.0018918251f, 0.0014430869f, 0.0005567848f, -0.0004563602f, -0.0012376069f, -0.0015957612f, -0.0019181670f, -0.0019416943f, -0.0017732047f, -0.0013639015f, -0.0008131398f, -0.0001818974f, 0.0004785653f, 0.0010577894f, 0.0015807496f, 0.0020750864f, 0.0024484891f, 0.0027097859f, 0.0027252487f, 0.0025942388f, 0.0023933812f, 0.0021363139f, 0.0019878937f, 0.0017252901f, 0.0007007239f, -0.0001528669f, -0.0010081819f, -0.0019255759f, -0.0028704299f, -0.0037352063f, -0.0045760650f, -0.0053741521f, -0.0061399643f, -0.0068807053f, -0.0076055948f, -0.0083505693f, -0.0091327970f, -0.0099660466f, -0.0109276265f, -0.0119779770f, -0.0130668832f, -0.0142243967f, -0.0154284789f, 0.0167425678f, 0.0180870259f, 0.0192629868f, 0.0205914974f, 0.0219419942f, 0.0234393525f, 0.0250925019f, 0.0268648248f, 0.0288064481f, 0.0309261411f, 0.0332359672f, 0.0357337882f, 0.0384058373f, 0.0412703873f, 0.0443254146f, 0.0475898752f, 0.0510512395f, 0.0546934731f, 0.0585192825f, 0.0624617968f, 0.0666925081f, 0.0710800609f, 0.0755330962f, 0.0800607977f, 0.0846155968f, 0.0891603964f, 0.0936468776f, 0.0980290565f, 0.1022710303f, 0.1063242147f, 0.1101321383f, 0.1136484689f, 0.1168337639f, 0.1196454804f, 0.1220672782f, 0.1240474957f, 0.1255837620f, 0.1266445580f, 0.1271706795f, 0.1271032514f, 0.1267122859f, 0.1259990302f, 0.1245431141f, 0.1223810246f, 0.1194917271f, 0.1158164730f, 0.1113281486f, 0.1059821849f, 0.0997598463f, 0.0926475473f, 0.0846476380f, 0.0757687538f, 0.0660180747f, 0.0553969977f, 0.0439122033f, 0.0315571111f, 0.0183294511f, 0.0042339687f, -0.0107303776f, -0.0265261206f, -0.0432087461f, -0.0607651851f, -0.0791119955f, -0.0982585186f, -0.1181828257f, -0.1388675094f, -0.1602878821f, -0.1824109255f, -0.2052090118f, -0.2286494873f, -0.2527009969f, -0.2773319455f, -0.3025075323f, -0.3281859857f, -0.3543210024f, -0.3808473827f, -0.4077028160f, -0.4348259057f, -0.4621422068f, -0.4896449982f, 0.5170583948f, 0.5443118380f, 0.5715622296f, 0.5986919021f, 0.6256446209f, 0.6523342207f, 0.6786749944f, 0.7045840109f, 0.7299779641f, 0.7547853740f, 0.7789437691f, 0.8023962911f, 0.8250842263f, 0.8469401272f, 0.8678891784f, 0.8878500705f, 0.9067442457f, 0.9245026353f, 0.9410725379f, 0.9564213901f, 0.9705164338f, 0.9833542233f, 0.9949193206f, 1.0051881116f, 1.0141325299f, 1.0217280805f, 1.0279678321f, 1.0328759990f, 1.0365142018f, 1.0389749476f, 1.0403626832f, 1.0407638661f, 1.0402158247f, 1.0386859218f, 1.0360693875f, 1.0322135556f, 1.0269616972f, 1.0202228069f, 1.0121135675f, 1.0035354422f, 0.9897053659f, 0.9706651118f, 0.9512828704f, 0.9307719520f, 0.9091186544f, 0.8864979484f, 0.8631436896f, 0.8392834698f, 0.8150938957f, 0.7906763160f, 0.7660562253f, 0.7412033356f, 0.7160643565f, 0.6905965223f, 0.6647900873f, 0.6386753533f, 0.6123109042f, 0.5857635917f, 0.5590863635f, 0.5323035448f, 0.5054159767f, 0.4784116395f, 0.4512831657f, 0.4240582163f, 0.3967995814f, 0.3695924504f, 0.3425141525f, 0.3155972383f, 0.2888001961f, 0.2620044852f, 0.2350467488f, 0.2077866806f, 0.1801971236f, 0.1524510915f, 0.1249766396f, 0.0984509433f, 0.0737154373f, 0.0515800648f, 0.0323408448f, 0.0138765961f, }; /* SNR: 85.15, PHASE: 0.166666666666667 */ const float CLDFB80_60[600] = { -0.0000108386f, 0.0000016461f, -0.0000001140f, 0.0000015161f, -0.0000046862f, -0.0000001825f, 0.0000001498f, -0.0000000815f, -0.0000033014f, 0.0000001274f, -0.0000001822f, 0.0000000191f, 0.0000000335f, 0.0000000240f, 0.0000001226f, -0.0000010507f, 0.0000001892f, 0.0000000108f, -0.0000000274f, -0.0000002365f, -0.0000000901f, -0.0000002666f, -0.0000007031f, 0.0000006413f, -0.0000000514f, -0.0000000079f, 0.0000002000f, -0.0000014744f, 0.0000048656f, -0.0000001578f, -0.0000005544f, 0.0000070490f, -0.0000012678f, 0.0000001774f, 0.0000000032f, -0.0000000624f, 0.0000007343f, 0.0000001499f, -0.0000000401f, -0.0000000182f, -0.0000000944f, -0.0000000302f, -0.0000000091f, 0.0000004307f, -0.0000028538f, 0.0000002990f, -0.0000000787f, 0.0000000221f, 0.0000000116f, -0.0000001070f, 0.0000001406f, -0.0000009019f, 0.0000015376f, -0.0000000209f, -0.0000002404f, -0.0000025088f, -0.0000000262f, 0.0000000630f, 0.0000044280f, -0.0000305498f, -0.0000482857f, 0.0000046060f, -0.0000005548f, 0.0000056679f, -0.0000207092f, -0.0000003611f, 0.0000005381f, -0.0000004877f, -0.0000120827f, 0.0000006267f, -0.0000006126f, 0.0000000608f, 0.0000000850f, 0.0000000605f, 0.0000002921f, -0.0000025140f, 0.0000004365f, 0.0000000116f, -0.0000000639f, -0.0000003741f, -0.0000004826f, -0.0000006420f, -0.0000009508f, 0.0000015544f, -0.0000000218f, 0.0000006700f, 0.0000004181f, -0.0000021629f, -0.0000087189f, 0.0000088821f, -0.0000126345f, 0.0000114297f, 0.0000034734f, -0.0000001464f, -0.0000007710f, 0.0000000568f, -0.0000018420f, -0.0000002908f, 0.0000001921f, 0.0000004300f, 0.0000001583f, 0.0000000782f, 0.0000000378f, -0.0000010138f, 0.0000068268f, -0.0000007152f, 0.0000001875f, -0.0000000557f, -0.0000000384f, 0.0000003789f, -0.0000006147f, 0.0000030092f, -0.0000065731f, 0.0000001500f, 0.0000007177f, 0.0000112115f, 0.0000001848f, -0.0000012026f, -0.0000036253f, 0.0000992289f, -0.0003607599f, -0.0003045828f, -0.0002977550f, -0.0001992588f, -0.0002068946f, -0.0001476180f, -0.0000980857f, -0.0000330428f, -0.0000555832f, -0.0000621497f, -0.0000658559f, -0.0000573785f, -0.0000513819f, -0.0000416668f, -0.0000295334f, -0.0000092197f, -0.0000207558f, -0.0000179295f, -0.0000092361f, -0.0000046097f, 0.0000131986f, 0.0000028970f, 0.0000096778f, 0.0000247417f, 0.0000038052f, -0.0000064960f, -0.0000124163f, -0.0000092122f, 0.0000515938f, -0.0000831154f, -0.0001125238f, 0.0000257367f, -0.0000286390f, -0.0000087198f, -0.0000068671f, 0.0000026174f, 0.0000461536f, 0.0000029284f, -0.0000148640f, 0.0000099199f, -0.0000209369f, -0.0000366334f, -0.0000401223f, -0.0000191720f, -0.0000276997f, -0.0000075415f, -0.0000235869f, -0.0000261427f, -0.0000261960f, -0.0000286778f, -0.0000147880f, 0.0000339128f, 0.0000594843f, -0.0000475296f, -0.0000916631f, -0.0001104448f, -0.0001832659f, -0.0003546036f, -0.0004947290f, -0.0008075304f, -0.0008607843f, -0.0011759540f, -0.0011280060f, -0.0008472242f, -0.0006581582f, -0.0005496107f, -0.0003610854f, -0.0001310136f, -0.0000843705f, -0.0001929211f, -0.0001782524f, -0.0001519136f, -0.0001298443f, -0.0001002354f, -0.0000721302f, 0.0000080280f, -0.0000465158f, -0.0000338343f, -0.0000199728f, -0.0000188237f, 0.0000123819f, -0.0000217824f, 0.0000285072f, 0.0000230642f, -0.0000681343f, -0.0001359344f, -0.0002126650f, -0.0001268185f, 0.0002814194f, 0.0005796200f, -0.0006917457f, -0.0004814411f, 0.0000740708f, 0.0001943933f, 0.0001302339f, 0.0000640566f, -0.0000644259f, -0.0000257394f, 0.0000673956f, 0.0000057778f, 0.0000578339f, 0.0000733133f, 0.0000756517f, 0.0000485628f, -0.0000143756f, 0.0000258732f, 0.0000543116f, 0.0000662824f, 0.0000694890f, 0.0000763443f, 0.0000515654f, -0.0001531987f, -0.0001495108f, 0.0001684928f, 0.0003371435f, 0.0003492618f, 0.0007408282f, 0.0013614773f, 0.0018283780f, 0.0019512654f, -0.0018468584f, -0.0019931487f, -0.0021435886f, -0.0019354719f, -0.0018716309f, -0.0015855347f, -0.0012449413f, -0.0008617653f, -0.0007595430f, -0.0007484226f, -0.0006080124f, -0.0004298524f, -0.0002469285f, -0.0000337803f, 0.0001833366f, 0.0004827171f, 0.0006187704f, 0.0008525160f, 0.0010861242f, 0.0012478726f, 0.0014766763f, 0.0016195479f, 0.0016757046f, 0.0017606977f, 0.0018011194f, 0.0018115391f, 0.0017918594f, 0.0015514538f, 0.0007745483f, 0.0000722375f, 0.0013858425f, 0.0016550121f, 0.0015724609f, 0.0016037139f, 0.0017032298f, 0.0018041572f, 0.0018793499f, 0.0019356593f, 0.0020977586f, 0.0022698159f, 0.0024080283f, 0.0025652021f, 0.0027100014f, 0.0027878510f, 0.0028094267f, 0.0028631331f, 0.0029379588f, 0.0029982766f, 0.0030408094f, 0.0030637651f, 0.0030520617f, 0.0029707674f, 0.0028257202f, 0.0027032586f, 0.0025230449f, 0.0021943273f, 0.0018058213f, 0.0015201289f, 0.0010679683f, 0.0003894925f, -0.0002840705f, -0.0009250455f, -0.0013074121f, -0.0015395618f, -0.0017798333f, -0.0019401547f, -0.0019524700f, -0.0018826540f, -0.0017220928f, -0.0014455464f, -0.0011010583f, -0.0007116751f, -0.0002892919f, 0.0001463485f, 0.0005842019f, 0.0009616845f, 0.0013293069f, 0.0016655901f, 0.0019957600f, 0.0022974838f, 0.0024834913f, 0.0026599403f, 0.0027746423f, 0.0027031419f, 0.0026172855f, 0.0025078917f, 0.0023497345f, 0.0021702568f, 0.0020425098f, 0.0019860915f, 0.0018636567f, 0.0011954954f, 0.0005514571f, -0.0000141897f, -0.0005741594f, -0.0011558780f, -0.0017668142f, -0.0024120809f, -0.0030128714f, -0.0035882532f, -0.0041653667f, -0.0047110318f, -0.0052436287f, -0.0057623702f, -0.0062633358f, -0.0067586961f, -0.0072425386f, -0.0077278117f, -0.0082234072f, -0.0087363677f, -0.0092686369f, -0.0098240661f, -0.0104237699f, -0.0111004947f, -0.0118009488f, -0.0125156239f, -0.0132546394f, -0.0140277665f, -0.0148077168f, -0.0156486149f, 0.0165211147f, 0.0174398402f, 0.0182775949f, 0.0190534138f, 0.0199230411f, 0.0208118290f, 0.0217092634f, 0.0226649147f, 0.0237088141f, 0.0248100351f, 0.0259599813f, 0.0271764016f, 0.0284714021f, 0.0298434758f, 0.0312965027f, 0.0328356927f, 0.0344649815f, 0.0361664394f, 0.0379470806f, 0.0398139569f, 0.0417666458f, 0.0438027210f, 0.0459314689f, 0.0481532079f, 0.0504618496f, 0.0528498740f, 0.0553180491f, 0.0578703090f, 0.0604788669f, 0.0631374695f, 0.0659669298f, 0.0688814001f, 0.0718159332f, 0.0747835495f, 0.0777923399f, 0.0808186627f, 0.0838554308f, 0.0868947517f, 0.0899116089f, 0.0929041126f, 0.0958553537f, 0.0987459119f, 0.1015756668f, 0.1043243835f, 0.1069774737f, 0.1095164928f, 0.1119302041f, 0.1142027056f, 0.1163273532f, 0.1182880738f, 0.1200768686f, 0.1216925159f, 0.1231125873f, 0.1243362384f, 0.1253610086f, 0.1261745561f, 0.1267721689f, 0.1271241769f, 0.1272284850f, 0.1270239254f, 0.1267589302f, 0.1264656300f, 0.1258046109f, 0.1248336057f, 0.1235525506f, 0.1219504858f, 0.1200252469f, 0.1177556666f, 0.1151258716f, 0.1121348547f, 0.1087635447f, 0.1050067776f, 0.1008590143f, 0.0963144136f, 0.0913759079f, 0.0860427416f, 0.0803171444f, 0.0742040884f, 0.0677045255f, 0.0608146076f, 0.0535432746f, 0.0458874964f, 0.0378425383f, 0.0294132744f, 0.0205946670f, 0.0113896330f, 0.0018004463f, -0.0081766098f, -0.0185270856f, -0.0292402963f, -0.0403618604f, -0.0518892622f, -0.0637672152f, -0.0759976007f, -0.0885871716f, -0.1015258403f, -0.1148084399f, -0.1284318249f, -0.1423873123f, -0.1566679827f, -0.1712634880f, -0.1861645588f, -0.2013636452f, -0.2168508609f, -0.2326166940f, -0.2486510515f, -0.2649463144f, -0.2814911369f, -0.2982752192f, -0.3152867427f, -0.3325116487f, -0.3499355632f, -0.3675395959f, -0.3853024154f, -0.4032065616f, -0.4212350657f, -0.4393672268f, -0.4575772736f, -0.4758650706f, -0.4942431738f, 0.5125205124f, 0.5306725282f, 0.5488577283f, 0.5670276108f, 0.5851445237f, 0.6031984616f, 0.6211684103f, 0.6390281696f, 0.6567504157f, 0.6743123793f, 0.6916889535f, 0.7088542063f, 0.7257845309f, 0.7424591009f, 0.7588584440f, 0.7749648928f, 0.7907617163f, 0.8062324551f, 0.8213587554f, 0.8361206884f, 0.8504967301f, 0.8644639148f, 0.8779983070f, 0.8910752510f, 0.9036722755f, 0.9157691951f, 0.9273480313f, 0.9383949141f, 0.9489012228f, 0.9588586337f, 0.9682545154f, 0.9770929872f, 0.9853708240f, 0.9930809758f, 1.0002174168f, 1.0067717565f, 1.0127347711f, 1.0180999340f, 1.0228621525f, 1.0270212624f, 1.0305853696f, 1.0335685634f, 1.0359921286f, 1.0378851378f, 1.0392782898f, 1.0402014380f, 1.0406826783f, 1.0407387739f, 1.0403729933f, 1.0395784114f, 1.0383296408f, 1.0365863031f, 1.0343061945f, 1.0314399587f, 1.0279374991f, 1.0237762412f, 1.0189593836f, 1.0135316260f, 1.0076524569f, 1.0021150619f, 0.9928949328f, 0.9800034826f, 0.9674886109f, 0.9545877700f, 0.9411740407f, 0.9272370892f, 0.9128016387f, 0.8979145998f, 0.8826491402f, 0.8670774704f, 0.8512639848f, 0.8352705212f, 0.8191434022f, 0.8029102780f, 0.7865870046f, 0.7701746598f, 0.7536620391f, 0.7370346195f, 0.7202763550f, 0.7033730373f, 0.6863185156f, 0.6691140098f, 0.6517679660f, 0.6342966925f, 0.6167195326f, 0.5990562278f, 0.5813252524f, 0.5635402746f, 0.5457078369f, 0.5278295335f, 0.5099048467f, 0.4919297136f, 0.4738984035f, 0.4558126317f, 0.4376796414f, 0.4195151253f, 0.4013417258f, 0.3831842053f, 0.3650685616f, 0.3470163688f, 0.3290362900f, 0.3111247009f, 0.2932627295f, 0.2754121565f, 0.2575267491f, 0.2395585877f, 0.2214602867f, 0.2032086383f, 0.1848152793f, 0.1663238479f, 0.1478361334f, 0.1295133662f, 0.1115465981f, 0.0941771468f, 0.0776828916f, 0.0622889538f, 0.0481725935f, 0.0353986404f, 0.0233593568f, 0.0103354077f, }; const float rot_vec_ana_re_L10[5] = { 2.8262465099f,2.6536058227f,2.2212117088f,1.5713899168f,0.7677495312f, }; const float rot_vec_ana_im_L10[5] = { -0.1110435278f,-0.9789668726f,-1.7510621190f,-2.3517512048f,-2.7222344971f, }; const float rot_vec_ana_re_L16[8] = { 2.2353945156f,2.1817362886f,2.0442351594f,1.8281752196f,1.5418595313f,1.1962910459f, 0.8047497665f,0.3822824048f, }; const float rot_vec_ana_im_L16[8] = { -0.0548758552f,-0.4899252669f,-0.9061471254f,-1.2875462580f,-1.6194657100f,-1.8891500029f, -2.0862353207f,-2.2031477851f, }; const float rot_vec_ana_re_L20[10] = { 1.9996144810f,1.9688531362f,1.8896120929f,1.7638425287f,1.5946413075f,1.3861747251f, 1.1435759205f,0.8728184813f,0.5805693545f,0.2740246834f, }; const float rot_vec_ana_im_L20[10] = { -0.0392673849f,-0.3515925599f,-0.6552603591f,-0.9427934737f,-1.2071118839f,-1.4417071934f, -1.6408028871f,-1.7994965681f,-1.9138806715f,-1.9811386809f, }; const float rot_vec_ana_re_L30[15] = { 1.6328532594f,1.6216739995f,1.5927273399f,1.5463304262f,1.4829915928f,1.4034047932f, 1.3084419970f,1.1991436365f,1.0767072074f,0.9424741487f,0.7979151461f,0.6446140182f, 0.4842503641f,0.3185811618f,0.1494215176f, }; const float rot_vec_ana_im_L30[15] = { -0.0213752201f,-0.1919377663f,-0.3603974022f,-0.5249084488f,-0.6836684885f,-0.8349381133f, -0.9770599813f,-1.1084769757f,-1.2277492644f,-1.3335700753f,-1.4247800133f,-1.5003797633f, -1.5595410387f,-1.6016156561f,-1.6261426373f, }; const float rot_vec_ana_re_L32[16] = { 1.5810197732f,1.5715049038f,1.5468555830f,1.5073091974f,1.4532466002f,1.3851884438f, 1.3037901655f,1.2098356752f,1.1042298059f,0.9879896000f,0.8622345142f,0.7281756387f, 0.5871040336f,0.4403782958f,0.2894114743f,0.1356574621f, }; const float rot_vec_ana_im_L32[16] = { -0.0194030057f,-0.1742766119f,-0.3274718390f,-0.4775133334f,-0.6229561133f,-0.7623994853f, -0.8945005334f,-1.0179870525f,-1.1316697997f,-1.2344539482f,-1.3253496303f,-1.4034814709f, -1.4680970178f,-1.5185739878f,-1.5544262602f,-1.5753085580f, }; const float rot_vec_ana_re_L40[20] = { 1.4141454099f,1.4086967623f,1.3945630307f,1.3718313542f,1.3406418813f,1.3011869053f, 1.2537096794f,1.1985029164f,1.1359069844f,1.0663078081f,0.9901344896f,0.9078566627f, 0.8199815976f,0.7270510733f,0.6296380373f,0.5283430735f,0.4237906989f,0.3166255137f, 0.2075082270f,0.0971115830f, }; const float rot_vec_ana_im_L40[20] = { -0.0138837862f,-0.1247935572f,-0.2349339344f,-0.3436258658f,-0.4501992295f,-0.5539969652f, -0.6543791254f,-0.7507268207f,-0.8424460355f,-0.9289712904f,-1.0097691283f,-1.0843414038f, -1.1522283539f,-1.2130114331f,-1.2663158934f,-1.3118130952f,-1.3492225330f,-1.3783135652f, -1.3989068360f,-1.4108753809f, }; const float rot_vec_ana_re_L60[30] = { 1.1546758066f,1.1526978375f,1.1475604038f,1.1392775867f,1.1278720890f,1.1133751723f, 1.0958265716f,1.0752743865f,1.0517749490f,1.0253926695f,0.9961998600f,0.9642765358f, 0.9297101968f,0.8925955867f,0.8530344341f,0.8111351735f,0.7670126477f,0.7207877935f, 0.6725873102f,0.6225433117f,0.5707929653f,0.5174781151f,0.4627448933f,0.4067433200f, 0.3496268915f,0.2915521599f,0.2326783042f,0.1731666934f,0.1131804447f,0.0528839763f, }; const float rot_vec_ana_im_L60[30] = { -0.0075574434f,-0.0679781487f,-0.1282125306f,-0.1880954908f,-0.2474628944f,-0.3061520194f, -0.3640020030f,-0.4208542824f,-0.4765530295f,-0.5309455779f,-0.5838828413f,-0.6352197224f, -0.6848155104f,-0.7325342668f,-0.7782451976f,-0.8218230124f,-0.8631482675f,-0.9021076931f, -0.9385945043f,-0.9725086932f,-1.0037573034f,-1.0322546845f,-1.0579227273f,-1.0806910775f, -1.1004973285f,-1.1172871929f,-1.1310146507f,-1.1416420760f,-1.1491403397f,-1.1534888896f, }; const float rot_vec_syn_re_L10[5] = { 0.1117172025f,0.1048929802f,0.0878011021f,0.0621146404f,0.0303479649f, }; const float rot_vec_syn_im_L10[5] = { -0.0043893808f,-0.0386970634f,-0.0692168078f,-0.0929611287f,-0.1076057667f, }; const float rot_vec_syn_re_L16[8] = { 0.1117697258f,0.1090868144f,0.1022117580f,0.0914087610f,0.0770929766f,0.0598145523f, 0.0402374883f,0.0191141202f, }; const float rot_vec_syn_im_L16[8] = { -0.0027437928f,-0.0244962633f,-0.0453073563f,-0.0643773129f,-0.0809732855f,-0.0944575001f, -0.1043117660f,-0.1101573893f, }; const float rot_vec_syn_re_L20[10] = { 0.1117818477f,0.1100622363f,0.1056325273f,0.0986017949f,0.0891431591f,0.0774895228f, 0.0639278374f,0.0487920364f,0.0324548136f,0.0153184455f, }; const float rot_vec_syn_im_L20[10] = { -0.0021951135f,-0.0196546216f,-0.0366301676f,-0.0527037574f,-0.0674796057f,-0.0805938822f, -0.0917236698f,-0.1005949163f,-0.1069891821f,-0.1107490191f, }; const float rot_vec_syn_re_L30[15] = { 0.1117938204f,0.1110284288f,0.1090465865f,0.1058700070f,0.1015334935f,0.0960845578f, 0.0895828996f,0.0820997524f,0.0737171032f,0.0645267939f,0.0546295156f,0.0441337048f, 0.0331543560f,0.0218117611f,0.0102301920f, }; const float rot_vec_syn_im_L30[15] = { -0.0014634613f,-0.0131410805f,-0.0246747234f,-0.0359380248f,-0.0468075816f,-0.0571643048f, -0.0668947240f,-0.0758922305f,-0.0840582459f,-0.0913033015f,-0.0975480191f,-0.1027239802f, -0.1067744758f,-0.1096551279f,-0.1113343755f, }; const float rot_vec_syn_re_L32[16] = { 0.1117949803f,0.1111221774f,0.1093792072f,0.1065828555f,0.1027600526f,0.0979476142f, 0.0921918867f,0.0855483010f,0.0780808384f,0.0698614146f,0.0609691872f,0.0514897932f, 0.0415145243f,0.0311394479f,0.0204644816f,0.0095924311f, }; const float rot_vec_syn_im_L32[16] = { -0.0013719997f,-0.0123232174f,-0.0231557558f,-0.0337652916f,-0.0440496492f,-0.0539097846f, -0.0632507393f,-0.0719825548f,-0.0800211389f,-0.0872890758f,-0.0937163711f,-0.0992411265f, -0.1038101357f,-0.1073793965f,-0.1099145349f,-0.1113911364f, }; const float rot_vec_syn_re_L40[20] = { 0.1117980110f,0.1113672575f,0.1102498879f,0.1084527911f,0.1059870468f,0.1028678571f, 0.0991144528f,0.0947499750f,0.0898013320f,0.0842990340f,0.0782770044f,0.0717723711f, 0.0648252372f,0.0574784342f,0.0497772575f,0.0417691875f,0.0335035965f,0.0250314447f, 0.0164049658f,0.0076773447f, }; const float rot_vec_syn_im_L40[20] = { -0.0010976097f,-0.0098657969f,-0.0185731583f,-0.0271660100f,-0.0355913742f,-0.0437973057f, -0.0517332122f,-0.0593501664f,-0.0666012069f,-0.0734416290f,-0.0798292589f,-0.0857247149f, -0.0910916496f,-0.0958969739f,-0.1001110615f,-0.1037079311f,-0.1066654069f,-0.1089652549f, -0.1105932959f,-0.1115394925f, }; const float rot_vec_syn_re_L60[30] = { 0.1118010042f,0.1116094882f,0.1111120583f,0.1103100780f,0.1092057454f,0.1078020875f, 0.1061029516f,0.1041129948f,0.1018376715f,0.0992832183f,0.0964566367f,0.0933656741f, 0.0900188027f,0.0864251961f,0.0825947039f,0.0785378255f,0.0742656803f,0.0697899780f, 0.0651229863f,0.0602774970f,0.0552667912f,0.0501046030f,0.0448050816f,0.0393827526f, 0.0338524782f,0.0282294165f,0.0225289799f,0.0167667930f,0.0109586494f,0.0051204690f, }; const float rot_vec_syn_im_L60[30] = { -0.0007317463f,-0.0065819559f,-0.0124141249f,-0.0182122676f,-0.0239604917f,-0.0296430418f, -0.0352443424f,-0.0407490407f,-0.0461420487f,-0.0514085845f,-0.0565342130f,-0.0615048852f, -0.0663069767f,-0.0709273254f,-0.0753532672f,-0.0795726710f,-0.0835739716f,-0.0873462018f, -0.0908790221f,-0.0941627493f,-0.0971883830f,-0.0999476301f,-0.1024329276f,-0.1046374636f, -0.1065551956f,-0.1081808673f,-0.1095100227f,-0.1105390187f,-0.1112650350f,-0.1116860815f, }; const float bpf_weights_16[CLDFB_NO_COL_MAX] = { 1.000040f, 0.702561f, 0.208838f, 0.001553f, 0.001777f, 0.001370f, 0.000926f, 0.000554f, 0.000270f, 0.000080f, 0.000030f, 0.000082f, 0.000081f, 0.000052f, 0.000017f, 0.000016f }; /*-------------------------------------------------------------------* * LP CNG excitation details code book *-------------------------------------------------------------------*/ const float CNG_details_codebook[64][NUM_ENV_CNG]= { { 6.924306f,8.544082f,9.583108f,8.550549f,7.972679f,7.363361f,8.439027f,7.487016f, 9.149983f,8.352748f,8.823824f,9.544188f,8.314853f,7.809112f,7.218567f,8.612295f, 7.780142f,7.232745f,6.965988f,7.568601f }, { 9.374340f,7.795641f,7.379285f,8.396346f,9.895033f,10.221931f,10.015446f,10.087706f, 10.536375f,10.581183f,10.733459f,10.821303f,10.822197f,10.777159f,10.746262f,10.936824f, 10.820635f,10.881506f,9.992537f,8.925898f }, { 8.260058f,8.387338f,7.832300f,9.092162f,8.387571f,7.401807f,7.888559f,7.678440f, 8.136854f,8.515383f,8.772667f,9.228788f,8.836490f,9.518608f,8.908790f,9.499302f, 9.932305f,10.237994f,10.133189f,8.193151f }, { 10.124639f,10.788106f,10.767182f,10.692019f,10.830482f,9.359397f,10.431694f,11.161179f, 10.356518f,10.541230f,8.185465f,8.116880f,11.338371f,10.284152f,10.511218f,10.880645f, 10.220743f,11.179196f,11.066867f,10.445066f }, { 9.726912f,9.842380f,10.314793f,10.252558f,10.717097f,10.746290f,9.953682f,10.412869f, 9.836176f,8.674436f,7.351096f,7.309156f,7.246638f,6.955070f,7.846981f,9.111964f, 9.612611f,8.519944f,9.454450f,9.249232f }, { 10.298511f,10.439103f,10.451839f,9.763371f,10.337607f,10.939195f,10.938910f,10.824776f, 10.976114f,10.974276f,10.754051f,10.581675f,10.222703f,9.126027f,8.198234f,7.695039f, 6.968823f,7.457246f,9.904172f,9.612813f }, { 9.908430f,10.124971f,10.253873f,8.625096f,8.128853f,8.701863f,10.346726f,10.291558f, 8.935132f,9.638033f,10.793781f,10.670537f,10.681151f,10.410478f,10.512748f,10.861156f, 10.653567f,10.911621f,10.629312f,9.736268f }, { 11.810060f,11.612185f,11.468822f,11.083865f,11.406177f,11.832067f,11.661546f,11.277926f, 7.555347f,8.622866f,12.176802f,10.751250f,10.721958f,9.523929f,9.626828f,11.701570f, 11.848139f,10.849975f,11.640839f,11.392167f }, { 8.572747f,8.869074f,8.680323f,9.760900f,10.671435f,9.673125f,9.516179f,10.428748f, 10.353197f,10.692994f,11.081258f,10.146167f,10.790188f,10.432859f,9.273769f,7.979839f, 8.209611f,9.644866f,8.476103f,10.683167f }, { 8.595222f,7.301031f,8.322734f,11.874195f,11.543133f,10.814659f,12.073861f,11.818481f, 11.602201f,12.035087f,11.952577f,12.363761f,12.167592f,12.254158f,12.108662f,12.373547f, 11.860260f,9.014181f,10.036099f,8.638621f }, { 10.275646f,10.526311f,10.252750f,10.178793f,10.466885f,9.088381f,9.273152f,8.119694f, 7.295121f,7.350810f,8.158489f,9.209213f,9.370357f,9.310070f,9.168746f,9.856857f, 10.187559f,10.613888f,10.080095f,10.451872f }, { 12.318529f,11.945473f,12.303066f,12.451133f,12.272326f,12.478561f,12.303981f,12.279855f, 12.189694f,10.818603f,10.013278f,8.600300f,7.832378f,8.014066f,11.346451f,11.673646f, 10.466306f,10.728513f,11.475281f,12.085626f }, { 10.014422f,10.218554f,10.442979f,10.508470f,10.393559f,10.661362f,10.757983f,10.689740f, 10.897243f,10.382886f,10.379339f,9.271018f,8.495484f,7.720114f,7.161139f,8.396199f, 9.721141f,10.159747f,9.918998f,9.919149f }, { 11.034192f,11.766760f,11.903868f,11.195253f,11.683506f,11.900399f,12.318353f,12.368064f, 12.271189f,12.306809f,12.485785f,12.136335f,12.220796f,11.960956f,11.879458f,11.099092f, 11.004694f,7.854421f,8.103326f,11.485018f }, { 11.692872f,12.115354f,12.250820f,9.919422f,11.204221f,7.870928f,8.415102f,9.997985f, 11.942008f,12.149603f,10.633919f,11.269428f,12.354749f,12.288899f,12.291698f,12.195188f, 12.179792f,12.030136f,12.092098f,12.207270f }, { 11.755179f,8.064263f,9.749080f,12.185180f,11.136729f,11.763196f,8.889953f,8.555951f, 12.034410f,12.245128f,11.697193f,11.559429f,10.780444f,11.789196f,12.130393f,11.689948f, 11.623942f,11.399507f,11.981954f,10.904933f }, { 7.074471f,7.358261f,8.067513f,8.080610f,8.765159f,10.199254f,10.289200f,9.618623f, 9.822992f,9.500810f,10.655619f,10.906424f,10.611357f,10.641397f,10.077725f,9.173571f, 9.274541f,8.160206f,7.797956f,7.321218f }, { 9.641497f,8.341463f,7.913689f,9.615902f,12.212582f,12.373892f,11.788377f,12.044415f, 11.569188f,12.302634f,12.361569f,12.119579f,12.223657f,12.303328f,12.384604f,12.306796f, 12.109153f,12.154896f,10.165297f,11.492375f }, { 10.334753f,9.264669f,7.656600f,7.729103f,7.665664f,7.728192f,8.657525f,10.255910f, 10.287778f,9.540968f,9.808374f,10.307826f,10.623036f,10.579712f,10.909159f,10.597071f, 10.508566f,10.917792f,10.740663f,10.609496f }, { 12.464439f,12.387059f,12.281745f,12.415715f,12.481938f,12.064619f,12.051270f,10.871007f, 9.753584f,8.710700f,7.918756f,8.510613f,11.316961f,11.829647f,11.667075f,12.037048f, 12.184728f,12.269155f,12.388278f,12.256269f }, { 10.985455f,10.863164f,10.984641f,11.150430f,10.892216f,10.949295f,10.885633f,9.861358f, 9.347205f,7.782274f,7.420996f,7.042737f,7.859407f,9.545682f,10.120652f,10.378402f, 10.381286f,10.677829f,10.603589f,10.744861f }, { 11.619549f,10.501878f,10.291579f,11.911536f,12.263100f,11.638079f,11.827111f,11.886570f, 11.885740f,11.982909f,11.279054f,11.820845f,11.897547f,11.508306f,10.922131f,7.355962f, 9.090330f,12.035433f,11.309077f,11.814055f }, { 12.109969f,11.648486f,8.360036f,10.628968f,8.450899f,8.016151f,10.885192f,11.289871f, 11.616718f,11.618735f,12.016033f,11.572757f,11.580486f,11.526383f,12.019007f,12.063487f, 12.178980f,11.612581f,11.149741f,11.315678f }, { 11.982289f,12.039945f,10.895576f,11.808078f,11.972691f,11.752888f,11.100145f,7.459962f, 9.401170f,12.240148f,11.661579f,11.968470f,10.817088f,11.060538f,12.236608f,12.217974f, 11.888335f,12.158744f,12.290771f,12.263520f }, { 7.551557f,9.193432f,10.939713f,10.390559f,10.388751f,10.007786f,10.151727f,11.200849f, 10.927567f,11.044189f,10.805322f,10.912845f,10.931647f,10.806228f,10.434938f,10.151430f, 9.517872f,9.532900f,8.436217f,7.561033f }, { 7.914798f,9.662442f,12.315506f,11.969525f,11.779161f,10.819254f,11.074059f,12.259423f, 12.310757f,12.028122f,12.393316f,12.259255f,12.478424f,12.251179f,11.982938f,12.119265f, 12.321500f,11.854281f,11.885189f,7.733390f }, { 11.074573f,11.119295f,11.026623f,10.587306f,10.326489f,9.440902f,7.861374f,7.502906f, 10.206084f,10.379787f,10.375632f,9.986627f,9.698876f,10.544230f,10.857472f,10.772952f, 11.004036f,10.641294f,11.111090f,11.084974f }, { 12.312282f,11.569094f,12.027453f,11.997540f,12.050622f,12.124397f,11.441438f,11.697535f, 11.553439f,11.941341f,11.153276f,7.695126f,8.494260f,12.226931f,11.163250f,11.056936f, 11.197067f,8.736544f,11.552220f,11.995921f }, { 11.841222f,12.040383f,12.323356f,12.164479f,12.146215f,12.485503f,12.354469f,12.261094f, 12.176959f,12.164176f,11.750998f,10.552405f,11.221596f,7.971972f,7.827245f,9.382548f, 11.354092f,11.724841f,11.744237f,11.836000f }, { 11.863342f,11.946292f,10.565049f,10.276701f,12.088562f,11.987997f,11.516201f,11.701505f, 12.013391f,12.254663f,12.160517f,11.530292f,11.789889f,12.011831f,12.307916f,11.817711f, 7.388736f,8.277118f,12.146955f,11.330376f }, { 10.445749f,10.383992f,11.260086f,10.207924f,7.801878f,12.093586f,12.186577f,12.208809f, 11.981275f,8.760727f,10.776209f,11.675901f,11.273578f,12.169944f,11.829489f,11.361869f, 11.931891f,11.640718f,12.033961f,11.504183f }, { 11.418176f,11.996329f,11.634505f,12.108740f,12.232028f,12.223016f,11.168437f,11.585357f, 12.287769f,10.519855f,11.961341f,12.135221f,11.941004f,11.400546f,12.083041f,12.021441f, 12.087834f,12.196712f,12.153121f,11.933741f }, { 8.696248f,7.886807f,8.518339f,9.431623f,10.314435f,10.492967f,9.433606f,9.312992f, 9.056099f,9.558634f,9.174564f,8.692657f,8.529263f,9.327991f,8.283659f,7.715106f, 6.828506f,7.494133f,8.531253f,8.664100f }, { 8.749990f,9.185427f,7.974370f,7.730459f,9.471635f,11.246136f,11.225875f,11.585999f, 11.810496f,11.799830f,11.983171f,12.095557f,12.123705f,12.150494f,12.057273f,12.058468f, 12.128398f,12.119547f,11.788305f,9.252466f }, { 10.620537f,10.064924f,9.681692f,9.556549f,8.067345f,7.460412f,7.355683f,7.793144f, 7.842898f,9.346528f,10.380497f,9.183150f,10.255505f,10.654870f,10.772358f,10.480097f, 10.444176f,10.506150f,10.650716f,10.807790f }, { 11.832230f,12.163531f,12.210456f,12.488221f,12.106194f,11.716965f,12.486103f,11.839725f, 12.333147f,12.101274f,7.643279f,9.040410f,12.480962f,11.550027f,12.089822f,11.299880f, 10.714154f,12.309387f,12.290308f,12.153176f }, { 11.011459f,10.708299f,10.217109f,10.618895f,10.503453f,10.618390f,10.261137f,9.054105f, 8.967848f,9.665904f,9.986521f,8.089101f,7.524849f,8.521540f,10.395278f,9.179631f, 8.431019f,9.362102f,9.471244f,10.168259f }, { 11.385670f,11.988930f,11.979943f,12.082343f,12.240467f,12.163774f,12.389517f,12.076717f, 12.254186f,12.165658f,11.824725f,11.992508f,10.716744f,10.217215f,10.610125f,8.819359f, 7.553169f,8.576138f,7.663194f,8.161689f }, { 11.335433f,10.824145f,11.164507f,9.187079f,8.159495f,9.823243f,11.259155f,10.102992f, 10.894949f,10.692467f,9.597807f,11.322961f,11.068228f,10.523948f,11.179681f,11.389847f, 11.204894f,11.328845f,10.761085f,11.533332f }, { 12.452473f,12.226961f,12.414132f,12.453005f,12.224496f,11.829764f,9.932276f,9.747059f, 7.944996f,8.074952f,10.982581f,11.711254f,11.656355f,11.826878f,12.063810f,12.048336f, 12.100821f,12.339723f,12.171370f,12.491159f }, { 8.693851f,9.237082f,10.193584f,10.816728f,11.382530f,11.124274f,10.905251f,10.747824f, 11.006325f,11.224193f,11.377479f,11.195903f,11.132830f,10.824033f,11.188758f,8.716391f, 7.654446f,8.441257f,9.691014f,10.598401f }, { 8.319717f,9.639095f,12.133827f,12.102556f,11.919735f,12.334815f,11.993119f,12.259864f, 12.158967f,12.356464f,12.374672f,12.379640f,12.396713f,12.146963f,12.203291f,11.311678f, 8.605060f,10.391322f,8.431939f,7.948593f }, { 11.088415f,10.884553f,11.032227f,11.202397f,10.523194f,10.606202f,9.688022f,9.082882f, 8.526981f,7.401042f,8.779226f,10.680804f,10.619134f,10.539470f,10.309608f,10.253415f, 10.965061f,10.624226f,10.946682f,11.063556f }, { 12.049884f,12.395158f,12.315166f,12.298508f,12.409452f,12.353070f,12.369121f,12.232027f, 12.363715f,12.371237f,11.460312f,12.028971f,8.312684f,8.200596f,10.810326f,11.885057f, 12.140730f,11.769361f,11.470847f,11.374696f }, { 11.318600f,10.855831f,10.592196f,10.190356f,10.852498f,11.480312f,10.896217f,11.130247f, 11.148643f,11.272378f,10.871895f,11.095495f,8.893303f,9.083083f,8.899607f,8.150163f, 10.035096f,11.004933f,11.685496f,11.349737f }, { 12.437282f,11.779876f,12.273005f,12.224300f,11.436580f,12.714269f,12.546281f,12.410135f, 12.488817f,12.347595f,12.661417f,12.587544f,12.405058f,12.452996f,11.808998f,11.644467f, 11.697278f,7.908151f,11.580981f,12.178329f }, { 12.383582f,11.978909f,12.263449f,12.181010f,11.308676f,10.129762f,7.630591f,11.672964f, 12.255041f,12.043112f,12.393015f,11.554902f,11.858689f,12.585340f,12.405621f,12.438987f, 12.422440f,12.429326f,12.518377f,12.596020f }, { 12.294228f,7.930717f,10.000073f,12.115003f,11.276157f,12.374399f,12.087711f,11.020492f, 12.205840f,12.519583f,12.094537f,12.497026f,12.274739f,12.595242f,12.627252f,12.238583f, 12.414072f,12.458577f,12.250254f,12.212063f }, { 10.220644f,10.133038f,9.384470f,9.330061f,9.287414f,10.419335f,10.086744f,10.347366f, 9.606766f,9.729086f,10.175982f,10.490002f,10.450778f,10.530566f,10.662402f,10.198713f, 9.756838f,7.568992f,7.395587f,10.386068f }, { 12.338935f,11.958341f,7.484207f,8.228665f,11.650372f,11.382147f,12.027068f,11.762714f, 11.266207f,12.095256f,12.402075f,12.538692f,12.335326f,12.212730f,12.551470f,12.419568f, 11.941353f,12.565509f,12.164819f,12.121121f }, { 11.530771f,10.926392f,10.037753f,7.947472f,8.046108f,7.827244f,7.274969f,9.599776f, 10.971369f,9.563985f,10.664629f,11.255960f,10.737041f,11.198854f,11.004945f,11.547729f, 11.150601f,11.446258f,11.272099f,11.224279f }, { 12.154252f,12.426224f,12.362570f,12.276526f,11.848105f,12.233492f,12.238678f,11.606319f, 11.630966f,8.226843f,8.663989f,12.324718f,11.910058f,11.977910f,11.282999f,11.276901f, 12.135061f,12.316558f,12.126414f,12.222776f }, { 10.840468f,10.882261f,10.935246f,10.880699f,11.083740f,11.099067f,10.870871f,10.768135f, 10.532293f,10.338410f,9.085450f,8.402101f,7.755022f,9.959888f,10.061506f,10.644034f, 10.614702f,10.481884f,10.760615f,11.004514f }, { 12.122748f,12.306721f,11.587852f,12.430750f,12.175253f,11.815797f,12.308073f,12.320755f, 12.218995f,12.463879f,12.424328f,12.559034f,12.042230f,11.765315f,8.922847f,9.539627f, 7.874360f,8.521064f,9.272277f,12.165272f }, { 12.485865f,11.205798f,11.664264f,10.653128f,7.610178f,8.947474f,11.966330f,12.100983f, 12.107791f,11.909583f,11.112039f,12.535769f,12.489249f,12.444782f,12.346417f,12.296227f, 12.534035f,12.334972f,12.077379f,12.275601f }, { 12.425206f,12.450086f,12.341137f,12.568719f,12.320243f,12.361140f,12.099853f,11.035367f, 8.319082f,12.032015f,12.280725f,11.606254f,12.321961f,11.066000f,11.799191f,12.266534f, 12.556672f,12.545979f,12.602019f,12.030170f }, { 8.871724f,11.287228f,11.532060f,10.621922f,11.143099f,10.988887f,10.820709f,11.695601f, 10.989671f,11.008445f,11.567303f,11.250048f,11.122625f,9.865336f,9.707122f,11.365924f, 11.399251f,11.287416f,8.975295f,9.569743f }, { 9.780970f,11.908114f,11.473997f,12.024678f,11.860840f,11.723680f,12.367899f,12.108915f, 12.340000f,12.381660f,12.315555f,12.282724f,12.359691f,11.991398f,12.220946f,12.155458f, 12.413619f,11.642963f,7.867479f,8.503173f }, { 12.100057f,12.246774f,12.168076f,11.771790f,10.224229f,8.752139f,8.276130f,8.317601f, 8.677964f,10.925248f,11.599258f,10.861567f,11.187905f,11.979478f,12.035626f,12.058556f, 12.150581f,12.192816f,12.171208f,12.225122f }, { 12.205771f,12.205347f,12.351176f,12.237871f,12.382323f,12.461397f,12.301606f,12.369697f, 11.959662f,11.558475f,10.953750f,8.388442f,8.819866f,12.077829f,11.983337f,11.818386f, 12.286803f,12.458479f,12.329653f,12.507854f }, { 11.530513f,11.199886f,12.487312f,12.406390f,12.054689f,12.255518f,12.097314f,12.346512f, 12.310920f,11.682766f,12.332119f,12.015944f,11.992967f,11.917038f,7.877818f,9.167294f, 12.226696f,11.735081f,12.256387f,11.444395f }, { 12.132508f,12.328980f,11.918468f,12.068428f,12.493188f,12.275755f,12.524507f,12.294735f, 12.582710f,12.488275f,12.132201f,12.076183f,12.373331f,11.888222f,11.716764f,10.961454f, 8.318602f,11.632863f,12.609443f,11.484080f }, { 11.948422f,12.164044f,11.930634f,7.560744f,9.486037f,12.354504f,11.826571f,11.874330f, 10.939306f,10.727631f,12.333044f,12.133337f,12.172671f,12.228312f,12.004416f,12.354714f, 12.154241f,11.830939f,12.245022f,12.033812f }, { 12.494522f,12.883386f,12.105121f,12.216132f,12.821167f,10.613010f,12.572326f,12.881424f, 11.754890f,12.876678f,12.439420f,12.258423f,12.945374f,12.765532f,12.874741f,12.539070f, 12.711823f,12.611643f,11.904738f,12.176199f } }; /*-------------------------------------------------------------------* * FD CNG *-------------------------------------------------------------------*/ const int d_array[18] = { 1, 2, 5, 8, 10, 15, 20, 30, 40, 60, 80, 120, 140, 160, 180, 220, 260, 300 }; const float m_array[18] = { 0.000f, 0.260f, 0.480f, 0.580f, 0.610f, 0.668f, 0.705f, 0.762f, 0.800f, 0.841f, 0.865f, 0.890f, 0.900f, 0.910f, 0.920f, 0.930f, 0.935f, 0.940f }; const float msQeqInvAv_thresh[3] = { 0.01f, 0.03f, 0.05f }; const float msNoiseSlopeMax[4] = { 2.f, 1.6f, 1.3f, 1.1f }; const SCALE_SETUP scaleTable[20] = { { 0, 0, 8000, -5.5f }, { 0, 8000, 9600, -5.0f }, { 0, 9600, 13200, -4.0f }, { 0, 13200, 16400, -3.0f }, { 0, 16400, 24400, -1.5f }, { 0, 24400,128000, -0.5f }, { 1, 0, 8000, -5.5f }, { 1, 8000, 9600, -5.0f }, { 1, 9600, 13200, -1.55f}, { 1, 13200, 16400, -3.0f }, { 1, 16400, 24400, -0.6f }, { 1, 24400, 64000, -0.2f }, { 1, 32000,128000, 0.0f }, { 2, 0, 8000, -0.9f }, { 2, 8000, 9600, -0.65f}, { 2, 9600, 13200, -2.0f }, { 2, 13200, 16400, -3.0f }, { 2, 16400, 24400, -0.8f }, { 2, 24400, 32000, -0.25f}, { 2, 32000,128000, 0.0f }, }; const SCALE_SETUP scaleTable_cn_only[18] = { { 0, 0, 8000, -3.5f }, { 0, 8000, 9600, -3.0f }, { 0, 9600, 13200, -2.5f }, { 0, 13200,16400, -2.0f }, { 0, 16400,128001, 0.0f }, { 1, 0, 8000, -3.0f }, { 1, 8000, 9600, -2.5f }, { 1, 9600, 13200, -1.5f }, { 1, 13200, 16400, -2.5f }, { 1, 16400, 24400, -0.5f }, { 1, 24400, 128001, 0.0f }, { 2, 0, 8000, -2.5f }, { 2, 8000, 9600, -2.5f }, { 2, 9600, 13200, -2.0f }, { 2, 13200, 16400, -1.0f }, { 2, 16400, 24400, -0.5f }, { 2, 24400, 32000, 0.0f }, { 2, 32000,128001, 0.0f }, }; const float scaleTable_cn_only_amrwbio[3][2] = { { ACELP_6k60, -4.0f }, { ACELP_8k85, -3.0f }, { ACELP_12k65, -2.0f }, }; const int sidparts_encoder_noise_est[24] = { 4, 8, 12, 16, 20, 24, 30, 36, 42, 50, 58, 68, 80, 92, 108, 126, 148, 176, 212, 255, 259, 264, 269, 279 }; const int sidPartitions_nb[] = { 4, 8, 12, 16, 20, 24, 30, 36, 42, 50, 58, 68, 80, 92, 108, 126, 159 }; const int sidPartitions_wb1[] = { 4, 8, 12, 16, 20, 24, 30, 36, 42, 50, 58, 68, 80, 92, 108, 126, 148, 176, 212, 255 }; const int sidPartitions_wb2[] = { 4, 8, 12, 16, 20, 24, 30, 36, 42, 50, 58, 68, 80, 92, 108, 126, 148, 176, 212, 255, 259 }; const int sidPartitions_wb3[] = { 4, 8, 12, 16, 20, 24, 30, 36, 42, 50, 58, 68, 80, 92, 108, 126, 148, 176, 212, 255, 319 }; const int sidPartitions_swb1[] = { 4, 8, 12, 16, 20, 24, 30, 36, 42, 50, 58, 68, 80, 92, 108, 126, 148, 176, 212, 255, 259, 264, 269, 274 }; const int sidPartitions_swb2[] = { 4, 8, 12, 16, 20, 24, 30, 36, 42, 50, 58, 68, 80, 92, 108, 126, 148, 176, 212, 255, 319, 324, 329, 339 }; const int shapingPartitions_nb[] = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 25, 28, 31, 34, 37, 40, 43, 47, 51, 55, 59, 64, 69, 74, 80, 86, 93, 100, 108, 117, 126, 136, 159 }; const int shapingPartitions_wb1[] = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 25, 28, 31, 34, 37, 40, 43, 47, 51, 55, 59, 64, 69, 74, 80, 86, 93, 100, 108, 117, 126, 135, 148, 162, 176, 192, 212, 232, 255 }; const int shapingPartitions_wb2[] = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 25, 28, 31, 34, 37, 40, 43, 47, 51, 55, 59, 64, 69, 74, 80, 86, 93, 100, 108, 117, 126, 135, 148, 162, 176, 192, 212, 232, 255 }; const int shapingPartitions_wb3[] = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 25, 28, 31, 34, 37, 40, 43, 47, 51, 55, 59, 64, 69, 74, 80, 86, 93, 100, 108, 117, 126, 136, 148, 176, 212, 256, 308, 319 }; const int shapingPartitions_swb1[] = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 25, 28, 31, 34, 37, 40, 43, 47, 51, 55, 59, 64, 69, 74, 80, 86, 93, 100, 108, 117, 126, 135, 148, 162, 176, 192, 212, 232, 255 }; const int shapingPartitions_swb2[] = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 25, 28, 31, 34, 37, 40, 43, 47, 51, 55, 59, 64, 69, 74, 80, 86, 93, 100, 108, 117, 126, 136, 148, 176, 212, 256, 308, 319 }; const FD_CNG_SETUP FdCngSetup_nb = { 512, 160, sizeof(sidPartitions_nb)/sizeof(int), sidPartitions_nb, sizeof(shapingPartitions_nb)/sizeof(int), shapingPartitions_nb }; const FD_CNG_SETUP FdCngSetup_wb1 = { 512, 256, sizeof(sidPartitions_wb1)/sizeof(int), sidPartitions_wb1, sizeof(shapingPartitions_wb1)/sizeof(int), shapingPartitions_wb1 }; const FD_CNG_SETUP FdCngSetup_wb2 = { 512, 256, sizeof(sidPartitions_wb2)/sizeof(int), sidPartitions_wb2, sizeof(shapingPartitions_wb2)/sizeof(int), shapingPartitions_wb2 }; const FD_CNG_SETUP FdCngSetup_wb3 = { 640, 320, sizeof(sidPartitions_wb3)/sizeof(int), sidPartitions_wb3, sizeof(shapingPartitions_wb3)/sizeof(int), shapingPartitions_wb3 }; const FD_CNG_SETUP FdCngSetup_swb1 = { 512, 256, sizeof(sidPartitions_swb1)/sizeof(int), sidPartitions_swb1, sizeof(shapingPartitions_swb1)/sizeof(int), shapingPartitions_swb1 }; const FD_CNG_SETUP FdCngSetup_swb2 = { 640, 320, sizeof(sidPartitions_swb2)/sizeof(int), sidPartitions_swb2, sizeof(shapingPartitions_swb2)/sizeof(int), shapingPartitions_swb2 }; const short maxN_37bits = 24; const short maxC_37bits = 8; const short stages_37bits = 6; const int levels_37bits[6] = { 128, 64, 64, 64, 64, 64 }; const short bits_37bits[6] = { 7, 6, 6, 6, 6, 6 }; Float32 cdk_37bits_1[3072] = { 2.95778982f , 10.56049102f , 13.09386355f , 11.08385962f , 10.88871781f , 10.92789554f , 9.47024852f , 7.50377851f , 7.19700973f , 4.42757028f , 1.25511814f , -2.60106001f , -6.04950165f , -7.63603604f , -10.41446639f , -11.12590625f , -13.84344441f , -18.68891181f , -23.55780389f , -29.45805147f , -31.65253302f , -32.27424892f , -35.22751137f , -36.90949842f , 17.21398978f , 22.50723507f , 17.78339684f , 15.22053850f , 11.61821405f , 7.94613723f , 7.75072026f , 6.23305331f , 5.76430087f , 4.13707869f , 0.16499081f , -2.39493762f , -1.55086212f , -3.50433708f , -8.18443711f , -11.97061123f , -16.00947999f , -20.53183145f , -25.24387497f , -29.42436369f , -32.38843392f , -36.11523183f , -39.31249120f , -40.92553153f , 16.16413908f , 12.51338319f , 10.81668845f , 7.51107282f , 8.58783122f , 9.70942586f , 8.90484747f , 7.74361213f , 8.38927229f , 6.09180806f , 2.25606211f , -1.80804139f , -5.77866789f , -6.64266134f , -10.11888694f , -12.07031815f , -15.26437992f , -20.26969656f , -25.12160881f , -31.11024903f , -33.35847205f , -33.13640725f , -35.95124987f , -37.90657962f , 33.31978298f , 27.26394617f , 24.25514764f , 20.23232332f , 16.65548737f , 15.67786748f , 13.12878045f , 12.68415364f , 8.46975797f , 6.86052690f , 1.44223072f , -3.05984201f , -6.92484285f , -10.16404365f , -13.70298321f , -18.48343165f , -22.58372752f , -26.62074680f , -30.39592772f , -34.37439216f , -36.06769058f , -38.82086191f , -40.35157222f , -41.14327920f , -10.92203045f , 3.01052036f , 7.74241345f , 9.28295437f , 6.38021756f , 11.19483089f , 9.71179193f , 7.58317778f , 0.03720981f , 2.75397106f , -1.50772774f , -2.01443682f , -2.44887133f , -6.15187538f , -8.81821668f , -8.69151269f , -8.02852922f , -11.09910056f , -13.17097763f , -13.93076356f , -13.66079044f , -16.47777711f , -18.46333278f , -20.06869553f , 33.16037159f , 28.50574364f , 18.84668394f , 16.14503275f , 12.64238398f , 8.82733160f , 8.27164568f , 6.62567905f , 6.59003037f , 4.47312530f , 0.90824775f , -2.49975515f , -1.08141480f , -3.20431000f , -9.25248952f , -13.89338354f , -18.40719472f , -22.60361057f , -27.04357211f , -31.31499557f , -33.93185338f , -37.43894780f , -40.22405388f , -41.64367850f , 27.31804653f , 14.89045549f , 10.86226202f , 8.23925819f , 7.20277478f , 6.05860544f , 5.52091762f , 4.91558992f , 4.25466169f , 3.41244595f , 1.84809938f , 0.56793582f , -2.09446303f , -5.61345827f , -7.92063692f , -8.33385890f , -9.81872455f , -14.00821261f , -17.95712781f , -19.97458899f , -22.84515408f , -26.34052831f , -31.61432841f , -36.58172847f , 41.62594036f , 30.53353379f , 27.89510180f , 24.11265594f , 18.43485443f , 15.64729005f , 13.50845997f , 10.26280433f , 8.91720676f , 5.83154831f , 0.58848737f , -2.93497066f , -7.66347118f , -10.65504548f , -14.43162023f , -17.54532056f , -19.96025099f , -21.34714524f , -24.14933678f , -25.76118364f , -25.95869147f , -27.17577493f , -27.71455668f , -28.20012422f , -2.78784194f , 8.02032552f , 10.68963597f , 6.42169471f , 8.39643500f , 5.92698403f , 3.72431779f , 2.34240994f , 2.84441568f , 2.28173308f , 0.51005528f , -0.63277332f , -1.88760888f , -3.64699895f , -6.19490118f , -6.91564436f , -6.74837856f , -9.01957311f , -13.08326862f , -15.61846381f , -17.51686622f , -20.98788704f , -24.84189318f , -27.88764499f , 15.22736138f , 21.67028596f , 22.69998521f , 19.32303652f , 16.57824995f , 14.43971050f , 12.86116984f , 12.06004138f , 8.96691160f , 5.75441483f , 0.69857059f , -2.99592995f , -6.37751956f , -10.52101418f , -13.54087476f , -17.17818777f , -20.74546985f , -23.38284886f , -27.16166346f , -32.39741856f , -34.96265685f , -38.29574314f , -40.21463793f , -40.97396233f , 9.26133859f , 10.07373727f , 10.66915549f , 8.57462295f , 7.07983445f , 6.08004124f , 5.43616008f , 4.66385278f , 4.13923283f , 3.46291473f , 2.00919193f , 0.41431808f , -2.15659988f , -5.73419766f , -7.77729962f , -8.10963302f , -9.50797759f , -13.76609560f , -17.88454433f , -20.18355620f , -22.78079775f , -26.25300986f , -31.65196065f , -36.72266405f , 26.92737845f , 27.50669000f , 26.91247977f , 21.31279552f , 16.15678270f , 12.72639800f , 8.67528477f , 8.63540827f , 6.12171634f , 5.39466263f , 2.40935018f , -2.03514541f , -5.98268282f , -9.33268447f , -11.64966136f , -14.87079782f , -16.24856435f , -18.12429449f , -20.78266693f , -23.71237445f , -24.73440188f , -27.34821266f , -28.25918906f , -28.93790683f , 4.90379335f , 9.93686137f , 10.91780723f , 9.09752074f , 8.60650951f , 8.80459898f , 8.14900070f , 8.09228751f , 4.14934489f , 1.56227390f , 0.22948186f , -2.11175133f , -3.74247153f , -6.07379086f , -7.30507236f , -9.28287821f , -11.07748811f , -12.71211521f , -13.84649241f , -14.34403824f , -15.35123200f , -17.12232100f , -20.33875194f , -23.90062854f , 34.56400510f , 28.64513545f , 19.89686686f , 16.71498339f , 14.13374646f , 9.59301176f , 8.64527668f , 7.89097544f , 7.45460471f , 4.94035649f , 1.12449009f , -1.91803209f , -2.36876539f , -4.85907115f , -10.96920929f , -15.11783181f , -18.54964139f , -22.92691742f , -27.54026485f , -32.37334407f , -34.34801279f , -37.11646404f , -38.85197445f , -40.08034397f , 21.85246210f , 14.72764339f , 11.27302628f , 9.14638512f , 8.54804115f , 8.77093797f , 8.12903725f , 8.26861602f , 4.19886932f , 1.54799726f , 0.20257140f , -1.95701999f , -3.69888430f , -6.13502639f , -7.32329151f , -9.38507779f , -11.16665977f , -12.74666897f , -13.89635990f , -14.42352149f , -15.69403582f , -17.31656047f , -20.46657786f , -24.00174177f , 42.72694479f , 31.23947048f , 24.43494280f , 19.72208465f , 15.30350682f , 10.47491489f , 7.32088994f , 10.21936673f , 9.85497717f , 5.26501746f , 1.65994049f , -1.03290160f , -4.60874619f , -8.54769573f , -14.17151340f , -15.71521704f , -16.02262568f , -18.90844987f , -24.28632557f , -26.72718508f , -27.02265332f , -28.78362362f , -30.43253072f , -32.28558858f , -0.39765072f , 7.11128294f , 8.77607625f , 6.97094061f , 6.49768999f , 5.29876062f , 5.33292418f , 5.12420845f , 5.06120539f , 3.76514540f , 1.86852875f , 0.36828311f , -2.70182085f , -4.67846439f , -6.65927858f , -8.64219681f , -10.63500087f , -13.14101813f , -15.41381490f , -18.10176174f , -22.39767659f , -26.30065166f , -30.06922086f , -34.02575582f , 24.65122317f , 23.93886440f , 24.33639262f , 20.20634124f , 14.95533543f , 10.67440066f , 7.90685648f , 7.77227130f , 4.69229603f , 3.94984243f , 1.03135714f , -2.78561381f , -5.59708858f , -8.11252879f , -10.03836955f , -12.17557001f , -12.27299654f , -12.23090635f , -14.81077879f , -18.41474220f , -21.95921345f , -26.31237335f , -28.83347746f , -30.57799152f , 15.48674375f , 10.58586035f , 8.41258222f , 6.11115928f , 7.26712645f , 7.70076576f , 6.51745234f , 4.83537618f , 3.78315908f , 2.87162280f , 1.60923393f , 0.07194700f , -4.00474978f , -3.57899280f , -6.50550572f , -8.00337288f , -12.56429875f , -16.64572160f , -21.77660604f , -29.00324770f , -29.28924218f , -28.45842093f , -31.46000362f , -33.72961920f , 31.66756941f , 26.50681469f , 23.07696706f , 19.47940753f , 16.43776948f , 14.65422928f , 13.13762571f , 12.13565647f , 9.05541090f , 5.85409354f , 0.53053075f , -3.03585502f , -6.54517878f , -10.70179318f , -13.64861349f , -17.10229453f , -20.77152138f , -23.04102596f , -26.76284884f , -32.09288570f , -34.95454717f , -38.37953105f , -40.31456890f , -41.06305403f , -4.57998646f , 6.78815016f , 11.60677893f , 12.12189632f , 10.03649399f , 6.73163226f , 5.60997256f , 3.61382681f , 1.07119505f , 1.44124760f , -0.36649688f , -1.93594310f , -2.67098539f , -3.97236341f , -4.49309238f , -7.67841048f , -7.38721745f , -9.04687595f , -10.64729812f , -12.35782845f , -15.80889240f , -18.10394377f , -20.75255913f , -23.16714596f , 32.06565538f , 26.34062469f , 17.62317465f , 14.54318257f , 11.33965592f , 7.22380894f , 6.69999570f , 5.16548324f , 5.32078994f , 3.68894995f , 0.21139809f , -1.89643313f , -1.43729232f , -3.38299704f , -8.16315990f , -10.90725548f , -13.86285241f , -19.27930679f , -24.24221687f , -29.37957484f , -32.97371289f , -37.01956565f , -40.64301363f , -42.42283871f , 27.34861464f , 17.35254831f , 14.71216625f , 11.21480476f , 9.71751794f , 8.92216110f , 7.88950008f , 4.72051984f , 2.08541644f , 1.24484417f , -0.29448212f , -3.22367745f , -4.12078688f , -4.51431029f , -5.02457729f , -7.46382757f , -9.93828200f , -11.94075167f , -14.42548881f , -16.83893529f , -20.57517980f , -23.86145012f , -26.35488436f , -28.09220448f , 43.77568289f , 30.35391726f , 27.63839793f , 23.39292280f , 18.14120263f , 16.09279111f , 13.38540751f , 10.06671431f , 7.94669649f , 4.12623028f , -0.90332148f , -3.32951717f , -7.24035516f , -10.01970377f , -13.39421641f , -16.33052649f , -18.54117920f , -19.77745925f , -22.77363614f , -24.12093907f , -24.21920369f , -25.28960607f , -25.77614399f , -26.25683024f , 5.79368652f , 12.51991626f , 14.00370768f , 11.32137999f , 9.77109082f , 8.98151357f , 7.49776119f , 4.79998026f , 2.33448317f , 1.18610607f , -0.35969383f , -2.93257557f , -4.07562790f , -4.76160858f , -5.42531466f , -7.40360649f , -9.61250822f , -11.03547938f , -13.14054419f , -15.06085658f , -17.47288279f , -20.42082642f , -22.95063518f , -25.16468847f , 16.09302292f , 22.55335432f , 23.75600812f , 20.07565839f , 16.86390794f , 15.22041485f , 13.34925505f , 12.47627523f , 8.78929960f , 6.22941075f , 0.65362548f , -3.19021243f , -6.62717988f , -10.64596960f , -13.82088718f , -17.58372103f , -21.71419292f , -24.30895894f , -26.77314588f , -28.87032013f , -30.13179973f , -31.71459259f , -32.84856396f , -33.50577477f , 16.44441330f , 12.31360615f , 9.71047235f , 7.21837937f , 6.79215980f , 5.58913206f , 5.23450348f , 5.31837117f , 5.47119664f , 3.91860558f , 2.00713858f , 0.29754081f , -2.62407946f , -4.75220497f , -6.96490868f , -9.09693835f , -11.19050998f , -13.60732328f , -15.96794842f , -18.87093112f , -23.15019536f , -27.14449468f , -31.05584505f , -35.00208930f , 21.56078764f , 25.60904841f , 27.31524375f , 24.74664217f , 19.15754045f , 16.48262030f , 13.62284337f , 10.32185769f , 7.82788054f , 4.56867787f , -0.55500429f , -3.54399244f , -7.74464129f , -10.04653026f , -13.91638701f , -16.89276027f , -19.28210045f , -21.11725885f , -23.80905063f , -25.61468851f , -25.54369860f , -26.75644280f , -27.40565527f , -27.80349551f , 11.75649526f , 11.59267300f , 11.85607639f , 12.09984636f , 10.17904946f , 6.68242306f , 5.49769393f , 3.62565532f , 1.04153359f , 1.37348105f , -0.36614776f , -1.85988088f , -2.65180489f , -3.95188781f , -4.54582064f , -7.65185164f , -7.37260518f , -8.94498668f , -10.57379044f , -12.29831281f , -15.91573373f , -18.15620068f , -20.77255846f , -23.17991063f , 35.63174061f , 30.87426279f , 20.05864161f , 16.98958650f , 13.11156738f , 9.37587068f , 8.39373792f , 6.91457513f , 7.06726843f , 4.45504564f , 0.31410924f , -2.55476072f , -1.55052341f , -3.58183174f , -10.02850753f , -13.83773408f , -18.07893844f , -21.87127412f , -26.40618053f , -30.05923316f , -32.16211735f , -34.97392895f , -36.96538585f , -38.31916152f , 22.45827967f , 18.85001245f , 13.60039332f , 10.10815816f , 9.34790218f , 6.59206524f , 5.06185868f , 4.27885917f , 3.12432252f , 2.43301895f , 0.16458112f , -0.87956151f , -3.52884867f , -4.30776590f , -5.96584396f , -7.24696688f , -9.07355786f , -10.64880142f , -12.04156041f , -13.57831230f , -16.13223545f , -19.28691238f , -20.73379126f , -22.35985284f , 45.50285910f , 30.56079275f , 25.12585245f , 19.34243209f , 14.67812492f , 11.09479624f , 7.62809337f , 7.36329508f , 5.02791068f , 4.57220923f , 1.95015079f , -1.57507512f , -5.20307171f , -7.99911947f , -9.95812261f , -13.13787688f , -14.44121237f , -16.19333355f , -19.15028237f , -22.75607672f , -25.37417688f , -27.76304019f , -28.42538941f , -29.09271083f , -0.20862409f , 7.40922209f , 9.52611206f , 7.19556599f , 8.56285670f , 9.23113851f , 8.29119614f , 6.74033461f , 7.39436505f , 4.76996743f , 1.52467647f , -2.37784656f , -6.09813737f , -6.29918182f , -8.30626415f , -10.26550962f , -13.16761101f , -17.25290821f , -21.82832704f , -28.08208094f , -29.69995762f , -30.02997066f , -32.54067640f , -34.86791052f , 20.15336204f , 23.69787743f , 20.03743258f , 17.32388877f , 13.85816349f , 9.75929930f , 8.81062377f , 7.33399060f , 7.03590133f , 4.83049697f , 0.70944621f , -2.33770508f , -2.40423376f , -4.83395025f , -10.23084612f , -14.36365636f , -18.16750414f , -21.75786888f , -26.07319165f , -30.47064791f , -32.03827614f , -34.62324863f , -36.38403786f , -37.62380175f , 21.02807550f , 15.43123168f , 13.19159292f , 11.05909310f , 9.93532083f , 10.14330557f , 8.44788836f , 7.05092375f , 6.65547179f , 3.80156734f , 1.01028469f , -2.51036572f , -5.52907299f , -7.16917980f , -9.69618129f , -9.79583611f , -12.34407663f , -16.35321338f , -21.00738251f , -27.34102498f , -30.48319293f , -30.90104975f , -33.93924526f , -35.92883268f , 33.46103317f , 28.05909534f , 25.27576527f , 21.45366856f , 18.39016725f , 16.16268691f , 14.43168731f , 12.88073327f , 9.27668693f , 6.28692861f , 0.27771848f , -3.24264663f , -7.02703161f , -11.49310707f , -14.63223263f , -18.01065380f , -23.30098657f , -26.04536683f , -29.97889152f , -33.31061266f , -34.90527704f , -37.51005914f , -38.89607504f , -39.43668242f , -6.19448103f , 7.00670386f , 6.42929262f , 11.44842292f , 10.59782711f , 3.51908910f , 5.03700693f , 11.99440282f , 2.46784279f , 2.52636549f , 0.19509676f , -0.66292825f , -3.57724994f , -4.27935354f , -7.71003982f , -9.31027578f , -10.79777387f , -12.03284160f , -14.50955075f , -15.24259860f , -15.04293408f , -17.84913152f , -19.24800026f , -20.43127990f , 34.36219386f , 29.15654122f , 17.89907772f , 15.96853719f , 12.24737290f , 8.58997407f , 8.02028124f , 6.73852407f , 6.68229615f , 4.41515543f , 0.31647818f , -2.71422396f , -1.11008623f , -3.15418403f , -8.78373906f , -13.46164937f , -17.78623382f , -22.03141049f , -26.52011865f , -30.42263732f , -32.88924845f , -36.52063092f , -39.44879402f , -41.00582791f , 28.59389870f , 16.57976885f , 11.69506951f , 9.00946677f , 6.59434708f , 5.58892350f , 5.15576244f , 4.26874238f , 3.83962965f , 3.10490992f , 1.74950191f , 0.21359494f , -2.34614415f , -5.90830965f , -7.32978245f , -6.79210755f , -8.13921426f , -12.39307835f , -16.42105838f , -17.81533132f , -20.43309456f , -23.50336304f , -28.11010949f , -32.19800165f , 42.18709382f , 31.66042119f , 28.18576191f , 24.02454209f , 17.80243401f , 14.32604318f , 12.38219020f , 9.68299766f , 9.84153789f , 7.22418488f , 1.90320264f , -0.79109427f , -7.30502888f , -10.99217358f , -15.03902326f , -18.25651222f , -20.77870269f , -22.27969332f , -25.21134893f , -26.73864852f , -26.81597564f , -28.06561283f , -28.74871236f , -29.19027505f , 3.14453423f , 9.82704694f , 10.42102234f , 7.53076819f , 6.65445918f , 5.42078795f , 4.35248487f , 3.38200688f , 3.34653224f , 2.23758939f , 0.98007038f , -0.82512415f , -3.06552968f , -3.74092446f , -5.19946109f , -6.26762478f , -7.27519640f , -9.56355666f , -11.49652218f , -12.93977382f , -15.16570550f , -17.89500321f , -20.88144101f , -24.27090982f , 16.89397941f , 22.41751392f , 23.75354684f , 20.15652247f , 16.71460178f , 15.68435339f , 13.05195327f , 12.59734003f , 8.36320984f , 6.61926140f , 1.34089883f , -3.04095047f , -6.87072914f , -10.11874127f , -13.60230073f , -18.32905014f , -22.40986754f , -26.40241648f , -30.22653356f , -34.35524827f , -35.82875887f , -38.56697745f , -40.04466299f , -40.77890542f , 14.06040489f , 12.38456984f , 11.38443857f , 6.43429982f , 8.36024783f , 5.74773204f , 3.64617779f , 2.27891511f , 2.88575114f , 2.28853033f , 0.47176709f , -0.58104559f , -1.80751192f , -3.57542575f , -6.25556579f , -6.84838146f , -6.61115232f , -8.86429480f , -13.12243997f , -15.53130507f , -17.39294606f , -20.82817234f , -24.80352676f , -27.90102832f , 29.08127657f , 30.25267470f , 28.50445786f , 22.88590940f , 16.95382919f , 12.99666306f , 9.24548766f , 10.17354633f , 7.44385880f , 5.98968070f , 1.98160871f , -1.99320988f , -6.45502374f , -10.08296200f , -12.58332338f , -15.94023376f , -17.72993147f , -19.46222023f , -22.64433239f , -25.73538061f , -25.10103202f , -27.34115443f , -28.00719352f , -28.71283003f , 10.44191657f , 11.89739900f , 6.63050752f , 11.66862838f , 10.95389970f , 3.62853936f , 5.27338772f , 12.22397146f , 2.38303236f , 2.27598761f , 0.20057759f , -0.69953882f , -3.74592500f , -4.11363308f , -7.73279200f , -9.56396050f , -11.08358715f , -12.21155490f , -14.86254610f , -15.45527754f , -15.28325702f , -17.98672312f , -19.17774681f , -20.23644212f , 35.53276331f , 29.79176377f , 19.61709874f , 16.86634001f , 13.09981576f , 9.35098387f , 8.47743299f , 7.04997634f , 7.03070014f , 4.96729480f , 0.92976195f , -2.31151272f , -1.83127970f , -4.34635324f , -9.67542557f , -14.26377116f , -18.47764765f , -22.80532113f , -27.40873215f , -31.63558241f , -33.75926234f , -36.57926085f , -38.64751733f , -39.92187198f , 19.57623370f , 14.52227951f , 10.90006748f , 7.46479458f , 6.57710504f , 5.35248052f , 4.32022732f , 3.44261943f , 3.11088406f , 2.14252838f , 0.91565155f , -0.88167185f , -3.01132437f , -3.66994851f , -5.19376018f , -6.09616750f , -7.00842420f , -9.47621384f , -11.55078876f , -12.93214130f , -15.11703243f , -17.74349778f , -20.81631949f , -24.26610975f , 45.46539087f , 33.65225910f , 27.04759024f , 20.37287228f , 15.20605258f , 10.95754596f , 8.25353280f , 10.41134779f , 9.16332898f , 5.00593619f , 1.56893245f , -0.96934543f , -4.76115225f , -9.35265480f , -13.96830603f , -15.58493281f , -15.93026458f , -18.72056170f , -22.62999991f , -24.01724401f , -24.13966976f , -25.75662986f , -27.30657872f , -29.31976842f , 3.35383892f , 10.46089277f , 12.67572651f , 10.67316057f , 8.86420657f , 7.41699857f , 6.40472576f , 5.55584594f , 4.78140149f , 3.39101090f , 1.64891901f , -0.88431535f , -3.41794053f , -5.52966105f , -7.12950981f , -9.73843277f , -11.36318390f , -12.90076410f , -15.02653519f , -17.80793193f , -20.85950171f , -24.60915288f , -28.33117068f , -31.97961671f , 24.16381226f , 26.61189391f , 24.86498593f , 19.87730202f , 15.18991454f , 10.98879994f , 7.42531150f , 10.49136744f , 9.62334804f , 4.97806393f , 1.38953872f , -1.07543238f , -4.87438861f , -8.84994346f , -14.12865608f , -15.38136709f , -15.77648418f , -18.65254160f , -24.07064465f , -26.65375941f , -26.62799211f , -28.37449714f , -30.00703668f , -31.95561063f , 16.73297197f , 13.40079340f , 11.36295685f , 8.12888004f , 8.67057438f , 9.98791316f , 7.17503401f , 3.41805962f , 3.84708100f , 3.38229324f , 1.69308513f , -2.44779633f , -7.15056120f , -5.22964233f , -5.71002448f , -7.24979808f , -10.38621901f , -12.40506839f , -16.88434384f , -24.40525376f , -27.96468183f , -28.87188624f , -31.73758135f , -34.45997553f , 36.82320664f , 30.14889839f , 24.36495733f , 19.95821910f , 17.28215670f , 15.34405446f , 12.71014649f , 11.84061146f , 8.74552404f , 5.19431776f , 0.62656711f , -3.30567052f , -7.09245555f , -11.63075940f , -14.43930927f , -16.55893715f , -18.71623060f , -21.39863923f , -24.41215684f , -27.71989721f , -29.44073312f , -31.13601153f , -33.00550113f , -35.01755294f , -0.75323250f , -0.49333543f , -0.03686038f , 0.00580498f , -0.02595636f , -0.42521553f , -0.11620129f , 0.04925008f , -0.22349130f , -0.41036697f , -0.08797780f , -0.31029326f , -0.33370732f , -0.04414976f , -0.18188899f , -0.39067975f , -0.19015430f , -0.13924769f , -0.07489774f , -0.24338076f , 0.02616867f , -0.90654191f , -0.36674078f , -0.92659945f , 32.82257425f , 26.93225108f , 17.97275820f , 15.52062575f , 12.24580971f , 7.87298134f , 7.92790101f , 6.69153001f , 6.20377725f , 4.87524910f , 0.20987746f , -2.32068931f , -1.19022086f , -3.62043573f , -8.66527100f , -13.17653707f , -17.05395098f , -21.30672374f , -26.02442938f , -29.84148775f , -32.77866358f , -36.44067731f , -39.64793075f , -41.28669431f , 23.66104031f , 18.77341211f , 15.43023272f , 11.20366406f , 8.42366176f , 6.11675293f , 5.33405011f , 5.20406381f , 4.67626106f , 3.65065286f , 1.53469689f , -1.60771292f , -3.81129242f , -4.57130038f , -6.33850722f , -8.60971199f , -10.00167377f , -11.97538710f , -14.16507562f , -16.60464075f , -19.14351164f , -22.49496272f , -25.49215425f , -28.47836779f , 48.83791360f , 34.21172740f , 28.24854170f , 23.78581370f , 19.15275096f , 16.36583739f , 13.52652252f , 12.00825971f , 7.58820783f , 4.57182675f , -0.44096755f , -5.59444127f , -9.20335237f , -11.60423121f , -13.38376584f , -15.82699559f , -17.15943218f , -18.22349154f , -21.00159236f , -23.41802307f , -24.09185136f , -26.12025700f , -26.38389340f , -26.90015217f , 5.65030538f , 13.78536254f , 12.93384260f , 10.10554338f , 9.25200312f , 6.70079894f , 4.97946459f , 4.14010675f , 3.20266413f , 2.24703740f , 0.17096077f , -0.76854332f , -3.49746682f , -4.40509828f , -5.92984501f , -7.16813639f , -8.92390949f , -10.44235555f , -11.73970476f , -13.07525739f , -15.58860787f , -18.82754905f , -20.11226045f , -21.89670528f , 20.00764046f , 25.05163905f , 23.67903478f , 19.61532654f , 16.85580272f , 14.84943508f , 12.32422151f , 11.72685290f , 8.55557474f , 4.89724925f , 0.62350153f , -3.12200178f , -6.95129787f , -11.32051330f , -13.87728564f , -16.20738435f , -18.35417789f , -21.22501359f , -24.26412556f , -27.53754401f , -29.04562197f , -30.52655890f , -32.50623950f , -34.76405591f , 20.12464864f , 15.20430829f , 13.25055947f , 10.65904743f , 8.91134621f , 7.46363884f , 6.44402323f , 5.71195079f , 4.79807746f , 3.49335087f , 1.75260934f , -0.74115357f , -3.42285816f , -5.45747278f , -7.23479115f , -10.08709890f , -11.63154322f , -13.05708157f , -15.18339592f , -18.14822179f , -21.33849269f , -25.01926113f , -28.92560049f , -32.56657725f , 26.54656966f , 26.13227118f , 27.82488903f , 24.22335030f , 18.87683777f , 16.59425031f , 13.64047520f , 9.75915298f , 7.28698308f , 4.09515905f , -0.71835272f , -3.26926527f , -7.31384281f , -9.98624418f , -13.59589213f , -16.50790941f , -18.86147233f , -20.11404881f , -22.88197092f , -24.35845023f , -23.98592903f , -25.19061201f , -25.66357488f , -26.11120895f , 16.92428437f , 15.63926123f , 14.68264077f , 9.17511817f , 11.72199221f , 8.73358423f , 5.74525565f , 3.31019020f , 3.82744364f , 2.82061126f , 0.00479914f , -1.62974092f , -3.21227479f , -5.78430830f , -8.71508730f , -8.80926274f , -8.01316743f , -9.54120965f , -13.35104985f , -15.74348284f , -16.40121304f , -19.46521021f , -22.26957651f , -24.80475300f , 33.27372786f , 28.98123208f , 18.52554956f , 16.22324845f , 11.82428088f , 8.06497636f , 6.95248523f , 6.23909474f , 5.55428912f , 3.52189864f , 0.54297482f , -2.65061141f , -0.24235908f , -2.49418732f , -8.10730403f , -12.50952978f , -16.69612524f , -20.49938193f , -23.81401973f , -26.29697125f , -27.78204736f , -29.60465452f , -31.26624714f , -32.52437926f , 27.66207964f , 21.38029622f , 15.28817924f , 11.29865816f , 7.24050384f , 4.07114269f , 2.23434724f , 2.00312407f , 2.12063407f , 2.37092879f , 1.11181974f , -0.06676605f , -1.62128339f , -3.18849566f , -4.50247820f , -5.27330824f , -6.50012921f , -8.95962773f , -11.25753877f , -13.15591465f , -15.55510117f , -17.77008388f , -21.51057093f , -23.68928360f , 46.17063826f , 35.44350933f , 27.63882719f , 20.58749084f , 15.09358456f , 11.34450671f , 8.36303546f , 10.32329718f , 9.40828446f , 4.81846192f , 1.44590103f , -1.30265822f , -4.80681268f , -9.60995360f , -14.00088486f , -15.02315852f , -16.05368713f , -18.40913671f , -21.04455075f , -21.77101439f , -21.86714844f , -23.34699503f , -24.81999799f , -26.75598881f , 5.55447222f , 11.08900430f , 12.67418749f , 11.37730706f , 10.35233661f , 9.77194599f , 7.54804411f , 5.59512280f , 5.26611322f , 3.61130922f , 1.29867980f , -1.53794101f , -4.94548169f , -6.44099913f , -9.14750567f , -9.26394627f , -12.10780921f , -16.54821135f , -21.09601890f , -27.26975914f , -29.20341664f , -29.16031453f , -32.31338409f , -33.81412751f , 18.12507160f , 24.70366354f , 18.80553588f , 16.44619360f , 12.73212014f , 8.73243452f , 8.13965750f , 6.85564846f , 6.54211122f , 4.41684143f , 0.86730242f , -2.56492428f , -1.51931938f , -3.44405406f , -9.13992613f , -13.62181635f , -17.99613747f , -22.23637312f , -26.67002377f , -30.83211183f , -32.97908996f , -36.30619371f , -38.88768859f , -40.31682212f , 19.30313062f , 15.53926343f , 13.90808840f , 11.50585735f , 11.38433252f , 11.23569306f , 9.65078250f , 7.30888386f , 6.96318572f , 4.35594359f , 1.27768650f , -2.51618855f , -6.09345175f , -7.65932096f , -10.43421302f , -11.30754584f , -14.16597758f , -18.97180923f , -23.84334763f , -29.44331171f , -31.44436223f , -32.10318621f , -34.92490176f , -36.47617953f , 32.84070800f , 26.98843227f , 23.97706735f , 20.09690811f , 17.17772395f , 15.21303519f , 13.42060419f , 12.43874328f , 9.15968596f , 6.16038922f , 0.71905975f , -2.92001972f , -6.40947412f , -10.83784032f , -13.95928861f , -17.62432172f , -22.53835937f , -25.41550617f , -29.42258267f , -33.41667068f , -35.41334436f , -38.22281954f , -39.80199786f , -40.32675160f , -9.91625093f , 4.80418237f , 9.08604693f , 11.01664820f , 7.24939971f , 12.00629737f , 10.14522962f , 7.79868426f , 0.03388286f , 3.22894410f , -1.49188110f , -1.77551920f , -5.08350600f , -6.11630690f , -8.19142417f , -8.31829806f , -9.48559967f , -10.78591755f , -12.34898021f , -13.04347069f , -12.86564050f , -16.09519878f , -17.66110352f , -20.13284843f , 33.93076696f , 29.73735327f , 19.23905822f , 17.23103235f , 12.77046694f , 8.83451844f , 8.23785020f , 7.11377423f , 6.72823159f , 4.05823561f , 1.17653434f , -2.62333502f , -1.84527480f , -3.46714831f , -9.29420158f , -13.72585514f , -17.96342825f , -22.04254130f , -26.29305138f , -30.25871596f , -32.43685342f , -36.04907640f , -39.16814132f , -40.73022661f , 30.53206150f , 19.40488473f , 12.75598255f , 9.25954864f , 6.70414010f , 5.72747123f , 5.03381227f , 4.01075984f , 3.61146616f , 3.58899760f , 2.32432976f , 0.53033441f , -2.14938224f , -5.59608713f , -7.14094606f , -7.65425973f , -8.99080383f , -12.95963757f , -17.18036927f , -19.46195053f , -21.56000305f , -24.52225545f , -30.08064474f , -35.71887681f , 43.21595883f , 30.91880384f , 28.28763915f , 25.00936743f , 19.09701763f , 16.45025980f , 13.97496410f , 11.13694940f , 8.55554358f , 4.99105536f , -0.75976252f , -4.26698912f , -8.42682321f , -9.48353121f , -14.21251069f , -17.24378853f , -19.81223810f , -21.34834559f , -23.80150703f , -25.40905846f , -25.28209830f , -26.22742436f , -26.66260243f , -27.01651200f , -0.14361434f , 11.33097675f , 14.22933286f , 9.09701983f , 11.66148024f , 8.76183273f , 5.66551557f , 3.17860698f , 3.87061452f , 2.88805964f , 0.11657889f , -1.62298350f , -3.19956391f , -5.77861831f , -8.72933989f , -8.83773190f , -7.97439380f , -9.53621475f , -13.35824515f , -15.73862835f , -16.23732929f , -19.37222733f , -22.16495373f , -24.69705224f , 14.97516906f , 20.24358485f , 21.71690634f , 18.67539860f , 16.12099511f , 13.68136380f , 12.06765212f , 10.76593030f , 7.44448363f , 4.69310947f , 0.32375113f , -2.82379840f , -6.24406445f , -9.85549248f , -12.35464306f , -15.66193154f , -18.15727457f , -19.51476533f , -21.69116638f , -26.65585670f , -30.96969557f , -34.93908838f , -37.17487414f , -38.69523980f , 11.79211750f , 11.97065541f , 11.42461150f , 9.07103015f , 6.75482034f , 5.60897088f , 5.19878959f , 4.12715904f , 3.68541174f , 3.10916340f , 1.75493030f , 0.12722322f , -2.45721866f , -5.96134122f , -7.29240229f , -6.69634000f , -7.95934523f , -12.27446428f , -16.49521939f , -17.81789512f , -20.15378269f , -23.44933417f , -28.12142909f , -32.19480869f , 31.52643526f , 28.52259080f , 26.69926841f , 20.98459124f , 15.75207892f , 11.93364546f , 8.26555040f , 7.77743568f , 5.47651258f , 4.83040775f , 1.65268569f , -2.13370539f , -5.16522881f , -8.08709801f , -10.71942352f , -14.02185419f , -15.56110704f , -16.98333790f , -19.99452598f , -22.68342788f , -23.41377838f , -25.94358058f , -26.53240068f , -27.12327850f , 6.80087128f , 11.58644896f , 12.45313320f , 10.29597723f , 9.18481781f , 8.48775117f , 7.26614653f , 5.90419380f , 4.38057275f , 2.43656205f , 0.69276327f , -1.81218785f , -3.96339389f , -5.75303899f , -7.09187068f , -8.88618164f , -10.84611660f , -12.42796224f , -13.13959174f , -13.43223783f , -14.11628112f , -15.89113608f , -18.99839794f , -22.60584539f , 36.38520889f , 28.78012839f , 21.05496218f , 17.53636167f , 13.96758507f , 11.67472760f , 10.42791533f , 9.67412184f , 7.27606489f , 5.56430120f , 0.35452150f , -3.04945909f , -3.73479650f , -6.39521181f , -11.23696830f , -15.42073952f , -19.10245341f , -22.52588883f , -26.73438324f , -31.13547298f , -32.74648378f , -35.08411011f , -36.64862406f , -37.83303410f , 23.44391246f , 16.34449728f , 12.74386848f , 10.37728433f , 9.26531402f , 8.62835052f , 7.30803355f , 5.91607884f , 4.36863155f , 2.42037310f , 0.72270664f , -1.87419199f , -3.98816276f , -5.80775521f , -7.13994994f , -8.93853756f , -10.88091925f , -12.48019720f , -13.11652631f , -13.43063220f , -14.21381571f , -15.91218672f , -19.00174998f , -22.61508378f , 42.41685465f , 32.92785864f , 26.73527519f , 20.02657328f , 15.25763921f , 11.51912083f , 7.75120808f , 10.47560309f , 9.43865509f , 4.72161580f , 1.23456822f , -1.24509427f , -5.12070011f , -8.97924223f , -14.13085652f , -15.32553884f , -15.59705390f , -18.30233488f , -23.33478017f , -25.58695872f , -25.86117061f , -27.64564989f , -29.28904725f , -31.28074013f , 1.52342001f , 9.12417569f , 10.32715957f , 8.66545459f , 7.07445753f , 5.84320555f , 5.74305920f , 4.78929426f , 4.24381536f , 2.93093263f , 1.43577760f , -0.53860173f , -3.06985625f , -4.84378216f , -6.19218421f , -7.82485861f , -9.59127476f , -11.55775664f , -13.43280469f , -15.63550289f , -19.62772693f , -22.98849208f , -25.64470241f , -28.78809716f , 25.56643800f , 24.60767519f , 24.69578809f , 19.70646081f , 15.16249776f , 11.52050408f , 7.81769903f , 7.63275125f , 5.49767989f , 4.82720507f , 1.97596070f , -1.66260544f , -5.25016669f , -8.43401653f , -10.50840106f , -13.66164463f , -14.91737550f , -16.34161902f , -19.45629644f , -23.46159848f , -25.62249781f , -27.82515036f , -28.34414019f , -28.79284328f , 16.92655154f , 13.22739747f , 11.12354116f , 8.43784353f , 9.39924384f , 10.05896738f , 8.60043956f , 6.03413409f , 6.90507663f , 4.38541942f , 1.33274141f , -3.40564903f , -6.91513167f , -6.87459047f , -7.76883773f , -9.68917237f , -12.06267819f , -15.74184854f , -20.57971046f , -26.94266349f , -28.91713407f , -29.90809627f , -32.33980009f , -34.78712756f , 31.86686358f , 25.05708453f , 21.93386932f , 18.59721235f , 16.14828273f , 13.65996344f , 12.23768162f , 10.88830652f , 7.52143926f , 4.65925062f , 0.21911333f , -2.95634076f , -6.28361110f , -9.89608579f , -12.31443795f , -15.63623136f , -18.24730809f , -19.62072228f , -21.80325803f , -26.65045940f , -31.07260802f , -34.93098644f , -37.15982288f , -38.71632279f , -1.13403660f , 8.44528954f , 11.51295187f , 14.00328114f , 13.22245841f , 6.86239877f , 5.34172769f , 2.20794235f , 0.66973127f , 0.80995393f , 0.18013549f , -1.34499371f , -2.89430852f , -4.11662287f , -4.87021345f , -7.99460808f , -8.07372401f , -10.75957729f , -12.01649380f , -13.25826273f , -16.07989264f , -18.05984187f , -19.66161990f , -20.39890287f , 34.47278093f , 29.24647924f , 19.01794852f , 15.12449850f , 12.02160432f , 7.97153847f , 7.45763494f , 5.89473413f , 5.37914684f , 4.00235938f , 0.64484508f , -2.70552406f , -1.74008061f , -3.83315860f , -8.38542072f , -11.12882737f , -15.57900872f , -20.44309400f , -25.22215650f , -30.01421316f , -32.58722714f , -35.83261388f , -38.09733270f , -39.57915419f , 26.99752631f , 17.33775755f , 13.92510612f , 10.93298244f , 9.54482419f , 7.98334199f , 6.83019538f , 4.82308161f , 2.24070293f , 0.99075525f , -1.02697127f , -2.29004143f , -3.77731663f , -5.16939314f , -6.16294107f , -6.18510893f , -7.80109455f , -10.31816129f , -12.42321458f , -14.13119051f , -16.75176785f , -19.57160270f , -22.21041760f , -24.43862133f , 42.61148531f , 31.03862448f , 28.85875173f , 25.19534132f , 19.51936632f , 17.22593169f , 13.88213981f , 9.45821554f , 6.10128356f , 3.64177773f , -0.92329563f , -2.97749460f , -7.09143508f , -9.90051943f , -13.44778189f , -16.62642688f , -18.86184149f , -20.09465179f , -22.86181406f , -24.16906530f , -24.29058326f , -25.46900644f , -25.99854039f , -26.44256368f , 11.21919787f , 12.93487301f , 14.44441998f , 11.21144561f , 9.65171981f , 8.40946672f , 7.55500249f , 5.20337067f , 2.41664302f , 1.45692356f , -0.41811214f , -3.03866042f , -4.18715822f , -4.62852017f , -5.34679829f , -7.37187974f , -9.70194778f , -11.87551235f , -14.41976938f , -16.77473090f , -20.18921925f , -23.53459021f , -26.08250760f , -28.00378414f , 20.34283034f , 23.93100647f , 23.37840521f , 19.69998040f , 16.97580649f , 15.22176840f , 12.49942414f , 11.65471077f , 8.40962769f , 5.04811003f , 0.69748903f , -3.16572674f , -7.04148304f , -11.24778876f , -13.98941379f , -16.42484438f , -18.63762955f , -20.97458282f , -23.23612236f , -25.18653947f , -26.21052089f , -27.41104425f , -28.62675281f , -29.47926632f , 16.10744102f , 12.46174606f , 9.67751113f , 7.41625956f , 6.37054729f , 5.04682742f , 5.17633155f , 4.68688374f , 3.91606026f , 3.15494649f , 1.41414217f , -0.14124367f , -2.67444251f , -4.50662805f , -5.84468690f , -7.56186331f , -9.03680543f , -11.41274706f , -13.28658702f , -15.69552507f , -20.26071976f , -23.69377768f , -26.71593694f , -30.31014067f , 23.92977739f , 27.36060494f , 28.84534340f , 25.31470096f , 19.06231769f , 15.59405931f , 13.34476843f , 10.49105930f , 10.02936877f , 7.13162822f , 1.31449322f , -2.20667410f , -8.24469533f , -11.78467489f , -15.48551597f , -18.43809063f , -20.80800912f , -22.21620783f , -24.85301893f , -26.38738069f , -25.80522754f , -27.00307256f , -27.56365136f , -28.00697638f , 14.20627416f , 13.22102035f , 12.02604633f , 14.08327071f , 13.26998454f , 6.88224307f , 5.35679783f , 2.25352772f , 0.65358807f , 0.88975002f , 0.25204959f , -1.26498593f , -2.99170955f , -4.16405714f , -4.90721314f , -8.09596924f , -8.13409888f , -10.82708078f , -12.07413388f , -13.34328963f , -16.41337023f , -18.35676002f , -19.98799588f , -20.75791138f , 35.53474913f , 29.48558719f , 19.65603645f , 16.46619256f , 12.12345599f , 8.85911530f , 8.44629251f , 7.05107660f , 6.71696658f , 4.07340114f , 1.41090109f , -2.86480122f , -1.47018231f , -3.19146903f , -9.63933408f , -13.43801687f , -18.07739816f , -21.62350791f , -25.40446924f , -28.56460703f , -30.18164019f , -32.53467864f , -34.28547688f , -35.28943834f , 25.00794399f , 21.33869877f , 16.33988340f , 13.32545569f , 11.45579996f , 9.10207550f , 5.25001638f , 3.47011991f , 4.05816364f , 1.86646664f , -0.86488053f , -3.00452324f , -3.76486650f , -4.79552937f , -6.02719617f , -7.73977293f , -9.00587006f , -9.73374090f , -11.85870497f , -14.34560315f , -16.77881295f , -19.01848975f , -21.05935919f , -22.79963588f , 43.77792792f , 31.32894231f , 26.45922262f , 21.35876446f , 15.14525981f , 10.71588831f , 8.36941090f , 8.13517319f , 4.60128461f , 4.27211986f , 0.48686102f , -2.99834845f , -5.70951224f , -8.40090526f , -10.59412598f , -12.10770405f , -11.91522373f , -11.91518882f , -14.41049054f , -17.78623890f , -21.49234475f , -25.81448584f , -28.36724870f , -30.21155944f , 1.50464115f , 9.93376270f , 11.74048494f , 9.30038969f , 9.79598610f , 10.20363220f , 7.85569223f , 4.26334672f , 4.97315307f , 3.54446278f , 1.25546594f , -3.09504089f , -6.84943958f , -5.99780503f , -6.73288678f , -8.33022105f , -10.88645558f , -13.74251357f , -18.59070672f , -25.24686013f , -27.59378675f , -28.40807602f , -30.81519883f , -33.03504083f , 19.29716892f , 22.72202601f , 17.97653030f , 16.27096251f , 12.41466110f , 8.84546373f , 8.15910118f , 6.66039787f , 6.35335478f , 4.08653893f , 0.72117759f , -2.80728034f , -1.28889621f , -3.09741558f , -8.84182975f , -13.43826617f , -17.76712819f , -21.05170423f , -24.61965449f , -27.56558965f , -28.70738278f , -30.61253475f , -32.09933492f , -32.92557847f , 22.91112025f , 16.28797584f , 13.32980234f , 11.77954583f , 11.10520613f , 9.60502556f , 6.99639805f , 4.92750381f , 4.37578890f , 3.30304792f , 1.59780404f , -0.85650398f , -4.51942915f , -6.12826489f , -9.01178894f , -9.24740841f , -12.14748862f , -16.76564804f , -21.19272621f , -27.28665412f , -29.08952731f , -28.60120961f , -31.88653060f , -33.18962566f , 33.45651993f , 27.28201548f , 24.14734641f , 20.06703472f , 17.00409549f , 15.37948573f , 13.16136491f , 12.54752730f , 8.51110832f , 6.15322442f , 1.01576259f , -3.20755791f , -6.86882472f , -10.60714935f , -13.86074399f , -17.81294984f , -21.41525794f , -23.90831312f , -26.23400053f , -28.17563657f , -29.78113366f , -31.33044221f , -32.48533160f , -33.17676836f , -1.33562639f , 7.12695001f , 9.13702377f , 12.15068677f , 10.08162039f , 4.24738369f , 5.64945952f , 9.32178364f , 3.03127020f , 1.38560225f , -0.47615923f , -1.64981857f , -3.39596649f , -4.05192511f , -6.43198431f , -7.97537953f , -9.73574405f , -10.49517550f , -11.53586670f , -11.55974030f , -11.95164592f , -14.31159626f , -16.17106881f , -17.68912312f , 35.41108122f , 29.91060467f , 19.58523453f , 16.06777717f , 12.57822747f , 8.35950205f , 8.09246540f , 6.67806922f , 5.88366701f , 4.60628742f , 0.66866287f , -2.63518420f , -1.20919288f , -3.25276235f , -8.81348472f , -13.41243642f , -17.54390333f , -21.59153299f , -26.13142590f , -30.39899536f , -32.82264487f , -35.85023060f , -38.02784458f , -39.40873711f , 28.20606627f , 15.99154594f , 10.90529614f , 8.27787590f , 6.06401205f , 5.06158745f , 4.71175812f , 3.71857258f , 3.29421131f , 3.15470022f , 1.47961235f , -0.11358400f , -2.36135275f , -5.91849835f , -7.03135770f , -5.55512296f , -6.50513100f , -10.60214350f , -14.97482271f , -15.31088270f , -17.34686348f , -20.99732736f , -25.70312725f , -29.22139957f , 42.93694373f , 32.74699191f , 30.21736822f , 26.00007059f , 19.54808802f , 16.15153602f , 13.70906743f , 10.84988327f , 10.20654657f , 7.38885117f , 1.18592616f , -2.68553419f , -8.73683094f , -12.15884936f , -15.82753433f , -18.59595794f , -21.03522899f , -22.52642663f , -25.16717079f , -26.41557750f , -26.29502925f , -27.33330821f , -27.87099339f , -28.30239553f , 6.98493107f , 12.11140261f , 12.92505832f , 10.63602573f , 9.29436222f , 7.80676869f , 6.62557343f , 4.68392090f , 2.17174988f , 1.01311116f , -1.11858724f , -2.22498325f , -3.56605973f , -4.96869680f , -6.04787508f , -6.05424850f , -7.61493730f , -9.33729157f , -10.80071194f , -12.03282608f , -14.46539670f , -17.02917589f , -19.33639362f , -21.15590027f , 16.58485816f , 23.25532800f , 24.92928523f , 21.35853037f , 18.27283576f , 16.09710359f , 14.23738656f , 12.78815582f , 9.26070976f , 6.16634740f , 0.30018833f , -3.21368036f , -6.95869200f , -11.45995031f , -14.49141925f , -17.86218539f , -23.13676669f , -25.83259792f , -29.74871192f , -33.41994284f , -34.94573093f , -37.66843375f , -39.07414904f , -39.56312642f , 19.19373953f , 14.21085832f , 10.67306675f , 8.33934581f , 6.82717763f , 6.09582415f , 5.89997396f , 4.53145606f , 4.46589963f , 2.98486276f , 1.45382349f , -0.47196753f , -3.08165487f , -4.80601244f , -6.35558877f , -7.88794845f , -9.65590673f , -11.39978404f , -12.89635391f , -14.32655348f , -17.79398377f , -21.03259304f , -23.41750892f , -26.20513637f , 29.53404537f , 30.67650669f , 27.35804255f , 20.58387049f , 15.13774878f , 11.44742263f , 8.37085526f , 10.32676908f , 9.44758339f , 4.78688526f , 1.42891547f , -1.32094691f , -4.89316199f , -9.59224642f , -14.04691133f , -15.02972510f , -16.06330505f , -18.39580808f , -21.09539458f , -21.98720102f , -21.73206018f , -23.31133245f , -24.77510819f , -26.73382495f , 8.21213806f , 10.71817099f , 6.95322984f , 10.27747529f , 8.84487068f , 3.08387427f , 4.45029470f , 10.93157046f , 2.20726443f , 2.60772269f , 0.11878151f , -0.75484803f , -2.80874481f , -3.82230411f , -6.83748866f , -8.27100427f , -9.75013326f , -11.03913114f , -12.78391580f , -13.82412848f , -14.12344338f , -16.73927451f , -18.69924100f , -20.13526564f , 36.59329684f , 30.98184338f , 20.31505022f , 15.92064718f , 13.03648432f , 8.83096086f , 8.56348539f , 7.43266836f , 6.82375344f , 4.40627973f , 1.13184165f , -3.01500873f , -1.77040231f , -3.69259653f , -9.49579170f , -13.95449102f , -18.29710034f , -22.56971615f , -26.64665710f , -30.91115675f , -33.15396332f , -36.23947175f , -38.66101864f , -40.00954322f , 21.55198111f , 18.08013792f , 12.86298781f , 10.08865136f , 9.05061804f , 6.54215134f , 4.72951143f , 3.72642094f , 2.85320817f , 1.71125125f , -0.07271721f , -0.95539550f , -3.50605983f , -4.43298306f , -5.50932418f , -6.32571893f , -7.81088376f , -8.89702447f , -9.73519051f , -10.67801247f , -13.58487694f , -16.68643366f , -17.77012871f , -20.05291511f , 46.89729788f , 35.56958745f , 28.59584038f , 22.30896946f , 16.77464328f , 13.26417085f , 9.50081776f , 9.90989766f , 7.34552811f , 5.94667087f , 1.99541819f , -1.96361481f , -6.27398279f , -10.07653618f , -12.56282109f , -16.11090729f , -17.74907160f , -19.50939014f , -22.57118303f , -25.05439958f , -25.40229780f , -27.63187647f , -28.24619732f , -28.92835915f , 7.04882350f , 14.81563453f , 15.61978870f , 11.48753791f , 8.54260976f , 6.22345107f , 5.45372753f , 5.28049811f , 4.65171365f , 3.62223181f , 1.43071415f , -1.72597185f , -3.88591530f , -4.61140675f , -6.49788570f , -8.59851355f , -9.88533610f , -11.88847906f , -14.04273862f , -16.54736577f , -19.07821687f , -22.45007228f , -25.58564675f , -28.56726867f , 26.62300533f , 28.26693809f , 26.50090754f , 20.40002747f , 15.09430263f , 11.11188625f , 8.11413871f , 10.45873727f , 9.34406319f , 4.93078412f , 1.46033398f , -1.08739740f , -4.89307642f , -9.31800578f , -13.94736720f , -15.44189741f , -15.82638440f , -18.64996439f , -23.01530348f , -24.89778906f , -24.73159812f , -26.54494768f , -28.17985037f , -30.12506435f , 18.67019979f , 15.08336786f , 12.94476580f , 10.08150497f , 10.00925560f , 9.67310787f , 7.30307309f , 4.52404204f , 5.06127062f , 3.29409992f , 1.11564223f , -2.83692116f , -5.88020005f , -6.25987188f , -7.10071550f , -8.19345902f , -10.70954639f , -13.53857613f , -18.30301326f , -24.52520568f , -27.34703702f , -27.97535570f , -30.09726173f , -32.24832937f , 36.04980859f , 29.26056864f , 23.78078855f , 19.63374982f , 16.81000279f , 14.81984984f , 12.41523810f , 11.85197437f , 8.58759306f , 5.22704793f , 0.47511965f , -3.18839218f , -7.11099580f , -11.31735229f , -13.99002045f , -16.24783283f , -18.33216567f , -20.74910417f , -23.21510782f , -25.78954590f , -27.11200149f , -28.25034071f , -29.54019390f , -30.46288370f , 0.37670779f , 0.29687493f , -0.01730927f , 0.11726067f , 0.11179207f , 0.33596355f , 0.21138045f , -0.04339771f , -0.02563331f , 0.38427089f , 0.09512665f , -0.07913710f , -0.00292995f , 0.29039347f , 0.10659745f , 0.19430847f , 0.34841833f , 0.11527277f , -0.04865383f , 0.19615645f , 0.02847621f , 0.06718820f , -0.22446622f , 0.20364433f , 33.05884904f , 28.21806545f , 18.28672366f , 14.90465855f , 11.81838140f , 8.53018928f , 7.36436457f , 6.22819968f , 5.84887442f , 3.66847974f , 0.20260152f , -2.66704796f , -1.47894289f , -2.86302773f , -7.85434089f , -12.24209362f , -16.55564265f , -20.61195764f , -25.12237933f , -29.08693654f , -31.94525806f , -35.55122030f , -38.95909687f , -40.60633258f , 24.50578368f , 23.21164155f , 17.92457034f , 12.07933488f , 8.98364311f , 6.80371606f , 5.83939766f , 5.41161671f , 4.31883022f , 3.60077410f , 1.63582448f , -1.36979682f , -3.64312460f , -5.15824621f , -7.52882787f , -8.79219701f , -10.10176923f , -12.04124517f , -13.96520976f , -16.84553679f , -20.16579953f , -23.43856366f , -26.82374740f , -29.86100013f , 48.50819832f , 34.15289137f , 28.24457133f , 23.53440589f , 18.31072957f , 15.88776926f , 12.53987092f , 11.18245335f , 6.24944164f , 4.11493883f , -0.52409240f , -5.30803325f , -9.07637769f , -11.17513219f , -12.30672893f , -14.59517059f , -15.29955284f , -16.17617119f , -18.50798560f , -20.76566614f , -22.52791437f , -25.09691027f , -26.04976551f , -26.89355524f , 8.09511743f , 16.72934786f , 15.91762640f , 13.38776480f , 11.39996807f , 9.07169312f , 5.27363212f , 3.54887142f , 4.12516542f , 1.95190718f , -0.86304369f , -2.99361979f , -3.82488041f , -4.85774399f , -6.10028496f , -7.73781042f , -8.99385716f , -9.74269129f , -11.87311775f , -14.36412448f , -16.63984465f , -18.98401676f , -21.03949226f , -22.80551374f , 20.87378295f , 25.56786054f , 24.37761370f , 20.59749879f , 17.50210689f , 15.81599869f , 13.08379347f , 12.05910670f , 8.96864073f , 5.68078325f , 0.54144388f , -3.56427128f , -7.29664065f , -11.97853799f , -15.04589649f , -16.84207789f , -18.92440518f , -21.49140235f , -24.44638942f , -27.80142626f , -29.24580339f , -31.40581424f , -33.20452192f , -34.96038674f , 19.41104922f , 14.92637618f , 12.34176913f , 10.26196252f , 8.23856507f , 6.94579600f , 6.09672941f , 5.11937634f , 4.33940607f , 3.00270291f , 1.52448177f , -0.93710759f , -3.39576042f , -5.47615969f , -6.39919115f , -8.50931643f , -10.54951473f , -12.31607256f , -14.47860786f , -16.84616423f , -20.24052021f , -23.50168995f , -26.54506826f , -30.16170088f , 28.94913403f , 28.15793287f , 27.35445852f , 23.88021364f , 19.04664597f , 16.62782585f , 13.23041024f , 11.80165357f , 6.78531707f , 3.80696933f , -0.83387114f , -5.70452993f , -9.22126990f , -11.40351884f , -12.85584125f , -15.17252463f , -16.10728336f , -17.34847712f , -19.92401313f , -22.57735630f , -23.06177883f , -25.40758146f , -25.92714954f , -26.49459925f , 12.32069177f , 16.71685865f , 15.41594910f , 11.66621173f , 7.27561715f , 4.39258627f , 3.29820147f , 3.32758485f , 3.22734089f , 2.78470278f , 1.44650193f , -0.81598784f , -3.12521932f , -3.93668706f , -4.64477937f , -6.10317000f , -7.12681751f , -8.89530539f , -11.17332758f , -13.38366313f , -16.18909111f , -19.08724858f , -21.72257955f , -24.33222369f , 35.39248501f , 28.61432228f , 17.95058353f , 16.39813320f , 12.26449602f , 9.14706821f , 8.63032788f , 5.85616320f , 5.28119540f , 2.63526927f , -0.28717841f , -3.14181019f , -2.72478672f , -3.16234838f , -8.13078551f , -11.42272872f , -14.94525653f , -18.82791922f , -23.24088065f , -27.02082853f , -28.42092038f , -30.16472575f , -31.40325103f , -31.84491940f , 29.17417043f , 22.35669900f , 16.18973605f , 11.81596682f , 7.33020525f , 4.62573743f , 3.88471147f , 3.94864957f , 3.63555026f , 2.84599249f , 1.57602679f , -1.21735288f , -3.89478177f , -4.22974940f , -4.64250760f , -6.47171963f , -7.39065220f , -8.84922447f , -11.09964915f , -13.32068423f , -16.59227278f , -19.66683547f , -21.69504139f , -24.56742611f , 47.82535148f , 33.38325580f , 27.02560388f , 20.91023436f , 15.90238857f , 12.04933297f , 8.33681708f , 7.94847051f , 5.44070980f , 4.97685841f , 1.92697687f , -2.14584476f , -5.24005039f , -8.46045386f , -10.93596293f , -14.12648623f , -15.67279334f , -17.08482629f , -19.99575822f , -22.16249633f , -23.35032624f , -25.73870364f , -26.42301184f , -27.09098779f }; Float32 cdk_37bits_2[1536] = { -0.60245706f , -0.36895614f , -0.28565548f , -0.61568604f , -0.21106471f , 0.01679180f , -0.21655981f , -0.14874146f , 0.18445090f , 0.68365367f , 0.72441464f , 0.85147601f , 0.66205855f , 0.18971396f , -0.61367179f , -0.98009038f , -1.14245763f , -1.87659153f , -2.50979179f , -2.95026349f , -3.02743274f , -2.99854930f , -2.88275498f , -2.56850176f , -5.65082964f , -2.53862673f , 0.40160897f , 2.96821191f , -0.14824038f , -1.30349223f , 2.28641587f , 2.52644085f , -0.74130153f , -0.58139293f , -0.40073314f , -0.35906410f , -1.19626114f , 0.06293193f , 0.64564279f , -0.28942601f , -0.50149314f , 0.15944196f , -0.49731843f , -1.16475251f , -1.23551169f , -1.75642099f , -1.69671673f , -3.27291796f , -3.65205633f , -1.67292739f , -1.06391729f , -1.37244548f , -1.12591558f , -0.69120125f , -0.80026251f , -0.27722939f , -0.15083351f , -0.13788690f , 0.03718469f , 0.68916477f , 0.75420341f , 0.54895929f , 0.40054739f , 0.43983204f , 0.31332249f , 0.46565374f , 0.40388762f , 0.35105496f , -0.40253674f , -0.51485592f , -0.89858941f , -1.05731152f , -2.11612178f , -1.68149840f , -1.39421377f , -0.97488811f , -0.68836346f , -0.25122725f , 0.16979554f , 0.57375560f , 1.03704438f , 0.52788495f , 0.50037128f , 0.36855698f , 0.00455631f , -0.09861634f , -0.62955146f , -0.58507783f , -0.92884745f , -1.12052521f , -1.30254994f , -1.47192536f , -1.44028535f , -1.35850941f , -1.34195842f , -1.31721028f , 0.25982061f , -1.32220193f , -0.47678762f , -0.12979514f , 0.86306107f , 0.97702394f , 0.51749416f , 0.16146949f , 0.02988918f , 0.04663050f , 0.16707804f , 0.08767141f , -0.04519466f , -0.62683764f , -0.72798866f , -0.62087439f , -0.82935248f , -1.03592460f , -1.01752567f , -0.84860483f , -0.97413949f , -0.96705657f , -0.88017027f , -0.73637371f , -0.26891091f , -0.80936559f , -0.58294544f , -1.02346364f , -0.43822029f , 0.57696314f , 1.16119077f , 2.18526688f , 0.18783659f , -0.57134867f , -0.83284393f , -0.78823212f , -0.76995104f , -1.09940636f , -0.46951794f , 0.39805438f , 0.45964480f , -0.63039899f , -0.74118394f , -0.78835034f , 0.14868248f , 0.93250274f , 0.68897718f , 0.90075101f , -1.66784004f , -0.50476115f , -0.02030205f , 0.46798248f , 0.49883263f , 1.17082801f , 0.80713467f , 1.16362509f , 0.81774163f , 0.49553337f , 0.11478912f , -0.22236563f , -0.67572086f , -1.30599465f , -1.03213159f , -0.97366307f , -0.85875427f , -0.98596121f , -0.74580950f , -0.40837319f , -0.08418331f , 0.86784028f , 1.43480309f , 1.64139207f , 2.27287621f , -0.58474310f , -0.69019045f , -0.47070058f , -0.61574738f , -0.51533540f , -0.29508852f , 0.10165453f , 0.36287882f , 0.55457305f , 0.57810155f , 0.47931307f , 0.43968104f , 0.06171771f , -0.25362137f , -0.47864384f , -0.41913420f , -0.68219417f , -0.57749295f , -0.73286321f , -0.88652778f , -1.14118878f , -1.17860702f , -1.07742659f , -0.26605958f , -1.09199471f , -1.65740224f , -2.14201695f , -2.06186690f , -1.68936539f , -1.00901439f , -0.37549041f , -0.06256679f , 0.35513419f , 0.98053497f , 0.91466430f , 0.86530432f , 0.83552545f , 0.81062242f , 0.38603024f , 0.05045884f , -0.59611788f , -0.82572806f , -1.24150282f , -1.51280469f , -1.59822307f , -1.71808914f , -1.60728998f , -1.09129709f , 0.06734422f , 0.07681791f , -1.25010854f , 0.11998545f , 0.44876184f , 0.34324970f , 0.19227749f , -0.14778119f , -0.08340870f , -0.08182976f , -0.20398755f , 0.06772352f , -0.09075007f , -0.02123454f , -0.25839401f , -0.28488980f , -0.64962465f , -0.75312989f , -1.01319788f , -1.29428363f , -1.46281777f , -1.48497336f , -1.34472564f , -0.64660266f , -0.88691293f , -0.84393960f , -0.34552440f , 0.32824730f , -0.29728699f , -1.56066720f , -1.75726505f , -1.37935080f , -0.41983170f , 0.07847383f , 1.10763083f , 1.38831040f , 0.68960638f , 0.33240448f , 0.76690865f , 0.72333401f , 0.09227846f , -0.25578331f , 0.21326173f , 0.72267697f , 1.03823367f , 0.53396722f , 0.85492859f , -0.66178264f , -0.72781507f , -1.16616398f , -0.61180318f , -0.13929383f , -0.36461939f , -0.18208278f , -0.01288829f , 0.07717647f , -0.10024019f , 0.07436033f , 0.26910493f , 0.35220120f , 0.08875997f , 0.10426474f , -0.03109220f , -0.13636337f , -0.22965524f , -0.32874358f , -0.25961753f , -0.26897008f , -0.21251566f , -0.09802804f , 0.02321489f , 0.68981472f , -1.15206563f , -2.29258605f , 2.55986100f , 0.37026158f , -2.06518041f , 0.29082193f , 1.93844641f , 0.99052150f , 0.20248720f , -0.02548929f , 0.16880347f , 0.07779328f , 0.02567656f , -0.88067113f , -0.62757477f , -0.46579846f , -0.15896606f , -0.60482751f , -0.61951099f , -0.93517849f , -1.57434405f , -2.41362494f , -3.62613249f , 0.10916433f , 0.43521512f , 1.56203262f , 2.28014034f , 2.45964989f , 1.28206740f , 0.62678461f , 0.76120906f , 0.64803676f , 0.26869080f , -0.47306419f , -0.43773939f , -0.62382319f , -1.07053542f , -0.92812261f , -1.19576823f , -1.31738270f , -1.36433226f , -1.44943362f , -1.75263554f , -1.79107934f , -1.65086642f , -1.63564703f , -1.48679794f , -1.03508578f , -1.33591451f , -0.93011319f , -0.44471674f , 0.37500761f , 0.92138871f , 0.47036706f , -0.45250578f , -0.67117578f , -1.17172575f , -0.80474849f , -0.45208178f , 0.34756513f , 0.94484979f , 0.66316845f , 0.02661059f , -0.19689367f , 0.28637288f , 0.19763960f , -0.18457662f , -0.24564459f , -0.27740232f , -0.16466847f , -0.07240464f , 0.79283938f , 0.04072154f , -0.45284799f , 0.62520205f , 0.40461878f , 0.46378915f , 0.26074483f , -0.00916984f , 0.17535410f , 0.03167535f , -0.07586785f , 0.26470352f , -0.21568977f , -0.76557444f , -0.42590064f , -0.12909543f , 0.02061938f , 0.20821266f , 0.45608502f , 0.64917803f , 0.55163697f , 0.57240961f , 0.62231726f , 0.71731998f , 0.22967499f , -0.05073000f , 0.51257014f , 0.53635363f , 0.90936842f , -0.47960537f , -0.60503509f , -0.38078624f , 0.72254161f , 0.43714553f , 0.48654362f , 0.43714660f , 0.18700370f , 0.03007471f , -0.39817882f , -0.59285823f , -0.75351375f , -0.75107912f , -0.77902788f , -0.82750373f , -0.72882091f , -0.75427284f , -0.57531634f , -0.37148640f , -2.32676805f , -0.68486879f , -0.28456416f , -0.36791144f , -0.29071024f , -0.01135526f , 0.16172201f , 0.27899421f , 0.23877415f , 0.01902860f , -0.32670357f , -0.28942004f , -0.25341926f , -0.28159658f , 0.07050306f , 0.26414188f , 0.42045388f , 0.49934376f , 0.55163730f , 0.80964449f , 0.41444864f , 0.21371086f , 0.07501103f , 0.11308696f , -0.27305539f , -1.16787053f , -1.40565538f , -0.99925137f , -1.11970497f , -0.87627497f , -0.63268066f , -0.40045797f , -0.40525654f , -0.06010181f , 0.13266298f , 0.44378479f , 0.45144645f , 0.18695876f , 0.55290900f , 0.78041480f , 0.94641486f , 1.00887739f , 1.70081287f , 2.26350129f , 2.47817098f , 2.59918260f , 2.79591047f , 2.78437201f , -0.32246249f , -1.71452730f , -2.64055100f , -2.67577145f , -0.92654110f , 0.26408617f , -0.25926943f , 0.02139616f , 0.33878547f , 0.06917466f , 0.02594366f , 0.24868381f , 0.39107983f , -0.01529301f , -0.20036110f , 0.01057045f , 0.03136854f , 0.09346079f , 0.22821765f , 0.33206417f , 0.01105828f , 0.17529667f , 0.88221791f , 0.89873292f , 0.93496823f , 0.51731100f , 0.04196463f , -0.75388451f , 0.47715970f , 0.54630853f , 0.18782570f , -0.38877496f , -0.07979449f , -0.12966809f , 0.12211422f , -0.22771599f , 0.03309780f , 0.02166307f , -0.05844436f , -0.17678384f , -0.32696150f , -0.45229639f , -0.40223728f , -0.45381663f , -0.55363514f , -0.44568304f , -0.41742550f , -0.27033009f , 1.24789723f , -0.16270145f , -0.23526508f , -0.91495192f , 0.09192658f , 0.94791314f , 0.99514796f , 1.48011022f , 1.18575675f , 0.34462249f , 0.08649944f , -0.30288071f , -0.33154349f , -0.62323828f , -1.23683351f , -1.35258474f , -1.28447604f , -1.39540423f , -1.48493397f , -1.22352799f , -0.64023287f , -0.31408935f , 0.05098542f , 0.60709035f , -1.28296443f , 0.30739631f , 0.06005469f , 0.20911344f , 0.24839533f , 0.32438667f , 0.52129460f , -0.19296009f , 0.56893959f , 0.27689822f , 0.19535841f , -0.28910358f , -0.03222614f , -0.11973675f , -0.43887472f , -0.57077656f , -0.49160952f , -0.12962890f , 0.67632833f , 1.51844798f , 1.92676111f , 2.40049046f , 3.14497224f , 4.02974673f , 1.80516481f , -0.56393339f , -1.30448044f , -1.40495082f , -0.68191674f , -0.76180008f , -0.59977868f , -0.51019494f , -0.68339140f , -0.49281527f , -0.13376455f , 0.19985525f , 0.65099755f , 0.67547152f , 0.63174636f , 0.88059571f , 0.82474329f , 0.51834518f , 0.45799476f , 0.48269666f , 0.41156043f , 0.45527314f , 0.53753557f , 0.66268670f , -1.55606025f , -0.20257947f , -0.14962756f , -0.99675497f , -1.37013665f , -1.22741192f , -0.99079753f , -0.49157059f , 1.03655475f , 1.41721212f , 0.93733685f , 0.23984335f , -0.04670573f , -0.46782519f , -0.11250628f , 0.37457349f , 0.70065238f , 0.30049206f , 0.12589128f , 0.00816302f , -0.30417620f , -0.55639550f , -0.97628459f , -1.33776955f , -0.91978133f , 2.03647597f , 2.08783454f , -0.34357589f , -0.53113823f , -0.79082032f , -0.35484777f , -0.04415842f , -0.05569113f , 0.29670211f , 0.20802391f , 0.20847836f , 0.24786650f , 0.08187504f , 0.25883128f , 0.36261019f , 0.11231239f , 0.00938238f , 0.04224603f , -0.13883262f , -0.17357685f , 0.27783307f , 0.24645533f , 0.26199958f , -0.61248405f , -0.07406218f , -0.61345974f , -1.32868141f , -1.08503963f , -0.61503512f , -0.40217073f , -0.50619739f , -0.34879559f , -0.33683180f , -0.13424100f , -0.05819325f , 0.01983650f , 0.38272624f , 0.44165965f , 1.08335723f , 1.55918521f , 0.91879734f , 0.66719572f , 0.40972477f , 0.11617552f , 0.02573831f , -0.13026683f , -0.32568351f , 0.31463364f , -0.03452175f , -0.04820884f , -0.36356998f , -1.78279482f , 0.33915182f , 0.23383962f , 0.10388632f , 0.30795414f , 0.18689800f , 0.20754344f , -0.09819817f , 0.32111428f , 0.28504616f , 0.07722536f , -0.01904677f , -0.16255073f , -0.15042754f , -0.03877674f , 0.01867447f , -0.00999362f , 0.02968441f , 0.12366541f , 0.24417438f , 1.09843253f , 0.09916156f , -0.26715787f , -0.21319307f , 0.17488666f , -0.03969684f , -0.42084276f , -0.26687268f , -0.54193150f , -0.73872758f , -0.38673483f , -0.31271029f , 0.04756063f , 0.03567565f , 0.10843090f , 1.00179157f , 1.33899024f , 0.51010916f , -0.26441522f , -0.71717032f , -1.14185896f , -1.44276220f , -1.62450955f , -1.61374667f , -1.17644421f , -0.65722894f , -0.85514146f , -1.00555806f , 0.26053267f , 0.49309357f , -0.37877784f , -0.93210797f , -1.08883971f , -0.98901078f , -0.77758095f , -1.41471701f , -1.75752311f , 0.13457770f , 2.71551042f , 3.08606371f , 0.64870422f , 0.21086401f , -1.21315351f , -2.33440097f , 0.01456974f , 2.06478611f , 0.27046489f , 0.39813046f , -0.48133789f , 0.05248478f , 0.15702810f , 1.09901110f , 1.05962736f , 1.17102152f , 1.55536593f , 0.44906344f , -0.41703175f , -1.12950682f , -0.93068802f , -1.09338708f , -0.91150200f , -0.48817666f , 0.10937607f , 0.37946930f , 0.24542719f , 0.26431763f , 0.67229593f , 0.65079198f , 0.00926221f , -0.87021868f , -1.26123155f , -1.41977363f , 1.54426896f , 1.64264747f , 1.49559347f , 0.46249745f , 0.93411099f , 1.07714355f , 0.81133504f , 0.18134510f , 0.47877461f , 0.29451902f , -0.11266912f , -0.50269456f , -0.69526938f , -0.66772091f , -0.81400219f , -0.48607791f , -0.49953687f , -0.35945370f , -0.41495272f , -0.22003468f , 0.19724418f , 0.40213003f , 0.75369682f , 0.99864576f , 0.09877598f , -0.24834930f , 0.70781761f , -0.02941638f , 0.04788121f , -0.17525416f , 0.24389545f , 1.27018837f , 1.54269729f , 1.25537489f , 1.40965823f , 0.83108228f , -0.00482938f , -0.57803168f , -1.40272349f , -2.04807395f , -2.39183907f , -2.28421278f , -1.59956397f , -1.84523910f , -1.49830221f , -1.32118632f , -1.41289179f , -1.07949145f , -3.00057476f , -0.33414238f , 0.53147236f , 0.51026648f , 0.64656500f , 0.22188527f , 0.26159611f , -0.05358452f , 0.08996934f , -0.14007857f , -0.16740033f , 0.20548656f , 0.24617443f , -0.14274519f , -0.22696206f , -0.33493349f , -0.60597008f , -0.59551620f , -0.65068169f , -0.58018184f , -0.85498638f , -0.83283956f , -0.68903400f , -0.56704530f , -1.80644488f , -2.09723761f , -2.47792833f , -2.51218612f , -1.89574511f , -1.52165564f , -1.43122992f , -1.31255781f , -1.17590463f , -0.75299628f , 0.13501040f , 1.04659662f , 0.78957362f , 1.33259798f , 1.48274046f , 1.92412844f , 1.37934388f , 1.51991312f , 1.53887225f , 1.07173430f , 0.52056336f , 0.89063725f , 0.75213286f , 0.48137117f , -0.83123316f , -1.25502416f , -0.24000076f , -0.86042163f , -1.31788654f , -1.01630239f , -0.29559367f , 0.06110944f , 1.41025494f , 1.14012093f , 1.09233283f , 0.65906473f , 0.66635495f , 0.22542242f , -0.48939739f , -0.90887258f , -1.22778778f , -1.13528888f , -0.64749466f , -0.33117378f , -0.13886376f , 0.32663134f , 0.80397143f , 1.24264775f , 0.02879094f , -0.40518021f , 1.01153472f , 0.24919166f , 0.21717242f , 0.73565158f , 0.11322127f , 0.18792292f , -0.13373281f , -0.08074408f , -0.11253388f , -0.16098838f , 0.11676604f , -0.16172666f , -0.26254412f , -0.20650902f , -0.25114318f , -0.21747560f , -0.22020914f , -0.32979603f , -0.32478632f , -0.30167186f , -0.14634515f , 0.05782533f , -0.47454777f , -0.56928151f , -1.15476553f , -0.09623004f , 2.88751281f , -0.14714366f , -0.88522957f , 4.22040983f , 1.39699412f , -1.50292392f , -0.43572570f , -0.83179815f , -0.31636548f , -0.93272549f , -0.76482978f , -1.38859059f , -1.29829764f , -0.15529744f , 0.26864398f , 0.27166310f , 0.10090808f , 0.27140121f , 0.10246642f , -0.11585636f , -0.83199745f , 1.25871280f , 2.32976268f , 1.04422262f , 0.72052750f , 0.58033767f , 1.01197514f , -0.00356009f , 0.64222581f , 0.17810713f , -0.27271599f , -0.30971603f , -0.36262209f , -0.59621272f , -0.71907027f , -0.37465802f , -0.49493312f , -0.23002788f , 0.22678857f , 0.61676427f , 1.15089995f , 1.45602224f , 1.73714565f , 1.76230856f , 3.78596594f , 0.70843751f , 0.56143039f , 0.59983620f , 0.91117855f , 1.14938132f , 0.62640275f , 0.25328046f , 0.05444886f , -0.14074779f , -0.18351720f , -0.14467121f , -0.17323666f , -0.19046734f , -0.48709718f , -0.78123776f , -0.89375672f , -0.92818935f , -0.92156607f , -0.91479400f , -0.71603833f , -0.54172884f , -0.35025273f , -0.10097845f , 1.88294702f , 1.24216466f , -0.99369851f , -0.70762866f , -0.80134642f , -1.57956697f , -1.53644146f , -0.73206309f , -0.05717919f , 0.79275997f , 0.73656524f , 0.59776925f , 0.89457859f , 0.27389259f , 0.55266497f , 0.42166521f , 0.43646218f , 0.18667357f , -0.37565357f , -0.34247443f , -0.46905572f , -0.54608498f , -0.46535569f , -0.51501131f , -0.47999037f , 1.00431088f , 0.73194666f , 0.53070406f , -0.01938612f , 0.03027495f , 0.40371180f , 0.67811524f , 0.70405966f , 0.58218726f , 0.21637318f , 0.01593260f , -0.21413948f , -0.51479804f , -0.67811458f , -0.52916655f , -0.67532514f , -0.70141319f , -0.64914555f , -0.67794975f , -0.70067665f , -0.79806639f , -0.63846191f , -0.48442451f , 1.27348348f , 0.96416420f , 0.39017217f , 0.71785608f , 1.03161791f , 0.22200744f , -0.65764394f , -1.59478709f , -0.95580133f , -0.45685571f , 0.24849072f , 0.90500271f , 0.94710102f , 0.11334884f , -0.15646077f , 0.15567420f , 0.19951531f , 0.06661949f , 0.16776497f , 0.92645175f , 1.51329143f , 1.99768327f , 2.23252155f , 2.82502657f , -0.54469743f , 0.32018638f , 0.18026765f , -0.24717676f , 0.16334731f , 0.24119007f , -0.09150780f , -0.62258235f , -0.36174875f , -0.54007117f , -0.16902754f , 0.05782464f , 0.32844560f , 0.29531844f , 0.39903673f , 0.21807358f , 0.08243945f , 0.19009618f , 0.32130029f , 0.40374798f , 0.59707077f , 0.94425923f , 1.12228590f , 1.33995773f , -0.11751559f , -0.41810808f , 0.01454897f , 0.64372292f , -0.51236310f , -1.28919088f , -0.27493502f , -0.15853449f , -0.26953216f , -0.08601421f , 0.47049578f , 0.62472064f , 0.47447185f , 0.17523033f , 0.30837586f , 0.34012918f , 0.19798450f , 0.18240973f , 0.24439643f , 0.37610178f , 0.25546586f , 0.34660852f , 0.25152738f , 0.33684884f , 0.11066744f , 1.19858921f , 0.91132496f , 1.17666312f , 1.24521727f , 0.96210985f , 0.48787188f , -0.08729327f , -0.75696449f , -0.61950811f , -0.12399623f , -0.05243043f , 0.12080690f , 0.07846342f , -0.05639926f , -0.49681521f , -0.70132533f , -0.85192537f , -0.82039718f , -0.85401537f , -0.76376214f , -0.65987739f , -0.48460153f , -0.15410472f , 0.35003846f , -1.71631424f , -2.46591563f , 0.87758858f , -1.81752528f , 3.13642054f , 1.73032547f , -0.09324163f , -4.01941823f , 1.53280929f , -1.80607033f , 0.38379815f , -0.60599486f , -0.15051943f , -1.06126256f , 0.92416849f , 1.84602853f , 1.75994867f , 0.99060749f , 0.70059849f , 1.55000269f , 0.30898296f , 1.89357287f , 3.39229864f , 2.30088406f , 0.92343676f , 0.99415615f , 0.95404596f , 0.50656674f , 0.93824653f , 0.48608406f , -0.08446928f , -0.62418615f , -0.92839590f , -0.72113820f , -0.52847345f , -0.12827999f , 0.09174440f , 0.46989097f , 0.23658785f , 0.28508481f , 0.46040256f , 0.61632907f , 0.95774580f , 1.12674250f , 1.33598604f , 1.41647487f , 1.55101744f , 1.37256353f , 0.97616384f , 0.91935645f , 0.81440269f , 0.66853976f , 0.62246830f , -0.20376912f , 0.03360847f , 0.43571616f , 0.50340338f , 0.23558369f , 0.34148923f , 0.26639247f , -0.42615485f , -0.66797929f , -0.78929117f , -1.01956966f , -1.04967706f , -0.83319766f , -0.38454933f , 0.01908745f , 0.54939284f , 1.31919448f , 1.91397573f , -1.47177526f , -0.59088313f , -0.29040563f , -0.30391048f , -0.77025357f , -0.91705792f , -1.11779825f , -1.26663583f , -0.88813029f , -0.84447950f , -0.68067351f , -0.12550231f , 0.86719136f , 0.95700684f , 1.32696558f , 1.54042652f , 1.91879305f , 2.53765271f , 2.74382217f , 2.47883719f , 2.13313809f , 1.99482993f , 1.71839367f , 1.55253059f , -2.18776004f , -2.01842604f , -2.26735458f , -1.91080096f , -2.94652547f , -2.30201691f , -2.55949436f , -2.06940788f , 0.81981691f , 0.88975503f , 1.36019848f , 1.20472608f , 1.42006397f , 0.61493222f , -1.18963425f , 0.41220219f , 4.34572607f , 4.43362932f , 4.07803194f , 5.02807593f , 3.44925570f , -0.33534871f , 0.49574672f , -0.89211792f , 1.62466606f , 0.12019975f , -0.38782369f , -0.93423193f , 0.16258521f , -0.01564732f , 0.49181187f , 0.20589834f , 0.27352752f , 0.19483395f , 0.32141824f , -0.11470920f , -0.19458687f , -0.27925271f , -0.50960055f , -0.21759523f , -0.31856471f , -0.25540294f , 0.10383356f , 0.63132905f , 1.12834639f , 1.54942785f , 2.10497109f , 2.44084721f , 1.80221933f , 1.34647425f , 0.68084866f , 0.26131343f , 0.06129242f , -0.20413381f , -0.25012623f , 0.26150026f , 0.34217016f , -0.25077441f , -0.03464205f , 0.00670185f , 0.11970509f , -0.18474450f , -0.02420872f , 0.04947295f , 0.10704821f , 0.12031899f , 0.25733107f , 0.20223825f , 0.14644252f , 0.05014131f , 0.25449839f , 0.53243125f , 2.46777249f , 2.31564554f , 1.57449051f , -0.02405359f , -0.50178606f , -0.75371618f , 0.14778503f , 0.92907656f , 1.77413761f , 1.44803582f , 0.79871587f , -0.06867376f , -0.36229444f , -0.24911098f , -0.80167236f , -1.29799461f , -1.06250807f , -1.04778427f , -0.99914314f , -1.09969569f , -0.87609022f , -0.93824122f , -0.95461855f , -0.91327026f , 0.43633316f , 0.85535629f , 0.60581035f , 0.16065427f , -0.07901143f , -0.12715680f , 0.03021654f , 0.07928964f , 0.11271867f , -0.14335296f , -0.24219156f , -0.11821250f , -0.20715557f , -0.14096772f , -0.04794024f , 0.21199596f , 0.67185756f , 1.28693268f , 1.69253449f , 2.02169124f , 2.03489721f , 2.18782692f , 2.32510550f , 2.13471256f , 5.19702515f , 0.11666770f , -0.23856561f , -0.40839191f , -0.43762919f , -0.47738566f , -0.08391318f , -0.28626545f , 0.00298357f , 0.04540739f , 0.31909785f , 0.21196383f , 0.24548536f , -0.08426235f , 0.13111045f , 0.13639205f , 0.27647873f , 0.33171126f , 0.46017809f , 0.54387048f , 0.61603267f , 0.57095620f , 0.68776632f , 0.65010973f , 0.58235537f , 0.52562482f , 1.05922702f , 1.60193935f , 0.43144897f , -2.92550999f , -2.57110854f , -1.17753807f , 0.19698968f , 1.02966008f , 0.68834236f , -0.11567313f , -1.07423611f , 1.53722962f , 2.83106005f , 0.31270547f , 0.83691800f , 0.60620087f , 0.21605402f , -0.37564956f , 0.38963810f , -0.55569948f , -0.83510003f , -0.45007941f , -0.90035383f , 0.70316556f , 1.58896986f , 2.00202833f , 0.66804071f , -0.32729105f , 0.20493044f , -0.45491115f , -0.51617330f , -0.18761885f , -0.13361848f , 0.06806675f , -0.08803656f , -0.27485407f , -0.08086164f , 0.47587476f , 0.64596634f , 1.37554511f , 1.64271082f , 1.13804275f , 0.62642705f , 0.27157260f , 0.15530333f , -0.04178223f , 2.19562225f , 0.68349947f , 0.14785409f , 0.07266666f , -0.11144618f , -0.52658551f , -0.77916859f , -0.76098098f , -0.55947105f , -0.61767060f , -0.18020839f , -0.26320634f , -0.03154415f , 0.41832030f , 0.98036861f , 1.17153463f , 1.26081153f , 1.58669565f , 1.96844912f , 2.21868662f , 1.28843850f , 0.48905790f , 0.12804274f , -0.25383240f , 0.96587648f , 1.45558990f , 0.31977941f , -0.95024822f , -1.59243377f , -0.35590271f , -0.57251864f , -0.20900643f , 0.39660737f , 0.51169138f , 0.41734874f , -0.03711820f , 0.43311570f , 0.50214417f , 0.08955252f , 0.09513494f , 0.32141616f , 0.43401876f , 0.86976131f , 1.39503347f , 1.54833843f , 1.52864127f , 1.46114291f , 1.21933526f , 1.78766271f , 1.61870712f , 2.29243952f , 1.45106025f , -0.02202545f , 0.12396735f , 0.05180173f , -0.74274249f , -0.04132082f , -0.01646827f , 0.04051846f , 0.10680231f , 0.03361298f , -0.26263042f , 0.29610433f , 0.25222625f , 0.18019271f , -0.22323513f , -0.68162437f , -0.96880693f , -1.29349030f , -1.78825246f , -2.63819014f , -3.24193152f , -5.14372601f , 2.35480301f , 2.57594417f , 3.31674200f , 5.64389287f , 5.57674458f , 3.59322110f , -1.28598587f , -1.68632976f , -2.12796852f , -2.98396833f , -4.09489145f , -4.00821759f , -0.23400052f , 1.27890396f , 0.77129006f , -0.44287462f , -1.47029001f , -2.18546499f , -2.54400987f , -3.37996978f , -1.92988631f , -3.15537156f , -4.51816327f , -0.35333284f , 0.05714033f , 1.24834935f , 0.52566638f , 0.41396899f , 0.74990328f , 0.95628046f , 0.44418709f , -0.34231956f , -0.14250584f , -0.59768493f , -0.64758317f , -0.22890844f , 1.10009034f , 0.66447430f , -1.03679499f , -1.33177125f , 1.17542516f , 2.21270353f , 1.90162759f , 1.20419817f , 0.83319667f , -0.52929949f , -2.16298435f , 5.19114552f , 3.69595577f , 2.40462618f , 1.01495594f , 0.03903091f , 0.32991808f , -0.22330707f , -0.60000816f , -0.42237486f , -0.09093864f , 0.19458627f , 0.42022925f , 0.27603710f , 0.12695518f , 0.13428003f , -0.11234558f , -0.07201685f , -0.08582543f , -0.00938781f , 0.00835335f , 0.26546185f , 0.48668790f , 0.55514085f , 0.42743906f }; Float32 cdk_37bits_3[1536] = { -0.39555686f , -0.03651739f , -0.44779209f , 0.28023722f , 0.00089126f , -0.66214790f , 2.59448215f , -0.79382669f , -0.12742901f , -0.11647842f , 0.01833394f , 0.16500005f , -0.09845495f , -0.28459353f , -0.36237538f , 0.11970795f , -0.45285373f , -0.10504899f , -0.11812969f , 0.38858637f , 0.86990072f , 0.65514891f , 1.11998296f , 1.21258496f , 0.22127561f , 0.04345828f , -0.01534097f , -0.09898785f , -0.26169093f , -1.42940674f , -0.62833523f , -0.43722472f , -0.03759617f , -0.48777744f , -0.21315437f , -0.50978248f , -0.03448283f , 1.37885110f , 2.31984917f , 0.94767797f , -0.60793975f , -1.49725519f , -0.82404584f , -0.79191239f , -0.41285081f , -0.57794113f , -0.59258055f , -0.52142849f , -2.04397465f , -0.73672438f , -1.22406020f , -0.60820965f , -0.66350776f , -0.63508874f , 0.11396081f , 0.27852903f , 0.02122066f , -0.36929472f , -0.09692458f , -0.59306388f , -0.03445818f , 0.22347759f , 0.50874437f , 0.79690333f , 0.44886168f , -0.21185937f , -0.22593929f , 0.10528155f , 0.46293555f , 0.91816687f , 0.81749785f , 0.52952675f , -0.83745738f , -1.08740279f , -0.81741019f , -0.19035650f , 0.26494816f , -0.53562479f , 0.07089504f , 0.57372383f , 0.54761482f , 0.03039794f , -0.04447253f , 0.12483594f , 0.21652272f , -0.29093744f , -0.18196704f , -0.42015965f , -0.35529408f , -0.64256034f , -0.65492788f , -0.67987885f , -0.90903026f , -1.04259245f , -1.11997561f , -1.06502927f , 0.35909764f , -0.87235994f , -0.84471723f , -0.71941795f , -0.63106065f , -0.13584873f , 0.00035122f , 0.92117956f , 0.23226720f , 0.38257788f , 0.53266968f , 1.00892757f , -0.01254911f , -0.72578637f , -0.87564652f , -0.59001429f , -0.10713772f , 0.64583948f , 2.23457520f , 2.05203337f , -1.05813794f , -0.53728713f , -0.98376127f , -2.32960660f , -0.37609544f , 0.57819159f , 0.36973473f , -1.59244337f , -1.38928585f , 0.17356612f , 0.05708517f , 0.55433790f , 0.59850517f , 0.28868283f , 0.11861574f , 0.18433235f , -0.05806802f , -0.05763413f , -0.27751060f , -0.18177730f , -0.00964178f , -0.38778247f , -0.57380279f , -0.56566098f , -0.62571613f , -0.59413960f , -0.61423645f , -0.79876589f , 0.83478463f , -0.27534215f , 0.01524335f , -0.21639948f , -0.24423974f , -0.23618527f , -0.33317320f , -0.47935624f , -0.15249438f , -0.20363495f , 0.10344548f , -0.31742304f , -0.80171882f , -0.52313955f , 0.00839865f , 1.52844134f , 1.65181493f , -1.32088237f , -0.92249349f , -1.06298456f , -0.07484235f , -0.16968152f , -0.27904781f , -0.28263495f , -0.35596324f , 0.22314830f , 0.17976713f , 0.03198763f , -0.12387166f , 0.15347508f , -0.07824379f , -1.73831583f , 0.24945724f , 0.50825939f , 0.37505775f , 0.09671258f , -0.42450737f , -0.00807859f , 0.43247130f , 0.47374177f , 0.08198413f , -0.17182369f , -0.24951122f , -0.40607268f , -0.34400714f , -0.49624679f , -0.37255649f , -0.39973249f , -1.17006196f , -0.13172492f , -0.00974038f , 0.34580927f , -0.44057385f , 0.93062397f , 0.69327166f , 0.08607482f , -0.08210773f , -0.04718499f , -0.07694656f , -0.11915558f , -0.27321781f , -0.38372565f , -0.17058554f , -0.11705279f , 0.00039928f , -0.05191028f , -0.21529579f , -0.57393337f , -0.82568921f , -1.24107379f , -1.47599343f , -1.53248379f , -0.21719645f , -0.19291913f , -0.75004495f , -0.71951649f , 0.47553953f , 1.38096577f , 1.04033311f , -0.03221815f , -0.86572179f , -0.39911324f , 0.01402460f , 0.13262858f , -0.09635214f , 0.32714710f , -0.23837385f , -0.85773163f , -0.88110961f , -0.98073890f , -0.79564795f , -0.61482268f , -0.51303751f , -0.17108237f , 0.13139182f , 0.33062304f , -0.65971615f , -0.36376531f , -0.48204612f , -0.96580829f , -0.38529047f , -0.02620179f , -0.58558478f , -0.71688128f , -0.19952990f , -0.35258890f , 0.23812036f , 0.76018967f , 0.76511691f , -0.04406894f , 0.27021687f , 0.17352452f , 0.10253468f , 0.11128335f , 0.11180254f , 0.02374565f , 0.06920751f , 0.16750231f , 0.07976935f , 0.01873091f , -0.56879426f , -0.30163117f , -0.21853853f , -0.53731934f , 1.94762983f , -0.40486765f , -0.45665477f , -0.68446479f , 0.29429121f , 0.03909750f , 0.15870855f , 0.44189594f , 0.50054032f , -0.21856641f , -1.18939515f , -0.79884717f , 0.37048428f , 0.68697692f , -0.60894758f , 0.22049746f , -0.40599348f , -0.85599586f , -1.02469575f , -1.24963523f , -0.59195437f , -0.70945563f , -0.15260636f , -0.11149946f , -0.27565596f , -0.07645921f , 0.39497828f , 1.24678661f , 1.18358424f , 0.31430952f , -0.55975403f , -1.31101207f , -0.69091358f , 0.28078628f , -0.21792173f , -0.25137229f , -0.03764299f , -0.16055917f , -0.23425462f , -0.30830760f , -0.03132299f , -0.07131420f , 0.12064408f , 0.03452070f , 0.64730537f , 0.25294955f , 0.59073653f , -0.02889400f , 0.46909137f , 0.64173464f , 0.30648456f , 0.11024926f , 0.62116350f , 0.28226056f , 0.21516616f , -0.18069190f , -0.26872093f , -0.28573023f , -0.55069608f , -0.59818666f , -0.76225667f , -0.64631598f , -0.73617734f , -0.72489209f , -0.60849158f , -0.66871466f , -0.59332250f , -0.53455648f , -0.07107892f , -0.12362226f , -0.21667130f , 0.08342061f , -0.26377510f , -0.22955671f , 0.28415481f , -0.59587984f , 0.76501116f , 0.53927870f , -0.41773182f , -0.62604889f , 1.72550145f , 0.83771852f , -1.09720899f , -0.92889980f , 0.00835226f , -0.53818200f , -0.40166509f , -0.77584442f , -0.86058879f , -1.07506625f , -0.75645733f , -0.37900991f , -0.86391437f , -1.56875806f , -0.59737022f , 1.47103303f , 0.58013388f , -0.61125685f , 0.21215056f , -0.82381155f , -1.02435909f , 0.44360022f , 0.46674660f , -0.24399003f , 0.05535292f , -0.13537148f , 0.53716959f , 0.38570703f , 0.15789830f , 0.82344300f , 0.71725375f , -0.08478097f , -0.19045110f , -0.30913951f , -0.71208241f , -0.41211249f , 0.28300838f , 0.07819052f , -2.59554850f , 0.01513969f , 0.02275068f , -0.41900901f , 0.35308403f , -0.22328483f , -0.08406000f , -0.23448738f , -0.01463282f , 0.10979483f , 0.06169874f , 0.11653196f , 0.19591528f , 0.38801499f , -0.27219161f , -0.03580387f , -0.39412610f , -0.54966348f , -0.43187400f , -0.26346025f , 0.10805189f , 0.47603876f , -0.44926755f , -0.27303642f , -0.70688129f , -0.60385437f , 2.03834457f , -0.29886385f , -0.37220015f , -0.40157890f , 0.00114372f , -0.55682607f , 0.18940701f , -0.90851567f , -0.11558088f , -0.30509965f , 0.37725906f , 0.36395947f , -0.01158594f , -0.11778388f , -0.08166158f , -0.00099729f , -0.03361890f , 0.17877023f , 0.46953351f , 0.60661120f , -2.32090231f , 0.31006497f , 0.43589911f , 0.16050441f , 0.04916749f , -0.07132427f , -0.10907864f , -0.15235030f , -0.34310944f , -0.38589894f , -0.22420356f , 0.28262581f , 0.26288112f , 0.10104567f , 0.30661547f , 0.15586639f , 0.12838052f , 0.16339047f , 0.31122445f , 0.21703946f , 0.05094335f , -0.36066770f , -0.52001051f , -0.85195920f , 0.81157773f , -0.87377611f , 0.35897335f , 0.97922466f , 0.21161336f , 0.61189108f , 0.09975497f , 0.85557541f , 0.44633554f , -0.06799683f , -0.82196168f , 0.18733624f , -0.11555839f , -0.46227977f , -0.84455317f , -0.28718848f , 0.18823232f , 0.02081597f , 0.20496005f , -0.18321698f , -0.53186346f , -0.76751019f , -0.82707771f , -0.93511852f , -0.62789782f , -1.02899916f , -0.83398776f , 0.34736659f , -0.82847318f , -0.55517102f , 0.73944715f , 0.51603042f , -0.17541205f , -0.51297491f , -0.28031225f , 0.37534747f , 1.33255256f , 0.85299363f , -0.49866574f , -0.70931713f , -0.25347802f , 1.18650471f , 0.96320283f , 0.17951998f , 0.50223738f , 0.94745145f , 0.71031145f , 0.35981922f , 0.25960499f , 0.20085615f , 0.66071489f , -0.39300998f , -1.04584452f , 0.68763487f , 0.24341422f , -0.44681709f , -0.42478638f , 0.35809846f , 0.23651606f , 0.24690213f , 0.02840220f , 0.15533695f , 0.09128538f , -0.06270472f , -0.06713015f , -0.25335122f , -0.38172369f , -0.13095063f , 1.38549753f , 1.56595584f , -0.79491152f , -1.69456364f , 0.10124015f , 0.44268052f , 0.41947170f , 0.06998858f , -0.44403538f , -0.53833083f , -0.18012515f , 0.19801548f , 0.02848198f , 0.10328039f , 0.05547373f , -0.08134220f , -0.11347284f , 0.18716972f , 0.15052121f , 0.45578915f , 0.17825613f , -0.62982728f , -1.25893192f , -1.72372974f , -1.52843742f , -1.14720248f , -0.59782030f , 0.41304965f , -0.65791072f , 0.50448348f , -0.22790188f , 0.65577284f , -0.41604305f , 0.48294798f , -0.01782262f , 0.11258538f , 0.45414723f , 0.46990532f , 0.18373223f , -0.25480101f , -0.03967844f , 0.14242292f , -0.18186310f , -0.44759830f , -0.48848859f , -0.23499694f , -0.00449827f , 0.06947204f , 0.24366262f , 0.18799436f , 0.16493984f , 0.07341900f , -0.17084500f , -0.52693384f , -0.15426250f , -0.36638752f , -0.08888879f , 0.42508938f , 0.70488045f , 0.35337658f , -0.31440288f , -0.95905412f , -1.39777356f , -0.73044215f , -0.21780251f , 0.16276937f , 1.17947648f , 0.62166831f , 0.26018916f , -0.29948472f , -0.58195133f , 0.45241574f , -0.06192729f , -0.35749657f , -0.32541389f , -0.31290178f , 1.03333306f , -1.91050021f , -0.13109130f , -0.32248959f , -0.38101335f , 0.00494321f , -0.25107010f , -0.01681079f , 0.21943144f , 0.25121705f , 0.18563785f , 0.03636768f , -0.10100837f , 0.06649688f , -0.00664293f , 0.05595170f , -0.06422094f , -0.11002354f , -0.10109236f , 0.01090687f , 0.06631093f , 0.07976458f , 0.15739108f , 0.10857007f , -0.33199571f , -0.56448889f , -0.45287501f , -0.05693402f , 0.05942782f , -0.02093585f , -0.20271071f , 0.55906399f , -1.15218041f , 0.70760814f , 0.15200578f , 0.36721991f , -0.31006992f , 0.02414406f , 0.01873367f , -0.06168544f , -0.14084190f , 0.06391549f , -0.04024367f , -0.07702959f , -0.02899824f , -0.00754099f , 0.01931078f , 0.01310811f , 0.69225346f , 0.84703204f , -0.19222695f , 0.59171381f , 0.90355259f , 1.04460186f , 0.42894358f , -0.70178829f , -0.37391764f , -0.32821766f , -0.50107079f , -0.39470843f , -0.47521936f , -0.30884997f , -0.01935248f , 0.29822241f , 0.42715252f , 0.30438803f , 0.02378992f , -0.17775730f , -0.46267559f , -0.55927080f , -0.39468999f , -0.38547224f , 0.04236230f , 0.43024591f , 0.23320886f , -0.03322528f , 0.26547627f , 0.40419917f , -1.88256953f , 0.33336965f , 0.43032431f , 0.34945524f , 0.14640688f , 0.26111890f , 0.09050959f , 0.02378679f , 0.10374918f , -0.14167201f , -0.38323030f , -0.20424346f , -0.07877651f , -0.15358523f , -0.29084030f , -0.28534203f , -0.27854188f , -0.38414543f , -1.35067299f , 0.93458694f , 1.52963743f , -0.47674751f , 0.63038639f , 0.04082455f , 0.01396927f , 0.26394766f , 0.21929233f , 0.30917185f , -0.05098944f , -0.21646126f , -0.06968916f , -0.21403511f , -0.42684368f , -0.24236372f , -0.25734336f , -0.24137196f , -0.18847818f , 0.05790433f , 0.47029098f , 0.74262516f , 1.02334770f , 1.07200952f , 1.83813338f , 0.07329820f , -0.57353904f , -1.04253446f , -0.37247340f , 0.27885340f , -0.44127016f , -0.52596624f , -0.25949219f , -0.21831662f , -0.08737252f , 0.35876725f , 0.27309909f , 0.22976268f , 0.34570166f , 0.21284816f , 0.20626047f , -0.06110003f , -0.17056277f , -0.33205968f , -0.17877150f , -0.36375995f , -0.42667310f , -0.49148755f , -0.22303223f , -0.61782734f , 0.07221479f , 1.17445515f , 2.13609068f , 1.76589885f , -0.17154121f , -0.54143140f , 0.11077396f , -0.12473649f , -0.52786787f , -0.05194147f , -0.44717763f , -0.76381778f , -0.72611078f , -0.52076079f , -0.13782787f , 0.23657528f , 0.01943847f , 0.24767381f , 0.39174174f , 0.63263104f , 0.63997347f , 0.76935917f , 0.38916423f , 0.50423553f , -0.21980701f , -0.78548685f , 0.21972204f , -1.43872473f , -0.00193477f , 0.36744541f , 0.16700668f , 0.15377980f , 0.47950705f , 0.29978828f , -0.11417606f , 0.16176485f , -0.11482538f , -0.05361745f , -0.12586636f , -0.09325236f , -0.14811836f , -0.05048373f , 0.10243041f , 0.21861802f , 0.33250117f , 0.27345191f , -0.16468513f , -0.37910979f , 0.57141664f , 0.42620144f , 0.44428971f , -0.54448346f , -0.05612505f , -0.02298608f , 0.53916950f , 0.25456592f , -1.10661655f , 0.40146315f , 0.12765698f , 0.17879679f , -0.07731271f , 0.01866167f , -0.15740825f , -0.28894193f , -0.34340439f , -0.43682656f , -0.22326149f , -0.09309579f , 0.16725751f , 0.19673331f , -0.65757909f , -0.55769769f , 0.11252773f , -0.72975912f , -0.94079760f , -0.62713476f , -0.11981244f , -0.17247533f , -0.14738685f , -0.31158412f , 0.07368734f , 0.03103339f , -0.13215125f , 0.34103810f , 0.63393867f , 0.60552884f , 0.76554800f , 0.90960605f , 0.91659500f , 0.66527593f , 0.30424524f , 0.11961615f , -0.11209393f , -0.30051986f , -0.82645253f , -0.59100209f , 0.39970568f , 0.22244794f , -1.28440435f , -0.46429652f , -0.43824168f , -0.32298820f , 0.10465933f , 0.69271672f , 0.92760147f , 0.82494517f , 0.34287482f , 0.34953026f , 0.02628626f , -0.35943701f , -0.39877485f , -0.31291814f , -0.37557165f , -0.14676958f , -0.17425675f , -0.18461930f , -0.05110559f , -0.07497296f , 0.63983165f , -0.34339191f , -1.28647231f , -0.91450456f , -0.67728709f , 0.49126298f , 0.96821534f , 0.31300605f , 0.20917849f , 0.12659990f , -0.36342261f , -0.39963395f , 0.03244120f , -0.41837324f , -0.14271340f , -0.19770449f , 0.05878109f , 0.55231761f , 1.04404725f , 1.05536545f , 0.78016416f , 0.27780151f , 0.09224589f , -0.32156570f , 1.30003273f , 1.10615566f , 0.93319181f , -0.31410562f , -1.16956697f , 0.45520743f , 0.46104645f , 0.18090068f , 0.31535574f , 0.12164263f , -0.04591607f , -0.26863484f , -0.02921210f , -0.15765476f , -0.25295046f , 0.08951494f , 0.29990800f , 0.46529486f , 0.49388104f , 0.48334578f , 0.56975339f , 0.86976618f , 0.99832143f , 1.00030209f , -0.55945569f , -0.48562099f , -0.51312465f , 0.17718364f , -0.05557705f , -0.12420531f , -0.24644329f , -0.21879889f , 0.30085953f , 0.00211036f , -0.18180571f , 1.26296385f , 0.36245046f , -1.20467536f , -1.38107334f , 0.51651968f , 0.96691210f , -0.21489415f , -0.08106702f , 0.07733171f , 0.44486220f , 0.65985117f , 0.65337579f , 0.40205936f , -0.30605618f , 0.02127030f , 0.13771863f , 0.12191376f , 0.08563477f , -0.00381708f , -0.81881216f , -0.82260335f , -0.43603699f , 1.36965455f , 4.16686363f , -1.70970343f , -0.32019699f , -0.11951735f , -0.80947648f , -0.47446757f , -0.10775129f , 0.04114059f , -0.30054633f , 0.64175035f , 0.82115142f , 0.62944370f , 1.08179899f , 1.57667179f , -0.66788387f , -0.77237720f , 1.52623021f , 0.85040444f , 0.35492746f , 0.85358404f , 0.78207517f , 0.43130368f , -0.54845102f , -0.71654944f , -0.60068901f , -0.12408427f , -0.01179498f , 0.53882278f , 0.31915828f , -0.32987316f , -0.94788725f , -0.40099308f , -0.01063294f , -0.38326806f , -0.01161978f , -0.21941390f , 0.02258487f , 0.25904448f , 0.79869030f , -0.85517012f , -0.65115608f , -0.04355956f , -0.43731619f , -0.71616470f , -0.30302847f , 0.88809204f , 0.05112801f , 0.10303432f , 0.13671577f , 0.57965072f , 0.32487238f , 0.33649929f , 0.01540811f , -0.25814148f , -0.72026311f , -1.15836561f , -1.20004844f , -0.81812408f , 0.41446837f , 1.03057194f , 1.42461866f , 1.82616342f , 0.17675536f , -0.27924845f , 0.71723708f , 0.57533161f , -0.11526653f , 0.43395839f , -0.24166179f , -0.76071716f , -1.50945411f , -1.22484500f , -0.26852216f , 1.13903054f , 1.01376035f , 0.64844913f , 0.40121308f , 0.49004723f , -0.00594971f , -0.16285024f , -0.35446584f , -0.43396060f , -0.49929653f , -0.30312166f , -0.52537515f , -0.70337166f , -0.01631724f , 0.04545139f , 0.53843851f , -1.98110624f , 0.42385228f , 1.10982161f , 0.08204933f , -0.22120343f , 0.22170428f , -0.13084571f , -0.38312127f , -0.33942169f , -0.35304155f , -0.04620752f , -0.20644844f , -0.11783954f , -0.03944293f , 0.22733974f , 0.19411990f , 0.20591734f , 0.35857215f , 0.26680777f , 0.13225980f , 0.03751274f , 1.65876005f , 0.44487285f , 0.74939639f , 0.18365303f , -0.43020202f , -0.60237220f , -0.25419435f , 0.68333923f , 1.41188058f , 0.97222943f , 0.24472516f , -1.22113362f , -0.78612825f , -0.11991861f , 0.13256744f , -0.36248959f , 0.33181909f , 0.32143886f , 0.23857089f , 0.00232431f , 0.32728111f , 0.18236067f , 0.19458883f , -0.13449373f , 1.01250205f , 0.78159362f , 0.01261799f , 0.68249798f , 0.04319542f , 0.35059328f , 0.74464616f , 0.84844350f , -0.11329224f , 0.41294739f , 0.18293144f , 0.20984708f , -0.58769014f , -0.80150375f , -0.51500468f , -0.35048400f , -0.42362303f , -0.36779032f , -0.28994050f , -0.23359131f , -0.06578403f , -0.05881381f , 0.08966738f , 0.00019544f , 0.70403072f , 0.78285193f , 0.28511894f , 0.00755209f , -0.37995087f , -0.72155263f , -0.99707384f , -0.74737344f , -0.22877183f , -0.13565785f , -0.46966212f , 0.04900542f , 0.26640966f , 1.14596859f , 0.60401715f , 0.82513938f , 0.79006003f , 0.37851130f , 0.22098744f , 0.20295618f , 0.31645545f , 0.57600633f , 0.77757957f , 0.75482137f , -0.31257984f , -0.82866492f , 0.10257062f , 1.11051690f , -0.28919177f , -0.56055958f , -0.92349260f , 0.14536629f , 0.59860128f , 0.38979660f , 0.36223511f , -0.54044378f , -0.36717720f , -0.11683797f , 0.76699709f , 0.24571187f , 0.28893468f , 0.47314073f , 0.42211323f , 0.40023200f , 1.13398057f , 1.09318885f , 0.78306966f , 0.51052587f , 0.64453179f , 0.37582288f , -1.11900539f , 0.74031316f , 1.04873921f , -0.40828504f , -0.81838582f , -0.17966094f , -0.05226590f , -0.65864031f , -0.31516753f , 0.18237239f , -0.05159927f , 0.21789484f , 0.08749049f , 0.24120803f , 0.70600965f , 0.64124786f , 0.42083380f , -0.09773141f , -0.23606513f , -0.38900548f , -0.47036719f , -0.54328594f , 0.19215906f , 0.37207957f , 0.52832092f , -0.35006098f , 0.09333668f , -0.08723831f , 0.13342910f , 0.37870962f , 0.31836369f , -1.28479417f , 0.33703877f , 0.14237789f , 0.05993876f , 0.02873350f , 0.23865068f , -0.04501394f , -0.31343410f , -0.18101341f , -0.24548541f , -0.25187640f , -0.07255855f , -0.10957046f , -0.11231929f , -0.28412748f , -0.68394190f , 1.32649088f , -0.20251428f , 0.26341125f , 0.12047780f , -0.18276225f , 0.16509523f , 0.52338615f , 0.59701878f , -0.23303681f , -0.39329168f , -0.08757063f , -0.16628726f , -0.65649992f , -0.39211601f , 0.17386600f , 0.53243333f , 0.71723255f , 0.49078614f , 0.24827219f , 0.06289971f , -0.05734434f , -0.11833561f , -0.22187979f , 0.39633308f , 0.04156044f , 1.06101733f , 0.27315319f , 0.59336180f , -0.53703174f , 0.16228868f , 0.13114487f , 0.27822076f , 0.36752801f , 0.19860881f , 0.02973693f , -0.43825412f , -0.58401569f , -0.28187681f , 0.04818616f , 0.03285983f , 0.13037889f , 0.11038839f , 0.02272515f , -0.23535124f , -0.61140662f , -0.80591081f , -1.04033145f , -0.13968644f , -0.06564459f , 0.18157254f , 0.33968636f , -1.65427724f , -0.73513587f , 1.04378907f , 1.88232308f , -0.37664399f , -0.27362352f , -0.33476530f , 0.38907833f , 0.34755286f , -0.33257534f , -0.02008915f , 0.33980081f , -0.27671777f , -0.19240561f , -0.07016053f , 0.46780800f , 0.13346733f , 0.34947591f , 0.60154010f , 0.24323917f , -0.39262699f , 0.20645882f , 0.64129296f , -0.83583673f , -0.02829965f , -0.15644726f , 0.05838216f , 0.14551091f , 0.14988963f , 0.11803820f , -0.32326940f , 0.68272158f , 0.31487041f , 0.19785659f , -0.39751586f , -0.35328008f , -0.40849303f , -0.08677978f , 0.86709071f , 2.23822727f , 1.53306955f , 0.78362429f , -0.23530753f , -0.72391215f , 0.65081318f , -0.18880278f , -0.46498433f , 0.26852197f , -0.77114484f , 0.03361544f , -0.35148506f , 0.22060019f , 0.18248041f , -0.12293613f , -0.11807126f , 0.14429704f , 0.05679295f , 0.22972542f , 0.12354306f , 0.16318102f , 0.20910602f , 0.08354589f , -0.24387542f , -0.29604028f , -0.70475015f , -1.05341049f , 0.01797512f , 4.10874675f , 0.45835477f , 0.01993812f , -0.04065773f , -0.15665852f , -0.42264630f , -0.36060614f , -0.43907429f , -0.66069837f , -0.24237031f , 0.15215315f , 0.03612217f , 0.24708032f , 0.55884560f , 0.72918318f , 1.75786010f , -0.70099106f , -0.65499421f , 0.89851270f , 1.07676113f , 0.70864260f , -0.27784651f , -0.35596115f , -0.12995875f , 0.20579609f , 0.41191636f , 0.62621815f , 0.09298962f , 0.55341001f , 0.56857786f , 0.43563939f , 0.36112747f , 0.91004762f , -0.20875537f , -0.76286980f , -0.80355493f , -0.57667740f , -0.12055277f , 0.03202311f , 0.30982039f , 0.02801005f , -0.17407837f , 0.00238884f , -0.00072431f , 0.20627903f , 0.75917669f , 0.94538134f , 1.07598898f , 1.25330200f , 1.62660683f , -0.09939473f , 0.66227464f , 0.58551798f , 0.70671700f , 0.17084690f , -0.20901679f , -0.40736809f , -0.48424703f , 0.03110675f , 0.17837373f , 0.15654547f , 0.05523718f , -0.00011673f , -0.03885655f , -0.10282160f , -0.05607837f , -0.02472319f , -0.02603773f , 0.16068736f , 0.49195589f , 0.53877406f , 0.64916929f , 0.58349185f , -0.19541004f , 0.72348145f , 0.18424396f , -0.24664098f , -0.06871482f , 0.69420972f , 0.47406100f , -0.17312110f , -2.04415513f , -0.25411034f , -0.27524224f , 0.06647737f , 0.24326809f , 0.16942888f , 0.40718778f , 0.35988573f , 0.40128652f , 0.49142944f , 0.60191512f , 0.34882977f , 0.16989975f , 0.24984840f , 0.27163863f , 0.15321543f , -0.44196663f , -0.26819397f , 0.67190611f , -0.18646133f , 0.45381660f , 1.11913414f , -0.16504930f , -0.57004245f , 0.12959909f , 0.01138749f , -0.36040681f , -0.97442716f , -0.87831396f , -0.14292832f , 0.42648657f , 0.25148162f , 0.69831357f , 1.48191698f , 1.27272976f , 0.11336886f , -0.87051097f , -0.59490814f , -0.81852032f , -1.19619968f , -0.25757408f , 0.54305128f , -0.79688385f , -0.60924273f , -0.12316087f , 0.11158591f , -0.87972153f , -0.44243737f , 0.18336137f , 0.70958050f , 0.65996224f , -0.03788380f , -0.46562482f , -0.32237563f , -0.18491199f , 0.26669422f , 0.52467917f , 0.59451930f , 0.79600063f , 0.90689924f , 1.13895471f , 1.44288125f , 1.66630190f , 1.46406996f , 0.88003703f , 2.56458597f , 1.71193850f , 1.65285002f , 0.72084892f , 0.38643126f , 0.14318446f , 0.28667315f , -0.19288261f , -0.16566274f , -0.31005972f , -0.49025502f , -0.18453165f , -0.14612403f , -0.04808515f , 0.01128747f , -0.01064585f , -0.12855927f , -0.22958706f , -0.19555403f , 0.02963856f , -0.01023782f , -0.12652262f , -0.10513883f , 0.66279753f , 2.42221261f , -0.08766251f , -0.72413474f , -0.21245882f , -0.28173391f , -0.45644329f , -0.27322613f , -0.26135706f , -0.00095259f , 0.27722008f , 0.50181970f , 0.53741922f , 0.02301582f , 0.05101261f , 0.08308112f , 0.01205931f , 0.03237543f , -0.19025538f , -0.25886072f , -0.65187116f , -0.67398548f , -1.14025176f , -1.58932661f , 0.17921058f , 0.08258647f , 0.33959227f , 1.72037280f , 1.38344521f , -0.23430972f , -0.50065409f , 0.00856925f , 0.28114664f , 0.27461748f , 0.31709158f , 0.82901212f , -0.15113492f , -0.25813352f , -0.41877594f , -0.81233724f , -0.71788760f , -0.16907758f , 0.19973863f , 0.33985209f , 0.02718327f , 0.32739235f , 0.74128769f , 0.93245569f }; Float32 cdk_37bits_4[1536] = { -0.08826527f , -0.68186913f , 0.10838073f , -0.43643363f , -0.41527175f , -0.55730727f , -0.34319791f , -0.40335689f , -0.41236590f , -0.43762241f , -0.34979692f , 0.20670516f , 0.56648629f , 0.45153526f , 0.24057949f , 0.52851143f , 0.92657151f , 0.59941681f , -0.15803439f , -0.97113347f , -0.53306250f , -0.15122053f , -0.25212109f , -0.21018566f , 0.39520775f , -0.06876283f , -0.05296158f , 0.73104266f , 1.42403499f , 0.45421406f , -0.17043922f , -0.74733849f , -0.66305214f , -0.55365607f , -0.35289753f , -0.04055727f , -0.10593728f , -0.05024752f , 0.12627425f , 0.32227232f , 0.35862945f , -0.33025092f , -0.42097571f , -0.51789189f , -0.43150446f , -0.42237163f , -0.31356874f , -0.35919061f , -1.66468995f , 0.28333893f , -0.63138470f , 0.25282895f , 0.81464016f , 0.43544261f , 0.16598498f , 0.21343499f , 0.04430694f , 0.04005313f , -0.09506983f , -0.40633891f , -0.37109338f , -0.10155129f , -0.25586130f , -0.50829977f , 0.02467106f , -0.22449907f , 0.00822338f , 0.18455191f , 0.25447269f , 0.12288496f , -0.09567011f , -0.30095943f , -1.15666522f , -0.30930290f , 0.13432561f , -0.59224171f , -0.36982119f , -0.52250238f , 0.01911206f , -0.29889977f , 0.45230096f , 0.40142558f , 0.43793893f , 0.22627276f , 0.37598261f , 0.32984874f , -0.34803841f , -0.44638526f , -0.25723637f , -0.50369445f , -0.26783820f , -0.30872225f , -0.55499601f , -0.40533391f , -0.26323584f , -0.01148310f , -0.04584967f , -0.38971238f , -0.56823951f , -0.32006352f , 0.38538708f , 0.18254611f , -0.62235892f , 0.18540613f , 0.48716625f , 0.35551317f , -0.19313758f , 1.16846919f , -0.41238633f , -0.43448740f , -0.28924472f , -0.56314872f , -0.24952920f , -0.08133851f , -0.17676199f , -0.70674324f , -0.52120829f , -0.49147628f , -0.40464508f , -0.25295616f , -0.12422787f , -0.29459301f , -0.33474318f , 0.11311031f , -0.95766270f , 2.14261486f , -0.53791490f , -0.26163905f , -0.11342229f , -0.12540336f , -0.14724319f , -0.04078408f , -0.08162598f , 0.06846590f , 0.12489534f , -0.11390681f , 0.04214135f , -0.23484961f , -0.25483115f , 0.02702444f , -0.54449830f , 0.02294024f , -0.03270780f , -0.30881716f , -0.51664184f , 0.87599163f , -0.82321314f , -0.48734917f , -0.18432637f , -0.09096773f , 0.20625230f , -0.20173932f , -0.40150868f , -0.29584636f , -0.57602568f , 0.25241069f , 0.25168301f , 0.41489722f , -0.15401326f , 0.31749293f , 0.46187393f , 0.14218968f , 0.29387424f , 0.35642876f , -0.05757794f , -0.25296762f , -0.36044236f , -0.53221886f , 0.51447760f , -0.80338660f , -0.87861055f , 0.14544497f , 0.05095110f , -0.51385736f , 0.05449902f , 0.17409103f , 0.19329486f , -0.46366308f , -0.07068299f , 0.20485704f , -0.47646816f , 0.35635013f , 0.34452862f , 0.42683101f , -0.28134904f , -0.21080113f , 0.00849886f , 0.33035851f , 0.26195824f , 0.51184835f , 0.52439902f , 0.46235637f , 0.32433320f , -0.77116443f , -0.37467928f , -0.05050502f , -0.47203456f , 0.07970732f , 0.03804198f , -0.34236150f , 0.41937760f , 0.42124343f , -0.03903765f , -0.03019702f , -0.13800061f , -0.47850547f , -0.79736222f , 0.61109423f , 0.72782314f , -0.09672306f , -0.16557727f , 0.16492016f , -0.11908040f , -0.37060885f , -0.80248368f , -1.06315439f , 0.61844207f , -0.52687155f , -0.68500569f , 0.65092780f , 0.43851285f , -0.21063978f , -0.35770140f , 0.29858871f , -0.24062148f , 0.02631244f , -0.33422324f , -0.66271400f , 0.44374236f , 0.53668473f , 0.31036600f , -0.08124190f , -0.16668944f , -0.32551675f , -0.33450272f , -0.55269795f , -0.29912814f , -0.14136754f , 0.00094991f , 0.10863138f , -1.02908550f , -1.08600196f , -0.00829438f , -0.14868032f , -0.00876750f , 0.35258516f , 0.23126957f , -0.61722565f , 0.07518664f , 0.16350336f , -0.12544307f , -0.06302285f , -0.20747087f , 0.16364178f , 0.11301830f , 0.14409114f , -0.22179807f , 0.02183975f , 0.08651544f , 0.10457808f , 0.28231708f , 0.45543402f , 0.44769940f , 0.39725637f , -0.54707227f , -0.02419958f , -0.37616905f , -0.46877412f , -0.64214865f , 0.24761536f , 0.28016618f , 0.62399842f , -0.01700123f , -0.06949885f , -0.19266995f , 0.09365999f , 0.49890228f , 0.24080752f , 0.23087678f , -0.34184149f , -0.95236318f , -0.94491904f , -0.91565308f , -0.37099678f , 0.27911164f , 0.41946017f , -0.09527805f , -0.32953030f , -0.01218671f , 0.22317147f , 0.12463154f , -0.28374239f , -0.37139030f , -0.11082455f , -0.20149460f , 0.02373646f , -0.33497796f , -0.14613409f , 0.84054162f , -0.89918850f , 0.07544184f , 0.26598709f , 0.27674891f , 0.20394454f , 0.37767382f , -0.42106119f , -0.34271983f , -0.11246076f , 0.03134837f , -0.21267097f , -0.66433234f , -0.79249183f , 0.68565476f , -0.34282863f , -0.68036436f , -0.63475767f , -0.29231604f , -0.10656705f , 0.47040998f , 1.11298872f , 0.05838917f , -0.14239264f , -0.38985619f , -0.25211584f , -0.07283441f , -0.47047779f , -0.10102956f , -0.06816871f , 0.25442684f , 0.17135717f , 0.18068089f , 0.10725115f , -0.11463252f , -0.09624811f , 0.03206543f , 0.07087342f , -0.29936977f , -0.49951612f , 0.56346184f , 1.11727567f , 0.05118005f , -0.78169038f , -0.22318233f , -0.13012064f , 0.42376494f , 0.27511994f , -0.06809198f , 0.10660060f , -0.13063709f , -0.08794603f , 0.26570905f , 0.03292540f , 0.26637413f , -0.19894586f , -0.46401960f , -0.28512188f , -0.39238542f , -0.32134023f , -0.64138162f , -0.88237115f , -0.84203625f , 0.64837205f , -0.17913585f , -0.02044868f , 0.01755708f , 0.10928040f , -0.42224314f , -0.62418953f , -0.76712318f , 0.28173569f , 0.49961967f , 0.56539632f , 0.38946613f , -0.52975196f , -0.01398100f , 0.29168654f , 0.20212686f , -0.45414046f , -0.32780637f , -0.17832453f , -0.04055271f , 0.14063062f , 0.09399186f , 0.04073656f , -0.59723568f , -0.77426417f , 0.23870880f , -1.09302554f , -0.22352372f , -0.10808799f , -0.30228652f , 0.70554939f , 0.06689791f , -0.27543124f , -0.16109074f , 0.39983998f , 0.14600029f , 0.02701649f , -0.30161728f , -0.00219904f , 0.02886825f , -0.00025967f , 0.06332021f , 0.53722019f , 0.26361456f , 0.43646772f , 0.61394343f , 0.42109711f , -0.43760700f , -0.21770975f , -0.32449972f , 0.91826996f , 0.24783245f , -0.14194616f , 0.59717550f , -0.04725228f , -0.61148813f , 0.06530696f , 0.35852872f , 0.21424802f , 0.01537298f , -0.15430889f , -0.27459726f , -0.13011870f , -0.13872373f , -0.36362740f , -0.43974823f , -0.43751521f , -0.54202762f , -0.19719673f , 0.06386372f , 0.18442456f , -0.08864543f , -0.55051998f , 0.10076329f , 0.20816090f , 0.53932942f , 0.15080000f , 0.00551145f , 0.12469664f , 0.10528548f , -0.05291477f , 0.52671815f , 0.10465375f , -0.40110729f , -0.11191133f , 0.98775607f , -0.67510753f , -1.30383213f , 1.28526656f , 0.19125450f , -0.16824100f , -0.63934107f , -0.41185818f , -0.34166262f , 0.14722503f , -0.16958138f , -0.70266121f , -0.61550966f , -0.70951491f , 0.42067433f , -0.58598257f , -0.58567156f , -0.37146356f , -0.36153853f , 0.34830089f , 0.34255947f , 0.14665779f , -0.08274605f , 0.14596150f , 0.21786608f , 0.24560479f , 0.11959326f , 0.23920513f , 0.20309485f , 0.35852167f , 0.22083612f , -0.09433997f , -0.51773984f , -0.76810711f , 0.09032751f , 0.42679636f , -0.28534103f , 0.21660665f , 0.47417813f , -0.81135171f , -0.99303930f , 1.17719925f , 0.70112272f , 0.00612786f , -0.26326442f , -0.41083270f , 0.28491165f , -0.02087201f , -0.14822163f , 0.12923365f , -0.12446203f , -0.33986599f , -0.41895285f , -0.31072727f , -0.31061808f , -0.24015583f , -0.23486759f , -0.36395849f , -0.07413177f , -0.34521290f , -0.06577322f , -0.64923405f , 0.33496936f , 0.33223433f , -0.43032623f , -0.15153657f , -0.14532386f , 0.04384948f , -0.14353961f , -0.38067294f , -0.90445571f , 0.05745547f , 0.26321275f , 0.13427661f , 0.99048885f , 0.70150503f , 0.21638320f , -0.53518619f , -0.89368294f , -0.06732509f , 1.44618313f , 1.52346980f , -0.28620228f , -0.41428071f , 0.03283058f , 0.28330900f , 0.28721719f , 0.17075826f , 0.19511151f , -0.13348216f , -0.35836936f , -0.41912925f , -0.65172261f , -0.20553457f , -0.41361716f , 0.03912969f , 0.74818546f , 0.38929433f , 0.35198685f , -0.18892266f , -0.42973273f , -0.08121690f , 2.93312199f , -0.89377191f , -1.04200958f , -0.38574966f , -0.45622789f , 0.07453795f , -0.34784213f , -0.29222109f , -0.09713884f , -0.10453434f , 0.40596355f , -0.23133264f , 0.41138969f , -1.10624661f , 0.19522464f , -0.26295831f , 0.14668871f , 0.07972137f , 0.02069833f , 0.17917700f , 0.36376602f , 0.04686613f , 0.14326025f , -0.04095238f , -0.08246401f , 0.10201219f , 0.02758839f , -0.05655397f , 0.29630435f , 0.03831385f , -0.10935451f , -0.91468053f , -0.14403908f , 0.12338524f , -0.16558686f , -0.53411536f , 0.34582072f , 0.52105737f , -0.73269102f , 0.15549081f , 0.34042874f , -0.08059104f , 0.05497700f , -0.00373706f , 0.11991085f , -0.06473005f , -0.19246960f , -0.28678310f , -0.43241128f , -0.23538086f , -0.03713469f , 0.08379386f , 0.24034079f , -0.09568759f , -0.02338538f , -0.28961237f , 0.06180378f , 0.64449270f , -0.53964132f , -0.44965638f , 0.57702251f , -0.03990858f , 0.57093562f , -0.24702367f , 0.69686569f , -0.17564347f , -0.35201424f , -0.37152787f , -0.37484725f , -0.30144848f , -0.16064783f , -0.31374403f , -0.12815488f , 0.29541890f , 1.03104505f , 1.30178989f , -0.18534500f , -0.41427735f , 0.20831804f , 0.44386174f , 0.06978829f , -0.00025745f , 0.37126911f , 0.56198427f , 0.54344631f , 0.75983386f , 0.08924900f , -0.25144457f , -0.16739214f , -0.47225391f , -0.61115204f , -0.61044836f , -0.28294647f , -0.15658827f , 0.07254076f , 0.04689538f , -0.03222463f , 0.00609252f , -0.03612525f , -0.09035452f , 0.60889737f , 0.57807827f , 0.48410386f , -0.25108080f , -0.40924958f , 0.41713615f , 0.28334831f , 0.28268008f , 0.18075099f , -0.57117890f , -0.14971473f , 0.56189026f , -0.05567028f , 0.08252752f , -0.38305721f , -0.11908417f , -0.11953224f , -0.37400723f , -0.53048221f , -0.67201768f , -0.81958382f , -0.72027064f , -0.69311476f , -0.64712434f , 0.22806651f , -0.36466423f , 0.42139538f , -0.34809071f , 0.16113471f , 0.17305177f , 0.79041909f , 0.11514622f , 0.04984584f , -0.14552208f , -0.37364685f , -0.61589400f , -0.26900080f , 0.26941075f , 0.20621872f , 0.13740956f , -0.49840209f , -0.54283296f , -0.52674918f , -0.53961784f , -0.37838808f , -0.22626697f , -0.23072639f , -0.20714483f , 0.22144144f , 0.45530098f , 0.02934419f , -0.39899990f , 0.47181905f , 0.60295507f , -0.31589266f , 0.03503805f , 0.49654681f , -0.28248396f , -0.72402223f , -0.56858893f , 0.36486216f , 0.18158649f , -0.28256161f , -0.05020847f , 0.07122169f , 0.39556004f , 0.21779191f , 0.05943418f , 0.03455314f , -0.20122464f , -0.56175660f , -0.70861941f , -0.12710089f , -0.34168755f , 0.51452312f , -0.34309463f , -0.18691030f , 0.49423846f , 0.78364805f , -0.16785659f , -0.68812345f , -0.24302951f , 0.18166059f , 0.09288723f , 0.25148875f , -0.56074443f , -0.33594006f , 0.09135379f , 0.28739172f , 0.63070785f , 0.16827578f , -0.09962802f , -0.38532235f , -0.56717197f , -0.69999986f , -0.97131938f , -0.20318779f , -0.43550878f , 0.28264744f , -0.23992796f , 0.53190281f , -1.67612143f , 0.16592080f , 0.32242290f , 0.02740567f , 0.27409947f , -0.33298480f , -0.17137320f , 0.21066429f , 0.33840225f , -0.04092118f , 0.12976302f , 0.22063896f , 0.16238007f , 0.17740193f , 0.08810713f , -0.07588522f , 0.07136235f , 0.03907713f , 0.05669444f , 0.74722369f , -0.21436950f , 0.74573008f , -0.38452217f , -0.62996036f , -0.61276966f , -0.34962832f , 0.01277742f , -0.04862746f , -0.36596994f , 0.22701717f , 0.22604413f , 0.19192867f , 0.43170927f , 0.32434957f , 0.29115238f , 0.30256436f , 0.32053789f , 0.47183832f , 0.56834074f , 0.41355131f , 0.30787160f , -0.05129232f , -0.37603415f , 0.80624702f , -0.27464628f , 0.11826867f , 0.51984849f , 0.30134746f , 0.32731312f , 0.63578587f , -1.05098699f , -0.28256566f , 0.33641143f , 0.13788720f , 0.12207550f , 0.20964871f , -0.01396386f , -0.00315097f , -0.38868646f , -0.33190516f , 0.01254611f , 0.31412245f , 0.37172503f , -0.22028709f , -0.31539130f , -0.40227820f , -0.43477628f , 0.48923265f , 0.77885034f , 0.09105701f , 0.57339326f , 0.40328303f , 0.76432879f , 0.86958428f , 0.61756568f , 0.03118874f , -0.56167934f , 0.04763708f , -0.27535056f , -0.56173692f , -0.35211845f , -0.21863091f , -0.57438481f , -0.18963688f , -0.01259367f , 0.18407625f , 0.57694011f , 0.26272878f , -0.04854515f , -0.05438820f , -0.03358252f , -0.32142589f , 0.79436655f , -0.02373648f , 0.14911871f , 0.27451076f , -0.21064653f , -0.58233970f , -0.20841755f , -0.04707995f , 0.10160263f , 0.52370023f , 0.13469981f , 0.48437770f , 1.02370491f , -0.06404425f , -0.46008443f , -0.96962303f , 0.11051949f , 0.15222102f , -0.53779110f , -0.69372709f , -0.56309673f , -0.29040815f , -0.29949982f , -0.02231366f , 0.22164658f , -0.18303626f , 0.03930299f , 0.85381138f , -0.35733905f , 0.09213505f , 0.01422806f , 0.45077065f , 0.33125549f , 0.13969212f , 0.00376337f , -1.11355683f , -0.42167326f , -0.19924204f , 0.06780255f , 0.13817913f , -0.13055957f , -0.04191829f , -0.08880165f , 0.10967999f , 0.21611496f , 0.31814813f , 0.31439510f , 0.42170246f , 0.33624593f , -0.22613320f , 0.60027671f , -1.43986794f , 0.19361445f , 0.38787661f , 0.02591482f , 0.79456209f , 0.02551988f , -0.24845033f , -0.02790537f , 0.03271750f , -0.04445081f , 0.20502713f , 0.08570910f , 0.00909955f , -0.01248239f , -0.03298340f , -0.22777710f , -0.18913055f , 0.02764977f , 0.28305459f , 0.38851360f , 0.25563805f , 0.33212894f , -0.80098121f , 0.09743245f , 0.06159913f , 0.59881048f , -0.33440346f , -0.49422089f , -0.26800689f , -0.34799111f , 0.00914211f , -0.24239391f , -0.35363956f , 0.18782859f , 0.53150753f , 0.27966626f , 0.37170277f , 0.02903349f , 0.11708475f , 0.18129252f , 0.35350094f , 0.51909923f , 0.57702624f , 0.56023430f , -0.25681505f , 0.10481743f , 0.07691052f , -0.09602954f , -0.12447488f , -0.40272478f , -0.23240515f , -0.09172820f , -0.10406663f , 0.06799629f , 0.27877064f , 0.65360435f , 0.03477472f , -0.16610473f , 0.19640957f , 1.14225362f , -1.25460658f , -0.02280781f , 0.26718410f , 0.23326014f , -0.33868542f , -0.77563600f , -0.57910551f , 0.35682550f , -0.44901076f , -0.41537996f , -0.76495288f , 0.42209785f , -0.90605030f , -0.39625885f , -0.28278183f , -0.06062198f , 0.12423915f , 0.20756261f , 0.19484825f , 0.03259953f , 0.41379186f , 0.19062025f , -0.02691834f , 0.12202985f , 0.38700297f , 0.61084418f , 0.41389101f , 0.42854542f , 0.07894843f , -0.08730420f , -0.19947308f , -0.20746447f , 0.35263591f , -0.04388326f , -0.07294209f , -0.12542102f , -0.45217599f , -0.41959012f , -0.16900409f , 0.23194458f , 0.50540516f , 0.34564113f , -0.05519304f , -0.13052083f , -0.52610268f , 1.51200111f , 0.14243612f , -0.89107328f , -0.09550049f , -0.11976748f , 0.61738910f , 0.29385419f , -0.11218523f , -0.32931430f , -0.63743116f , -0.70832695f , -0.52572193f , -0.16054333f , 0.67450855f , -0.68123993f , -1.06059852f , 0.25289129f , 0.72282093f , -0.17789928f , -0.04826238f , 0.65623860f , 0.30053556f , -0.04214508f , -0.65996229f , -0.19030221f , -0.07583416f , -0.15972053f , 0.48267006f , 0.29268192f , 0.54289151f , 0.30262687f , 0.55040148f , 0.38139609f , 0.22629776f , -0.10333201f , -0.27722537f , 0.16931190f , -0.18986341f , 0.46255996f , 0.03451865f , 0.64648839f , 0.27927689f , -0.04817246f , -0.29637504f , 0.15848257f , -1.17177626f , 0.76705595f , 0.04986266f , -0.23619169f , 0.02130871f , -0.09247797f , -0.11246955f , -0.06979877f , -0.02858714f , 0.14146741f , 0.19316987f , 0.19281260f , 0.10108870f , 0.10991318f , 0.57222024f , -0.09056345f , 0.31630312f , 0.09441631f , -0.48881639f , -0.26079169f , 0.28649904f , 0.47374236f , -0.92331796f , 0.56274886f , 0.19988114f , -0.33923171f , 0.45935192f , 0.66439754f , 0.09172813f , -0.58992377f , -0.13650098f , -0.00871775f , 0.05177348f , 0.29646543f , 0.22271673f , 0.29255650f , 0.32416359f , 0.37254208f , 0.69873728f , 0.67827523f , -0.09873129f , -0.19519793f , -0.20388503f , -1.14639862f , 1.00268628f , -0.34199196f , 0.32858454f , 0.30752466f , -0.20180165f , -0.78353972f , -0.46150042f , 0.07066704f , 0.27017563f , 0.59315620f , 0.56514267f , 0.61730776f , -0.04109619f , -0.10375384f , 0.17107510f , 0.00671267f , -0.14460000f , -0.15704504f , -1.08061540f , 0.25499966f , 1.21906248f , 0.18773257f , -0.32071123f , 0.34341071f , -0.31815992f , -0.09070897f , 0.28772196f , -0.36343715f , -0.43262838f , -0.03519430f , -0.08578842f , 0.04235681f , 0.22568464f , 0.41761967f , 0.33042161f , -0.16644760f , -0.20508813f , -0.34930117f , -0.25591130f , -0.03775689f , -0.04290093f , -0.14027967f , 0.08954841f , 0.28400971f , 0.09640325f , 0.28015051f , -0.28901197f , -0.15938324f , -0.08647304f , 0.07096579f , -0.01533652f , 0.16784761f , 0.40365967f , 0.69056044f , -0.07072517f , -1.35839862f , 0.69003689f , 0.27081222f , -0.31318076f , -0.34628327f , -0.20433566f , -0.03988210f , 0.00227372f , 0.31880868f , 0.48586232f , 0.50530210f , -0.10787652f , -0.54593003f , -0.06872456f , 0.08196332f , 0.32589906f , 0.59080671f , -0.46869291f , 0.51602298f , -0.65588957f , -1.15841782f , 0.46249030f , 0.28794341f , 0.03773606f , -0.22824300f , 0.08237000f , 0.11514488f , 0.09347876f , 0.31037616f , 0.25764090f , 0.16707290f , -0.00830484f , -0.01436382f , 0.04324129f , 0.08340130f , 0.03635043f , 0.84751295f , 0.19029027f , 0.81160060f , 0.30403111f , -0.74745208f , 0.29141206f , 0.02554821f , -0.18681161f , -0.31641374f , -0.22117775f , 0.29307885f , 0.09884843f , -0.01001690f , 0.22991570f , 0.23960184f , -0.00030044f , -0.15515938f , -0.08622738f , 0.18116527f , 0.27032171f , 0.46691225f , 0.50791118f , 0.39209784f , -0.58545217f , 0.80964945f , -0.18596625f , 0.05021434f , -0.60299753f , 0.01922541f , -0.09160450f , 0.71858494f , -0.20405914f , 0.12967029f , -0.19928245f , -0.41958358f , -0.73480796f , 0.27037925f , 0.59526072f , 0.43722623f , 0.08228142f , 0.13617314f , 0.16733195f , -0.17519530f , -0.15926519f , -0.04255070f , 0.08047599f , 0.02040241f , -0.00463376f , 0.49611447f , -1.05764249f , -0.45817246f , 0.34650208f , -0.41315007f , 0.05117591f , -0.11590274f , 0.37210637f , 0.48788495f , 0.24580028f , -0.23874213f , 0.25067272f , 0.14486146f , -0.39195005f , -0.32974271f , -0.40998318f , -0.01004687f , 0.30386464f , 0.58853426f , 0.58687081f , 0.54124172f , 0.43891894f , 0.42482843f , 0.06344340f , -0.06291464f , 0.30075410f , -0.01321988f , 0.11824609f , -0.36844623f , -0.22861175f , 0.44459133f , -0.10414380f , -0.41394982f , -0.26948513f , 0.10771022f , 2.01283344f , -0.48227800f , -0.85226571f , -0.05678206f , 0.09386327f , -0.32036269f , -0.09589284f , 0.11469854f , -0.02254415f , 0.26286370f , 0.24740398f , 0.30259810f , 0.33675212f , 0.40803791f , 0.04656053f , 0.26235019f , 0.19124535f , 0.26174937f , -0.25007840f , -0.02874094f , 0.42657886f , 0.23713035f , 0.49137649f , -0.40631813f , -0.19729730f , -0.47353514f , -0.68684985f , -0.22225676f , 0.65537217f , 0.85454345f , 0.28736774f , -0.76858865f , -0.51993839f , -0.41223097f , -0.20210503f , 0.20680273f , -0.32962876f , 0.99852252f , 0.90359799f , -0.72414673f , 0.40343042f , -0.04753735f , 0.12703283f , -0.50454354f , -0.49092182f , 0.07106628f , 0.04340118f , -0.20701432f , -0.00051299f , 0.41281149f , 0.48992497f , -0.07229812f , -0.22500199f , -0.38166508f , 0.00136486f , 0.19527238f , 0.46266022f , 0.52478433f , 0.49346943f , 0.55712590f , 0.31231089f , -0.39507041f , 0.09233836f , 0.29644040f , 0.63936696f , -0.05632462f , 0.45315617f , -0.80271529f , 0.87935975f , -0.65177909f , -0.03975780f , 0.24344094f , 0.09139584f , -0.12641456f , -0.28974809f , -0.00440121f , -0.33446897f , 0.27455940f , 0.26598867f , 0.38959619f , 0.56355605f , 0.28858433f , -0.01329721f , -0.28521977f , 1.21529134f , 0.05567950f , 0.26633834f , 0.01854368f , -0.56750884f , -0.64133765f , 0.12896192f , -0.25287368f , 0.00098562f , 0.46355571f , 0.30342317f , 0.60024559f , 0.45154622f , -0.23111479f , -0.07558175f , 0.04573468f , -0.22655397f , -0.38765071f , -0.39593191f , -0.33701184f , -0.03367326f , -0.00117395f , -0.08805175f , -0.08317989f , 0.50206060f , -0.26397493f , 0.62403702f , 0.18840209f , -0.03554397f , 0.51126843f , -0.93620939f , 0.11466485f , -0.32354822f , 0.83573095f , 0.44043951f , -0.03326486f , -0.30990227f , -0.17807718f , -0.15678795f , 0.05137581f , 0.01928613f , 0.10898749f , 0.05153834f , 0.41224367f , 0.33750201f , 0.31515600f , 0.18742162f , -0.00543668f , -0.32506550f , 1.39874024f , 1.05365357f , 0.20758975f , -0.52204159f , 0.23139865f , 0.89916776f , 0.88500307f , 0.58319149f , 0.64447478f , 0.60029914f , -0.39017287f , -0.48396982f , -0.45642499f , -0.41136891f , -0.85726305f , -0.72300890f , -0.76044173f , -0.54961686f , 0.13241207f , -0.38074475f , -0.31668368f , 0.18757575f , 0.89325609f , 0.91423867f , 0.16949588f , -0.34930052f , -0.67767124f , 0.56381557f , 0.23625492f , 0.19384698f , 0.11556592f , -0.81768557f , -0.12373743f , 0.28726562f , 0.47434410f , 0.01976064f , -0.20909300f , -0.17968366f , -0.16456765f , -0.39581902f , -0.17030977f , -0.12522965f , 0.10547945f , 0.19050607f , 0.32547806f , 0.37610928f , 0.47194674f , 0.50904911f , -0.87540838f , 0.44606989f , 0.16315214f , 0.04897779f , 0.44593548f , 0.58835263f , 0.23188759f , -0.04829018f , -0.47929534f , 0.01140653f , -0.52090906f , -0.08282465f , -0.47750687f , 0.00555375f , -0.02147925f , 0.29824067f , -0.09639830f , 0.04586002f , 0.81704610f , 1.02414420f , 1.00254358f , 0.93128379f , 0.86145793f , 1.39640260f , 0.48600888f , 0.05812317f , 0.43032939f , 0.28626623f , -0.02572580f , -0.71026460f , -0.08052560f , -0.00321850f , -0.06166357f , -0.14918683f , 0.02044791f , 0.20449299f , -0.07389050f , 0.20856068f , 0.37499893f , 0.00961555f , 0.34856300f , 0.38826685f , 0.17380148f , 0.08518823f , 0.24834931f , 0.18030421f , 0.02885498f , -0.14822571f , 0.59831391f , 0.80084782f , 0.65079236f , -0.37659866f , 0.02590007f , -0.43987457f , -0.47916614f , -0.09009334f , 0.00944784f , 0.38989625f , 0.72812391f , -0.25740561f , 0.30660597f , -0.10786678f , -0.04283082f , 0.33341247f , 0.56382527f , 0.36883485f , 0.19482792f , 0.20864518f , 0.30357803f , 0.21469035f , -0.00709814f , -0.55721230f , -0.02926194f , 0.02222842f , 0.65955295f , 0.85507986f , 0.02606033f , -0.38236616f , 0.08681374f , -0.37079998f , 0.08312060f , -0.32595363f , -0.28424983f , 0.08744855f , 0.15171748f , -0.41262446f , 0.16415023f , 0.32175904f , 0.54372269f , 1.03276331f , 0.88586548f , 0.61435324f , 0.53755072f , 0.50108183f , 0.43471867f }; Float32 cdk_37bits_5[1536] = { -0.08458486f , 0.28094300f , -0.74427850f , -0.27121451f , 0.26225532f , 0.58828870f , 0.49469996f , 0.00671892f , 0.49956583f , -0.09194914f , -0.14439356f , -0.21589493f , -0.71932281f , -0.31712426f , -0.17322443f , -0.02668573f , -0.16316907f , -0.26011802f , -0.29961334f , -0.04510044f , -0.03045680f , -0.07408609f , -0.04966348f , 0.02019735f , 0.16785217f , -0.12154415f , -0.11294764f , -0.50188502f , 0.37048745f , 0.01220048f , -0.42438767f , -0.39739743f , -0.09963068f , -0.01937236f , -0.38029066f , -0.09631205f , 0.17779303f , 0.55220057f , -0.27361767f , -0.01993755f , 0.59841836f , -0.81488799f , -0.50629196f , 0.04276219f , 0.50927647f , 0.32204460f , -0.05252335f , 0.00479347f , -0.70183618f , -0.55990950f , -0.21828823f , 0.06948525f , -0.25175959f , 0.38514843f , 0.03565709f , -0.02286728f , -0.65965565f , -0.11708316f , 0.08641334f , -0.03958833f , -0.28740740f , 0.11907652f , 0.76730012f , 0.00002225f , -0.01526722f , 0.19057067f , -0.00116506f , -0.29043894f , -0.20613074f , -0.36670968f , -0.38149597f , -0.21397652f , -0.20108924f , 0.01696758f , -0.63540490f , 0.48931316f , -0.10610658f , -0.30699680f , 0.42198382f , -0.11596909f , 0.56113924f , -0.19428230f , -0.31623064f , 0.01575740f , 0.47412599f , 0.01231773f , 0.03554178f , 0.04445166f , -0.52597131f , -0.38112781f , -0.41082892f , 0.02325108f , -0.03762488f , -0.10886600f , -0.30284977f , -0.25935547f , -0.06153986f , -0.50865639f , 0.00873904f , -0.53985972f , -0.17321488f , -0.20024719f , -0.43903590f , 0.30867295f , 0.15257025f , 0.50412756f , 0.15585453f , 0.18716871f , 0.04465249f , 0.05395055f , 0.02286270f , -0.10569980f , -0.51109990f , -0.62598156f , -0.29411790f , -0.40475676f , -0.34305943f , -0.21692205f , -0.39934499f , -0.51704391f , -0.73658870f , -0.68665226f , -0.06126038f , 0.66114991f , 0.35329723f , -0.17434640f , -0.20490335f , 0.00027985f , 0.04182559f , -0.12920453f , 0.35128407f , 0.36339554f , 0.47399902f , -0.25062146f , -0.38289190f , -0.23332452f , -0.20826575f , -0.16079639f , -0.14129191f , 0.18519827f , 0.08984042f , 0.01018800f , -0.07526643f , 0.16613248f , 0.24459641f , -0.54593305f , -0.17413054f , 0.01221675f , -0.28335532f , -0.03597407f , -0.12785960f , -0.20546625f , 0.69946433f , 0.14655906f , -0.07567982f , -0.41903852f , -0.05404835f , -0.57786831f , 0.75099347f , 0.04385018f , 0.13817541f , 0.54561726f , 0.22589567f , 0.09746529f , 0.26583628f , 0.26558035f , 0.21082406f , 0.14352723f , -0.61059536f , 0.25826720f , 0.08276875f , -0.29062272f , -0.22379136f , 0.27302107f , -0.39399985f , -0.90988239f , 0.68577814f , -0.07398823f , 0.29343711f , -0.02555969f , 0.17350828f , 0.10446548f , 0.05915310f , -0.12814425f , 0.16515519f , 0.23084429f , -0.07631257f , -0.12135962f , -0.32154020f , -0.35925975f , -0.31657161f , -0.17517095f , -0.31345423f , 0.04713846f , -1.07240463f , 0.55819357f , 0.25919851f , -0.17080554f , -0.44683706f , 0.42549491f , -0.24160926f , 0.39135254f , -0.27273104f , -0.08747624f , -0.17073595f , -0.64858648f , 0.31353107f , 0.40731596f , 0.24294678f , -0.16681178f , 0.01469568f , -0.30776696f , -0.15317629f , -0.18218388f , -0.16911268f , -0.19813229f , 0.25482069f , -0.02943669f , -0.39498625f , -0.32329009f , 0.10426426f , -0.22095104f , 0.29062234f , -0.15434571f , -0.12708599f , -0.10669553f , 0.33786459f , -0.20904693f , 0.49652844f , -0.62850056f , 0.21568910f , -0.21446226f , 0.21630725f , -0.08720906f , -0.52065307f , -0.35255320f , -0.59625366f , -0.43541450f , -0.28092364f , -0.00125747f , 0.31917512f , -0.03488145f , -0.21380884f , -0.22835427f , -0.66217994f , -0.29555406f , 0.17821074f , -0.34530315f , -0.20166763f , -0.01021963f , 0.39444938f , -0.06786073f , -0.22698498f , 0.34432475f , 0.51326058f , 0.57986123f , -0.20027416f , -0.13834155f , -0.20880162f , 0.06494356f , -0.27871271f , -0.15747416f , -0.07939462f , 0.08519511f , -0.57600983f , 0.33019806f , 0.38068317f , 0.13486793f , 0.61770011f , -0.42574210f , -0.17565397f , 0.32588004f , -0.07069465f , -0.12991907f , 0.10503579f , -0.53981949f , 0.27628270f , -0.40433813f , 0.56048034f , -0.11134494f , -0.02721288f , -0.02679116f , -0.03457161f , 0.00691900f , 0.35272657f , 0.02987130f , -0.37220393f , -0.73576355f , -0.31901782f , -0.23550305f , 0.50511762f , 0.07681936f , -0.20832096f , -0.16180683f , 0.33639474f , 0.24607809f , 0.51978014f , -0.51511613f , 0.53433180f , -0.38461866f , -0.30344206f , 0.21738925f , 0.23262923f , -0.26642016f , -0.24689764f , -0.35119228f , -0.37163953f , -0.19926461f , -0.12294480f , -0.07264335f , -0.14869303f , 0.01600622f , -0.32318991f , -0.06337691f , -0.16327790f , 0.01679607f , 0.54615398f , -0.13948782f , -0.07235812f , -0.31344026f , 0.21344099f , -0.56249237f , -0.54817142f , -0.38900153f , 0.08560375f , 0.51752999f , 0.09695531f , 0.45163870f , 0.11365917f , -0.03998578f , -0.10961891f , -0.25154202f , -0.53037031f , -0.51729631f , -0.12010728f , 0.27211617f , -0.21869866f , -0.20612331f , -0.17148894f , -0.69131811f , -0.48874096f , 0.17532938f , 0.65606235f , 0.17337859f , 0.21369284f , -0.02261284f , -0.23113547f , -0.37691677f , 0.06425787f , 0.33138072f , -0.19000900f , -0.50235478f , 0.19744901f , -0.01426938f , 0.25673560f , 0.14800389f , 0.08629656f , -0.05995416f , -0.01856833f , 0.09638624f , -0.68051548f , 0.42111210f , 0.16966116f , -0.18012337f , -0.66642379f , 0.11078652f , 0.51684818f , 0.04482584f , -0.37389220f , 0.07070225f , -0.22594402f , -0.24882296f , 0.28791258f , 0.16045673f , 0.13211217f , 0.30258098f , -0.11104291f , -0.34144481f , -0.61517912f , -0.45406688f , 0.24175899f , 0.43530490f , 0.33387051f , 0.31684453f , -0.12348130f , 0.28844356f , -0.15230272f , -0.92611369f , 0.15595514f , 0.40309213f , -0.21089949f , -0.12710732f , -0.20149432f , 0.08709137f , 0.79880608f , 0.16826794f , -0.10477000f , -0.40397699f , -0.33124317f , -0.16915306f , -0.06502590f , 0.05657812f , 0.16028923f , 0.14994150f , 0.07722317f , 0.24695981f , 0.20225272f , 0.10946385f , -0.31130776f , 0.09164996f , -0.10763487f , 0.00805002f , -0.37620293f , 0.04961005f , 0.18879671f , 0.12802431f , -0.14881133f , 0.00106507f , 0.20381895f , -0.01208542f , -0.02377667f , 0.48285147f , -1.19207093f , 0.60998154f , 0.08913394f , 0.16312199f , -0.15986004f , -0.18489974f , -0.26700574f , -0.10480556f , -0.03699614f , 0.39930124f , -0.45078318f , -0.11456599f , -0.27898753f , -0.42503588f , 0.17516712f , -0.19617643f , 0.31818611f , -0.08178737f , -0.05417727f , -0.23405407f , -0.39611520f , 0.32937074f , -0.20757027f , -0.46769544f , 0.04745269f , 0.30856677f , 0.45826247f , 0.41349579f , 0.21491292f , 0.22174480f , 0.16553832f , 0.28625395f , 0.24514041f , 0.37926658f , 0.24936771f , -0.04104704f , 0.27238824f , 0.16392268f , -0.06110497f , -0.02187308f , -0.14403711f , 0.49428075f , 0.66634565f , 0.04308588f , 0.20773125f , -0.07283823f , -0.03584369f , -0.15180729f , -0.21954145f , -0.16147124f , -0.54353183f , 0.31850719f , 0.70992696f , 0.77482366f , -0.73614329f , -0.70442321f , -0.77208369f , -0.52036749f , -0.40407749f , -0.55580682f , 0.40834797f , 0.13313598f , 0.11194755f , -0.02575282f , 0.56373574f , -0.17680698f , -0.31347570f , 0.88388781f , -0.66229966f , 0.14478038f , -0.15586756f , -0.36242692f , -0.35125580f , -0.05976233f , 0.40268536f , -0.01780960f , -0.30415813f , -0.40711933f , -0.20657081f , -0.11416314f , -0.11392091f , 0.03499209f , -0.02442649f , 0.00289107f , -0.42318484f , -0.77861141f , -0.21018343f , -0.02530250f , -0.05457845f , 0.29013785f , 0.27545606f , -0.54534532f , -0.28075430f , 0.48908889f , 0.44803264f , -0.23493075f , 0.30537914f , -0.17571639f , -0.28136367f , 0.41087545f , 0.06067306f , -0.07891926f , 0.13675464f , -0.23523981f , -0.64950230f , -0.84513939f , 0.33320458f , -0.21239429f , 0.16584185f , 0.20947136f , -0.84373112f , -0.18662477f , -0.39277353f , 0.27160507f , 0.33045634f , -0.07972757f , 0.26989965f , -0.31828606f , 0.29166908f , 0.02792893f , -0.23589507f , 0.24680072f , 0.61805079f , 0.29297283f , -0.46279502f , -0.38853021f , -0.06845241f , 0.13809046f , 0.18584514f , 0.19851158f , -0.01509547f , -0.42006585f , -0.02742765f , 0.01387587f , 0.04496372f , 0.33032099f , -1.33568146f , 0.04497330f , -0.13953978f , 0.17866902f , -0.22504135f , 0.03714148f , 0.42265213f , 0.48557283f , 0.09517080f , 0.08189501f , -0.02136855f , 0.18181835f , 0.26310442f , 0.14522422f , -0.00551997f , -0.08059227f , -0.01368360f , 0.19964321f , 0.06879672f , -0.16572126f , -0.21275410f , -0.00047311f , 0.38956134f , 0.68791295f , 0.06981244f , 0.44725155f , -0.37536280f , -0.07016804f , -0.31450647f , -0.12757190f , 0.15884699f , -0.28116715f , -0.24072947f , 0.06964482f , -0.41365933f , -0.30556059f , 0.01412066f , 0.09088293f , -0.05730716f , 0.11902320f , 0.49328583f , 0.76218521f , 0.14607820f , 0.36882839f , 0.31158718f , -0.18015097f , 0.37885733f , 0.09807226f , -0.69643398f , 0.00209062f , 0.07841871f , -0.15108867f , -0.16550965f , 0.49051298f , -0.13918703f , -0.16017141f , 0.15622856f , 0.32246753f , -0.21434589f , -0.12839098f , -0.62492818f , -0.41789280f , -0.33687252f , 0.15910414f , 0.40538907f , 0.45768888f , -0.18246786f , 0.69660292f , -0.53239726f , -0.39785530f , 0.09269434f , -0.20090783f , 0.24169380f , 0.14920210f , -0.20929912f , 0.37639575f , -0.02298151f , 0.29037766f , -0.30134500f , 0.12924066f , 0.34148084f , -0.65422266f , -0.23263549f , 0.15293804f , -0.12172724f , -0.29655807f , -0.15215394f , -0.01750734f , -0.02878360f , 0.05063806f , -0.26703187f , -0.12751254f , -0.03617813f , 0.00622364f , 0.22547815f , -0.57779029f , -0.13343456f , 1.59832374f , -0.86975741f , -0.37492672f , -0.39567028f , 0.18249899f , 0.04481957f , 0.29481366f , 0.13046647f , -0.10097157f , -0.02397564f , 0.04106330f , -0.32215387f , -0.06647077f , -0.19483820f , -0.47627356f , -0.28788121f , -0.35042823f , 0.02227780f , -0.19386416f , -0.30157912f , 0.12610552f , 0.56722223f , -0.09994132f , -0.02285657f , -0.61753835f , 0.08410488f , 0.73128591f , 0.37298647f , -0.77570729f , -0.22843919f , 0.11891633f , -0.03551507f , -0.10041180f , 0.00489754f , -0.03082396f , -0.09347646f , -0.15507942f , -0.14360267f , -0.08927711f , -0.16377833f , -0.01469311f , 0.56852461f , 0.23796399f , 0.13182028f , -0.25577917f , -0.33910792f , 0.34056262f , -0.02495276f , -0.05880465f , 0.05430314f , -0.53287936f , -0.34110034f , 0.15113928f , 0.54187888f , -0.26468157f , -0.01685372f , 0.57037827f , -0.07951393f , -0.27830922f , -0.20152098f , -0.00077798f , -0.04509011f , -0.12945183f , -0.22631022f , -0.11626274f , -0.25019709f , 0.07915240f , 0.19342024f , 0.04977732f , -0.10307638f , -0.04911927f , 0.08460541f , 0.35299883f , 0.10558745f , 0.32964006f , 0.16392423f , -0.03030527f , -0.17918726f , -0.50040107f , 0.40349289f , -0.25886676f , -0.31911232f , -0.10072948f , 0.17941945f , 0.11358761f , -0.65821799f , -0.13049456f , 2.00511443f , -1.24662935f , -0.25357033f , -0.52592150f , 0.49923249f , -0.16543271f , -0.00633755f , -0.23552079f , -0.33411617f , -0.24207035f , -0.05030731f , -0.07071177f , -0.09419244f , 0.02464220f , -0.01943557f , -0.41801617f , 0.03064668f , 1.18121471f , 0.23528827f , -0.79209131f , -0.20405955f , 1.14624028f , 0.39747635f , 0.85849404f , -0.04127540f , -0.50865399f , 0.42229826f , -0.01473649f , 0.33422709f , 0.02941697f , 0.19965112f , 0.72713450f , 0.30384642f , -0.11286505f , 0.14747407f , 0.14751665f , 0.11932647f , -0.00264711f , -0.31504995f , -0.56415263f , -0.31330112f , 0.01942224f , -0.35638639f , 0.03432383f , -0.11977819f , -0.30638549f , 0.34671321f , 0.83570186f , 0.17469280f , -1.01495899f , -0.01251236f , -0.01487474f , -0.16676968f , 0.08574318f , 0.11892522f , 0.84392270f , 0.07864696f , -0.91941698f , -0.54281393f , -0.10333463f , -0.18582849f , -0.26050308f , 0.66395133f , 0.42733714f , -0.24646344f , -0.19052737f , 0.31638957f , 0.07897013f , 0.04027109f , -0.25458239f , 0.20940366f , 0.17480388f , 0.16462327f , 0.22726978f , -0.02974486f , -0.54604962f , 0.16929759f , -0.25102018f , 0.23723617f , -0.34661947f , -0.07598653f , -0.25231308f , -0.73500058f , -0.06708141f , 0.18697737f , 0.14282300f , 0.66886685f , 0.39198866f , 0.20429507f , -0.16054968f , -0.19399421f , 0.25548963f , -0.01871442f , 0.24332515f , 0.11001194f , 0.17128458f , 0.05301268f , 0.13370518f , 0.06218397f , -0.11075064f , -0.47179494f , 0.44241371f , 0.02355115f , -0.03595332f , 0.06122175f , -0.89128427f , 0.30088747f , -0.16859130f , 0.25866312f , 0.50627502f , -0.10794532f , -0.21779689f , 0.18817072f , 0.03690803f , 0.04519087f , 0.11081125f , -0.16063397f , -0.29465752f , 0.07392634f , 0.19278544f , 0.34698486f , 0.61990484f , 0.93310946f , -0.16003930f , -0.20232301f , -0.09149716f , -0.07742202f , 0.10544444f , 0.21543944f , -0.23192273f , 0.37584518f , 0.41668097f , 0.03315939f , -0.08464584f , 0.23874101f , 0.46904518f , -0.37717436f , -0.46519362f , -0.61713348f , 0.00253734f , -0.05435577f , -0.08905407f , -0.16726849f , -0.06183335f , -0.05902828f , -0.03528791f , 0.27678118f , -1.22172710f , 0.33045954f , 0.00746992f , 0.02805380f , 0.37593685f , 0.03388730f , -0.30662300f , 0.20852594f , -0.26058111f , -0.05686500f , 0.26594392f , 0.13317456f , -0.21898256f , -0.24070719f , -0.23323971f , 0.27086818f , 0.15492204f , 0.28738611f , -0.10515406f , -0.17282966f , -0.16200061f , -0.15211483f , -0.08975717f , 0.59311421f , -0.26642352f , -0.18351175f , 0.27817437f , 0.89836102f , -0.16570591f , -0.42252147f , 0.18559697f , 0.28409112f , -0.18921990f , 0.26375529f , -0.31791665f , -0.33115116f , -0.01469640f , -0.21691511f , -0.04101336f , 0.06816547f , -0.25758291f , 0.10261781f , 0.06210271f , 0.13856623f , 0.09669133f , 0.13691740f , 0.19601167f , -0.47155089f , 0.72985836f , 0.20031390f , 0.60596157f , 0.37698777f , 0.31374835f , -0.04335831f , -0.19781138f , -0.35092304f , -0.19434376f , 0.20558302f , 0.09649664f , -0.41125462f , -0.31417023f , 0.14557422f , 0.13059497f , 0.24351408f , 0.45606066f , 0.19630429f , 0.04599059f , -0.10842569f , -0.01246157f , 0.09745947f , 0.19255215f , -0.00592573f , 0.30808529f , -0.82755020f , 0.27196540f , -0.04397044f , 0.35031490f , -0.46245949f , 0.43218639f , 0.08949413f , -0.33531101f , 0.30153585f , -0.06912019f , 0.05157704f , 0.21559056f , -0.09478249f , -0.29283107f , -0.14210772f , 0.16107997f , -0.05714190f , -0.07436813f , -0.17587718f , -0.17911354f , -0.01118712f , 0.30263406f , 0.59479190f , 0.43737796f , -0.53906079f , -0.09284007f , 0.11222222f , -0.70909913f , -0.32143749f , -0.10079180f , -0.20953687f , -0.04742476f , 0.16795483f , 0.54332818f , 0.27138756f , -0.04876020f , -0.15045069f , 0.12165485f , 0.37118663f , 0.28905161f , 0.48206821f , 0.04496926f , -0.32548961f , -0.26704421f , -0.14151166f , 0.04643725f , 0.01857789f , 0.22380572f , -0.47831518f , 0.10523282f , -0.02303693f , 0.06579947f , 0.64486948f , -0.30766532f , -0.74577310f , -0.77953682f , 0.57447145f , 0.39403713f , -0.58964771f , 0.62821123f , -0.11929129f , 0.10954929f , 0.14699721f , -0.32854065f , -0.04573394f , -0.09611846f , -0.01925603f , -0.17973013f , -0.39814740f , -0.46576115f , 0.35954529f , 0.21214434f , 0.29992890f , -0.43470418f , 0.22297513f , -0.74780053f , 0.29579016f , 0.38031695f , 0.70929833f , 0.17791374f , -0.31068973f , 0.03106903f , 0.02159010f , -0.32680013f , -0.05137091f , -0.35753644f , -0.04484695f , -0.12900523f , -0.08431778f , -0.06684064f , -0.13653506f , 0.11526736f , 0.41857603f , 0.60634687f , -0.39857847f , 0.04884917f , 0.23406115f , 0.05538860f , 0.28382844f , -0.00189639f , 0.13911105f , 0.08498889f , 0.38084943f , -0.04839120f , 0.03137059f , 0.61768252f , -0.60458777f , 0.17599675f , -0.38910593f , -0.29574408f , -0.37344875f , -0.20375998f , -0.20238216f , 0.44496885f , 0.52761883f , 0.49054914f , 0.28209688f , 0.15957444f , -0.09304443f , -0.24829008f , 0.01258115f , 0.25256399f , -0.33883889f , -0.24896392f , -0.05437653f , 0.19084219f , 0.57863216f , 0.39405103f , -0.77089337f , 0.12169591f , -0.54527825f , 0.19831126f , 0.08552984f , 0.24274638f , 0.14652491f , -0.01698693f , 0.17500050f , -0.05044189f , -0.10649361f , -0.14945507f , -0.17028214f , -0.02330724f , 0.03708941f , -0.24037606f , 0.02610502f , 0.50618133f , 0.10793551f , -0.09837616f , 0.62190481f , 0.34616106f , -0.28267161f , -0.14290071f , 0.01530348f , -0.83226343f , 0.23366780f , 0.04347097f , -0.00300625f , -0.02718166f , 0.01892830f , 0.11549693f , 0.36192046f , 0.50541829f , 0.06636938f , -0.09251533f , -0.22221864f , -0.12965501f , -0.47277684f , 0.24188752f , 0.24883904f , -0.02549111f , -0.17021090f , 0.26120838f , -0.17437786f , -0.12898937f , -0.09122841f , 0.58977574f , 0.11843505f , -0.68052107f , 0.69093722f , -0.45942130f , -0.33210729f , 0.59582125f , -0.21973689f , 0.45672258f , 0.17061853f , 0.09529478f , -0.14791095f , 0.22877969f , 0.23364199f , 0.17934426f , 0.16186852f , 0.95532223f , 0.24207322f , -0.28038649f , -0.16606584f , 0.28705368f , -0.00385633f , 0.10024520f , 0.38606721f , 0.00630603f , -0.08918537f , -0.48762895f , -0.25520072f , -0.07233131f , -0.06791555f , 0.02988899f , 0.33242516f , 0.31840295f , 0.31437593f , 0.28920587f , 0.20710554f , 0.12154078f , 0.09165915f , 0.13540520f , -0.13814042f , 0.76333362f , 0.47866377f , 0.69056795f , 0.37920652f , -0.08336837f , 0.11207624f , 0.09821375f , 0.10128568f , 0.04094478f , -0.15253392f , -0.11078606f , 0.25057753f , 0.22663675f , -0.61364190f , -0.15546409f , -0.09300050f , -0.16430823f , -0.19195716f , -0.31084762f , -0.10423817f , -0.12525492f , -0.23057864f , -0.28477374f , 0.19153891f , -0.50596450f , -0.06105779f , 0.12200239f , -0.10106136f , -0.25277965f , 0.30874573f , 0.40660354f , -0.20056468f , 0.17407976f , 0.60265008f , -0.00174689f , -0.44985204f , -0.31371702f , -0.45581285f , 0.36180230f , -0.07689721f , 0.80922589f , 0.34920387f , -0.21634606f , 0.06852205f , 0.36029737f , 0.53860772f , 0.69593094f , 0.15218961f , 0.07083646f , 0.38471465f , 0.14311856f , 0.51050633f , 0.02631960f , 0.07150340f , -0.05204054f , 0.01036712f , 0.03753337f , 0.12604818f , 0.04316599f , -0.04454527f , 0.25901986f , 0.20620898f , -0.25183978f , -0.94415183f , -0.48608996f , 1.99323108f , -0.11741995f , 0.09381593f , 0.24836984f , -0.11990959f , 0.40198786f , 0.35937586f , 0.05698778f , 0.55993579f , -0.68942177f , -0.00843969f , 0.47116294f , -0.17925245f , -0.41881521f , -0.20778331f , 0.27187634f , -0.19950871f , 0.56109975f , -0.73314410f , 0.36645381f , 0.13542026f , -0.12859018f , 0.07003305f , 0.17282595f , 0.33447531f , 0.32716011f , -0.39068553f , -0.25495327f , -0.44464316f , -0.44631278f , -0.24788508f , 0.44993219f , 0.49633852f , 0.14573879f , -0.82145522f , 0.08447045f , 0.24653278f , 0.20233825f , -0.08079227f , -0.31036126f , 0.09619263f , 0.78127448f , 0.27956930f , -0.05376367f , -0.24537081f , -0.24071734f , 0.06264366f , -0.00648643f , 0.14649115f , 0.22075554f , 0.00215430f , -0.16835304f , -0.14400020f , 0.05455559f , 0.51475177f , -0.19511684f , -0.41661102f , 0.02887458f , -0.64696667f , 0.12493084f , 0.01019607f , 0.19888837f , -0.37880058f , 0.64135459f , 0.11055137f , 0.09557428f , -0.07711050f , 0.13238949f , -0.18005007f , -0.18262300f , 0.15084340f , -0.21503629f , 0.15653282f , 0.45708075f , 0.39918436f , 0.40428185f , 0.37849166f , 0.37443886f , -0.37551659f , 0.34117536f , 0.04118741f , -0.11257164f , -0.12653529f , -0.87344655f , -0.56010800f , -0.07645484f , 0.14471437f , 0.20262780f , 0.29380185f , -0.02943048f , 0.10854716f , 0.43270966f , 0.25877519f , 0.11175582f , 0.11265276f , 0.12112616f , 0.32109879f , 0.25352173f , 0.28658481f , 0.29681278f , 0.39509407f , 0.43777195f , 0.17504785f , 0.10160864f , -0.32996848f , 0.33545472f , 0.10088654f , 0.32002010f , -0.06513018f , 0.09378440f , 0.30444515f , 0.06564463f , -0.59311997f , 0.13934191f , 0.17049039f , -0.38526222f , -0.13285144f , -0.34127257f , 0.32308732f , 0.29646451f , -0.08667292f , 1.27873237f , 1.21492697f , -3.11928954f , 0.45762280f , -0.93594879f , 0.17132808f , 0.08085753f , 0.26151050f , 1.03721715f , -0.25337638f , 0.26779752f , -0.61935064f , 0.10496638f , -0.18282397f , 0.00232460f , 0.17820442f , 0.20638928f , 0.07611441f , 0.12056159f , 0.20529210f , -0.06270324f , -0.04360808f , -0.42305491f , -0.41339045f , -0.00383610f , -0.19449359f , -0.25682704f , -0.37569311f , -0.21433847f , 0.64365986f , 0.31456070f , -0.39495602f , -0.24863426f , 0.09837217f , -0.36609886f , 0.17111936f , 0.24419541f , -0.24359150f , -0.27882768f , -0.09002564f , -0.30691102f , -0.22673738f , 0.56321328f , 0.22388027f , 0.03208856f , 0.17981274f , 0.06991222f , -0.67356769f , -0.64900669f , 1.15113193f , 0.72776059f , 0.27327753f , 1.08582469f , 0.41187807f , 0.20392498f , 1.09655483f , -0.34930742f , 0.20771295f , -0.06429869f , 0.08115226f , 0.22625148f , -0.72095719f , -0.02848530f , 0.42792136f , -0.04720602f , -0.22585980f , -0.29439740f , 0.06057192f , 0.13137013f , 0.24620234f , -0.13734663f , -0.12645317f , -0.30625075f , -0.14167838f , -0.11199965f , -0.18411244f , 0.12411211f , 0.52310170f , 0.17749282f , 0.93116306f , 0.43734813f , -0.11189475f , -0.12583315f , -0.15636518f , -0.45970964f , 0.29811984f , 0.05623999f , 0.26734923f , -0.16388298f , -0.04470326f , 0.13948379f , 0.11499794f , 0.17243067f , 0.01441213f , -0.18039908f , -0.09565125f , 0.16544291f , 0.06548930f , 0.22771091f , 0.45780362f , 0.52809090f , 0.28956302f , -0.16486587f , 0.29599013f , 0.32685118f , -0.28935868f , -0.00152686f , 0.55430159f , 0.03727197f , 0.10804969f , -0.54544071f , -0.79114628f , 0.10752299f , 0.05522333f , 0.63833259f , 0.49017560f , 0.02881627f , -0.39313059f , 0.50983607f , 0.34015996f , -0.08459223f , -0.28493761f , 0.10604944f , 0.27351683f , 0.32437791f , -0.25283796f , -0.04532098f , 0.15075344f , 0.11408519f , 0.00916449f , -0.10310231f , 0.19258483f , 0.02635541f , -0.27218167f , 0.12402945f , 0.03511427f , 0.17636894f , -0.54939311f , 0.33454589f , -0.06691437f , -0.76895070f , 0.86149576f , -0.11074096f , 0.14506447f , -0.65269171f , 0.42690885f , 2.34010106f , -0.53713287f , -0.56076371f , 0.34158378f , 0.24525259f , 0.18233515f , -0.01918052f , -0.38850956f , -0.10382009f , 0.23314099f , -0.44393411f , -0.22817265f , 0.43890661f , -0.35766222f , 0.12772962f , 0.29184572f , -0.35914868f , 0.41036163f , 0.13940763f , 0.24037289f , 0.31034789f , 0.39892172f , 0.45673361f , 0.25700279f , -0.23583305f , -0.56430632f , -0.63542661f }; Float32 cdk_37bits_6[1536] = { 0.02199370f , -0.29796617f , 0.05716792f , 0.13680255f , 0.26597120f , -0.02744179f , 0.20163618f , 0.55538992f , 0.22634719f , 0.31737301f , 0.16680373f , -0.09734626f , -0.23572572f , -0.44456075f , -0.32174953f , -0.27927807f , -0.32748565f , -0.18735586f , -0.18267408f , -0.46321102f , -0.04612331f , 0.01365363f , 0.19391054f , 0.39090135f , -0.78693393f , -0.13121488f , -0.28380698f , -0.26404304f , -0.10486512f , 0.28404174f , -0.20661527f , -0.42204880f , -0.30458489f , 0.08583926f , 0.07085793f , 0.33480410f , -0.03611454f , 0.07957323f , -0.24515140f , -0.07119076f , 0.53589973f , -0.22960446f , 0.07406971f , -0.05459778f , -0.34032829f , -0.26754071f , 0.22258555f , 0.30461029f , -0.40719188f , -0.52149744f , -0.06225098f , -0.58002850f , 0.18087742f , 0.16048132f , 0.33633101f , -0.27793274f , 0.29766130f , 0.23267788f , -0.40627837f , -0.11859464f , -0.33658426f , -0.08944806f , 0.07416164f , 0.12096620f , -0.17419709f , -0.33394555f , -0.01993099f , 0.18415306f , -0.00706952f , -0.18114484f , -0.17223192f , -0.00314600f , 0.09136000f , 0.34482257f , -0.38038690f , 0.51845639f , 0.22194266f , -0.06195248f , 0.01057897f , -0.25864445f , -0.13813348f , 0.15711108f , 0.37305034f , -0.46508572f , 0.21910366f , 0.14590390f , -0.15011887f , -0.08081632f , 0.02686570f , -0.52447967f , -0.44642803f , -0.09356439f , 0.07841264f , -0.09014590f , -0.08406397f , -0.21549966f , -0.10973105f , -0.34775792f , -0.20573880f , -0.13604716f , 0.02371719f , -0.25091561f , -0.39884717f , -0.11293660f , 0.35125293f , -0.23847405f , 0.75991690f , -0.00398242f , -0.37499879f , -0.16571879f , -0.17163070f , 0.28161005f , 0.30079809f , 0.08127173f , -0.21076595f , -0.41977393f , -0.20607863f , -0.13121646f , -0.05219850f , -0.20041567f , -0.23929288f , 0.00328474f , -0.16404527f , 0.13343873f , -0.04468995f , -0.12674227f , 0.28141003f , 0.18544988f , 0.02601550f , -0.21845606f , -0.11057949f , -0.08909572f , -0.13195824f , -0.18487778f , 0.09887948f , 0.53205644f , -0.22134305f , -0.05746605f , -0.44707332f , -0.06333598f , -0.98347835f , 1.60965371f , -0.38440494f , 0.37345285f , 0.18956874f , -0.63812607f , 0.04131005f , -0.45442314f , -0.54875750f , 0.04287724f , 0.25537551f , 0.08570099f , -0.08813623f , -0.09284444f , 0.03722275f , 0.36512077f , -0.09165936f , -0.03956157f , -0.01444716f , 0.03320064f , 0.05602971f , 0.12944547f , -0.08791108f , -0.21281390f , 0.02256362f , 0.21794416f , 0.49420878f , 0.51874581f , -0.61939062f , -0.36501718f , 0.13770557f , -0.03873456f , 0.24524354f , -0.22114161f , 0.17262135f , -0.01018526f , 0.00734267f , -0.03028249f , -0.10222293f , -0.56027275f , 0.21981567f , 0.30177736f , -0.00599960f , -0.13637831f , 0.12005585f , 0.21762903f , 0.21013194f , -0.29453710f , 0.06570005f , 0.02671005f , 0.18952852f , 0.33755592f , 0.14788881f , 0.00059595f , 0.03869057f , -0.08077903f , -0.12203289f , -0.84498958f , 0.47581358f , 0.02514588f , 0.04825696f , -0.01455508f , -0.01746364f , 0.27725910f , 0.12457264f , 0.11218197f , 0.26527797f , -0.25741487f , -0.07216861f , -0.32943112f , -0.08385290f , -0.36172079f , -0.42572896f , -0.53073631f , -0.32133031f , -0.11301412f , -0.35066897f , -0.11415958f , -0.59117357f , -0.14095716f , -0.42297703f , -0.39599254f , 0.11101885f , 0.54908359f , 0.00983404f , -0.16570627f , 0.35167384f , 0.03659831f , 0.00451556f , 0.13297592f , -0.03455431f , 0.05151250f , -0.22783505f , -0.26878480f , -0.09719185f , 0.26294703f , 0.24726886f , 0.09052345f , -0.07129501f , -0.20450022f , -0.04472087f , -0.37269265f , 0.03231240f , 0.03463392f , -0.33039098f , 0.03217782f , -0.35545027f , 0.13915732f , 0.21687252f , -0.70171718f , -0.39380045f , 0.29808315f , -0.10154988f , 0.58687688f , 0.36738223f , -0.01455050f , 0.25767865f , -0.13939968f , -0.18503719f , 0.06199296f , 0.11118295f , 0.01396018f , 0.09425776f , -0.03092734f , -0.25728637f , 0.47463459f , 0.06581158f , -0.61445073f , 0.28805874f , 0.07087341f , 0.22849783f , 0.14652334f , -0.17916038f , -0.45793031f , -0.13375702f , 0.04741016f , 0.34305011f , 0.18609517f , 0.15796519f , -0.32119576f , -0.37724212f , -0.29019392f , -0.16584456f , 0.06247499f , -0.17973441f , -0.11871502f , 0.07256450f , 0.13822121f , 0.20531600f , -0.09627213f , -0.35132620f , -0.03667359f , -0.25798228f , 0.21115819f , 0.03354110f , -0.02417022f , 0.43198429f , -0.23070254f , -0.12670631f , 0.15840355f , -0.09384404f , -0.11238464f , -0.08953585f , 0.10896049f , -0.00837215f , -0.46861227f , 1.49760729f , -0.67351773f , -0.52192511f , 0.01262532f , 0.20121502f , -0.39083539f , 0.10656396f , -0.26831105f , -0.81601202f , 0.26397269f , 0.26863321f , -0.04846112f , 0.40399165f , -0.08820703f , 0.14718938f , -0.29278618f , -0.38479467f , 0.02420765f , -0.10191832f , -0.03998542f , 0.09718148f , -0.38999213f , 0.40517232f , 0.29658010f , 0.07025753f , -0.06541290f , -0.17956727f , -0.20362973f , -0.10716584f , -0.04799112f , -0.08098934f , 0.01809647f , -0.31889640f , 0.20306658f , 0.05187569f , 0.03260165f , -0.28014725f , -0.09888837f , 0.24610335f , 0.17700122f , -0.30915327f , -0.08942879f , -0.50003116f , 0.85468538f , -0.27952271f , 0.40219755f , -0.20697633f , -0.22376407f , -0.24075343f , -0.23806655f , 0.09503069f , 0.19400941f , 0.29979874f , 0.26995405f , -0.27054449f , 0.39277758f , -0.03760489f , 0.02099845f , -0.35791555f , -0.28760379f , 0.22223327f , -0.11251071f , -0.02563508f , 0.46326287f , -0.14502000f , -0.07375028f , -0.32793294f , -0.56372840f , 0.30213757f , 0.47683337f , 0.42993785f , 0.02200265f , -0.43110723f , -0.31763877f , 0.25984030f , 0.13257308f , 0.23346193f , -0.17362047f , -0.12926955f , 0.23035254f , 0.14954128f , -0.15270953f , 0.01666258f , 0.25669412f , 0.26953793f , 0.47425752f , -0.09722404f , -0.12678088f , -0.27006791f , 0.06245438f , 0.11482178f , -0.51002017f , -0.55002144f , -0.13134853f , 0.49162370f , -0.20822342f , -0.09189974f , -0.03360844f , 0.08050459f , 0.08539808f , -0.01338071f , -0.32112911f , -0.07384309f , 0.14700645f , -0.33549907f , -0.17107820f , -0.36567878f , 0.28540929f , -0.11645077f , -0.06093537f , 0.10704230f , 0.60475923f , 0.31110592f , 0.03294181f , 0.24602888f , -0.16878060f , -0.37308097f , -0.38852147f , -0.11457933f , -0.01155936f , -0.20566079f , -0.11646696f , -0.43156667f , -0.48332839f , -0.40869530f , -0.30176313f , -0.04009388f , -0.48515311f , -0.01564117f , -0.22107208f , 0.26498770f , 0.32028506f , -0.06025879f , 0.53444487f , -0.52361462f , -0.13790355f , -0.00869928f , -0.37067541f , -0.00525305f , 0.34369466f , -0.11140079f , -0.21802883f , -0.02738621f , 0.09487138f , -0.18305111f , 0.21257672f , 0.19224339f , 0.13669179f , -0.07833677f , -0.43596981f , -0.31269603f , 0.18817889f , -0.14017449f , -0.36643116f , 0.51493670f , -0.26894972f , 0.38067942f , -0.47165660f , -0.03935884f , -0.15393758f , 0.33966349f , -0.07858441f , 0.08218318f , -0.14083074f , -0.39968104f , 0.46984889f , -0.23459315f , -0.01561374f , 0.04443121f , -0.08906745f , -0.05813711f , -0.21827283f , -0.17460819f , -0.22917539f , -0.32481184f , 0.18110865f , -0.03288883f , -0.13973233f , 0.27902282f , -0.11023560f , -0.16625632f , 0.02743534f , 0.10865317f , -0.10518495f , 0.26027757f , -0.15223339f , -0.35257469f , -0.01938217f , 0.46256528f , -0.27598628f , 0.04443960f , 1.07920395f , -1.13925232f , 0.36635637f , 0.35955458f , 0.25146378f , 0.11693719f , -0.28918251f , -0.01140797f , -0.00108123f , 0.53664312f , -0.07884630f , 0.06610974f , 0.46994377f , -0.21062843f , -0.06753632f , -0.27422686f , -0.02290268f , -0.18794805f , -0.46650251f , -0.14397198f , -0.00227405f , 0.10488283f , 0.31441692f , 0.42101389f , 0.25235460f , -0.29244026f , -0.56175069f , -0.28002115f , -0.17549467f , -0.12071683f , -0.23331646f , -0.14210038f , 0.15898131f , 0.34745032f , -0.39617165f , -0.04076848f , 0.18838182f , -0.13777208f , 0.22936475f , 0.41604669f , -0.29976263f , 0.25071099f , -0.15777986f , 0.01895400f , -0.00797168f , -0.55609191f , 0.33651175f , -0.23976909f , -0.55267202f , -0.20759468f , 0.05624592f , 0.01093081f , 0.08073438f , 0.28567820f , 0.30232551f , 0.28315788f , -0.74308327f , 0.25294543f , 0.19940974f , 0.24760844f , -0.02307767f , 0.00394023f , -0.27240988f , -0.55346147f , 0.06135889f , -0.10476035f , 0.49139353f , 0.02862492f , 0.14164419f , -0.26209567f , 0.29521976f , -0.05334845f , -0.16688330f , -0.02634194f , -0.01985854f , -0.11432133f , -0.12121091f , -0.13386215f , -0.39429955f , 0.01675275f , -0.07538106f , -0.33922440f , 0.34966904f , 0.15763570f , 0.08306612f , 0.62591343f , -0.03583112f , -0.43789635f , -0.06885643f , -0.00346875f , -0.06640113f , -0.32232724f , -0.18063079f , 0.53312831f , -0.00572204f , -0.27992509f , -0.50312951f , 0.12672777f , 0.16960075f , -0.11581876f , 0.02517662f , 0.13602646f , 0.24387275f , -0.35732816f , -0.22019513f , -0.26829496f , 0.31166748f , -0.23832104f , 0.56149308f , 0.20096730f , -0.14980617f , 0.04728897f , -0.22598474f , -0.36740325f , 0.14028484f , 0.32691879f , 0.00451707f , -0.11546712f , 0.20652154f , -0.39073278f , 0.05148622f , -0.29347409f , -0.21830651f , 0.40790228f , -0.24466325f , -0.37143514f , -0.35725594f , -0.34807000f , -0.00324691f , -0.06021802f , 0.27592230f , 0.20065100f , -0.31797201f , -0.48602388f , 0.05361142f , 0.30839620f , 0.41057671f , -0.47412603f , 0.10542789f , 0.20596832f , -0.20747184f , 0.40038595f , -0.20068089f , 0.00240007f , -0.38309980f , -0.05001577f , 0.17124043f , 0.09018175f , 0.07050526f , 0.22914929f , 0.15810766f , 0.15361042f , 0.16095058f , 0.11590520f , -0.10531069f , -0.54075671f , 0.33490327f , 0.37034921f , -0.22227724f , -0.09516189f , -0.12944095f , 0.61220382f , -0.39342831f , 0.07187587f , 0.14034139f , 0.15782975f , 0.06333909f , -0.37017017f , 0.21683365f , 0.12401762f , -0.25136319f , -0.14144992f , -0.11683977f , 0.08998918f , 0.02907554f , -0.75114647f , 0.03978493f , 0.76048864f , 0.09830364f , -0.18442047f , -0.01149302f , -0.08377934f , 0.01287934f , -0.10587886f , 0.02074821f , 0.24442453f , 0.25099252f , 0.04656507f , 0.10263959f , -0.00445999f , -0.09991211f , -0.18874159f , -0.04573901f , 0.12928997f , 0.08644625f , -0.19611160f , -0.27382974f , -0.29394396f , -0.47761274f , 0.14765675f , 0.26358158f , -0.29464188f , 0.01676762f , -0.12098202f , 0.56991418f , -0.43628314f , 0.29279445f , -0.51684512f , -0.06979763f , 0.22084398f , 0.33328609f , -0.44667171f , -0.13234452f , 0.03221020f , 0.34402421f , -0.06995129f , -0.10237066f , -0.03757679f , 0.08387845f , 0.07625326f , -0.18566472f , -0.25481511f , -0.35690924f , 0.36027465f , -0.14361307f , -0.01060078f , -0.14321892f , 0.47607774f , -0.21917094f , -0.19024330f , 0.35483351f , 0.00343023f , 0.16704908f , 0.09217343f , -0.36458287f , -0.68525894f , -0.06920128f , 0.13485445f , 0.16439202f , 0.13577501f , -0.06075085f , 0.02266803f , 0.26611340f , -0.37850955f , -0.49541492f , -0.48481104f , -0.30493937f , 0.04767197f , 0.17098898f , -0.03724685f , -0.76939534f , -0.52710450f , -0.26151755f , -0.36749599f , 0.19673299f , 0.11499191f , 0.25563946f , -0.18105024f , -0.11440595f , 0.27962189f , 0.12349943f , 0.04827891f , 0.17421978f , 0.25830670f , 0.15467508f , 0.17983330f , 0.17053327f , 0.01501125f , -0.21006919f , -0.24807426f , -0.27314815f , -0.24896720f , 0.19371740f , 0.06879568f , 0.44049451f , 0.14914746f , 0.03856987f , 0.06978715f , 0.40612007f , 0.28010982f , -0.56749281f , -0.01993429f , 0.46728351f , -0.36770014f , -0.15189625f , -0.02595528f , -0.16408195f , -0.11358236f , 0.34475368f , 0.37996789f , -0.23334622f , -0.02333946f , -0.29586512f , -0.08357343f , 0.01075083f , 0.01442941f , -0.19995191f , -0.25851229f , -0.29267926f , 0.50501148f , 0.07809462f , -0.35000787f , 0.00232180f , 0.25576742f , 0.22026677f , -0.28505912f , 0.32678020f , 0.14230208f , -0.25462591f , -0.52430874f , 0.00733528f , -0.12371759f , 0.46221140f , 0.03726347f , 0.06724595f , 0.38257606f , 0.29300802f , 0.20146742f , 0.05769846f , 0.46566196f , -0.22129182f , 0.48408131f , -0.08771705f , 0.34179928f , -0.03570483f , 0.28260230f , -0.37152490f , 0.24002550f , -0.37004615f , 0.04007914f , 0.14066291f , 0.03156739f , -0.40473859f , 0.24504260f , -0.12061618f , -0.01911784f , -0.09587775f , -0.20311630f , 0.25305578f , -0.02444684f , -0.17360130f , -0.33200194f , -0.56919023f , 0.40911162f , -0.26402836f , -0.43905076f , -0.53557497f , 0.19016209f , -0.01532019f , -0.46281760f , -0.26868248f , 0.12319043f , -0.03526231f , 0.14611501f , -0.35525234f , 0.34301743f , 0.10756893f , 0.38690216f , 0.01304076f , -0.17233959f , -0.26353334f , -0.32623011f , -0.13634929f , 0.06881118f , -0.03647389f , 0.13860696f , 0.21618306f , 0.58044419f , -0.31542590f , 0.13749045f , 0.15061296f , -0.24506767f , -0.10488291f , -0.37675292f , -0.04226534f , -0.16466027f , 0.20334112f , 0.62047117f , -0.07748292f , -0.23123208f , 0.22647883f , 0.46423202f , -0.53987978f , 0.26867801f , 0.17570387f , 0.22624788f , -0.06808559f , -0.09873793f , 0.00241821f , 0.05209155f , 0.02604012f , -0.18720130f , -0.00619393f , 0.08934188f , 0.18479801f , 0.00631687f , 0.35401594f , -0.22430546f , -0.17052726f , -0.27404318f , 0.34842459f , 0.06523245f , -0.22607999f , 0.38438344f , 0.31775172f , 0.00274227f , -0.32430710f , -0.25886046f , -0.22780138f , 0.00599115f , 1.13173049f , -1.16090310f , 0.31502644f , 0.39054668f , -0.12545157f , 0.08495448f , -0.08111156f , 0.13201128f , 0.10631004f , -0.62508184f , 0.49447676f , 0.05698153f , 0.57661737f , 0.16100334f , 0.29281953f , -0.42535641f , -0.34334011f , -0.21130696f , -0.11053404f , 0.29449021f , -0.00923741f , -0.15178458f , -0.03327836f , 0.04623104f , 0.06728107f , 0.07479295f , -0.09249471f , -0.01129765f , -0.02381652f , 0.58733539f , 0.15083492f , -0.07170902f , 0.07265805f , 0.25686979f , -0.00362956f , 0.16478015f , 0.10189929f , -0.35758569f , 0.34626172f , -0.76537636f , -0.14748849f , 0.23675893f , 0.10373267f , 0.09933094f , -0.01851098f , -0.01787937f , -0.12160932f , -0.09891368f , -0.10410372f , 0.04554984f , 0.08997877f , 0.12949773f , 0.02665334f , 0.29472382f , 0.55621057f , -0.25157141f , -0.08071915f , -0.33720618f , -0.07969815f , -0.09542065f , -0.03385662f , 0.57363003f , 0.21066071f , -0.26291676f , 0.64510933f , -0.24141325f , -0.10243829f , -0.10243462f , 0.03275380f , -0.20748095f , -0.21739693f , -0.02629787f , 0.14996425f , -0.18327383f , 0.03844543f , -0.12298422f , -0.48155671f , -0.03002892f , 0.10542293f , 0.06159204f , 0.27084880f , 0.33088023f , -0.39709374f , 0.40602594f , 0.01355505f , -0.21134955f , 0.38680071f , 0.42354405f , 0.13430508f , 0.04568189f , -0.43410657f , -0.13995521f , -0.32088491f , -0.23742271f , 0.13613850f , 0.22766366f , 0.52067443f , 0.36422193f , -0.09820343f , -0.25055881f , -0.32764668f , -0.03031539f , 0.33911970f , 0.00121262f , 0.23395660f , 0.10188493f , 0.35700308f , -0.26121354f , 0.04562318f , 0.08861375f , -0.19333300f , -0.17460139f , -0.06438315f , 0.08512698f , -0.28212770f , 0.58969600f , -1.01876488f , 0.72771298f , -0.24186158f , -0.25474736f , -0.05188159f , 0.35800295f , -0.07855298f , -0.01848759f , 0.30122272f , -0.16488121f , 0.39899154f , -0.43527753f , 0.06350178f , -0.25145471f , -0.13442742f , -0.05695327f , 0.05515276f , -0.53947634f , 0.10452757f , -0.00613783f , 0.09941644f , 0.48768605f , 0.23880974f , 0.15991320f , -0.08188036f , -0.07454521f , 0.46447496f , 0.20306282f , -0.35729603f , -0.19729891f , 1.15029004f , 0.78677730f , -0.96063281f , 0.31021050f , -0.38542028f , 0.38342353f , 0.13604497f , -0.07567226f , -0.23168737f , -0.02250859f , -0.04684466f , 0.02122357f , 0.36396360f , -0.03570663f , -0.41257090f , 0.57597067f , 0.13936689f , -0.44959133f , -0.14512843f , 0.31888158f , -0.68434472f , 0.36855275f , 0.34229507f , 0.14749025f , -0.13593595f , -0.02198259f , 0.03092032f , 0.04127156f , -0.30338390f , -0.36945017f , 0.09750128f , 0.03159281f , -0.09756566f , -0.00189927f , -0.12775820f , 0.11355232f , -0.16024788f , 0.32150415f , 0.19535993f , 0.22702237f , 0.26433052f , -0.08518964f , -0.13355330f , -0.54717674f , 0.18386017f , 0.53068186f , 0.35196477f , -0.36756679f , -0.69260204f , 0.19830746f , 0.92671624f , -0.09461538f , 0.67447380f , 0.12354656f , 0.17963388f , 0.15317263f , 0.19433224f , 0.16035999f , -0.50697166f , 0.22832688f , -0.03638860f , -0.31139766f , -0.15364902f , -0.16277929f , 0.09079846f , 0.36114558f , 0.19448427f , -0.21078568f , -0.04243481f , 0.26104266f , 0.46369813f , 0.26334525f , -0.14251361f , -0.10575649f , -0.10844448f , -0.04642582f , -0.10287474f , 0.07590817f , 0.04960837f , -0.05287987f , -0.15988848f , -0.08701719f , 0.14028344f , -0.27072892f , -0.02715588f , 0.24338776f , 0.20341433f , 0.43004675f , -1.02991828f , 0.27940707f , 0.21700241f , 0.11492563f , 0.27903919f , 0.26058323f , -0.34700893f , 0.07076686f , -0.10221847f , 0.05257812f , 0.55040312f , -0.00947855f , 0.16201946f , 0.01530995f , 0.21655645f , -0.39190608f , -0.53475683f , 0.27626723f , -0.10828040f , -0.11491983f , -0.37356045f , 0.23110876f , 0.23915995f , 0.26409657f , 0.05516764f , -0.26520423f , 0.23157479f , 0.49045853f , 0.07154379f , 0.24906795f , 0.48215117f , 0.36682427f , 0.30977279f , 0.41199849f , 0.35374660f , 0.11035037f , 0.12792077f , 0.34911446f , 0.03095177f , -0.26708115f , 0.01926537f , 0.06581393f , -0.83391569f , 0.11407886f , 0.34947774f , -0.06272482f , 0.45584926f , 0.35208593f , 0.02210972f , 0.03663452f , -0.16326364f , -0.08863411f , -0.12989747f , -0.24846516f , 0.02403637f , 0.24144266f , 0.21460052f , 0.21802777f , 0.17582350f , 0.17586580f , -0.03883077f , 0.41247141f , 0.20117164f , 0.49169701f , 0.55456607f , -0.33339198f , -0.15935525f , 0.11000758f , 0.03881595f , -0.08086591f , 0.08127779f , -0.21850527f , 0.25204265f , 0.02918388f , -0.46406159f , -0.30149637f , -0.28716264f , -0.01652976f , -0.21430167f , -0.05257479f , -0.11894064f , 0.12104770f , 0.21200677f , 0.05077562f , 0.64049606f , 0.29166977f , -0.14882998f , 0.23041791f , -0.17570776f , -0.25126896f , 0.15320959f , -0.50542113f , 0.51581805f , 0.29050952f , 0.02906798f , -0.21707118f , 0.08731647f , -0.26192461f , 0.08930377f , 0.01540895f , -0.11515550f , -0.13173228f , 0.04443261f , 0.14861127f , 0.15145403f , 0.38816557f , 0.40757716f , 0.31175167f , 0.17090647f , 0.17998268f , -0.19899135f , 0.28615557f , -0.13419397f , 0.07062408f , -0.18842182f , -0.15533919f , -0.48813043f , 0.33410690f , 0.14699633f , 0.07321804f , 0.60685754f , -0.42827502f , -0.43054167f , 0.30547944f , 0.50321733f , -0.20117562f , -0.07447133f , -0.00135400f , 0.05786543f , -0.01808385f , -0.10533247f , 0.05054332f , -0.14047735f , -0.07415119f , 0.44066546f , -0.02324372f , -0.09192828f , -0.18097335f , 0.09834903f , -0.26580813f , -0.02556763f , -0.37105934f , 0.12150755f , -0.11848442f , 0.04784313f , -0.11220379f , 0.39803073f , 0.52224090f , 0.10595610f , 0.18711063f , 0.29425741f , -0.12712275f , -0.75269106f , -0.62164375f , 1.49229636f , -0.05263376f , 0.01551319f , -0.01862667f , 0.39621319f , 0.00775791f , 0.19443440f , -0.37005598f , 0.09947225f , 0.17067061f , -0.59100529f , -0.09194870f , -0.41824230f , 0.54676965f , 0.01393038f , 0.32793066f , 0.12752974f , -0.01761483f , 0.26099604f , 0.18632115f , 0.17752999f , -0.12037572f , -0.19613144f , -0.11840061f , -0.09740210f , 0.09912611f , -0.24884033f , 0.19434008f , 0.16192972f , 0.05004326f , -0.59081926f , -0.41278435f , 0.10837713f , 0.06286063f , 0.17897341f , -0.09549655f , -0.11946937f , 0.19636290f , 0.10840741f , 0.12514136f , 0.91209643f , -0.52293308f , 0.24102239f , 0.14117183f , -0.19578756f , 0.29083443f , 0.08063250f , -0.15288813f , -0.30169128f , 0.01584630f , -0.11259531f , 0.39416192f , 0.56959415f , -0.29736651f , 0.10790402f , 0.64124109f , -0.30225328f , 0.10444127f , 0.04559679f , 0.04662132f , -0.13559913f , -0.47705291f , 0.24948308f , -0.09175683f , -0.12182940f , 0.23087559f , -0.04229615f , -0.10186917f , 0.07827786f , 0.09243493f , 0.11202796f , 0.04243676f , 0.08887602f , -0.38219650f , -0.11461189f , -0.18648336f , 0.19816038f , -0.09732223f , 0.52544356f , -0.13255010f , -0.13256714f , 0.46163208f , -0.08822080f , 0.30489642f , -0.27441353f , -0.17900853f , -0.37170730f , -0.16593309f , -0.05832152f , 0.20792097f , 0.02230373f , 0.39776652f , 0.32480143f , 0.56771378f , 0.28147085f , 0.12035847f , -0.06198797f , 0.16289063f , 0.29806667f , 0.12344487f , 0.11272351f , 0.03410954f , -0.30062456f , 0.06877076f , -0.06004153f , 0.62082084f , 0.47068710f , -0.30298966f , -0.26674229f , -0.10333087f , 0.13814787f , -0.18170023f , -0.26286846f , 0.14643367f , 0.69028091f , 0.12706668f , -0.06000300f , -0.15983614f , -0.16308927f , 0.06054026f , 0.24605632f , 0.71272052f , 0.52242539f , -0.04818476f , 0.31193593f , -0.15987333f , -0.06222937f , -0.05672104f , 0.53241922f , 0.05925126f , -0.20570464f , 0.11569695f , -0.11659635f , 0.17015156f , 0.03835440f , -0.10022938f , 0.00626121f , -0.22082679f , -0.10482121f , -0.03046492f , -0.07362554f , 0.16480680f , -0.02745797f , -0.23714652f , -0.40036483f , 0.00774041f , 0.02630024f , 0.85679294f , -0.16620543f , 0.13390597f , -0.43418821f , 0.27099640f , 0.29601681f , -0.05468039f , 0.00123578f , -0.34476791f , 0.20548883f , 0.12690026f , -0.12125541f , -0.24822526f , 0.32121761f , -0.15281912f , 0.18448249f , 0.30215241f , 0.12566250f , 0.06993898f , -0.03997524f , 0.17346822f , 0.40869366f , 0.50810094f , 0.24316475f , -0.32829494f , -0.52128186f , 0.13028426f , 0.29952885f , 0.46293804f , -0.26433277f , -0.37140799f , -0.12921967f , -0.20423017f , -0.11719085f , 0.08305804f , -0.12334944f , -0.23731075f , 0.22837853f , 0.24340316f , 0.43535913f , 0.30959620f , 0.04173569f , -0.57982693f , -0.34522367f , 0.14683522f , 0.05595596f , 0.02237034f , -0.06316542f , -0.01048143f , -0.27361876f , 0.01327775f , 0.01156603f , -0.02656291f , -0.30384147f , -0.39207165f , 0.02401410f , -0.01835587f , 0.05743541f , -0.37923460f , 0.21265931f , 0.57306648f , 0.29538200f , -0.06625719f , 0.44038905f , 0.54409558f , 0.06943242f , 0.86241612f , 0.52782911f , 0.13063215f , -0.00969728f , 0.11622122f , 0.02224264f , 0.32680233f , 0.00674035f , -0.18269996f , -0.07149903f , -0.38216845f , 0.11519523f , 0.15289458f , 0.02026007f , 0.31202256f , 0.38286848f , 0.06066707f , -0.11169249f , -0.10677312f , -0.20147411f , 0.01167547f , 0.11246367f , -0.70525138f , -0.69991387f , 1.00946560f , 0.95344512f , -0.75251996f , 0.27342287f }; const Float32 * const cdk_37bits[] = { cdk_37bits_1, cdk_37bits_2, cdk_37bits_3, cdk_37bits_4, cdk_37bits_5, cdk_37bits_6 }; /* Sine tables for FFT */ /* for (j=0 ; jfftlen/2+1 ; j++) hs->fftSineTab[j] = (float)sin(2.0*EVS_PI*j/hs->fftlen); */ const float fftSineTab640[321] = { 0.0000000000000000000000000f, 0.0098173199221491814000000f, 0.0196336936205625530000000f, 0.0294481739401817320000000f, 0.0392598174512386320000000f, 0.0490676760673522950000000f, 0.0588708035647869110000000f, 0.0686682611703872680000000f, 0.0784590989351272580000000f, 0.0882423743605613710000000f, 0.0980171412229537960000000f, 0.1077824681997299200000000f, 0.1175374016165733300000000f, 0.1272810101509094200000000f, 0.1370123475790023800000000f, 0.1467304825782775900000000f, 0.1564344763755798300000000f, 0.1661233752965927100000000f, 0.1757962852716445900000000f, 0.1854522377252578700000000f, 0.1950903236865997300000000f, 0.2047096043825149500000000f, 0.2143091559410095200000000f, 0.2238880544900894200000000f, 0.2334453761577606200000000f, 0.2429801821708679200000000f, 0.2524915933609008800000000f, 0.2619786560535430900000000f, 0.2714404463768005400000000f, 0.2808761000633239700000000f, 0.2902846932411193800000000f, 0.2996652722358703600000000f, 0.3090170025825500500000000f, 0.3183389306068420400000000f, 0.3276301920413970900000000f, 0.3368898630142211900000000f, 0.3461170792579650900000000f, 0.3553109169006347700000000f, 0.3644705116748809800000000f, 0.3735949695110321000000000f, 0.3826834559440612800000000f, 0.3917350172996521000000000f, 0.4007488489151001000000000f, 0.4097240269184112500000000f, 0.4186597466468811000000000f, 0.4275551140308380100000000f, 0.4364092648029327400000000f, 0.4452213346958160400000000f, 0.4539905190467834500000000f, 0.4627159237861633300000000f, 0.4713967442512512200000000f, 0.4800321459770202600000000f, 0.4886212646961212200000000f, 0.4971632659435272200000000f, 0.5056573748588562000000000f, 0.5141027569770813000000000f, 0.5224985480308532700000000f, 0.5308440327644348100000000f, 0.5391383171081543000000000f, 0.5473806858062744100000000f, 0.5555702447891235400000000f, 0.5637062788009643600000000f, 0.5717879533767700200000000f, 0.5798145532608032200000000f, 0.5877852439880371100000000f, 0.5956993103027343800000000f, 0.6035559773445129400000000f, 0.6113544106483459500000000f, 0.6190939545631408700000000f, 0.6267738342285156300000000f, 0.6343932747840881300000000f, 0.6419516205787658700000000f, 0.6494480371475219700000000f, 0.6568819284439086900000000f, 0.6642524600028991700000000f, 0.6715589761734008800000000f, 0.6788007616996765100000000f, 0.6859771013259887700000000f, 0.6930873990058898900000000f, 0.7001308202743530300000000f, 0.7071067690849304200000000f, 0.7140145897865295400000000f, 0.7208536267280578600000000f, 0.7276231050491333000000000f, 0.7343225479125976600000000f, 0.7409511208534240700000000f, 0.7475083470344543500000000f, 0.7539935111999511700000000f, 0.7604059576988220200000000f, 0.7667451500892639200000000f, 0.7730104923248291000000000f, 0.7792012691497802700000000f, 0.7853169441223144500000000f, 0.7913569211959838900000000f, 0.7973206639289856000000000f, 0.8032075762748718300000000f, 0.8090170025825500500000000f, 0.8147485256195068400000000f, 0.8204014301300048800000000f, 0.8259753584861755400000000f, 0.8314696550369262700000000f, 0.8368837833404541000000000f, 0.8422172665596008300000000f, 0.8474695682525634800000000f, 0.8526401519775390600000000f, 0.8577286005020141600000000f, 0.8627343773841857900000000f, 0.8676570057868957500000000f, 0.8724960088729858400000000f, 0.8772509098052978500000000f, 0.8819212913513183600000000f, 0.8865066170692443800000000f, 0.8910065293312072800000000f, 0.8954205513000488300000000f, 0.8997483253479003900000000f, 0.9039893150329589800000000f, 0.9081431627273559600000000f, 0.9122095108032226600000000f, 0.9161879420280456500000000f, 0.9200780987739563000000000f, 0.9238795638084411600000000f, 0.9275919198989868200000000f, 0.9312149286270141600000000f, 0.9347481727600097700000000f, 0.9381913542747497600000000f, 0.9415440559387207000000000f, 0.9448060393333435100000000f, 0.9479769468307495100000000f, 0.9510565400123596200000000f, 0.9540444016456604000000000f, 0.9569403529167175300000000f, 0.9597440361976623500000000f, 0.9624552726745605500000000f, 0.9650737047195434600000000f, 0.9675990939140319800000000f, 0.9700312614440918000000000f, 0.9723699092864990200000000f, 0.9746148586273193400000000f, 0.9767658710479736300000000f, 0.9788227677345275900000000f, 0.9807853102684021000000000f, 0.9826532602310180700000000f, 0.9844265580177307100000000f, 0.9861049652099609400000000f, 0.9876883625984191900000000f, 0.9891765117645263700000000f, 0.9905693531036377000000000f, 0.9918667078018188500000000f, 0.9930684566497802700000000f, 0.9941744804382324200000000f, 0.9951847195625305200000000f, 0.9960990548133850100000000f, 0.9969173073768615700000000f, 0.9976395368576049800000000f, 0.9982656240463256800000000f, 0.9987954497337341300000000f, 0.9992290139198303200000000f, 0.9995663166046142600000000f, 0.9998072385787963900000000f, 0.9999517798423767100000000f, 1.0000000000000000000000000f, 0.9999517798423767100000000f, 0.9998072385787963900000000f, 0.9995663166046142600000000f, 0.9992290139198303200000000f, 0.9987954497337341300000000f, 0.9982656240463256800000000f, 0.9976395368576049800000000f, 0.9969173073768615700000000f, 0.9960990548133850100000000f, 0.9951847195625305200000000f, 0.9941744804382324200000000f, 0.9930684566497802700000000f, 0.9918667078018188500000000f, 0.9905693531036377000000000f, 0.9891765117645263700000000f, 0.9876883625984191900000000f, 0.9861049652099609400000000f, 0.9844265580177307100000000f, 0.9826532602310180700000000f, 0.9807852506637573200000000f, 0.9788227677345275900000000f, 0.9767658710479736300000000f, 0.9746148586273193400000000f, 0.9723699092864990200000000f, 0.9700312614440918000000000f, 0.9675990939140319800000000f, 0.9650736451148986800000000f, 0.9624552130699157700000000f, 0.9597440361976623500000000f, 0.9569402933120727500000000f, 0.9540444016456604000000000f, 0.9510564804077148400000000f, 0.9479769468307495100000000f, 0.9448060393333435100000000f, 0.9415440559387207000000000f, 0.9381912946701049800000000f, 0.9347481727600097700000000f, 0.9312149286270141600000000f, 0.9275919198989868200000000f, 0.9238795042037963900000000f, 0.9200780391693115200000000f, 0.9161879420280456500000000f, 0.9122095108032226600000000f, 0.9081431627273559600000000f, 0.9039892554283142100000000f, 0.8997482657432556200000000f, 0.8954205513000488300000000f, 0.8910064697265625000000000f, 0.8865066170692443800000000f, 0.8819212317466735800000000f, 0.8772509098052978500000000f, 0.8724959492683410600000000f, 0.8676570057868957500000000f, 0.8627343773841857900000000f, 0.8577286005020141600000000f, 0.8526401519775390600000000f, 0.8474695086479187000000000f, 0.8422172069549560500000000f, 0.8368837237358093300000000f, 0.8314695954322814900000000f, 0.8259752988815307600000000f, 0.8204014301300048800000000f, 0.8147484660148620600000000f, 0.8090169429779052700000000f, 0.8032075166702270500000000f, 0.7973206043243408200000000f, 0.7913568615913391100000000f, 0.7853168845176696800000000f, 0.7792012095451355000000000f, 0.7730104327201843300000000f, 0.7667450904846191400000000f, 0.7604058980941772500000000f, 0.7539934515953064000000000f, 0.7475082874298095700000000f, 0.7409510612487793000000000f, 0.7343224883079528800000000f, 0.7276230454444885300000000f, 0.7208535671234130900000000f, 0.7140145301818847700000000f, 0.7071067094802856400000000f, 0.7001307606697082500000000f, 0.6930873394012451200000000f, 0.6859770417213439900000000f, 0.6788007020950317400000000f, 0.6715589165687561000000000f, 0.6642524003982543900000000f, 0.6568818688392639200000000f, 0.6494479775428772000000000f, 0.6419515609741210900000000f, 0.6343932151794433600000000f, 0.6267737746238708500000000f, 0.6190938949584960900000000f, 0.6113543510437011700000000f, 0.6035558581352233900000000f, 0.5956992506980896000000000f, 0.5877851843833923300000000f, 0.5798144936561584500000000f, 0.5717878937721252400000000f, 0.5637062191963195800000000f, 0.5555701851844787600000000f, 0.5473806262016296400000000f, 0.5391382575035095200000000f, 0.5308439731597900400000000f, 0.5224984884262085000000000f, 0.5141026973724365200000000f, 0.5056573152542114300000000f, 0.4971632063388824500000000f, 0.4886211752891540500000000f, 0.4800320565700531000000000f, 0.4713966846466064500000000f, 0.4627158641815185500000000f, 0.4539904296398162800000000f, 0.4452212452888488800000000f, 0.4364091753959655800000000f, 0.4275550246238708500000000f, 0.4186596572399139400000000f, 0.4097239673137664800000000f, 0.4007487595081329300000000f, 0.3917349278926849400000000f, 0.3826833665370941200000000f, 0.3735949099063873300000000f, 0.3644704222679138200000000f, 0.3553108274936676000000000f, 0.3461169898509979200000000f, 0.3368897736072540300000000f, 0.3276301026344299300000000f, 0.3183388411998748800000000f, 0.3090169131755828900000000f, 0.2996652126312255900000000f, 0.2902846038341522200000000f, 0.2808760106563568100000000f, 0.2714403867721557600000000f, 0.2619785666465759300000000f, 0.2524915039539337200000000f, 0.2429801076650619500000000f, 0.2334452867507934600000000f, 0.2238879650831222500000000f, 0.2143090665340423600000000f, 0.2047095298767089800000000f, 0.1950902342796325700000000f, 0.1854521632194519000000000f, 0.1757961958646774300000000f, 0.1661233007907867400000000f, 0.1564343869686126700000000f, 0.1467303931713104200000000f, 0.1370122581720352200000000f, 0.1272809207439422600000000f, 0.1175373122096061700000000f, 0.1077823787927627600000000f, 0.0980170592665672300000000f, 0.0882422849535942080000000f, 0.0784590095281600950000000f, 0.0686681717634201050000000f, 0.0588707178831100460000000f, 0.0490675866603851320000000f, 0.0392597280442714690000000f, 0.0294480863958597180000000f, 0.0196336060762405400000000f, 0.0098172323778271675000000f, -0.0000000874227765734758580f }; /* Analysis windows for overlap-add */ /* ener = 0.f; for (j=0 ; jfftlen ; j++) { hs->olapWinAna[j] = (float)sin(EVS_PI*((float)j+0.5f)/(float)(hs->fftlen)); ener += hs->olapWinAna[j]*hs->olapWinAna[j]; } ener = (float)sqrt( ener / (float)hs->fftlen ); for (j=0 ; jfftlen ; j++) { hs->olapWinAna[j] /= ener; } */ const float olapWinAna512[512] = { 0.0043387459591031075000000f, 0.0130160758271813390000000f, 0.0216929148882627490000000f, 0.0303689353168010710000000f, 0.0390438176691532140000000f, 0.0477172248065471650000000f, 0.0563888400793075560000000f, 0.0650583282113075260000000f, 0.0737253651022911070000000f, 0.0823896303772926330000000f, 0.0910507962107658390000000f, 0.0997085273265838620000000f, 0.1083625108003616300000000f, 0.1170124113559722900000000f, 0.1256579011678695700000000f, 0.1342986673116684000000000f, 0.1429343819618225100000000f, 0.1515647023916244500000000f, 0.1601893156766891500000000f, 0.1688079088926315300000000f, 0.1774201542139053300000000f, 0.1860256940126419100000000f, 0.1946242451667785600000000f, 0.2032154798507690400000000f, 0.2117990404367446900000000f, 0.2203746438026428200000000f, 0.2289419323205947900000000f, 0.2375006377696991000000000f, 0.2460503578186035200000000f, 0.2545908391475677500000000f, 0.2631217241287231400000000f, 0.2716427147388458300000000f, 0.2801534831523895300000000f, 0.2886536717414856000000000f, 0.2971430122852325400000000f, 0.3056211769580841100000000f, 0.3140878379344940200000000f, 0.3225426375865936300000000f, 0.3309853076934814500000000f, 0.3394155502319335900000000f, 0.3478329777717590300000000f, 0.3562373220920562700000000f, 0.3646282255649566700000000f, 0.3730054795742034900000000f, 0.3813686370849609400000000f, 0.3897174298763275100000000f, 0.3980515301227569600000000f, 0.4063706994056701700000000f, 0.4146745502948761000000000f, 0.4229627549648284900000000f, 0.4312350451946258500000000f, 0.4394911527633667000000000f, 0.4477306604385376000000000f, 0.4559533298015594500000000f, 0.4641588330268859900000000f, 0.4723468720912933300000000f, 0.4805171191692352300000000f, 0.4886692464351654100000000f, 0.4968029856681823700000000f, 0.5049180388450622600000000f, 0.5130140781402587900000000f, 0.5210908055305481000000000f, 0.5291479229927063000000000f, 0.5371851325035095200000000f, 0.5452020764350891100000000f, 0.5531984567642211900000000f, 0.5611740946769714400000000f, 0.5691285729408264200000000f, 0.5770615935325622600000000f, 0.5849729180335998500000000f, 0.5928622484207153300000000f, 0.6007292270660400400000000f, 0.6085735559463501000000000f, 0.6163949966430664100000000f, 0.6241932511329650900000000f, 0.6319679617881774900000000f, 0.6397189497947692900000000f, 0.6474457979202270500000000f, 0.6551482677459716800000000f, 0.6628261208534240700000000f, 0.6704789996147155800000000f, 0.6781066060066223100000000f, 0.6857087016105651900000000f, 0.6932849884033203100000000f, 0.7008351087570190400000000f, 0.7083588838577270500000000f, 0.7158560752868652300000000f, 0.7233262658119201700000000f, 0.7307691574096679700000000f, 0.7381845116615295400000000f, 0.7455722093582153300000000f, 0.7529317140579223600000000f, 0.7602629661560058600000000f, 0.7675655484199523900000000f, 0.7748392224311828600000000f, 0.7820837497711181600000000f, 0.7892987728118896500000000f, 0.7964841723442077600000000f, 0.8036395311355590800000000f, 0.8107646703720092800000000f, 0.8178592920303344700000000f, 0.8249230980873107900000000f, 0.8319557905197143600000000f, 0.8389572501182556200000000f, 0.8459270596504211400000000f, 0.8528650403022766100000000f, 0.8597708344459533700000000f, 0.8666443228721618700000000f, 0.8734852671623230000000000f, 0.8802932500839233400000000f, 0.8870680332183837900000000f, 0.8938094973564147900000000f, 0.9005173444747924800000000f, 0.9071912169456481900000000f, 0.9138309359550476100000000f, 0.9204362630844116200000000f, 0.9270069003105163600000000f, 0.9335426688194274900000000f, 0.9400433301925659200000000f, 0.9465085864067077600000000f, 0.9529381394386291500000000f, 0.9593318104743957500000000f, 0.9656894207000732400000000f, 0.9720106720924377400000000f, 0.9782953858375549300000000f, 0.9845431447029113800000000f, 0.9907538890838623000000000f, 0.9969274401664733900000000f, 1.0030633211135864000000000f, 1.0091614723205566000000000f, 1.0152215957641602000000000f, 1.0212435722351074000000000f, 1.0272270441055298000000000f, 1.0331718921661377000000000f, 1.0390777587890625000000000f, 1.0449445247650146000000000f, 1.0507719516754150000000000f, 1.0565599203109741000000000f, 1.0623079538345337000000000f, 1.0680160522460937000000000f, 1.0736839771270752000000000f, 1.0793114900588989000000000f, 1.0848982334136963000000000f, 1.0904443264007568000000000f, 1.0959492921829224000000000f, 1.1014128923416138000000000f, 1.1068351268768311000000000f, 1.1122156381607056000000000f, 1.1175543069839478000000000f, 1.1228508949279785000000000f, 1.1281052827835083000000000f, 1.1333171129226685000000000f, 1.1384862661361694000000000f, 1.1436126232147217000000000f, 1.1486958265304565000000000f, 1.1537358760833740000000000f, 1.1587324142456055000000000f, 1.1636853218078613000000000f, 1.1685944795608521000000000f, 1.1734596490859985000000000f, 1.1782805919647217000000000f, 1.1830571889877319000000000f, 1.1877892017364502000000000f, 1.1924765110015869000000000f, 1.1971189975738525000000000f, 1.2017163038253784000000000f, 1.2062685489654541000000000f, 1.2107752561569214000000000f, 1.2152363061904907000000000f, 1.2196516990661621000000000f, 1.2240210771560669000000000f, 1.2283445596694946000000000f, 1.2326216697692871000000000f, 1.2368522882461548000000000f, 1.2410365343093872000000000f, 1.2451739311218262000000000f, 1.2492644786834717000000000f, 1.2533079385757446000000000f, 1.2573043107986450000000000f, 1.2612532377243042000000000f, 1.2651547193527222000000000f, 1.2690086364746094000000000f, 1.2728147506713867000000000f, 1.2765728235244751000000000f, 1.2802829742431641000000000f, 1.2839449644088745000000000f, 1.2875584363937378000000000f, 1.2911235094070435000000000f, 1.2946400642395020000000000f, 1.2981077432632446000000000f, 1.3015266656875610000000000f, 1.3048964738845825000000000f, 1.3082171678543091000000000f, 1.3114887475967407000000000f, 1.3147107362747192000000000f, 1.3178833723068237000000000f, 1.3210064172744751000000000f, 1.3240796327590942000000000f, 1.3271030187606812000000000f, 1.3300764560699463000000000f, 1.3329998254776001000000000f, 1.3358730077743530000000000f, 1.3386958837509155000000000f, 1.3414683341979980000000000f, 1.3441903591156006000000000f, 1.3468616008758545000000000f, 1.3494822978973389000000000f, 1.3520522117614746000000000f, 1.3545711040496826000000000f, 1.3570390939712524000000000f, 1.3594559431076050000000000f, 1.3618216514587402000000000f, 1.3641359806060791000000000f, 1.3663990497589111000000000f, 1.3686106204986572000000000f, 1.3707706928253174000000000f, 1.3728791475296021000000000f, 1.3749359846115112000000000f, 1.3769409656524658000000000f, 1.3788940906524658000000000f, 1.3807953596115112000000000f, 1.3826445341110229000000000f, 1.3844418525695801000000000f, 1.3861869573593140000000000f, 1.3878798484802246000000000f, 1.3895204067230225000000000f, 1.3911087512969971000000000f, 1.3926446437835693000000000f, 1.3941282033920288000000000f, 1.3955593109130859000000000f, 1.3969377279281616000000000f, 1.3982635736465454000000000f, 1.3995368480682373000000000f, 1.4007574319839478000000000f, 1.4019253253936768000000000f, 1.4030404090881348000000000f, 1.4041025638580322000000000f, 1.4051119089126587000000000f, 1.4060683250427246000000000f, 1.4069718122482300000000000f, 1.4078224897384644000000000f, 1.4086199998855591000000000f, 1.4093644618988037000000000f, 1.4100558757781982000000000f, 1.4106942415237427000000000f, 1.4112794399261475000000000f, 1.4118115901947021000000000f, 1.4122905731201172000000000f, 1.4127163887023926000000000f, 1.4130889177322388000000000f, 1.4134082794189453000000000f, 1.4136744737625122000000000f, 1.4138875007629395000000000f, 1.4140472412109375000000000f, 1.4141536951065063000000000f, 1.4142069816589355000000000f, 1.4142069816589355000000000f, 1.4141536951065063000000000f, 1.4140472412109375000000000f, 1.4138875007629395000000000f, 1.4136744737625122000000000f, 1.4134082794189453000000000f, 1.4130889177322388000000000f, 1.4127163887023926000000000f, 1.4122905731201172000000000f, 1.4118115901947021000000000f, 1.4112794399261475000000000f, 1.4106942415237427000000000f, 1.4100558757781982000000000f, 1.4093644618988037000000000f, 1.4086199998855591000000000f, 1.4078224897384644000000000f, 1.4069718122482300000000000f, 1.4060683250427246000000000f, 1.4051119089126587000000000f, 1.4041025638580322000000000f, 1.4030402898788452000000000f, 1.4019252061843872000000000f, 1.4007574319839478000000000f, 1.3995368480682373000000000f, 1.3982635736465454000000000f, 1.3969377279281616000000000f, 1.3955591917037964000000000f, 1.3941282033920288000000000f, 1.3926446437835693000000000f, 1.3911087512969971000000000f, 1.3895204067230225000000000f, 1.3878798484802246000000000f, 1.3861868381500244000000000f, 1.3844418525695801000000000f, 1.3826445341110229000000000f, 1.3807953596115112000000000f, 1.3788940906524658000000000f, 1.3769409656524658000000000f, 1.3749359846115112000000000f, 1.3728791475296021000000000f, 1.3707706928253174000000000f, 1.3686106204986572000000000f, 1.3663990497589111000000000f, 1.3641359806060791000000000f, 1.3618216514587402000000000f, 1.3594559431076050000000000f, 1.3570389747619629000000000f, 1.3545711040496826000000000f, 1.3520520925521851000000000f, 1.3494822978973389000000000f, 1.3468616008758545000000000f, 1.3441903591156006000000000f, 1.3414683341979980000000000f, 1.3386958837509155000000000f, 1.3358730077743530000000000f, 1.3329998254776001000000000f, 1.3300764560699463000000000f, 1.3271030187606812000000000f, 1.3240796327590942000000000f, 1.3210062980651855000000000f, 1.3178833723068237000000000f, 1.3147107362747192000000000f, 1.3114886283874512000000000f, 1.3082171678543091000000000f, 1.3048964738845825000000000f, 1.3015265464782715000000000f, 1.2981077432632446000000000f, 1.2946399450302124000000000f, 1.2911235094070435000000000f, 1.2875584363937378000000000f, 1.2839448451995850000000000f, 1.2802829742431641000000000f, 1.2765728235244751000000000f, 1.2728147506713867000000000f, 1.2690086364746094000000000f, 1.2651547193527222000000000f, 1.2612532377243042000000000f, 1.2573041915893555000000000f, 1.2533078193664551000000000f, 1.2492643594741821000000000f, 1.2451738119125366000000000f, 1.2410364151000977000000000f, 1.2368522882461548000000000f, 1.2326216697692871000000000f, 1.2283444404602051000000000f, 1.2240210771560669000000000f, 1.2196515798568726000000000f, 1.2152363061904907000000000f, 1.2107751369476318000000000f, 1.2062684297561646000000000f, 1.2017163038253784000000000f, 1.1971189975738525000000000f, 1.1924765110015869000000000f, 1.1877892017364502000000000f, 1.1830570697784424000000000f, 1.1782804727554321000000000f, 1.1734595298767090000000000f, 1.1685943603515625000000000f, 1.1636853218078613000000000f, 1.1587324142456055000000000f, 1.1537357568740845000000000f, 1.1486958265304565000000000f, 1.1436125040054321000000000f, 1.1384861469268799000000000f, 1.1333171129226685000000000f, 1.1281051635742187000000000f, 1.1228507757186890000000000f, 1.1175541877746582000000000f, 1.1122155189514160000000000f, 1.1068350076675415000000000f, 1.1014127731323242000000000f, 1.0959491729736328000000000f, 1.0904442071914673000000000f, 1.0848982334136963000000000f, 1.0793113708496094000000000f, 1.0736838579177856000000000f, 1.0680160522460937000000000f, 1.0623078346252441000000000f, 1.0565598011016846000000000f, 1.0507718324661255000000000f, 1.0449445247650146000000000f, 1.0390776395797729000000000f, 1.0331717729568481000000000f, 1.0272269248962402000000000f, 1.0212434530258179000000000f, 1.0152214765548706000000000f, 1.0091613531112671000000000f, 1.0030632019042969000000000f, 0.9969273209571838400000000f, 0.9907538294792175300000000f, 0.9845430850982666000000000f, 0.9782953262329101600000000f, 0.9720106124877929700000000f, 0.9656893610954284700000000f, 0.9593317508697509800000000f, 0.9529380798339843800000000f, 0.9465084671974182100000000f, 0.9400432705879211400000000f, 0.9335426092147827100000000f, 0.9270067811012268100000000f, 0.9204362034797668500000000f, 0.9138308763504028300000000f, 0.9071910977363586400000000f, 0.9005171656608581500000000f, 0.8938094377517700200000000f, 0.8870679140090942400000000f, 0.8802930712699890100000000f, 0.8734850883483886700000000f, 0.8666442632675170900000000f, 0.8597707748413085900000000f, 0.8528649210929870600000000f, 0.8459268808364868200000000f, 0.8389570713043212900000000f, 0.8319557309150695800000000f, 0.8249229192733764600000000f, 0.8178591728210449200000000f, 0.8107645511627197300000000f, 0.8036394119262695300000000f, 0.7964840531349182100000000f, 0.7892987132072448700000000f, 0.7820836901664733900000000f, 0.7748391628265380900000000f, 0.7675654292106628400000000f, 0.7602628469467163100000000f, 0.7529316544532775900000000f, 0.7455720901489257800000000f, 0.7381844520568847700000000f, 0.7307690382003784200000000f, 0.7233260869979858400000000f, 0.7158559560775756800000000f, 0.7083588242530822800000000f, 0.7008350491523742700000000f, 0.6932848691940307600000000f, 0.6857085824012756300000000f, 0.6781064867973327600000000f, 0.6704788804054260300000000f, 0.6628260016441345200000000f, 0.6551482081413269000000000f, 0.6474456787109375000000000f, 0.6397188305854797400000000f, 0.6319679021835327100000000f, 0.6241931319236755400000000f, 0.6163948774337768600000000f, 0.6085734367370605500000000f, 0.6007291078567504900000000f, 0.5928621292114257800000000f, 0.5849727988243103000000000f, 0.5770615339279174800000000f, 0.5691284537315368700000000f, 0.5611739754676818800000000f, 0.5531983971595764200000000f, 0.5452019572257995600000000f, 0.5371850132942199700000000f, 0.5291478037834167500000000f, 0.5210906863212585400000000f, 0.5130139589309692400000000f, 0.5049179196357727100000000f, 0.4968028664588928200000000f, 0.4886691272258758500000000f, 0.4805169999599456800000000f, 0.4723467230796814000000000f, 0.4641586840152740500000000f, 0.4559532105922699000000000f, 0.4477305412292480500000000f, 0.4394910335540771500000000f, 0.4312349855899810800000000f, 0.4229626357555389400000000f, 0.4146744310855865500000000f, 0.4063705503940582300000000f, 0.3980514407157897900000000f, 0.3897172808647155800000000f, 0.3813685178756713900000000f, 0.3730053603649139400000000f, 0.3646281659603118900000000f, 0.3562372326850891100000000f, 0.3478328585624694800000000f, 0.3394154310226440400000000f, 0.3309852182865142800000000f, 0.3225425183773040800000000f, 0.3140876889228820800000000f, 0.3056210577487945600000000f, 0.2971428930759429900000000f, 0.2886535525321960400000000f, 0.2801533639430999800000000f, 0.2716425955295562700000000f, 0.2631216049194335900000000f, 0.2545907199382782000000000f, 0.2460502535104751600000000f, 0.2375005036592483500000000f, 0.2289418131113052400000000f, 0.2203745096921920800000000f, 0.2117989212274551400000000f, 0.2032153606414794900000000f, 0.1946241259574890100000000f, 0.1860255748033523600000000f, 0.1774200350046157800000000f, 0.1688077896833419800000000f, 0.1601892113685607900000000f, 0.1515645831823349000000000f, 0.1429342478513717700000000f, 0.1342985481023788500000000f, 0.1256577819585800200000000f, 0.1170122846961021400000000f, 0.1083623841404914900000000f, 0.0997084006667137150000000f, 0.0910506695508956910000000f, 0.0823895111680030820000000f, 0.0737252458930015560000000f, 0.0650582015514373780000000f, 0.0563887134194374080000000f, 0.0477171018719673160000000f, 0.0390436910092830660000000f, 0.0303688123822212220000000f, 0.0216927900910377500000000f, 0.0130159519612789150000000f, 0.0043386225588619709000000f }; const float olapWinAna640[640] = { 0.0034709984902292490000000f, 0.0104129118844866750000000f, 0.0173545740544795990000000f, 0.0242958199232816700000000f, 0.0312364790588617320000000f, 0.0381763875484466550000000f, 0.0451153740286827090000000f, 0.0520532727241516110000000f, 0.0589899159967899320000000f, 0.0659251436591148380000000f, 0.0728587806224823000000000f, 0.0797906517982482910000000f, 0.0867206156253814700000000f, 0.0936484783887863160000000f, 0.1005740910768508900000000f, 0.1074972823262214700000000f, 0.1144178733229637100000000f, 0.1213357225060463000000000f, 0.1282506436109542800000000f, 0.1351624578237533600000000f, 0.1420710384845733600000000f, 0.1489761769771575900000000f, 0.1558777391910553000000000f, 0.1627755314111709600000000f, 0.1696694195270538300000000f, 0.1765592098236084000000000f, 0.1834447383880615200000000f, 0.1903258562088012700000000f, 0.1972023993730545000000000f, 0.2040741592645645100000000f, 0.2109410166740417500000000f, 0.2178028076887130700000000f, 0.2246593385934829700000000f, 0.2315104454755783100000000f, 0.2383559793233871500000000f, 0.2451957911252975500000000f, 0.2520296573638916000000000f, 0.2588574886322021500000000f, 0.2656790614128112800000000f, 0.2724942266941070600000000f, 0.2793028354644775400000000f, 0.2861047089099884000000000f, 0.2928997278213501000000000f, 0.2996876239776611300000000f, 0.3064683377742767300000000f, 0.3132416605949401900000000f, 0.3200074136257171600000000f, 0.3267655074596405000000000f, 0.3335156738758087200000000f, 0.3402578532695770300000000f, 0.3469918072223663300000000f, 0.3537174165248870800000000f, 0.3604344725608825700000000f, 0.3671428561210632300000000f, 0.3738423883914947500000000f, 0.3805329203605651900000000f, 0.3872142732143402100000000f, 0.3938862979412078900000000f, 0.4005488157272338900000000f, 0.4072017371654510500000000f, 0.4138447940349578900000000f, 0.4204779267311096200000000f, 0.4271008670330047600000000f, 0.4337135851383209200000000f, 0.4403158128261566200000000f, 0.4469074010848999000000000f, 0.4534882903099060100000000f, 0.4600581824779510500000000f, 0.4666170477867126500000000f, 0.4731646478176116900000000f, 0.4797008633613586400000000f, 0.4862254858016967800000000f, 0.4927383959293365500000000f, 0.4992394745349884000000000f, 0.5057284832000732400000000f, 0.5122053027153015100000000f, 0.5186697840690612800000000f, 0.5251218080520629900000000f, 0.5315611362457275400000000f, 0.5379876494407653800000000f, 0.5444012284278869600000000f, 0.5508016943931579600000000f, 0.5571888685226440400000000f, 0.5635626316070556600000000f, 0.5699228048324585000000000f, 0.5762692093849182100000000f, 0.5826017856597900400000000f, 0.5889202952384948700000000f, 0.5952246189117431600000000f, 0.6015146374702453600000000f, 0.6077901124954223600000000f, 0.6140509843826293900000000f, 0.6202970147132873500000000f, 0.6265281438827514600000000f, 0.6327440738677978500000000f, 0.6389448642730712900000000f, 0.6451302766799926800000000f, 0.6513000726699829100000000f, 0.6574541926383972200000000f, 0.6635924577713012700000000f, 0.6697147488594055200000000f, 0.6758209466934204100000000f, 0.6819108128547668500000000f, 0.6879842281341552700000000f, 0.6940411329269409200000000f, 0.7000812292098999000000000f, 0.7061045169830322300000000f, 0.7121107578277587900000000f, 0.7180998921394348100000000f, 0.7240716814994812000000000f, 0.7300260066986084000000000f, 0.7359628081321716300000000f, 0.7418818473815918000000000f, 0.7477830052375793500000000f, 0.7536661028861999500000000f, 0.7595310807228088400000000f, 0.7653777003288269000000000f, 0.7712059617042541500000000f, 0.7770156264305114700000000f, 0.7828065156936645500000000f, 0.7885786294937133800000000f, 0.7943316698074340800000000f, 0.8000655770301818800000000f, 0.8057801723480224600000000f, 0.8114753961563110400000000f, 0.8171511292457580600000000f, 0.8228070735931396500000000f, 0.8284432291984558100000000f, 0.8340594172477722200000000f, 0.8396555185317993200000000f, 0.8452314138412475600000000f, 0.8507869243621826200000000f, 0.8563219308853149400000000f, 0.8618362545967102100000000f, 0.8673298358917236300000000f, 0.8728026151657104500000000f, 0.8782541751861572300000000f, 0.8836847543716430700000000f, 0.8890939354896545400000000f, 0.8944817185401916500000000f, 0.8998479843139648400000000f, 0.9051925539970397900000000f, 0.9105152487754821800000000f, 0.9158160686492919900000000f, 0.9210947751998901400000000f, 0.9263513088226318400000000f, 0.9315855503082275400000000f, 0.9367973208427429200000000f, 0.9419865608215332000000000f, 0.9471529722213745100000000f, 0.9522966742515564000000000f, 0.9574174284934997600000000f, 0.9625151157379150400000000f, 0.9675895571708679200000000f, 0.9726406931877136200000000f, 0.9776684641838073700000000f, 0.9826726913452148400000000f, 0.9876530766487121600000000f, 0.9926097989082336400000000f, 0.9975425601005554200000000f, 1.0024513006210327000000000f, 1.0073359012603760000000000f, 1.0121961832046509000000000f, 1.0170321464538574000000000f, 1.0218435525894165000000000f, 1.0266302824020386000000000f, 1.0313923358917236000000000f, 1.0361295938491821000000000f, 1.0408418178558350000000000f, 1.0455290079116821000000000f, 1.0501909255981445000000000f, 1.0548275709152222000000000f, 1.0594388246536255000000000f, 1.0640245676040649000000000f, 1.0685845613479614000000000f, 1.0731189250946045000000000f, 1.0776274204254150000000000f, 1.0821099281311035000000000f, 1.0865663290023804000000000f, 1.0909965038299561000000000f, 1.0954004526138306000000000f, 1.0997780561447144000000000f, 1.1041290760040283000000000f, 1.1084536314010620000000000f, 1.1127513647079468000000000f, 1.1170222759246826000000000f, 1.1212662458419800000000000f, 1.1254832744598389000000000f, 1.1296732425689697000000000f, 1.1338359117507935000000000f, 1.1379711627960205000000000f, 1.1420791149139404000000000f, 1.1461595296859741000000000f, 1.1502122879028320000000000f, 1.1542373895645142000000000f, 1.1582345962524414000000000f, 1.1622040271759033000000000f, 1.1661453247070312000000000f, 1.1700586080551147000000000f, 1.1739436388015747000000000f, 1.1778002977371216000000000f, 1.1816288232803345000000000f, 1.1854286193847656000000000f, 1.1892000436782837000000000f, 1.1929427385330200000000000f, 1.1966567039489746000000000f, 1.2003418207168579000000000f, 1.2039979696273804000000000f, 1.2076252698898315000000000f, 1.2112232446670532000000000f, 1.2147921323776245000000000f, 1.2183318138122559000000000f, 1.2218420505523682000000000f, 1.2253229618072510000000000f, 1.2287741899490356000000000f, 1.2321958541870117000000000f, 1.2355878353118896000000000f, 1.2389501333236694000000000f, 1.2422825098037720000000000f, 1.2455849647521973000000000f, 1.2488573789596558000000000f, 1.2520997524261475000000000f, 1.2553119659423828000000000f, 1.2584939002990723000000000f, 1.2616454362869263000000000f, 1.2647666931152344000000000f, 1.2678573131561279000000000f, 1.2709175348281860000000000f, 1.2739471197128296000000000f, 1.2769459486007690000000000f, 1.2799140214920044000000000f, 1.2828512191772461000000000f, 1.2857576608657837000000000f, 1.2886329889297485000000000f, 1.2914773225784302000000000f, 1.2942904233932495000000000f, 1.2970724105834961000000000f, 1.2998231649398804000000000f, 1.3025425672531128000000000f, 1.3052306175231934000000000f, 1.3078873157501221000000000f, 1.3105123043060303000000000f, 1.3131058216094971000000000f, 1.3156676292419434000000000f, 1.3181978464126587000000000f, 1.3206962347030640000000000f, 1.3231627941131592000000000f, 1.3255974054336548000000000f, 1.3280001878738403000000000f, 1.3303710222244263000000000f, 1.3327096700668335000000000f, 1.3350162506103516000000000f, 1.3372906446456909000000000f, 1.3395328521728516000000000f, 1.3417427539825439000000000f, 1.3439202308654785000000000f, 1.3460655212402344000000000f, 1.3481782674789429000000000f, 1.3502584695816040000000000f, 1.3523062467575073000000000f, 1.3543214797973633000000000f, 1.3563039302825928000000000f, 1.3582537174224854000000000f, 1.3601709604263306000000000f, 1.3620551824569702000000000f, 1.3639067411422729000000000f, 1.3657253980636597000000000f, 1.3675111532211304000000000f, 1.3692638874053955000000000f, 1.3709838390350342000000000f, 1.3726705312728882000000000f, 1.3743242025375366000000000f, 1.3759448528289795000000000f, 1.3775322437286377000000000f, 1.3790863752365112000000000f, 1.3806074857711792000000000f, 1.3820952177047729000000000f, 1.3835495710372925000000000f, 1.3849706649780273000000000f, 1.3863584995269775000000000f, 1.3877127170562744000000000f, 1.3890335559844971000000000f, 1.3903210163116455000000000f, 1.3915749788284302000000000f, 1.3927953243255615000000000f, 1.3939821720123291000000000f, 1.3951354026794434000000000f, 1.3962548971176147000000000f, 1.3973408937454224000000000f, 1.3983932733535767000000000f, 1.3994117975234985000000000f, 1.4003967046737671000000000f, 1.4013478755950928000000000f, 1.4022653102874756000000000f, 1.4031487703323364000000000f, 1.4039986133575439000000000f, 1.4048146009445190000000000f, 1.4055966138839722000000000f, 1.4063447713851929000000000f, 1.4070591926574707000000000f, 1.4077396392822266000000000f, 1.4083861112594604000000000f, 1.4089987277984619000000000f, 1.4095773696899414000000000f, 1.4101220369338989000000000f, 1.4106327295303345000000000f, 1.4111093282699585000000000f, 1.4115520715713501000000000f, 1.4119608402252197000000000f, 1.4123353958129883000000000f, 1.4126759767532349000000000f, 1.4129825830459595000000000f, 1.4132552146911621000000000f, 1.4134936332702637000000000f, 1.4136980772018433000000000f, 1.4138684272766113000000000f, 1.4140048027038574000000000f, 1.4141069650650024000000000f, 1.4141751527786255000000000f, 1.4142091274261475000000000f, 1.4142091274261475000000000f, 1.4141751527786255000000000f, 1.4141069650650024000000000f, 1.4140048027038574000000000f, 1.4138684272766113000000000f, 1.4136980772018433000000000f, 1.4134936332702637000000000f, 1.4132550954818726000000000f, 1.4129825830459595000000000f, 1.4126759767532349000000000f, 1.4123353958129883000000000f, 1.4119607210159302000000000f, 1.4115520715713501000000000f, 1.4111093282699585000000000f, 1.4106327295303345000000000f, 1.4101220369338989000000000f, 1.4095773696899414000000000f, 1.4089987277984619000000000f, 1.4083861112594604000000000f, 1.4077396392822266000000000f, 1.4070591926574707000000000f, 1.4063447713851929000000000f, 1.4055966138839722000000000f, 1.4048146009445190000000000f, 1.4039986133575439000000000f, 1.4031487703323364000000000f, 1.4022653102874756000000000f, 1.4013477563858032000000000f, 1.4003967046737671000000000f, 1.3994117975234985000000000f, 1.3983932733535767000000000f, 1.3973408937454224000000000f, 1.3962548971176147000000000f, 1.3951354026794434000000000f, 1.3939821720123291000000000f, 1.3927953243255615000000000f, 1.3915748596191406000000000f, 1.3903210163116455000000000f, 1.3890335559844971000000000f, 1.3877127170562744000000000f, 1.3863583803176880000000000f, 1.3849706649780273000000000f, 1.3835495710372925000000000f, 1.3820950984954834000000000f, 1.3806074857711792000000000f, 1.3790863752365112000000000f, 1.3775322437286377000000000f, 1.3759448528289795000000000f, 1.3743242025375366000000000f, 1.3726705312728882000000000f, 1.3709837198257446000000000f, 1.3692638874053955000000000f, 1.3675111532211304000000000f, 1.3657253980636597000000000f, 1.3639067411422729000000000f, 1.3620551824569702000000000f, 1.3601708412170410000000000f, 1.3582537174224854000000000f, 1.3563039302825928000000000f, 1.3543213605880737000000000f, 1.3523062467575073000000000f, 1.3502584695816040000000000f, 1.3481782674789429000000000f, 1.3460655212402344000000000f, 1.3439202308654785000000000f, 1.3417427539825439000000000f, 1.3395328521728516000000000f, 1.3372905254364014000000000f, 1.3350161314010620000000000f, 1.3327096700668335000000000f, 1.3303709030151367000000000f, 1.3280001878738403000000000f, 1.3255974054336548000000000f, 1.3231626749038696000000000f, 1.3206962347030640000000000f, 1.3181978464126587000000000f, 1.3156676292419434000000000f, 1.3131058216094971000000000f, 1.3105123043060303000000000f, 1.3078871965408325000000000f, 1.3052306175231934000000000f, 1.3025425672531128000000000f, 1.2998231649398804000000000f, 1.2970724105834961000000000f, 1.2942904233932495000000000f, 1.2914772033691406000000000f, 1.2886328697204590000000000f, 1.2857575416564941000000000f, 1.2828512191772461000000000f, 1.2799140214920044000000000f, 1.2769459486007690000000000f, 1.2739471197128296000000000f, 1.2709175348281860000000000f, 1.2678573131561279000000000f, 1.2647665739059448000000000f, 1.2616454362869263000000000f, 1.2584937810897827000000000f, 1.2553118467330933000000000f, 1.2520996332168579000000000f, 1.2488572597503662000000000f, 1.2455849647521973000000000f, 1.2422825098037720000000000f, 1.2389501333236694000000000f, 1.2355878353118896000000000f, 1.2321958541870117000000000f, 1.2287741899490356000000000f, 1.2253228425979614000000000f, 1.2218420505523682000000000f, 1.2183316946029663000000000f, 1.2147921323776245000000000f, 1.2112232446670532000000000f, 1.2076251506805420000000000f, 1.2039978504180908000000000f, 1.2003417015075684000000000f, 1.1966565847396851000000000f, 1.1929427385330200000000000f, 1.1891999244689941000000000f, 1.1854286193847656000000000f, 1.1816287040710449000000000f, 1.1778002977371216000000000f, 1.1739435195922852000000000f, 1.1700584888458252000000000f, 1.1661452054977417000000000f, 1.1622039079666138000000000f, 1.1582344770431519000000000f, 1.1542372703552246000000000f, 1.1502121686935425000000000f, 1.1461594104766846000000000f, 1.1420789957046509000000000f, 1.1379710435867310000000000f, 1.1338357925415039000000000f, 1.1296731233596802000000000f, 1.1254831552505493000000000f, 1.1212662458419800000000000f, 1.1170221567153931000000000f, 1.1127512454986572000000000f, 1.1084535121917725000000000f, 1.1041289567947388000000000f, 1.0997780561447144000000000f, 1.0954004526138306000000000f, 1.0909965038299561000000000f, 1.0865662097930908000000000f, 1.0821098089218140000000000f, 1.0776273012161255000000000f, 1.0731188058853149000000000f, 1.0685844421386719000000000f, 1.0640244483947754000000000f, 1.0594387054443359000000000f, 1.0548274517059326000000000f, 1.0501908063888550000000000f, 1.0455288887023926000000000f, 1.0408416986465454000000000f, 1.0361294746398926000000000f, 1.0313922166824341000000000f, 1.0266302824020386000000000f, 1.0218434333801270000000000f, 1.0170320272445679000000000f, 1.0121960639953613000000000f, 1.0073357820510864000000000f, 1.0024513006210327000000000f, 0.9975425004959106400000000f, 0.9926097393035888700000000f, 0.9876530170440673800000000f, 0.9826725125312805200000000f, 0.9776684045791626000000000f, 0.9726406335830688500000000f, 0.9675894975662231400000000f, 0.9625149965286254900000000f, 0.9574173688888549800000000f, 0.9522966146469116200000000f, 0.9471529126167297400000000f, 0.9419864416122436500000000f, 0.9367972612380981400000000f, 0.9315854907035827600000000f, 0.9263512492179870600000000f, 0.9210947155952453600000000f, 0.9158159494400024400000000f, 0.9105151891708374000000000f, 0.9051924347877502400000000f, 0.8998478651046752900000000f, 0.8944816589355468800000000f, 0.8890938758850097700000000f, 0.8836846351623535200000000f, 0.8782541155815124500000000f, 0.8728024363517761200000000f, 0.8673297166824340800000000f, 0.8618361353874206500000000f, 0.8563218116760253900000000f, 0.8507867455482482900000000f, 0.8452312946319580100000000f, 0.8396554589271545400000000f, 0.8340593576431274400000000f, 0.8284431099891662600000000f, 0.8228070139884948700000000f, 0.8171509504318237300000000f, 0.8114752769470214800000000f, 0.8057801127433776900000000f, 0.8000654578208923300000000f, 0.7943315505981445300000000f, 0.7885785102844238300000000f, 0.7828064560890197800000000f, 0.7770155668258667000000000f, 0.7712058424949646000000000f, 0.7653776407241821300000000f, 0.7595309019088745100000000f, 0.7536660432815551800000000f, 0.7477828264236450200000000f, 0.7418816685676574700000000f, 0.7359626293182373000000000f, 0.7300259470939636200000000f, 0.7240716218948364300000000f, 0.7180998325347900400000000f, 0.7121106386184692400000000f, 0.7061043977737426800000000f, 0.7000811696052551300000000f, 0.6940410137176513700000000f, 0.6879841089248657200000000f, 0.6819106936454772900000000f, 0.6758208274841308600000000f, 0.6697146296501159700000000f, 0.6635923385620117200000000f, 0.6574540734291076700000000f, 0.6512999534606933600000000f, 0.6451301574707031300000000f, 0.6389448046684265100000000f, 0.6327440142631530800000000f, 0.6265279650688171400000000f, 0.6202968955039978000000000f, 0.6140508651733398400000000f, 0.6077899932861328100000000f, 0.6015145182609558100000000f, 0.5952244997024536100000000f, 0.5889201760292053200000000f, 0.5826016664505004900000000f, 0.5762690901756286600000000f, 0.5699226856231689500000000f, 0.5635625123977661100000000f, 0.5571887493133544900000000f, 0.5508015751838684100000000f, 0.5444011092185974100000000f, 0.5379875302314758300000000f, 0.5315610170364379900000000f, 0.5251216888427734400000000f, 0.5186696648597717300000000f, 0.5122051835060119600000000f, 0.5057283639907836900000000f, 0.4992393255233764600000000f, 0.4927382767200470000000000f, 0.4862253665924072300000000f, 0.4797007441520690900000000f, 0.4731644988059997600000000f, 0.4666169285774231000000000f, 0.4600581228733062700000000f, 0.4534881711006164600000000f, 0.4469073116779327400000000f, 0.4403156936168670700000000f, 0.4337134659290313700000000f, 0.4271008074283599900000000f, 0.4204778075218200700000000f, 0.4138446748256683300000000f, 0.4072016179561615000000000f, 0.4005487561225891100000000f, 0.3938861787319183300000000f, 0.3872141540050506600000000f, 0.3805327713489532500000000f, 0.3738422691822052000000000f, 0.3671427369117736800000000f, 0.3604343533515930200000000f, 0.3537172675132751500000000f, 0.3469916582107543900000000f, 0.3402577340602874800000000f, 0.3335155844688415500000000f, 0.3267653882503509500000000f, 0.3200073242187500000000000f, 0.3132415413856506300000000f, 0.3064682185649871800000000f, 0.2996875047683715800000000f, 0.2928995788097381600000000f, 0.2861045897006988500000000f, 0.2793027162551879900000000f, 0.2724941074848175000000000f, 0.2656789422035217300000000f, 0.2588573694229126000000000f, 0.2520295381546020500000000f, 0.2451956570148468000000000f, 0.2383558601140976000000000f, 0.2315103262662887600000000f, 0.2246592044830322300000000f, 0.2178026735782623300000000f, 0.2109408974647522000000000f, 0.2040740400552749600000000f, 0.1972022652626037600000000f, 0.1903257369995117200000000f, 0.1834446042776107800000000f, 0.1765590757131576500000000f, 0.1696692854166030900000000f, 0.1627754122018814100000000f, 0.1558776050806045500000000f, 0.1489760577678680400000000f, 0.1420709043741226200000000f, 0.1351623386144638100000000f, 0.1282505095005035400000000f, 0.1213355958461761500000000f, 0.1144177615642547600000000f, 0.1074971556663513200000000f, 0.1005739644169807400000000f, 0.0936483591794967650000000f, 0.0867204889655113220000000f, 0.0797905325889587400000000f, 0.0728586539626121520000000f, 0.0659250169992446900000000f, 0.0589897930622100830000000f, 0.0520531460642814640000000f, 0.0451152473688125610000000f, 0.0381762608885765080000000f, 0.0312363542616367340000000f, 0.0242956969887018200000000f, 0.0173544511198997500000000f, 0.0104127889499068260000000f, 0.0034708750899881124000000f }; /* Synthesis windows for overlap-add */ /* for (j=0 ; jfftlen ; j++) hs->olapWinSyn[j] = (float)sin(EVS_PI*((float)j+0.5f)/(float)(hs->fftlen); */ const float olapWinSyn256[256] = { 0.0061358846f, 0.0184067299f, 0.0306748032f, 0.0429382569f, 0.0551952443f, 0.0674439196f, 0.0796824380f, 0.0919089565f, 0.1041216339f, 0.1163186309f, 0.1284981108f, 0.1406582393f, 0.1527971853f, 0.1649131205f, 0.1770042204f, 0.1890686641f, 0.2011046348f, 0.2131103199f, 0.2250839114f, 0.2370236060f, 0.2489276057f, 0.2607941179f, 0.2726213554f, 0.2844075372f, 0.2961508882f, 0.3078496400f, 0.3195020308f, 0.3311063058f, 0.3426607173f, 0.3541635254f, 0.3656129978f, 0.3770074102f, 0.3883450467f, 0.3996241998f, 0.4108431711f, 0.4220002708f, 0.4330938189f, 0.4441221446f, 0.4550835871f, 0.4659764958f, 0.4767992301f, 0.4875501601f, 0.4982276670f, 0.5088301425f, 0.5193559902f, 0.5298036247f, 0.5401714727f, 0.5504579729f, 0.5606615762f, 0.5707807459f, 0.5808139581f, 0.5907597019f, 0.6006164794f, 0.6103828063f, 0.6200572118f, 0.6296382389f, 0.6391244449f, 0.6485144010f, 0.6578066933f, 0.6669999223f, 0.6760927036f, 0.6850836678f, 0.6939714609f, 0.7027547445f, 0.7114321957f, 0.7200025080f, 0.7284643904f, 0.7368165689f, 0.7450577854f, 0.7531867990f, 0.7612023855f, 0.7691033376f, 0.7768884657f, 0.7845565972f, 0.7921065773f, 0.7995372691f, 0.8068475535f, 0.8140363297f, 0.8211025150f, 0.8280450453f, 0.8348628750f, 0.8415549774f, 0.8481203448f, 0.8545579884f, 0.8608669386f, 0.8670462455f, 0.8730949784f, 0.8790122264f, 0.8847970984f, 0.8904487232f, 0.8959662498f, 0.9013488470f, 0.9065957045f, 0.9117060320f, 0.9166790599f, 0.9215140393f, 0.9262102421f, 0.9307669611f, 0.9351835099f, 0.9394592236f, 0.9435934582f, 0.9475855910f, 0.9514350210f, 0.9551411683f, 0.9587034749f, 0.9621214043f, 0.9653944417f, 0.9685220943f, 0.9715038910f, 0.9743393828f, 0.9770281427f, 0.9795697657f, 0.9819638691f, 0.9842100924f, 0.9863080972f, 0.9882575677f, 0.9900582103f, 0.9917097537f, 0.9932119492f, 0.9945645707f, 0.9957674145f, 0.9968202993f, 0.9977230666f, 0.9984755806f, 0.9990777278f, 0.9995294175f, 0.9998305818f, 0.9999811753f, 0.9999811753f, 0.9998305818f, 0.9995294175f, 0.9990777278f, 0.9984755806f, 0.9977230666f, 0.9968202993f, 0.9957674145f, 0.9945645707f, 0.9932119492f, 0.9917097537f, 0.9900582103f, 0.9882575677f, 0.9863080972f, 0.9842100924f, 0.9819638691f, 0.9795697657f, 0.9770281427f, 0.9743393828f, 0.9715038910f, 0.9685220943f, 0.9653944417f, 0.9621214043f, 0.9587034749f, 0.9551411683f, 0.9514350210f, 0.9475855910f, 0.9435934582f, 0.9394592236f, 0.9351835099f, 0.9307669611f, 0.9262102421f, 0.9215140393f, 0.9166790599f, 0.9117060320f, 0.9065957045f, 0.9013488470f, 0.8959662498f, 0.8904487232f, 0.8847970984f, 0.8790122264f, 0.8730949784f, 0.8670462455f, 0.8608669386f, 0.8545579884f, 0.8481203448f, 0.8415549774f, 0.8348628750f, 0.8280450453f, 0.8211025150f, 0.8140363297f, 0.8068475535f, 0.7995372691f, 0.7921065773f, 0.7845565972f, 0.7768884657f, 0.7691033376f, 0.7612023855f, 0.7531867990f, 0.7450577854f, 0.7368165689f, 0.7284643904f, 0.7200025080f, 0.7114321957f, 0.7027547445f, 0.6939714609f, 0.6850836678f, 0.6760927036f, 0.6669999223f, 0.6578066933f, 0.6485144010f, 0.6391244449f, 0.6296382389f, 0.6200572118f, 0.6103828063f, 0.6006164794f, 0.5907597019f, 0.5808139581f, 0.5707807459f, 0.5606615762f, 0.5504579729f, 0.5401714727f, 0.5298036247f, 0.5193559902f, 0.5088301425f, 0.4982276670f, 0.4875501601f, 0.4767992301f, 0.4659764958f, 0.4550835871f, 0.4441221446f, 0.4330938189f, 0.4220002708f, 0.4108431711f, 0.3996241998f, 0.3883450467f, 0.3770074102f, 0.3656129978f, 0.3541635254f, 0.3426607173f, 0.3311063058f, 0.3195020308f, 0.3078496400f, 0.2961508882f, 0.2844075372f, 0.2726213554f, 0.2607941179f, 0.2489276057f, 0.2370236060f, 0.2250839114f, 0.2131103199f, 0.2011046348f, 0.1890686641f, 0.1770042204f, 0.1649131205f, 0.1527971853f, 0.1406582393f, 0.1284981108f, 0.1163186309f, 0.1041216339f, 0.0919089565f, 0.0796824380f, 0.0674439196f, 0.0551952443f, 0.0429382569f, 0.0306748032f, 0.0184067299f, 0.0061358846f }; const float olapWinSyn320[320] = { 0.0049087191000580788000000f, 0.0147256832569837570000000f, 0.0245412290096282960000000f, 0.0343544110655784610000000f, 0.0441642776131629940000000f, 0.0539698898792266850000000f, 0.0637703016400337220000000f, 0.0735645666718482970000000f, 0.0833517387509346010000000f, 0.0931308791041374210000000f, 0.1029010415077209500000000f, 0.1126612871885299700000000f, 0.1224106773734092700000000f, 0.1321482658386230500000000f, 0.1418731212615966800000000f, 0.1515842974185943600000000f, 0.1612808704376220700000000f, 0.1709618866443634000000000f, 0.1806264370679855300000000f, 0.1902735829353332500000000f, 0.1999023705720901500000000f, 0.2095119059085845900000000f, 0.2191012501716613800000000f, 0.2286694645881652800000000f, 0.2382156550884246800000000f, 0.2477388679981231700000000f, 0.2572382092475891100000000f, 0.2667127549648284900000000f, 0.2761616110801696800000000f, 0.2855838239192962600000000f, 0.2949785292148590100000000f, 0.3043448030948638900000000f, 0.3136817514896392800000000f, 0.3229884505271911600000000f, 0.3322640359401702900000000f, 0.3415075838565826400000000f, 0.3507182002067565900000000f, 0.3598950505256652800000000f, 0.3690371811389923100000000f, 0.3781437575817108200000000f, 0.3872138857841491700000000f, 0.3962467014789581300000000f, 0.4052413105964660600000000f, 0.4141968786716461200000000f, 0.4231125116348266600000000f, 0.4319873750209808300000000f, 0.4408206045627594000000000f, 0.4496113359928131100000000f, 0.4583587348461151100000000f, 0.4670619666576385500000000f, 0.4757201671600341800000000f, 0.4843325316905975300000000f, 0.4928981959819793700000000f, 0.5014163851737976100000000f, 0.5098862051963806200000000f, 0.5183069109916687000000000f, 0.5266776680946350100000000f, 0.5349976420402526900000000f, 0.5432660579681396500000000f, 0.5514820814132690400000000f, 0.5596449971199035600000000f, 0.5677539706230163600000000f, 0.5758082270622253400000000f, 0.5838069319725036600000000f, 0.5917494297027587900000000f, 0.5996348857879638700000000f, 0.6074625253677368200000000f, 0.6152316331863403300000000f, 0.6229414343833923300000000f, 0.6305911540985107400000000f, 0.6381801366806030300000000f, 0.6457076072692871100000000f, 0.6531728506088256800000000f, 0.6605751514434814500000000f, 0.6679137349128723100000000f, 0.6751880049705505400000000f, 0.6823971867561340300000000f, 0.6895405650138855000000000f, 0.6966174840927124000000000f, 0.7036272883415222200000000f, 0.7105692625045776400000000f, 0.7174427509307861300000000f, 0.7242470979690551800000000f, 0.7309816479682922400000000f, 0.7376457452774047900000000f, 0.7442387342453002900000000f, 0.7507599592208862300000000f, 0.7572088837623596200000000f, 0.7635847926139831500000000f, 0.7698870897293090800000000f, 0.7761152386665344200000000f, 0.7822685241699218800000000f, 0.7883464694023132300000000f, 0.7943483591079711900000000f, 0.8002737760543823200000000f, 0.8061220049858093300000000f, 0.8118925094604492200000000f, 0.8175848126411438000000000f, 0.8231983184814453100000000f, 0.8287324905395507800000000f, 0.8341867327690124500000000f, 0.8395606279373168900000000f, 0.8448535799980163600000000f, 0.8500651121139526400000000f, 0.8551946878433227500000000f, 0.8602418899536132800000000f, 0.8652061223983764600000000f, 0.8700870275497436500000000f, 0.8748840093612670900000000f, 0.8795967102050781300000000f, 0.8842245936393737800000000f, 0.8887673020362854000000000f, 0.8932242989540100100000000f, 0.8975952267646789600000000f, 0.9018796682357788100000000f, 0.9060771465301513700000000f, 0.9101873040199279800000000f, 0.9142097830772399900000000f, 0.9181441068649292000000000f, 0.9219899177551269500000000f, 0.9257469177246093800000000f, 0.9294146299362182600000000f, 0.9329928159713745100000000f, 0.9364810585975647000000000f, 0.9398790597915649400000000f, 0.9431864023208618200000000f, 0.9464029073715210000000000f, 0.9495282173156738300000000f, 0.9525619745254516600000000f, 0.9555038809776306200000000f, 0.9583537578582763700000000f, 0.9611112475395202600000000f, 0.9637760519981384300000000f, 0.9663480520248413100000000f, 0.9688268303871154800000000f, 0.9712122678756713900000000f, 0.9735041260719299300000000f, 0.9757021665573120100000000f, 0.9778060913085937500000000f, 0.9798158407211303700000000f, 0.9817311167716980000000000f, 0.9835518002510070800000000f, 0.9852776527404785200000000f, 0.9869085550308227500000000f, 0.9884443283081054700000000f, 0.9898848533630371100000000f, 0.9912299513816833500000000f, 0.9924795627593994100000000f, 0.9936334490776062000000000f, 0.9946916103363037100000000f, 0.9956538677215576200000000f, 0.9965202212333679200000000f, 0.9972904324531555200000000f, 0.9979646205902099600000000f, 0.9985425472259521500000000f, 0.9990242719650268600000000f, 0.9994097352027893100000000f, 0.9996988177299499500000000f, 0.9998915791511535600000000f, 0.9999879598617553700000000f, 0.9999879598617553700000000f, 0.9998915791511535600000000f, 0.9996988177299499500000000f, 0.9994097352027893100000000f, 0.9990242719650268600000000f, 0.9985425472259521500000000f, 0.9979646205902099600000000f, 0.9972904324531555200000000f, 0.9965201616287231400000000f, 0.9956538677215576200000000f, 0.9946916103363037100000000f, 0.9936334490776062000000000f, 0.9924795031547546400000000f, 0.9912299513816833500000000f, 0.9898848533630371100000000f, 0.9884443283081054700000000f, 0.9869085550308227500000000f, 0.9852776527404785200000000f, 0.9835517406463623000000000f, 0.9817311167716980000000000f, 0.9798157811164856000000000f, 0.9778060913085937500000000f, 0.9757021069526672400000000f, 0.9735041260719299300000000f, 0.9712122678756713900000000f, 0.9688268303871154800000000f, 0.9663479924201965300000000f, 0.9637760519981384300000000f, 0.9611111879348754900000000f, 0.9583536982536315900000000f, 0.9555038809776306200000000f, 0.9525619149208068800000000f, 0.9495281577110290500000000f, 0.9464029073715210000000000f, 0.9431864023208618200000000f, 0.9398790001869201700000000f, 0.9364809989929199200000000f, 0.9329927563667297400000000f, 0.9294146299362182600000000f, 0.9257468581199646000000000f, 0.9219899177551269500000000f, 0.9181440472602844200000000f, 0.9142097234725952100000000f, 0.9101873040199279800000000f, 0.9060771465301513700000000f, 0.9018796086311340300000000f, 0.8975952267646789600000000f, 0.8932242989540100100000000f, 0.8887672424316406300000000f, 0.8842245936393737800000000f, 0.8795966506004333500000000f, 0.8748839497566223100000000f, 0.8700869679450988800000000f, 0.8652060627937316900000000f, 0.8602418303489685100000000f, 0.8551946878433227500000000f, 0.8500650525093078600000000f, 0.8448535203933715800000000f, 0.8395605683326721200000000f, 0.8341866731643676800000000f, 0.8287324309349060100000000f, 0.8231982588768005400000000f, 0.8175847530364990200000000f, 0.8118925094604492200000000f, 0.8061219453811645500000000f, 0.8002737164497375500000000f, 0.7943482995033264200000000f, 0.7883464097976684600000000f, 0.7822684645652771000000000f, 0.7761151790618896500000000f, 0.7698870301246643100000000f, 0.7635847330093383800000000f, 0.7572088241577148400000000f, 0.7507598996162414600000000f, 0.7442386746406555200000000f, 0.7376456856727600100000000f, 0.7309815883636474600000000f, 0.7242470383644104000000000f, 0.7174426913261413600000000f, 0.7105692028999328600000000f, 0.7036272287368774400000000f, 0.6966174244880676300000000f, 0.6895405054092407200000000f, 0.6823971271514892600000000f, 0.6751879453659057600000000f, 0.6679136753082275400000000f, 0.6605750918388366700000000f, 0.6531727910041809100000000f, 0.6457075476646423300000000f, 0.6381800770759582500000000f, 0.6305910944938659700000000f, 0.6229413151741027800000000f, 0.6152315139770507800000000f, 0.6074624657630920400000000f, 0.5996347665786743200000000f, 0.5917493700981140100000000f, 0.5838068723678588900000000f, 0.5758081078529357900000000f, 0.5677539110183715800000000f, 0.5596449375152587900000000f, 0.5514820218086242700000000f, 0.5432659983634948700000000f, 0.5349975824356079100000000f, 0.5266776084899902300000000f, 0.5183068513870239300000000f, 0.5098861455917358400000000f, 0.5014163255691528300000000f, 0.4928981363773345900000000f, 0.4843324422836303700000000f, 0.4757201075553894000000000f, 0.4670618772506713900000000f, 0.4583586752414703400000000f, 0.4496112763881683300000000f, 0.4408205151557922400000000f, 0.4319873154163360600000000f, 0.4231124520301818800000000f, 0.4141968190670013400000000f, 0.4052412509918212900000000f, 0.3962466120719909700000000f, 0.3872138261795043900000000f, 0.3781436979770660400000000f, 0.3690371215343475300000000f, 0.3598949611186981200000000f, 0.3507181406021118200000000f, 0.3415074944496154800000000f, 0.3322639465332031300000000f, 0.3229883611202240000000000f, 0.3136816620826721200000000f, 0.3043447136878967300000000f, 0.2949784696102142300000000f, 0.2855837643146514900000000f, 0.2761615216732025100000000f, 0.2667126953601837200000000f, 0.2572381198406219500000000f, 0.2477387785911560100000000f, 0.2382155656814575200000000f, 0.2286693751811981200000000f, 0.2191011607646942100000000f, 0.2095118165016174300000000f, 0.1999022960662841800000000f, 0.1902734935283660900000000f, 0.1806263476610183700000000f, 0.1709618121385574300000000f, 0.1612807810306549100000000f, 0.1515842080116272000000000f, 0.1418730318546295200000000f, 0.1321481764316558800000000f, 0.1224105954170227100000000f, 0.1126612052321434000000000f, 0.1029009595513343800000000f, 0.0931307896971702580000000f, 0.0833516493439674380000000f, 0.0735644772648811340000000f, 0.0637702122330665590000000f, 0.0539698041975498200000000f, 0.0441641919314861300000000f, 0.0343543216586112980000000f, 0.0245411414653062820000000f, 0.0147255966439843180000000f, 0.0049086315557360649000000f }; /*-------------------------------------------------------------------* * AMR-WB ISF codebook - common 1st stage for 46bit and 36bit codebooks, * 2 splits * * codebook vector dimension number of vectors * ~~~~~~~~ ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~ * 1_1 9 256 * 1_2 7 256 *-------------------------------------------------------------------*/ /*-------------------------------------------------------------------* * 1nd stage, 1st split: ISF0 to ISF8 *-------------------------------------------------------------------*/ const float dico1_isf[] = { 226.1477f, 422.2338f, 404.4563f, 152.3442f, 1.2553f, -102.5648f, -77.5073f, -32.1403f, 14.9134f, 6.9890f, -26.5711f, -4.8001f, 122.2654f, 297.4533f, 158.0168f, 97.1963f, 43.4786f, -29.4927f, 289.1461f, 493.4574f, 504.5048f, 393.1421f, 389.3840f, 397.8990f, 397.4072f, 381.0959f, 360.5083f, -35.6482f, 323.0566f, 370.2882f, 252.9499f, 239.6172f, 209.0563f, 203.9713f, 191.4865f, 164.6219f, 16.1026f, -17.1264f, -109.6817f, -184.2085f, 254.5133f, 208.7087f, 75.3774f, 52.8718f, -35.2364f, 15.8336f, -47.0775f, -139.1713f, -23.5561f, 259.0049f, 120.0214f, 23.8825f, -18.5948f, -134.3813f, 217.4017f, 369.5988f, 409.6801f, 338.5433f, 330.4056f, 386.7012f, 434.5276f, 492.7760f, 484.6164f, -46.1429f, -79.6218f, 128.1106f, 199.9543f, 339.7710f, 309.8338f, 238.4430f, 156.8895f, 72.7742f, 61.1308f, 114.6106f, 28.7939f, -131.9070f, -185.5015f, -350.3943f, -232.0556f, -62.9803f, -194.0513f, 88.2757f, 51.2294f, -53.9555f, 120.0698f, 65.9863f, -105.8813f, -64.0929f, -151.0651f, -243.7652f, 24.1201f, -12.6302f, -23.7808f, -98.2577f, -211.1396f, -323.5447f, -401.0499f, -204.4768f, -258.4671f, 39.7202f, -23.9607f, 55.2442f, 43.6804f, -105.4100f, -97.8749f, -211.3002f, 9.7097f, -58.7138f, 2.1766f, -51.7480f, -138.9340f, -268.1601f, -37.5098f, -125.8675f, -203.7929f, -12.2603f, -127.2472f, -14.0622f, -81.7822f, -203.4806f, -89.5766f, 119.8931f, -51.7010f, -2.1055f, -38.5536f, -149.8808f, 23.6196f, -19.7370f, -92.7527f, -260.9933f, -380.1402f, -158.8319f, -276.5396f, -29.3644f, -67.0346f, 10.0869f, -54.0238f, -104.0772f, 43.4993f, -118.0066f, 16.7674f, -108.4172f, -138.9907f, -140.3299f, 222.5364f, 321.1411f, 193.8368f, -60.0340f, -121.7460f, -35.9078f, 53.6514f, 109.0639f, 145.0366f, -57.1173f, 143.6362f, 159.6491f, 26.6189f, 2.3305f, 30.0608f, 65.3329f, 78.8683f, 63.4622f, 247.1436f, 350.7171f, 389.0685f, 295.2953f, 258.6614f, 266.7955f, 305.9202f, 355.1905f, 389.1698f, -40.0882f, 114.6876f, 237.0104f, 161.9769f, 188.5636f, 180.3751f, 187.4189f, 168.3521f, 159.5175f, -46.7654f, -132.1011f, -238.9261f, -204.8685f, 228.1911f, 129.1599f, 36.0960f, 169.1651f, 107.7902f, -69.5087f, -114.5055f, -60.0494f, -15.9078f, 105.1520f, 39.1060f, -3.6140f, 83.1345f, 62.4498f, 324.4036f, 287.6214f, 108.7328f, 320.4871f, 489.7306f, 267.9902f, 278.2168f, 405.7287f, 184.7344f, -85.2571f, -118.8197f, 180.9905f, 177.4239f, 154.8864f, 106.5995f, 78.7528f, 111.5907f, 106.4840f, -90.5891f, 2.5823f, 2.5231f, -151.4854f, -184.4761f, -166.9757f, -147.6148f, -65.2055f, -39.1239f, -114.9974f, -71.3698f, 52.3087f, -18.1814f, 39.4264f, -34.2483f, -32.8691f, -45.8165f, -1.2029f, 22.1063f, 6.7469f, -79.0146f, -247.7831f, -386.2835f, -437.2287f, -208.2931f, 68.6375f, -14.1447f, 46.7840f, -11.0692f, 9.1612f, 43.4278f, -124.5574f, 124.1172f, -8.5368f, -30.1898f, 103.7909f, -105.9007f, -181.3862f, -169.7189f, -257.0920f, -250.0032f, -150.2815f, -150.4918f, -38.5650f, -26.7658f, -77.3138f, -101.1008f, -103.9903f, -17.1337f, -15.2577f, -54.2134f, -53.5373f, 66.9219f, 25.6872f, 3.6265f, -56.7222f, -147.2143f, -330.5455f, -390.5518f, -43.3139f, -126.9112f, 133.5488f, 52.7399f, -31.5816f, -111.6706f, -148.4743f, 75.1588f, -22.0969f, 119.9764f, 29.6891f, -9.5309f, -54.7378f, 264.5383f, 274.1302f, 96.5690f, 21.7008f, 97.2691f, 55.1255f, -40.9705f, -92.2272f, -38.6482f, 13.8969f, -15.1538f, -27.1357f, 135.8413f, 77.4989f, -36.1739f, 125.8114f, 35.5744f, -28.2436f, 196.2991f, 345.8166f, 588.9347f, 510.5197f, 500.8432f, 457.6244f, 436.9384f, 472.1788f, 414.4815f, 162.4519f, 280.7038f, 386.4482f, 479.3623f, 390.8287f, 411.1292f, 372.5701f, 289.3485f, 407.8594f, -49.5343f, -147.0080f, -256.8338f, 54.1618f, 243.5530f, 87.1110f, 195.7264f, 119.5070f, 85.9479f, -43.9641f, -150.1866f, -310.9041f, 196.7455f, 171.2780f, 33.0834f, 83.3645f, -32.4579f, -75.7126f, 228.4330f, 442.3277f, 481.6548f, 426.3000f, 487.1132f, 559.8019f, 590.4699f, 565.5949f, 513.3911f, -68.0544f, -164.7799f, 2.8141f, 451.2739f, 425.3554f, 461.7245f, 391.6532f, 369.1004f, 314.9413f, 3.2743f, -49.3561f, -123.9568f, -40.1754f, -137.2377f, -271.6588f, -38.4305f, -104.5226f, -209.8071f, 12.8092f, -40.2922f, -113.2953f, 65.4057f, -15.2443f, -159.0118f, 17.0998f, -81.3044f, -146.3446f, 40.4305f, -8.9102f, -24.9719f, -113.7701f, -248.7160f, -332.5068f, -423.4328f, -23.8073f, -43.9266f, -29.4866f, -119.6504f, -169.5775f, 85.2585f, -57.7724f, -138.3062f, -265.4940f, -52.0935f, -84.4635f, -47.3285f, -147.4516f, -280.5169f, -38.0164f, -50.7237f, -141.1316f, -60.9737f, -147.8608f, -233.9212f, -22.0146f, -99.1479f, -228.8716f, 91.6618f, 61.1343f, -83.5247f, 4.2834f, -101.7035f, -58.0283f, -48.6094f, -104.2664f, -155.2664f, -226.4858f, -231.7223f, -205.7180f, -314.6280f, -150.3995f, 135.1819f, -75.2552f, -171.9896f, -276.5969f, -137.0060f, -55.2086f, -99.5797f, -195.1097f, -57.2647f, -72.3255f, 174.9245f, 258.0028f, 192.8297f, 81.3562f, 198.8450f, 180.2081f, 132.0824f, 113.5126f, 58.1412f, -87.2559f, 34.2946f, 130.7081f, 62.1078f, 82.7816f, 74.4854f, 111.6818f, 120.3099f, 80.1334f, -11.9671f, 183.3834f, 313.7754f, 257.2813f, 241.7612f, 256.9710f, 329.4492f, 385.5374f, 434.7875f, -66.8195f, -94.6890f, 200.6887f, 141.3063f, 115.2635f, 204.7280f, 215.7973f, 270.9673f, 228.4647f, -24.9070f, -120.1441f, -175.1481f, -8.0896f, 110.9215f, 307.0280f, 174.2457f, 112.7169f, 35.9639f, -85.1717f, -152.2496f, -2.5803f, 66.0904f, 80.5138f, 128.8919f, 137.5303f, 159.4245f, 139.7766f, -14.1396f, 274.4125f, 374.6268f, 335.3957f, 336.4666f, 435.5791f, 495.5083f, 529.9642f, 509.9389f, -51.7794f, -133.3125f, -25.4473f, 264.8054f, 162.9175f, 171.9332f, 189.6735f, 202.1561f, 304.5228f, 12.7820f, -17.2653f, -74.5083f, -134.5510f, -180.1133f, -294.9349f, -78.6120f, 84.8225f, -12.0772f, -137.7282f, -213.7303f, -17.3509f, 48.2225f, -23.9524f, -26.4293f, -30.7054f, 11.1575f, 23.4229f, 28.3886f, -22.3550f, -158.4269f, -299.3692f, -485.7126f, -469.8884f, 93.8213f, 156.3351f, 64.4156f, -28.7029f, -110.1881f, -234.8032f, -83.3735f, -66.7772f, -146.3531f, 129.8178f, 13.7979f, -40.1959f, -11.2220f, -81.0542f, -215.8795f, -186.0052f, -249.1487f, -354.7951f, 67.0249f, -8.7287f, -52.7080f, -75.1895f, -93.5102f, -63.8842f, -40.2971f, -43.3423f, -18.3122f, 59.9384f, 48.9469f, 42.9198f, -0.3036f, -79.3921f, -222.4614f, -402.4193f, -556.4007f, -208.9512f, 60.4822f, 0.2592f, 57.2596f, -130.2469f, -254.9911f, -337.7263f, -76.9102f, -61.5888f, -8.3782f, -17.2822f, 37.1637f, 42.0772f, 151.9460f, 229.6417f, 191.5279f, 12.9809f, -92.7110f, -204.7091f, -245.2630f, -53.2589f, -101.3680f, 15.8084f, -69.0148f, -180.2926f, 176.9411f, 336.6405f, 148.3504f, 51.2260f, -50.6708f, -158.2893f, 328.7315f, 655.2856f, 719.0299f, 605.1412f, 575.6907f, 490.5742f, 422.8277f, 353.4364f, 289.8675f, 144.5240f, 474.8398f, 690.7612f, 638.0545f, 473.3627f, 248.6244f, 8.4810f, -128.9032f, 27.8837f, -29.8052f, -109.6768f, -289.4402f, -289.9344f, 350.9098f, 241.8981f, 108.0220f, 27.7568f, -86.8368f, -12.5998f, -103.5273f, -217.2510f, -9.8401f, 388.4400f, 266.5437f, 118.9818f, 49.1643f, -64.3603f, 28.5445f, 288.4229f, 348.8730f, 378.0052f, 387.8595f, 690.6161f, 887.8799f, 718.7092f, 543.2699f, -27.0127f, -136.3472f, -228.6534f, 91.4073f, 452.4637f, 352.8853f, 244.5759f, 199.3164f, 97.9452f, -0.2574f, -38.8124f, -106.0784f, -81.9691f, -235.3859f, -136.9961f, -210.8024f, -316.9619f, -149.7671f, -6.3268f, -89.9384f, -197.0412f, 160.1820f, 58.3899f, -80.1867f, -134.0614f, -254.4108f, -249.4793f, 40.1439f, -3.4822f, -88.7857f, -80.2522f, -219.3521f, -305.1500f, -421.5967f, -471.9935f, -60.7522f, 55.8529f, 24.5260f, -52.9174f, -26.1113f, -123.8744f, -235.0002f, -306.0707f, -450.7246f, -249.8812f, -56.2297f, -152.7118f, -263.1169f, -243.0294f, -78.2260f, -99.3225f, -257.7953f, -369.9445f, -154.2971f, -15.4570f, -97.8124f, -244.1879f, 10.4628f, 212.1971f, 36.6411f, -51.0200f, -150.9477f, -262.8206f, -47.9169f, -145.0780f, -295.8412f, -176.3119f, -220.4176f, -239.8767f, -162.2583f, -277.5646f, -13.5098f, -45.4312f, -120.7871f, -231.7391f, -104.6837f, 93.3399f, -13.0435f, -131.8873f, -253.9684f, -52.8010f, 36.7261f, 97.8902f, 216.2452f, 22.2667f, -121.9688f, -165.2371f, -60.1795f, -22.1111f, 91.7368f, -104.8126f, -27.6777f, 148.6412f, 44.3956f, -17.0786f, -34.0943f, 48.6552f, 67.5896f, 52.1341f, 590.8627f, 669.3461f, 483.5975f, 208.4471f, 107.7190f, 123.1392f, 179.9797f, 179.2124f, 198.5541f, -51.3512f, -7.3050f, 448.6575f, 261.8456f, 189.7417f, 139.0593f, 120.8041f, 144.0752f, 115.5179f, -87.2434f, -195.6786f, -351.1762f, -282.1990f, -27.3961f, 2.1866f, 51.0065f, 120.9792f, 154.0704f, -38.7878f, -118.5436f, -201.9035f, 97.1421f, 24.9785f, -20.8748f, 52.5830f, -4.3230f, 177.0334f, -57.4864f, -155.8205f, -285.0674f, -156.5139f, 319.0307f, 288.4199f, 313.3522f, 292.7644f, 224.7193f, -60.1766f, -170.1086f, -288.5482f, 312.6666f, 231.6275f, 142.7810f, 206.6260f, 124.0985f, 127.5073f, -87.3474f, 17.7221f, -15.2086f, -151.2513f, -201.3116f, -202.2629f, -237.4979f, -150.1082f, -125.3288f, -123.1549f, -147.2588f, 55.9560f, -39.6018f, -44.1818f, -147.1130f, -69.1241f, -56.1722f, -4.4924f, 45.5201f, 15.5222f, -93.3382f, -254.1893f, -410.5618f, -226.8515f, -287.7839f, -386.6172f, -128.1340f, 10.1233f, -19.6005f, -61.5127f, -8.8349f, -177.1218f, -110.5849f, -207.5041f, -213.2586f, 74.8075f, -98.2741f, -195.7624f, -290.1091f, -230.1600f, -244.7515f, -194.7701f, -128.1076f, -46.1729f, -28.2903f, -126.3800f, -193.1177f, -95.3231f, -119.6219f, -56.1586f, -69.0881f, -102.1922f, -52.5595f, -30.4027f, -13.9604f, -91.5188f, -202.7529f, -375.3352f, -503.8488f, -122.5019f, -187.2047f, -144.9473f, -17.6464f, -37.1158f, -113.9219f, -208.9531f, -3.1283f, -117.0010f, 43.6858f, -64.0984f, -108.2942f, 77.5131f, -38.6401f, -49.9736f, 343.9084f, 326.3879f, 226.1680f, 136.9212f, 9.0736f, -37.1756f, -84.7974f, -10.5004f, -100.6890f, 48.4106f, 394.7867f, 233.0419f, 165.9509f, 56.3291f, 2.7924f, -28.5845f, 164.3221f, 505.0226f, 640.4844f, 633.9930f, 680.5828f, 631.7908f, 585.4574f, 501.5025f, 393.1295f, -37.0300f, 293.6539f, 656.3401f, 612.9729f, 632.0821f, 560.9024f, 468.8401f, 382.9867f, 278.2211f, -26.9959f, -117.0381f, -266.9459f, -169.9414f, 442.3678f, 351.1593f, 196.7216f, 129.6217f, 42.5401f, -28.9160f, -126.1295f, -248.8180f, 219.9974f, 419.6462f, 237.5276f, 144.8018f, 41.0794f, -19.0438f, -30.6524f, 324.5342f, 466.4269f, 433.6403f, 538.3355f, 578.5025f, 582.9940f, 533.2873f, 475.3817f, -101.0867f, -47.3945f, 562.3863f, 521.2437f, 635.9947f, 581.9960f, 561.7294f, 477.7560f, 364.4759f, -32.1078f, -119.5424f, -239.6324f, -86.9073f, -147.6602f, -263.4799f, -212.9377f, -261.9229f, -330.2635f, 20.8260f, -48.5704f, -135.4246f, 164.8506f, 20.4817f, -48.8885f, -105.4348f, -206.6621f, 3.6375f, 30.9311f, -34.7599f, -124.8998f, -258.7565f, -390.0532f, -468.4556f, -485.3543f, -264.1984f, -115.9895f, -26.5921f, -106.6166f, -238.7686f, 53.4977f, -56.8913f, -155.1848f, -245.0791f, -329.9394f, -85.9503f, -43.8040f, -135.2615f, -311.2635f, -322.8195f, 91.5184f, -51.5741f, -73.3097f, -108.7735f, -204.0501f, -61.9589f, -158.0212f, -286.8211f, -163.7011f, 114.5577f, 29.0545f, -65.0919f, -65.1646f, 71.9506f, -59.8760f, -170.6047f, -325.2270f, -421.8182f, -131.3054f, -184.2594f, -219.1312f, -132.9352f, -98.8301f, -65.8626f, -165.1987f, -320.2537f, -353.1492f, -51.0331f, -7.3456f, -135.3074f, -235.8573f, 12.1485f, 12.8460f, -11.9241f, 121.7405f, 24.2470f, -57.8971f, 19.1365f, -23.0243f, 220.3897f, 189.9156f, -119.6102f, -129.9914f, 75.9549f, -17.3359f, 26.2798f, 28.0181f, 57.3185f, 79.8925f, 95.0199f, -81.0524f, -19.0879f, 531.3251f, 384.0082f, 378.6000f, 387.1200f, 396.1896f, 433.4382f, 379.9696f, -82.3204f, -67.1148f, 345.0646f, 244.9884f, 277.8043f, 263.1406f, 275.4622f, 311.7924f, 291.4141f, -34.2889f, -127.1388f, -298.1820f, -380.4511f, 268.4245f, 354.6007f, 200.7670f, 149.3555f, 67.1469f, -114.0830f, -239.0252f, -314.3921f, 24.6004f, 51.2722f, 105.4223f, 101.1157f, 137.3569f, 135.9245f, -91.7432f, -32.7591f, 373.1560f, 319.3955f, 437.4347f, 503.4907f, 608.7997f, 578.2119f, 502.0230f, -70.3367f, -179.9099f, -239.7652f, 256.5794f, 269.9891f, 291.1810f, 333.6932f, 305.8695f, 278.4421f, -38.0671f, -120.8247f, -186.4547f, -239.7784f, -303.6527f, -286.7954f, -300.0361f, -205.3057f, -184.5087f, -134.2125f, -185.9339f, -13.8119f, -65.8529f, 19.0133f, -30.1823f, -58.4970f, -93.5678f, -55.1841f, -20.3990f, -104.7817f, -249.4716f, -358.9899f, -499.3363f, -434.6861f, -133.7299f, -130.1813f, -59.0671f, -26.7201f, -94.4739f, -228.6340f, -28.5857f, -81.7289f, -186.7961f, -62.0135f, -167.5409f, 51.9732f, -76.8652f, -194.8085f, -392.5224f, -495.1741f, -106.3757f, -87.6781f, -40.9442f, -25.9922f, 6.6919f, -141.6526f, -241.2805f, -161.8672f, -45.4915f, -24.1067f, 7.6906f, 3.7741f, 45.2149f, 42.3436f, -76.2028f, -185.3649f, -353.8127f, -492.3104f, -348.1328f, -172.4144f, -108.0814f, -55.5374f, -10.8210f, -88.1331f, -202.9139f, -371.2243f, -273.3005f, -107.5773f, -103.9134f, -45.1607f, -40.9613f, 31.8985f, 157.9412f, 199.7964f, 203.2689f, 127.6304f, 6.7547f, -75.7475f, -130.0489f, -209.2208f, -228.8015f, -44.6527f, -50.6749f, 107.6295f, 92.4422f, 79.8121f, 133.5672f, 52.5620f, -6.2270f, -43.2877f, 261.9115f, 472.0228f, 456.3473f, 335.7553f, 289.8814f, 234.7976f, 206.1187f, 157.4174f, 120.7698f, 155.2229f, 242.6315f, 377.1642f, 293.6065f, 226.0318f, 155.2748f, 156.4116f, 128.6701f, 98.5061f, 74.5256f, 70.1303f, -53.6869f, -182.3488f, 106.1648f, 41.5585f, -37.0232f, 6.5336f, -75.1722f, -31.2252f, -113.3890f, -244.5892f, 75.8334f, 233.5228f, 76.5742f, 8.2886f, -109.6154f, 29.9907f, 199.0678f, 337.3158f, 432.8418f, 315.2969f, 366.8018f, 352.4917f, 361.4405f, 280.1715f, 187.7336f, 53.4911f, 143.3279f, 208.4704f, 298.2910f, 261.7387f, 149.2119f, 115.7060f, 59.9002f, 32.6898f, 118.3519f, 194.3090f, 56.3174f, -33.3258f, -48.8783f, -210.5418f, -188.4141f, -181.0565f, -298.4099f, 91.1937f, 135.5274f, 26.3852f, -57.5649f, 66.0117f, -82.2194f, -94.6889f, -88.3680f, -188.1230f, 119.8292f, 164.8051f, 60.2985f, -68.4990f, -150.8028f, -282.2156f, -282.8785f, -353.0452f, -396.4856f, 120.5806f, 120.4464f, 62.5068f, -23.5466f, -183.4260f, -164.0083f, -233.7240f, -309.0768f, -85.4341f, 26.4925f, 47.3529f, -53.5415f, -218.9011f, -56.8672f, -174.1118f, -201.0902f, -193.1382f, -284.6390f, 50.9597f, 20.8274f, -88.6445f, 17.8450f, 185.2710f, 12.4814f, -62.7698f, -74.9989f, -191.3486f, 83.3881f, 63.9878f, -27.8680f, -181.7226f, -342.0545f, -62.8876f, -178.1327f, -229.1320f, -18.6240f, 85.1419f, 45.8095f, 15.3667f, 69.0366f, -75.9137f, -34.4539f, -88.4330f, -163.4411f, 19.3370f, 81.8880f, 213.5459f, 222.3313f, 109.1533f, 47.1884f, -17.2578f, -19.4486f, 3.7457f, -32.8905f, 22.8266f, 54.6145f, 70.9314f, -2.0301f, 104.3592f, 45.7102f, 41.3375f, 82.5320f, 77.2795f, 210.7176f, 326.3462f, 356.6618f, 280.9097f, 240.9705f, 212.4392f, 230.9905f, 220.8317f, 250.9306f, 59.6089f, 218.2601f, 340.5622f, 179.8372f, 86.7106f, 42.1021f, 73.5578f, 70.2340f, 71.3620f, 61.9071f, 46.6476f, 111.0709f, -59.8230f, -105.9862f, 89.4424f, 34.0065f, 42.7793f, -22.3657f, -71.5290f, 31.9224f, 46.2106f, 8.2769f, 5.2717f, 15.6736f, 45.9446f, 74.5921f, 72.2933f, 63.1228f, 347.0971f, 255.3817f, 42.2624f, -13.4026f, 95.4917f, 190.7911f, 219.1920f, 207.8866f, 63.7817f, 21.7322f, 237.9311f, 133.1283f, 19.5484f, 128.6760f, 26.4302f, 103.7761f, 85.3130f, 39.2312f, 80.2880f, 7.1932f, -118.9054f, -41.8213f, -170.3956f, -190.1681f, -25.3174f, -119.5246f, -33.4058f, 60.1838f, 52.1765f, -11.5418f, -17.6690f, -28.5228f, -40.5342f, -31.3702f, -37.5340f, 95.6257f, 128.8044f, 3.7503f, -171.8902f, -331.7014f, -422.7089f, 30.8156f, 15.6229f, -103.6316f, 76.5623f, 145.2620f, 106.4321f, -70.8798f, -192.7731f, -152.0614f, 107.2952f, 31.2426f, -23.0299f, 0.9016f, -4.6471f, -96.0447f, -197.1141f, -39.1036f, -170.4243f, 8.3031f, -73.0702f, -168.4342f, -86.2673f, -18.7660f, 13.9540f, -105.8362f, -72.7468f, -57.3178f, -42.7630f, 10.3291f, 27.6536f, 83.1109f, 54.8163f, 28.1776f, -137.0164f, -242.1605f, -32.9744f, -141.6118f, 26.8712f, 17.8517f, 35.5325f, 65.1065f, -1.1122f, -37.2264f, -38.7638f, -41.0658f, -18.6295f, 44.3877f, 57.2718f, 101.1713f, 97.2361f, 67.3819f, 236.9884f, 158.4350f, 20.2720f, 23.0851f, -73.7010f, -124.8067f, 44.9800f, -33.1049f, -21.2276f, 224.2546f, 49.9567f, 88.2466f, -23.1899f, -98.6740f, 50.9732f, -24.3959f, 403.6523f, 511.0127f, 404.3978f, 440.2577f, 428.9172f, 401.8223f, 375.5111f, 321.4924f, 15.1345f, 142.1195f, 295.8327f, 367.1741f, 284.5674f, 257.7681f, 257.3533f, 227.7437f, 300.6506f, -44.9562f, -131.9449f, -296.8129f, -184.1626f, 153.8183f, 14.5297f, 172.3343f, 69.5618f, 2.2208f, -22.2475f, -119.2772f, -205.2499f, 310.9423f, 177.0844f, 73.5587f, -1.5010f, -44.3403f, 96.9000f, 27.7742f, 173.5793f, 311.4776f, 285.5815f, 427.9854f, 452.0145f, 477.2097f, 401.7775f, 316.6574f, 52.6696f, 140.2801f, 215.3995f, 166.1714f, 292.6204f, 318.2898f, 341.5682f, 274.8850f, 196.1860f, 51.5561f, 96.4057f, -0.0610f, -80.6567f, -175.2689f, -292.8310f, -100.7723f, -200.9591f, -247.1591f, 96.6859f, 97.0977f, 35.4401f, 47.1563f, -76.2811f, -194.8284f, -34.9894f, -110.1535f, -169.8929f, 30.4654f, 7.6447f, -108.2569f, -243.2014f, -383.8708f, -478.0505f, -162.0353f, -178.7682f, -249.4727f, 135.4580f, 198.9998f, 81.4247f, -69.9475f, -181.4226f, -284.4768f, -29.8270f, -92.7044f, -189.7940f, -40.1188f, -133.9427f, -295.2091f, -278.5829f, -103.4496f, -237.8449f, -74.7856f, -155.3338f, -248.5054f, -47.4470f, -149.6037f, -292.4242f, 221.6694f, 98.4280f, -14.0849f, -138.2963f, -163.0445f, -19.4243f, 79.5896f, 39.1792f, -58.2936f, -253.9809f, -422.3516f, -18.3412f, -2.7302f, -102.9275f, 43.5500f, -17.9005f, -70.1182f, -104.1536f, -126.4881f, -219.3935f, -153.8877f, -270.2488f, 155.3837f, 114.2388f, 188.3484f, 261.8459f, 266.6991f, 243.5570f, 172.7795f, 64.3333f, 45.3547f, 14.1479f, -58.3812f, 42.3610f, 96.6123f, 113.8369f, 96.5219f, 138.7232f, 47.5273f, 42.4855f, 87.4416f, 115.5724f, -5.4013f, 368.9961f, 386.7844f, 312.8328f, 294.8554f, 318.4847f, 330.7657f, 356.5357f, 348.3268f, 113.9440f, 136.1339f, 283.1776f, 188.4109f, 151.5282f, 128.5029f, 167.5631f, 242.2409f, 260.3565f, -13.3113f, 76.9204f, 83.0527f, -49.6054f, 32.9182f, 193.1624f, 242.1413f, 224.6298f, 146.4784f, 49.3300f, 80.8438f, 67.2940f, 65.3665f, 141.4567f, 78.9471f, 115.6802f, 154.3108f, 177.7814f, -2.1684f, 97.5184f, 210.7061f, 182.4635f, 248.3353f, 312.9833f, 448.6478f, 502.5403f, 436.6044f, 10.4934f, 93.6577f, 144.0456f, 109.2677f, 171.7553f, 160.5641f, 247.6292f, 348.4738f, 372.3836f, 62.0393f, 66.4595f, -22.8432f, -154.2429f, -311.1715f, -269.7167f, 30.1724f, -82.4276f, -130.4250f, -1.8658f, -10.8456f, -5.2486f, -28.7596f, -130.9176f, -235.6978f, 116.9998f, 34.2436f, -79.9885f, 32.1393f, -12.8439f, -142.0784f, -272.6861f, -469.8031f, -450.3773f, 42.8701f, -56.9028f, -113.0164f, 44.2438f, 0.5177f, -95.0709f, -229.7896f, -388.2228f, -193.8794f, 161.5550f, 62.3152f, 16.3412f, -21.7573f, -96.5696f, -171.8374f, -270.5201f, -389.2275f, -187.1907f, 4.2880f, -69.4009f, -139.6222f, -59.1336f, -137.9044f, -127.8821f, -82.4177f, -132.8951f, 55.2591f, 25.2046f, 165.8443f, 176.7896f, 13.1713f, -65.9463f, -177.8707f, -363.8923f, -474.4700f, 53.7845f, 194.7626f, 99.8684f, 126.7437f, 26.4565f, 54.2781f, -5.8084f, -213.5320f, -186.7453f, 6.5259f, 119.4530f, 196.2039f, 188.0246f, -12.3442f, -52.3945f, 174.0135f, 50.5399f, -55.6784f, -95.2558f, -196.2955f, -198.2056f, -234.0973f, 23.6446f, -54.5462f, -134.7219f, 193.6175f, 178.7128f, -0.9450f, 7.7510f, -88.8611f, -200.7396f, 154.0881f, 689.2718f, 650.6971f, 522.8596f, 436.5025f, 314.9000f, 250.7824f, 187.1628f, 148.5410f, 83.9959f, 202.8234f, 359.2843f, 411.3538f, 425.6817f, 308.8017f, 206.3666f, 113.2320f, 60.3929f, -21.1689f, -91.1694f, -252.6742f, -235.0333f, 249.5398f, 114.6655f, -0.7796f, -65.2547f, -172.8182f, -30.5567f, -123.2070f, -309.0227f, -44.0884f, 320.4634f, 157.6161f, 61.6828f, -45.3025f, -139.1032f, 206.4974f, 723.0883f, 782.3015f, 479.5419f, 242.9557f, -15.8222f, -162.4184f, 134.4517f, 319.9661f, -41.0232f, -148.1419f, -92.0839f, 478.0700f, 348.8458f, 292.6417f, 221.8808f, 139.1332f, 83.7320f, -6.8324f, -77.6477f, -56.3444f, 19.3478f, -110.6184f, -96.5414f, -225.9007f, -330.6617f, -424.5623f, 26.9337f, -4.4548f, -148.8763f, -80.3516f, 81.8311f, -110.8947f, -150.9911f, -162.4880f, -279.5481f, 15.4135f, -1.8583f, -56.8319f, -146.1688f, -266.5346f, -355.1809f, -419.6793f, -456.7536f, -416.2208f, 112.1756f, 88.2059f, 26.0259f, -86.2333f, -258.4741f, -66.9660f, -164.5662f, -250.9281f, -276.0475f, -51.5026f, -135.9180f, -210.3467f, -175.0943f, -7.7200f, -1.5529f, -138.1960f, -292.0197f, -364.5311f, 1.6098f, -29.3697f, -112.8375f, -233.4716f, 123.6812f, 20.4676f, -81.0632f, -116.0258f, -218.5294f, -34.1878f, -103.0825f, -139.6876f, -229.9859f, -246.3806f, -96.8411f, -204.4168f, -321.0166f, -418.4522f, 27.1891f, -2.9717f, 21.2254f, -122.5167f, -201.1399f, 36.0115f, -56.9192f, -106.8464f, -192.5580f, 77.7097f, 24.2840f, 152.6398f, 61.5673f, -54.9359f, 27.7810f, -85.7347f, -79.4392f, -81.0366f, 59.2315f, 15.7636f, 128.6461f, 63.2966f, -11.4618f, 18.7670f, -58.2229f, 42.0642f, 49.7434f, 247.9855f, 413.3163f, 345.0402f, 192.3750f, 145.4847f, 121.6956f, 123.6805f, 107.2007f, 94.2462f, 104.2558f, 282.0381f, 490.4723f, 344.7097f, 244.1310f, 96.7224f, 2.9896f, -31.7180f, -23.3323f, -22.5118f, -53.8832f, -113.5013f, -234.2837f, -4.7630f, -0.8369f, -15.3972f, 57.4113f, 45.6486f, -41.6155f, -134.7804f, -200.2841f, 179.2444f, 29.8214f, 36.0840f, -106.4028f, 151.5328f, 102.1621f, 141.5078f, 201.5805f, 79.4698f, -159.8402f, -279.6548f, -324.4731f, -129.3751f, 72.2403f, 81.4769f, -45.8403f, -152.7728f, -116.5580f, 262.2678f, 114.2470f, 210.0651f, 100.2266f, 64.9777f, -14.6634f, -39.9272f, -124.8000f, -75.7294f, -110.6360f, -223.7299f, -102.2257f, -226.1053f, -85.4944f, -173.4764f, -91.6640f, 30.6543f, 4.1065f, -65.4408f, -39.3890f, -89.5364f, -102.5911f, -125.5036f, -48.1974f, 27.2660f, 19.3735f, -66.4810f, -233.9350f, -388.9383f, -229.7098f, -102.6715f, -201.6806f, -177.6036f, 153.9685f, 141.8902f, 89.4281f, -53.1892f, -209.9941f, 8.0810f, -71.3509f, -135.8233f, -78.6157f, -48.4004f, -143.6756f, -250.1705f, -343.5184f, -330.9693f, -81.7413f, -159.8642f, -192.9882f, -201.0525f, -49.7401f, -133.3727f, -211.5154f, -166.0789f, -199.3352f, -4.0380f, -98.3591f, -184.6634f, -113.6087f, 32.7128f, -26.7812f, -78.3951f, -264.0457f, -339.2219f, 40.1904f, -121.6728f, -51.6241f, -125.0696f, 1.8568f, -67.7562f, -73.4413f, -115.9242f, -245.2522f, 77.1352f, -22.1839f, 2.7514f, -4.3203f, 19.0296f, -62.4543f, 21.8088f, 217.8850f, 43.1886f, 12.7766f, -121.5772f, -171.9543f, -180.7850f, -0.3986f, -96.1580f, -120.0616f, 336.5914f, 176.9306f, 54.3062f, -66.4501f, -138.8101f, -90.7495f, 109.0295f, 377.1798f, 641.5853f, 577.4881f, 571.3625f, 438.8002f, 310.6432f, 204.9863f, 132.6160f, -76.9013f, -15.0371f, 664.7503f, 520.0686f, 489.1051f, 371.2256f, 270.3431f, 196.9454f, 166.5973f, -42.2498f, -134.3667f, -336.4376f, -457.6409f, 173.4562f, 138.1508f, 34.3921f, -18.1609f, -85.9677f, -20.8727f, -125.4622f, -192.7956f, 434.5861f, 290.6413f, 142.0824f, 77.1623f, -13.2305f, -29.4274f, 178.7104f, 373.0402f, 459.7581f, 474.3989f, 557.5211f, 569.2194f, 525.4768f, 358.3187f, 210.4229f, -26.8194f, 77.7574f, 350.3222f, 445.4183f, 524.4524f, 462.1511f, 381.7293f, 289.9692f, 204.0649f, 47.7632f, 17.1803f, -105.1057f, 10.4223f, -60.5128f, -219.3625f, -119.8198f, -230.6158f, -301.9153f, 60.2078f, 16.2198f, -62.5382f, 98.4891f, -50.3729f, -119.2299f, -183.9794f, -286.1903f, -145.0719f, 52.5866f, 72.1675f, -32.1273f, -162.5446f, -282.0867f, -356.6873f, -196.9938f, -290.2792f, -343.8752f, 58.1756f, 83.5942f, -32.7989f, -128.5429f, -265.7008f, -326.2490f, -166.5130f, -258.2744f, -31.7978f, -49.8436f, -148.3240f, -287.2763f, -389.7832f, -131.7967f, 6.5863f, -71.1640f, -182.3324f, -272.4139f, -32.6407f, -113.2022f, -199.3120f, -231.3794f, 5.2103f, 172.0263f, 60.2526f, -14.7182f, -108.9096f, 27.2077f, -23.7367f, -95.9858f, -283.8613f, -409.0134f, -31.3871f, -148.6489f, -208.9727f, -274.8275f, 69.4333f, -0.7143f, -57.0494f, -261.8966f, -366.3107f, 188.4734f, 53.9671f, 24.5447f, 25.3948f, -4.4283f, 5.6792f, 301.6043f, 172.8969f, 55.6507f, -7.7604f, -81.7609f, -49.2316f, -63.0654f, -12.4033f, -97.3530f, 37.2340f, 215.5548f, 48.4286f, 11.6666f, -133.9813f, 32.1272f, -33.6059f, 57.9103f, 293.2768f, 591.9909f, 431.5314f, 338.6320f, 236.6151f, 185.2476f, 175.1540f, 156.0322f, -63.6185f, -100.3640f, 351.1546f, 428.5004f, 353.7403f, 293.3142f, 196.1020f, 152.1965f, 114.6518f, -20.0721f, -100.8514f, -174.7278f, -314.6773f, -143.5646f, 298.1905f, 181.1825f, 142.0341f, 71.3729f, -64.7951f, -146.2021f, -143.2170f, 33.9854f, 13.8056f, 156.0337f, 163.4005f, 334.1913f, 325.3497f, -79.9064f, -121.2133f, 229.6626f, 303.8755f, 306.8218f, 415.8466f, 436.8824f, 486.2830f, 451.8081f, -67.6130f, -122.0631f, 41.7635f, 134.7727f, 156.2778f, 308.4236f, 340.0357f, 434.5742f, 391.1108f, -2.6037f, -46.9405f, -151.3320f, -160.0405f, -239.8193f, -368.3138f, -88.0921f, -150.1500f, -191.7920f, -79.3309f, -112.6262f, -20.0215f, -129.1640f, -35.3227f, -69.4806f, -159.3188f, -223.7142f, -132.1779f, 21.9835f, -11.3374f, -106.7910f, -244.8813f, -406.4640f, -311.7320f, -96.4711f, -182.5312f, 57.8956f, 25.8713f, -0.7151f, -79.9440f, -80.0111f, -224.4878f, -136.2209f, -22.1062f, -137.4635f, -22.6838f, -17.4638f, -88.0421f, -183.7897f, -361.0791f, -194.1127f, 29.9571f, -12.3110f, 17.3506f, -52.9132f, -108.1431f, -191.9295f, -193.9598f, -196.0948f, -165.6809f, -79.0258f, -53.5949f, 30.1916f, 37.3619f, 10.0420f, -70.0023f, -183.1197f, -393.7681f, -492.0758f, 102.2096f, -13.6587f, -51.6821f, -101.1752f, -25.8195f, -90.5090f, -174.4579f, -208.3670f, -308.3139f, -74.5783f, -38.9631f, -104.3672f, 142.1591f }; /*-------------------------------------------------------------------* * 1nd stage, 2nd split: ISF9 to ISF15 *-------------------------------------------------------------------*/ const float dico2_isf[] = { 530.1115f, 512.7983f, 443.8771f, 306.1447f, 171.2327f, 70.8250f, 56.8183f, 248.5479f, 252.9719f, 260.5429f, 221.7305f, 172.6754f, 84.8419f, 141.5120f, 166.9014f, 171.9745f, 263.4265f, 204.8570f, 129.5061f, 45.8705f, -162.9417f, 47.0761f, 115.3926f, 182.9788f, 181.5048f, 89.7111f, 17.3276f, -86.2999f, -57.3148f, -93.7950f, 58.2071f, 31.0844f, 152.3217f, 108.6931f, 41.3677f, -163.1767f, -217.0378f, 215.5667f, 199.7393f, 91.8320f, 56.3535f, -37.1534f, 16.9371f, 75.2105f, 106.8429f, 58.4518f, 26.0167f, 13.3113f, -106.5544f, -16.6336f, -49.0904f, 66.7054f, 162.6404f, 110.2851f, 24.4686f, -138.4124f, -145.3240f, -33.7683f, -134.5548f, -42.3167f, -36.8413f, -70.9451f, -34.7360f, -234.5519f, -328.1575f, -78.2304f, 181.4482f, 100.8272f, -4.3886f, -98.7986f, -18.7314f, 128.6640f, 38.0685f, -113.4033f, -211.9919f, -310.5748f, -138.0866f, -222.6271f, -45.5429f, 72.9616f, 3.9276f, -52.1214f, -162.3586f, -29.6134f, -241.3416f, -50.3196f, -96.3331f, -145.0456f, 17.4087f, -29.8105f, 108.3555f, -399.1142f, -421.4348f, 49.0965f, 185.0085f, 99.2830f, 49.7543f, 20.2726f, -109.7596f, 29.7695f, -65.3607f, -141.1745f, -110.3974f, -215.1475f, -110.3518f, -46.4209f, -20.4624f, -0.5266f, 52.1919f, -12.3074f, -79.8395f, -162.1720f, 415.6808f, 323.0418f, 248.6461f, 267.3440f, 181.1869f, 81.5855f, 4.8347f, 188.1995f, 162.5893f, 175.4467f, 144.9775f, 131.0177f, 114.8023f, 75.6850f, 280.8494f, 225.0358f, 142.4128f, 52.8503f, 44.0619f, 35.6548f, -77.7252f, 116.2722f, 68.6422f, 192.5792f, 142.9262f, 75.7274f, 63.5846f, 13.9314f, -13.4854f, -92.0420f, -101.3018f, -13.9503f, -1.5377f, 38.4848f, 59.2146f, -38.0921f, -119.6284f, -10.4956f, 88.8682f, 35.1836f, 43.2013f, -33.7051f, 35.4547f, 5.0305f, -82.4376f, -100.9264f, -41.5222f, 33.5725f, -24.8381f, 28.3963f, -13.4840f, -22.4480f, -11.9734f, 63.1961f, 13.8177f, -75.0030f, -42.4115f, -130.9516f, -245.5204f, -25.9129f, -23.6896f, -49.8110f, 125.7094f, -193.2334f, -261.3991f, -284.3770f, 75.4337f, 11.9830f, -86.1044f, 47.5069f, 126.4967f, 37.0484f, -34.7501f, -35.5687f, -159.6523f, -277.2735f, -60.1203f, -0.1156f, -91.4527f, 35.7808f, 12.8593f, -134.0804f, -237.8749f, -85.9030f, -134.0644f, -159.5199f, -185.8239f, -255.9559f, -59.8235f, 31.9001f, 86.5795f, -191.3466f, -290.9137f, -99.7657f, 18.9475f, -18.6283f, 52.5484f, -49.6458f, 46.4725f, -26.2220f, -128.3100f, -152.1911f, -106.3316f, -212.7650f, -21.8051f, -22.1899f, -50.6587f, -4.0987f, -2.7160f, -63.9780f, -18.1671f, -8.5809f, 384.5044f, 415.7100f, 375.3419f, 221.7875f, 82.0605f, -10.5889f, 6.1831f, 316.8826f, 269.9225f, 294.6225f, 200.5877f, 87.3740f, -13.6950f, 64.9923f, 258.7122f, 274.8100f, 241.2115f, 150.6316f, 22.2879f, -82.2525f, -100.3677f, 199.2028f, 140.2225f, 163.4630f, 153.3341f, 35.3954f, -56.3718f, -6.8714f, -75.2059f, -12.0741f, -10.5019f, 87.1330f, 34.8811f, -55.7089f, 9.3485f, -43.9131f, -38.3306f, 184.0508f, 124.7862f, 72.2168f, 1.2740f, 68.2432f, 98.5331f, 56.9808f, -18.2386f, 106.3234f, 18.7400f, -82.2337f, -91.2981f, 56.8543f, 26.8486f, 79.2505f, 142.2529f, 26.5547f, -20.1961f, 20.0251f, -101.2805f, -186.8430f, -272.0712f, -136.2303f, -296.2366f, -195.7741f, 24.4320f, -195.6167f, -300.4726f, -112.7403f, 30.7313f, -121.6459f, -194.0080f, -41.2612f, 98.2285f, 20.7275f, -91.7240f, -183.2970f, -349.5879f, -345.3007f, 56.7721f, -162.4512f, -215.0840f, 54.6896f, -51.9437f, -204.1752f, -302.6133f, 17.1211f, -127.3559f, -165.3954f, -278.6780f, -194.2370f, -33.4488f, -168.4021f, 38.6555f, -295.7049f, -301.6402f, -62.3113f, -29.8345f, -17.8150f, -12.4093f, 147.9211f, 33.3799f, -13.6109f, -78.2303f, -156.7363f, -259.0581f, -406.3858f, -96.3685f, -70.3287f, -128.8603f, -35.8870f, -146.8926f, 10.7114f, -71.6699f, -42.8127f, 499.4422f, 424.3595f, 305.0398f, 196.0019f, 126.5760f, 63.9795f, 61.1516f, 266.3734f, 181.9720f, 175.4860f, 108.0995f, 56.9864f, 10.7695f, 159.6035f, 247.9333f, 184.5145f, 152.3734f, 41.9318f, -90.6959f, -210.2689f, -54.1531f, 76.7519f, 154.5846f, 129.7565f, 83.0209f, 81.7690f, -11.2691f, -31.6182f, 58.5084f, -37.0541f, -121.7467f, 29.7202f, -30.0062f, -124.9186f, -19.6730f, 18.1514f, 3.4725f, 18.4977f, 68.3406f, 54.2768f, 11.6546f, 150.1885f, 85.0507f, 80.6332f, -9.5051f, -97.5608f, -37.4477f, -107.8952f, -71.4574f, 10.1458f, 46.5077f, 14.7448f, 5.4868f, -1.5563f, -51.9743f, -20.1740f, -186.2883f, -239.8358f, -385.3964f, -279.2732f, -246.3584f, -317.5150f, 77.9409f, -290.8109f, -394.1977f, -416.1625f, -291.0747f, -246.4900f, -66.6275f, 7.0910f, -53.3572f, -98.2187f, -188.6130f, -239.5862f, -382.9682f, -469.8791f, 4.8130f, -236.2064f, -299.8000f, -219.3447f, -267.9179f, -424.8446f, -200.9900f, 22.5746f, -78.8698f, -167.2648f, -305.5687f, -418.8565f, -37.5231f, -91.3323f, -69.9264f, -187.4632f, -276.9708f, -417.8298f, -350.3085f, -51.2638f, -35.7869f, 125.5794f, -56.7695f, -75.4877f, -200.1077f, -284.6027f, -223.5758f, -298.6907f, -81.9158f, -129.2158f, -228.6000f, -204.9319f, -246.4877f, -109.8989f, -81.0975f, -118.3144f, 455.1133f, 431.3343f, 366.9250f, 323.3162f, 279.7654f, 166.3696f, 60.4075f, 2.2427f, -42.4551f, 320.2264f, 303.9626f, 161.9218f, 44.0682f, -10.4932f, 148.9215f, 132.3074f, 122.6564f, 103.3307f, 47.4590f, -3.4202f, -185.0445f, -145.6115f, 18.4827f, 228.0817f, 172.5267f, 38.5907f, -90.1562f, -43.9888f, -193.6085f, -14.9922f, -111.3547f, 102.4688f, 119.0297f, 66.3613f, 1.6199f, -229.1052f, -217.2523f, 26.9406f, 25.7113f, 183.7947f, 138.0997f, 4.9246f, -54.0735f, 27.3595f, -6.9751f, 41.3897f, 26.0272f, 65.3047f, -117.9287f, -173.6861f, -55.0424f, 72.3582f, 74.4772f, 59.1275f, 32.2629f, -52.0966f, -100.2805f, -203.3997f, -281.1161f, -77.1917f, 52.4149f, -18.1558f, -70.9170f, -319.7560f, -456.2388f, -303.5891f, 199.8376f, 140.0785f, 37.0556f, -44.1020f, 53.3338f, -0.8373f, -29.0162f, -53.8806f, -156.4895f, -44.6551f, -144.9031f, -94.4005f, -181.9505f, 79.8505f, 87.0198f, -12.1349f, -82.6727f, -75.0313f, -207.6459f, -248.8868f, -181.9412f, -267.7931f, 100.0395f, 108.0778f, -54.3928f, -445.8355f, -486.1193f, -148.8008f, -29.2654f, -20.9138f, 5.3055f, 34.4656f, -121.3450f, 45.0588f, -55.9190f, -194.9437f, -134.0013f, 48.6244f, -162.3284f, -240.5215f, -57.3889f, -52.6141f, 16.9554f, -1.6593f, 47.0915f, -144.2315f, 326.1222f, 306.0203f, 250.4581f, 152.3629f, 138.5136f, 136.6061f, 24.8198f, 27.9826f, 75.7094f, 172.8544f, 182.3980f, 170.1943f, 85.7041f, 145.3514f, 181.4035f, 144.2242f, 74.8556f, 1.4272f, -61.0836f, -28.1913f, -88.2541f, 22.2453f, 80.4679f, 118.3400f, 80.0672f, 73.2458f, 39.5447f, 103.6288f, -15.5237f, -80.2624f, -190.5397f, -72.0487f, 107.7333f, 24.8407f, -9.9839f, -84.5773f, -169.2563f, -115.8907f, 53.5535f, 128.0731f, 120.4292f, -112.8952f, 147.5641f, 31.5040f, -120.2366f, -181.4932f, 22.0867f, -14.3306f, 88.8276f, -38.8943f, 9.5208f, -14.2124f, -59.1263f, 77.8884f, 3.1099f, 55.9227f, -166.2941f, -272.4271f, -413.5079f, -51.9034f, 151.3775f, 62.8211f, 125.4737f, -251.4761f, -399.5025f, -496.4470f, 15.1387f, 25.6129f, -47.9447f, 27.2588f, 145.3730f, 69.2023f, -67.5157f, -217.2383f, -216.1160f, -118.5795f, -73.6690f, -45.7917f, -144.0127f, -166.1374f, -47.5218f, -180.4311f, -59.2610f, -28.7005f, -253.6976f, -332.1650f, -464.5507f, -299.7163f, 194.1511f, 140.7432f, 86.8261f, -311.8663f, -444.9106f, -568.2597f, -74.2214f, 168.0938f, 91.5796f, 69.8801f, 16.2576f, -36.8680f, -158.1385f, -270.2551f, 14.7501f, -79.0270f, -96.1519f, -66.0490f, -143.0125f, -113.3699f, -34.3890f, -25.0086f, 12.5482f, -114.0537f, 394.4650f, 360.5732f, 366.5918f, 277.4828f, 181.5850f, 89.9984f, 133.6822f, 84.7064f, 117.2216f, 411.7273f, 263.7720f, 26.7575f, -178.8131f, -69.9364f, 30.5200f, 177.1075f, 123.5531f, 7.2231f, -92.4543f, -193.6012f, -94.9796f, 65.2717f, 8.1559f, 165.7135f, 84.0440f, -35.7379f, -118.5377f, -66.5232f, -113.0977f, -31.5885f, -27.3286f, -26.0692f, 15.5114f, 21.2791f, -23.2414f, -138.0497f, -166.9724f, -35.1916f, 20.7464f, 36.6236f, 3.5627f, 20.9882f, -11.0900f, 124.4114f, 110.4337f, 5.6888f, -93.7853f, -22.5026f, 30.8623f, -29.4226f, -47.2009f, 89.3512f, 13.6996f, 22.5131f, 2.3075f, -51.7825f, -137.2009f, -200.8273f, -290.6017f, -325.7113f, -275.5810f, -53.4554f, 64.1025f, -438.9569f, -542.2731f, -412.1423f, -89.9884f, -28.4069f, 15.6647f, 13.8672f, -63.4932f, -90.8672f, -207.9037f, -306.7191f, -456.9608f, -272.1003f, 37.6908f, -307.9492f, -374.7438f, -96.2506f, -168.0490f, -243.8695f, -64.5296f, -3.1349f, -334.4494f, -210.9558f, -246.0072f, -354.2072f, -131.6393f, -27.1645f, 29.5091f, -366.0860f, -407.0811f, -257.3381f, -286.1801f, -81.4441f, 77.6511f, -10.1480f, -204.4162f, 30.5330f, -38.3922f, -195.6373f, -339.5407f, -347.7475f, -31.6897f, -243.6551f, -274.7409f, -17.3959f, -136.0264f, -9.8248f, 34.1080f, -72.7180f, 392.4115f, 321.3055f, 213.3703f, 97.3249f, 35.2497f, -8.7278f, 80.8223f, 116.4944f, 155.2541f, 148.9464f, 124.6089f, 78.0606f, 24.1574f, 118.5191f, 184.6981f, 148.0850f, 51.9562f, -96.3499f, -247.0329f, -172.3801f, 29.4305f, 110.9024f, 81.4259f, 152.8654f, 45.1114f, -9.8257f, 17.3401f, 36.9414f, -27.9329f, 30.8783f, -37.1648f, -24.5270f, -50.2764f, -114.4973f, 79.3175f, -64.1897f, -136.2614f, 44.8825f, 47.6375f, 26.8591f, -0.2729f, 147.6527f, 135.7539f, 66.4931f, 38.8074f, 22.5599f, -70.1020f, -117.9085f, 73.4314f, -74.1601f, -0.9165f, 58.6634f, 8.8413f, -20.0486f, -4.3857f, 84.5215f, -240.3710f, -336.9822f, -425.7879f, -557.5921f, -313.4519f, -18.6503f, -2.2911f, -375.5428f, -498.5622f, -604.7405f, -284.0899f, -22.5439f, 21.7506f, 87.1215f, -48.5853f, -99.7448f, -219.1610f, -385.9877f, -498.9206f, -58.0072f, -32.0391f, -187.4733f, -257.8106f, -348.0662f, -465.0402f, -523.0202f, -126.9367f, 7.9922f, -242.4066f, -358.0976f, -506.2984f, -527.3067f, 103.2345f, 112.8789f, 19.5721f, -329.7812f, -399.2909f, -525.3788f, -519.3241f, -114.6023f, 18.0531f, 108.4014f, -101.3959f, -182.8774f, -323.7689f, -459.4139f, -208.2967f, -218.5872f, -30.6618f, -83.9128f, -188.9391f, -321.0572f, -481.5454f, -309.1473f, 5.7541f, -53.7133f, 508.3954f, 514.6412f, 492.8828f, 409.4624f, 279.6907f, 139.5316f, -25.0946f, 225.7716f, 321.9763f, 361.4909f, 313.2012f, 246.2739f, 141.2217f, 40.0333f, 183.5499f, 361.1524f, 299.5782f, 200.8792f, 127.5401f, 74.2915f, -43.7510f, 87.8314f, 192.1731f, 193.5542f, 170.6556f, 233.6155f, 150.0142f, -17.3959f, 16.6972f, 31.8549f, -16.4255f, 68.2118f, 202.5792f, 133.4167f, -24.8757f, -118.5934f, -60.2884f, 62.2425f, 224.9154f, 157.3277f, 86.2001f, 127.8335f, 83.3985f, 95.4353f, 47.7289f, -24.4079f, 122.0239f, 35.9347f, -62.3200f, 85.0292f, 81.2156f, 121.2625f, 104.6399f, 119.6594f, 126.2998f, -77.7217f, -111.4887f, -105.1822f, -30.9685f, -48.2729f, -55.9544f, -59.5831f, 92.3539f, -80.0937f, -149.8609f, -166.3557f, 134.5224f, 22.8807f, -72.2311f, -71.7019f, -106.2400f, 96.5443f, 49.1033f, -82.1511f, -202.4001f, -182.6395f, 30.4307f, -38.6498f, -47.0332f, 196.2347f, 62.6390f, -109.4412f, -217.5327f, 118.6330f, -165.3289f, -6.5073f, -110.5468f, -172.9718f, 83.9014f, 82.6244f, -54.8262f, -220.1304f, -267.2490f, -88.9432f, 199.2986f, 140.8517f, 50.8656f, 126.1685f, -167.2625f, 130.8662f, 38.2409f, -25.2887f, 14.1618f, -84.0247f, -96.2550f, -141.5362f, 19.9235f, 142.0336f, -6.1892f, -91.4426f, 58.7228f, -64.2743f, 356.9441f, 345.0619f, 293.3749f, 255.2251f, 264.2440f, 181.1552f, -59.9296f, 246.4391f, 212.9810f, 208.9891f, 281.1677f, 232.7401f, 140.5526f, -31.7890f, 305.7318f, 278.3117f, 199.8758f, 171.6015f, 133.0515f, 98.0317f, -152.6052f, 194.0116f, 162.7764f, 97.4355f, 145.3808f, 115.4215f, 67.7161f, -75.3193f, 50.0116f, -43.0169f, -150.4608f, 36.4008f, 15.3428f, 67.7103f, -90.2827f, 84.1801f, -22.9641f, -98.8488f, 180.4238f, 151.9562f, 59.9903f, 26.9906f, 177.5510f, 105.3890f, -1.4605f, -131.7380f, -19.1906f, 90.9329f, -125.9315f, 119.9137f, 55.8859f, 20.5790f, 85.2794f, 50.1218f, 92.1433f, -60.8729f, -14.4439f, -72.6866f, -93.8542f, -160.4042f, -42.8567f, 3.3977f, 156.0409f, -54.5578f, -142.4629f, -245.2400f, 100.6745f, 148.4848f, 83.6861f, 108.3569f, 51.3106f, 177.4475f, 69.0944f, -111.1996f, -202.9647f, 42.3005f, -83.6978f, 30.1802f, -55.2034f, 78.5647f, -47.9833f, -191.5273f, -51.2293f, 23.2575f, -5.5372f, -75.8171f, -203.4011f, -289.5156f, 106.7613f, 141.4280f, -13.0810f, -141.4010f, -221.2458f, -112.2780f, -89.1527f, 63.0527f, 92.4026f, 123.8935f, -105.1256f, 76.2826f, -29.3279f, -146.3319f, -79.8275f, 4.2937f, 30.2187f, -50.0448f, -103.1965f, -61.1121f, -87.1858f, -185.4814f, 103.5567f, 10.4906f, 483.7709f, 447.9613f, 357.9065f, 269.2391f, 168.5860f, 81.9800f, -109.5565f, 312.3829f, 259.3732f, 343.4722f, 283.4192f, 160.6555f, 62.4472f, -64.0786f, 177.4189f, 268.0235f, 209.2622f, 107.3129f, 57.2866f, 17.7874f, 43.3733f, 118.3413f, 189.8245f, 200.1482f, 138.5254f, 93.9936f, 70.6362f, -26.8448f, 30.9857f, 35.8345f, 11.3604f, 57.5567f, 90.9626f, 20.1319f, 6.8180f, -66.7255f, 112.7395f, 51.2972f, 171.5931f, 105.7922f, 1.0289f, -4.0888f, 161.4374f, 94.0077f, 56.1444f, 67.9007f, 60.5061f, -0.5993f, 5.5333f, 22.6145f, 84.7579f, 96.3842f, 85.7332f, 58.1820f, 68.5529f, -7.0445f, 89.2476f, -2.9310f, -93.5695f, -80.5243f, -200.4216f, -74.7223f, 78.7932f, -37.6075f, -106.1347f, -177.1898f, 12.7187f, -117.0868f, -224.7555f, 18.0710f, -3.9184f, -42.1867f, -96.2393f, -135.5441f, -300.7351f, -209.1140f, 3.3638f, -127.2731f, -168.0130f, -23.6514f, -125.4722f, -275.0623f, -116.8249f, 78.4081f, -0.3268f, -109.2929f, -235.6517f, -163.5220f, -72.4472f, 7.1522f, -14.1950f, -201.5567f, -203.8994f, -147.8831f, -113.7655f, -70.6486f, -37.9403f, 10.4648f, -61.9333f, -122.2785f, -205.0957f, -87.3765f, -199.0248f, -324.4658f, -76.9686f, -114.1747f, -179.4460f, -22.8678f, -120.9749f, -219.5858f, -55.7430f, -137.0347f, 416.5525f, 356.2247f, 246.4192f, 151.7590f, 80.9813f, 33.7425f, -87.5668f, 232.7198f, 199.8298f, 232.8017f, 197.1352f, 122.7492f, 47.7377f, -18.8607f, 307.4450f, 336.4361f, 172.1882f, -36.4639f, -118.2980f, 12.7783f, -74.1220f, 100.4413f, 183.0223f, 131.6807f, 19.7279f, 5.8399f, 116.3680f, -36.1637f, 115.0603f, 28.3727f, -46.6535f, 9.9458f, 14.2165f, 8.8947f, 42.1125f, -11.0346f, -1.0867f, -12.6705f, 44.5022f, 8.2729f, 72.2938f, 41.9570f, 188.4713f, 119.1476f, 5.8222f, -109.1441f, -124.7922f, 20.2470f, 37.4241f, 88.4120f, 18.1026f, 44.8535f, 28.1015f, -53.1688f, 52.0384f, -48.7039f, 7.0136f, -80.7959f, -218.2056f, -230.6367f, -196.4241f, -188.3921f, 125.5651f, -223.0832f, -308.3413f, -371.4560f, -67.3406f, -172.4539f, -210.1611f, 44.0330f, 70.5425f, 5.5613f, -121.1026f, -250.2220f, -391.0280f, -78.8702f, 62.0359f, -53.2080f, -153.5175f, -168.9519f, -200.2387f, -356.0113f, -56.1841f, -8.4833f, 28.1989f, -103.3445f, -275.6373f, -372.5401f, -62.2850f, 20.7805f, 129.8285f, -131.8626f, -230.9837f, -332.7086f, -149.5865f, -154.3909f, 21.7068f, 17.3275f, 16.7300f, -61.8863f, -181.1369f, -350.5149f, -246.6439f, -61.1861f, -114.9767f, -62.9283f, -50.0990f, -128.3168f, -223.8037f, -188.6130f, -48.9473f, 4.2910f, 397.1338f, 354.0856f, 410.7048f, 392.6840f, 265.0492f, 133.1239f, -39.9595f, 140.3398f, 130.2926f, 612.1718f, 513.2461f, 282.4946f, 41.1820f, 3.7939f, -25.5253f, 283.5953f, 206.7656f, 117.4847f, 85.9801f, 16.9447f, -106.7023f, -199.2065f, 170.3263f, 280.7031f, 221.1866f, 139.8684f, 69.7774f, 44.7026f, -218.6125f, 116.3745f, 51.8822f, -46.6960f, 133.6225f, 87.8249f, 5.3826f, -351.2338f, -39.4894f, 84.6148f, 241.0717f, 156.3851f, 57.0277f, -22.5485f, -16.1558f, 137.3482f, 31.9090f, -76.7114f, 15.3505f, 47.2591f, -65.0792f, -82.6497f, 23.1536f, 174.7281f, 111.0391f, 165.1666f, 97.6276f, -66.0758f, -144.8786f, -188.8722f, -232.9240f, 11.8115f, -15.8240f, 97.1230f, 8.4134f, -145.3324f, -253.9705f, -310.2223f, 186.1852f, 173.7029f, 84.4147f, -31.0347f, -137.6416f, 107.5353f, 6.4667f, -172.8744f, -362.7197f, 36.0251f, 7.3423f, -273.1752f, -271.7551f, 168.5304f, 103.1478f, -19.2394f, -121.0773f, 71.0605f, -382.1200f, -84.7432f, -167.9304f, -156.0550f, 39.5436f, 102.1275f, 28.0496f, -362.7133f, -347.0801f, -139.5875f, -5.2563f, 181.0231f, 147.5667f, 92.1709f, -322.5983f, 22.0118f, 11.8984f, -116.7982f, -140.8088f, -50.1710f, -20.0495f, -342.8153f, -116.9352f, -43.2698f, 29.1059f, 25.4655f, 14.1526f, 1.1041f, 319.3257f, 143.9371f, -9.8398f, 138.1817f, 272.2951f, 230.7682f, -67.6844f, 120.5561f, 82.8050f, 86.9118f, 293.3890f, 188.8921f, 54.7609f, -21.7199f, 231.6328f, 148.0905f, 27.2085f, -3.2337f, 100.6721f, 70.2593f, 42.8315f, 64.4154f, -17.9857f, 99.5439f, 116.0344f, 85.7395f, 106.6537f, 41.0177f, 62.6236f, -27.4056f, -139.7237f, -70.5707f, 148.2318f, 128.9077f, 124.7000f, -92.9236f, -144.0688f, -77.1586f, 288.9071f, 226.4347f, 124.6281f, -55.6669f, 78.3503f, 42.4807f, -79.0042f, -178.3122f, 128.1446f, 107.8855f, -55.1806f, 79.1238f, 66.4433f, 43.2504f, 16.2992f, 80.8281f, 140.7251f, 73.5809f, -134.6119f, -155.8599f, -200.3194f, -90.9865f, 253.7969f, 164.9683f, 31.5576f, -248.1197f, -375.5200f, -476.6351f, 180.7157f, 210.6575f, 79.8609f, 81.7351f, 78.7261f, -9.7665f, -75.8617f, -194.4922f, -307.4282f, 75.4347f, -56.0501f, -175.4331f, -210.0029f, 75.9892f, -41.3638f, -129.4197f, 26.7040f, 24.1293f, -89.1388f, -186.3199f, -327.9780f, -225.0781f, 123.8019f, 49.8056f, 110.5614f, -262.0009f, -365.9398f, -315.0958f, -44.6833f, 152.6366f, 130.9091f, -24.3555f, 96.1914f, 0.9431f, -122.7709f, -265.0437f, -118.4077f, 70.4388f, -34.3324f, -41.7155f, -106.2450f, 35.3080f, -77.1729f, -11.0485f, 113.3317f, -43.5801f, 345.8234f, 448.9382f, 398.8093f, 278.1467f, 193.7783f, 109.9307f, -32.5084f, 105.2215f, 192.0218f, 307.4095f, 251.2213f, 135.6460f, 27.1659f, 48.2501f, 131.1255f, 248.6208f, 194.8135f, 35.9742f, -89.6413f, -70.1114f, 74.4933f, 10.3277f, 157.1341f, 220.2146f, 132.8669f, 58.2022f, -4.2414f, 52.5998f, -171.9997f, 219.1700f, 183.7592f, 79.7388f, -28.2743f, -72.7875f, 54.8047f, -281.0813f, 5.4272f, 138.6439f, 89.6476f, 26.7423f, -52.0621f, 181.8158f, 42.9908f, 121.1063f, 40.1449f, 4.6961f, 41.3091f, 11.3680f, 61.7374f, -69.6739f, 44.0933f, 62.9511f, 55.3414f, 47.1718f, 45.0520f, 10.5398f, -254.2462f, -161.6377f, -252.0311f, -59.3082f, -64.1228f, -5.1355f, -167.6060f, -249.7012f, -368.7658f, -266.1853f, -40.5172f, -31.5949f, 20.3852f, -73.7292f, -259.0964f, -63.9727f, -123.4555f, -266.6797f, -372.6790f, -79.9634f, -32.2913f, -237.8991f, -261.1591f, -67.3100f, -201.9258f, -271.1355f, 110.5556f, -31.4253f, -252.1870f, -59.5241f, -149.7008f, -264.8359f, -95.9333f, -15.7623f, -55.9292f, -291.6127f, -310.8436f, -291.0997f, -152.3425f, -38.1903f, 16.9302f, 107.5521f, -234.1635f, -77.8775f, -155.4929f, -169.1375f, -170.1633f, -210.0618f, 12.2871f, -432.5516f, -222.0327f, -146.7204f, -103.4423f, -49.3643f, -8.0516f, 0.3778f, 330.7150f, 223.7578f, 120.2566f, 152.9689f, 119.1688f, 39.3462f, 21.3169f, 106.4649f, 114.2936f, 78.3297f, 104.4772f, 135.1724f, 78.5670f, 48.1339f, 284.0033f, 187.5895f, 88.2418f, 0.6583f, -25.3445f, -53.7671f, 63.9802f, 106.5275f, 81.1295f, 67.7705f, 114.2483f, 4.6206f, 98.6728f, 68.0557f, 132.7267f, 80.9311f, 70.2013f, 34.2614f, 45.4356f, 17.9487f, 185.5185f, -179.6926f, -64.9953f, -11.8397f, 5.1401f, 42.9932f, 67.5337f, 154.7699f, 53.6060f, 34.2805f, 16.7478f, -53.4059f, -36.7348f, 13.1978f, 110.7422f, 37.6082f, -5.5267f, 88.1530f, 15.7336f, 24.4194f, 27.1976f, 50.6641f, -182.5485f, -287.0959f, -395.1311f, -458.4781f, -119.8993f, 119.0388f, -26.2634f, -239.2084f, -359.3420f, -447.6111f, -221.6196f, -3.2312f, 35.8538f, -9.6860f, -70.9599f, -105.8073f, -192.0091f, -294.5047f, -334.6240f, 111.9638f, -29.3527f, -193.0902f, -307.5872f, -268.9553f, -266.8591f, -276.8985f, 53.4395f, -127.3159f, -112.3830f, -214.7503f, -352.5892f, -431.6330f, 130.6462f, 125.3650f, -24.3701f, -138.4310f, -254.9568f, -325.5955f, -173.9416f, 0.3136f, 147.4202f, -59.5469f, -63.4081f, -119.3462f, -237.6156f, -366.1194f, -116.1935f, 96.5096f, -74.8714f, -91.5009f, -186.5192f, -95.3213f, -190.6698f, -103.7853f, 133.5730f, -129.6124f }; /*-------------------------------------------------------------------* * AMR-WB ISF codebook - 46bits, 2 stages, 1st stage common with the * 36bit codebook,5 splits in the 2nd stage * * codebook vector dimension number of vectors * ~~~~~~~~ ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~ * 2_1 3 64 * 2_2 3 128 * 2_3 3 128 * 2_4 3 32 * 2_5 4 32 *-------------------------------------------------------------------*/ /*-------------------------------------------------------------------* * 2nd stage, 1st split: ISF0 to ISF2 *-------------------------------------------------------------------*/ const float dico21_isf_46b[] = { 128.4688f, 159.8148f, 97.2755f, -12.9836f, 197.1542f, 62.3669f, -11.1370f, -5.4038f, 227.1786f, -102.5247f, 49.5302f, 138.2452f, 56.6014f, 92.4597f, 68.2462f, -59.4614f, 95.8021f, 47.7671f, 10.6214f, 16.4206f, 132.7432f, -33.0052f, -36.4880f, 121.6274f, 111.3621f, 86.8573f, -60.9301f, 18.4019f, -16.9460f, -196.8595f, 91.2159f, 47.1568f, 150.3417f, 40.7444f, -123.8314f, 17.6656f, 68.7560f, 76.0870f, 3.0834f, 40.5189f, -22.9558f, -36.8239f, 68.9463f, 20.8592f, 75.1641f, -13.4297f, -49.7472f, 59.4394f, 222.6512f, 108.2263f, -13.1594f, -26.2678f, -128.5232f, -249.6796f, -61.3770f, -106.3253f, 180.3803f, -69.2195f, -180.5594f, 77.3840f, 125.7118f, 69.8739f, 44.7696f, -150.6344f, 66.9866f, 7.4132f, 7.5039f, -4.7150f, 76.2746f, -46.9159f, -98.2953f, 78.4325f, 118.5603f, 14.1695f, -131.2373f, -50.1565f, -86.1739f, -148.3825f, 66.6965f, -72.1903f, 115.4583f, -94.5599f, -121.9918f, 8.8523f, 77.1679f, 15.2443f, 6.1163f, -1.0987f, -69.2605f, -43.3316f, 43.3928f, -36.3404f, 29.4998f, -36.0829f, -87.1134f, 1.6094f, 69.0548f, 158.6352f, -17.3680f, -65.7580f, 148.4039f, -58.1224f, -1.4207f, 106.6547f, 129.4115f, -163.9787f, 200.5753f, 108.3887f, 8.0981f, 96.4962f, 18.4523f, -22.7513f, 51.0308f, -0.8203f, -1.3389f, 52.2067f, 70.5057f, -56.5316f, 15.5148f, 68.5082f, 73.6822f, 28.9345f, -56.5083f, -10.5212f, -17.6820f, -126.8611f, 144.6737f, -44.4661f, -8.2446f, -32.2712f, -161.9950f, -67.5138f, 29.9266f, 37.2667f, -20.0451f, -15.7787f, -11.7016f, -26.2432f, 27.7648f, 34.4647f, 33.4065f, -13.8614f, -38.4420f, 5.6107f, 27.0098f, 76.8588f, -130.2875f, -76.5280f, 30.9527f, -90.1727f, -135.8326f, -53.3710f, 85.3346f, -137.4852f, -34.8750f, -33.3215f, 18.2807f, 78.3958f, -50.7970f, -64.5101f, 14.5083f, -5.6925f, -16.6084f, 1.0141f, 33.5889f, -63.0082f, -42.0433f, 31.0393f, 32.2577f, 8.3123f, -92.4112f, -31.6346f, -58.2893f, -92.9305f, 58.7086f, -72.6659f, -98.0877f, -72.8089f, -97.1838f, -63.2264f, -7.5866f, 25.6299f, -54.3822f, -10.3321f, -19.4552f, -70.7729f, 9.4725f, 4.3403f, 0.0721f, -50.7563f, -41.0679f, -38.2745f }; /*-------------------------------------------------------------------* * 2nd stage, 2nd split: ISF3 to ISF5 *-------------------------------------------------------------------*/ const float dico22_isf_46b[] = { -49.5271f, 121.1295f, 16.4769f, -94.4022f, 76.8061f, 2.1280f, -58.8683f, 32.7926f, -6.6703f, -83.7461f, 49.5749f, -58.1205f, -96.5332f, -51.1816f, 62.2310f, -104.6874f, -104.4218f, -36.9709f, -84.8023f, 0.4441f, -31.0082f, -105.8907f, -31.0867f, -72.0962f, -17.4561f, 170.2726f, 62.0341f, 64.3231f, 77.6492f, 152.6545f, -13.0558f, 31.6496f, 73.1381f, -25.9540f, -16.3235f, 138.6579f, -116.2904f, -22.1347f, 133.9606f, -42.0923f, -209.9028f, 88.4509f, -56.0897f, -9.1734f, 75.5450f, 68.7883f, -157.0452f, 33.8343f, 20.5838f, 115.6837f, 9.8136f, -32.8948f, 98.7358f, -40.4656f, -22.8099f, 41.1383f, -49.3496f, -66.1700f, 67.9190f, -122.8227f, -18.8196f, 17.0630f, -114.9884f, -64.0458f, -162.7084f, -94.5118f, -54.2084f, 1.0923f, -75.9526f, -60.5415f, -80.9324f, -82.4130f, 46.5760f, 125.8621f, 83.1458f, 129.9934f, 19.7027f, 148.2803f, 92.6546f, 96.4434f, -0.8040f, 181.9977f, -6.0791f, 78.6212f, 93.0392f, -99.5781f, -41.6073f, 26.0437f, -172.0070f, -58.1634f, 47.8475f, -34.2895f, -54.2498f, 34.4187f, -96.6345f, -28.5027f, -15.8270f, 90.1190f, 65.2787f, -24.1274f, 60.7006f, 6.3059f, -25.2307f, 6.3412f, 30.0794f, -26.6845f, -0.7965f, -24.5917f, -59.0614f, -117.3599f, 62.4002f, -7.0821f, -130.0555f, 20.9710f, -21.7086f, -36.6794f, 1.9468f, 0.6440f, -74.2564f, 5.5161f, 35.9276f, 57.9971f, 81.4502f, 42.2272f, 3.3575f, 106.2218f, 42.1565f, 13.6719f, 43.0135f, 55.6116f, -33.1310f, 56.8126f, 18.4410f, -61.4055f, 109.0841f, 1.0223f, -125.1248f, 96.1657f, 16.9404f, -28.1707f, 26.5748f, 33.5245f, -84.6827f, 52.6704f, 14.2066f, 54.8716f, 30.7506f, 21.9479f, 68.4119f, -19.0589f, 10.1034f, 17.7161f, 1.1122f, 28.3594f, 21.5207f, -39.3190f, 42.6619f, -71.6784f, -94.4716f, -1.6345f, -110.6804f, -94.5938f, 18.7091f, -26.5385f, -18.5676f, -2.2267f, -59.7051f, -47.6606f, 63.0633f, 76.6895f, 37.6845f, 90.5993f, 31.2041f, 74.2520f, 64.4418f, 37.7231f, 4.2748f, 100.9151f, -12.1708f, 27.5607f, 104.1606f, -30.0584f, -35.7097f, 121.5339f, -81.6812f, 34.1503f, 59.3840f, -5.5457f, -8.5514f, 58.5319f, -58.3782f, 3.4649f, -126.3823f, 217.4185f, 72.9956f, -149.8116f, 119.9919f, 17.7920f, -98.1555f, 10.6050f, 30.1117f, -142.4950f, 30.1718f, -20.4500f, -188.3500f, -32.7229f, 62.5055f, -165.4842f, -201.2336f, -25.1871f, -114.8346f, -46.6803f, -1.4401f, -185.9166f, -45.3806f, -42.6756f, -37.7442f, 124.2892f, 142.7720f, 41.5423f, 244.7676f, 173.7613f, -74.1037f, 46.8818f, 112.0588f, -57.0922f, 25.5056f, 241.9654f, -166.9268f, 94.6864f, 141.8443f, -141.0368f, -145.0649f, 168.9254f, -135.5530f, 39.8468f, 65.4743f, -245.6494f, 76.1803f, -5.6309f, -25.5608f, 185.7902f, -18.2246f, -116.1471f, 125.0659f, -65.5997f, -21.6448f, 139.2267f, -103.0516f, -152.7089f, 32.1737f, -111.7466f, -19.9673f, -12.1771f, -217.1499f, -69.4452f, -156.0378f, -228.9529f, -79.9513f, -19.3186f, -140.5787f, -134.0792f, -92.8863f, -131.5222f, 85.7696f, 178.6823f, 22.5404f, 219.0179f, 182.4547f, 100.9819f, 132.7898f, 105.4102f, -65.5694f, 175.6583f, 30.2382f, -109.3055f, 23.2833f, 65.0492f, -161.3234f, 51.9178f, -98.2708f, -192.0347f, 84.2797f, 61.1831f, -113.4513f, 110.0580f, 0.1775f, -193.4730f, -88.3674f, 114.5595f, 71.3481f, -61.4713f, 52.7833f, 47.8295f, -61.8477f, -23.0151f, 15.1016f, -52.0862f, -46.0690f, -37.7005f, -129.6202f, -120.6827f, 44.2216f, -62.4412f, -165.8667f, -2.2683f, -58.1508f, -82.2449f, 9.3842f, -31.2569f, -108.3441f, -35.0348f, -4.4143f, 48.6610f, 132.2242f, 50.8942f, -27.6676f, 181.6500f, 2.0066f, -17.6839f, 71.9731f, 92.7139f, -37.1637f, 98.9732f, -54.3785f, -76.9789f, 115.8870f, -7.4354f, -117.3479f, 199.5254f, -24.6757f, -59.5165f, 54.3134f, 97.6902f, -113.0194f, 131.1002f, 48.4163f, 132.4722f, -58.7820f, 13.3327f, 68.6117f, -81.0715f, 66.7414f, 64.6961f, -45.2427f, 36.7779f, 14.7160f, -89.5910f, 29.2181f, -25.5238f, -132.3077f, -30.5052f, -80.0320f, -150.5560f, 0.1157f, -11.7322f, -63.8467f, -21.6912f, -43.0765f, -94.6223f, 125.3290f, 95.1208f, 75.9759f, 197.4010f, 92.9319f, -0.5012f, 123.8246f, 45.4969f, 25.5317f, 120.7415f, 34.4155f, -28.8961f, 176.6600f, -20.0903f, -19.4091f, 130.6288f, -84.9368f, -113.4633f, 82.2281f, 16.0388f, -59.4614f, 93.1589f, -21.5846f, -101.7248f }; /*-------------------------------------------------------------------* * 2nd stage, 3rd split: ISF6 to ISF8 *-------------------------------------------------------------------*/ const float dico23_isf_46b[] = { -3.8995f, 58.9472f, 140.2168f, 53.1422f, 116.3810f, 87.0383f, 99.7094f, -40.4441f, 113.1331f, 165.1496f, 2.2135f, 71.5223f, -105.3934f, -104.9144f, -38.2897f, -20.3247f, -32.1811f, 5.1214f, -32.0250f, -106.9634f, -37.7452f, 35.0256f, -95.9288f, -28.2073f, -116.9343f, -27.2704f, 164.5334f, -34.2352f, 142.6884f, 167.9453f, 72.9835f, -124.0776f, 148.8355f, 148.2748f, 14.5359f, 190.7047f, -145.5305f, -123.4847f, 30.8224f, -120.2600f, -39.3306f, 2.0939f, -52.9049f, -176.3645f, 3.0609f, 27.9487f, -164.3167f, -60.3281f, 70.4088f, 66.5042f, -47.2043f, 24.2507f, 69.1997f, -15.5014f, 127.5028f, 31.2976f, -40.8233f, 96.9136f, 102.7271f, -1.9768f, -65.7818f, -70.8663f, -86.5155f, -0.6444f, -8.8675f, -61.8361f, -5.3369f, -58.3089f, -47.3390f, 46.4765f, -35.6284f, -57.4718f, 46.3328f, 129.6813f, -59.6592f, 18.9988f, 118.4842f, 13.3515f, 172.5430f, -21.3132f, -26.8827f, 84.7525f, 177.2668f, 22.5077f, -140.2432f, -73.0634f, -146.3583f, -16.3786f, 19.6063f, -107.1305f, -3.0698f, -104.1769f, -97.1330f, 33.2378f, -33.4660f, -134.9635f, -29.8971f, -15.7433f, 134.7990f, 34.9346f, 52.2504f, 85.7197f, 60.8752f, -31.2562f, 62.5970f, 42.3279f, 15.7348f, 45.3299f, -61.8761f, -80.5864f, 11.3831f, 1.9118f, -12.4255f, 68.2023f, -25.4049f, -61.6688f, 57.1412f, 21.3127f, -30.3874f, 28.3554f, -44.5637f, -86.8534f, 137.9897f, -18.2977f, 31.6219f, 82.2796f, 19.0573f, -58.8750f, 104.6892f, 41.1433f, 1.5028f, 117.9977f, -102.7489f, -51.4207f, 71.3300f, -59.0984f, -10.9389f, 78.5554f, -69.1486f, -120.0273f, 65.0256f, 39.6252f, -86.2109f, 50.9690f, 29.0714f, 22.6919f, -38.4256f, 12.6360f, 17.2986f, 5.2183f, 75.9445f, 11.6720f, -55.4942f, 66.2898f, 37.5939f, 3.0594f, -53.0062f, -46.4272f, -35.4140f, -25.4219f, 2.9542f, -21.2949f, 1.3392f, -73.4502f, 4.6640f, 17.5926f, -24.6153f, -19.1614f, 58.2567f, -8.0154f, -7.3521f, 9.4616f, 56.2212f, 37.1474f, 99.2497f, -8.5999f, 23.5678f, 62.8908f, 76.5199f, 37.4883f, -61.5740f, -23.6494f, 18.8743f, -27.4404f, 12.7151f, 31.8660f, -8.8214f, -125.3200f, 22.5806f, 60.3707f, -57.3931f, 1.9729f, -142.0781f, 128.1134f, 29.9265f, -8.1434f, 177.0072f, 67.7176f, -42.2467f, 31.9985f, 246.1330f, 143.5303f, 102.5801f, 81.3050f, -117.3709f, -24.3191f, -68.7836f, -80.1727f, 55.9021f, -61.6700f, -65.9167f, -159.9841f, -103.0851f, 100.4774f, -105.1623f, -39.0393f, -248.4434f, 113.0562f, -0.9632f, -114.2012f, 244.7349f, 67.3892f, -149.2039f, -141.9386f, 151.3480f, 96.8171f, 204.6967f, 174.6282f, -203.4799f, -43.3805f, -41.7327f, -154.4080f, 46.2418f, -107.0591f, -133.7993f, -265.7036f, -48.9596f, -67.3323f, -174.6485f, -259.0245f, 29.4362f, 57.7183f, -143.2330f, -30.9358f, 102.7735f, -36.8946f, 97.2809f, 57.7730f, -111.7326f, 148.5371f, 105.7429f, -63.3760f, -55.6062f, -1.6898f, -72.6741f, -22.0825f, 43.4697f, -48.9841f, -13.6583f, -42.0695f, -99.1267f, 39.0227f, 11.1441f, -94.4170f, -31.1674f, 118.4450f, -103.1298f, -30.5761f, 181.1050f, -22.4168f, 96.8625f, -8.6867f, -192.7743f, 258.0970f, 258.6485f, 17.2359f, -75.4867f, -15.7399f, -128.9883f, -69.4209f, 56.4875f, -131.4587f, -35.1219f, -77.9249f, -156.1559f, -15.4754f, -8.8922f, -194.7119f, -74.8584f, 44.6175f, 122.9601f, -15.9046f, 95.4389f, 74.2532f, 34.5640f, -37.7631f, 189.4453f, 93.9878f, 31.0970f, 82.8675f, -96.2834f, 15.6201f, 33.9921f, -60.9930f, 57.5930f, 52.2667f, -0.7661f, -130.2809f, 93.4385f, 120.2708f, -79.2677f, 42.9508f, -179.2200f, 97.8633f, 164.7641f, -85.0375f, 121.2092f, 89.0752f, -33.4305f, -135.1092f, 255.3923f, 71.7349f, 68.5372f, 165.8218f, -187.7999f, -24.7305f, 65.9037f, -136.4161f, 45.6197f, 73.4184f, -48.8887f, -218.9293f, 120.9648f, 61.8728f, -162.4253f, 36.5784f, 17.9416f, 66.9736f, -75.1315f, -24.6266f, 61.4069f, 5.3953f, 100.0199f, -13.7281f, -105.7749f, 125.9485f, 48.0431f, 20.6117f, -83.4273f, 1.6803f, -29.7397f, -60.9733f, 33.6154f, -6.9071f, 49.9381f, -77.0001f, -90.5842f, 103.7070f, -35.1051f, -38.3706f, -120.2797f, 129.5670f, -56.7507f, -51.1815f, 120.2600f, 22.5398f, 198.7324f, 23.1592f, -132.3752f, 219.6951f, 76.6881f, -5.4836f, -147.6706f, 39.1117f, -18.2240f, -91.4913f, 78.8627f, 0.3161f, 40.5908f, -105.4075f, -192.5737f, 124.6250f, -81.8382f, -127.0619f }; /*-------------------------------------------------------------------* * 2nd stage, 4th split: ISF9 to ISF11 *-------------------------------------------------------------------*/ const float dico24_isf_46b[] = { -30.8071f, -34.8458f, -1.7377f, -66.7509f, 30.0385f, -82.3340f, 62.4748f, -75.5700f, 38.3392f, 47.0287f, -40.0671f, 126.1063f, 12.5178f, -8.7146f, -50.3954f, 27.9620f, 30.3537f, -104.7235f, 71.0260f, -29.6231f, -25.7014f, 120.7753f, 38.6709f, -56.4990f, -89.5313f, -61.4613f, -32.9542f, -149.7260f, 38.4143f, -27.8365f, -35.1587f, -137.6189f, 4.6136f, -110.8198f, -69.6633f, 69.4652f, -25.4794f, -48.9702f, -64.6927f, -34.0250f, -68.5378f, -137.1167f, 16.3769f, -77.3935f, -18.8382f, 60.1539f, -54.6626f, -95.0395f, -29.9828f, 6.8644f, 42.3138f, -15.0985f, 138.6659f, 35.6532f, 34.1357f, 3.3162f, 60.3957f, -1.5046f, 61.8542f, 93.5327f, 49.8233f, 37.2486f, -21.0923f, 2.6462f, 96.2433f, -48.4645f, 100.8559f, 5.8835f, 34.9436f, 80.3813f, 84.4933f, 38.3143f, -78.4639f, 3.3495f, 7.0416f, -121.9442f, 90.8917f, 79.7252f, -15.2997f, -67.8455f, 60.6317f, -56.1035f, -3.5687f, 110.7510f, -22.2741f, 27.4204f, -26.9833f, -61.1362f, 73.0974f, 7.1390f, 21.0362f, -11.6205f, 9.0680f, 9.3252f, 52.8599f, 21.3451f }; /*-------------------------------------------------------------------* * 2nd stage, 1st split: ISF12 to ISF15 *-------------------------------------------------------------------*/ const float dico25_isf_46b[] = { 65.8574f, 55.5896f, -46.5520f, 44.9019f, 80.4838f, -7.7875f, 36.7110f, 88.1867f, -41.5522f, 122.0924f, -8.3769f, 6.2406f, -24.0605f, 63.0705f, 27.8308f, 99.4548f, -34.8725f, 39.6270f, -72.1743f, 48.7995f, 28.2859f, -11.6999f, -78.4246f, 134.1911f, -100.6717f, 12.7337f, -3.2716f, 31.4897f, -40.5514f, -60.1846f, 28.1000f, 115.5554f, 56.1050f, -26.6471f, -104.7202f, -9.7237f, 31.5196f, -30.3722f, -34.0636f, 41.4375f, 8.5013f, 60.4295f, -72.4835f, -46.4772f, -18.1378f, -10.8741f, 10.5206f, 35.6699f, -44.7247f, -14.6405f, -68.4296f, -12.8925f, -36.6233f, -86.8592f, -73.8785f, 47.7951f, -51.6319f, -46.3776f, -74.4907f, -105.4981f, -67.2817f, -67.7186f, 6.9193f, -16.9668f, 108.8168f, 52.7624f, -16.3049f, -50.0846f, 72.9801f, -33.7268f, 89.4150f, -54.0673f, 62.1588f, 93.8928f, 54.7414f, 17.8328f, 26.7626f, 9.6218f, 88.5287f, 29.9594f, 8.1440f, 44.9198f, 5.0806f, 2.9996f, 26.4759f, -96.7328f, 49.0444f, 31.6496f, -58.6349f, 53.6024f, 80.8924f, -3.3883f, -60.0341f, -51.9482f, 112.9073f, 26.0056f, 55.9483f, -14.6255f, -33.5049f, -127.3506f, 70.1847f, -12.4499f, 7.3368f, -8.8635f, 10.1728f, 65.7077f, 45.2101f, -90.9790f, -12.5750f, -10.0652f, 45.9762f, -30.2995f, 1.2805f, -3.2898f, -17.5766f, -44.9828f, 22.1316f, -84.0894f, -21.1065f, -32.5923f, -81.6581f, 43.6873f, -8.6894f, -65.0775f, -35.4129f, -58.9663f, 65.8078f, -102.2045f }; /*-------------------------------------------------------------------* * AMR-WB ISF codebook - 36bits, 2 stages, 1st stage common with the * 46bit codebook,3 splits in the 2nd stage * * codebook vector dimension number of vectors * ~~~~~~~~ ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~ * 2_1 5 128 * 2_2 4 128 * 2_3 7 64 *-------------------------------------------------------------------*/ /*-------------------------------------------------------------------* * 2nd stage, 1st split: ISF0 to ISF4 *-------------------------------------------------------------------*/ const float dico21_isf_36b[] = { -20.3147f, -37.6762f, 82.8575f, 122.9161f, -28.4468f, 31.9756f, -79.5400f, 141.6557f, 53.2923f, -77.0688f, -49.3360f, -129.1711f, 71.5448f, 85.1944f, 55.7117f, -19.1147f, -16.1797f, 217.6729f, 89.8943f, 28.1868f, 0.9668f, -28.5091f, 63.7145f, 147.3305f, 86.3104f, 52.0605f, 43.3415f, 108.6263f, 83.9071f, -42.8628f, -39.7734f, -7.6796f, 110.7755f, 44.0677f, 106.4663f, 32.7239f, 124.4301f, 113.4192f, 7.2217f, 33.0503f, -9.5746f, -1.9619f, 48.6607f, 51.4268f, -79.8193f, -14.9729f, -2.0174f, 111.5604f, -3.5774f, -139.2041f, -54.5000f, -100.1092f, 35.8796f, 45.5500f, -73.7805f, -56.2694f, 74.4424f, 122.2707f, 20.1155f, -38.3887f, 65.2094f, -3.9808f, 17.2638f, 96.6362f, 14.0115f, 148.8982f, 77.1199f, 93.1280f, 28.7596f, 2.2577f, 14.8324f, -159.4414f, 11.4260f, -1.0211f, -33.2422f, 35.9112f, 103.8106f, 61.4044f, -9.7034f, -78.2548f, 62.7658f, -47.4034f, 27.3267f, 32.6865f, -54.7569f, -6.2693f, -33.7779f, 43.5591f, -36.6678f, -73.8111f, -104.9376f, -105.4944f, 137.0911f, 41.7979f, -9.4558f, -26.6750f, -26.3288f, 192.3279f, -40.3915f, -60.3539f, -20.5168f, -51.3274f, 24.2191f, 47.5655f, 3.7810f, 52.7448f, 32.7149f, 110.3630f, -21.5464f, -46.7397f, -4.6471f, -85.4498f, 129.3530f, -31.6973f, 65.0658f, 85.9795f, -53.2356f, 57.2992f, -67.2997f, -16.4516f, 54.7607f, -37.1454f, -42.4738f, -34.5633f, -75.7294f, 0.0517f, -0.6519f, -1.3703f, -12.9917f, -148.9960f, -25.8564f, -84.6818f, 59.5151f, -72.5006f, -156.8837f, 95.5045f, 42.2665f, 60.9475f, -54.5273f, -154.2295f, 44.2810f, -53.2856f, -76.4082f, 42.9736f, -9.5286f, 83.7851f, 46.2184f, 4.1979f, -25.1575f, -51.0520f, -43.1590f, -111.8518f, -2.3420f, -129.5042f, 6.3083f, 36.5568f, 37.9981f, 30.8304f, -113.4959f, -79.9345f, -1.8493f, -15.3605f, -7.7093f, 98.5986f, -37.6177f, 29.8557f, 67.8956f, 39.3578f, 63.5122f, 23.6349f, -27.0502f, -93.1902f, -21.6230f, 155.8476f, 2.5165f, -44.7515f, 124.6855f, 64.1401f, 107.4525f, 76.4296f, -5.6913f, 14.2025f, -18.3757f, 129.1303f, 47.2448f, 88.4045f, 81.8179f, 106.0131f, 126.8375f, 71.9790f, 5.1288f, -31.2676f, -85.3474f, 183.8293f, 137.8851f, 112.3553f, 147.7620f, 6.3634f, -19.8307f, 97.9225f, 68.1479f, 45.1480f, 20.4456f, 58.0360f, -109.0384f, 91.7441f, 107.7617f, 15.1212f, 47.0576f, -18.7769f, 0.0359f, -42.2360f, -42.2471f, 94.1364f, -132.5071f, -36.3673f, 208.5491f, 17.4150f, 13.0281f, -33.9693f, 75.8679f, 58.1435f, -27.7181f, 158.0312f, -17.2012f, 159.6027f, 144.6236f, 31.6370f, -72.6323f, -59.9622f, 9.6094f, -39.8213f, -175.1189f, 48.5059f, -67.6102f, 8.4503f, 159.5329f, -43.0075f, -121.1605f, -83.4178f, -10.0988f, 8.8687f, -32.4219f, 44.4166f, 5.5756f, -42.8299f, 63.9306f, 20.2856f, 86.9213f, -32.1874f, 14.3835f, -9.6605f, -102.7732f, 119.7146f, -5.8143f, -181.8677f, 162.2914f, 114.1354f, 64.3820f, -7.2207f, 11.2529f, -7.2901f, -66.7670f, 60.6365f, 71.2140f, 69.9911f, 56.0744f, -10.7183f, 90.0489f, 100.9538f, -40.2531f, -96.6451f, -154.5512f, 92.9078f, 43.9867f, 146.6528f, -60.2643f, -42.7063f, -1.4891f, 60.9280f, 38.2143f, 33.0628f, -113.9071f, -1.8860f, -48.5082f, 45.4740f, 54.2829f, -45.4768f, -38.2865f, -114.7585f, -5.4061f, -32.4176f, -108.6457f, -45.8426f, -147.6796f, 41.4813f, 12.9066f, -41.5456f, -134.2382f, -189.2112f, 46.4330f, 6.8074f, -160.9846f, 53.8969f, 64.9889f, 149.8519f, 39.6080f, -79.5860f, 34.3934f, -61.0983f, -47.2568f, -110.8652f, -117.2089f, -0.3717f, -64.7306f, 109.4393f, 12.8368f, -59.4424f, -122.1797f, -31.4694f, -14.4126f, 8.5189f, 89.4622f, 59.7035f, 14.3509f, -23.3690f, -32.3486f, 92.0827f, -3.3169f, -16.0022f, -66.1460f, -89.0215f, 49.1022f, -7.9295f, 141.6034f, -91.8393f, 6.6528f, 142.3305f, -60.9383f, 61.1140f, -9.9035f, -11.7998f, 27.9396f, 56.3528f, 60.7524f, 59.7717f, -10.3224f, 100.1088f, 37.9471f, 56.4210f, -8.0706f, -14.3273f, 18.7969f, -25.3479f, 97.6871f, 24.5711f, 30.0075f, 106.4596f, -49.8085f, 48.5911f, -50.4430f, -10.2232f, 15.4334f, 3.6211f, -45.0851f, -2.3100f, 32.1923f, 14.7250f, -35.3260f, -71.2667f, -131.2863f, -5.1029f, 11.0382f, 61.7451f, 35.4884f, -11.6345f, 94.0117f, 53.4418f, -66.3264f, -6.6649f, 57.0155f, 5.4850f, -4.4053f, 12.7554f, 23.6955f, 74.8564f, 77.0331f, 21.2315f, -32.6182f, 33.2036f, 9.1670f, -78.1914f, -30.2862f, -11.1652f, 54.5347f, 47.7388f, 92.4139f, 41.3020f, -133.3741f, 53.0528f, -22.2909f, -55.2830f, -33.2798f, -6.2896f, -28.8257f, -23.1116f, -35.0033f, -3.2927f, -72.9685f, -7.7727f, -82.3073f, -104.1028f, 84.5118f, -69.8221f, -43.1637f, -19.5349f, -2.7976f, 85.8117f, -104.2825f, -27.2739f, -22.1902f, -16.4648f, -6.6730f, -5.7920f, 27.7237f, 12.5658f, 8.3566f, 24.7755f, -53.6096f, 12.7618f, -53.5741f, -68.1802f, 40.6279f, -26.4454f, 38.0614f, -26.1757f, -16.7503f, 52.0974f, -117.6298f, 86.4284f, -45.3502f, -78.0491f, -31.6007f, -35.9389f, -106.1265f, -24.8954f, -15.9989f, -21.2401f, -95.2454f, -86.1251f, -112.2460f, -94.4001f, -19.4652f, -33.9923f, -34.6433f, -95.7000f, 92.3440f, 39.8654f, -64.8912f, -115.0483f, 25.8969f, 9.4794f, -63.2644f, -27.6289f, 36.9308f, 25.6901f, 52.9741f, -35.3425f, -86.0458f, -14.2567f, -38.4101f, -62.7105f, -86.5748f, -73.4519f, 11.4446f, -7.0262f, 6.9787f, -7.4983f, -161.9427f, 3.4520f, 19.1677f, 23.8207f, 38.9733f, 15.3764f, -21.7743f, -43.1688f, 31.9400f, 52.7685f, -11.9674f, 20.1452f, -35.0128f, -59.7929f, -36.1783f, 73.7702f, 71.2205f, -83.5945f, 115.1128f, 46.5742f, -28.7420f, 110.8292f, 0.6347f, 53.5489f, 14.3686f, 18.4025f, 71.1819f, 35.9728f, 45.7217f, 71.9726f, -20.7319f, 145.8423f, -8.1019f, -5.6290f, -13.8278f, 53.1928f, 152.8343f, 57.0881f, 50.3240f, -64.1728f, -11.0774f, 129.9089f, 36.0925f, 31.0887f, -32.6698f, 39.1693f, -52.3060f, -3.1405f, 84.8560f, -12.4226f, 1.0655f, -18.3673f, -58.9719f, 98.0129f, -83.8334f, 55.3139f, 35.7679f, -87.3652f, 121.2513f, -67.0447f, -107.5562f, 38.2622f, 62.0513f, 60.4638f, -69.1208f, 43.6854f, 20.7579f, 79.9694f, 10.7071f, 3.2196f, -93.6621f, 75.1450f, 66.1122f, 46.9324f, -124.5950f, -78.3322f, 41.3915f, 4.3229f, 13.8757f, -33.6575f, -92.7601f, 177.5551f, -42.5067f, -60.2164f, -63.5331f, 67.8862f, -21.5990f, -14.9811f, 12.6046f, -39.5598f, -30.2755f, -22.9980f, -80.2668f, -125.5028f, -37.7023f, 27.0213f, 31.0364f, -121.0989f, 17.0095f, 6.9604f, -72.1639f, 13.2205f, -45.0105f, -7.6587f, -57.9626f, -15.4159f, 79.2983f, -11.3128f, 60.2083f, -11.6157f, -61.5281f, 64.7932f, -17.6502f, -51.3289f, -123.9766f, -9.4275f, 141.7024f, -64.4806f, -80.0931f, -43.9064f, -86.7513f, 103.4672f, -12.6910f, -17.1597f, -58.5736f, 21.2452f, -75.2569f, -2.3195f, -14.7279f, -99.6098f, -65.8753f, -44.8940f, -103.7556f, 33.9613f, -73.7263f, -13.9038f, -66.1526f, -23.2670f, -33.9743f, -103.9167f, -170.2949f, -66.2644f, -26.4354f, -31.7233f, -108.7190f, 9.2282f, 14.7962f, -9.0340f, -7.5327f, -60.7032f, -100.1385f, 55.1481f, -23.7530f, -88.2969f, -220.5980f, -68.4569f, 27.6805f, 3.3643f, -11.1758f, -92.5898f, -201.1381f, 102.8789f }; /*-------------------------------------------------------------------* * 2nd stage, 2nd split: ISF5 to ISF8 *-------------------------------------------------------------------*/ const float dico22_isf_36b[] = { -116.4826f, -2.3267f, 37.0276f, 11.9585f, -83.2536f, -34.0855f, -47.5833f, 101.8900f, 1.6666f, -19.3089f, 81.2133f, 5.5915f, -50.2199f, -43.0204f, 11.8773f, 45.9389f, -83.6736f, 100.7533f, 42.9626f, -91.7069f, -15.8879f, -6.8432f, -49.2481f, 46.8567f, 40.2748f, 25.3026f, 49.6150f, -14.6042f, 49.1020f, -13.9172f, -9.5624f, 9.9442f, -53.7549f, -26.0755f, -108.5515f, -72.7670f, -64.1594f, -75.7696f, -78.4742f, 30.5700f, -82.2540f, -34.1100f, -20.0480f, -86.1655f, -68.0474f, -31.0203f, -36.5615f, -15.3976f, 8.8102f, -2.3252f, -61.3614f, -93.8460f, 8.4465f, -43.1451f, -59.6402f, -26.4485f, 57.8873f, -1.8283f, -0.9150f, -58.1355f, -0.3760f, -52.6396f, -15.1757f, -69.7872f, 26.6552f, 140.6710f, -45.5320f, -5.9904f, 53.5205f, 18.1777f, -108.7393f, 57.1700f, 53.1281f, 101.4898f, 52.8254f, 25.2450f, 23.9310f, 45.2712f, -17.5932f, 37.8318f, 90.1549f, 147.8806f, 33.8829f, -46.8215f, 132.2255f, 69.0079f, -106.1068f, 1.3402f, 103.9284f, 60.8167f, 10.9874f, -26.8688f, 101.6619f, 32.7808f, -33.2101f, 33.7802f, -103.9522f, 60.0893f, -100.1459f, -71.1324f, -6.7456f, -25.3835f, -118.9063f, -2.2439f, -15.7859f, 68.4583f, -59.0835f, -70.2552f, -10.4160f, 10.4323f, -34.1781f, -24.5999f, 47.1747f, 44.4596f, -64.8288f, -183.2536f, 62.0332f, -25.7788f, -126.3596f, -90.0926f, 83.7341f, 59.4975f, -55.2472f, -82.6595f, 53.3482f, 14.1273f, -71.7379f, -20.0471f, -110.1113f, -92.4130f, 15.5809f, 3.7302f, -18.8013f, -91.7902f, -14.6105f, 98.1369f, -21.2096f, -126.2513f, 53.1438f, 11.3308f, -34.3197f, -67.9178f, 83.0592f, 77.2733f, -152.4262f, 38.6895f, -24.6967f, -146.6594f, 41.7355f, -66.1454f, -64.2312f, 165.7005f, 27.0772f, -43.2220f, 54.9943f, -65.1872f, 28.8899f, -50.2606f, 25.5035f, 56.2652f, -137.7163f, -80.7691f, -80.0014f, -42.7037f, -62.3651f, -150.7820f, -138.8149f, 38.1900f, -68.7802f, -192.5785f, -7.8749f, -55.9578f, -98.5983f, -168.6083f, -0.7398f, 84.2329f, -35.1656f, -67.9774f, -65.6374f, -160.6224f, 4.9446f, -110.8514f, -89.3759f, -62.4133f, -34.1288f, -108.8451f, 13.3702f, -98.1466f, -29.4614f, -102.8405f, -22.8325f, -16.4528f, 163.9105f, 20.5337f, -82.4577f, -139.6505f, 149.8660f, -13.6016f, -146.1693f, 154.5116f, 26.6673f, -89.2330f, 126.1283f, -0.6475f, 65.0738f, -119.9143f, 75.1351f, 75.9130f, 179.3039f, 128.5647f, -1.9070f, -129.8349f, 146.4228f, 30.7058f, -2.7357f, 122.1955f, 110.1199f, -48.4108f, 78.0568f, -35.8715f, 105.8916f, -63.1848f, -27.3019f, 70.1234f, -61.4940f, -116.2433f, -200.7709f, -120.8167f, 22.5673f, -63.6047f, -213.1464f, 7.0661f, 48.3577f, -141.9964f, 65.3628f, -93.1012f, 32.5991f, -160.4748f, -45.5903f, 37.6377f, 54.6730f, -43.7561f, -151.6335f, -243.7797f, 101.1397f, -52.0073f, -123.8756f, 16.0909f, 63.7439f, -50.8957f, -25.0308f, -130.5887f, 88.2969f, -64.3814f, -48.5324f, -43.0123f, -181.9705f, -24.0096f, 2.3863f, 89.5185f, -59.5915f, 80.1714f, -56.6992f, 94.5562f, -62.1659f, 18.9433f, 76.0160f, 57.8553f, -22.4665f, 10.7743f, 12.0918f, 108.9830f, -118.1671f, 72.3971f, 109.1443f, -1.3839f, -23.8459f, 76.9232f, 22.9444f, 33.4435f, -44.5975f, 47.9554f, 65.6020f, -20.3018f, 13.6440f, 14.2271f, 38.9794f, 49.0774f, -159.0490f, 40.0263f, -30.2347f, -15.6526f, -132.0447f, -0.4802f, -133.5965f, 61.0673f, -69.7882f, 40.8409f, -13.3128f, -38.0654f, -72.3667f, 32.7089f, -13.7936f, 42.2054f, -51.7645f, 41.9187f, -35.3954f, -139.3463f, -70.4106f, 21.2248f, -89.5260f, 9.2659f, -17.3511f, 18.5094f, 18.3073f, -71.0465f, -25.6477f, 4.9120f, 17.7504f, 1.3904f, -132.5788f, 97.9003f, 25.0501f, 88.4524f, -16.3421f, 39.3618f, -136.5657f, 107.5423f, -38.7664f, 155.3425f, 55.5880f, 47.1198f, 43.2628f, 4.6910f, -39.9914f, 101.5498f, 0.0830f, 197.2389f, 101.6377f, -36.9070f, 62.8279f, 111.5018f, -37.6259f, 87.5036f, -1.4618f, 80.2742f, 122.5196f, 12.8147f, 65.1409f, 54.2334f, 34.3093f, 79.7332f, -91.6271f, 123.5048f, -23.6092f, -9.5877f, -3.2208f, -58.6010f, -121.8443f, 78.4266f, -14.0112f, 114.0430f, 23.9902f, -40.4777f, -15.4729f, 68.1635f, -63.4068f, 16.5519f, -8.1780f, 157.1093f, -11.2800f, -137.0649f, 8.0606f, 59.4657f, -140.5838f, -36.3320f, 22.2676f, 74.5499f, 82.8755f, -76.6792f, 29.5054f, 61.7793f, -8.0867f, -27.0956f, -128.1797f, -72.1649f, 129.2723f, 46.4323f, -20.7709f, 111.3353f, 22.0263f, 131.4695f, -41.9162f, -9.2182f, 158.1064f, 11.2798f, -7.1545f, 53.6140f, 106.2812f, 108.0610f, -99.5471f, 8.6443f, 67.7713f, -74.7187f, 115.0857f, 125.6656f, 126.8208f, 118.1528f, 8.3489f, -10.6246f, 129.8214f, -69.4937f, 46.4587f, 5.2711f, 105.7244f, 50.4485f, -177.6754f, -70.1548f, 45.4547f, -74.5236f, -88.7724f, 24.0424f, -57.8465f, 204.7888f, -68.8890f, -112.1224f, 110.3182f, -61.1447f, -94.7905f, 5.0186f, 77.6790f, 167.9779f, -23.0125f, -19.1513f, 44.8958f, -142.4394f, 28.0225f, -67.2659f, -53.6584f, 36.2990f, -54.0239f, -49.3550f, 55.1522f, -32.8946f, 2.0792f, -48.4861f, 14.9542f, -7.9957f, -100.8337f, 121.3744f, 234.8044f, 83.3187f, 36.5393f, 50.8425f, -23.7400f, 196.1698f, -0.3059f, -61.1762f, 189.5078f, 122.4017f, 57.0232f, -28.8934f, 61.7134f, 134.6930f, 107.9555f, 52.8736f, 109.5032f, -22.1311f, 191.2912f, 98.4213f, 38.7853f, 16.9729f, 104.1509f, -28.9315f, 167.6925f, 40.9011f, 108.7356f, -8.7976f, 46.5837f, 36.6080f, -211.7768f, 190.5028f, 100.4753f, -45.0833f, -32.7791f, -95.3684f, -171.2339f, 186.7766f, -44.0395f, -212.9286f, 151.2602f, 39.5958f, -37.2152f, -119.5092f, 43.4460f, 194.5965f, 37.2023f, 64.8673f, 8.5289f, -117.5366f, 163.8890f, -5.9760f, -22.5312f, -30.3817f, 105.4272f, 11.3735f, 47.6228f, -110.1422f, 62.3479f, -93.6059f, 19.4353f, -14.9112f }; /*-------------------------------------------------------------------* * 2nd stage, 3rd split: ISF9 to ISF15 *-------------------------------------------------------------------*/ const float dico23_isf_36b[] = { 31.6601f, -7.0021f, 26.7324f, -10.6919f, -47.7440f, -109.3316f, -1.6793f, 17.6152f, -69.1639f, 81.7745f, -11.6557f, -53.0002f, -28.8501f, 51.3155f, -17.3392f, 39.6296f, -29.4208f, -34.2716f, -18.7475f, -53.4279f, -21.0682f, -95.6211f, -11.0108f, 24.5639f, -6.9345f, -43.8606f, -40.3930f, 22.5841f, -30.9469f, -2.2484f, 85.8968f, -25.2118f, 44.4649f, -13.7549f, -19.6283f, 42.5807f, -25.3893f, 55.9790f, -44.6039f, 50.3451f, 29.5180f, 49.0040f, 64.7422f, 35.0105f, -24.0120f, -94.6131f, 72.4785f, -29.0560f, -16.8213f, -17.7762f, -36.1097f, 19.1423f, -88.8131f, 9.4121f, -60.6212f, 15.2182f, 26.1194f, 33.0214f, 38.6243f, -16.4898f, 20.5108f, -71.7754f, -109.7775f, 55.6133f, -47.5797f, 0.0746f, 8.1716f, -55.6639f, -5.8260f, -6.7666f, 86.9148f, 36.0665f, -8.0422f, -18.6522f, -31.9936f, -5.4779f, -65.2340f, 20.0656f, -14.5303f, -94.7449f, -11.7982f, -35.2031f, 6.9138f, -22.0461f, 20.9060f, 41.0458f, 29.0299f, 33.4933f, 27.0675f, 5.1646f, -39.4529f, 76.7175f, 28.2216f, -34.8562f, 16.7304f, 25.2291f, 7.4912f, 15.3906f, 47.1053f, 13.3625f, 50.9902f, -31.9588f, 9.8596f, 83.1329f, -61.0081f, 39.4355f, -39.6936f, -53.1235f, -8.1282f, 22.3882f, 83.7131f, 8.6440f, 13.9302f, -48.4179f, 80.1925f, 79.6573f, 22.8321f, -61.0888f, -32.5848f, 32.2601f, -45.5857f, 53.4300f, 53.4773f, 33.0895f, 45.4420f, 17.2865f, -36.0406f, -57.6566f, -26.6841f, 4.2674f, -39.8452f, -76.9236f, -85.9930f, -29.8696f, -72.1261f, -22.6802f, 51.6689f, -10.3407f, -71.6716f, 33.3209f, -2.6190f, -11.9459f, -0.7138f, 9.1651f, 80.0695f, -58.7987f, 3.7833f, -10.6521f, -14.2910f, -1.7854f, -6.9002f, 114.1547f, 51.0851f, 0.4936f, 45.5988f, -65.6262f, 3.5076f, -36.3037f, 31.3412f, -22.8916f, -48.6823f, -71.1623f, -95.4642f, 38.3287f, -9.4939f, 52.9002f, -8.4421f, 36.7283f, 86.2675f, 37.9505f, 41.2317f, 16.4269f, 16.7260f, -62.6682f, 32.6168f, 9.9181f, -25.0994f, -8.3770f, 2.2985f, 5.3157f, -6.0428f, 60.1555f, 49.0247f, 6.0545f, -54.7919f, 58.6261f, -3.9732f, -80.9565f, -44.3777f, 30.6734f, -24.5101f, -82.4513f, -27.4901f, -10.8146f, -84.7650f, 64.6334f, 18.0553f, 14.7350f, -8.7675f, 109.6707f, 51.4393f, -24.1075f, 42.7732f, 43.6601f, 21.1278f, -43.7223f, -36.3814f, 81.3688f, 10.3561f, 115.5857f, 44.7304f, 4.0203f, -57.4008f, 16.1462f, 84.4927f, 16.5958f, -107.7931f, 19.3887f, -44.8683f, -99.3061f, 65.1051f, 45.6203f, -0.6984f, 23.6828f, 6.4828f, 56.2769f, 13.3073f, -28.0424f, -72.7066f, -58.5212f, 106.1769f, -11.1674f, -25.7849f, -34.9574f, -36.9812f, -58.1843f, 50.2182f, 98.0044f, 47.6759f, 0.1786f, -19.4605f, -91.2611f, -35.5267f, 13.8815f, 10.2127f, -41.1350f, -39.8329f, -34.1829f, -47.4437f, -91.9939f, -2.6788f, -4.2821f, -79.6033f, 42.6213f, 2.0653f, -74.4526f, 41.0602f, -5.7905f, 63.6539f, -31.4071f, 12.4383f, -9.2647f, -81.5461f, 16.0430f, 114.6936f, 27.3863f, -41.2719f, -36.6253f, -79.4997f, -46.2467f, 46.8034f, -19.4146f, -14.6126f, -31.9554f, -93.9975f, 17.8233f, -51.0152f, -11.4389f, 58.4455f, -21.6241f, 12.9670f, 60.7166f, 46.9564f, -34.6928f, -3.1553f, 2.7762f, 24.2978f, 83.1108f, 31.8670f, 23.6533f, 6.8663f, -63.0785f, 56.1031f, 59.2073f, 11.6877f, 51.3190f, 25.3083f, -33.9761f, -99.5482f, -6.6294f, -41.7488f, -3.1041f, 33.3329f, -24.8851f, 20.0947f, -63.3399f, 87.2565f, -20.6208f, -52.2549f, 102.0059f, 26.9280f, -22.0208f, 85.2782f, 28.3108f, -43.2782f, 0.8584f, 60.5987f, -44.2357f, -33.9700f, 19.1247f, 33.1631f, -10.8275f, -63.5371f, 16.2471f, -0.2828f, -76.6458f, 2.8322f, 15.2373f, -95.8412f, 5.5912f, -53.4989f, -30.8518f, 4.1365f, -62.3116f, 79.0018f, -114.5611f, -36.8596f, 12.7812f, 81.1609f, 39.2434f, 21.9162f, -17.2064f, 127.1804f, -30.4279f, -15.8549f, 90.5057f, 4.9324f, -55.6202f, 88.7264f, 31.2457f, -6.4338f, -33.9992f, 78.4675f, 12.7460f, -51.8920f, 5.7002f, -71.3454f, -22.6305f, -75.0886f, -18.4430f, 71.6854f, -49.9613f, 51.9112f, 38.5919f, -80.1990f, 4.2373f, -60.6613f, 30.4453f, 20.4006f, 28.0162f, 55.1546f, -96.2887f, 10.3433f, 38.5883f, 59.1444f, 23.2247f, 45.0000f, -24.9305f, -30.9055f, -18.2692f, -6.1201f, -5.6460f, 2.1550f, 18.2502f, -16.8166f, -28.0966f, -69.3654f, -10.5762f, 63.4193f, 43.8444f, 16.6643f, -67.9380f, -68.3269f, 93.1501f, 72.8030f, 27.6125f, -21.1484f, -73.4926f, -29.7929f, -88.0045f, 91.0304f, 15.1885f, -15.1144f, -61.6391f, 47.5526f, 17.2017f, -10.0973f, 16.8435f, 32.7608f, 50.6231f, -36.3173f, -19.8196f, 8.7833f, 1.1920f, 35.7643f, -58.4480f, 53.1925f, -71.1458f, -22.3426f, 37.8118f, -51.2779f, 69.9477f, -30.3236f, 31.2621f, 35.5419f, -64.6025f, 35.1224f, -0.6572f, 57.9364f, 5.6749f, 50.6782f, 25.3456f, 68.4492f, 45.6955f, -53.8176f, 44.6419f, -53.4407f, 51.5645f, 1.3456f, -4.0462f, -72.5604f, 54.6610f, -1.6150f, -14.3009f, 99.1775f, -24.2467f, 36.0557f, -42.7052f }; /*-------------------------------------------------------------------* * AMR-WB ISF codebook for SID - 28bits, 1 stage, 5 splits * * codebook vector dimension number of vectors * ~~~~~~~~ ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~ * 1 2 64 * 2 3 64 * 3 3 64 * 4 4 32 * 5 4 32 *-------------------------------------------------------------------*/ /*-------------------------------------------------------------------* * 1st stage, 1st split: ISF0 to ISF1 *-------------------------------------------------------------------*/ const float dico1_ns_28b[64*2] = { -105.0619f, -262.8448f, -86.6322f, -209.7320f, -91.1931f, -168.0481f, -53.8753f, -176.1473f, -82.7923f, -129.2635f, -75.0845f, -93.9859f, -33.9476f, -90.3333f, -74.4463f, -50.0451f, -27.3422f, -41.3458f, -64.0658f, -2.5361f, 28.8179f, -70.0786f, 10.5059f, -12.8463f, -39.9581f, 28.7359f, -63.4034f, 44.7503f, -36.8732f, 67.0368f, -2.3563f, 50.6058f, -55.9412f, 91.2822f, 5.5577f, 85.1171f, -25.2586f, 105.6009f, 34.3216f, 71.1726f, -48.3043f, 133.1605f, -17.0366f, 148.8321f, 14.8305f, 130.6908f, 45.5592f, 106.8464f, -43.7865f, 177.4889f, 28.9675f, 168.2081f, -1.7812f, 190.4731f, 68.4806f, 149.8876f, -32.5396f, 218.9960f, 47.8438f, 206.6539f, 8.1960f, 234.8430f, 89.3668f, 188.0221f, 90.4035f, 118.3064f, 88.4263f, 237.5410f, 117.3136f, 145.4498f, 82.0645f, 73.1093f, 119.3943f, 103.4796f, 128.2321f, 184.8528f, 149.1563f, 129.2199f, 144.9058f, 51.5776f, 54.4305f, 22.6608f, 142.5451f, 8.2812f, 97.4966f, -31.8767f, 173.0963f, 84.9898f, 188.5170f, 42.9719f, 166.5772f, 162.2136f, 226.1740f, 86.5496f, 202.2992f, 129.9512f, 223.9365f, 175.1483f, 177.6235f, 206.6174f, 267.4435f, 128.4469f, 129.8694f, 226.5438f, 232.5047f, 231.7147f, 182.8960f, 252.1132f, 297.7026f, 201.9668f, 127.2108f, 277.0716f, 189.5906f, 309.6084f, 50.8926f, 267.2207f, 262.1367f, 287.8791f, 138.4480f, 342.2196f, 34.3804f, 314.8025f, -25.4771f, 275.9066f, -13.5804f, 397.0122f, 103.9035f, 438.8237f }; /*-------------------------------------------------------------------* * 1st stage, 2ndt split: ISF2 to ISF4 *-------------------------------------------------------------------*/ const float dico2_ns_28b[64*3] = { -322.0252f, -345.3659f, -370.7835f, -314.5226f, -178.1928f, -163.4712f, -172.6074f, -171.2812f, -211.3224f, -84.6538f, -225.6710f, -309.6982f, -65.7865f, -173.3148f, -227.1618f, -112.2154f, -192.0593f, -106.9376f, -215.4487f, -115.9810f, -117.3159f, -63.6069f, -129.9179f, -139.6890f, -144.6460f, -90.4563f, -90.4457f, -68.4568f, -140.0307f, -62.0772f, -148.8729f, -8.2807f, -139.6018f, -71.8488f, -61.9658f, -63.2677f, -20.5518f, -74.4279f, -109.2530f, 7.0237f, -104.2936f, -83.9866f, -53.7369f, 23.9918f, -110.5212f, 27.5927f, -37.1603f, -114.8537f, 5.1437f, -60.8316f, -213.2375f, -0.0302f, -32.5161f, -30.9893f, 17.0532f, 37.8947f, -123.4512f, 69.4656f, -20.4364f, -83.2673f, 86.8486f, -101.9140f, -164.6497f, 92.7595f, -46.0582f, -17.0665f, 55.0807f, 56.5797f, -51.6089f, 141.9268f, 31.5952f, -111.9348f, 83.1350f, 25.3995f, 13.2634f, -41.6305f, 36.7624f, -1.8806f, 35.5619f, -11.1360f, 49.0468f, -138.6944f, 20.1165f, -16.0470f, -85.7227f, -29.5173f, 56.5419f, -24.5306f, 39.2035f, 95.3233f, -280.8913f, 17.3520f, 10.4723f, -223.4287f, -48.5814f, 60.3781f, -165.0790f, 52.0898f, 122.9863f, -358.1462f, 27.5800f, 87.6394f, -104.6460f, 124.2969f, 51.2676f, -36.4609f, -74.1586f, 163.9110f, -38.0255f, 47.6372f, 191.7725f, -30.7896f, 123.7246f, 138.8302f, 50.7064f, 39.0454f, 126.9589f, 33.4334f, -114.5499f, 82.0810f, 52.0289f, 100.6551f, 62.9260f, 68.9398f, -28.6776f, 181.7511f, 76.3353f, 117.0400f, 150.0834f, 135.9951f, 8.5581f, 86.5077f, 146.9219f, 71.3024f, 159.6375f, 147.3144f, 111.7858f, 78.8838f, 94.6612f, 83.2958f, 257.4856f, 100.5727f, 220.5308f, 96.9196f, 134.4751f, 159.3021f, -29.6067f, 158.3509f, 171.9108f, 198.9399f, 238.9283f, 150.3837f, 148.0492f, 209.2346f, 237.2747f, 84.4977f, -21.9723f, 227.3437f, 75.1847f, 39.1823f, 202.0239f, 221.5619f, -142.6753f, 174.8218f, 173.9311f, 284.1931f, 135.5243f, 4.0420f, 197.3545f, 139.2970f, 296.6173f, 248.5921f, 227.1523f, 257.1579f, 130.8344f, 201.7665f, 332.6679f, 147.8451f, 316.0691f, 223.3704f, -76.1983f, 342.8470f, 323.9619f, 206.5931f, 276.1481f, 385.6192f, 358.4664f, 283.4258f, 153.2502f, 488.2212f, 389.4155f, 415.1465f }; /*-------------------------------------------------------------------* * 1st stage, 3rd split: ISF5 to ISF7 *-------------------------------------------------------------------*/ const float dico3_ns_28b[64*3] = { -314.4522f, -327.3454f, -302.2017f, -203.9117f, -244.9068f, -323.6309f, -186.2536f, -189.6962f, -235.4297f, -115.3995f, -187.7246f, -247.4612f, -142.8871f, -150.1942f, -153.3509f, -72.7072f, -161.6552f, -154.8560f, -92.6058f, -153.8863f, -41.3953f, -98.5994f, -78.7129f, -107.5332f, -23.9335f, -69.1898f, -172.7805f, -32.7960f, -77.3107f, -77.6193f, -69.7610f, -48.7327f, -12.2728f, -28.2008f, -18.3660f, -63.7045f, -116.3960f, -85.9584f, 84.0164f, -24.9241f, -65.7832f, 98.1712f, -51.8131f, 60.9599f, -23.0835f, -11.5386f, -0.7831f, 49.5084f, 20.9367f, 25.8838f, -24.0191f, -91.0503f, 8.0161f, 98.1430f, 81.8089f, -19.4694f, 12.5661f, 12.6976f, 75.6776f, 53.0320f, -45.8943f, -7.2062f, 185.7293f, 78.8625f, 17.9396f, 120.6767f, 99.9111f, 72.2135f, 20.5674f, 13.7143f, 77.9979f, 152.4088f, 78.0738f, 102.8484f, 94.6295f, -84.5040f, 118.1050f, 114.7064f, 50.0596f, 139.6647f, -0.1577f, 7.5966f, 168.3675f, 112.1363f, 87.3316f, 174.4695f, 109.2434f, 143.4298f, 64.6162f, 83.1959f, 155.2307f, 122.7478f, 124.7551f, 149.4719f, 147.9446f, 29.2261f, 108.3426f, 127.0695f, 180.3353f, 153.8867f, 197.0929f, 130.5922f, 98.1956f, 38.2729f, -83.1688f, 175.9048f, 59.9165f, 174.8273f, 220.7233f, 88.4354f, 29.6527f, 183.5505f, 149.7702f, 195.9197f, 248.2375f, 152.2900f, 108.7161f, 92.6034f, 52.6123f, 242.1773f, 133.7155f, 156.6441f, 253.6524f, 129.4868f, 215.2826f, 202.4702f, 50.8526f, 163.2149f, 231.3041f, 207.4225f, 119.3517f, 287.7008f, 284.9414f, 152.0429f, 226.6699f, 194.1092f, 217.5607f, 272.9373f, 115.7381f, 149.7147f, 341.2299f, 110.4872f, 243.8135f, 296.4818f, 49.2583f, 242.9759f, 185.7527f, 218.4281f, 232.2570f, 184.3956f, 149.3219f, 300.8763f, 240.4531f, 280.7402f, 239.3506f, 291.1599f, 210.7589f, 249.5308f, 362.4219f, 201.8519f, 322.7530f, 312.7221f, 267.0336f, 316.7373f, 236.0985f, 293.8933f, 307.2101f, 334.8007f, 364.5740f, 258.0872f, 136.8430f, 271.0491f, 175.6599f, 414.3537f, 219.3663f, 355.8581f, 410.6574f, 321.8781f, 317.4617f, 431.4073f, 295.9753f, 408.9221f, 344.4007f, 445.2552f, 358.3636f, 347.1212f, 405.7584f, 486.9081f, 556.9660f, 579.1823f, 650.5953f, 732.6415f }; /*-------------------------------------------------------------------* * 1st stage, 4th split: ISF8 to ISF11 *-------------------------------------------------------------------*/ const float dico4_ns_28b[32*4] = { -303.1361f, -333.7803f, -347.8725f, -359.4826f, -215.7523f, -238.3714f, -259.0660f, -289.4405f, -125.2913f, -144.5697f, -186.1030f, -220.5702f, 107.0201f, -62.5400f, -178.2959f, 78.3558f, 103.6377f, 26.1626f, -62.5396f, -119.5691f, -2.9518f, -82.1288f, 30.9020f, 106.1641f, 63.5315f, 92.0127f, 120.0751f, 120.2205f, 225.8191f, 123.6829f, 24.8449f, 116.4136f, -3.5121f, 76.7992f, 133.5771f, 242.3746f, 133.9970f, 90.5385f, 122.6116f, 242.8362f, 67.7067f, 58.1366f, 214.2467f, 205.7587f, 139.2159f, 144.6370f, 188.0780f, 146.8699f, 52.7259f, 173.3530f, 190.5093f, 217.0651f, 152.5843f, 183.9790f, 190.4016f, 255.0127f, 89.0815f, 165.5783f, 224.8295f, 325.9805f, 164.7109f, 145.4724f, 282.2096f, 266.3416f, 115.0926f, 262.9259f, 270.8098f, 248.1893f, 210.4561f, 232.8534f, 230.5395f, 175.4710f, 185.5563f, 241.3006f, 257.2568f, 319.6433f, 287.0131f, 201.7823f, 191.6938f, 262.7153f, 234.9706f, 135.0743f, 100.3842f, 342.4814f, 244.1460f, 248.1535f, 331.5106f, 281.3059f, 283.8415f, 319.6996f, 272.8347f, 232.3501f, 255.2254f, 187.9562f, 269.5668f, 445.0594f, 318.1439f, 297.7580f, 274.9042f, 354.5264f, 198.0688f, 291.9682f, 350.7645f, 365.4872f, 331.2469f, 333.9341f, 361.1275f, 306.5865f, 252.3140f, 405.2271f, 344.4444f, 310.3618f, 301.5996f, 329.9839f, 399.8752f, 449.5998f, 442.5639f, 384.1796f, 319.3500f, 359.8945f, 367.3365f, 417.2813f, 488.9795f, 508.7549f, 620.4818f, 690.0919f, 671.0975f, 590.9387f }; /*-------------------------------------------------------------------* * 1st stage, 5th split: ISF12 to ISF15 *-------------------------------------------------------------------*/ const float dico5_ns_28b[32*4] = { -316.2941f, -343.3920f, -368.9643f, -99.0392f, 97.0450f, 71.7080f, 262.1754f, 50.0767f, 112.4468f, 274.7287f, 358.7211f, 38.6232f, 257.1795f, 217.8952f, 258.6022f, 85.4104f, 215.6079f, 228.7031f, 355.6118f, 81.4276f, 218.4167f, 314.1638f, 296.3636f, 46.5526f, 236.5851f, 302.2603f, 359.7074f, -54.3647f, 305.5962f, 297.4161f, 292.2765f, 81.3061f, 295.4005f, 276.4861f, 384.1555f, 21.9038f, 212.3865f, 337.6641f, 394.4713f, 59.4888f, 287.8841f, 272.8244f, 385.4754f, 116.6899f, 301.1416f, 360.9641f, 343.2708f, 40.2882f, 209.5407f, 306.5670f, 375.3650f, 158.1632f, 260.4655f, 357.6203f, 312.8495f, 128.1323f, 288.3843f, 275.2455f, 301.9735f, 171.2988f, 321.4736f, 340.3829f, 387.3967f, 138.5811f, 250.1021f, 392.3276f, 410.9932f, 144.0109f, 282.6727f, 320.9480f, 370.8150f, 233.3823f, 161.9622f, 255.8086f, 284.8333f, 188.2323f, 393.9827f, 349.8717f, 309.8297f, 141.6719f, 354.6675f, 313.7792f, 268.4562f, -9.8681f, 396.7580f, 327.4283f, 395.0635f, 73.8789f, 369.8889f, 434.5653f, 367.9579f, 86.8706f, 356.9169f, 409.7761f, 383.1727f, 205.7493f, 373.4236f, 385.5478f, 394.8253f, -47.0644f, 305.1456f, 409.5952f, 437.7072f, 36.1164f, 460.1152f, 411.4012f, 345.2657f, 18.4203f, 438.6750f, 413.5906f, 461.8582f, 46.2207f, 364.6111f, 379.8415f, 498.6693f, 139.3899f, 433.1401f, 358.6805f, 429.9292f, 196.6537f, 405.9484f, 502.2995f, 476.5874f, 123.6977f, 527.5430f, 471.6736f, 394.4862f, 127.2615f }; const float *lsf_means[2] = { means_wb_31bits_ma_lsf, means_nb_31bits_ma_lsf }; const lsp_unw_triplet p16_gamma0_92to1[16] = { { 0.00000f, 1.19764f, -0.59173f }, { -0.91173f, 1.79182f, -0.80921f }, { -0.51779f, 1.44703f, -0.81871f }, { -0.44862f, 1.36777f, -0.75103f }, { -0.45150f, 1.30719f, -0.74220f }, { -0.43157f, 1.21326f, -0.68538f }, { -0.43606f, 1.21317f, -0.69131f }, { -0.39200f, 1.04941f, -0.58674f }, { -0.45208f, 1.10009f, -0.59175f }, { -0.42553f, 0.99725f, -0.49992f }, { -0.50168f, 1.07575f, -0.51401f }, { -0.49800f, 1.06563f, -0.50592f }, { -0.53101f, 1.16372f, -0.58033f }, { -0.48744f, 1.07596f, -0.52531f }, { -0.51899f, 1.04998f, -0.49495f }, { -0.47730f, 0.90959f, 0.00000f } }; const lsp_unw_triplet p16_gamma0_94to1[16] = { { 0.00000f, 0.78925f, -0.38537f }, { -0.57154f, 1.19486f, -0.54136f }, { -0.33642f, 0.99096f, -0.56792f }, { -0.29856f, 0.93785f, -0.51255f }, { -0.29716f, 0.89303f, -0.50509f }, { -0.28264f, 0.81530f, -0.46020f }, { -0.27926f, 0.80997f, -0.46378f }, { -0.25334f, 0.69596f, -0.38969f }, { -0.29656f, 0.72916f, -0.38888f }, { -0.27488f, 0.65949f, -0.32999f }, { -0.32630f, 0.70913f, -0.33659f }, { -0.33069f, 0.70668f, -0.33105f }, { -0.35437f, 0.77582f, -0.38003f }, { -0.31771f, 0.70752f, -0.34216f }, { -0.35066f, 0.70177f, -0.31664f }, { -0.33404f, 0.62528f, 0.00000f } }; const float dico_lsf_abs_8b[256*M] = { 377.3749f, 688.0079f, 1147.3799f, 1461.0438f, 1786.7794f, 2143.6711f, 2522.1946f, 2889.7402f, 3263.6023f, 3628.4624f, 4005.4351f, 4379.4170f, 4783.9556f, 5157.1753f, 5555.1797f, 5926.6816f, 601.5123f, 1066.8242f, 1384.3585f, 1652.9448f, 1978.3910f, 2311.2676f, 2674.0537f, 3010.3896f, 3360.0623f, 3725.9336f, 4093.3335f, 4470.6431f, 4859.1006f, 5210.4717f, 5598.3716f, 5954.4204f, 552.5036f, 859.7047f, 1355.2023f, 1624.9041f, 1887.5609f, 2173.1638f, 2540.7429f, 2926.8169f, 3323.2173f, 3680.7197f, 4008.3447f, 4330.8442f, 4692.8228f, 5033.9697f, 5443.3467f, 5875.4497f, 459.4534f, 793.3189f, 1293.7278f, 1617.3970f, 1920.0642f, 2192.2153f, 2487.5627f, 2772.1514f, 3111.3823f, 3461.2671f, 3867.0176f, 4279.8550f, 4741.0664f, 5141.0181f, 5552.8237f, 5933.6934f, 327.9834f, 430.4954f, 723.9031f, 1528.6172f, 1763.1125f, 2013.7936f, 2334.2153f, 2569.0334f, 3017.9436f, 3308.0610f, 3591.7820f, 3865.5430f, 4693.5786f, 5286.7646f, 5647.7036f, 5987.2305f, 455.0753f, 606.0817f, 963.7564f, 1374.9937f, 1536.4897f, 1914.7618f, 2376.9631f, 2580.8184f, 2989.1501f, 3258.8386f, 3485.1460f, 3741.1270f, 4297.4912f, 5207.3779f, 5672.3818f, 5980.5322f, 434.9507f, 558.8508f, 890.7061f, 1355.7625f, 1552.6155f, 1895.7960f, 2222.5579f, 2502.6079f, 2841.8738f, 3137.5264f, 3367.7336f, 3860.7769f, 4795.2554f, 5090.9370f, 5421.8218f, 5874.4287f, 281.0164f, 404.5417f, 729.2898f, 997.1851f, 1699.8862f, 1961.3673f, 2255.7202f, 2540.9187f, 2804.4553f, 3057.1843f, 3750.2288f, 4340.9893f, 4716.8647f, 5002.7471f, 5477.2998f, 5965.7402f, 372.2410f, 505.3570f, 762.3755f, 997.3586f, 1174.4255f, 1986.1741f, 2368.1367f, 2624.1733f, 3194.6084f, 3403.2793f, 3877.7622f, 4425.7676f, 4824.7837f, 5158.1606f, 5532.7466f, 5893.5483f, 367.3766f, 501.1806f, 824.5358f, 1090.6857f, 1271.9792f, 1527.7137f, 2381.4382f, 2694.4634f, 2964.5359f, 3639.4832f, 3946.4038f, 4254.3916f, 4645.8076f, 5033.5396f, 5373.8735f, 5878.4385f, 229.4505f, 352.5671f, 701.0831f, 1226.4518f, 1678.3601f, 1895.7949f, 2140.0664f, 2526.5515f, 3080.3391f, 3297.8284f, 3845.3987f, 4427.9785f, 4704.4551f, 4997.4155f, 5434.0698f, 5918.4785f, 336.3082f, 516.7915f, 881.9847f, 1272.5824f, 1505.1870f, 1880.7520f, 2274.9458f, 2611.0083f, 3126.5256f, 3655.5332f, 4183.3877f, 4668.2993f, 5004.0029f, 5305.3491f, 5650.4985f, 5943.7383f, 296.0867f, 469.6519f, 956.5997f, 1224.1262f, 1443.0049f, 1727.6880f, 2216.1677f, 2689.3677f, 3060.4456f, 3520.9438f, 3916.6050f, 4343.7954f, 4763.8906f, 5156.0132f, 5553.8115f, 5936.9634f, 407.1503f, 577.5120f, 839.7361f, 1455.3907f, 1665.2137f, 1935.0054f, 2398.0537f, 2652.2605f, 3111.1831f, 3505.5962f, 3766.7554f, 4204.8730f, 4699.1631f, 4970.8652f, 5295.5962f, 5695.6919f, 281.0083f, 361.8386f, 950.9102f, 1464.1158f, 1634.7019f, 1965.4950f, 2211.1406f, 2662.1055f, 2846.0122f, 3585.8884f, 4048.7148f, 4358.9150f, 4683.8755f, 5046.0908f, 5400.0859f, 5956.1040f, 279.1811f, 393.9142f, 876.8306f, 1502.2417f, 1673.0590f, 2288.7161f, 2545.3674f, 3028.9507f, 3517.5840f, 3824.4246f, 4144.8486f, 4481.8140f, 4821.2769f, 5162.3975f, 5542.8560f, 5928.5854f, 379.7892f, 500.9199f, 725.0223f, 998.7143f, 1179.6127f, 1771.9886f, 2775.4812f, 3136.8457f, 3378.6143f, 3674.0188f, 3946.3604f, 4184.4824f, 4521.5454f, 4934.8940f, 5315.5029f, 5759.7544f, 317.4339f, 442.2628f, 778.7388f, 1167.8633f, 1356.1576f, 1578.5603f, 1840.1584f, 2870.7527f, 3236.1504f, 3502.7249f, 3876.3696f, 4100.5244f, 4650.2632f, 5235.1890f, 5665.2285f, 5999.0649f, 350.2696f, 492.2163f, 763.0640f, 1264.7550f, 1515.0244f, 1755.7783f, 2489.3274f, 2898.6252f, 3143.1018f, 3643.0640f, 4035.0657f, 4255.0889f, 4641.7231f, 5138.5107f, 5557.1318f, 5920.2402f, 301.3833f, 464.9852f, 762.3419f, 1012.2126f, 1803.5172f, 2192.4214f, 2651.6287f, 3013.6697f, 3251.3591f, 3539.4675f, 3946.3433f, 4469.3560f, 4890.7446f, 5200.4878f, 5509.6753f, 5910.2397f, 253.1752f, 356.8990f, 630.3325f, 1163.1683f, 1528.6230f, 2023.4438f, 2488.6001f, 2745.5627f, 2933.7024f, 3237.4414f, 3976.9258f, 4415.2534f, 4789.9131f, 5194.3423f, 5714.6445f, 6032.4160f, 265.1815f, 364.7549f, 590.0148f, 805.2595f, 1564.7582f, 2150.6536f, 2365.6501f, 2598.7876f, 2861.5334f, 3514.1265f, 4005.6328f, 4609.3091f, 4955.4478f, 5238.4116f, 5519.5884f, 5890.7925f, 209.3544f, 313.1497f, 503.2642f, 949.4504f, 1729.7280f, 1912.6814f, 2117.5051f, 2498.6272f, 3284.6587f, 3810.8555f, 4105.0195f, 4349.5151f, 4770.3682f, 5210.2910f, 5585.1533f, 5970.3638f, 302.3150f, 415.6502f, 684.1018f, 922.3598f, 1489.4418f, 2235.6252f, 2449.9773f, 2800.6938f, 3061.3721f, 3526.1001f, 3905.8174f, 4170.7891f, 4446.4209f, 4907.9937f, 5470.7158f, 5914.7261f, 264.9068f, 366.4342f, 582.8182f, 790.8568f, 1619.4548f, 2034.0782f, 2337.6724f, 2632.1714f, 2933.2356f, 3430.1858f, 3815.0198f, 4276.3931f, 4748.3149f, 5164.0098f, 5553.3320f, 5974.9092f, 249.6359f, 361.9234f, 581.9844f, 841.1097f, 1657.5543f, 2184.4114f, 2525.9739f, 2820.0503f, 3120.7190f, 3623.7678f, 4050.5435f, 4434.5742f, 4802.6782f, 5171.8438f, 5575.0068f, 5963.7402f, 290.1085f, 404.2538f, 664.1223f, 878.2748f, 1237.1085f, 2237.4707f, 2497.5647f, 2957.7786f, 3289.3928f, 3626.5276f, 4190.9243f, 4594.6450f, 4981.7456f, 5283.5513f, 5617.1538f, 5938.3760f, 182.7846f, 270.3831f, 490.2131f, 1070.2524f, 1674.5724f, 2092.4905f, 2524.1472f, 2929.3523f, 3334.8005f, 3712.0061f, 4101.2896f, 4475.7324f, 4866.1919f, 5231.7559f, 5606.4077f, 5960.9644f, 286.7701f, 386.1487f, 577.4210f, 764.3087f, 1151.2404f, 2014.4502f, 2399.8547f, 2879.0371f, 3160.2502f, 3450.6274f, 3869.8240f, 4368.3618f, 4816.7861f, 5187.6450f, 5564.7231f, 5962.0386f, 179.9538f, 266.0682f, 647.9122f, 1380.2810f, 1776.1240f, 2208.4592f, 2590.6843f, 2993.6758f, 3368.2034f, 3753.2156f, 4125.2124f, 4508.6050f, 4878.9932f, 5249.3291f, 5612.5049f, 5965.2134f, 309.2416f, 434.7111f, 724.6614f, 936.5360f, 1264.9886f, 2272.1338f, 2548.4519f, 2904.0798f, 3313.4990f, 3579.7854f, 3914.5811f, 4297.5938f, 4756.9072f, 5163.2017f, 5592.2822f, 5943.7222f, 256.9009f, 393.7155f, 769.3966f, 1200.9640f, 1774.4797f, 2307.9629f, 2794.6799f, 3165.9431f, 3507.7952f, 3840.5791f, 4142.8877f, 4453.5078f, 4790.6973f, 5142.6123f, 5530.5977f, 5923.2188f, 394.1425f, 602.0079f, 934.5173f, 1352.9718f, 1813.9639f, 2172.5435f, 2603.7295f, 2963.9590f, 3335.2344f, 3732.0515f, 4120.0151f, 4487.9668f, 4877.6294f, 5238.9336f, 5596.1479f, 5939.6489f, 373.0307f, 665.4328f, 1227.4684f, 1524.6017f, 1947.3784f, 2361.6384f, 2778.1921f, 3134.5396f, 3462.3992f, 3752.4592f, 4069.0352f, 4404.2720f, 4782.2241f, 5145.0581f, 5541.9980f, 5932.9136f, 449.9942f, 814.1862f, 1344.2784f, 1682.7061f, 2086.3599f, 2486.9709f, 2916.1177f, 3265.9099f, 3616.3977f, 3919.6345f, 4218.5342f, 4519.2207f, 4857.5220f, 5193.5269f, 5573.7339f, 5934.5400f, 531.4455f, 965.7403f, 1458.5353f, 1773.3784f, 2236.0146f, 2650.9109f, 3099.2871f, 3467.1567f, 3809.7056f, 4094.6472f, 4378.5811f, 4660.2471f, 4962.5078f, 5270.9863f, 5629.4160f, 5973.6450f, 565.5986f, 1091.1300f, 1561.4944f, 1983.5482f, 2492.8821f, 2897.5085f, 3233.5361f, 3539.8831f, 3838.6494f, 4093.4460f, 4372.1924f, 4678.2251f, 4999.2646f, 5325.0371f, 5672.8887f, 5998.9990f, 581.0623f, 976.0275f, 1447.0302f, 1779.9243f, 2148.2158f, 2543.8347f, 2979.5061f, 3373.6099f, 3796.8259f, 4164.8242f, 4510.5493f, 4853.5527f, 5175.6318f, 5465.3647f, 5763.2334f, 6050.6582f, 429.4613f, 802.5781f, 1229.0529f, 1512.6678f, 1835.8625f, 2216.9915f, 2625.3999f, 2995.9927f, 3379.5146f, 3764.7837f, 4156.1382f, 4532.4570f, 4906.4678f, 5262.8960f, 5626.6519f, 5970.6504f, 224.5468f, 328.6938f, 615.8844f, 1207.4470f, 1520.9565f, 1865.9806f, 2182.4731f, 2431.4897f, 3239.3486f, 3490.9065f, 3775.7139f, 4291.4312f, 4740.0815f, 5192.0786f, 5532.9302f, 5928.7236f, 312.1133f, 424.3103f, 716.4448f, 921.9969f, 1244.5491f, 2017.9143f, 2248.4170f, 2840.0688f, 3138.9390f, 3399.7288f, 3723.3479f, 3999.6824f, 4582.2339f, 5148.5166f, 5631.8989f, 6000.7192f, 373.5378f, 506.7356f, 789.6149f, 942.6201f, 1695.8035f, 2021.6426f, 2323.3867f, 2649.5979f, 2853.1729f, 3169.5815f, 3524.9375f, 3848.6399f, 4261.7319f, 4978.9668f, 5505.4004f, 5924.7939f, 503.2296f, 724.8124f, 940.3833f, 1220.5646f, 1439.8641f, 1726.9827f, 2215.5464f, 2476.0925f, 2846.8127f, 3232.0950f, 3638.5989f, 3986.3333f, 4371.3052f, 5022.0664f, 5657.4897f, 6040.3452f, 398.3355f, 530.8898f, 835.5377f, 1058.3699f, 1327.2036f, 1814.9178f, 2114.2439f, 2515.8892f, 2754.9077f, 3094.8794f, 3598.7061f, 3981.2385f, 4605.9160f, 5110.8364f, 5550.1899f, 5953.9600f, 327.7583f, 454.8903f, 825.9029f, 1025.4349f, 1321.1567f, 1551.4836f, 1978.2037f, 2838.9021f, 3111.9041f, 3417.3940f, 3841.0564f, 4696.0547f, 5126.1641f, 5409.5347f, 5711.7163f, 5968.3394f, 327.1260f, 431.3983f, 721.9533f, 871.1266f, 1507.7616f, 1847.8716f, 2144.9641f, 2491.1108f, 2702.0847f, 3483.1516f, 3917.5173f, 4254.1260f, 4704.4863f, 4981.6284f, 5450.1035f, 5937.7861f, 443.5867f, 610.7686f, 818.9614f, 999.3525f, 1181.9182f, 1884.4948f, 2243.3950f, 2522.8867f, 2993.8594f, 3196.6631f, 3835.5020f, 4233.2568f, 4506.8604f, 4985.0249f, 5544.1382f, 5980.0083f, 395.7788f, 582.9504f, 822.1151f, 1013.0453f, 1224.6812f, 1988.4263f, 2452.4744f, 2686.4263f, 2952.8831f, 3135.0867f, 3562.5471f, 4006.6929f, 4401.7471f, 5038.5654f, 5567.4189f, 5986.0850f, 264.3071f, 372.0398f, 616.4940f, 842.1705f, 1350.0250f, 1822.1957f, 2165.8896f, 2662.2937f, 3055.4390f, 3502.6787f, 3923.4236f, 4352.6587f, 4772.5068f, 5158.1309f, 5573.9385f, 5972.6895f, 218.7390f, 325.2024f, 635.0441f, 1103.4701f, 1636.4287f, 2070.2615f, 2274.2910f, 2453.2002f, 3069.4382f, 3615.7065f, 3980.0811f, 4484.8662f, 4848.6416f, 5093.7163f, 5522.6973f, 5907.4048f, 260.0797f, 461.2137f, 1049.2261f, 1334.1865f, 1628.6233f, 2014.9823f, 2413.4802f, 2844.4973f, 3232.3040f, 3661.0122f, 4069.8274f, 4466.5210f, 4857.6553f, 5234.4463f, 5608.4517f, 5954.7920f, 301.7969f, 406.3861f, 706.7324f, 1387.1207f, 1581.4719f, 2004.7585f, 2291.9421f, 2548.9978f, 3076.8755f, 3343.1306f, 3623.1770f, 4279.7432f, 4777.6563f, 5084.3960f, 5473.4536f, 5872.0615f, 344.0269f, 472.3550f, 776.6819f, 1455.1270f, 1611.6870f, 2012.4386f, 2417.4033f, 2621.8564f, 3318.9663f, 3709.0132f, 3944.1958f, 4299.0293f, 4776.4038f, 5184.1089f, 5545.5454f, 5913.9531f, 332.1463f, 433.0623f, 992.1605f, 1254.8217f, 1498.4819f, 1824.6357f, 2118.3374f, 2444.6484f, 2684.8369f, 2930.4683f, 3557.4851f, 4292.9014f, 4786.7251f, 5138.2168f, 5616.2739f, 5996.8369f, 281.7202f, 372.7708f, 1074.7051f, 1443.0428f, 1687.6460f, 1980.7075f, 2275.4241f, 2632.2017f, 2848.1765f, 3118.7881f, 3628.5857f, 4522.9585f, 4876.2163f, 5177.2739f, 5600.6675f, 5960.9634f, 412.0151f, 535.6881f, 768.8618f, 1462.2601f, 1789.1055f, 1947.8196f, 2224.6890f, 2447.9089f, 2834.6140f, 3472.6721f, 3729.8525f, 4008.2893f, 4525.7271f, 4822.9194f, 5204.6611f, 5895.0942f, 263.8760f, 379.7789f, 825.0498f, 1113.1218f, 1465.8749f, 1846.7463f, 2146.0496f, 2487.2766f, 2845.8447f, 3388.4800f, 3883.8447f, 4440.7603f, 4867.0815f, 5214.7280f, 5535.8149f, 5906.9932f, 409.8116f, 583.7237f, 859.1983f, 1172.0491f, 1377.6473f, 1984.8322f, 2361.7292f, 2688.9368f, 3238.6563f, 3542.6716f, 3944.3005f, 4441.0840f, 4881.1211f, 5224.6045f, 5604.3711f, 5909.3657f, 318.0743f, 438.8244f, 852.9153f, 1061.4503f, 1290.7609f, 1552.5408f, 2053.1118f, 2373.2883f, 2926.1560f, 3452.9551f, 4098.6626f, 4585.2773f, 4967.0898f, 5271.2720f, 5644.6709f, 5961.9585f, 370.3631f, 496.5860f, 932.6390f, 1213.4189f, 1452.6641f, 1803.1532f, 2092.2354f, 2607.5247f, 2883.8086f, 3112.1086f, 3687.5657f, 4525.1274f, 4846.9404f, 5130.0537f, 5416.4141f, 5804.5122f, 247.8941f, 343.9862f, 751.6780f, 1526.2566f, 1712.5012f, 2038.0667f, 2324.0371f, 2727.9749f, 3005.8975f, 3378.9817f, 3858.2002f, 4339.2017f, 4716.4580f, 5125.0918f, 5564.3589f, 5969.7163f, 297.6552f, 401.7544f, 891.9346f, 1380.2275f, 1540.3125f, 1782.6058f, 2009.2045f, 2614.2092f, 2899.5396f, 3379.9722f, 3804.1169f, 4284.8540f, 4696.3335f, 5118.4551f, 5525.9839f, 5934.2686f, 226.1444f, 333.4511f, 682.9995f, 1307.4166f, 1554.1943f, 1849.3679f, 2116.3438f, 2756.3567f, 3204.3018f, 3540.4106f, 4002.1895f, 4402.7734f, 4796.4395f, 5192.6812f, 5600.6841f, 5960.1855f, 196.3791f, 299.9716f, 572.3173f, 1201.8826f, 1804.7235f, 2012.0171f, 2264.7415f, 2790.3406f, 3272.6926f, 3668.4863f, 4063.0435f, 4442.4419f, 4810.5957f, 5156.0923f, 5512.8501f, 5900.7441f, 280.1911f, 391.5190f, 705.9903f, 1435.5063f, 1588.2345f, 2116.5032f, 2357.1875f, 2670.7461f, 3299.0071f, 3507.9336f, 4044.3057f, 4591.9023f, 4981.4575f, 5281.1270f, 5654.7158f, 5949.9263f, 262.5740f, 370.5089f, 654.7243f, 1278.9299f, 1847.3096f, 2087.3394f, 2553.8892f, 2887.8269f, 3254.0747f, 3810.6626f, 4258.4390f, 4528.8022f, 4872.9741f, 5206.0483f, 5565.2876f, 5918.5596f, 193.6133f, 356.3127f, 1076.8109f, 1485.8608f, 1887.7994f, 2273.1333f, 2676.7832f, 3052.3513f, 3419.1294f, 3792.5024f, 4161.7036f, 4532.6431f, 4898.5176f, 5262.0498f, 5622.8901f, 5976.4863f, 302.7377f, 409.7598f, 899.1851f, 1176.6501f, 1531.3615f, 1933.6494f, 2229.9561f, 2819.8936f, 3031.6248f, 3807.0129f, 4118.7495f, 4412.7339f, 4704.6758f, 5012.0190f, 5351.4160f, 5892.3232f, 421.1889f, 587.3521f, 835.9208f, 1248.0127f, 1475.8882f, 1779.3772f, 2330.6294f, 2606.6780f, 3026.0417f, 3513.8035f, 3754.6023f, 4081.0518f, 4536.3438f, 4815.9336f, 5117.6392f, 5802.9902f, 378.0719f, 722.0884f, 1327.5808f, 1665.8940f, 1954.7782f, 2238.9473f, 2608.8538f, 2958.7910f, 3341.5112f, 3721.2021f, 4095.8457f, 4457.6865f, 4843.8672f, 5212.5142f, 5589.5122f, 5945.3730f, 468.4631f, 962.3222f, 1541.0238f, 1919.1746f, 2347.4365f, 2650.7366f, 2927.5945f, 3166.4202f, 3451.0664f, 3757.8477f, 4109.2383f, 4467.9443f, 4858.6045f, 5211.8428f, 5593.3311f, 5951.0137f, 422.2508f, 845.8956f, 1495.2552f, 1811.3933f, 2128.1157f, 2371.2532f, 2656.0715f, 2942.9011f, 3294.5308f, 3652.0935f, 4031.2534f, 4399.2222f, 4801.9497f, 5163.3721f, 5559.4517f, 5934.4063f, 423.1028f, 661.7286f, 991.1974f, 1204.3813f, 1472.8564f, 2003.0298f, 2443.5833f, 2789.2795f, 3354.1692f, 3722.7822f, 4032.7351f, 4320.9727f, 4621.8140f, 4963.7310f, 5429.8203f, 5900.1465f, 361.2513f, 485.9720f, 828.4865f, 1340.9952f, 1497.8477f, 2072.8511f, 2437.9839f, 2674.9912f, 3259.3357f, 3539.0474f, 3789.1389f, 4087.5015f, 4404.8867f, 4771.0947f, 5500.2227f, 6015.7041f, 301.8146f, 392.9569f, 685.1938f, 1783.6246f, 2034.8542f, 2257.1614f, 2519.8713f, 2782.6279f, 3152.1135f, 3400.8662f, 3614.3801f, 3906.7375f, 4233.1968f, 4712.3682f, 5596.0396f, 5998.5742f, 242.0591f, 371.0809f, 729.0743f, 1190.6813f, 1851.5691f, 2132.6724f, 2334.7773f, 2522.3608f, 3091.8643f, 3621.4614f, 3854.5227f, 4174.7017f, 4490.7510f, 4780.1230f, 5157.6147f, 5865.4756f, 431.2477f, 562.1808f, 888.5207f, 1034.2062f, 1443.2480f, 2109.8850f, 2337.1443f, 2829.1870f, 3070.1301f, 3252.6370f, 3510.3967f, 4366.2236f, 4843.2139f, 5133.0537f, 5549.8911f, 5850.3252f, 420.2594f, 668.9339f, 911.1281f, 1218.0372f, 1806.5541f, 2050.8423f, 2394.5708f, 2761.3542f, 3021.1716f, 3414.0020f, 3970.9626f, 4342.2900f, 4691.6074f, 5062.5386f, 5452.6655f, 5792.8384f, 257.3011f, 370.8905f, 604.8825f, 1096.4209f, 1711.8464f, 1934.4335f, 2319.4717f, 2769.0144f, 3019.0200f, 3354.3726f, 4119.8809f, 4354.8589f, 4557.7979f, 4893.5776f, 5450.3042f, 5910.4136f, 241.4264f, 347.9253f, 622.2432f, 1248.8121f, 1559.7318f, 1848.8098f, 2315.5635f, 2571.5894f, 2879.5754f, 3624.1069f, 3968.0334f, 4238.9727f, 4713.4746f, 5156.6792f, 5568.5596f, 5975.8716f, 478.7131f, 629.4184f, 918.1857f, 1342.7815f, 1535.1541f, 1803.0487f, 2483.7764f, 2724.4321f, 2998.1257f, 3634.9932f, 3915.9443f, 4119.2837f, 4327.0283f, 4980.3516f, 5532.6880f, 5964.3052f, 265.7818f, 373.8575f, 723.3755f, 1186.0619f, 1509.2827f, 2064.2075f, 2298.1992f, 2566.4395f, 2785.7659f, 3423.1396f, 3883.9011f, 4136.8940f, 4463.0386f, 5010.6592f, 5539.0337f, 5931.4414f, 221.4221f, 347.7610f, 707.4465f, 1187.0800f, 1575.9095f, 1824.3983f, 1979.3307f, 2299.3174f, 2967.6799f, 3472.3381f, 3955.8469f, 4292.6079f, 4794.8745f, 5127.5181f, 5652.6729f, 5953.0132f, 397.2769f, 510.2605f, 746.8268f, 1588.0735f, 1991.5200f, 2150.6843f, 2439.0486f, 2712.2754f, 2972.5825f, 3501.2673f, 3917.5459f, 4143.6069f, 4443.4414f, 4829.1929f, 5490.0376f, 6028.3794f, 280.5184f, 370.6464f, 640.7120f, 1721.3899f, 1948.9806f, 2149.9592f, 2400.4678f, 2674.0542f, 3146.3154f, 3419.8850f, 3813.9553f, 4417.4497f, 4818.3652f, 5139.6323f, 5465.0669f, 5879.7183f, 325.2418f, 431.2627f, 1008.7708f, 1271.9235f, 1527.4150f, 2066.6370f, 2242.3311f, 2883.4065f, 3180.6614f, 3352.5015f, 3756.9688f, 4386.6904f, 4857.6621f, 5189.2212f, 5514.7573f, 5856.8086f, 451.8427f, 582.4401f, 925.8821f, 1363.4249f, 1503.2460f, 1961.5940f, 2265.6001f, 2574.4414f, 3123.0769f, 3345.1587f, 3634.3022f, 4266.0137f, 4880.8052f, 5223.5776f, 5567.8901f, 5880.3770f, 411.0873f, 553.3847f, 809.2106f, 1023.4841f, 1189.0618f, 1786.0770f, 2121.8489f, 2454.6458f, 2947.4700f, 3220.3210f, 3828.0911f, 4218.0229f, 4831.2383f, 5322.1445f, 5727.3906f, 6033.3887f, 310.5608f, 442.2204f, 742.7755f, 1097.5740f, 1340.9608f, 1854.4385f, 2261.6399f, 2634.8315f, 3297.8879f, 3638.6956f, 3925.8770f, 4232.9146f, 4559.9287f, 4893.5830f, 5403.0981f, 5917.7056f, 377.5583f, 488.4103f, 945.2491f, 1234.1572f, 1416.0774f, 1666.5979f, 1932.9910f, 2746.2000f, 2997.4753f, 3216.6152f, 3559.3999f, 3843.8130f, 4359.6626f, 5014.2920f, 5560.6162f, 5992.7212f, 285.2173f, 389.6116f, 825.5790f, 1238.8229f, 1459.6588f, 1860.8855f, 2178.6296f, 2519.1597f, 2828.0032f, 3278.8101f, 3560.8286f, 4142.0552f, 4691.0698f, 5117.7778f, 5558.7944f, 5954.6680f, 465.7002f, 631.7491f, 914.5521f, 1340.0057f, 1562.5760f, 1844.1741f, 2186.1208f, 2483.7080f, 2901.9417f, 3190.3162f, 3474.7651f, 3873.4065f, 4240.1973f, 4761.1255f, 5428.2832f, 5958.5273f, 340.5456f, 449.2341f, 793.7005f, 1387.7467f, 1555.8701f, 1938.7877f, 2201.6155f, 2579.5762f, 2914.9724f, 3149.8584f, 3699.3984f, 3985.6790f, 4331.7534f, 4999.4805f, 5514.6924f, 5969.4897f, 395.8350f, 564.1188f, 774.8214f, 1276.3201f, 1721.8716f, 1864.0143f, 2267.5696f, 2790.2031f, 3003.9434f, 3377.6140f, 3917.7395f, 4167.3867f, 4465.2529f, 4936.1138f, 5464.0479f, 5905.0444f, 324.1844f, 443.0006f, 728.8958f, 1398.6589f, 1584.1820f, 1923.8724f, 2348.0903f, 2561.5554f, 3154.5991f, 3449.1746f, 3771.7927f, 4182.1899f, 4937.0791f, 5361.6509f, 5727.7656f, 6002.7505f, 267.1790f, 373.7663f, 703.5949f, 1173.7009f, 1390.2002f, 1905.7941f, 2177.4961f, 2703.2627f, 3022.9121f, 3308.9612f, 3798.5823f, 4187.1533f, 4703.2163f, 5136.0918f, 5571.1655f, 5966.6577f, 272.9294f, 399.3804f, 797.7335f, 1180.1516f, 1426.4850f, 2097.2839f, 2355.4727f, 2793.8774f, 3137.1907f, 3458.7727f, 3893.6628f, 4245.8047f, 4652.3794f, 5106.5293f, 5568.1885f, 5948.3169f, 324.5529f, 431.7663f, 759.6147f, 1494.8739f, 1668.8168f, 2110.5635f, 2427.4104f, 2672.9270f, 3170.5266f, 3448.2080f, 3717.1240f, 4034.2280f, 4375.3647f, 5041.1372f, 5666.9517f, 6014.7217f, 306.4759f, 404.5361f, 795.7795f, 1675.9967f, 1835.0950f, 2160.6624f, 2430.8855f, 2734.2646f, 3270.1426f, 3586.1355f, 3821.9670f, 4102.0078f, 4372.9404f, 4918.9146f, 5412.0376f, 5868.5225f, 421.3803f, 607.7995f, 813.0241f, 1286.8525f, 1827.2451f, 2026.8683f, 2333.9453f, 2730.9817f, 2988.4067f, 3303.8513f, 3759.1897f, 4057.5264f, 4441.5493f, 4890.0078f, 5212.0469f, 5672.2188f, 423.8560f, 599.5201f, 829.0651f, 1082.6381f, 1245.9272f, 1623.7075f, 2453.0420f, 2855.6631f, 3171.3855f, 3475.5881f, 3715.4219f, 3972.1326f, 4419.1597f, 4894.0283f, 5363.8691f, 5919.2681f, 441.2789f, 634.8879f, 921.6287f, 1189.0240f, 1368.7466f, 2012.1312f, 2383.7656f, 2638.5222f, 2975.0288f, 3163.6150f, 3433.9958f, 3838.9917f, 4186.6426f, 4856.8477f, 5559.1196f, 5977.2290f, 349.2039f, 466.2342f, 724.2582f, 904.4043f, 1190.4492f, 1981.7565f, 2226.5554f, 2592.5098f, 2865.5525f, 3195.8196f, 3735.6345f, 4267.1660f, 4810.9893f, 5207.5093f, 5605.1445f, 5952.0361f, 497.7713f, 719.9073f, 925.0815f, 1146.3021f, 1326.7095f, 1574.5039f, 2306.7678f, 2714.8022f, 2967.5190f, 3400.1121f, 3732.0544f, 3981.7878f, 4553.4819f, 5090.0869f, 5426.2085f, 5833.5220f, 471.7526f, 648.3213f, 902.1542f, 1245.7086f, 1423.3403f, 1701.1757f, 2125.8530f, 2407.0481f, 2969.5583f, 3294.1296f, 3712.8398f, 4140.7930f, 4808.4668f, 5322.3896f, 5662.1255f, 5950.6211f, 345.3843f, 485.9887f, 841.2579f, 1035.9401f, 1244.8905f, 1488.1833f, 2340.4253f, 2607.0859f, 2845.4153f, 3223.1768f, 3557.0696f, 4119.7944f, 4666.8896f, 5145.8589f, 5565.7534f, 5976.6875f, 332.4270f, 427.5984f, 829.9191f, 1138.0469f, 1339.4468f, 1589.0535f, 1926.0630f, 2432.9331f, 2699.7964f, 3311.4355f, 3716.1003f, 4270.4990f, 4760.3647f, 5208.3950f, 5619.2080f, 5971.2715f, 249.0114f, 381.2982f, 925.7067f, 1520.3356f, 1842.8396f, 2368.2908f, 2783.4033f, 3272.5757f, 3673.7402f, 4046.3950f, 4370.4966f, 4688.0269f, 5002.6772f, 5316.3594f, 5650.2192f, 5977.6587f, 263.3275f, 451.6255f, 1252.2307f, 1503.0652f, 1786.7695f, 2082.7554f, 2451.1829f, 2804.7590f, 3116.7583f, 3493.8892f, 3884.6575f, 4349.6724f, 4770.0156f, 5143.1636f, 5542.5913f, 5931.5522f, 252.9447f, 341.5762f, 632.7664f, 1766.8096f, 2084.1511f, 2272.7332f, 2531.1006f, 2765.2080f, 3134.5417f, 3380.6223f, 3640.8015f, 3932.7854f, 4532.1172f, 5245.2070f, 5597.0776f, 5973.6831f, 234.9979f, 324.6731f, 1239.8643f, 1663.1921f, 1858.7769f, 2171.1614f, 2403.8818f, 2680.6433f, 2836.4985f, 3192.6577f, 3864.8811f, 4385.8066f, 4845.9766f, 5150.2412f, 5631.1519f, 6011.7773f, 284.5302f, 410.1263f, 985.4119f, 1298.3987f, 1789.4304f, 1996.9287f, 2450.8525f, 2831.6011f, 2994.2073f, 3214.1306f, 3525.0498f, 3819.9141f, 4672.7544f, 5424.3545f, 5691.0732f, 5980.3096f, 244.2704f, 415.5891f, 1038.3009f, 1317.5186f, 1686.4528f, 2081.3147f, 2476.9873f, 2959.5393f, 3214.9561f, 3569.1431f, 3934.4736f, 4308.7114f, 4728.3687f, 5105.7964f, 5488.1938f, 5908.9443f, 335.8417f, 468.3464f, 1003.6253f, 1275.0145f, 1534.2854f, 1985.3167f, 2348.3411f, 2743.3169f, 2956.0967f, 3408.5063f, 3866.8574f, 4287.0034f, 4556.7222f, 4922.7832f, 5259.7480f, 5800.2876f, 388.2726f, 518.0591f, 832.5999f, 1325.0247f, 1528.8624f, 1808.1732f, 2151.0820f, 2486.1331f, 2815.4980f, 3158.5391f, 3635.3606f, 3960.5383f, 4671.7686f, 5371.8140f, 5777.8940f, 6056.4722f, 506.5153f, 673.0771f, 900.0349f, 1154.2124f, 1378.2689f, 1786.9409f, 2081.9631f, 2398.6965f, 2859.7441f, 3075.4841f, 3546.6563f, 4322.6694f, 4732.0049f, 4992.5542f, 5267.5859f, 5807.1812f, 487.2466f, 653.6116f, 968.5656f, 1389.2708f, 1601.5822f, 1910.9694f, 2282.4038f, 2608.7063f, 3032.6233f, 3361.9692f, 3629.8552f, 3908.8335f, 4318.4009f, 4646.5781f, 5043.5962f, 5792.7393f, 432.8733f, 591.7551f, 899.2619f, 1490.1176f, 1789.8751f, 2060.3750f, 2434.8779f, 2840.3374f, 3122.1292f, 3472.8079f, 3830.8870f, 4097.2622f, 4353.5464f, 4650.2075f, 4981.5752f, 5482.9565f, 378.4767f, 508.5656f, 802.8280f, 947.2892f, 1532.0898f, 2038.8177f, 2349.1965f, 2650.2039f, 2863.8018f, 3591.6697f, 3918.9211f, 4256.6255f, 4604.8467f, 4899.0996f, 5237.6084f, 5791.5029f, 407.0908f, 546.0364f, 866.1215f, 1098.6927f, 1347.2009f, 1657.1525f, 1965.5845f, 2717.7190f, 3033.4961f, 3509.9031f, 3873.4150f, 4131.4438f, 4389.5693f, 4774.2295f, 5450.1768f, 5977.5151f, 429.3459f, 568.8134f, 903.5659f, 1099.2942f, 1379.4979f, 2207.5940f, 2479.9919f, 2780.9072f, 3206.3960f, 3425.4084f, 3682.5911f, 3950.1941f, 4324.0840f, 4689.4922f, 5068.2534f, 5787.2852f, 371.9443f, 524.7249f, 890.0464f, 1670.7485f, 1958.5308f, 2182.7007f, 2558.5007f, 2835.4937f, 3192.0740f, 3634.4817f, 3950.0942f, 4259.6953f, 4628.0049f, 4999.1616f, 5364.9893f, 5801.6855f, 323.1922f, 451.0327f, 787.1655f, 1011.6555f, 1323.8138f, 2177.6636f, 2401.1392f, 2826.8796f, 3432.8999f, 3653.1851f, 3883.9897f, 4082.7559f, 4361.6753f, 4635.1475f, 5084.7544f, 5823.3062f, 377.0061f, 524.2181f, 743.6288f, 1378.9187f, 1857.6434f, 2056.4695f, 2453.7949f, 2902.1995f, 3127.2651f, 3463.3523f, 3980.1316f, 4241.2578f, 4528.5859f, 4881.4521f, 5239.3145f, 5580.5986f, 308.7965f, 403.7058f, 705.9506f, 1823.8571f, 2126.9387f, 2369.2810f, 2647.2048f, 2855.8276f, 3209.7708f, 3498.2310f, 3747.6047f, 3972.8647f, 4254.3325f, 4574.4292f, 5087.3965f, 5890.4219f, 274.7571f, 383.7251f, 573.6029f, 1142.8372f, 2151.7173f, 2558.8972f, 2751.9468f, 2987.4412f, 3234.3350f, 3526.0127f, 3922.9927f, 4189.0249f, 4483.3774f, 4877.1860f, 5396.7798f, 5921.8125f, 248.5916f, 423.6264f, 1260.9626f, 1696.0492f, 1972.9108f, 2298.5972f, 2592.9307f, 2947.2292f, 3266.2227f, 3614.3572f, 3980.3892f, 4359.4067f, 4770.2842f, 5158.9058f, 5554.6597f, 5936.9043f, 320.5471f, 429.6766f, 657.1440f, 1390.1080f, 2194.6426f, 2507.6086f, 2712.3662f, 2980.3408f, 3216.1682f, 3544.8467f, 3956.9790f, 4227.5308f, 4463.7563f, 4745.7124f, 5088.6650f, 5525.8516f, 245.5478f, 520.3131f, 1177.0693f, 1454.0125f, 1770.2620f, 2160.8779f, 2551.2700f, 2950.2324f, 3326.8621f, 3710.4624f, 4104.3936f, 4481.9971f, 4865.9736f, 5230.6396f, 5608.5649f, 5965.6162f, 514.5864f, 956.9897f, 1287.9597f, 1520.3473f, 1802.0631f, 2116.4980f, 2509.8552f, 2865.9822f, 3238.7510f, 3611.3108f, 4016.4353f, 4431.8457f, 4860.3442f, 5231.4814f, 5614.6016f, 5963.9976f, 537.0523f, 932.2803f, 1380.2690f, 1709.4702f, 2079.9902f, 2446.4014f, 2859.4204f, 3229.6975f, 3623.4031f, 4012.5327f, 4373.7568f, 4724.3359f, 5078.2686f, 5397.6040f, 5721.9639f, 6028.1167f, 452.5153f, 798.2777f, 1099.3080f, 1317.0807f, 1652.6885f, 2059.7708f, 2471.0164f, 2808.5396f, 3146.5076f, 3494.0779f, 3870.6912f, 4310.8281f, 4777.5024f, 5181.2617f, 5574.4912f, 5934.3813f, 340.3716f, 430.5102f, 872.3513f, 1636.3792f, 1772.8615f, 2074.0161f, 2295.1008f, 2693.0037f, 3177.7710f, 3391.7559f, 3670.8718f, 4224.3926f, 4896.3877f, 5199.9883f, 5580.4512f, 5911.7671f, 317.8269f, 414.8185f, 881.1970f, 1658.4944f, 1852.0098f, 2136.0415f, 2380.8228f, 2668.9141f, 3046.8027f, 3299.0051f, 3523.0593f, 3758.9412f, 4116.9063f, 5061.2124f, 5624.1777f, 5989.4761f, 374.0671f, 488.0840f, 734.0546f, 1415.9261f, 1648.7783f, 1852.8462f, 2099.1895f, 2347.5562f, 2954.8359f, 3269.6714f, 3536.7920f, 4116.1743f, 4481.4355f, 4913.8838f, 5467.2817f, 5909.8779f, 340.4291f, 448.5775f, 1041.4979f, 1426.0011f, 1637.8165f, 1968.6743f, 2210.7976f, 2647.5144f, 2913.8650f, 3131.7698f, 3429.8755f, 3722.6763f, 4104.6479f, 4969.0093f, 5574.2231f, 5978.2070f, 254.2538f, 412.7710f, 947.8206f, 1209.3683f, 1690.4813f, 2040.7881f, 2401.4314f, 2728.0066f, 3016.2290f, 3530.3865f, 3964.6563f, 4393.6934f, 4804.2168f, 5187.9302f, 5586.4399f, 5954.8950f, 241.0244f, 347.0750f, 835.2348f, 1601.9089f, 1786.4336f, 2134.3950f, 2396.0139f, 2848.9712f, 3239.9138f, 3623.8250f, 4029.5088f, 4400.3936f, 4797.3564f, 5195.7310f, 5596.6689f, 5965.9878f, 309.3683f, 453.6776f, 812.9343f, 1125.9915f, 1423.5935f, 2149.2227f, 2514.9277f, 3031.3599f, 3463.7219f, 3790.7839f, 4064.0039f, 4297.9839f, 4653.4551f, 5189.7061f, 5721.2954f, 6033.0752f, 469.4284f, 730.1902f, 973.0643f, 1170.5016f, 1572.2559f, 2084.2769f, 2567.8604f, 2963.4592f, 3286.9617f, 3580.3228f, 3882.8706f, 4335.5483f, 4859.7197f, 5258.2827f, 5627.9785f, 5957.8623f, 454.6165f, 795.2360f, 1078.7705f, 1294.9473f, 1761.6650f, 2235.2788f, 2695.8455f, 3095.7695f, 3473.4897f, 3833.0889f, 4185.7290f, 4528.9863f, 4893.0039f, 5240.7627f, 5608.8594f, 5951.0718f, 563.4587f, 875.8987f, 1139.0026f, 1378.2317f, 1855.7401f, 2279.7683f, 2651.3079f, 2968.4397f, 3279.4453f, 3607.2500f, 3975.5796f, 4358.3574f, 4768.7969f, 5135.3706f, 5525.3501f, 5904.2617f, 461.7852f, 855.0644f, 1367.4387f, 1702.5593f, 2141.0093f, 2500.9055f, 2853.8596f, 3123.9744f, 3406.0178f, 3694.0481f, 4028.9985f, 4373.1113f, 4768.2891f, 5137.6895f, 5541.3721f, 5921.4507f, 438.6031f, 753.0179f, 1269.3203f, 1630.4396f, 2027.2959f, 2350.9695f, 2672.1396f, 2957.1809f, 3250.1545f, 3546.5315f, 3894.0161f, 4249.9346f, 4666.2266f, 5061.2524f, 5490.7749f, 5904.6362f, 543.3182f, 828.4835f, 1239.1818f, 1471.1134f, 1737.8622f, 2037.2484f, 2434.5112f, 2801.3242f, 3162.3250f, 3508.1255f, 3849.0903f, 4165.7588f, 4588.3809f, 5020.0952f, 5475.2813f, 5904.6377f, 519.5982f, 837.6639f, 1171.2003f, 1363.0320f, 1617.4617f, 1976.1787f, 2472.0303f, 2901.3264f, 3340.7300f, 3736.0830f, 4103.3843f, 4444.8657f, 4800.9482f, 5145.6011f, 5544.2002f, 5933.0981f, 433.3774f, 582.7663f, 899.6142f, 1150.7437f, 1321.1309f, 1947.8643f, 2557.8604f, 2733.1497f, 3240.4907f, 3634.7915f, 3855.9856f, 4058.0281f, 4364.2568f, 5096.5225f, 5659.0952f, 6013.8145f, 424.9731f, 604.3164f, 868.1793f, 1207.7882f, 1414.2374f, 1713.2893f, 2520.2900f, 2960.8887f, 3210.8542f, 3584.5403f, 3914.5796f, 4149.8550f, 4505.7705f, 4886.9575f, 5214.5361f, 5597.8389f, 347.0334f, 494.2440f, 753.7191f, 1451.0435f, 1700.7461f, 1925.4844f, 2605.7988f, 2870.4744f, 3173.7312f, 3758.7219f, 4112.1929f, 4400.3882f, 4866.1016f, 5165.8799f, 5433.0371f, 5781.1509f, 318.4942f, 464.3939f, 783.5214f, 1491.0234f, 1708.4984f, 2280.2876f, 2533.3354f, 2885.1736f, 3443.7451f, 3669.8506f, 4000.6792f, 4269.6626f, 4571.2739f, 4827.2158f, 5277.3813f, 5850.4736f, 386.8698f, 519.0056f, 725.0029f, 981.5649f, 1156.1665f, 1500.4691f, 2421.7993f, 2962.4722f, 3175.0166f, 3548.4756f, 3860.7961f, 4146.4150f, 4658.9897f, 5088.3999f, 5531.8945f, 5951.4624f, 315.9294f, 738.5538f, 1171.9581f, 1553.7167f, 1949.9159f, 2319.6641f, 2707.5493f, 3069.2996f, 3444.6157f, 3811.2139f, 4177.5469f, 4545.6943f, 4905.0444f, 5271.3926f, 5622.6831f, 5974.4141f, 216.5136f, 598.1122f, 1059.3214f, 1466.4785f, 1880.1747f, 2263.6533f, 2658.3081f, 3030.4099f, 3413.6802f, 3780.1853f, 4157.1455f, 4519.1919f, 4893.5439f, 5244.3530f, 5603.1064f, 5926.8379f, 375.4021f, 487.0890f, 844.4013f, 1574.3596f, 1794.5249f, 2106.2878f, 2418.5217f, 2657.8938f, 3116.6096f, 3457.8625f, 3691.0596f, 3930.1062f, 4259.5928f, 4592.4370f, 5020.5078f, 5840.3989f, 474.3148f, 724.2144f, 974.0716f, 1283.4182f, 1521.2632f, 1746.4248f, 2333.0957f, 2874.2966f, 3111.9636f, 3440.0410f, 3752.9678f, 3975.7139f, 4294.7056f, 4821.9893f, 5201.5562f, 5658.8301f, 400.0291f, 564.9626f, 808.2393f, 1083.2745f, 1300.4403f, 2080.7405f, 2588.6882f, 2858.4629f, 3206.4502f, 3429.8623f, 3746.9080f, 4341.4868f, 4713.2803f, 4986.4258f, 5336.7339f, 5710.1123f, 354.4416f, 480.1495f, 834.1089f, 1037.7775f, 1350.0652f, 1791.1736f, 2193.0159f, 2504.6775f, 2776.0623f, 3153.0994f, 4108.1357f, 4597.4082f, 4861.9688f, 5092.8613f, 5473.2295f, 5932.0332f, 237.3935f, 346.9133f, 675.5335f, 1481.0535f, 1716.8414f, 1884.7153f, 2099.3057f, 2725.5403f, 3022.8506f, 3276.2922f, 3639.1001f, 4185.3926f, 4941.6597f, 5292.0093f, 5682.0391f, 5981.0215f, 367.4981f, 469.7130f, 820.7811f, 1219.7736f, 1368.4479f, 1624.6671f, 1804.2581f, 2607.8589f, 2891.3174f, 3212.2432f, 3760.7290f, 4015.6111f, 4618.0068f, 5129.3213f, 5652.1582f, 6042.1113f, 312.6796f, 415.8322f, 674.1500f, 853.7709f, 1808.7385f, 2232.5310f, 2497.8157f, 2834.2991f, 3039.7012f, 3301.4050f, 3659.2969f, 4455.9453f, 4841.4912f, 5111.6167f, 5502.2534f, 5924.6357f, 341.9309f, 471.7513f, 758.1926f, 979.7221f, 1287.4463f, 1737.0303f, 2160.7915f, 2664.5562f, 2961.8315f, 3461.7439f, 3732.6611f, 4109.0928f, 4568.9111f, 5037.4331f, 5511.3169f, 5966.1304f, 351.3721f, 462.1897f, 765.1075f, 946.3102f, 1322.8093f, 2292.2400f, 2503.6494f, 2819.7234f, 3079.2803f, 3297.6252f, 3571.4668f, 3872.0823f, 4337.6426f, 5079.1504f, 5562.8110f, 5942.7153f, 435.4323f, 614.4746f, 892.8980f, 1215.9469f, 1395.9762f, 1814.3936f, 2155.9590f, 2465.0427f, 3201.6211f, 3490.9224f, 3853.2620f, 4410.1855f, 4786.0625f, 5095.0181f, 5394.4805f, 5715.3364f, 294.6053f, 417.1553f, 1046.2922f, 1443.0247f, 1636.7180f, 1956.4248f, 2189.9697f, 2869.8071f, 3129.9385f, 3462.5681f, 3895.2805f, 4213.4541f, 4541.8950f, 5009.1958f, 5472.7642f, 5983.0063f, 322.1185f, 446.8733f, 689.4188f, 1338.2788f, 1643.1023f, 1903.8652f, 2494.2722f, 2804.6968f, 3103.8682f, 3640.1233f, 3965.9861f, 4172.5596f, 4404.7388f, 4670.7544f, 5240.3682f, 5893.4600f, 209.7024f, 336.5508f, 729.0126f, 1217.3285f, 1699.0111f, 1891.2837f, 2146.8486f, 2830.0850f, 3108.6204f, 3446.0396f, 3754.1230f, 3945.1038f, 4474.5806f, 5191.6987f, 5613.3076f, 5970.2695f, 346.6580f, 470.5094f, 663.3455f, 1266.9061f, 2020.5759f, 2270.5173f, 2527.3550f, 2826.9104f, 3078.3403f, 3401.2625f, 3804.3770f, 4100.3091f, 4407.7876f, 4732.2319f, 5150.2749f, 5808.2559f, 283.7796f, 391.4603f, 1165.6863f, 1456.1125f, 1692.9001f, 2008.4825f, 2322.7837f, 2784.0608f, 2998.5811f, 3268.5164f, 3548.9373f, 4167.1289f, 4643.9878f, 5099.2881f, 5473.0781f, 5929.8242f, 301.0849f, 383.1578f, 692.0848f, 1648.9374f, 1873.0947f, 2109.6113f, 2345.0110f, 2613.1121f, 2922.0193f, 3170.0020f, 3405.0774f, 3881.9875f, 4778.3154f, 5092.5205f, 5445.7100f, 5920.7896f, 509.1023f, 750.8580f, 963.8820f, 1295.3452f, 1634.8796f, 1818.7975f, 2151.1250f, 2590.3354f, 2867.5596f, 3238.7666f, 3747.2834f, 4053.8911f, 4457.8164f, 4928.0151f, 5295.3521f, 5789.0571f, 421.8951f, 547.9814f, 967.4185f, 1153.8607f, 1461.4230f, 1813.0994f, 2155.2703f, 2570.9712f, 2777.6597f, 3048.9863f, 3432.0986f, 3729.3877f, 4395.7461f, 5028.7402f, 5486.4946f, 5951.5024f, 340.6758f, 445.7014f, 931.8882f, 1253.4775f, 1521.9260f, 1969.5759f, 2267.5332f, 2735.0112f, 2948.7678f, 3236.5166f, 3529.5505f, 3882.3674f, 4699.5781f, 5089.6641f, 5377.7842f, 5880.7778f, 284.1882f, 408.6918f, 786.3123f, 1670.3220f, 2042.9493f, 2265.2275f, 2691.2012f, 3035.8762f, 3334.1719f, 3863.1194f, 4276.8916f, 4571.0420f, 4996.4404f, 5336.5205f, 5647.9556f, 5944.5996f, 300.0066f, 616.4817f, 1238.7324f, 1614.8296f, 1997.6188f, 2367.4343f, 2784.5605f, 3168.8354f, 3569.8250f, 3965.6011f, 4336.3804f, 4689.5874f, 5044.2012f, 5365.7456f, 5697.5654f, 6010.6572f, 242.9420f, 476.8371f, 1250.6661f, 1671.6031f, 2159.6443f, 2637.7417f, 3049.8589f, 3371.6045f, 3674.8706f, 3951.1006f, 4230.6416f, 4543.2827f, 4887.4478f, 5220.5581f, 5595.2686f, 5962.1313f, 242.6795f, 331.1335f, 635.2861f, 1801.5236f, 2084.1472f, 2264.4692f, 2506.2891f, 2799.4441f, 3236.7134f, 3489.6038f, 3859.3291f, 4424.8008f, 4964.6348f, 5298.6533f, 5640.2031f, 5988.0552f, 254.0538f, 336.2447f, 1216.6261f, 1717.7201f, 1886.0708f, 2176.6338f, 2405.8547f, 2762.3037f, 2934.8816f, 3167.0657f, 3385.5457f, 3804.4346f, 4848.8198f, 5286.0352f, 5630.5391f, 6086.4492f, 295.2298f, 426.2079f, 630.7856f, 1155.5609f, 1827.6831f, 2120.5283f, 2462.4373f, 2759.6152f, 2990.9526f, 3253.4216f, 3910.9834f, 4204.2754f, 4462.7944f, 4909.7529f, 5579.9653f, 5985.8579f, 298.9633f, 410.3875f, 810.1115f, 1346.1040f, 1499.2391f, 2210.3948f, 2467.9424f, 2792.7122f, 3284.0874f, 3493.0740f, 3784.1899f, 4319.6396f, 4860.6548f, 5213.8540f, 5609.8672f, 5949.6890f, 437.9900f, 575.3093f, 866.0077f, 1104.2080f, 1307.4966f, 1959.9323f, 2293.9365f, 2604.6704f, 2966.6514f, 3228.0056f, 3548.8499f, 4096.4424f, 4769.5420f, 5086.5449f, 5416.5317f, 5853.6909f, 412.4955f, 569.1867f, 864.0179f, 1117.6798f, 1348.6332f, 1976.5171f, 2334.3960f, 2640.3381f, 3006.5347f, 3327.5784f, 3695.8564f, 4042.1753f, 4362.7837f, 4687.4751f, 5389.8662f, 5966.5825f, 406.8686f, 542.0319f, 867.3541f, 1436.3810f, 1678.6399f, 2000.1501f, 2358.1204f, 2651.3806f, 3042.1216f, 3339.2766f, 3617.9963f, 3933.3860f, 4249.0278f, 4591.8530f, 5502.0400f, 6020.7910f, 375.4336f, 519.7731f, 764.5574f, 1215.1381f, 1482.9417f, 1696.8020f, 1957.0332f, 2169.1169f, 2973.4634f, 3687.7449f, 3966.8525f, 4258.8042f, 4680.6567f, 4947.0225f, 5230.9824f, 5843.2466f, 443.2378f, 574.0562f, 813.3345f, 1282.7894f, 1538.0752f, 1727.8997f, 2007.8584f, 2194.5601f, 2755.8220f, 3460.9243f, 3654.1399f, 4030.5530f, 4572.4727f, 4904.7847f, 5400.6147f, 5934.2656f, 423.6246f, 540.1947f, 862.8629f, 1386.7659f, 1577.2052f, 1811.0304f, 2046.7363f, 2309.0366f, 3129.1145f, 3533.0020f, 3738.4211f, 4021.1111f, 4357.3677f, 4634.8740f, 5307.2920f, 5944.9155f, 287.7661f, 401.5490f, 725.6079f, 950.8911f, 1186.5465f, 1490.1750f, 2114.7920f, 2562.4019f, 3028.3977f, 3519.6277f, 3940.5737f, 4339.3086f, 4765.8188f, 5172.3428f, 5582.8022f, 5971.0273f, 382.6039f, 537.7234f, 836.8093f, 1371.3546f, 1578.9803f, 1869.8213f, 2292.5596f, 2540.8601f, 3032.9834f, 3402.5059f, 3737.0569f, 4053.9937f, 4446.6240f, 5251.8457f, 5710.7935f, 6022.2925f, 313.2195f, 415.0511f, 690.6860f, 1561.4832f, 1815.6521f, 2059.9187f, 2345.5095f, 2614.8701f, 3006.9604f, 3291.9744f, 3590.4119f, 3996.1516f, 4365.4995f, 4853.4956f, 5465.1572f, 5954.5718f, 361.7959f, 448.4001f, 921.3198f, 1343.1167f, 1488.6287f, 1736.7700f, 1950.8906f, 2536.0193f, 2768.7393f, 3062.4473f, 3484.6570f, 3888.5618f, 4618.4038f, 5092.6641f, 5523.3657f, 5966.6772f, 249.5541f, 366.6601f, 684.6592f, 1203.0931f, 1642.2089f, 1961.8837f, 2227.3289f, 2421.1348f, 2660.5676f, 3229.5410f, 3822.5837f, 4232.7266f, 4782.5181f, 5127.2612f, 5570.2676f, 5978.9858f, 287.4206f, 421.3210f, 704.0352f, 1279.8597f, 1562.7307f, 2115.4241f, 2492.4517f, 2780.9470f, 3317.3616f, 3606.1492f, 4026.6375f, 4337.9014f, 4699.6895f, 4997.2573f, 5431.1787f, 5903.8628f, 487.9554f, 740.9349f, 1021.9616f, 1327.3262f, 1620.8544f, 1890.7717f, 2269.1218f, 2584.4868f, 2911.2896f, 3424.9221f, 3855.1670f, 4205.9272f, 4707.2466f, 5147.1846f, 5601.1152f, 5953.4673f, 400.8269f, 513.4500f, 786.8242f, 1269.3298f, 1441.4178f, 1696.9789f, 1911.0537f, 2223.0684f, 2847.1619f, 3113.3845f, 3670.6318f, 4146.2900f, 4555.9204f, 5083.8579f, 5574.8120f, 5987.6030f, 379.0329f, 487.7222f, 914.8179f, 1130.9854f, 1430.1394f, 1830.0769f, 2088.8796f, 2613.6855f, 2803.1633f, 3457.1777f, 4032.6118f, 4306.7344f, 4662.6899f, 4959.6348f, 5245.5234f, 5787.3940f, 340.6941f, 451.0338f, 656.2767f, 911.5805f, 1124.9330f, 1733.8730f, 2518.7861f, 2768.6851f, 3211.3733f, 3717.7583f, 3929.6772f, 4176.2993f, 4522.4517f, 5011.5547f, 5575.8784f, 6006.7222f, 341.5027f, 441.6417f, 807.2695f, 1060.2080f, 1251.2837f, 1478.9895f, 1750.0796f, 2594.8977f, 2924.5027f, 3401.4751f, 3852.0557f, 4292.4683f, 4718.2930f, 5159.4775f, 5562.4067f, 5972.5571f, 313.8985f, 421.5380f, 667.2407f, 873.6023f, 1110.1119f, 2060.7332f, 2381.0916f, 2746.2288f, 3080.5649f, 3399.9905f, 3897.5884f, 4434.9990f, 5048.1343f, 5390.8149f, 5744.3931f, 6007.9326f, 252.1832f, 354.2392f, 673.5427f, 1339.1161f, 1554.8853f, 2014.9351f, 2300.4138f, 2829.6182f, 3213.1714f, 3409.5105f, 3604.3242f, 3927.8020f, 4622.3218f, 5103.4565f, 5559.5024f, 5971.5986f, 385.2648f, 513.7607f, 760.7678f, 983.5819f, 1175.7727f, 2134.7810f, 2592.9614f, 2822.0161f, 3232.2524f, 3445.3516f, 3750.7583f, 4094.6714f, 4401.5830f, 4753.4204f, 5549.2319f, 6034.7148f, 220.6833f, 314.5706f, 622.2172f, 1350.8225f, 1785.5879f, 2077.5837f, 2504.2158f, 3057.6992f, 3436.0974f, 3695.2976f, 3953.4272f, 4267.8701f, 4660.6865f, 5073.6831f, 5501.9478f, 5929.9780f, 207.8814f, 310.4071f, 646.2098f, 1270.5835f, 1542.7271f, 2079.3804f, 2440.0339f, 2843.4690f, 3272.4854f, 3657.9851f, 4061.2014f, 4444.9780f, 4841.6060f, 5224.5947f, 5620.9141f, 5972.7261f, 326.1488f, 456.7737f, 740.3350f, 961.4597f, 1262.7579f, 2190.7178f, 2483.5300f, 2872.4180f, 3328.4910f, 3811.0334f, 4153.1602f, 4441.8271f, 4801.1802f, 5065.2988f, 5381.6309f, 5693.2886f, 206.2046f, 328.0855f, 618.9507f, 980.9994f, 1695.9775f, 1982.3051f, 2275.5444f, 2806.0271f, 3269.5178f, 3491.2456f, 3722.1775f, 4145.9121f, 4843.1167f, 5266.8677f, 5656.8794f, 5992.1201f, 308.1086f, 407.7706f, 806.7985f, 1045.7629f, 1401.8912f, 2108.3472f, 2331.7849f, 2952.5391f, 3174.1865f, 3374.0686f, 3645.4260f, 4292.7183f, 4939.2969f, 5250.4829f, 5607.2358f, 5932.8657f, 267.5990f, 378.7492f, 642.2629f, 871.7917f, 1691.7523f, 2087.5117f, 2423.1462f, 2686.1487f, 3021.7893f, 3724.0247f, 4035.5454f, 4369.5903f, 4680.1167f, 4991.4175f, 5323.6875f, 5811.7471f, 312.3856f, 437.4281f, 714.5340f, 899.5771f, 1632.7545f, 1938.5369f, 2295.5544f, 2625.6189f, 2900.5576f, 3295.4934f, 3557.1260f, 3960.1123f, 4731.6079f, 5141.8447f, 5502.7793f, 5954.0049f, 332.2842f, 449.0976f, 875.9957f, 1206.1912f, 1422.6793f, 2097.5745f, 2354.2483f, 2715.8494f, 3093.4697f, 3344.5132f, 3623.4814f, 3889.3655f, 4256.2002f, 4994.5742f, 5593.8428f, 5985.9575f, 286.9586f, 434.7701f, 781.3996f, 1248.3495f, 1835.5530f, 2137.1155f, 2573.7449f, 2869.9299f, 3126.0564f, 3459.1448f, 3769.4475f, 4138.3076f, 4688.0298f, 5084.9028f, 5436.8086f, 5894.2520f, 327.0000f, 429.0804f, 663.7327f, 849.7463f, 1174.9340f, 2383.3875f, 2695.9597f, 2941.2026f, 3214.4724f, 3433.6287f, 3778.9312f, 4134.8096f, 4504.8022f, 5066.7559f, 5599.2290f, 5985.7334f, 244.4052f, 499.2254f, 1294.8232f, 1689.3677f, 2123.5024f, 2572.4958f, 3042.9067f, 3446.8752f, 3836.3740f, 4175.6729f, 4485.3213f, 4792.3755f, 5094.9077f, 5386.1816f, 5699.6411f, 6008.2114f, 561.9757f, 1020.3204f, 1494.1995f, 1841.8171f, 2297.0906f, 2772.6184f, 3204.8804f, 3565.8628f, 3935.4106f, 4253.4141f, 4559.7021f, 4849.9653f, 5140.2852f, 5428.6934f, 5731.2251f, 6023.5078f, 581.6182f, 1053.5670f, 1478.5878f, 1784.4789f, 2125.1157f, 2454.5889f, 2809.0256f, 3141.7256f, 3490.7529f, 3848.5923f, 4201.7271f, 4568.7720f, 4945.9619f, 5288.6289f, 5647.7642f, 5981.9341f, 258.9683f, 364.0963f, 722.5463f, 1763.2114f, 1969.3870f, 2265.5239f, 2532.1821f, 2883.3557f, 3388.1838f, 3725.3120f, 4080.9338f, 4390.3818f, 4716.3599f, 5068.4941f, 5452.2778f, 5847.1401f, 271.5428f, 401.4228f, 695.5894f, 857.3072f, 1776.5358f, 2008.5603f, 2554.4143f, 2844.4021f, 3018.6877f, 3226.1279f, 3482.3398f, 3810.6858f, 4549.3071f, 5266.2764f, 5614.6157f, 5945.6904f, 330.3132f, 444.6271f, 669.0279f, 874.5479f, 1102.9247f, 2052.1780f, 2436.2378f, 2711.1165f, 3037.7537f, 3298.2036f, 3898.6858f, 4241.5415f, 4606.7637f, 5086.6919f, 5569.7397f, 5988.6797f, 232.3014f, 344.5512f, 578.5155f, 1213.9569f, 1880.9729f, 2105.6685f, 2335.4148f, 2550.3965f, 3147.6501f, 3491.9253f, 3791.5613f, 4159.6694f, 4642.2441f, 5103.3340f, 5605.4106f, 5989.7969f, 346.3687f, 444.8047f, 714.3775f, 889.1195f, 1211.8463f, 2168.7598f, 2430.2490f, 2760.6326f, 3012.4961f, 3268.8750f, 3565.1558f, 4172.5791f, 4781.5391f, 5127.6704f, 5512.6323f, 5911.3779f, 398.0477f, 553.8537f, 845.8521f, 1119.3066f, 1309.7244f, 1928.3351f, 2351.2095f, 2649.8230f, 3050.6750f, 3297.0566f, 3592.7275f, 3916.1785f, 4723.3325f, 5318.1221f, 5703.9697f, 5996.7651f, 371.4409f, 471.0789f, 896.4924f, 1197.7544f, 1400.8007f, 1611.1555f, 1867.3550f, 2818.4475f, 3002.5906f, 3250.1440f, 3546.5891f, 4265.0371f, 4890.3369f, 5274.4722f, 5659.3560f, 5946.9644f, 330.9331f, 448.7211f, 808.3973f, 978.2021f, 1652.6361f, 1969.0725f, 2357.0146f, 2680.4792f, 2859.9165f, 3078.9578f, 3423.6895f, 4233.3169f, 4856.7813f, 5086.5723f, 5393.9961f, 5938.6035f, 323.9659f, 433.8731f, 1045.5168f, 1369.1907f, 1561.9178f, 1984.2457f, 2224.0959f, 2747.3657f, 2995.0359f, 3242.9248f, 3501.0344f, 4022.2388f, 4847.4985f, 5210.9922f, 5658.1357f, 6005.0718f, 354.6574f, 501.6520f, 852.5305f, 1020.8707f, 1540.5925f, 1998.5675f, 2253.1487f, 2845.3960f, 3056.5273f, 3305.0466f, 3954.2900f, 4591.7471f, 4915.2856f, 5221.9082f, 5544.7285f, 5879.9150f, 363.1311f, 474.7310f, 907.5490f, 1106.8586f, 1367.2662f, 1646.6934f, 2031.3650f, 2326.4382f, 2568.6519f, 3030.1091f, 3905.6482f, 4265.9111f, 4716.1831f, 5017.0454f, 5469.8149f, 5958.6182f, 379.9262f, 524.4459f, 845.4813f, 1275.4414f, 1458.2488f, 1772.5863f, 2067.7981f, 2526.8850f, 3066.4063f, 3307.8713f, 3807.2900f, 4199.1509f, 4452.4653f, 4854.7471f, 5464.8833f, 5947.7842f, 371.8218f, 483.9148f, 778.2747f, 1208.0812f, 1366.3983f, 1623.4895f, 1798.8777f, 2224.6445f, 3103.7175f, 3386.0408f, 3782.8284f, 4307.4727f, 4698.8994f, 5118.1255f, 5505.1919f, 5921.1724f, 217.9059f, 323.3224f, 639.7305f, 1026.5331f, 1312.9242f, 1885.6948f, 2361.8403f, 2805.5396f, 3213.2600f, 3631.5017f, 4033.4087f, 4426.3423f, 4821.3203f, 5208.3833f, 5590.5205f, 5956.1538f, 211.9971f, 311.2018f, 504.6345f, 858.3289f, 1574.7019f, 1934.9866f, 2381.4163f, 2786.2043f, 3238.9326f, 3611.0518f, 4005.2578f, 4401.0615f, 4802.1479f, 5192.5493f, 5587.1479f, 5965.5977f, 219.3884f, 319.3835f, 604.0102f, 1114.8630f, 1481.3870f, 2036.0469f, 2303.4883f, 2616.1384f, 3253.6335f, 3556.5107f, 3946.6567f, 4520.3555f, 5091.0479f, 5416.3037f, 5748.5737f, 5946.5757f, 350.3716f, 515.4462f, 756.5206f, 1061.4270f, 1251.9570f, 1723.2751f, 2687.6689f, 3036.2019f, 3273.9678f, 3744.2939f, 4098.6284f, 4391.4160f, 4917.6777f, 5244.2852f, 5551.4976f, 5880.1572f, 311.6069f, 458.7317f, 795.9418f, 969.5021f, 1511.2507f, 1952.5673f, 2273.6116f, 2795.8657f, 3049.7053f, 3578.0598f, 3911.1873f, 4327.2598f, 4735.3105f, 5122.3423f, 5479.7817f, 5858.1504f, 267.8399f, 390.6757f, 886.2357f, 1179.5110f, 1466.6409f, 2088.7725f, 2328.1262f, 2993.5786f, 3283.5256f, 3593.2822f, 4095.7588f, 4500.4009f, 4887.5132f, 5219.0859f, 5553.4224f, 5915.6831f, 279.2209f, 413.3200f, 648.4438f, 1282.1798f, 1793.2556f, 1952.1060f, 2484.9436f, 2857.3630f, 3077.2114f, 3548.2585f, 4045.4526f, 4309.5947f, 4760.2900f, 5208.1948f, 5620.9717f, 5968.3237f, 306.2321f, 424.7843f, 618.7867f, 1288.7572f, 2110.7849f, 2346.5396f, 2582.5366f, 2833.5730f, 3074.3774f, 3464.7886f, 3984.6379f, 4262.0337f, 4601.5132f, 4999.6992f, 5498.8926f, 5920.4814f, 259.2613f, 353.6931f, 762.5328f, 1906.2162f, 2088.1213f, 2317.9741f, 2546.5935f, 2880.3687f, 3332.0002f, 3636.9216f, 3946.4287f, 4226.0356f, 4502.1084f, 5007.0601f, 5496.4824f, 5924.8877f, 244.3871f, 357.0287f, 1114.7865f, 1651.1329f, 1850.2976f, 2200.5942f, 2484.7026f, 2872.6968f, 3092.8455f, 3373.5869f, 3707.5891f, 4180.1289f, 4603.5298f, 5132.2671f, 5554.7617f, 5973.5220f, 700.5439f, 1363.5277f, 1745.2494f, 2081.9539f, 2379.8628f, 2623.6003f, 2883.6484f, 3133.9824f, 3457.7092f, 3819.0100f, 4191.0537f, 4547.0400f, 4912.5127f, 5241.3423f, 5594.9395f, 5930.6099f, 268.7704f, 370.8200f, 609.4679f, 1558.5339f, 1961.6279f, 2155.8916f, 2419.4485f, 2655.5103f, 3152.6685f, 3426.9221f, 3716.8181f, 4107.1616f, 4965.5698f, 5384.2026f, 5706.7183f, 6015.6196f, 305.7638f, 395.9599f, 1103.0944f, 1383.6494f, 1612.9742f, 1915.2496f, 2189.8008f, 2555.3608f, 2720.8220f, 3038.2434f, 3927.1301f, 4263.0518f, 4685.7217f, 4984.1377f, 5272.6162f, 5984.5376f, 294.0385f, 426.7762f, 814.5162f, 1056.9037f, 1715.3539f, 2005.3177f, 2316.4392f, 2647.4297f, 2893.8242f, 3196.7476f, 3720.0044f, 4186.9790f, 4840.4512f, 5290.1250f, 5684.2139f, 5967.5859f, 359.5141f, 517.6051f, 807.4898f, 1143.5930f, 1328.1393f, 1814.7098f, 2309.8894f, 2618.8655f, 3160.5962f, 3445.0479f, 3883.2664f, 4235.5200f, 4718.7324f, 5367.3608f, 5765.9331f, 6034.9233f, 241.5752f, 375.5109f, 818.8776f, 1298.7773f, 1656.9050f, 2169.8962f, 2565.1440f, 3015.9919f, 3437.9463f, 3863.8203f, 4254.4023f, 4637.0952f, 5027.8252f, 5358.3784f, 5685.5000f, 5980.4063f, 322.5406f, 454.9644f, 963.3659f, 1513.8885f, 1704.5070f, 2235.6599f, 2523.6467f, 2995.0757f, 3287.8682f, 3552.8811f, 3872.4360f, 4201.2227f, 4571.9087f, 5066.6792f, 5562.1206f, 5935.7900f, 412.5748f, 615.8419f, 1126.9519f, 1455.5172f, 1653.3076f, 1965.2689f, 2240.6904f, 2672.5129f, 3127.3301f, 3477.8540f, 3983.6145f, 4458.6558f, 4896.7998f, 5237.9814f, 5609.1597f, 5939.6416f, 342.1361f, 470.6100f, 958.3576f, 1195.0166f, 1426.4667f, 1684.2009f, 2194.0950f, 2545.9453f, 2946.1851f, 3415.2820f, 3657.4158f, 4408.6763f, 5097.2251f, 5404.2202f, 5719.9829f, 5977.7959f, 297.8767f, 386.6347f, 1095.8346f, 1454.3085f, 1651.6417f, 1927.9633f, 2198.4927f, 2583.1694f, 2757.0144f, 3009.6497f, 3310.9514f, 3956.9753f, 4677.3208f, 5122.2222f, 5539.0688f, 5993.0542f, 334.7170f, 450.1582f, 747.3162f, 1560.2024f, 1808.2147f, 2006.5011f, 2415.2419f, 2680.1956f, 3016.5549f, 3651.1340f, 3975.3625f, 4209.6563f, 4531.0396f, 5121.7212f, 5585.2202f, 5962.3667f, 256.4101f, 495.5723f, 1341.4860f, 1805.1255f, 2201.8318f, 2514.7769f, 2820.4092f, 3102.3867f, 3414.3872f, 3754.7742f, 4108.2378f, 4465.9258f, 4857.4355f, 5216.2144f, 5592.3076f, 5951.9995f, 530.7974f, 1017.4255f, 1463.9575f, 1858.6631f, 2360.1265f, 2770.3811f, 3106.0894f, 3379.1919f, 3647.7175f, 3895.9026f, 4188.8652f, 4522.8984f, 4893.7954f, 5241.4312f, 5623.8994f, 5975.3608f, 597.1553f, 1198.0758f, 1722.7361f, 2128.6658f, 2519.1504f, 2825.5122f, 3086.1943f, 3330.0283f, 3608.2961f, 3906.9929f, 4241.8105f, 4603.1694f, 4972.8159f, 5308.1670f, 5651.1968f, 5976.6704f, 699.1581f, 1293.3193f, 1637.3395f, 1912.7987f, 2163.3445f, 2425.7944f, 2704.0396f, 3006.5984f, 3358.2126f, 3746.1548f, 4125.0762f, 4489.7485f, 4854.0088f, 5188.5146f, 5558.2056f, 5913.3164f, 489.0107f, 921.4806f, 1329.8511f, 1644.8383f, 2013.6794f, 2365.2683f, 2746.1553f, 3085.6912f, 3457.0234f, 3825.2183f, 4203.4224f, 4575.9331f, 4950.6606f, 5298.7559f, 5659.8618f, 5997.0015f, 230.3653f, 389.8415f, 938.1970f, 1294.3594f, 1768.8275f, 2189.1001f, 2597.3755f, 2985.8518f, 3323.6023f, 3705.8533f, 4065.5361f, 4446.4224f, 4818.4502f, 5185.9634f, 5583.2168f, 5954.2573f, 283.9404f, 400.2146f, 630.6198f, 1491.5646f, 2295.1375f, 2496.3457f, 2726.5803f, 2971.1951f, 3207.2317f, 3634.5439f, 4178.0376f, 4423.5537f, 4836.2109f, 5172.1821f, 5464.0454f, 5777.5801f, 242.6232f, 351.1541f, 807.9852f, 1621.9950f, 2043.8676f, 2532.5122f, 2860.5505f, 3200.3403f, 3499.8274f, 3760.3772f, 4068.9617f, 4410.7339f, 4778.8413f, 5153.0142f, 5553.1997f, 5932.5996f, 227.3320f, 323.2667f, 752.3189f, 1572.3750f, 1930.6083f, 2355.0117f, 2717.6223f, 2968.3215f, 3233.4026f, 3551.9622f, 3918.5608f, 4346.0190f, 4778.6880f, 5159.6172f, 5568.5566f, 5980.8086f, 307.9120f, 439.7297f, 660.0276f, 1243.3854f, 1532.3577f, 1796.3936f, 2437.3232f, 2691.4072f, 3030.3025f, 3524.1379f, 3771.7576f, 4083.2375f, 4601.1567f, 4963.4697f, 5434.8530f, 5942.8315f }; const float lsf_cdk_nb_gc_stg1[] = { -50.2820f, -20.3699f, -85.9016f, -168.2552f, -219.7203f, -228.3721f, -209.7385f, -115.7139f, -70.1936f, 2.9143f, 53.7331f, 204.0881f, 324.2565f, 283.0311f, 194.2415f, 55.6127f, -7.7024f, 55.3216f, 40.0302f, -2.6173f, -31.0254f, -49.9638f, -89.5104f, -79.9710f, -100.2947f, -84.2426f, -89.8130f, -44.4505f, 8.1330f, 123.3018f, 115.2609f, 17.5947f, -29.7454f, 23.9522f, -6.6145f, -47.3088f, -83.6021f, -109.3905f, -118.2556f, -70.7910f, -71.2423f, -49.5609f, -49.3213f, 0.8054f, 70.8270f, 167.7499f, 132.1748f, 26.7946f, -46.7868f, 21.9789f, 17.0331f, 1.6574f, -5.3416f, -1.5485f, -24.7294f, -2.2697f, -36.0918f, -31.9601f, -52.9409f, -18.2356f, -16.6137f, 52.8291f, 99.2958f, 9.2780f, -48.8451f, -8.8573f, -49.2111f, -93.0997f, -116.0209f, -119.2193f, -130.6934f, -90.0435f, -85.8524f, -49.9080f, -30.8948f, 57.8291f, 207.6663f, 238.5938f, 162.1688f, 42.1291f, 6.0599f, 96.6534f, 89.7254f, 64.7391f, 47.1759f, 39.3332f, 3.8599f, 12.1104f, -25.8483f, -30.7162f, -54.9950f, -24.3625f, -65.0093f, -91.8893f, 41.2788f, -9.3500f, -74.6215f, -34.1444f, -45.1607f, -35.7601f, 20.1298f, 61.8053f, 45.9485f, 61.3004f, 23.1269f, 17.0184f, -14.6351f, 11.5369f, 40.6714f, 134.6762f, 127.4157f, 23.2286f, -53.8382f, -7.1967f, 51.3428f, 149.2781f, 132.0314f, 106.9591f, 40.3082f, 28.7839f, -20.0071f, -32.1960f, -69.3754f, -44.7267f, -19.1058f, 81.8775f, 103.3263f, 11.7826f, -83.4690f, -58.9994f, -100.6923f, -109.7423f, -77.3123f, -51.0569f, -49.0334f, -11.2254f, -13.7028f, 11.7115f, 17.4433f, 113.4333f, 269.5462f, 270.9727f, 181.4436f, 50.9590f, 19.0904f, 106.4309f, 78.2419f, 22.1934f, -28.2661f, -71.6118f, -97.8980f, -57.5252f, -73.2944f, -59.0236f, -70.7380f, -30.7879f, -16.6118f, 71.0734f, 102.1686f, 10.6722f, -44.5958f, 9.5910f, -9.9670f, -35.4491f, -36.7779f, -38.2726f, -71.5033f, -56.3692f, -75.3217f, -60.2630f, -64.3206f, -15.0396f, 51.1008f, 156.1136f, 128.1305f, 24.1397f, -26.8342f, 50.7102f, 47.9495f, 34.1131f, 33.1750f, 40.6004f, 1.8381f, 6.9380f, -34.5476f, -37.5681f, -63.3813f, -32.2824f, -50.5980f, -25.5098f, 69.6276f, -1.2117f, 6.7027f, 67.8112f, 38.0872f, -23.7302f, -79.0851f, -119.7724f, -146.1929f, -104.8024f, -107.0018f, -86.5365f, -75.9935f, -16.8613f, 84.1440f, 178.1427f, 133.5219f, 27.8811f, 46.6789f, 157.1987f, 135.6186f, 86.3393f, 50.7338f, 16.6195f, -30.7043f, -23.0751f, -58.4989f, -58.2831f, -83.9640f, -51.4746f, -40.3803f, 39.6990f, 89.0926f, 5.3683f, -66.8068f, -25.7930f, -49.4702f, -55.7445f, -47.4219f, -47.2327f, -55.9657f, -21.6380f, -32.0155f, -16.3766f, -23.1897f, 25.9724f, 108.6076f, 192.8678f, 143.8874f, 32.5168f, -29.4610f, 51.1883f, 125.8174f, 178.0158f, 192.4019f, 200.6733f, 150.3214f, 139.0109f, 70.5642f, 49.0546f, 5.2967f, 10.7600f, -32.3233f, -56.1770f, 38.7244f, -6.3720f, -90.7935f, -86.8579f, -165.1847f, -206.9982f, -177.3116f, -110.7218f, -60.4555f, 28.9968f, 59.3721f, 111.7430f, 148.9078f, 297.0840f, 382.8354f, 319.0586f, 217.5980f, 66.9906f, -8.8907f, 51.2038f, 20.6150f, -25.0275f, -6.4919f, 28.5998f, -19.2903f, -28.0775f, -67.6854f, -70.6924f, -91.1332f, -51.9799f, 4.7191f, 121.9776f, 114.5332f, 16.9555f, -29.5779f, 38.1348f, 16.9460f, -13.1717f, -43.7665f, -58.5053f, -66.8853f, -23.5223f, -47.7123f, -38.4358f, -52.6004f, -12.1781f, -9.5310f, 62.0772f, 102.4962f, 10.5329f, -51.3839f, 10.1170f, 8.8413f, 7.1799f, 27.0856f, 57.8446f, 40.2151f, 55.8005f, 14.1522f, 8.5107f, -25.3037f, -4.1035f, -34.2602f, -19.2221f, 74.9812f, 1.2982f, -9.0629f, 39.9632f, -4.2048f, -68.4062f, -125.5652f, -168.4946f, -200.3423f, -148.8132f, -131.2517f, -83.3627f, -43.4004f, 70.8276f, 231.0238f, 241.4682f, 165.0121f, 42.8259f, 23.0736f, 143.9185f, 165.8485f, 141.1318f, 126.9031f, 113.7775f, 58.7625f, 48.6260f, 0.7530f, -14.8817f, -51.1437f, -31.9407f, -63.3610f, -68.5826f, 42.2195f, -8.3010f, -64.7372f, -30.3666f, -13.8118f, 64.0613f, 130.9271f, 167.6980f, 130.2968f, 120.2481f, 53.8473f, 30.9594f, -13.2901f, -0.2919f, -12.6298f, 33.0601f, 89.8137f, 7.9164f, -27.4071f, 46.5739f, 73.0324f, 90.7500f, 97.4257f, 110.0360f, 75.8612f, 77.2110f, 30.1418f, 14.8390f, -22.5191f, -7.5352f, -58.3772f, -104.3289f, 27.0985f, -11.5599f, -48.6199f, -8.4983f, -71.8930f, -149.9820f, -149.4210f, -44.3473f, 3.8456f, 37.8226f, 11.8655f, 4.7745f, -23.8053f, 15.0402f, 99.2230f, 190.4169f, 143.6005f, 32.2851f, 15.9306f, 86.2159f, 75.9614f, 40.8587f, 13.8614f, -5.1135f, -53.5447f, -49.2651f, -83.1781f, -77.3701f, -94.7805f, -58.1423f, -37.1552f, 59.5436f, 95.8876f, 7.8334f, -71.4812f, -18.0191f, -10.6353f, -10.9646f, -4.7830f, 7.0689f, -8.9645f, 17.0751f, -8.9055f, -4.5033f, -26.7167f, 6.5207f, 41.1034f, 136.7648f, 126.6881f, 22.6529f, -13.3071f, 67.8215f, 50.5701f, 22.0055f, -0.1895f, -16.2081f, -44.2669f, -15.2243f, -42.5961f, -37.7900f, -54.1335f, -14.8001f, -44.7622f, -39.3502f, 68.9017f, -1.9700f, 54.4719f, 135.4882f, 107.6822f, 37.1723f, -15.7729f, -58.2111f, -117.6718f, -111.5628f, -125.9742f, -95.3344f, -71.1785f, 20.4405f, 178.9972f, 225.0608f, 154.3984f, 37.7039f, 199.1418f, 301.5473f, 242.3446f, 156.1444f, 129.3343f, 112.5769f, 60.9076f, 24.7294f, -36.1788f, -44.7856f, -49.6138f, 35.8621f, 132.4271f, 180.8326f, 145.9355f, 30.7412f, -95.8307f, -73.4794f, -76.3260f, -32.8480f, 25.0377f, 53.0367f, 47.9260f, 71.8612f, 48.9617f, 48.0805f, 31.5298f, 92.4644f, 215.5727f, 252.6642f, 172.3081f, 47.3738f, -2.1387f, 144.6784f, 257.4241f, 293.7984f, 302.9054f, 301.4404f, 234.6555f, 199.2878f, 117.8049f, 82.4572f, 28.1316f, 27.9394f, -20.8952f, -53.5108f, 47.9862f, -3.2292f }; const float lsf_cdk_nb_gc_stg2[] = { -11.7897f, -34.0201f, -78.3915f, -67.4130f, 11.6646f, 27.0897f, -25.4365f, -16.9519f, 1.3623f, -14.4721f, -40.8934f, -28.8082f, -17.5541f, -24.8863f, -42.0546f, -57.4396f, -48.2462f, -17.3640f, -23.4838f, -18.0105f, -23.4463f, -23.8641f, 20.1374f, 22.8944f, -27.9673f, -51.2149f, -32.0136f, 58.4191f, 66.0445f, 33.8922f, -28.8229f, -24.7667f, 12.6486f, 32.0241f, 14.4964f, 5.0635f, 11.7718f, 12.7508f, -18.2755f, -64.0918f, -88.2808f, -46.2724f, 11.7478f, -4.0560f, -28.8370f, -15.2873f, -17.0688f, -21.2716f, 21.1704f, 4.6685f, -15.1944f, 19.2773f, 48.9464f, 24.7768f, -31.9223f, -48.4027f, -40.5826f, -2.3521f, -7.7634f, -9.3639f, 49.8116f, 38.9864f, -9.6274f, -43.4792f, -14.3368f, 6.7127f, -17.8859f, 16.5261f, 17.9780f, -18.2431f, -4.9259f, 4.9691f, 34.1057f, 28.5456f, 37.3357f, 25.9730f, -12.0323f, -14.3174f, -35.7203f, -11.7712f, 71.0202f, 87.9962f, 53.5089f, 22.0342f, -29.0835f, 7.8202f, 61.7147f, 30.4243f, -7.0096f, -12.3327f, 121.0591f, 124.7827f, 86.3632f, 52.5283f, 25.7588f, 2.2977f }; const float lsf_cdk_nb_gc_stg3[] = { -20.1057f, -62.1359f, -90.9211f, -83.2088f, -41.8080f, 4.3801f, 64.9293f, 55.2259f, 18.8953f, 8.4560f, -12.4851f, -29.8479f, -46.3014f, -59.0597f, -57.9280f, -55.5646f, -16.2912f, 29.7501f, 6.4438f, 1.9289f, -42.4234f, -57.2848f, -42.1410f, -25.0914f, -20.5850f, -22.9466f, -28.6753f, -9.5206f, -2.8536f, -2.4606f, 2.9437f, -3.2337f, -19.4418f, -30.8279f, -40.2200f, -54.7107f, -69.2608f, -36.5696f, -14.6763f, -7.4390f, 56.9685f, 42.9405f, 2.6357f, -28.9316f, -41.7842f, -41.1244f, 7.2469f, 37.7725f, 9.4299f, 3.8716f, -13.4056f, -11.0915f, -7.8932f, -4.4242f, -3.6432f, -6.2205f, -52.2374f, -101.3244f, -31.8836f, -12.9959f, -49.5845f, -68.9839f, -40.9861f, -4.8425f, 25.7585f, 49.5206f, 52.3506f, 42.0803f, 18.1566f, 7.3750f, 7.9175f, 30.0116f, 39.2961f, 39.8519f, 33.8428f, 18.7027f, -42.1156f, -114.4817f, -41.9139f, -14.3475f, -10.3140f, -13.1813f, -8.6771f, -12.5086f, -7.9996f, 8.1476f, 62.8062f, 70.2916f, 23.1315f, 10.3555f, 7.8827f, -9.7751f, -27.3751f, -19.0843f, -3.1083f, 5.0911f, -8.9477f, -1.9864f, -0.0476f, -1.0431f, -25.6990f, -1.3466f, 13.9307f, -1.5450f, -21.5161f, -36.5054f, -27.3657f, 9.1052f, 0.5716f, -0.5675f, 26.0226f, 39.0806f, 25.3016f, 10.6567f, -7.6451f, -27.7012f, -57.9450f, -49.0041f, -17.4613f, -8.2350f, 24.7306f, 40.5991f, 39.1729f, 32.6364f, 20.0500f, 9.7588f, 17.8440f, 32.3000f, 10.7014f, 4.0975f, -31.9825f, -23.6145f, 19.2348f, 43.8139f, 32.4545f, 14.8018f, -12.9031f, -14.2377f, -3.4099f, -2.2026f, 17.4813f, 29.7370f, 40.6045f, 56.0407f, 77.3266f, 109.6360f, 126.9981f, 90.0105f, 41.2847f, 18.3934f, 62.0530f, 98.1263f, 103.5605f, 86.5243f, 56.8051f, 24.7345f, -16.4333f, -39.4116f, -16.3685f, -5.1868f }; const float lsf_cdk_nb_vc_stg1[] = { -47.8739f, -33.3324f, -111.7403f, -187.1021f, -217.8067f, -211.2333f, -197.1951f, -112.5993f, -54.4085f, 25.6601f, 103.3922f, 273.8963f, 384.4787f, 321.9756f, 214.8825f, 64.7502f, 5.7213f, 62.0822f, 4.1813f, -75.3379f, -130.0791f, -169.8000f, -137.2333f, -8.1913f, 9.1551f, 12.5919f, -10.2666f, 24.1670f, 78.8903f, 170.0603f, 136.5900f, 28.5131f, -61.2759f, -38.8420f, -92.0781f, -106.8447f, -84.5683f, -75.2343f, -90.1177f, -57.8575f, -57.3309f, -23.0973f, -6.5859f, 96.8941f, 263.0488f, 266.3097f, 177.9874f, 48.9404f, -4.6756f, 65.2555f, 47.7555f, 30.0066f, 28.7910f, 33.2401f, 1.0363f, 13.6479f, -20.0856f, -24.5283f, -44.3793f, -10.0354f, -56.2017f, -77.3347f, 55.5984f, -6.2838f, -40.8653f, -14.8363f, -92.0112f, -175.7323f, -221.1710f, -161.1121f, -52.8429f, 37.5645f, 41.2468f, 45.5229f, 26.4500f, 86.3998f, 219.2824f, 253.3986f, 172.4165f, 46.3912f, -35.6673f, 17.5904f, -11.9410f, -25.7858f, -8.8584f, 21.6273f, 0.1729f, 6.5783f, -34.6991f, -36.4150f, -56.0023f, -21.0789f, -19.8846f, 54.1067f, 99.1987f, 9.4728f, -14.2776f, 27.3931f, -14.6997f, -66.6010f, -99.6813f, -122.6578f, -150.2305f, -113.9728f, -109.1274f, -78.9555f, -60.2257f, 27.8011f, 190.2385f, 229.8084f, 157.2525f, 39.3867f, 7.6929f, 67.9322f, 38.8456f, -21.1201f, -59.7777f, -99.3488f, -141.1098f, -110.2669f, -114.7237f, -91.8703f, -77.7551f, -15.8694f, 90.5305f, 184.5058f, 136.0935f, 29.0311f, -81.2402f, -78.5803f, -151.4014f, -172.9501f, -128.6324f, -73.2223f, -54.4444f, -10.0382f, 0.8191f, 49.8313f, 85.4796f, 237.9407f, 375.9963f, 320.3293f, 212.6340f, 64.0690f, -7.5501f, 56.9796f, 22.4374f, -12.3837f, -25.5942f, -46.4205f, -67.6393f, -25.5805f, -48.1321f, -39.6622f, -53.1014f, -11.2472f, -23.2435f, 35.6549f, 94.7977f, 6.9705f, -35.2312f, 5.7296f, -40.3538f, -74.0301f, -73.9051f, -78.4101f, -69.6657f, -23.5663f, -38.8351f, -23.3996f, -29.2527f, 14.7714f, 60.7441f, 159.3770f, 132.0680f, 26.1624f, 63.7916f, 158.4710f, 108.6537f, 49.2831f, 12.4814f, -34.2755f, -68.0055f, -38.2006f, -61.2743f, -54.7496f, -73.2102f, -37.3536f, -2.8530f, 99.6502f, 109.4658f, 14.7136f, -46.8550f, -17.8951f, -73.5817f, -109.9269f, -59.6995f, 13.9228f, 17.3227f, 37.6147f, 5.2378f, 2.5800f, -15.0369f, 23.6412f, 86.2658f, 178.2385f, 140.5764f, 30.3354f, -64.0179f, -34.7786f, -33.8634f, 32.5490f, 41.5821f, 30.0052f, 2.8933f, 7.9098f, -23.6020f, -21.4437f, -40.3389f, -5.3147f, 46.4389f, 149.8765f, 129.5062f, 24.3633f, 53.2208f, 88.2962f, 18.1083f, -68.6983f, -163.9225f, -257.5996f, -286.3273f, -136.1982f, -54.0297f, 17.4621f, 96.5930f, 257.5079f, 374.4247f, 316.8143f, 211.5481f, 63.1783f, 174.9770f, 220.4714f, 114.9514f, 39.1980f, 15.6628f, -57.4971f, -151.3537f, -151.4255f, -122.5434f, -39.5915f, 43.3476f, 204.8011f, 347.0733f, 300.8141f, 202.2481f, 58.3570f, -24.8002f, 5.5647f, -51.1305f, -108.2679f, -143.4691f, -168.1934f, -183.0667f, -123.7768f, -105.2566f, -53.2548f, -15.6183f, 132.2483f, 301.9698f, 276.6960f, 185.6425f, 51.4215f, 63.0767f, 97.9030f, 23.3427f, -27.8271f, -7.6827f, 11.5110f, -9.1648f, -16.5310f, -60.2418f, -68.6020f, -79.4697f, -9.9630f, 143.1208f, 212.2018f, 148.4344f, 34.8853f, -52.8577f, -17.0901f, -38.4446f, -44.4913f, -48.3650f, -49.3479f, -79.7237f, -66.0328f, -77.9226f, -56.8956f, -48.1326f, 19.1059f, 138.4749f, 210.3387f, 148.5705f, 35.3026f, 16.4209f, 102.4966f, 100.9513f, 64.0511f, 50.2873f, 36.1014f, -21.6103f, -26.7705f, -65.0290f, -62.8056f, -83.1056f, -46.5621f, -51.3341f, 1.7945f, 78.1135f, 1.0912f, -75.6609f, -71.8274f, -139.7561f, -117.4244f, -22.4806f, 39.5285f, 53.1389f, 65.2518f, 36.9996f, 37.9781f, 25.3240f, 92.8186f, 227.9041f, 260.3466f, 176.7927f, 48.2170f, -18.6440f, 33.8824f, 28.5803f, 10.9212f, 5.0722f, 4.4072f, -39.6675f, -38.3990f, -75.6662f, -72.1438f, -87.2765f, -46.7029f, -6.7231f, 107.6602f, 110.8838f, 15.3706f, 21.3981f, 74.2394f, 19.3760f, -47.0944f, -99.2094f, -138.5254f, -193.3578f, -171.5091f, -176.8980f, -112.0385f, -43.8164f, 79.0272f, 251.8247f, 251.6656f, 170.8083f, 44.5524f, 67.4133f, 149.9282f, 118.6238f, 30.5943f, -33.2344f, -70.7200f, -120.6338f, -105.4183f, -118.8368f, -86.5003f, -64.0278f, 50.0950f, 231.7671f, 247.4923f, 167.0543f, 43.3706f, -40.9878f, -39.3167f, -163.9672f, -281.7721f, -267.4339f, -138.3948f, -88.8411f, 0.7440f, 65.0724f, 165.9769f, 269.7260f, 427.8145f, 485.5638f, 388.7820f, 254.5937f, 84.1430f, 12.9002f, 76.9394f, 62.5283f, 13.6656f, -10.4341f, -35.7194f, -84.1773f, -75.4588f, -98.8663f, -85.0203f, -91.0417f, -43.6094f, 6.1868f, 120.0995f, 114.3634f, 17.2779f, -21.4884f, 29.4970f, 1.0910f, -37.4928f, -55.1841f, -66.8253f, -92.8491f, -74.1643f, -90.3904f, -72.3158f, -69.6267f, -16.2943f, 51.2075f, 158.6230f, 128.0881f, 24.5940f, 140.4902f, 213.5873f, 167.7455f, 102.0038f, 85.7659f, 59.5426f, 9.2403f, -0.7622f, -35.6690f, -35.9801f, -58.6565f, -15.1000f, 23.5135f, 101.5155f, 111.5278f, 16.5967f, -62.8100f, -47.2312f, -97.3130f, -60.9976f, 82.6761f, 193.9902f, 154.0588f, 118.2896f, 43.6828f, 13.9735f, -22.6650f, 0.5943f, 26.8732f, 111.3673f, 120.5305f, 20.1022f, -44.4747f, -10.4204f, 32.1805f, 131.3261f, 157.9129f, 155.8841f, 90.2107f, 70.7406f, 9.4064f, -4.0535f, -42.4163f, -26.0150f, -39.1314f, 20.5559f, 82.2390f, 4.9553f, 88.4086f, 134.4090f, 60.3778f, -13.5659f, -72.1912f, -160.4579f, -261.2583f, -247.6886f, -121.4628f, -13.9737f, 35.4003f, 197.3431f, 335.8232f, 294.0672f, 197.4029f, 56.5130f, 267.3715f, 336.4754f, 224.6896f, 104.9689f, 104.5109f, 94.7971f, -20.0482f, -88.9197f, -142.8754f, -60.7279f, 30.3207f, 189.5033f, 335.5709f, 295.5561f, 200.0838f, 57.2552f }; const float lsf_cdk_nb_vc_stg2[] = { -9.6827f, -17.9738f, -44.2587f, -53.7409f, 10.1005f, 32.4057f, -29.5803f, -35.3673f, -50.3175f, -49.1053f, -47.5762f, -37.2894f, -10.3138f, -3.1171f, 2.9317f, -20.2045f, -78.9643f, -84.6932f, 13.6252f, 8.7360f, -21.5126f, -20.8022f, -14.8279f, -30.9676f, -28.1089f, -48.1602f, -64.6161f, -0.2872f, 108.6371f, 93.6271f, -38.2393f, 1.9703f, 14.1451f, -7.5949f, 39.2872f, 33.7052f, -38.5209f, -10.1299f, 61.9126f, 45.3993f, -7.5115f, -17.0167f, 26.2164f, 20.2119f, 40.4075f, 45.2381f, -2.3925f, -17.4109f, -19.1953f, -10.5024f, 12.6622f, -19.8408f, -40.6066f, 1.8757f, -32.7274f, -41.0545f, -26.1793f, 15.7486f, 1.2783f, -17.0256f, 3.5921f, 2.2211f, -27.0254f, -81.1776f, -88.9427f, -11.1151f, 48.7753f, 42.6625f, 3.8241f, -21.1582f, 27.5770f, 36.8815f, 6.8266f, -6.1852f, -19.6226f, 28.9512f, 50.9852f, 15.2853f, -33.3786f, -38.1386f, 24.6782f, 95.1954f, 64.2442f, 33.4105f, 49.0652f, 49.8207f, 29.3688f, -11.7891f, -57.3484f, -44.4722f, 91.6464f, 85.0063f, 63.6020f, 55.1679f, 36.0606f, 12.7997f }; const float lsf_cdk_nb_vc_stg3[] = { -16.5483f, -67.8691f, -113.3476f, -92.9768f, -18.1549f, 21.7013f, 31.7869f, 25.1431f, 9.0112f, 3.4920f, -7.8375f, -22.7162f, -45.0895f, -61.3419f, -64.4643f, -67.3643f, -44.8953f, -6.2556f, -7.9342f, -3.9490f, -63.5255f, -72.6896f, -45.5471f, -30.5803f, -26.8317f, -24.4668f, -15.1301f, 4.8754f, -0.5588f, -0.8157f, -2.2381f, 13.4403f, 16.0097f, 1.0526f, -24.8448f, -61.3997f, -91.3894f, -39.4637f, -19.2183f, -9.1265f, -16.0140f, -32.7087f, -45.2478f, -59.4365f, -60.1819f, -31.6687f, 70.4575f, 64.2544f, 19.1841f, 9.3201f, -8.2141f, 2.4761f, 7.4360f, 11.7049f, 14.0396f, 16.9693f, -53.7166f, -119.3159f, -33.5007f, -15.4114f, -64.5115f, -52.5888f, 30.5453f, 56.2986f, 31.6535f, 9.3509f, 4.3678f, 13.3055f, 5.1440f, 2.0290f, 22.3180f, 44.1101f, 48.7477f, 40.2739f, 14.9495f, -7.3707f, -10.3082f, 6.3741f, 1.0122f, 0.2673f, -42.3440f, -58.8447f, -42.2171f, -8.0384f, 34.3873f, 59.7095f, 50.7660f, 38.7146f, 16.7582f, 7.2512f, -0.1088f, -28.5624f, -30.3477f, -2.8206f, -1.3093f, -12.9286f, -21.2371f, -1.4331f, -2.6014f, -1.5170f, -41.2001f, 4.7383f, 13.3788f, -12.5767f, -22.3489f, -14.4064f, 10.9753f, 22.2182f, 6.2625f, 2.5488f, 63.9302f, 51.1717f, 10.5411f, -23.3105f, -47.9860f, -59.1260f, -29.9675f, 0.0559f, -4.8774f, -2.3217f, 37.1022f, 14.8587f, -19.5761f, -23.3122f, 2.3273f, 32.9204f, 53.1779f, 43.4994f, 16.5403f, 7.5156f, 48.8143f, 82.6708f, 85.7133f, 77.5688f, 56.9332f, 24.0950f, -63.9412f, -138.5729f, -45.8026f, -17.6440f, -4.0024f, 18.2212f, 40.5425f, 57.9095f, 69.5262f, 79.8498f, 71.0971f, 51.3637f, 24.2751f, 10.9558f, 94.3797f, 104.2925f, 88.4585f, 69.5855f, 42.3052f, 34.1349f, 37.9570f, 35.2368f, 16.3058f, 7.4056f }; const float lsf_cdk_wb_gc_stg1[] = { -21.1721f, -6.9787f, -78.7739f, -158.7331f, -205.5198f, -259.2706f, -287.6161f, -271.9965f, -264.8213f, -231.0206f, -194.9294f, -147.7609f, -117.1413f, -85.8077f, -63.7689f, -31.4680f, -66.9546f, -30.5144f, -36.8376f, -53.0491f, -36.1642f, -48.5647f, -62.2295f, -55.2760f, -57.6386f, -55.8977f, -55.9952f, -40.6957f, -43.2573f, -33.7185f, -37.3113f, -27.4703f, -18.0276f, 24.5300f, -3.1374f, -40.7788f, -39.2887f, -55.1486f, -87.4694f, -97.8466f, -113.0920f, -112.2454f, -110.4983f, -92.0446f, -80.8734f, -57.2883f, -52.4648f, -39.3426f, -14.5043f, 41.4594f, 30.8683f, 19.7189f, 29.0785f, 7.4155f, -21.7427f, -23.9321f, -38.3113f, -41.2907f, -40.8309f, -25.7969f, -29.7702f, -20.8620f, -29.2581f, -26.0135f, -39.7173f, -14.6068f, -62.7880f, -111.0359f, -122.7799f, -150.6084f, -167.3332f, -164.6087f, -165.9175f, -146.9592f, -135.1085f, -110.8433f, -97.6828f, -72.7079f, -64.6184f, -45.5537f, -42.5539f, 26.5080f, 31.4593f, 1.2393f, 1.6319f, 6.6465f, 16.6621f, 35.3616f, 33.5966f, 53.0816f, 65.9800f, 78.6870f, 64.5119f, 50.4778f, 20.7076f, 7.5572f, -2.4650f, 88.7057f, 93.4778f, 47.6900f, 47.2210f, 51.8796f, 27.4629f, 23.3020f, 8.4560f, 12.2382f, 12.4948f, 25.9549f, 18.2040f, 17.5385f, -2.2674f, -6.8910f, -25.2995f, 40.1554f, 131.5320f, 193.8438f, 224.6298f, 213.8258f, 187.1185f, 169.5623f, 131.4438f, 108.3838f, 93.4648f, 94.1147f, 68.7427f, 48.9293f, 15.1647f, 1.4396f, -63.4604f, -63.8774f, -152.1996f, -247.2777f, -281.1492f, -288.1032f, -252.3883f, -181.6764f, -141.4441f, -90.3039f, -56.5279f, -23.8054f, -11.9068f, -1.3377f, -7.5474f, -0.6953f, -77.4333f, -60.8457f, -86.6258f, -86.4012f, -29.1547f, 7.2174f, 40.0438f, 63.6826f, 53.0035f, 51.5329f, 55.6684f, 68.8552f, 50.7040f, 34.0814f, 7.7594f, -2.1278f, 30.9564f, 87.5489f, 69.5663f, 23.2907f, 13.9146f, -0.9477f, -37.0125f, -58.8950f, -99.1749f, -117.9716f, -127.4967f, -107.3465f, -91.7610f, -62.6527f, -50.4613f, -32.9533f, -64.2954f, -37.5670f, -21.0138f, 41.6351f, 121.9423f, 170.7496f, 195.4955f, 225.2859f, 224.2241f, 223.8838f, 222.3937f, 225.7590f, 188.7341f, 143.2967f, 83.3796f, 41.8113f, 10.6654f, 55.4135f, 18.0177f, -53.2381f, -88.7693f, -114.5825f, -122.2372f, -110.6857f, -120.7652f, -124.3872f, -136.2432f, -135.4537f, -132.9560f, -104.3421f, -82.6202f, -57.8286f, -56.8219f, -2.2176f, 4.5106f, 4.9045f, 63.5084f, 94.3949f, 92.6963f, 98.2198f, 78.5731f, 65.0247f, 60.8502f, 70.0685f, 53.4160f, 34.2990f, 2.3436f, -13.6945f, 62.5259f, 160.0315f, 153.0699f, 116.3367f, 94.9113f, 59.6879f, 36.7834f, 42.8554f, 34.9832f, 32.1663f, 34.2612f, 46.5764f, 32.6032f, 22.8721f, -2.2313f, -9.0276f, -17.8885f, 81.5994f, 153.8725f, 203.3483f, 260.8972f, 308.2464f, 337.7084f, 369.5280f, 355.1932f, 340.5538f, 332.7582f, 318.9620f, 261.2268f, 196.0706f, 116.6797f, 63.9204f, 20.6478f, 57.4084f, 3.7268f, -83.6103f, -145.3750f, -207.9262f, -235.3695f, -209.9292f, -200.7669f, -173.1530f, -148.7498f, -120.9027f, -110.3875f, -91.3718f, -83.8093f, -58.7850f, -39.9125f, 14.8531f, -3.7779f, -42.3801f, -47.0086f, -54.0654f, -37.4186f, -7.7530f, -2.3503f, 11.8227f, 22.9690f, 37.9258f, 31.1117f, 26.1390f, 3.9131f, -4.7425f, 13.2679f, 79.8638f, 51.3108f, -15.0032f, -39.4744f, -78.1680f, -87.2337f, -58.9813f, -51.8486f, -39.6199f, -34.6732f, -22.2829f, -24.1548f, -18.6608f, -25.3619f, -24.4411f, -31.4295f, 11.0108f, 63.6155f, 150.7589f, 166.6739f, 132.7679f, 86.6371f, 71.7386f, 36.6906f, 13.2914f, -2.6491f, 5.5439f, -13.1750f, -13.8798f, -27.3878f, -22.3777f, -24.3473f, 16.7839f, -21.6102f, -77.9093f, -107.7952f, -144.9666f, -139.6022f, -95.3828f, -79.5686f, -54.4138f, -40.2750f, -17.7668f, -12.9124f, -7.1218f, -21.3606f, -21.7144f, -3.0221f, 85.8766f, 60.9027f, 16.5821f, 7.9817f, -16.4117f, -11.2119f, 17.4948f, 20.8488f, 33.8053f, 43.5158f, 54.6661f, 45.1287f, 38.3086f, 11.1080f, 2.6446f, 6.4417f, 122.4950f, 125.6148f, 93.2892f, 108.5553f, 111.2156f, 105.3841f, 113.7573f, 102.0970f, 107.1194f, 105.9578f, 110.0393f, 89.3394f, 67.9986f, 28.3953f, 10.5845f, 5.3008f, 132.8202f, 246.6148f, 259.5175f, 279.9749f, 270.1955f, 242.3427f, 226.1996f, 198.6216f, 175.1598f, 153.5215f, 148.0765f, 116.8644f, 82.8352f, 39.2114f, 16.4926f, -77.2826f, -81.0630f, -142.8123f, -175.7374f, -154.6778f, -134.7003f, -107.5754f, -71.3200f, -53.8328f, -25.9739f, -7.0973f, 14.6180f, 12.4415f, 12.6191f, -3.8318f, -4.2210f, -73.5975f, -49.6810f, -33.1272f, 10.8925f, 60.1080f, 61.8344f, 45.3548f, 45.5924f, 22.6090f, 11.2679f, 6.9455f, 18.9899f, -3.4566f, -13.0973f, -24.6136f, -17.3529f, 93.3489f, 170.7564f, 135.3343f, 56.2893f, 22.2173f, -20.1927f, -41.3723f, -39.2133f, -50.1699f, -54.9363f, -60.2521f, -47.5990f, -54.0679f, -44.0381f, -47.1772f, -37.0088f, -27.3811f, 60.8027f, 88.5729f, 82.6088f, 118.1956f, 140.5540f, 153.1990f, 173.3699f, 166.1148f, 168.4157f, 165.4583f, 168.4201f, 141.6623f, 111.7883f, 61.8626f, 28.6598f, 61.0331f, 119.7275f, 83.9777f, -1.2269f, -56.5834f, -121.3104f, -176.1751f, -202.5282f, -219.9765f, -194.9138f, -167.0230f, -130.8084f, -105.0937f, -81.6082f, -73.9476f, -53.6392f, -27.5935f, 45.9596f, 43.4074f, 35.4528f, 51.8229f, 58.2166f, 66.0162f, 87.5896f, 84.5125f, 96.2322f, 104.1692f, 116.0263f, 98.4793f, 78.3333f, 38.3067f, 15.3865f, 174.0302f, 282.5094f, 259.6900f, 204.4108f, 189.3996f, 158.0569f, 123.9944f, 123.1922f, 118.3560f, 110.6961f, 101.0661f, 96.5273f, 78.1838f, 52.7614f, 22.4974f, 2.3781f, 59.8885f, 245.4498f, 371.2458f, 409.7723f, 455.9382f, 450.3678f, 424.1982f, 412.1477f, 364.9408f, 325.9947f, 285.4946f, 257.5709f, 202.0349f, 150.8332f, 79.0164f, 39.6259f }; const float lsf_cdk_wb_gc_stg2[] = { -30.3104f, -56.7575f, -84.1487f, -72.1960f, -22.8352f, 3.3243f, -46.3791f, -58.1840f, -25.7428f, -7.3327f, -15.5902f, -11.0671f, -25.6715f, -22.2643f, -12.1418f, -44.6014f, -57.5933f, -25.0539f, 20.6377f, 3.9627f, -56.7740f, -110.5344f, -99.0040f, -23.5388f, -33.0807f, -65.7310f, -43.7344f, 59.6097f, 60.3127f, 29.3885f, 12.2596f, 64.5636f, 86.5834f, 56.7668f, 33.1992f, 8.0321f, -27.2580f, -0.3414f, 60.0624f, 27.3071f, -13.3937f, -18.6842f, 24.2406f, 11.7818f, 14.7099f, 38.2644f, 1.7464f, -12.1068f, 7.3676f, -14.0551f, -58.7823f, -43.8456f, 44.8481f, 49.4476f, -27.1385f, -20.1290f, 3.2930f, 11.7314f, 24.8512f, 17.5045f, 6.8143f, -14.7678f, -42.8682f, -16.1166f, -13.7942f, -20.4421f, 1.4928f, 29.4512f, 13.1269f, -26.8534f, -7.1498f, 6.9288f, 12.0685f, 25.8088f, 13.8913f, 37.8771f, 77.3020f, 41.3878f, -31.3089f, -16.5767f, 72.2701f, 101.6937f, 66.1076f, 29.3520f, 33.0047f, 43.3667f, 18.6451f, -26.2905f, -83.9726f, -67.8400f, 103.2615f, 89.8720f, 41.6101f, 14.5203f, 4.9658f, -6.6327f }; const float lsf_cdk_wb_gc_stg3[] = { -41.3186f, -87.9369f, -117.0141f, -113.4593f, -76.4138f, -35.5126f, -13.8432f, -7.5581f, -3.0880f, 2.3802f, -19.0684f, -32.7726f, -38.9479f, -44.5597f, -48.0524f, -54.3931f, -59.1547f, -53.0509f, -42.1806f, -24.7633f, 27.3501f, -3.4361f, -42.3300f, -83.6244f, -126.2025f, -139.2743f, -121.0968f, -84.5803f, -46.8967f, -18.1514f, -0.8794f, 7.8351f, 13.7504f, 10.5629f, -2.3365f, -27.6351f, -53.8406f, -67.9140f, -63.0094f, -41.9336f, 9.4961f, -11.0357f, -24.5415f, -6.6821f, 20.3012f, 24.1832f, 9.4935f, -5.4294f, -16.9057f, -12.2235f, -53.4765f, -68.3201f, -39.2295f, -10.3152f, -3.0430f, -6.2765f, -10.5345f, -10.9752f, -8.2812f, -5.0682f, 52.0481f, 94.0614f, 84.0495f, 48.7509f, 4.2751f, -40.3696f, -69.1195f, -63.3772f, -42.9216f, -24.6160f, 10.0049f, 13.7676f, 17.2697f, 29.3297f, 46.7856f, 60.3615f, 66.0947f, 59.6799f, 45.2938f, 27.9216f, 3.2564f, -15.2692f, -47.6037f, -66.2845f, -62.6754f, -33.3695f, 8.7487f, 22.9938f, 23.4655f, 15.0233f, -23.6148f, 4.1981f, 21.0969f, 4.2267f, -12.9805f, -17.4187f, -2.7787f, 14.0826f, 22.1174f, 12.4585f, 44.7733f, 31.5401f, -0.1129f, -26.8177f, -43.6473f, -45.9941f, -38.3653f, -26.4489f, -17.8081f, -11.4307f, -21.6468f, 9.0710f, 56.6256f, 68.0223f, 58.5665f, 37.6095f, 13.9228f, -1.0286f, -7.3812f, -7.6752f, 45.1285f, 52.2192f, 35.8172f, 24.0812f, 18.9679f, 16.9917f, 14.5014f, 8.4539f, -0.8742f, -3.9224f, -36.6106f, -54.0904f, -50.6995f, -17.6751f, 24.5062f, 61.1192f, 77.2085f, 68.1297f, 51.1173f, 30.6627f, 45.4659f, 77.8448f, 86.8785f, 84.8886f, 78.1169f, 70.7257f, 58.9888f, 47.0442f, 34.4050f, 19.2233f, -40.9082f, -17.6764f, 44.9914f, 99.5556f, 123.8320f, 129.2527f, 119.7749f, 99.9787f, 72.9475f, 42.1147f }; const float lsf_cdk_wb_vc_stg1[] = { -28.5460f, -28.7607f, -132.3446f, -253.0434f, -312.8796f, -342.8824f, -300.5386f, -244.2990f, -209.7251f, -159.5373f, -112.6287f, -67.3791f, -48.8219f, -29.0922f, -22.2704f, -4.3572f, -46.5981f, -22.9649f, -50.9384f, -55.9409f, -47.4823f, -67.2740f, -93.7612f, -98.1688f, -103.5437f, -102.1144f, -101.9471f, -86.9149f, -76.1870f, -53.2461f, -51.2004f, -39.3148f, 12.7666f, 41.7683f, -13.1290f, -96.2977f, -149.3018f, -210.6122f, -234.0799f, -215.3711f, -220.5745f, -210.7746f, -191.5374f, -156.6170f, -137.7840f, -109.8098f, -92.2552f, -56.2013f, -45.2993f, -13.6438f, -31.2795f, 0.5585f, 26.1751f, 13.9611f, 18.6252f, 28.1510f, 20.3802f, 26.9694f, 32.9577f, 42.5006f, 29.2892f, 25.1029f, 1.3317f, -5.8774f, -65.7100f, -62.1535f, -124.6012f, -161.3454f, -151.1323f, -164.9561f, -165.1614f, -150.4622f, -139.8421f, -109.2422f, -83.0457f, -55.1891f, -45.0696f, -29.5104f, -29.5390f, -21.1071f, -75.2456f, -87.4543f, -164.3682f, -176.4217f, -83.4371f, -28.9912f, -6.9410f, 7.5825f, -2.7413f, 1.1408f, 4.1258f, 6.3013f, -0.6780f, -0.2756f, -18.0540f, -14.7263f, 109.2056f, 132.5509f, 37.4910f, -93.8923f, -199.5966f, -323.5385f, -370.8597f, -259.1066f, -144.1366f, -52.9207f, -7.3753f, 8.7209f, 4.6669f, 18.2182f, 35.3204f, 18.9218f, 34.9292f, 54.1737f, -19.4212f, -84.9971f, -62.3420f, -22.1402f, -18.0859f, -54.5195f, -107.3912f, -147.4533f, -198.2396f, -216.4862f, -199.3848f, -152.0050f, -94.9586f, -38.9081f, -43.7524f, -65.5612f, -209.2403f, -339.0183f, -315.2712f, -219.0569f, -129.2175f, -68.7060f, -44.3255f, -17.2217f, 5.9129f, 29.8303f, 18.2167f, 13.0068f, -3.9593f, 4.1232f, -20.9014f, 30.0658f, 17.8576f, -24.7442f, -27.5837f, -29.5508f, -45.9995f, -42.7483f, -54.9773f, -59.2762f, -57.4101f, -42.5711f, -43.9485f, -38.1621f, -41.1044f, -32.5227f, -0.5370f, 38.0716f, 14.4030f, -41.8046f, -67.6856f, -96.6404f, -122.3561f, -123.7498f, -138.9439f, -138.4913f, -136.8318f, -124.9522f, -118.9503f, -96.3028f, -81.0357f, -58.1597f, -19.4244f, 61.2237f, 71.3972f, 25.6367f, 35.9458f, 21.4457f, -1.7383f, 3.2413f, -12.2673f, -20.9311f, -19.4463f, -5.0683f, -9.0711f, -11.3618f, -25.0494f, -19.2853f, -30.0686f, 7.6179f, -29.1133f, -90.4660f, -97.3464f, -101.9661f, -79.7809f, -41.4927f, -30.2058f, -14.9387f, -1.3463f, 14.7957f, 5.7342f, -1.8387f, -13.7457f, -15.5035f, -60.0474f, -62.2162f, -94.9658f, -16.5692f, 137.3642f, 195.2581f, 171.5869f, 140.1564f, 102.9256f, 81.4529f, 62.9621f, 57.0500f, 25.7595f, 5.7185f, -17.0122f, -18.2020f, 186.4318f, 224.6768f, 114.4757f, -1.7200f, -54.2938f, -162.2942f, -260.9445f, -305.8334f, -275.9291f, -196.7974f, -106.2413f, -38.2122f, -9.9698f, -0.0348f, -3.2806f, -1.0904f, 131.8525f, 182.9257f, 129.5468f, 39.5803f, -1.4035f, -45.6323f, -49.7229f, -34.2829f, -46.2254f, -45.3785f, -41.8506f, -32.6587f, -52.7586f, -51.1091f, -48.4846f, -48.8108f, -7.2430f, 5.5232f, -74.0471f, -159.3008f, -202.7316f, -252.2241f, -289.9449f, -278.4816f, -262.2343f, -234.1872f, -194.1267f, -147.2734f, -119.3163f, -94.6419f, -70.6759f, -32.5601f, -22.3081f, -6.0222f, -71.4069f, -57.5585f, 87.3579f, 111.3674f, 19.2319f, -62.1519f, -140.4286f, -175.0389f, -160.2987f, -104.7539f, -80.1002f, -50.0734f, -23.5490f, 1.6408f, 23.3797f, 81.2481f, 31.3892f, -52.3576f, -81.9250f, -125.5061f, -125.9686f, -77.3511f, -70.4429f, -55.1778f, -44.3888f, -25.9966f, -26.5913f, -23.2118f, -31.8502f, -31.7050f, -27.1231f, 37.7616f, 25.1095f, 15.1436f, 46.6224f, 72.7080f, 91.0447f, 118.4813f, 115.1246f, 132.4240f, 135.0095f, 145.7460f, 121.1771f, 93.8520f, 46.9298f, 19.6713f, -19.2617f, 10.4880f, -44.5537f, -114.3566f, -130.3973f, -156.7718f, -173.2891f, -165.3661f, -167.0274f, -147.1746f, -129.2874f, -104.7640f, -95.4641f, -77.5872f, -69.6100f, -49.0499f, -3.7184f, 35.4165f, -28.7033f, -86.2246f, -61.2082f, -15.9498f, 31.1702f, 56.3138f, 49.9412f, 77.3057f, 94.0143f, 94.3239f, 78.8126f, 62.9187f, 30.4449f, 9.8069f, 55.4567f, 100.2570f, 28.4890f, -59.9100f, -114.0757f, -166.5609f, -236.0665f, -274.6304f, -256.7512f, -58.8984f, 6.9854f, 2.1456f, 44.3655f, 27.4061f, -65.0542f, -69.1642f, 95.5202f, 139.3445f, 117.4449f, 81.4589f, 34.9276f, -44.4909f, -90.4718f, -127.2388f, -175.4005f, -220.3445f, -288.6741f, -303.4144f, -260.5738f, -126.2845f, -58.1968f, -29.1673f, 3.0556f, 18.3576f, -71.4110f, -183.6864f, -237.4567f, -273.2383f, -199.6331f, -69.6698f, -37.7715f, -22.6972f, -8.8733f, 16.1036f, 11.3358f, -3.2045f, -17.9569f, -20.6306f, 39.1896f, 96.2913f, 80.5943f, 18.4912f, -3.4620f, -34.5205f, -64.0148f, -77.2972f, -99.9022f, -107.3139f, -104.8068f, -92.0120f, -86.4257f, -73.8585f, -70.7371f, -53.2077f, 81.1530f, 122.0539f, 53.2063f, -53.6774f, -106.3376f, -163.4776f, -180.9786f, -175.0377f, -183.3532f, -183.5190f, -169.4248f, -137.3097f, -123.3554f, -101.5521f, -94.1512f, -61.8612f, 47.0309f, 137.9525f, 111.1768f, 67.6681f, 63.8415f, 52.4017f, 35.8194f, 35.6828f, 19.7444f, 10.1125f, 6.1064f, 10.9675f, 5.0407f, -0.1812f, -16.8272f, -19.3810f, 42.6721f, 92.5038f, 31.4316f, -5.1224f, -6.0796f, -41.9120f, -30.0922f, 1.7396f, 15.4681f, 21.9765f, 36.6015f, 47.1275f, 37.4374f, 28.9853f, 9.1342f, 2.7556f, -25.6593f, 22.2684f, 98.1230f, 166.4577f, 187.4970f, 165.0274f, 123.8612f, 113.1471f, 79.0653f, 48.7839f, 25.8742f, 32.9158f, 10.3013f, 1.0495f, -15.4120f, -15.0391f, 304.7019f, 354.4388f, 217.4228f, 65.5482f, 65.3717f, 25.9965f, -93.4052f, -188.0092f, -255.0247f, -224.5901f, -158.7919f, -116.2751f, -72.5203f, -57.4171f, -28.9851f, -1.9506f, 179.5714f, 241.9845f, 193.4582f, 112.7762f, 108.6980f, 80.4323f, 56.9618f, 58.6676f, 36.2938f, 12.8297f, 4.7285f, 10.9217f, 12.0551f, 12.0937f, 1.6504f, -14.7259f }; const float lsf_cdk_wb_vc_stg2[] = { -4.8704f, -25.4945f, -63.8565f, -65.1017f, -4.5396f, 12.9750f, -51.6246f, -71.2351f, -70.8930f, -49.5365f, -41.5492f, -21.1764f, -4.1941f, -21.5321f, -43.7546f, -75.1360f, -101.6917f, -51.6149f, 39.1412f, 15.8593f, -34.7315f, -30.9497f, 5.4101f, -22.1983f, -27.3812f, -44.2900f, -51.8477f, 17.0318f, 63.3214f, 33.3719f, -42.1936f, -38.7776f, 26.9794f, 58.3819f, 22.3255f, 7.3631f, -17.3453f, 32.8013f, 16.4392f, -4.8961f, 34.6309f, 3.7975f, 20.9889f, 11.0332f, 21.2790f, 43.6082f, 11.3288f, -4.0437f, -30.7619f, -28.1362f, -7.6918f, -26.0495f, -20.5254f, 20.4943f, -5.8695f, -15.0159f, -12.0884f, 4.0124f, -37.3326f, -57.6803f, 31.1085f, 51.7290f, 46.8635f, -11.1193f, -84.1480f, -75.2940f, 31.7638f, 33.3860f, -2.0831f, -68.1944f, -69.2055f, 16.6054f, 26.8476f, 11.7277f, -21.2873f, -16.1653f, 77.7471f, 74.9747f, -11.9492f, -11.8103f, 39.7377f, 110.8560f, 91.1983f, 51.6182f, -16.9337f, 34.0576f, 97.5442f, 55.3237f, 6.0911f, -14.5976f, 63.2733f, 65.6975f, 59.3910f, 57.9345f, 46.9389f, 25.4049f }; const float lsf_cdk_wb_vc_stg3[] = { -32.9020f, -78.5896f, -107.4534f, -95.7731f, -74.7222f, -53.0220f, -21.3706f, -6.3135f, 4.4667f, 8.3786f, -55.7273f, -51.1982f, -23.4921f, -31.8303f, -40.9730f, -44.0985f, -32.5056f, -19.4304f, -11.2363f, -6.8031f, -1.3625f, -17.5965f, -40.9966f, -56.5415f, -66.9172f, -82.2625f, -98.8410f, -92.9959f, -64.2789f, -34.2565f, -0.1831f, 28.9371f, 27.3975f, 6.7646f, -26.2844f, -55.3561f, -55.5887f, -25.6472f, 4.2175f, 6.7426f, -0.1042f, -22.5234f, -18.6769f, 9.5775f, 20.8908f, 1.7399f, -25.4612f, -48.9497f, -58.9339f, -45.8070f, -59.3842f, -92.5268f, -67.7156f, -8.1650f, 22.6518f, 30.8838f, 30.1565f, 24.4312f, 17.5083f, 9.4537f, 61.2263f, 100.3160f, 74.2819f, 32.8490f, -21.2300f, -80.0984f, -138.8597f, -144.8649f, -102.7813f, -51.4501f, 20.9615f, 14.5464f, 12.7374f, 42.2801f, 62.5685f, 59.3555f, 43.2439f, 37.0487f, 22.3288f, 14.0209f, 6.4664f, -20.5406f, -67.1147f, -81.1455f, -18.3522f, 38.5675f, 31.4978f, 9.2431f, -5.5141f, -0.9299f, -14.7299f, -8.8186f, -2.0488f, -3.6924f, -11.6375f, -3.0631f, 38.0648f, 50.4570f, 46.9399f, 28.7229f, 34.6418f, 11.8422f, -31.9716f, -72.1947f, -102.4017f, -89.6780f, -33.2158f, 7.5030f, 18.7080f, 14.6731f, -62.1236f, -44.3324f, 53.6090f, 72.1405f, 58.0429f, 57.2172f, 43.2329f, 33.7172f, 19.9635f, 6.9351f, 73.8739f, 68.1656f, 32.4182f, 5.6585f, -7.7073f, 3.9480f, 12.5407f, 12.3801f, -2.4527f, -5.8024f, -21.3075f, -24.8496f, -17.5965f, 2.9303f, 59.0699f, 104.4524f, 127.5622f, 113.8932f, 89.2660f, 52.1358f, 4.2469f, 56.7592f, 88.2184f, 81.0948f, 49.2982f, 15.3523f, -8.4240f, -22.2333f, -30.5271f, -24.1128f, 46.4076f, 80.4091f, 88.4039f, 96.0474f, 97.7032f, 96.0620f, 87.9680f, 71.7615f, 52.3257f, 28.0991f }; const float *const lsf_codebook[2][2][TCXLPC_NUMSTAGES] = { { { lsf_cdk_wb_gc_stg1, lsf_cdk_wb_gc_stg2, lsf_cdk_wb_gc_stg3 }, { lsf_cdk_wb_vc_stg1, lsf_cdk_wb_vc_stg2, lsf_cdk_wb_vc_stg3 } }, { { lsf_cdk_nb_gc_stg1, lsf_cdk_nb_gc_stg2, lsf_cdk_nb_gc_stg3 }, { lsf_cdk_nb_vc_stg1, lsf_cdk_nb_vc_stg2, lsf_cdk_nb_vc_stg3 } } }; const int lsf_numbits[TCXLPC_NUMSTAGES] = { 5, 4, 4 }; const int lsf_dims[TCXLPC_NUMSTAGES] = { 16, 6, 10 }; const int lsf_offs[TCXLPC_NUMSTAGES] = { 0, 0, 6 }; const float lsf_ind_cdk_nb_gc_stg4[] = { -33.5099f, -17.2439f, 1.9585f, 6.4210f, -21.9240f, 24.8014f, 23.6604f, 49.3421f }; const float lsf_ind_cdk_nb_vc_stg4[] = { -33.5292f, -23.3982f, 15.6149f, 34.3889f, -9.2455f, 6.1721f, 60.7325f, 78.8354f }; const float lsf_ind_cdk_wb_gc_stg4[] = { -31.4516f, -19.9820f, 9.1071f, 6.9160f, -17.3554f, 28.1193f, 31.7476f, 59.9379f }; const float lsf_ind_cdk_wb_vc_stg4[] = { -25.6665f, -20.7100f, 17.1565f, 9.9963f, -13.7601f, 37.4813f, 55.4374f, 66.3001f }; const float *const lsf_ind_codebook[2][2][TCXLPC_IND_NUMSTAGES] = { { { lsf_ind_cdk_wb_gc_stg4 }, { lsf_ind_cdk_wb_vc_stg4 } }, { { lsf_ind_cdk_nb_gc_stg4 }, { lsf_ind_cdk_nb_vc_stg4 } } }; const int lsf_ind_numbits[TCXLPC_IND_NUMSTAGES] = { 2 }; const int lsf_ind_dims[TCXLPC_IND_NUMSTAGES] = { 2 }; const int lsf_ind_offs[TCXLPC_IND_NUMSTAGES] = { 0 }; const Word16 min_distance_thr[2][2] = /* 14Q1*1.28 */ { /* GC, VC */ /* WB */ { 580, 580 }, /* NB */ {1000, 580 } }; const float lsf_q_diff_cb_8b_rf[256*16] = { -49.142456f, 13.490689f, -21.704788f, 63.851589f, 17.341200f, 49.889275f, 4.535705f, -49.377617f, 12.881550f, 3.317029f, -45.874687f, -91.048477f, -159.075317f, -244.532806f, -208.950378f, -60.136238f, -71.911499f, -50.432014f, -131.216339f, -25.763540f, -90.432335f, -140.176178f, -31.643175f, -46.414715f, -23.065298f, -42.936611f, -38.403904f, 15.094532f, -0.061476f, -28.153961f, -21.246065f, 10.218022f, -134.834076f, -120.343132f, 98.120338f, 51.493057f, -18.822592f, 5.707322f, -93.194328f, 48.820892f, 38.169155f, 22.535019f, 17.952980f, -59.919395f, -154.178802f, -66.216209f, -30.895947f, -30.548832f, -41.079960f, -11.862259f, -32.120766f, -35.889202f, -28.737438f, 26.212168f, -37.682671f, -117.789268f, -206.368179f, -150.378693f, -26.382723f, -33.924740f, 14.733324f, -7.089695f, 8.373900f, 41.311722f, -44.370823f, -21.727020f, -164.064880f, 39.315842f, 14.170435f, 2.276680f, -43.158184f, -105.471977f, 46.076225f, -35.652943f, -72.096603f, -88.481071f, -121.452873f, -86.098267f, -92.925804f, -58.238682f, -62.593822f, -14.669445f, -39.062012f, -12.045748f, -53.345932f, -70.633652f, -100.257874f, -63.507019f, 57.782543f, 62.015087f, 67.188080f, 65.260689f, -49.929119f, -162.794342f, -204.251465f, -104.609535f, -66.932289f, -18.313484f, -68.981606f, -25.012476f, -94.210236f, 1.026957f, -67.785004f, -35.943043f, -53.149406f, -87.719955f, -112.206566f, -113.875397f, 111.780113f, 102.159576f, 1.001174f, -50.978374f, -101.098640f, -70.354515f, -151.534393f, -91.954025f, 3.666550f, 78.893501f, 42.150974f, -57.122208f, -56.242603f, -97.829124f, -66.723511f, 11.967057f, 16.204992f, -23.608727f, -19.899971f, 28.121500f, 10.450438f, 45.892262f, -54.131168f, -16.160269f, -64.032661f, -176.495041f, -5.962820f, -72.027107f, -150.201141f, -32.517159f, 61.674686f, 44.256657f, 46.283817f, -5.180211f, -141.241837f, -167.211639f, -173.577682f, -92.975533f, -112.498154f, -101.956200f, -66.556870f, -79.061409f, -139.621201f, -1.422741f, -10.495166f, 71.210350f, 49.869511f, -2.298943f, -35.104397f, 24.463161f, -11.476251f, -46.980118f, -37.676750f, 24.794701f, -40.237633f, 33.943848f, -51.101398f, 166.382629f, 110.829704f, 23.702038f, 23.627102f, -6.121801f, 0.773019f, -142.445435f, -263.982605f, -14.189220f, -131.928268f, -155.050293f, -30.214348f, -9.421390f, -102.936676f, 83.361900f, -24.453602f, -180.015442f, 92.876984f, -79.562981f, -9.609303f, -34.706200f, -120.354073f, -29.731850f, -81.171555f, 36.295174f, 61.845047f, 47.662693f, -110.844032f, 83.765533f, -123.206459f, -51.540508f, -51.287010f, -48.821514f, -29.502964f, -6.343169f, 23.775656f, -0.353102f, -23.523582f, -94.919563f, -133.085464f, -118.824188f, -53.901115f, -52.530910f, -55.833942f, -37.825222f, 21.633268f, -2.833855f, -172.300034f, 74.660912f, -62.712250f, -77.443947f, 114.319824f, 49.023743f, 36.734745f, 53.222221f, -31.211931f, -15.118987f, -37.109795f, -50.964909f, -2.209181f, 103.944717f, 186.623413f, -64.544991f, -32.391006f, -40.504578f, -24.400692f, 23.758614f, -28.194080f, -40.393677f, -41.950493f, -90.601120f, -169.530365f, -181.697540f, -67.184174f, -66.990860f, -24.511374f, 34.831326f, 36.412617f, 49.172550f, -16.029377f, -109.529999f, 4.142260f, -20.617449f, -56.997406f, 30.342079f, -83.989975f, 1.144082f, 161.687592f, 61.147705f, -86.482475f, -92.777733f, -88.158249f, -53.647205f, -131.604202f, 18.409283f, -8.442244f, -74.841873f, -30.877779f, 73.223831f, 26.580759f, -20.676722f, -31.395731f, -93.706764f, -88.946129f, -60.194122f, -118.809082f, -83.768547f, -27.869957f, -5.078736f, -133.762909f, -274.870483f, 25.990072f, 21.509178f, 36.674843f, -3.828471f, -37.908432f, 2.206993f, -2.133470f, 15.392393f, -76.964806f, -123.400665f, -55.604580f, 13.984759f, -39.818924f, -24.414286f, -78.231728f, 114.239975f, 68.886200f, 49.643444f, 61.244785f, 24.158489f, -11.322248f, -82.068733f, -152.400940f, -144.792816f, -89.084679f, -107.811325f, -15.021494f, 27.688988f, -26.188799f, 13.887177f, -74.969177f, 125.939407f, 54.065468f, -29.856068f, 6.488181f, -63.185188f, -96.026291f, -188.663879f, -165.438187f, 203.997070f, 43.201817f, 21.809793f, -74.018494f, -76.644218f, 14.730933f, 52.225765f, -133.046051f, 73.062096f, -12.101256f, -61.917290f, -85.989738f, -25.391121f, 61.084568f, -56.463966f, 192.920975f, 44.298870f, -151.724915f, 91.825546f, 4.643712f, -14.348310f, -83.082611f, -43.735950f, -57.932819f, -63.816303f, -127.738678f, -96.165390f, 27.380922f, 106.262009f, 117.074669f, 97.982422f, 63.797035f, 48.936672f, -12.647917f, -65.618805f, -84.200691f, -93.463432f, -79.058868f, -82.570656f, -23.950100f, -42.977753f, 35.295464f, -60.833336f, -54.265438f, -1.680498f, -73.608223f, -41.047230f, -32.325935f, -36.250416f, -2.680869f, 24.178974f, 12.027203f, 4.833654f, -70.078651f, -40.907417f, -113.092224f, 27.616556f, -46.329929f, 104.583298f, 82.129387f, 0.280690f, -27.957493f, -79.316704f, 111.977844f, 50.056763f, -19.403173f, 25.433884f, 70.602043f, 28.069981f, -1.787399f, 19.136635f, -48.166355f, 5.009412f, -62.536564f, 75.527115f, -47.088139f, -11.585875f, -65.448433f, -92.899475f, 107.363365f, -32.311649f, -203.382462f, -152.693619f, -50.552776f, 31.944372f, 8.727448f, 163.701584f, -151.617279f, -120.834221f, -140.449585f, -168.542450f, -161.597626f, -134.148041f, -44.436928f, 23.024485f, 88.100662f, 153.087036f, 171.657425f, 142.269592f, 72.176025f, 34.152279f, 24.626226f, 141.228775f, 68.035118f, 32.383106f, 29.076723f, -23.316879f, -11.166278f, 28.757330f, -105.244186f, -168.721451f, 15.529101f, -45.646198f, -99.508888f, 12.179071f, 41.687931f, -6.929618f, -32.293335f, -15.942890f, 0.017796f, 227.668884f, 35.207336f, -33.792694f, 82.114479f, 15.197913f, -26.902617f, 65.209732f, 1.587932f, -56.761986f, -22.348925f, -26.869337f, 19.428514f, 27.321255f, -102.949432f, -25.011555f, -147.959137f, -87.200294f, 47.153675f, 18.530943f, -0.166834f, 19.560911f, 89.191528f, 52.157402f, 2.918095f, -61.719532f, -94.293381f, -51.465199f, -1.655222f, -17.656567f, -38.911335f, 6.948825f, -39.729725f, -51.301937f, -53.620224f, -108.789536f, 155.468872f, 63.620651f, 35.850296f, 70.581047f, 42.754013f, 127.703674f, 66.715858f, -130.426041f, -146.462341f, 74.622078f, -1.029140f, 54.317455f, 8.387774f, 41.543407f, -10.573199f, 24.244738f, 30.842634f, -26.604139f, -33.421272f, -9.906475f, -31.059523f, 10.844967f, 30.019199f, -202.162201f, -258.204132f, 91.369331f, -153.889771f, 115.453377f, 72.695793f, -18.096334f, 20.942005f, -35.160381f, -38.443104f, -34.397667f, -48.781742f, -1.410000f, 62.099541f, 79.766754f, 142.615189f, 135.960159f, 96.626495f, 58.906452f, -79.472115f, -49.353893f, -49.954609f, -155.367615f, -116.776726f, 15.010523f, 18.099497f, -55.247025f, 16.403715f, 87.059982f, -23.132126f, -173.747818f, -144.933502f, -28.767344f, -32.596806f, -0.380802f, -15.925756f, -5.412324f, -105.707176f, -130.356949f, -98.465538f, -47.166088f, -87.599068f, 42.630928f, -62.413151f, -107.954193f, 158.527435f, 98.763542f, -3.586527f, -6.147307f, -13.222188f, -23.993233f, -24.975382f, 56.402035f, 52.029133f, -3.636582f, -18.978687f, -30.510057f, -20.777334f, 0.297320f, -75.612679f, -166.890121f, -182.792877f, -17.244802f, 17.907167f, -95.983925f, -107.016418f, 6.600997f, 13.935800f, 124.014893f, -78.200630f, -86.667000f, 27.445192f, -62.815701f, -53.436100f, -106.422089f, -98.502609f, -122.057808f, -94.039665f, 79.832077f, 85.983383f, 86.996208f, 71.870331f, 101.132660f, -51.503838f, -34.840988f, -93.907707f, 54.647934f, 85.969376f, -35.794395f, -36.596844f, -102.254219f, -196.495346f, 34.254475f, -15.691520f, -81.330208f, -7.808877f, -105.690956f, -96.873695f, 28.378246f, 79.900681f, 76.900246f, 101.535088f, 103.327919f, 76.696190f, 36.222244f, -87.911812f, -186.179047f, 47.998817f, 180.776077f, 27.586971f, 68.147926f, 8.632617f, -127.173943f, -218.839523f, -269.181305f, -51.884178f, -23.658228f, -7.389097f, 51.481766f, -16.066425f, -70.871017f, -193.338547f, 194.566742f, 115.566246f, -35.451885f, -78.933662f, 8.663171f, 16.445974f, -68.275475f, -91.542229f, 1.517690f, -39.556801f, 39.785755f, -76.877228f, -215.618423f, 126.814384f, 37.883842f, 26.489124f, -32.631229f, -79.764656f, -5.413741f, -44.822353f, -38.384186f, 145.878082f, 205.717392f, 96.100632f, 80.714775f, -36.383427f, 1.122570f, 179.888214f, -48.044216f, -121.014236f, -85.808846f, -125.241035f, -79.817886f, -0.247583f, 50.953720f, 13.693697f, -5.582759f, -50.636333f, -46.192039f, -66.636848f, -36.257576f, -122.950089f, -101.489883f, -260.444885f, -20.923767f, -57.475227f, 15.233345f, -42.816353f, -43.372814f, 58.668098f, 2.198759f, -2.974080f, 16.032595f, 93.305153f, 50.504028f, -14.432660f, -50.193291f, -16.826427f, 8.873464f, -87.595573f, 23.091625f, -3.794562f, 38.739624f, 159.341888f, 57.302864f, 10.663289f, -44.891232f, -143.189377f, -141.278580f, 34.162834f, 67.916397f, -11.724302f, 82.864563f, 8.689659f, 79.660339f, -106.648331f, -40.056900f, -61.659725f, -89.878143f, 30.882858f, -96.414940f, -87.919632f, 71.567696f, -13.048811f, -99.413971f, 158.306488f, 148.612640f, 101.164139f, 44.707798f, 51.876743f, 173.028961f, -7.548154f, 42.151535f, -0.306372f, -63.804768f, -65.823441f, -61.424610f, -3.614527f, -0.266337f, -28.529921f, -42.772068f, -92.503525f, -24.051035f, -29.639515f, -52.302032f, -21.027899f, 32.422092f, -19.221569f, -81.996292f, 170.400146f, 147.834946f, 78.837563f, 54.455120f, -4.170513f, -14.816674f, 66.761642f, 29.512554f, 1.267826f, -7.617690f, -74.421074f, -86.431335f, -19.333296f, 100.725983f, 62.089886f, 80.720032f, -11.293929f, -156.758041f, 130.283081f, 64.092621f, 10.666490f, 23.035032f, 9.748004f, -82.614822f, -134.818069f, -117.491508f, -98.273796f, 27.608231f, 3.230417f, 41.808163f, 13.598584f, 214.913864f, 110.737106f, 36.832939f, -14.412317f, -27.091141f, -72.668190f, 5.492285f, 219.188553f, 157.024200f, 139.305466f, 42.584637f, -89.405518f, -147.115540f, 5.685055f, 57.183292f, -12.697913f, 68.282562f, -33.609550f, -33.049332f, 87.031670f, -39.772167f, -127.605225f, -30.905075f, -129.695374f, -167.423813f, 14.979711f, -80.101776f, -175.781570f, -120.638008f, -26.057411f, -22.450294f, -86.065346f, -174.294159f, -236.409439f, 106.705414f, 94.844818f, -24.300186f, -47.618366f, -4.900061f, -8.250068f, 26.776390f, 23.026890f, -0.663881f, -8.460385f, 52.523418f, -239.938965f, -188.228012f, -72.794617f, -24.974373f, 64.134842f, 47.954140f, 37.109238f, 56.990929f, 19.013355f, 2.195176f, -39.343456f, -65.541855f, -48.117985f, 33.679371f, 1.032876f, -8.904166f, 1.318133f, 23.793682f, -11.594374f, 208.226288f, 86.628777f, -41.451736f, -85.691925f, -59.617199f, -144.367111f, -168.655807f, 108.856461f, 32.739384f, -66.105087f, -32.850475f, 68.247009f, 136.522278f, 46.231567f, 61.993446f, -37.963066f, 71.883453f, 4.955863f, 90.692329f, -55.423782f, -173.421982f, 91.392097f, 4.265558f, -86.143791f, 11.978693f, -147.210098f, -173.357559f, 47.334595f, 132.379639f, -8.091352f, 36.792015f, 42.705544f, 0.830618f, -22.491022f, -42.331161f, -6.163970f, 83.671753f, -37.618378f, -48.777485f, 136.386185f, 88.433350f, 121.425102f, 78.104286f, -118.565308f, -236.474899f, -34.999004f, 35.648041f, 104.321472f, -80.549561f, 88.479385f, 4.159388f, -68.049988f, -110.190895f, -59.762150f, -34.927917f, -42.892593f, -50.185341f, -31.525537f, 28.561077f, 30.799391f, 32.589943f, -19.395960f, 10.917861f, -33.211983f, 59.916050f, 17.923265f, 69.628220f, -59.527351f, -0.360134f, 20.055620f, -76.225594f, 59.490189f, 219.202728f, 44.065163f, -105.835022f, 149.316025f, 103.121368f, -26.811831f, 4.917114f, -50.918606f, -51.282066f, -44.665630f, -34.671989f, 54.816383f, -53.930695f, -122.650787f, 9.736618f, -86.848312f, -33.875164f, 28.787636f, -128.559616f, -13.832273f, 240.435959f, -127.768944f, -120.395676f, -224.640091f, -106.371384f, -110.915848f, -119.944382f, -64.704178f, -86.686111f, 57.449604f, 91.349197f, 96.250694f, 156.740128f, 176.836166f, 127.207031f, 51.964844f, 14.125758f, -47.998665f, 17.796474f, 29.304367f, 75.164230f, 58.860054f, 113.970734f, 70.417877f, 23.055088f, -25.342611f, -99.771896f, 5.999279f, 51.847668f, -60.419800f, -163.240036f, -99.791527f, -66.431305f, -0.302659f, 17.211594f, -98.700340f, 53.635334f, -28.992607f, -89.555244f, 112.895592f, -32.920498f, -109.022964f, 150.316772f, 124.435059f, 47.075050f, 111.757408f, 77.910065f, -34.123623f, 33.374477f, -8.188879f, 23.113052f, -14.419042f, 58.259747f, -4.053533f, 3.542868f, 101.208923f, 41.556973f, 65.754631f, 15.887958f, -6.614230f, -95.157341f, -213.709061f, 82.959053f, 10.967265f, 42.520882f, -12.848677f, 33.983711f, 26.826427f, 55.942802f, 17.707258f, 59.918518f, 15.309278f, 207.269272f, 99.491982f, 42.829330f, 116.586906f, 97.039436f, -36.674652f, -119.304512f, 74.699173f, 64.565712f, -127.629143f, 210.633652f, 90.269417f, -15.052937f, 10.047224f, -44.578220f, -32.594685f, -24.894297f, -32.681622f, 36.690662f, 60.424084f, 6.454986f, 7.198017f, 25.681587f, -4.052445f, -25.874166f, -13.218253f, 25.233515f, -43.822559f, 14.608809f, 50.092663f, 29.797066f, 122.838074f, 60.946331f, -15.227234f, 70.429047f, 49.234367f, 22.393675f, 241.398132f, 68.944763f, -19.084089f, 15.646838f, -61.749660f, 22.046791f, -33.557991f, -16.016773f, -39.896496f, -65.069405f, -73.831696f, -54.138386f, -41.472534f, -59.811478f, -96.109680f, -119.990692f, -91.886162f, -31.355206f, -9.082160f, -39.052567f, -27.257662f, 71.028709f, -136.328506f, -98.025055f, -21.314344f, -16.991056f, -34.343781f, -70.373230f, -55.339901f, -30.724577f, -8.068395f, -12.537150f, 6.994465f, -2.531820f, -19.959831f, -32.511631f, -189.575684f, -170.668686f, 159.468323f, 69.316818f, 9.541554f, -35.932343f, -76.965225f, -73.569916f, -80.277435f, -52.695671f, 36.840542f, 4.612717f, -5.781191f, 68.836777f, 46.053165f, 5.477945f, 23.076845f, 56.007298f, 58.995125f, 73.648643f, -23.558571f, 31.706146f, 6.650000f, -81.954597f, -43.828186f, -91.444901f, -136.752670f, 3.109934f, -61.638336f, 161.845291f, 158.234512f, 75.812927f, -29.586615f, 8.254013f, -12.131930f, 42.161793f, -20.277391f, -118.423508f, -194.639008f, -196.011337f, 38.792351f, 37.828663f, -2.185939f, 11.298992f, -6.172924f, -4.559058f, -65.562843f, -27.597832f, -47.978813f, 22.640007f, -58.066402f, 58.001053f, -47.134541f, 8.486321f, -6.111372f, -31.006121f, 51.575218f, 5.865514f, 17.294910f, -41.168453f, 73.907234f, 13.599236f, -307.273499f, -197.696899f, -44.109650f, 49.449520f, 84.357780f, -161.258835f, -95.109154f, -44.129417f, -5.148076f, -26.549320f, -4.192320f, -31.172485f, -35.216717f, 42.882584f, 4.978696f, 0.798938f, 44.287029f, 7.057617f, -44.323925f, -3.754397f, -20.289011f, 35.057964f, 30.896481f, 47.822914f, 57.432564f, -18.862158f, -58.972874f, -40.730820f, -53.210159f, 151.582123f, 189.086823f, -47.681084f, -160.354431f, 18.183973f, -24.190926f, -8.054521f, -60.337772f, 17.447094f, 52.011765f, 64.135529f, -12.559262f, -64.698524f, -145.641434f, -49.002659f, 27.998568f, 54.442074f, 31.638771f, -105.428864f, -187.366058f, -170.395126f, -52.519932f, -45.655670f, -54.255409f, 18.195887f, -47.736511f, -25.311331f, -74.233253f, -139.686768f, -7.455135f, 30.180883f, 16.468306f, 73.234703f, 89.610466f, 86.974052f, 38.241241f, -12.159492f, 27.982965f, 58.867645f, 9.410244f, -37.832794f, -107.431290f, 148.510559f, 114.846024f, 37.929848f, -49.612717f, -97.690834f, -11.054573f, -58.132690f, -120.672997f, -0.656331f, 67.064285f, -17.834682f, -38.582962f, 4.200229f, -16.068153f, 16.516636f, -13.899181f, 5.986161f, -2.004643f, 12.832077f, -44.597519f, -86.681267f, -38.071716f, -52.322094f, 61.482838f, 23.035675f, 222.921036f, 209.259064f, -53.377850f, 219.871765f, 18.681116f, -49.476475f, -66.432587f, -11.111042f, 8.136900f, 38.469578f, 83.534767f, 23.165945f, -66.981857f, -119.944641f, -90.701843f, -5.017766f, 13.544878f, 7.416979f, -26.158424f, 21.733870f, 8.429042f, -7.359868f, -81.261559f, -0.384979f, 107.991409f, -33.468559f, 163.344254f, 171.295059f, 21.148136f, -44.234226f, -50.298836f, -2.045869f, -46.947075f, -69.817322f, 54.305538f, 77.911476f, 98.722816f, -46.229565f, -143.810577f, -1.355024f, 61.036888f, -13.015687f, -3.865948f, 88.857635f, 7.053370f, 11.180832f, -46.409653f, -90.435066f, -105.360260f, -147.441849f, 75.489372f, 105.739868f, 60.188259f, 33.809502f, -21.277689f, -21.943260f, -50.937679f, -75.105469f, 43.895504f, -42.176373f, -73.326416f, 343.493774f, 168.802673f, 63.476738f, 36.762135f, 96.509972f, -43.959518f, -13.900088f, -83.791946f, -2.585726f, -89.923798f, -318.138428f, 56.854568f, 72.487968f, -32.397919f, 28.099873f, -17.146538f, -96.395309f, 0.466646f, -28.547890f, -71.721748f, -40.413429f, -91.491898f, -100.288185f, -158.042801f, -94.347038f, 41.776943f, 56.555912f, 18.842609f, 21.550163f, -8.122741f, 83.330833f, 83.349388f, 56.535236f, 6.853065f, -16.367655f, 6.860499f, 12.135324f, -122.978020f, 41.508400f, -57.019398f, 119.866692f, 169.921616f, 82.577713f, 6.609851f, 29.209021f, -35.676617f, -95.016159f, -42.960949f, -61.483852f, -28.365889f, 44.539429f, 11.786313f, -39.760418f, -35.204288f, -3.827494f, 1.364895f, 53.625450f, 67.540977f, 12.539343f, -62.200562f, -131.499298f, -190.222824f, 97.861145f, 145.009247f, 116.742218f, 39.964626f, 5.113988f, -49.972206f, -22.433067f, -21.844286f, -3.302132f, -103.041687f, 72.974442f, 0.991044f, 31.884541f, -68.314651f, 15.106439f, 38.181488f, -142.549530f, -177.428543f, 26.987268f, -65.951744f, -49.118980f, 100.179466f, 67.782463f, -68.886017f, -50.878456f, -101.627640f, 94.751526f, 63.353767f, -35.431698f, 88.086647f, 85.405006f, 1.274280f, -8.066319f, 108.974724f, 81.340332f, 19.295490f, -5.680541f, -76.852966f, -93.998848f, 0.026969f, 0.110805f, -0.074311f, 0.076925f, 0.017105f, 0.036573f, -0.118072f, 0.068798f, 0.056649f, 0.036456f, 0.063553f, 0.071463f, 0.000525f, -0.019787f, -0.046544f, 0.021337f, -17.799213f, 17.198961f, -23.454958f, -48.785267f, 32.178555f, 142.656906f, 87.394043f, -46.504601f, -91.326263f, -128.089188f, 168.745255f, 12.046860f, -75.234085f, 321.776276f, 84.140045f, 147.402191f, -7.771455f, 13.708800f, -83.826019f, -18.597784f, -45.941696f, -97.131195f, 73.443825f, 13.631736f, -35.554703f, 154.701080f, 86.402138f, 6.515917f, -68.449318f, -152.233841f, -30.240294f, -16.017389f, -55.553074f, -10.045274f, -82.091660f, -104.274841f, -102.906937f, -76.238228f, -59.226723f, -42.700069f, 16.344666f, 35.539070f, 49.328686f, 56.921478f, 131.003021f, 165.738358f, 186.387207f, 144.321213f, 24.576750f, 51.924622f, 2.034293f, 189.503342f, 148.765106f, 101.905212f, 63.054604f, -22.561197f, -112.342194f, 8.821053f, 33.745621f, -43.875877f, -58.067898f, -146.850281f, -17.419054f, 72.366890f, -30.276649f, -31.782654f, -80.339973f, 100.106911f, 93.313034f, 4.726528f, -48.094799f, -115.030556f, -191.082672f, 102.985733f, 88.130089f, 19.376783f, 42.609215f, 50.674198f, 152.159012f, 114.587776f, -137.391373f, 14.609784f, -65.256355f, 1.609928f, 37.473400f, 26.934027f, 24.673132f, 119.508095f, 88.831779f, 43.605965f, 27.401138f, -7.082619f, -78.587341f, -76.090195f, -60.487331f, -49.042698f, -3.795852f, 48.615219f, -32.316784f, 47.219639f, -71.672012f, -177.180862f, 227.674683f, 121.423073f, 55.595085f, 89.844704f, 18.789379f, 72.883820f, -30.959936f, -1.702511f, 69.411217f, 21.385332f, -31.896704f, 58.013481f, 15.825336f, 21.007841f, 73.693138f, 2.008733f, 47.849987f, 22.561638f, -56.861252f, -96.624382f, 116.512817f, 122.175636f, 14.970264f, -131.112076f, -137.480362f, 145.503159f, 3.666602f, 60.865307f, 190.182358f, 42.435371f, -21.053213f, -17.096897f, -76.084404f, -13.743227f, 117.478218f, 140.799774f, 154.908340f, 88.790558f, 92.327370f, 121.949478f, 69.189064f, 33.268280f, -24.028364f, -0.568868f, -10.598723f, 23.224901f, -10.145369f, 23.696190f, -80.020584f, 133.288193f, 78.874382f, -28.811146f, -74.702332f, -142.888794f, -177.398254f, -126.189499f, -64.583435f, -4.795106f, -42.301235f, 1.254746f, -92.263153f, -67.414131f, -68.581459f, -105.596657f, -95.386429f, -140.669708f, -167.874496f, -26.571861f, 58.823044f, 95.171120f, 164.426514f, 117.247391f, 67.970955f, 67.381973f, 12.281957f, 57.241734f, 145.007370f, 102.782562f, 6.108451f, 23.661549f, -109.679001f, 79.513168f, 54.415848f, -107.359993f, -127.692383f, -2.818198f, -116.707993f, 22.176086f, -1.896818f, 13.089568f, 42.066715f, 109.299110f, 22.366495f, -16.778564f, 21.774530f, -4.182106f, -18.286386f, -52.603218f, -118.524780f, -89.037674f, 118.551682f, 115.277679f, 89.577263f, 130.519241f, 158.623138f, 169.276016f, -127.461502f, -97.991295f, -154.912262f, 156.017349f, 83.816185f, -40.645927f, -30.617186f, -97.806175f, -64.010101f, 50.553226f, 32.767338f, -3.065530f, 46.381119f, 52.668839f, 32.740833f, -18.864176f, -35.447090f, 10.117445f, -29.844646f, 121.351227f, 83.683456f, 57.303402f, 15.328587f, 44.133987f, 67.000153f, 104.188065f, 10.872536f, -10.320432f, 63.163109f, -83.689003f, -200.906555f, -56.971607f, -73.476898f, -50.613533f, 157.811996f, -36.126892f, -3.998129f, -33.125019f, -40.811184f, 75.547150f, -26.170004f, 16.685923f, 89.786247f, -2.189539f, -13.579331f, 56.560184f, 54.771152f, 26.603344f, -50.784908f, -37.853783f, -22.237158f, -10.529336f, -75.668167f, 170.388672f, 64.201385f, 9.919388f, -25.087654f, -97.517700f, -38.260277f, 51.479713f, 98.044075f, 224.824921f, 125.035980f, 68.006523f, -13.163634f, 49.532330f, 22.343836f, 23.637941f, -71.608704f, -200.313492f, 22.972029f, -65.936508f, -139.879044f, 109.168282f, 73.714027f, 8.318653f, -33.382645f, -57.808838f, -26.988724f, 70.492950f, -57.241489f, -35.265514f, -140.595444f, 85.484810f, 13.172671f, -44.652134f, -64.718590f, 80.219849f, 113.279419f, 8.199357f, 46.910881f, 1.842971f, 6.611537f, 108.265114f, 84.200981f, -15.673004f, -54.020992f, -40.065796f, 68.741219f, 89.963760f, -22.845310f, 156.119400f, 40.349724f, 13.827300f, 99.219742f, -10.468677f, -69.469467f, -91.899101f, -28.343006f, -18.399660f, -48.014648f, 18.084986f, 39.514809f, 117.259254f, 84.999840f, 3.152317f, -89.788651f, -15.256340f, 128.664642f, 16.396799f, -2.824860f, -2.224188f, -108.113235f, -104.294632f, 285.672485f, 258.659821f, 131.015823f, 46.896381f, 35.400707f, 199.269470f, -50.829807f, -59.871765f, -112.504417f, -87.914078f, -74.663177f, -14.457950f, 3.730728f, 8.424652f, 34.759491f, 5.061568f, 49.715153f, 29.911200f, -4.833649f, -7.921039f, 79.273865f, 68.455246f, 143.235184f, 29.923138f, -61.068966f, 27.401043f, -93.697815f, 39.637844f, 278.054901f, 207.706467f, 114.287697f, 191.970261f, 28.365456f, -67.643982f, -126.002037f, -324.593506f, -38.810867f, 77.219002f, 226.800339f, 84.473801f, -40.547543f, -21.564167f, 131.517456f, 93.058868f, 25.796638f, 24.364828f, -21.709984f, 0.377355f, -100.328873f, -63.233959f, 39.949356f, -20.796144f, -49.434875f, 13.246425f, 235.871155f, 150.979660f, 94.417747f, 49.695023f, 9.298592f, 42.695667f, 12.962906f, 29.078457f, 141.417770f, 131.790558f, 139.121719f, 102.666374f, 34.500813f, -11.908920f, -2.108662f, 13.590509f, -38.806015f, -50.421722f, -148.383850f, -9.163120f, 221.518173f, 91.873947f, -57.944500f, 7.884820f, -23.169016f, -6.481791f, 39.176830f, -30.829500f, -216.452530f, -132.310471f, -60.222321f, -37.813641f, -144.648758f, -74.471680f, -53.668755f, -36.867607f, 163.549622f, 118.314560f, 9.347286f, -64.045303f, 54.008766f, 6.278257f, -3.053545f, 65.511765f, 31.613440f, 28.923603f, -68.111702f, -58.754192f, -20.550688f, -9.141284f, 178.296661f, 46.222195f, 85.088615f, 25.129522f, 3.565898f, 73.297729f, 22.594685f, -30.790440f, -60.898556f, -59.714981f, -25.799683f, -26.515989f, 79.872566f, 27.157415f, -193.357193f, 172.950409f, 131.502487f, -2.173946f, -11.273206f, 11.559188f, -135.590240f, -117.606354f, 162.157654f, 74.852615f, 84.181198f, 42.567123f, 72.688606f, 30.169746f, -22.176310f, 8.126409f, -98.820702f, 162.383163f, 130.916565f, 39.752148f, -32.870506f, -173.600403f, 116.578125f, 45.067692f, -27.598148f, 8.555970f, -3.395607f, -42.335846f, -20.110458f, -40.589352f, 31.181765f, 77.636864f, 60.341606f, 90.832474f, -9.832494f, -111.538925f, 111.043030f, 140.765152f, 80.575752f, 24.432682f, 81.943199f, 20.720406f, 1.215079f, 4.115319f, -68.575241f, -91.525787f, -84.731537f, -0.527349f, 25.745188f, 36.190254f, -62.206528f, -86.327141f, -27.536991f, -15.557912f, 32.424694f, 13.717608f, 11.215924f, 22.781013f, 9.574938f, 61.158257f, 61.121010f, 32.403088f, -18.375742f, 10.047339f, -50.339001f, -6.936292f, 12.167328f, 150.529266f, 222.465683f, 183.672455f, 58.230515f, 30.788654f, -22.198248f, 57.085861f, 28.043667f, -36.177765f, 171.042053f, 134.737167f, 0.297151f, 95.241844f, 51.197784f, 41.369175f, 33.568478f, 7.960698f, 55.897408f, 15.283177f, 29.098846f, 91.276161f, 20.340677f, -60.202499f, -171.769867f, -193.836426f, 13.407167f, 121.289520f, -77.249527f, -31.146763f, -86.916313f, 13.008453f, -21.325594f, -35.007175f, -0.394985f, 39.783211f, 158.601135f, 162.017731f, 166.716888f, 164.855255f, 145.650070f, 87.215416f, 13.765621f, -16.071383f, -11.922022f, 69.904465f, 145.530533f, 137.786896f, 42.237782f, 75.689651f, 121.502434f, 26.309196f, 0.019661f, -62.185799f, -152.175339f, 86.949432f, 41.679405f, 18.519968f, 34.415928f, 25.165304f, -9.927750f, 11.307752f, -64.252609f, 131.465469f, 47.641304f, 22.456234f, 36.158360f, -40.804043f, -91.170403f, 86.573074f, -47.294422f, 15.884171f, 222.589951f, 158.826157f, 154.847031f, 224.892197f, 34.394650f, 50.068573f, -4.612890f, 39.353638f, -13.351929f, 82.855324f, -34.119553f, -198.830780f, 169.354126f, 20.893297f, 2.412445f, -82.652008f, -123.564072f, 148.278564f, 67.057632f, 86.445847f, 8.496761f, 55.847862f, 9.401371f, -12.230957f, -48.765945f, 339.392365f, 127.588539f, -17.772644f, 73.892937f, -37.477283f, 39.123516f, 58.133339f, -42.253559f, -161.082916f, 77.454605f, 125.429886f, 43.473793f, 173.585449f, 85.007156f, 42.041813f, -61.597820f, 51.345463f, 44.502201f, -8.306359f, -2.903240f, -41.573891f, 114.340172f, 93.989349f, -18.752844f, 33.966118f, 85.911499f, -5.925835f, 69.373337f, 94.525620f, 55.872551f, -12.796402f, -57.766541f, 205.378647f, 150.999893f, -34.033718f, 46.349552f, 51.589359f, -9.740956f, 165.190857f, 245.511856f, 140.620789f, 33.383125f, -80.622025f, -24.897663f, 9.583753f, 62.261280f, -111.380074f, -93.574211f, 37.958935f, 11.259578f, -85.749733f, -185.118637f, 15.325944f, -47.716419f, -70.300369f, -64.094902f, -120.984238f, -115.879242f, -5.316128f, -43.105038f, -38.260498f, -69.155273f, -106.188942f, -215.693817f, -116.750755f, -22.012207f, -17.229620f, 2.833113f, 47.987717f, 6.774336f, -11.583231f, 16.325312f, 30.872992f, 21.988634f, 21.333845f, -40.281574f, -19.919075f, 83.175934f, 145.520676f, 74.963409f, -17.649036f, -97.185730f, -32.826363f, -53.159214f, -13.556940f, -30.614326f, -68.210266f, -70.881149f, -25.398729f, -57.834473f, -78.295006f, -54.354683f, -53.242130f, -151.652374f, 75.184731f, -12.681744f, -62.721302f, 39.976120f, -84.622726f, -164.732422f, -81.025864f, -59.992664f, 18.575914f, 59.433632f, 91.230606f, 74.121452f, 15.667545f, -56.008598f, -36.547680f, -74.135963f, 60.449661f, -43.171642f, 20.404333f, -94.677895f, -134.441208f, -21.513660f, -79.943031f, -11.399878f, -26.450451f, -51.884460f, 13.872990f, -10.700389f, 13.693831f, -54.557514f, 14.214915f, -109.558357f, -39.927799f, -80.414780f, -21.436823f, -29.838932f, -133.094101f, 41.575626f, 119.561104f, 108.865402f, 113.994164f, 70.534935f, -74.075966f, -153.541779f, 13.645255f, -19.660948f, 72.645828f, 57.090542f, 10.197439f, -82.249893f, -86.073334f, -65.963997f, 26.606983f, 62.380840f, -79.725609f, -67.844391f, -100.735214f, 103.173157f, 41.282562f, -14.417590f, 97.527374f, -15.501063f, 10.106770f, 19.181379f, -48.813862f, -54.115250f, 235.424240f, 13.094974f, -96.655479f, -53.639637f, 13.621657f, 1.518511f, 44.934509f, 57.590019f, -41.299301f, -105.937149f, 5.567881f, -26.978188f, 39.920815f, 39.867668f, -30.284748f, -137.471680f, -12.073587f, -11.821868f, -56.056862f, -109.460243f, -95.643143f, 71.884705f, 3.678432f, -69.469994f, 46.625034f, 21.143269f, -12.124670f, -235.238770f, -189.902191f, -98.019753f, 1.308181f, 6.093620f, -51.336655f, -74.336411f, -58.007866f, -34.142288f, -23.622774f, 21.920612f, 54.356789f, 118.404907f, 98.866112f, 78.824142f, 48.048695f, 38.583252f, 140.003342f, 104.366905f, 59.575905f, 16.539742f, 143.487717f, 46.418877f, 67.189468f, -16.257248f, -14.486803f, -37.126595f, -97.505363f, -80.173981f, -94.221985f, -115.390350f, -118.126472f, 14.582953f, 70.503632f, -14.045506f, -19.149410f, -112.971611f, -166.393768f, 175.770172f, 72.728432f, -123.819260f, -84.734123f, -79.798332f, 15.522896f, 9.189954f, 45.245491f, 67.264786f, 21.392374f, -30.288527f, 176.278839f, -42.118710f, -113.833649f, 18.178839f, -98.263985f, -5.378097f, -36.394852f, 56.751965f, 34.232403f, -15.896103f, -21.939495f, -36.014275f, -97.239891f, -44.097141f, -21.397247f, -57.630421f, -14.344311f, -48.722851f, 4.000876f, -85.091949f, 134.974442f, 96.790924f, 44.602585f, 116.120537f, 108.384445f, 134.965012f, 62.810093f, -51.505104f, -66.570000f, 0.324640f, -61.159451f, 46.961773f, 91.328773f, 255.896439f, 266.543579f, 55.914829f, 1.617108f, 3.187201f, -8.799063f, 27.105843f, 96.940453f, -6.333913f, -40.912540f, -123.896332f, -219.183456f, -147.103104f, -82.445755f, 4.730723f, 14.597744f, -4.770158f, 50.178673f, -46.408352f, 46.296600f, 159.859604f, 44.269157f, 25.871405f, 18.163599f, -69.356171f, 99.161255f, 145.530502f, 110.339287f, -78.356651f, -249.688126f, -4.995772f, 7.796484f, -231.294037f, 72.029633f, 33.000286f, -63.268135f, 113.155357f, -3.829946f, -48.667412f, 20.674379f, -19.940260f, -66.963058f, -30.490475f, 1.557967f, -21.697649f, -25.190910f, -68.609848f, -42.050915f, -81.286026f, -171.873383f, 5.826807f, -37.863060f, 65.958603f, 64.783348f, 16.320978f, 7.862601f, -63.484844f, -35.056782f, 36.112469f, 25.719179f, -27.790937f, -49.815948f, -52.712395f, 5.407033f, -50.664661f, -57.217823f, 93.290443f, 86.227432f, 47.213612f, 8.067347f, -70.909805f, -102.342758f, -81.671745f, -96.333832f, -76.863091f, -17.267122f, 0.470240f, 11.259017f, 45.857506f, 61.279209f, -16.262930f, 65.889984f, 39.496490f, 31.019928f, 10.330289f, -12.880993f, -158.328720f, -214.299026f, 136.159515f, 34.651714f, 58.886429f, 52.877373f, 18.637857f, -97.587326f, -83.695442f, -46.231495f, -126.655914f, 84.273537f, 24.091738f, -77.565994f, -121.072006f, -65.358688f, 13.704159f, 17.912792f, 129.792953f, 45.167286f, -76.637970f, -90.235817f, 29.498278f, 22.527498f, -38.629421f, -13.281903f, 19.966961f, 21.830301f, -71.014816f, -56.646057f, -183.160706f, 153.295105f, 121.722061f, 122.379555f, 191.160324f, 94.983765f, -38.069660f, -13.902174f, -28.430313f, -3.660168f, -61.012142f, -16.898062f, -122.156700f, 40.265934f, -4.676280f, 89.712509f, 77.850525f, -22.210423f, 54.780842f, -9.432448f, -77.245964f, 33.276836f, 8.500788f, 24.147732f, -37.488598f, -50.028263f, -13.981007f, -3.172497f, 12.233177f, -3.165506f, -42.713432f, 159.373047f, 120.601517f, 61.609337f, -95.282997f, 154.044556f, 146.461670f, 105.883102f, 35.354893f, -32.637356f, 13.527010f, 52.834805f, -59.811607f, 31.116199f, -44.788532f, -25.192825f, 11.671334f, -60.872108f, 94.383209f, 44.916836f, -91.212807f, -106.707802f, -36.229931f, -17.900185f, -138.207123f, -165.818100f, 56.715836f, 45.974777f, -7.959111f, 85.271294f, 17.490253f, -50.336193f, -56.605679f, -100.320343f, -152.276581f, -135.327911f, 88.408737f, 129.427505f, 125.965462f, 98.592941f, 27.923223f, 7.087426f, 27.595392f, 42.971786f, -25.500626f, 121.667168f, 83.573936f, 3.791471f, -23.845556f, 49.105648f, 81.526443f, 160.776093f, 22.598379f, -98.819115f, -47.420437f, -16.478176f, 46.472534f, -122.984657f, 0.608375f, 57.243511f, -12.015658f, -0.135543f, -139.000534f, 151.549393f, 71.025963f, -20.232512f, 95.418777f, -70.840523f, 52.608326f, 22.649012f, -56.357464f, 137.754135f, 50.294880f, -87.514961f, 20.277452f, 193.218811f, -111.404922f, -69.059303f, -107.005531f, 53.955250f, 56.233429f, 68.297432f, 9.512801f, -94.675659f, 125.887329f, 141.677551f, 37.625774f, -55.039444f, -107.942078f, -106.586906f, -103.690109f, -31.521854f, -7.459867f, 80.387726f, -22.849117f, -7.418187f, -31.289583f, -58.895996f, 121.585495f, 71.303520f, 69.327995f, 33.343830f, -42.588058f, 246.521713f, 44.359360f, -30.136723f, 45.514824f, 33.970772f, 13.146280f, 37.437431f, 11.781944f, 221.298462f, 64.525116f, -28.227280f, -2.765812f, -60.692303f, -105.971016f, 145.109314f, 29.132435f, -9.364019f, 92.389153f, -40.417786f, -167.946228f, 91.506371f, 20.380590f, 124.691406f, -34.959442f, -32.687466f, -68.501457f, -12.932295f, 8.627584f, -95.438469f, 34.264408f, 157.920456f, 94.634033f, 154.451233f, 203.167297f, 140.269073f, 62.590698f, -14.471005f, -23.798073f, 20.029366f, -28.207727f, -42.335686f, -94.120468f, -119.036964f, -160.177826f, 13.003415f, -10.760310f, -23.243717f, 23.871334f, -25.554195f, -70.506531f, -62.087463f, 52.588543f, 91.934219f, -45.170189f, -10.087015f, -66.042885f, -262.296326f, 71.659988f, 42.020767f, -0.749665f, 30.568419f, -84.345169f, -88.957222f, 62.976131f, 17.781088f, 35.814819f, 41.151264f, 100.832329f, 51.108604f, -55.090458f, 141.549744f, 45.250282f, 126.572884f, 51.766277f, -4.223619f, -20.867323f, -46.912258f, 12.903956f, -24.562819f, -59.262470f, -34.927166f, -24.950871f, 4.246840f, 14.226479f, -12.156185f, -18.676003f, 56.782200f, 24.631006f, 31.817165f, -57.425724f, -164.249939f, -100.221893f, -51.068310f, -151.775375f, -103.694389f, 51.353741f, -14.789831f, 103.796227f, 121.169785f, 67.449203f, 45.746460f, -9.249492f, -0.717516f, -95.589256f, -58.979927f, 183.596542f, 82.821739f, -44.961880f, -113.124100f, -73.027855f, 24.111319f, -9.787043f, -20.309830f, -9.503817f, -25.950542f, -63.329922f, -49.288395f, -39.281731f, -8.520073f, 12.045630f, 113.941223f, 56.889790f, 11.705962f, -25.992363f, -25.818201f, 41.962906f, 136.173462f, 158.992706f, 71.041000f, -94.766388f, -115.894958f, -100.844521f, -76.998589f, -8.995197f, 14.692396f, 10.648182f, 46.508247f, -46.040749f, -30.752420f, -101.055634f, 157.707993f, 120.625099f, -34.914780f, -60.452560f, -125.891411f, -64.873436f, 115.602501f, 134.647278f, 88.401085f, -16.291512f, 25.577784f, -57.797333f, -93.257050f, 204.563004f, 23.844887f, 18.521849f, -48.872440f, -34.910671f, 52.242157f, 90.209885f, 155.241089f, 122.966759f, 97.500565f, 51.306534f, 61.434639f, 5.888782f, 91.756126f, 55.121063f, 59.742477f, -13.308426f, -24.613007f, -59.364792f, -131.265594f, -87.939194f, -56.433189f, -38.294590f, 21.820187f, 22.980511f, -26.082766f, -9.050174f, -5.993128f, -109.033333f, -70.663361f, -105.171837f, -29.390360f, 23.201317f, -1.143196f, -0.591588f, -62.349960f, 177.791931f, 64.124794f, 18.023848f, 85.805557f, 57.960117f, -10.079674f, -10.009348f, -11.720422f, -1.513953f, 39.937832f, 25.296638f, 52.355652f, 31.179762f, 169.450806f, 131.414230f, 42.987076f, 48.422070f, -2.570796f, -102.850693f, -184.716797f, 126.997742f, 120.658882f, 70.227798f, 51.911579f, 14.841161f, 42.875328f, -31.856815f, -61.852024f, -95.273911f, -33.013256f, 70.492905f, -26.551783f, -11.850163f, 50.677963f, -74.369408f, 121.694061f, 184.952850f, 83.381836f, 119.151489f, 86.071533f, -76.190552f, 217.282104f, -47.804283f, 21.103445f, 63.081154f, 35.664818f, 9.597631f, -78.337799f, 33.574825f, 9.579362f, 11.619099f, -66.239075f, -93.457573f, -67.129135f, -28.104412f, -48.758240f, -32.987583f, 55.155075f, -19.071968f, 25.848909f, 147.531418f, 161.891159f, 100.338860f, 122.278191f, 117.346077f, 121.715561f, 59.932480f, -5.041065f, -11.882968f, 25.816359f, 5.152595f, -6.028398f, -50.602802f, 47.969971f, 109.523300f, -18.894117f, 104.845932f, 3.333271f, 81.642517f, 48.507870f, 18.322062f, 13.163134f, -27.716911f, -78.545464f, -60.946442f, -21.241007f, -43.533047f, -54.892029f, 23.136389f, 29.755871f, 115.663109f, 366.295105f, 92.912613f, -56.490879f, -23.877293f, -67.456276f, -41.077976f, 176.197632f, 112.048927f, 87.809334f, 124.036644f, 73.674416f, 55.857883f, -59.281975f, 36.171646f, 81.249886f, 0.990727f, 62.659752f, -6.243932f, -32.411499f, 103.505295f, -8.062663f, -11.415750f, -33.329777f, -157.624710f, 108.892738f, -52.815735f, -116.408310f, -114.794746f, -108.042885f, -53.235435f, -53.853008f, -22.214457f, -62.809551f, -184.508316f, 55.657627f, 60.393047f, 8.903349f, 119.629532f, 99.485672f, 93.179787f, 12.529486f, -36.033150f, 91.600227f, 120.306450f, 101.186569f, -266.389862f, -40.268497f, 58.560471f, -15.688929f, 15.476221f, 40.140427f, 70.106178f, 33.398193f, -55.307781f, -54.812614f, 9.501314f, -32.842312f, 1.404359f, 72.411819f, 48.677658f, 19.896832f, -30.625458f, -22.088581f, 23.690083f, 147.814285f, 106.761505f, 32.618851f, -56.217175f, -56.086750f, -39.910542f, -27.860449f, 41.870930f, 33.237003f, 14.673645f, 133.780670f, 65.161377f, 29.900471f, 52.106541f, 97.515167f, -46.684582f, 28.368923f, 50.509525f, -14.864295f, 9.164424f, -87.343681f, -53.357895f, -14.466661f, -124.789276f, 139.007889f, 57.820137f, -198.630005f, 89.412651f, 73.174347f, -11.813260f, 28.477610f, 43.814209f, 53.005009f, -31.552076f, 12.509279f, -45.665352f, 0.665018f, 89.380127f, 35.962025f, 56.310169f, 231.104538f, 77.507759f, -6.636252f, -114.024948f, -103.220619f, 3.209964f, 92.323235f, 134.360977f, 72.508331f, -71.873093f, -24.684990f, -70.873833f, -80.898567f, 36.660206f, 107.964767f, 56.888454f, -41.093380f, -94.986824f, 5.479705f, 85.588272f, 86.314072f, 2.358892f, 19.563696f, -40.146599f, 106.779350f, 84.014519f, 66.932846f, 7.030437f, -25.116844f, 113.391785f, 69.206184f, -40.131550f, 153.922714f, 143.482407f, 34.324108f, 313.322266f, 143.053925f, -22.836403f, 14.444014f, -49.938580f, -50.887901f, -139.897385f, 96.043907f, 97.666435f, -49.784187f, 51.330086f, 49.973110f, 36.349068f, 19.132963f, -131.961868f, -176.490204f, 84.266121f, 168.514481f, -37.196350f, -31.474470f, -145.770355f, 73.739777f, -13.749185f, -36.067165f, -73.649986f, 69.205238f, 57.424969f, -29.286839f, 50.821659f, 151.341400f, 196.208405f, 145.900299f, 73.740807f, 59.942463f, -48.483910f, 109.854485f, 175.905731f, 107.550728f, 182.661041f, 127.042297f, 56.932144f, -4.789718f, -40.474155f, -4.276073f, 15.682971f, -20.523733f, -2.600147f, 47.862274f, 10.863128f, -28.360899f, -38.357815f, 12.670331f, -18.138870f, 42.676201f, 92.674187f, 36.742359f, 52.514660f, -5.668614f, -115.172440f, 43.835323f, 63.331287f, 56.027485f, 115.062248f, 3.782463f, -26.444477f, 273.927704f, -70.262749f, -8.360212f, 4.471777f, 3.338549f, 59.435081f, 178.305817f, 71.276756f, -18.074911f, 8.591813f, 75.633720f, 25.886395f, -77.867401f, -98.552505f, 23.158539f, 89.771393f, 55.317135f, -43.166435f, -20.516071f, -21.639067f, 58.366417f, -37.861000f, 87.507889f, 228.670868f, 168.987442f, 151.971222f, 95.947609f, 62.651642f, 55.564648f, -1.630664f, -52.394417f, -111.610962f, 110.578148f, -3.820340f, 128.265320f, 241.518845f, 81.778282f, 29.058863f, -34.290600f, -72.192398f, -76.477760f, -66.605965f, -11.854634f, 31.504972f, 41.623680f, 49.260410f, 46.350578f, 25.015730f, 0.466101f, -74.436829f, -21.117008f, 50.415005f, 41.561440f, 24.320005f, 3.089626f, 84.041313f, 176.202164f, 134.057922f, 109.030365f, 39.151558f, 51.717243f, 205.704620f, 150.353210f, 111.243019f, 26.017376f, -0.922336f, 8.721625f, 49.901936f, 20.303036f, -45.592381f, -38.354324f, 58.650257f, -53.023918f, -56.784760f, -43.466248f, -124.796875f, -123.479370f, -110.273987f, -34.595661f, -16.564945f, 34.111702f, -30.525043f, -2.907169f, -178.401764f, -44.677608f, -17.348223f, -31.677353f, -14.556618f, -31.867868f, 20.035357f, 2.716418f, -2.513957f, -41.058819f, -52.201744f, 41.795589f, 65.134628f, 38.667267f, -92.711220f, -81.188332f, 165.320053f, 146.599762f, 22.146481f, -21.278519f, -40.179806f, -68.613281f, 115.899551f, 67.407913f, 2.306747f, 0.489086f, -1.279717f, 7.199631f, -40.551086f, -8.905237f, -56.852066f, -32.516693f, -15.849322f, 68.052765f, 92.856277f, 97.140533f, 38.923428f, -64.162766f, -101.875473f, -63.277794f, -78.587120f, -32.074039f, 106.572845f, 95.851845f, 38.376095f, 15.852232f, -53.858379f, -20.356443f, -84.059586f, -105.614822f, -51.119640f, -2.018013f, -77.954140f, -175.482086f, 79.777809f, 19.744781f, -53.635326f, -51.991280f, -49.052460f, -20.029406f, 16.108711f, 24.346910f, 65.308319f, 24.882250f, -53.676472f, 35.191555f, -75.052139f, -100.669830f, 139.646332f, 26.502867f, -87.489288f, 144.371918f, 85.639999f, -5.127411f, 49.956379f, -68.622177f, -194.561584f, -257.525238f, -72.071564f, 88.947922f, 181.188904f, -141.172180f, 21.858112f, 21.690336f, 80.976372f, 74.222694f, 14.965449f, 4.836141f, -13.533607f, 12.946756f, 80.034424f, 18.799646f, -1.797944f, -11.852658f, -55.483604f, -28.792759f, -51.127789f, -27.386141f, -3.054134f, 270.684784f, 127.849197f, -7.843138f, -46.675968f, -2.273780f, -41.244320f, 107.264915f, 109.052605f, -57.428146f, -94.478180f, 201.012741f, 58.417904f, 129.794479f, 88.032875f, -43.482414f, 1.503281f, 18.233082f, -4.274224f, -9.935395f, -90.743645f, -138.744934f, 13.047572f, 99.424622f, 79.562485f, -10.939718f, -128.585876f, -119.279457f, -106.237129f, -91.740143f, 68.612770f, 19.771488f, -23.333853f, 6.881060f, -114.409279f, 37.293667f, 27.547070f, -21.962831f, 62.975277f, 126.174873f, 137.661591f, 88.351982f, 21.489727f, 36.082073f, 49.864040f, 101.988388f, 41.740952f, -2.001927f, -83.519859f, 222.208069f, 203.213120f, 27.999317f, -8.565958f, -46.465588f, -117.948517f, -54.232327f, 28.665607f, -23.274929f, -55.554726f, -66.254654f, -52.622940f, -27.317537f, -61.638550f, 130.447021f, 38.187801f, -83.578110f, 91.015823f, 65.975807f, -29.551769f, -55.780457f, -169.249374f, 136.943573f, 43.613983f, 85.860855f, 145.805145f, 83.847832f, 15.936594f, 90.094734f, -129.895950f, 8.163410f, -8.877759f, -0.308240f, -33.896103f, 62.208805f, 103.766220f, 66.179008f, 27.826544f, -68.158470f, -111.605835f, -60.367783f, -34.454868f, -50.271614f, -51.554886f, -21.024059f, -18.746723f, 92.973503f, -20.544609f, -4.456210f, 41.285404f, -2.806954f, 202.912384f, 180.625198f, 93.686058f, 105.542542f, -40.283619f, -22.137281f, 28.882605f, 86.878098f, 166.593475f, 204.373047f, 175.392639f, 6.547530f, -67.728508f, -1.995924f, 104.944130f, 25.587944f, -76.602921f, 2.406351f, -37.560753f, -66.060905f, 82.223129f, -5.690928f, -80.786980f, -192.349823f, 5.629341f, 24.807444f, 33.959263f, 139.666183f, 67.254204f, 113.142754f, 5.735409f, -36.896606f, 102.640205f, 13.071086f, -75.008644f, 135.153275f, 112.622955f, 93.684708f, 55.722095f, 17.380138f, -78.392647f, 67.183548f, 41.397549f, 47.879723f, -95.470726f, -223.305008f, 34.429707f, 203.257339f, 81.951591f, 24.905951f, -102.131676f, -172.571976f, 80.404175f, -3.289175f, -63.539902f, -178.667999f, -8.287517f, 28.750130f, 2.918398f, -190.230972f, 30.998074f, -24.621058f, 57.173183f, 67.070824f, -30.796249f, 125.394531f, 129.483154f, 69.056030f, 61.479782f, 5.587425f, -26.427807f, -42.299709f, -53.579803f, 3.932101f, 19.298172f, 60.866375f, 203.507217f, 92.185112f, 4.952492f, 26.875463f, 58.186695f, 23.599648f, -55.879227f, -95.170883f, -128.408905f, -56.559254f, -13.179881f, -6.339478f, 32.887764f, 110.878929f, 47.881824f, 61.743668f, 32.366764f, -43.335995f, 132.176224f, 23.456560f, -170.514435f, 21.666937f, -6.332648f, 200.979141f, 36.371750f, 69.918137f, 54.659019f, -24.744967f, -48.200562f, -14.369913f, -109.873573f, 132.716415f, 33.534492f, 21.027716f, 29.168337f, -6.307217f, 29.464451f, -16.280748f, -5.903169f, -33.134434f, -163.021179f, -114.629570f, 242.579056f, 153.244400f, -245.076645f, -119.108864f, 30.076363f, 46.303539f, 62.514118f, -1.635351f, 60.051456f, 85.906593f, 63.114086f, 96.103294f, 94.438263f, 60.414326f, 27.037113f, 46.420849f, 23.188837f, -4.991467f, 48.128830f, 147.061111f, -19.109028f, -62.073257f, 73.974655f, 35.121407f, 48.858604f, 17.476908f, -27.161577f, -26.075205f, -23.080959f, -22.997204f, 22.060139f, 18.945644f, 12.078902f, 26.152502f, -11.399143f, 35.660534f, 7.735845f, 28.895029f, 11.763469f, 67.383682f, 32.067547f, 172.807663f, 41.212330f, -64.892891f, 202.612274f, 66.128975f, 24.998840f, 129.758621f, 97.607491f, 64.079475f, 16.849846f, -8.063315f, -96.246849f, -42.776253f, -61.709106f, 8.576951f, 41.636856f, 4.893633f, -184.455124f, 90.305283f, 214.893326f, 77.557159f, -52.231232f, -59.771557f, 115.499374f, 10.271899f, -52.432972f, -10.506747f, 32.671928f, 30.160530f, -30.343365f, -108.296562f, -124.741348f, -114.153496f, 22.689064f, 53.387943f, 152.464798f, 195.884613f, 223.508789f, 180.783310f, 88.327431f, 24.891722f, 44.069721f, 128.580154f, 87.081917f, 97.057877f, 80.764305f, 71.377975f, 76.201828f, 19.052254f, -86.244247f, -55.772846f, -78.071259f, 59.358582f, -18.004076f, -97.394165f, 203.970825f, 128.282730f, -29.760933f, -17.373451f, -26.997627f, 298.461884f, 135.359589f, -5.173777f, 50.398880f, 16.654043f, -28.228046f, 127.954193f, 88.721756f, 31.046473f, 72.834770f, 51.219566f, 124.174194f, 179.024460f, -71.473610f, -8.079115f, -80.057495f, 73.607849f, -11.565989f, 6.495467f, 75.740349f, 69.178413f, 172.751343f, 50.800892f, -29.929661f, -55.132294f, -39.521492f, -34.578106f, 29.018955f, 18.790855f, 4.944071f, 58.298073f, 72.167747f, -20.213915f, -49.029274f, -5.245622f, 135.798645f, 114.233170f, 48.812248f, 154.565750f, 91.869995f, 9.594048f, 29.263868f, 29.942837f, 60.248390f, 56.068134f, 20.676535f, 129.442535f, 114.557922f, 65.585472f, 9.776167f, 76.209824f, 142.460770f, 65.045479f, 31.220121f, 68.550804f, 85.770195f, 65.380852f, 33.190002f, -80.774033f, -170.538605f, 61.262844f, -23.503824f, 198.854172f, 14.658221f, 54.346264f, 29.317448f, -15.893962f, 6.081978f, 50.519886f, 129.337723f, 125.421761f, 131.127838f, 197.853912f, 207.257065f, 154.032959f, 90.113098f, 66.989784f, -62.626553f, 0.772200f, -28.967108f, -85.223953f, -146.385803f, 82.958099f, -24.949381f, 93.786552f, 94.234512f, -39.738564f, -74.894165f, -36.566628f, -39.978264f, 3.580493f, -15.366054f, -32.318130f, -54.913471f, 12.737958f, -117.342049f, -59.757664f, -14.541400f, -24.570677f, -20.895752f, -18.573147f, -31.541250f, 3.822062f, 63.816460f, 68.993881f, 96.323494f, 113.108215f, 60.914867f, 38.452541f, -74.699921f, -33.957706f, 274.636505f, 42.985191f, -13.963601f, 35.379383f, 27.960144f, -9.738332f, 15.494253f, -5.034236f, -48.640007f, -28.968740f, -24.268768f, 34.582504f, 11.429268f, 13.275120f, 32.094368f, 53.997974f, 58.552933f, 60.038021f, 15.307313f, -14.686091f, -79.145950f, -92.266304f, 6.606106f, -31.398434f, 1.153621f, 61.459366f, 211.102783f, 199.088348f, 139.181458f, 90.360237f, 13.961225f, 107.374969f, -42.851105f, 111.353691f, 85.895554f, -10.314037f, -36.885490f, -48.654755f, -86.748146f, -13.811635f, -28.521486f, -133.376526f, 66.836365f, 63.232780f, 50.980137f, 33.082199f, 0.719331f, 59.833492f, 52.997120f, 109.368217f, 78.191238f, 181.871460f, 110.776367f, 41.572018f, 32.371555f, 59.911247f, 100.121117f, 147.708542f, 67.625221f, -90.737854f, -184.544220f, -95.008667f, 17.476965f, 51.444233f, 130.136398f, 86.703789f, -21.260557f, -68.970932f, -246.970169f, 111.624298f, 106.618408f, -70.539291f, -17.852840f, 74.588875f, 22.676432f, 82.200706f, 75.469940f, 86.911079f, -21.763515f, 88.468819f, 69.462051f, 28.234957f, 137.905060f, 97.628418f, 100.231453f, 71.048729f, -26.023251f, 18.455929f, 100.078911f, 91.618004f, 129.572266f, 162.295929f, 117.883362f, 73.251602f, 20.503130f, 123.177406f, 98.707054f, -61.945675f, -133.366302f, -42.585499f, 17.451960f, -85.110466f, -109.559792f, 57.105164f, 49.939404f, 71.494247f, 106.595436f, -5.332850f, -10.096909f, 95.286079f, -98.944687f, -70.735931f, -91.238235f, 77.213318f, 43.834396f, 103.931374f, 14.455284f, -18.546854f, 60.298130f, 69.783432f, 81.150307f, 75.219597f, 117.014557f, 133.318222f, 45.655605f, 44.907104f, -17.773401f, 16.685305f, 35.210880f, 58.453514f, -39.141315f, 154.492096f, 160.108368f, 54.245167f, 143.091782f, 18.370985f, -46.498653f, 30.260704f, -32.253002f, 114.865051f, 94.643227f, 42.126125f, 8.305405f, 73.466248f, 71.895737f, 7.841229f, -21.096027f, -83.805069f, 142.372986f, 32.864574f, -67.817047f, 0.273488f, -20.763456f, -39.558540f, 45.929173f, 245.427109f, 63.606354f, -33.662392f, -9.818366f, 215.528351f, -34.979908f, -46.600666f, -52.985126f, -36.442551f, -23.177917f, 89.040405f, 115.907364f, 85.734955f, 85.459145f, 53.537971f, 38.606289f, 35.117779f, -9.532898f, -46.531116f, 70.627678f, 109.927406f, 130.617371f, 127.965912f, 68.237038f, 175.485825f, 141.335297f, 101.838699f, 85.440056f, 100.211769f, -9.782224f, -34.040447f, -36.362839f, -103.141747f, -183.433182f, -281.405945f, 13.631050f, 103.082298f, 153.487061f, 95.539291f, 80.014320f, 47.319462f, -47.897068f, 144.786728f, 150.994034f, 33.507248f, 38.446999f, -11.836577f, -52.710697f, -5.434279f, -6.585646f, -43.525864f, -46.841568f, -36.090340f, 91.028366f, 223.865204f, 162.487579f, 161.622040f, 92.281693f, 72.600441f, 62.700375f, 116.998756f, 104.000122f, 56.268940f, 3.313947f, 39.044933f, 12.683829f, -66.421524f, -53.988426f, -4.046704f, -43.765293f, -58.490433f, -61.409744f, 68.780487f, 180.177185f, 130.743820f, 59.566154f, 41.610359f, -29.455439f, -47.845570f, -53.330845f, -194.252975f, -99.193802f, -28.624321f, -40.226192f, 19.173496f, -102.776230f, -115.559639f, -2.041245f, 17.804632f, 54.120743f, 35.981876f, 107.003677f, 67.225113f, 6.590813f, 31.162287f, 75.625832f, 94.116089f, 68.273361f, 19.100948f, -81.027779f, -47.543785f, -81.577866f, 147.072006f, 140.771072f, 98.894592f, 98.462875f, 120.500710f, 69.188560f, -27.267778f, -26.730125f, 19.004963f, 28.982193f, 18.988167f, 15.679336f, 0.912693f, 60.063290f, 68.444176f, -38.306652f, 274.795166f, 81.706596f, 1.653586f, 59.518078f, 81.843979f, 45.452694f, -98.132660f, 99.485909f, 72.635452f, 59.011009f, 43.986206f, 68.393044f, 153.643753f, -54.196396f, 105.024605f, -46.588734f, 29.173431f, 46.003738f, 53.556526f, -1.795008f, -94.732422f, 74.060417f, 37.018723f, 57.519180f, 40.312252f, 4.980567f, 1.190214f, 65.139198f, 16.854973f, 83.697479f, 124.012848f, 136.707169f, 105.191093f, 50.574764f, 7.427887f, 165.615936f, 120.431198f, 35.935490f, 146.632690f, 107.372086f, 101.817780f, 178.695389f, 32.956997f, -43.566265f, -170.662201f, -45.706387f, 22.193432f, 48.583588f, 7.809529f, 108.639076f, 20.145479f, -8.151466f, 16.626425f, 45.076824f, 100.699867f, 56.172535f, 31.245377f, 41.698193f, 43.700226f, 33.969212f, 13.647820f, 30.930534f, 96.241432f, 20.796177f, 20.642069f, -30.030577f, 105.024353f, 182.286652f, 51.891121f, -23.670610f, 19.259420f, -25.995207f, 144.711807f, 151.061661f, 39.095882f, 216.597061f, 151.033951f, 55.972961f, 165.229263f, 42.423416f, -9.421596f, 9.304959f, -24.490530f, 65.337448f, 0.772096f, 34.500309f, 28.041000f, 164.460770f, 148.005341f, -44.788933f, -131.866653f, 118.602074f, 174.952545f, -36.805115f, 2.389628f, -160.064590f, -74.493019f, -34.030777f, -37.621536f, 21.365028f, 11.060207f, 72.113487f, 151.263977f, 203.227783f, 232.426346f, 240.348846f, 198.561386f, 130.545105f, 79.279305f, -5.590322f, 28.170464f, 31.049704f, 123.245987f, 143.256638f, 251.395782f, 35.744690f, -42.437420f, -26.080673f, 16.841845f, 18.203182f, 83.183998f, 68.937943f, -68.034676f, 4.653465f, 101.861214f, 75.410370f, 146.164398f, 101.675415f, 188.854752f, 65.271072f, -0.098294f, 44.761238f, -45.286770f, -80.445572f, 95.316223f, -28.573139f, 1.249410f, 194.675003f, 77.615021f, 9.229208f, 122.592499f, -53.932175f, 216.979111f, -2.220833f, 63.310429f, 91.275101f, 57.843071f, 70.857147f, 42.466930f, 77.749489f, 57.652969f, 21.516739f, -1.124474f, -30.274309f, -13.056955f, 15.011532f, -30.375456f, 67.425507f, 84.229256f, 101.499359f, 28.049738f, -35.614960f, 320.076202f, 252.214386f, 152.618103f, 138.893570f, 99.840240f, 27.951473f, 49.207226f, 65.402916f, 7.603233f, -14.404366f, -35.147362f, -19.139826f, 222.586807f, 160.578033f, 15.308187f, 37.928532f, 2.810670f, 89.260468f, 73.903893f, -14.074634f, 9.220748f, 52.358765f, 29.237804f, 68.572754f, 74.369972f, 135.163269f, 53.634529f, 27.498774f, 55.932766f, 90.594849f, 106.451241f, 66.339134f, 276.491119f, 112.921783f, 68.186401f, 34.717724f, 217.367447f, 183.300674f, 171.332642f, 233.111526f, 113.635857f, -94.105415f, 101.164040f }; /*----------------------------------------------------------------------------------* * LSF quantization - Scaling factors *----------------------------------------------------------------------------------*/ /* stable ISP vector */ const float stable_ISP[M] = { 0.9808f, 0.9239f, 0.8315f, 0.7071f, 0.5556f, 0.3827f, 0.1951f, 0.0f, -0.195f, -0.3826f, -0.5555f, -0.7071f, -0.8314f, -0.9238f, -0.9808f, 0.045f }; /* stable ISF vector */ const float stable_ISF[M] = { 399.846527f, 799.890991f, 1199.888550f, 1600.019531f, 1999.927002f, 2399.963379f, 2799.979736f, 3200.0f, 3599.812256f, 3999.815918f, 4399.827637f, 4799.980469f, 5199.744629f, 5599.576660f, 6000.153320f, 1554.147827f }; /* stable LSP vector (corresponds to GEWB_Ave[]) */ const float stable_LSP[M] = { 0.9899f, 0.9667f, 0.8998f, 0.7837f, 0.6581f, 0.5009f, 0.3307f, 0.1643f, -0.0224f, -0.1955f, -0.3658f, -0.5200f, -0.6730f, -0.8040f, -0.9057f,-0.9700f }; /*----------------------------------------------------------------------------------* * LSF quantization - Mean LSF vectors *----------------------------------------------------------------------------------*/ /* These are not used anywhere */ /* A 16-by-1 matrix */ const float means_wb_cleanspeech_lsf16k0[16] = {355.08f, 696.48f, 1260.55f, 1735.55f, 2220.70f, 2676.17f, 3123.44f, 3560.94f, 3989.45f, 4399.61f, 4869.14f, 5372.66f, 5894.53f, 6364.45f, 6883.20f, 7302.73f}; /* A 16-by-1 matrix */ const float means_swb_cleanspeech_lsf25k6[16] = {614.44f, 1437.24f, 2259.37f, 2994.68f, 3732.57f, 4420.10f, 5187.93f, 5985.97f, 6790.66f, 7523.16f, 8283.87f, 9010.86f, 9757.03f, 10458.90f, 11209.84f, 11888.64f}; /* A 16-by-1 matrix */ const float means_swb_cleanspeech_lsf32k0[16] = {739.65f, 1811.71f, 2794.79f, 3708.53f, 4594.87f, 5528.75f, 6583.99f, 7512.05f, 8455.51f, 9352.67f, 10266.73f, 11133.74f, 12067.91f, 12958.21f, 13940.67f, 14794.15f}; /* An 16-by-1 matrix */ const float SVWB2_Ave[16] = { 389.8438f, 581.2500f, 1047.6563f, 1493.3594f, 1985.9375f, 2462.8906f, 2923.8281f, 3392.9688f, 3851.9531f, 4298.4375f, 4819.9219f, 5337.5000f, 5893.7500f, 6378.9063f, 6899.6094f, 7325.7813f }; /* An 16-by-1 matrix */ const float IANB_Ave[16] = { 283.5938f, 559.7656f, 973.8281f, 1331.2500f, 1695.3125f, 2037.1094f, 2383.9844f, 2713.6719f, 3035.9375f, 3334.3750f, 3614.0625f, 3910.9375f, 4261.3281f, 4854.2969f, 5467.5781f, 5934.7656f }; /* An 16-by-1 matrix */ const float IAWB_Ave[16] = { 225.3906f, 527.3438f, 986.7188f, 1380.8594f, 1773.0469f, 2150.0000f, 2537.8906f, 2914.0625f, 3298.8281f, 3670.3125f, 4051.1719f, 4421.4844f, 4807.4219f, 5182.8125f, 5566.0156f, 5940.2344f }; /* An 16-by-1 matrix */ const float IAWB2_Ave[16] = { 285.5469f, 694.1406f, 1247.6563f, 1713.2813f, 2198.8281f, 2658.5938f, 3129.6875f, 3579.6875f, 4034.7656f, 4480.0781f, 4973.0469f, 5483.2031f, 5986.7188f, 6460.1563f, 6953.5156f, 7393.3594f }; /* An 16-by-1 matrix */ const float UVNB_Ave[16] = { 397.6563f, 689.0625f, 1115.6250f, 1465.2344f, 1801.1719f, 2113.2813f, 2434.7656f, 2719.1406f, 3001.9531f, 3243.7500f, 3460.5469f, 3642.5781f, 3897.2656f, 4586.3281f, 5351.1719f, 5888.2813f }; /* An 16-by-1 matrix */ const float UVWB_Ave[16] = { 350.7813f, 742.1875f, 1239.0625f, 1636.7188f, 2023.8281f, 2406.6406f, 2786.7188f, 3150.7813f, 3513.6719f, 3862.5000f, 4212.5000f, 4545.3125f, 4893.3594f, 5232.8125f, 5586.3281f, 5930.8594f }; /* An 16-by-1 matrix */ const float SVNB_Ave[16] = { 347.6563f, 495.3125f, 753.9063f, 1133.5938f, 1538.2813f, 1883.9844f, 2278.1250f, 2595.3125f, 2924.6094f, 3203.9063f, 3478.9063f, 3728.5156f, 4214.0625f, 4908.2031f, 5452.7344f, 5930.8594f }; /* An 16-by-1 matrix */ const float SVWB_Ave[16] = { 325.0000f, 487.5000f, 761.3281f, 1204.2969f, 1613.6719f, 1998.8281f, 2413.6719f, 2760.5469f, 3128.1250f, 3485.1563f, 3857.4219f, 4195.7031f, 4603.5156f, 5023.4375f, 5456.2500f, 5878.1250f }; /* An 16-by-1 matrix */ const float GEWB_Ave[16] = { 289.8438f, 527.3438f, 919.5313f, 1365.2344f, 1736.7188f, 2131.2500f, 2513.2813f, 2863.6719f, 3245.7031f, 3600.7813f, 3962.8906f, 4314.0625f, 4703.9063f, 5102.7344f, 5508.2031f, 5899.6094f }; /* An 16-by-1 matrix */ const float GEWB2_Ave[16] = { 355.0781f, 696.4844f, 1260.5469f, 1735.5469f, 2220.7031f, 2676.1719f, 3123.4375f, 3560.9375f, 3989.4531f, 4399.6094f, 4869.1406f, 5372.6563f, 5894.5313f, 6364.4531f, 6883.2031f, 7302.7344f }; /* An 16-by-1 matrix */ const float GENB_Ave[16] = { 326.5625f, 525.0000f, 881.6406f, 1274.6094f, 1630.0781f, 1965.2344f, 2324.2188f, 2619.9219f, 2935.1563f, 3216.4063f, 3469.1406f, 3687.1094f, 4059.7656f, 4775.7813f, 5412.1094f, 5912.1094f }; /* An 16-by-1 matrix */ const float TRNB_Ave[16] = { 358.9844f, 521.4844f, 822.6563f, 1227.3438f, 1598.4375f, 1928.9063f, 2306.6406f, 2605.4688f, 2925.7813f, 3202.7344f, 3464.0625f, 3689.0625f, 4118.7500f, 4837.1094f, 5429.6875f, 5920.3125f }; /* An 16-by-1 matrix */ const float TRWB_Ave[16] = { 325.7813f, 517.9688f, 840.2344f, 1305.0781f, 1681.6406f, 2069.9219f, 2467.9688f, 2811.7188f, 3190.2344f, 3543.3594f, 3906.6406f, 4244.9219f, 4637.1094f, 5043.7500f, 5463.2813f, 5877.3438f }; /* An 16-by-1 matrix */ const float TRWB2_Ave[16] = { 369.1406f, 603.9063f, 1119.5313f, 1621.0938f, 2086.7188f, 2565.6250f, 2992.1875f, 3441.0156f, 3864.8438f, 4271.0938f, 4753.9063f, 5303.5156f, 5851.9531f, 6359.3750f, 6880.4688f, 7335.1563f }; /* An 16-by-1 matrix */ const float AUNB_Ave[16] = { 346.4844f, 563.6719f, 920.3125f, 1247.6563f, 1603.5156f, 1933.2031f, 2281.6406f, 2591.7969f, 2905.0781f, 3195.7031f, 3463.6719f, 3702.3438f, 4056.6406f, 4758.5938f, 5413.2813f, 5910.5469f }; /* An 16-by-1 matrix */ const float AUWB_Ave[16] = { 316.4063f, 573.4375f, 967.1875f, 1334.7656f, 1717.1875f, 2086.7188f, 2465.2344f, 2818.3594f, 3191.7969f, 3546.0938f, 3917.9688f, 4284.7656f, 4692.9688f, 5107.4219f, 5525.7813f, 5911.3281f }; /* An 16-by-1 matrix */ const float AUWB2_Ave[16] = { 364.4531f, 681.6406f, 1187.5000f, 1623.8281f, 2101.1719f, 2535.1563f, 2986.7188f, 3408.2031f, 3848.4375f, 4269.5313f, 4771.0938f, 5330.8594f, 5883.5938f, 6366.0156f, 6889.0625f, 7331.2500f }; /* An 16-by-1 matrix */ const float Predictor0[16] = { 0.83499f, 0.83499f, 0.83499f, 0.82999f, 0.82999f, 0.82999f, 0.80499f, 0.80750f, 0.79999f, 0.79300f, 0.80750f, 0.80750f, 0.79300f, 0.78500f, 0.78500f, 0.75500f }; /* An 16-by-1 matrix */ const float Predictor1[16] = { 0.82501f, 0.82501f, 0.82501f, 0.81299f, 0.80301f, 0.81299f, 0.81299f, 0.79749f, 0.79999f, 0.79999f, 0.80750f, 0.82001f, 0.82001f, 0.81500f, 0.82501f, 0.81299f }; /* An 16-by-1 matrix */ const float Predictor2[16] = { 0.73999f, 0.72000f, 0.74799f, 0.73999f, 0.74799f, 0.73300f, 0.73300f, 0.72501f, 0.72501f, 0.73300f, 0.73999f, 0.73999f, 0.72000f, 0.70499f, 0.72000f, 0.70499f }; /* An 16-by-1 matrix */ const float Predictor3[16] = { 0.73999f, 0.73999f, 0.75500f, 0.73999f, 0.74799f, 0.72501f, 0.71500f, 0.70499f, 0.69000f, 0.70499f, 0.72000f, 0.75500f, 0.76300f, 0.75500f, 0.76300f, 0.75800f }; /* An 16-by-1 matrix */ const float Predictor4[16] = { 0.57999f, 0.56000f, 0.58801f, 0.57999f, 0.58801f, 0.57300f, 0.57300f, 0.56500f, 0.56500f, 0.57300f, 0.57999f, 0.57999f, 0.56000f, 0.54501f, 0.54001f, 0.52499f }; /* An 16-by-1 matrix */ const float Predictor5[16] = { 0.72751f, 0.72000f, 0.72000f, 0.72751f, 0.72751f, 0.72000f, 0.72000f, 0.72000f, 0.72751f, 0.73499f, 0.74301f, 0.75000f, 0.75000f, 0.71301f, 0.71301f, 0.71301f }; /* An 16-by-1 matrix */ const float Predictor6[16] = { 0.73499f, 0.72751f, 0.73499f, 0.72000f, 0.72000f, 0.70001f, 0.68301f, 0.66501f, 0.64499f, 0.67001f, 0.68301f, 0.74301f, 0.75000f, 0.72000f, 0.75000f, 0.74301f }; /* An 16-by-1 matrix */ const float Predictor7[16] = { 0.74301f, 0.73499f, 0.74301f, 0.74301f, 0.74301f, 0.73499f, 0.74301f, 0.75000f, 0.75000f, 0.75500f, 0.76501f, 0.74301f, 0.73499f, 0.72751f, 0.71301f, 0.75500f }; /* An 16-by-1 matrix */ const float Predictor8[16] = { 0.75500f, 0.75500f, 0.75500f, 0.75000f, 0.75000f, 0.75000f, 0.73499f, 0.72751f, 0.72000f, 0.71301f, 0.72751f, 0.72751f, 0.71301f, 0.70499f, 0.70499f, 0.67499f }; /* An 16-by-16 matrix */ const float UVD_MA1[256] = { -117.5781f, -196.4844f, -166.4063f, -73.0469f, -51.1719f, -25.0000f, -17.5781f, -7.8125f, 4.2969f, 21.8750f, 24.6094f, 35.1563f, 42.9688f, 68.3594f, 37.8906f, 12.8906f, 62.8906f, 137.8906f, 185.1563f, 196.0938f, 276.9531f, 305.4688f, 310.1563f, 298.8281f, 246.8750f, 207.8125f, 158.5938f, 111.3281f, 89.8438f, 56.6406f, 37.8906f, 20.3125f, -14.4531f, -1.9531f, 80.0781f, 126.1719f, 160.9375f, 136.3281f, 86.3281f, 35.5469f, -2.3438f, -23.0469f, -33.5938f, -43.7500f, -12.5000f, 81.6406f, 28.5156f, 8.9844f, -106.6406f, -240.2344f, -320.3125f, -310.1563f, -325.7813f, -327.3438f, -321.0938f, -319.9219f, -293.3594f, -273.8281f, -250.3906f, -219.5313f, -152.7344f, -105.8594f, -71.8750f, -24.6094f, 102.3438f, 65.6250f, 40.6250f, -3.5156f, -30.4688f, -63.6719f, -55.0781f, -77.7344f, -74.6094f, -97.2656f, -95.7031f, -123.8281f, -65.6250f, 208.9844f, 42.5781f, 12.8906f, -160.1563f, -263.6719f, -266.0156f, -238.6719f, -195.3125f, -154.6875f, -106.6406f, -71.4844f, -18.3594f, 23.4375f, 75.7813f, 139.4531f, 407.8125f, 421.8750f, 130.8594f, 54.6875f, 60.1563f, 72.2656f, 100.0000f, 92.9688f, 79.2969f, 92.9688f, 109.3750f, 101.5625f, 117.1875f, 104.2969f, 100.7813f, 76.5625f, 47.2656f, -241.4063f, -102.7344f, -23.4375f, 134.7656f, 275.3906f, 335.5469f, 307.0313f, 290.2344f, 228.1250f, 166.0156f, 104.2969f, 65.6250f, 41.0156f, 28.9063f, 10.9375f, 46.4844f, 104.2969f, 41.0156f, 15.2344f, -15.2344f, -64.8438f, -89.8438f, -76.5625f, -99.6094f, -107.8125f, -124.2188f, -136.3281f, -151.1719f, -171.0938f, -210.5469f, -239.4531f, -293.7500f, -373.4375f, -528.5156f, -635.9375f, 194.5313f, 187.1094f, 161.7188f, 90.2344f, 38.2813f, 1.9531f, -7.0313f, -16.0156f, -23.4375f, -30.4688f, -35.5469f, -37.5000f, -31.6406f, 28.1250f, 11.7188f, -3.1250f, 16.0156f, 46.8750f, 25.3906f, 55.0781f, 45.7031f, 72.6563f, 97.2656f, 116.7969f, 163.2813f, 203.1250f, 221.0938f, 241.4063f, 270.3125f, 226.1719f, 125.3906f, 64.8438f, -92.1875f, -108.5938f, -26.9531f, 5.0781f, 44.1406f, 141.4063f, 173.8281f, 210.5469f, 196.4844f, 151.1719f, 105.0781f, 67.1875f, 46.8750f, -8.2031f, 0.3906f, 1.5625f, -40.2344f, -17.9688f, -53.5156f, -51.5625f, -42.1875f, -37.8906f, -26.1719f, -14.4531f, -3.1250f, 16.0156f, 32.0313f, 41.7969f, 16.7969f, -236.3281f, -73.8281f, -21.8750f, -85.9375f, -123.0469f, -188.2813f, -201.5625f, -191.0156f, -173.8281f, -162.1094f, -141.4063f, -118.7500f, -80.0781f, -53.1250f, -26.5625f, -2.7344f, 51.1719f, 27.3438f, 9.7656f, -3.9063f, -47.2656f, -82.0313f, -92.5781f, -87.5000f, -117.9688f, -96.0938f, -121.0938f, -105.8594f, -133.9844f, -111.3281f, -142.1875f, 10.9375f, 274.6094f, 52.7344f, 21.0938f, 46.0938f, 19.5313f, -26.1719f, -64.8438f, -136.3281f, -162.5000f, -172.6563f, -174.2188f, -171.4844f, -164.0625f, -149.2188f, -124.6094f, -95.7031f, -81.6406f, -54.6875f, -32.0313f }; /* An 16-by-16 matrix */ const float UVD_MA2[256] = { -29.2969f, -25.0000f, -58.5938f, -90.2344f, -106.2500f, -108.5938f, -96.8750f, -75.7813f, -60.9375f, -41.7969f, -28.9063f, -16.7969f, -35.9375f, -8.2031f, 3.5156f, 1.9531f, 153.5156f, 107.4219f, -4.6875f, -60.9375f, -81.2500f, -83.9844f, -63.2813f, -51.5625f, -44.9219f, -42.5781f, -36.7188f, -33.2031f, -40.6250f, -3.9063f, 1.9531f, -0.3906f, -116.0156f, -151.9531f, -38.6719f, -30.4688f, -25.7813f, -7.4219f, -4.6875f, 3.1250f, 0.0000f, -1.1719f, -5.8594f, -8.5938f, -44.1406f, -32.0313f, -6.2500f, 0.7813f, 23.0469f, -4.2969f, 1.9531f, -12.8906f, -4.2969f, -23.8281f, -27.3438f, -54.2969f, -55.8594f, -93.3594f, -80.8594f, -87.1094f, 277.7344f, 273.8281f, 55.8594f, 26.5625f, -76.1719f, 158.5938f, 86.7188f, 19.1406f, -2.3438f, -8.9844f, -2.3438f, 3.5156f, 0.0000f, 5.0781f, 10.1563f, 19.1406f, -17.1875f, -50.3906f, -7.0313f, -2.7344f, 8.9844f, -11.7188f, -55.0781f, 30.8594f, -7.0313f, -29.6875f, -21.4844f, -5.4688f, 17.1875f, 38.2813f, 34.3750f, 33.5938f, -37.5000f, -137.1094f, -43.7500f, -15.2344f, 148.4375f, 128.5156f, 91.7969f, 67.5781f, 55.0781f, 28.1250f, 9.7656f, -1.5625f, -2.3438f, -7.4219f, -8.2031f, -12.8906f, -21.4844f, -8.9844f, 1.1719f, -0.3906f, -31.6406f, -82.0313f, -110.9375f, 61.7188f, 154.6875f, 113.2813f, 63.6719f, 23.0469f, -9.7656f, -8.5938f, -3.9063f, -2.3438f, -17.9688f, -12.5000f, 3.5156f, 1.9531f, 3.5156f, 13.2813f, -5.8594f, 1.9531f, 8.9844f, -18.7500f, -49.6094f, -94.9219f, -135.5469f, -164.4531f, -177.7344f, -185.5469f, -193.3594f, -175.3906f, -114.8438f, -63.6719f, -5.0781f, -66.7969f, -162.5000f, -161.7188f, -95.7031f, -9.7656f, 26.9531f, 39.8438f, 40.6250f, 32.8125f, 19.5313f, 12.8906f, -14.8438f, -1.5625f, 0.0000f, 1.9531f, 19.5313f, 46.0938f, 26.5625f, 14.4531f, 57.4219f, 124.6094f, 144.9219f, 138.6719f, 113.6719f, 79.6875f, 50.7813f, 31.6406f, 8.2031f, 17.9688f, 14.0625f, 8.5938f, -37.1094f, -42.1875f, 121.4844f, 83.5938f, -10.9375f, -59.7656f, -88.2813f, -75.0000f, -50.3906f, -26.9531f, -16.4063f, -4.2969f, -18.7500f, -6.6406f, 5.0781f, 0.7813f, -72.2656f, -87.1094f, -40.6250f, 10.1563f, 20.7031f, 34.7656f, 51.5625f, 70.7031f, 100.7813f, 135.1563f, 155.0781f, 173.8281f, 153.1250f, 94.1406f, 48.8281f, 22.6563f, 32.4219f, 12.8906f, -3.5156f, -31.6406f, 15.6250f, 38.6719f, 21.8750f, 3.1250f, -19.9219f, -33.2031f, -41.4063f, -48.4375f, -76.5625f, 1.9531f, 1.9531f, 0.0000f, 55.8594f, 57.8125f, 7.4219f, -47.2656f, -96.4844f, -82.4219f, -26.1719f, 32.4219f, 77.3438f, 104.6875f, 113.2813f, 117.1875f, 93.7500f, 64.0625f, 33.5938f, 14.4531f, -77.3438f, -53.1250f, 144.5313f, 145.3125f, 117.1875f, 93.7500f, 60.9375f, 44.1406f, 30.8594f, 23.4375f, 17.1875f, 11.3281f, -13.6719f, -14.8438f, 2.3438f, 2.7344f }; /* An 16-by-16 matrix */ const float UVWB_MA3[256] = { -10.1563f, 8.9844f, 2.7344f, -2.3438f, -0.3906f, 1.1719f, 15.6250f, 13.6719f, -16.7969f, -9.3750f, 21.8750f, 61.3281f, 103.5156f, 165.2344f, 149.2188f, 101.5625f, 23.8281f, -117.1875f, -50.7813f, -39.4531f, -3.1250f, 41.4063f, 42.1875f, 44.5313f, 34.3750f, 16.7969f, -0.7813f, -12.8906f, -21.8750f, 26.1719f, 11.3281f, 5.0781f, -12.1094f, 18.3594f, 17.5781f, -47.2656f, 17.9688f, 8.5938f, 43.3594f, 91.0156f, -100.0000f, -98.4375f, -48.0469f, -27.7344f, -12.1094f, 21.0938f, 21.8750f, 12.8906f, 7.8125f, -60.1563f, 26.1719f, 77.3438f, -90.6250f, -65.2344f, -33.5938f, -4.6875f, 30.8594f, 45.3125f, 34.3750f, 30.4688f, 17.1875f, 29.2969f, 10.5469f, -2.7344f, -5.4688f, 59.7656f, -64.8438f, 8.2031f, 41.7969f, 25.0000f, 91.0156f, -87.1094f, -57.4219f, -10.5469f, -0.3906f, 16.7969f, 23.8281f, 27.3438f, 19.5313f, 7.0313f, 1.1719f, -44.9219f, -3.1250f, 55.8594f, 75.0000f, 75.3906f, -48.4375f, -76.1719f, -77.3438f, -63.2813f, -29.2969f, 5.4688f, 17.5781f, 32.4219f, 30.8594f, 19.1406f, 4.6875f, -22.2656f, 9.7656f, -11.3281f, -4.2969f, 4.6875f, -2.7344f, -5.0781f, -4.6875f, 12.1094f, 28.9063f, 38.6719f, -3.9063f, -164.4531f, -81.6406f, -43.3594f, -9.7656f, 44.9219f, 46.4844f, -7.4219f, -45.7031f, -64.0625f, -79.2969f, -92.5781f, -80.4688f, -66.0156f, -42.9688f, -16.0156f, -4.2969f, 5.8594f, 0.3906f, -2.7344f, -5.0781f, 66.4063f, -55.8594f, -50.0000f, -87.5000f, -36.7188f, 0.3906f, 37.5000f, 56.2500f, 39.8438f, 11.3281f, 0.7813f, -14.4531f, 17.9688f, 2.7344f, -4.6875f, -4.2969f, 3.9063f, -13.2813f, 14.8438f, 9.3750f, 33.5938f, 58.2031f, 82.4219f, 93.7500f, 108.9844f, 96.4844f, 85.1563f, 60.1563f, 62.8906f, 28.9063f, 5.8594f, -9.3750f, 25.0000f, 42.9688f, 48.8281f, -9.3750f, 48.0469f, 62.8906f, 64.8438f, 69.1406f, 7.0313f, -43.7500f, -45.3125f, -55.0781f, -45.7031f, -44.1406f, -35.5469f, -1.5625f, -7.8125f, -6.6406f, -4.2969f, -10.5469f, 5.0781f, -5.8594f, -15.6250f, -22.6563f, -61.3281f, -98.4375f, -110.5469f, -112.5000f, -72.6563f, -63.2813f, -43.7500f, -7.8125f, 0.7813f, 12.5000f, 17.1875f, -12.1094f, -19.1406f, 3.1250f, 5.0781f, 21.4844f, -23.0469f, -63.2813f, -82.8125f, -23.8281f, 150.0000f, 44.9219f, 14.0625f, -1.5625f, 16.4063f, -29.2969f, 35.9375f, 104.6875f, -79.2969f, -48.8281f, 3.9063f, 20.3125f, 47.2656f, 28.1250f, -16.7969f, -42.5781f, -18.3594f, -25.7813f, -29.6875f, -15.2344f, 29.6875f, 104.6875f, -99.2188f, -10.9375f, 33.9844f, 0.7813f, 35.5469f, 33.2031f, 26.5625f, 34.7656f, 37.5000f, 16.4063f, 35.1563f, 15.2344f, 1.5625f, 0.7813f, 0.7813f, -21.8750f, 2.7344f, 26.1719f, -12.1094f, -85.5469f, -75.0000f, -9.3750f, 57.0313f, 97.2656f, 105.0781f, 81.6406f, 77.7344f, 41.4063f, 12.1094f }; /* An 16-by-16 matrix */ const float SVNB_SN1[256] = { 52.7344f, 42.5781f, 52.7344f, -59.7656f, -214.4531f, 83.5938f, 162.5000f, 76.1719f, 113.6719f, 96.4844f, 39.0625f, -49.6094f, -226.1719f, -62.5000f, -25.7813f, -12.5000f, -41.7969f, -58.5938f, -107.0313f, -58.2031f, 250.7813f, 232.0313f, 132.0313f, 71.4844f, 31.6406f, -12.1094f, -5.4688f, -58.5938f, -151.1719f, -15.6250f, -17.1875f, -7.0313f, 28.5156f, 16.4063f, 66.7969f, 132.4219f, 83.2031f, 16.4063f, -53.5156f, -108.2031f, -148.0469f, -172.2656f, -171.8750f, -186.7188f, 105.4688f, 49.2188f, -1.5625f, 2.3438f, -119.9219f, -187.1094f, -248.4375f, -232.8125f, -39.0625f, 32.4219f, 65.2344f, 78.1250f, 101.5625f, 146.8750f, 204.2969f, 410.5469f, 446.0938f, 191.4063f, 97.2656f, 42.1875f, -57.8125f, -83.9844f, -126.5625f, -222.6563f, -358.2031f, -267.5781f, -81.2500f, 49.6094f, 111.3281f, 137.8906f, 172.2656f, 367.1875f, 429.6875f, 178.9063f, 89.4531f, 39.0625f, 166.7969f, 168.7500f, 214.0625f, 166.4063f, 51.9531f, 5.0781f, -3.5156f, -55.0781f, -42.1875f, -56.2500f, -76.1719f, -163.6719f, -286.3281f, -56.2500f, -42.5781f, -17.5781f, -44.9219f, -85.9375f, -75.7813f, 258.2031f, 350.0000f, 268.7500f, 191.0156f, 137.1094f, 82.4219f, 100.7813f, 57.4219f, 11.7188f, -291.4063f, -306.2500f, -60.9375f, -37.1094f, 6.2500f, -18.7500f, -34.3750f, -167.9688f, -311.7188f, 14.0625f, 79.6875f, 26.5625f, 67.9688f, 63.2813f, 7.8125f, 23.8281f, 244.9219f, 103.9063f, 39.8438f, 18.7500f, -98.4375f, -144.5313f, -246.0938f, -239.8438f, 265.6250f, 400.0000f, 339.4531f, 233.5938f, 163.6719f, 101.1719f, 75.3906f, 10.5469f, 35.1563f, 60.9375f, 20.7031f, 10.5469f, -18.7500f, 12.8906f, 10.1563f, -88.6719f, -217.1875f, -299.2188f, -152.7344f, 90.2344f, 161.3281f, 110.1563f, 88.2813f, 34.7656f, 75.7813f, 73.0469f, 17.1875f, 11.7188f, -79.6875f, -113.6719f, -134.7656f, -51.1719f, 48.8281f, 28.1250f, 6.2500f, -11.3281f, -41.4063f, -19.1406f, -10.5469f, 71.4844f, 278.9063f, 108.2031f, 44.5313f, 19.1406f, -4.2969f, 80.0781f, 111.3281f, 26.9531f, -22.6563f, -80.8594f, -117.5781f, -62.5000f, -11.7188f, -0.7813f, 4.6875f, -38.6719f, -226.5625f, -69.5313f, -31.2500f, -16.0156f, 46.8750f, 73.8281f, 109.7656f, 166.7969f, 91.4063f, 53.9063f, 48.4375f, 49.2188f, 19.5313f, 80.0781f, 47.2656f, 29.6875f, -311.3281f, -470.3125f, -91.7969f, -51.9531f, 24.6094f, -7.0313f, 57.0313f, 260.1563f, 187.5000f, 92.1875f, 52.3438f, -15.2344f, -37.8906f, -50.7813f, -68.3594f, -147.6563f, -291.4063f, -62.1094f, -41.4063f, -17.9688f, 150.7813f, 155.8594f, 162.1094f, 61.3281f, -68.3594f, -110.1563f, -123.0469f, -124.2188f, -86.7188f, -87.8906f, -104.2969f, -133.5938f, 123.8281f, 59.3750f, 5.8594f, 5.4688f, 15.2344f, 21.8750f, 27.7344f, -37.1094f, -151.1719f, -198.8281f, -232.4219f, -182.0313f, -154.2969f, -72.6563f, -9.3750f, 164.4531f, 317.9688f, 114.0625f, 49.6094f, 20.3125f }; /* An 16-by-16 matrix */ const float SVNB_SN2[256] = { -6.2500f, 43.3594f, 43.3594f, -34.7656f, -44.9219f, -157.8125f, -200.7813f, 63.2813f, 108.2031f, 16.0156f, -36.7188f, -34.7656f, 5.8594f, 12.1094f, 0.7813f, 0.7813f, -32.0313f, -38.6719f, -9.7656f, -112.1094f, -181.2500f, 79.6875f, 7.0313f, -48.0469f, -14.8438f, 21.8750f, 42.5781f, 77.3438f, 62.5000f, 37.5000f, 16.0156f, 7.4219f, -37.1094f, -24.2188f, -94.5313f, -162.1094f, 124.2188f, 46.0938f, -47.2656f, 17.1875f, 28.9063f, 15.6250f, 33.2031f, 44.5313f, 20.3125f, 14.0625f, 8.2031f, 3.1250f, 11.3281f, 15.6250f, 16.7969f, 8.9844f, -78.9063f, -58.2031f, 112.5000f, 58.2031f, -7.8125f, -42.5781f, -72.6563f, -107.4219f, -49.6094f, 7.0313f, -9.7656f, -2.3438f, 7.8125f, 14.0625f, -37.8906f, -89.0625f, 220.7031f, 198.4375f, 52.3438f, 16.4063f, -27.3438f, -92.5781f, -100.7813f, -101.1719f, -48.0469f, -3.5156f, -11.3281f, -3.9063f, -28.1250f, -66.0156f, 192.1875f, 180.8594f, 75.3906f, 79.6875f, -5.0781f, -29.2969f, -32.0313f, -48.8281f, -70.7031f, -89.8438f, -70.7031f, -3.9063f, -15.6250f, -4.6875f, -42.1875f, -86.3281f, -89.4531f, 253.1250f, 224.6094f, 112.5000f, 57.0313f, 0.3906f, -5.4688f, -1.5625f, -19.9219f, -46.8750f, -31.6406f, -5.4688f, -6.6406f, -1.9531f, -77.7344f, -103.1250f, -120.7031f, 81.6406f, 3.1250f, -50.0000f, 9.3750f, -18.3594f, 33.9844f, 100.3906f, 93.7500f, 72.2656f, 36.3281f, 27.3438f, 13.2813f, 6.2500f, 9.7656f, 32.0313f, -23.4375f, -60.5469f, -158.9844f, -240.2344f, 11.3281f, 39.0625f, -44.1406f, 12.5000f, 80.8594f, 100.7813f, 79.2969f, 43.3594f, 19.1406f, 8.2031f, 14.4531f, 49.6094f, 37.1094f, 1.5625f, 43.7500f, -17.5781f, -84.7656f, -61.7188f, -108.2031f, -158.9844f, -118.7500f, -59.3750f, 28.1250f, 20.3125f, -2.3438f, 0.0000f, -11.7188f, -31.6406f, -45.3125f, -162.5000f, -85.5469f, 264.4531f, 210.1563f, 128.1250f, 83.2031f, 23.4375f, -23.4375f, -42.5781f, -30.4688f, 0.0000f, -1.9531f, 0.0000f, 3.5156f, -5.8594f, 10.1563f, 29.2969f, -68.3594f, -131.2500f, -262.8906f, -228.9063f, 92.9688f, 121.0938f, 77.3438f, 73.8281f, 82.8125f, 49.2188f, 18.7500f, 9.3750f, -7.0313f, -1.5625f, -31.2500f, 39.8438f, 50.7813f, -45.3125f, -104.6875f, -183.9844f, -221.4844f, -40.6250f, 80.0781f, 86.3281f, 55.8594f, 31.6406f, 11.3281f, 4.6875f, 1.5625f, 15.2344f, 25.3906f, 44.9219f, 34.3750f, 73.8281f, 53.1250f, 48.4375f, 19.1406f, 41.4063f, 14.4531f, 34.7656f, -146.4844f, -244.5313f, -44.5313f, -28.5156f, 210.9375f, 205.0781f, 184.3750f, 86.3281f, 46.0938f, -12.1094f, 5.8594f, 2.7344f, -27.7344f, -54.2969f, -42.1875f, -36.3281f, -5.0781f, -1.5625f, -5.0781f, -3.1250f, -17.1875f, -17.1875f, -55.8594f, -106.2500f, -205.0781f, -142.5781f, 187.1094f, 196.0938f, 121.8750f, 87.8906f, 62.8906f, 28.1250f, 10.9375f, 16.4063f, 10.1563f, 4.6875f }; /* An 16-by-16 matrix */ const float SVWB_SN1[256] = { -27.7344f, -23.8281f, -66.4063f, -219.9219f, -375.7813f, -330.0781f, 72.6563f, 164.4531f, 110.1563f, 134.3750f, 101.5625f, 60.5469f, 72.6563f, 20.3125f, -7.0313f, -4.2969f, -41.7969f, -54.2969f, -112.8906f, -105.4688f, 307.8125f, 240.2344f, 97.2656f, 67.9688f, -0.3906f, -9.3750f, 62.1094f, 41.4063f, -17.9688f, -71.4844f, -73.0469f, -41.7969f, -56.2500f, -86.3281f, -83.9844f, 140.2344f, 75.0000f, -13.2813f, -72.6563f, -127.3438f, -100.0000f, -48.4375f, -19.1406f, 32.8125f, 83.5938f, 92.5781f, 72.6563f, 35.5469f, 85.1563f, 129.6875f, 130.8594f, 16.0156f, -74.6094f, -153.9063f, -239.8438f, -212.1094f, -162.1094f, -148.0469f, -111.3281f, -59.7656f, -33.5938f, -39.4531f, -26.9531f, -5.0781f, 229.2969f, 240.6250f, 285.9375f, 163.6719f, 105.4688f, 98.4375f, 39.8438f, 15.6250f, 20.7031f, -13.6719f, -22.2656f, -13.2813f, 7.4219f, -5.4688f, -5.8594f, -46.8750f, -29.6875f, -86.7188f, -49.6094f, 475.0000f, 464.0625f, 318.3594f, 207.8125f, 125.0000f, 121.4844f, 89.0625f, 13.2813f, -23.0469f, -37.5000f, -33.5938f, -17.1875f, -14.8438f, -68.7500f, -110.1563f, -198.0469f, -177.7344f, 438.2813f, 530.8594f, 376.9531f, 289.8438f, 238.2813f, 175.0000f, 185.1563f, 160.9375f, 72.2656f, 49.6094f, 49.6094f, -9.3750f, -60.9375f, -87.8906f, 6.2500f, 178.9063f, 165.2344f, 171.0938f, 153.5156f, 156.2500f, 205.0781f, 257.0313f, 266.4063f, 266.0156f, 239.0625f, 171.0938f, 104.2969f, 26.5625f, 34.7656f, 46.8750f, 67.1875f, 138.6719f, 76.1719f, -3.1250f, -8.5938f, -26.1719f, -42.9688f, -15.6250f, -36.3281f, -63.6719f, -149.2188f, -267.5781f, -361.7188f, -182.8125f, -88.6719f, -141.4063f, -176.5625f, -225.3906f, -83.2031f, -8.5938f, 21.8750f, 32.0313f, 51.5625f, 84.3750f, 135.9375f, 164.0625f, 139.8438f, 116.7969f, 100.3906f, 55.8594f, 14.8438f, -30.0781f, 45.7031f, 334.3750f, 189.8438f, 110.1563f, 6.2500f, -60.1563f, -50.7813f, -123.0469f, -241.4063f, -305.8594f, -348.4375f, -212.8906f, -34.3750f, 23.0469f, 85.1563f, 126.5625f, 90.6250f, -63.2813f, -227.7344f, -215.6250f, 49.2188f, 24.2188f, -15.6250f, -10.5469f, -88.6719f, -135.9375f, -130.4688f, -126.5625f, -92.9688f, -25.3906f, 32.0313f, 6.2500f, -7.8125f, -210.5469f, -307.4219f, 235.9375f, 132.8125f, 101.1719f, 101.5625f, -20.7031f, -98.0469f, -82.4219f, -4.6875f, 49.6094f, 66.7969f, 38.6719f, -9.3750f, 65.6250f, 78.9063f, -55.4688f, -87.1094f, -175.0000f, -110.1563f, 47.6563f, 57.8125f, 60.5469f, 141.7969f, 148.4375f, 135.5469f, 102.7344f, 48.4375f, -26.5625f, 64.4531f, 58.5938f, 88.2813f, 37.1094f, -67.1875f, -100.3906f, -161.3281f, -199.2188f, -208.2031f, -286.7188f, -396.0938f, -471.0938f, -325.7813f, -63.2813f, 2.3438f, 37.8906f, -30.4688f, -28.1250f, -31.6406f, -125.7813f, -236.3281f, -285.5469f, -289.0625f, -220.3125f, -139.0625f, -85.5469f, -58.9844f, 4.2969f, 78.1250f, 92.5781f, 82.8125f, 66.4063f }; /* An 16-by-16 matrix */ const float SVWB_SN2[256] = { -49.2188f, -59.3750f, -133.5938f, -165.2344f, 121.4844f, 37.1094f, 1.1719f, 11.3281f, -36.3281f, 1.5625f, 88.6719f, 75.3906f, 55.4688f, 46.8750f, 36.3281f, 24.2188f, 74.2188f, 100.7813f, 149.2188f, 121.0938f, 64.8438f, -4.2969f, -30.0781f, -26.1719f, -84.7656f, -127.7344f, -128.9063f, -147.6563f, -180.0781f, -120.7031f, -55.4688f, -18.3594f, -6.2500f, -22.6563f, -30.0781f, -132.4219f, -208.5938f, 183.2031f, 155.8594f, 92.5781f, 113.2813f, 52.7344f, 13.2813f, 33.5938f, -5.4688f, -30.0781f, -11.7188f, 3.9063f, 5.0781f, -1.5625f, 251.5625f, 223.4375f, 160.9375f, 171.0938f, 106.2500f, 111.7188f, 91.4063f, 69.1406f, 46.0938f, 57.4219f, 51.1719f, 53.9063f, 49.6094f, 14.8438f, -28.5156f, -34.3750f, -43.7500f, 16.4063f, 14.0625f, 55.0781f, 165.6250f, 150.7813f, 196.8750f, 225.0000f, 204.2969f, 188.6719f, 168.3594f, 128.1250f, 91.0156f, 23.0469f, -46.8750f, -66.0156f, -105.4688f, -173.8281f, -231.6406f, -104.6875f, -51.9531f, -53.9063f, -4.2969f, 21.8750f, 51.9531f, 82.0313f, 64.8438f, 45.3125f, 47.6563f, 53.5156f, 110.1563f, 144.5313f, 99.6094f, 29.6875f, -34.7656f, -74.6094f, 54.2969f, 31.2500f, 4.6875f, 68.7500f, 72.2656f, 56.6406f, 95.3125f, 98.8281f, 67.5781f, -7.0313f, 5.0781f, 5.4688f, -16.7969f, 28.5156f, -23.0469f, -105.4688f, -175.0000f, -242.9688f, -23.0469f, 146.0938f, 137.8906f, 114.4531f, 73.8281f, -21.0938f, -77.7344f, -47.6563f, -29.2969f, -41.4063f, -109.7656f, -121.8750f, 228.5156f, 158.2031f, 72.2656f, 24.2188f, -68.7500f, -124.6094f, -128.9063f, -156.2500f, -163.2813f, -63.2813f, -1.5625f, 30.4688f, -12.1094f, -4.2969f, -30.8594f, -32.4219f, -34.3750f, -107.0313f, -133.9844f, -168.3594f, -243.3594f, -202.3438f, -57.8125f, -4.2969f, -6.6406f, -8.2031f, 8.2031f, 35.1563f, -39.4531f, -67.5781f, -93.7500f, 173.4375f, 118.3594f, 47.2656f, 40.6250f, -14.4531f, 72.2656f, 52.3438f, -17.5781f, -53.1250f, -64.0625f, 1.5625f, 59.7656f, 44.5313f, -3.1250f, 15.6250f, 41.7969f, -29.6875f, -99.2188f, -215.2344f, -262.8906f, 112.5000f, 124.2188f, 9.7656f, 5.4688f, -24.2188f, -37.8906f, -0.7813f, 5.0781f, -7.8125f, 33.9844f, 49.6094f, 31.2500f, 84.3750f, 131.2500f, 57.4219f, 73.4375f, 64.4531f, -3.9063f, 48.8281f, 75.3906f, 33.9844f, -49.2188f, -154.6875f, -287.5000f, -261.3281f, 0.7813f, 1.5625f, 37.5000f, 72.2656f, 2.3438f, 24.2188f, -14.4531f, -53.1250f, -69.1406f, -97.6563f, -88.6719f, 78.5156f, 290.6250f, 254.2969f, 137.1094f, 28.9063f, -6.2500f, -15.2344f, -32.0313f, -69.1406f, -148.4375f, -71.4844f, -9.3750f, -42.5781f, -75.7813f, -158.9844f, -250.3906f, -240.2344f, -61.3281f, 57.0313f, 74.6094f, 65.2344f, -8.2031f, -4.6875f, -15.2344f, -24.6094f, -62.1094f, -50.0000f, 7.8125f, 2.3438f, 6.2500f, 15.2344f, -23.4375f, -94.9219f, -232.0313f, -286.3281f, -142.1875f, 17.9688f }; /* An 16-by-32 matrix */ const float GEWB_MA1[512] = { 105.0781f, 104.6875f, 162.5000f, 112.1094f, 61.3281f, 2.7344f, -51.5625f, -107.8125f, -188.2813f, -273.8281f, -400.3906f, -527.3438f, -641.4063f, -383.5938f, -125.3906f, -19.1406f, 92.5781f, 370.7031f, 536.7188f, 479.6875f, 522.2656f, 476.1719f, 438.6719f, 396.8750f, 332.8125f, 293.7500f, 259.3750f, 218.3594f, 175.0000f, 119.5313f, 75.7813f, 32.4219f, -2.3438f, -68.7500f, -145.7031f, -43.3594f, -86.3281f, -151.1719f, -188.6719f, -249.6094f, -294.1406f, -307.0313f, -302.3438f, -255.8594f, -128.1250f, -44.5313f, -9.7656f, 10.5469f, 52.7344f, 64.0625f, -1.5625f, -70.7031f, -142.1875f, -206.2500f, -181.2500f, -165.6250f, -153.5156f, -122.6563f, -94.5313f, -72.2656f, -40.6250f, -23.8281f, -12.5000f, -14.4531f, 5.8594f, -85.1563f, -125.7813f, 260.9375f, 233.2031f, 133.9844f, 76.5625f, -1.9531f, -17.9688f, -62.1094f, -140.2344f, -204.6875f, -245.7031f, -214.0625f, -120.3125f, -37.1094f, 94.5313f, 180.8594f, 299.6094f, 258.2031f, 217.9688f, 157.4219f, 104.6875f, 74.6094f, 27.7344f, -1.5625f, -19.9219f, -40.2344f, -55.0781f, -68.7500f, -62.8906f, -55.4688f, -69.9219f, -57.4219f, 279.2969f, 337.8906f, 378.9063f, 364.0625f, 321.0938f, 298.0469f, 235.1563f, 200.7813f, 170.3125f, 144.5313f, 111.3281f, 73.8281f, 41.4063f, 14.0625f, -19.1406f, -88.6719f, -230.0781f, -364.4531f, -457.8125f, -273.4375f, -96.8750f, -68.3594f, -51.5625f, -51.5625f, -48.8281f, -40.2344f, -18.3594f, -19.1406f, -4.6875f, 23.4375f, -2.7344f, -88.6719f, -157.8125f, 106.2500f, 32.4219f, -19.5313f, -64.4531f, -124.6094f, -133.9844f, -195.7031f, -285.5469f, -366.7969f, -395.7031f, -237.1094f, -78.9063f, -0.7813f, -29.6875f, -105.8594f, -258.2031f, -227.3438f, 115.6250f, 33.5938f, -23.4375f, -64.8438f, -130.8594f, -122.6563f, -83.2031f, -111.3281f, -126.5625f, -109.3750f, -64.0625f, -15.2344f, -103.1250f, -176.5625f, -43.3594f, 66.7969f, 89.4531f, 139.4531f, 138.6719f, 180.0781f, 198.8281f, 201.9531f, 191.0156f, 172.2656f, 135.5469f, 96.0938f, 61.7188f, 29.2969f, 26.1719f, -19.1406f, -132.8125f, -213.2813f, -296.0938f, -358.9844f, -342.1875f, -283.9844f, -257.0313f, -221.4844f, -192.1875f, -156.2500f, -91.4063f, -54.6875f, -24.6094f, 14.0625f, -55.4688f, 36.7188f, 200.7813f, 156.2500f, 158.5938f, 151.9531f, 148.0469f, 161.3281f, 152.7344f, 147.2656f, 138.2813f, 122.6563f, 95.7031f, 60.9375f, 36.7188f, 13.2813f, 37.8906f, -18.3594f, -123.4375f, -242.1875f, -341.4063f, -69.9219f, -80.4688f, -113.2813f, -118.7500f, -200.7813f, -269.5313f, -282.4219f, -196.4844f, -98.4375f, -28.5156f, 15.2344f, 189.4531f, 263.2813f, 207.8125f, 76.1719f, 14.8438f, -23.4375f, 6.6406f, 20.3125f, 24.6094f, 28.9063f, 33.2031f, 24.2188f, 13.6719f, -3.9063f, -8.5938f, -19.9219f, -41.0156f, -8.9844f, 112.1094f, 153.9063f, 183.2031f, 237.8906f, 275.7813f, 335.9375f, 364.4531f, 364.4531f, 341.4063f, 308.2031f, 249.2188f, 181.6406f, 116.0156f, 57.8125f, -87.1094f, -194.9219f, -326.9531f, -317.5781f, -152.7344f, -90.2344f, -69.5313f, -71.0938f, -31.6406f, 0.7813f, 32.8125f, 44.1406f, 51.1719f, 55.4688f, 49.6094f, 41.7969f, -25.0000f, 105.0781f, 343.3594f, 331.6406f, 395.7031f, 451.9531f, 488.2813f, 522.2656f, 493.3594f, 459.3750f, 409.3750f, 351.5625f, 274.6094f, 196.0938f, 124.2188f, 64.4531f, 23.8281f, 0.3906f, -77.3438f, -81.6406f, -134.7656f, -162.8906f, -109.3750f, -109.3750f, -119.9219f, -106.2500f, -133.2031f, -163.2813f, -235.9375f, -288.2813f, -346.4844f, -153.9063f, 17.5781f, 30.0781f, 48.4375f, 59.3750f, 38.6719f, 16.7969f, 7.8125f, -1.5625f, -35.5469f, -33.2031f, -75.0000f, -109.3750f, -212.5000f, -294.5313f, -459.3750f, -506.2500f, 67.5781f, 26.9531f, -19.1406f, -88.2813f, -134.3750f, -187.1094f, -191.0156f, -241.4063f, -283.9844f, -355.0781f, -438.2813f, -564.8438f, -504.6875f, -192.1875f, -80.0781f, 3.9063f, -31.2500f, -31.2500f, 132.0313f, 111.3281f, 48.0469f, 18.7500f, -29.6875f, -31.2500f, -41.0156f, -46.0938f, -42.1875f, -31.2500f, -22.6563f, -10.9375f, -3.5156f, -3.1250f, 28.9063f, -30.8594f, -114.0625f, -241.4063f, -295.3125f, 134.7656f, 84.3750f, 70.3125f, 55.8594f, -28.5156f, -72.6563f, -87.1094f, -78.1250f, -55.8594f, -20.3125f, -8.2031f, -98.8281f, -202.7344f, -225.7813f, -73.4375f, -37.5000f, -13.6719f, -2.7344f, 10.5469f, 51.9531f, 85.1563f, 100.7813f, 100.7813f, 90.2344f, 70.3125f, 46.8750f, 27.3438f, 106.6406f, 289.0625f, 371.0938f, 287.5000f, 273.8281f, 248.0469f, 238.6719f, 235.1563f, 221.0938f, 208.2031f, 192.9688f, 174.6094f, 136.7188f, 89.8438f, 51.1719f, 16.4063f, -39.0625f, -134.7656f, -274.2188f, -137.5000f, 276.9531f, 266.4063f, 189.4531f, 126.5625f, 62.8906f, 43.7500f, 57.8125f, 9.7656f, -34.3750f, -41.4063f, -33.5938f, -39.4531f, 119.9219f, 103.5156f, 98.8281f, 25.3906f, -24.6094f, -29.2969f, -66.0156f, -110.1563f, -152.3438f, -195.7031f, -214.8438f, -207.8125f, -158.5938f, -115.6250f, -72.6563f, -51.5625f, -10.1563f, 27.3438f, 19.5313f, -32.8125f, -34.7656f, 10.9375f, 41.4063f, 77.7344f, 119.1406f, 152.7344f, 175.7813f, 183.2031f, 163.6719f, 117.5781f, 74.6094f, 31.2500f, 8.5938f, 15.2344f, -60.1563f, -166.4063f, -233.2031f, -194.1406f, -62.1094f, -26.9531f, 16.0156f, 37.1094f, 44.5313f, 44.5313f, 38.6719f, 12.8906f, -2.7344f, -15.6250f, -63.2813f, -139.0625f, -199.6094f, -180.0781f, -185.5469f, -200.3906f, -186.3281f, -189.4531f, -154.2969f, -97.2656f, -53.1250f, -27.7344f, -1.5625f, 12.8906f, 21.0938f, 25.0000f, -32.0313f, -115.2344f, -219.5313f, 94.1406f, 25.3906f, -63.6719f, -88.6719f, -150.0000f, -92.5781f, -89.4531f, -103.9063f, -87.1094f, -36.7188f, 3.9063f, 16.0156f, 12.1094f, -40.6250f, -126.1719f, -117.9688f, 286.3281f, 252.3438f, 163.2813f, 105.8594f, 58.2031f, 60.5469f, 60.1563f, 46.4844f, 38.6719f, 34.7656f, 24.6094f, 5.0781f, -6.2500f }; /* An 16-by-32 matrix */ const float GETRNB_SN1[512] = { -46.4844f, -105.8594f, -166.7969f, 174.6094f, 125.3906f, 22.6563f, 14.4531f, -41.0156f, -25.3906f, 38.6719f, 41.4063f, 8.2031f, -108.2031f, 20.7031f, 3.5156f, -2.3438f, -36.3281f, -94.1406f, -169.1406f, -322.6563f, -401.5625f, 6.6406f, 70.3125f, 53.9063f, 125.0000f, 91.4063f, 59.3750f, 91.7969f, 380.0781f, 232.0313f, 77.7344f, 37.5000f, -117.1875f, -185.1563f, -216.0156f, -194.1406f, -146.0938f, -90.2344f, -87.5000f, -66.4063f, -56.6406f, 19.9219f, 60.1563f, 278.9063f, 522.6563f, 269.5313f, 105.8594f, 46.0938f, -44.9219f, -89.0625f, -96.8750f, 3.5156f, -10.5469f, -76.5625f, -93.7500f, -105.0781f, -114.4531f, -121.0938f, -107.8125f, -99.2188f, 300.3906f, 187.8906f, 45.7031f, 23.0469f, 67.1875f, 22.6563f, 183.2031f, 228.5156f, 200.0000f, 131.2500f, 56.6406f, -20.3125f, -65.2344f, -134.3750f, -148.0469f, -190.2344f, 111.3281f, 147.2656f, 10.5469f, 10.5469f, 31.6406f, 13.2813f, 224.2188f, 335.5469f, 319.5313f, 274.2188f, 203.5156f, 134.3750f, 69.1406f, 8.9844f, -45.3125f, -107.0313f, -238.6719f, -30.4688f, -23.8281f, -13.6719f, 29.6875f, 7.4219f, -40.6250f, -151.5625f, -268.3594f, 21.0938f, 108.9844f, 56.2500f, 92.5781f, 87.1094f, 42.9688f, 3.5156f, -130.8594f, 1.5625f, 1.1719f, -3.9063f, 44.9219f, 148.4375f, 189.8438f, 174.2188f, 151.9531f, 123.4375f, 93.3594f, 97.2656f, 76.9531f, 80.8594f, 63.2813f, 55.0781f, -169.9219f, -592.1875f, -159.7656f, -53.1250f, -57.0313f, -135.9375f, -166.0156f, 251.9531f, 389.8438f, 308.5938f, 237.8906f, 182.8125f, 110.1563f, 112.1094f, 59.7656f, 33.9844f, -180.0781f, -231.2500f, -34.3750f, -25.0000f, -97.2656f, -183.9844f, -326.1719f, -250.7813f, 230.0781f, 375.0000f, 346.4844f, 248.8281f, 172.6563f, 111.7188f, 94.5313f, 51.5625f, 55.4688f, 116.7969f, 38.6719f, 17.1875f, 50.0000f, 14.4531f, -46.8750f, -122.6563f, -223.0469f, -285.1563f, -339.0625f, -217.9688f, -101.1719f, -42.5781f, 3.1250f, 161.3281f, 447.2656f, 231.6406f, 82.0313f, 35.9375f, 58.9844f, 129.2969f, 104.2969f, 50.7813f, -9.3750f, -34.7656f, -51.9531f, -16.7969f, -29.2969f, 22.2656f, 7.4219f, 36.7188f, -183.2031f, -310.9375f, -48.4375f, -35.1563f, -132.4219f, -182.8125f, -114.0625f, -13.2813f, 29.6875f, 69.9219f, 90.2344f, 105.0781f, 101.1719f, 109.7656f, 107.4219f, 79.6875f, -36.3281f, 61.3281f, 20.7031f, 6.2500f, 12.8906f, 68.7500f, 9.7656f, -78.5156f, -121.4844f, -194.1406f, -198.8281f, -94.5313f, -18.3594f, 2.3438f, 33.5938f, 18.7500f, -64.4531f, 68.7500f, 9.3750f, 3.1250f, 10.5469f, 87.1094f, 180.0781f, 195.3125f, 187.1094f, 185.5469f, 191.0156f, 218.7500f, 248.0469f, 289.4531f, 360.9375f, 526.1719f, 603.9063f, 314.8438f, 108.2031f, 21.0938f, 199.2188f, 181.2500f, 157.0313f, 44.5313f, -31.2500f, -111.3281f, -113.2813f, -125.3906f, -110.5469f, -143.7500f, -126.9531f, -165.6250f, 151.5625f, 157.0313f, 20.3125f, 14.8438f, 203.5156f, 239.8438f, 285.9375f, 214.4531f, 167.1875f, 108.5938f, 70.3125f, 31.6406f, 5.4688f, -42.9688f, -79.6875f, -138.6719f, -253.5156f, -12.5000f, -21.8750f, -14.0625f, 28.1250f, 10.1563f, 102.3438f, 102.7344f, 62.1094f, 44.1406f, 23.4375f, -3.9063f, -28.5156f, -47.2656f, -78.5156f, -128.5156f, -300.0000f, -23.8281f, -23.4375f, -15.2344f, 33.2031f, 22.2656f, 45.3125f, -15.6250f, -30.4688f, -62.1094f, -60.1563f, -96.4844f, -85.9375f, -142.9688f, -129.2969f, -207.8125f, -13.6719f, 134.3750f, 0.0000f, 9.7656f, 205.8594f, 358.9844f, 523.0469f, 478.5156f, 464.8438f, 399.6094f, 302.3438f, 225.3906f, 153.5156f, 62.5000f, -1.5625f, -71.8750f, -109.7656f, 11.3281f, -8.2031f, -4.6875f, -89.8438f, -110.5469f, -132.0313f, -148.0469f, -122.2656f, -114.4531f, -63.6719f, -47.6563f, 5.8594f, 37.8906f, 94.9219f, 65.6250f, 141.0156f, 175.3906f, 39.8438f, 23.8281f, 147.6563f, 144.1406f, 144.1406f, 53.1250f, 16.4063f, -28.1250f, -28.5156f, -60.1563f, -60.5469f, -101.5625f, -105.4688f, -173.4375f, -219.5313f, 67.5781f, -14.0625f, -3.5156f, 65.6250f, 42.1875f, -14.0625f, -135.5469f, -218.3594f, -170.3125f, -99.2188f, -102.7344f, -92.1875f, -88.6719f, -96.4844f, -92.9688f, 310.9375f, 190.6250f, 48.0469f, 24.2188f, -58.9844f, -46.0938f, 63.6719f, 176.5625f, 167.9688f, 189.0625f, 178.1250f, 163.2813f, 147.2656f, 141.7969f, 100.0000f, 71.4844f, -157.4219f, -558.2031f, -149.2188f, -49.2188f, -79.6875f, -142.9688f, -254.6875f, -200.0000f, 167.1875f, 137.8906f, 71.0938f, 34.3750f, -3.9063f, -36.7188f, -21.0938f, -4.2969f, 312.8906f, 205.8594f, 58.9844f, 29.6875f, 23.4375f, 30.8594f, -66.0156f, -181.6406f, -308.2031f, -329.6875f, -21.4844f, 70.7031f, 81.6406f, 67.1875f, 82.0313f, 41.7969f, 101.5625f, 155.8594f, 35.5469f, 20.3125f, -26.9531f, -80.0781f, -147.2656f, -64.0625f, 252.7344f, 228.1250f, 117.9688f, 58.9844f, 12.5000f, -52.7344f, -53.1250f, -87.1094f, -105.0781f, 66.4063f, 1.5625f, 1.9531f, 14.8438f, 163.2813f, 345.7031f, 382.4219f, 386.7188f, 401.1719f, 339.8438f, 314.0625f, 261.3281f, 209.7656f, 140.6250f, 94.1406f, -131.2500f, -500.3906f, -132.0313f, -43.3594f, -164.0625f, -273.4375f, -356.2500f, -242.9688f, -131.6406f, -19.9219f, 26.1719f, 67.5781f, 127.3438f, 216.4063f, 299.2188f, 544.9219f, 646.8750f, 349.2188f, 152.3438f, 69.5313f, -55.0781f, -98.4375f, -198.0469f, -321.0938f, -423.4375f, -330.0781f, -109.3750f, 7.8125f, 58.2031f, 94.5313f, 153.5156f, 371.4844f, 557.8125f, 289.0625f, 118.3594f, 52.7344f, -46.8750f, -14.4531f, 12.1094f, 41.0156f, 28.1250f, 38.6719f, 20.7031f, 45.7031f, 23.0469f, 66.7969f, 46.8750f, 69.1406f, -161.7188f, -387.8906f, -62.5000f, -38.2813f, -149.2188f, -239.0625f, -246.4844f, -65.2344f, 1.5625f, 40.6250f, 50.7813f, 55.0781f, 94.5313f, 126.9531f, 135.9375f, 167.9688f, 409.3750f, 254.2969f, 86.7188f, 42.5781f }; /* An 16-by-16 matrix */ const float GETRNB_SN2[256] = { -10.5469f, 27.7344f, 17.5781f, -1.5625f, 10.9375f, 26.9531f, 9.7656f, 36.7188f, 17.5781f, 35.1563f, 17.5781f, 33.9844f, -69.1406f, -221.4844f, -45.3125f, -23.0469f, -81.2500f, -57.4219f, 207.4219f, 155.8594f, 77.7344f, 44.1406f, -8.2031f, -10.9375f, -13.2813f, -14.8438f, -18.7500f, -17.9688f, -18.3594f, 7.0313f, -0.3906f, -0.3906f, 26.9531f, -7.8125f, -44.9219f, -138.6719f, -148.4375f, 151.5625f, 148.0469f, 75.3906f, 52.3438f, 14.4531f, -16.4063f, -23.4375f, -13.6719f, 11.3281f, 2.3438f, 1.9531f, 41.7969f, 34.7656f, -38.2813f, -73.8281f, 148.0469f, 112.8906f, 26.5625f, 8.5938f, -27.7344f, -69.9219f, -73.0469f, -75.0000f, -53.5156f, 1.5625f, -6.6406f, -2.7344f, -17.1875f, -31.6406f, -144.9219f, -175.0000f, 88.2813f, 29.2969f, -20.3125f, 16.7969f, 15.6250f, 14.0625f, 30.8594f, 46.8750f, 50.7813f, 29.6875f, 14.0625f, 5.8594f, 51.1719f, 44.9219f, 75.0000f, 69.1406f, 9.7656f, -2.7344f, -8.9844f, -37.1094f, -51.5625f, -71.8750f, -80.4688f, -95.7031f, -78.1250f, -4.6875f, -11.3281f, -4.2969f, 17.5781f, -9.7656f, -97.2656f, 19.5313f, -73.8281f, -139.8438f, 98.8281f, 56.6406f, -15.2344f, 10.5469f, 13.2813f, -7.8125f, -20.3125f, 5.0781f, 0.3906f, 0.7813f, -99.2188f, -60.5469f, 8.9844f, -34.7656f, -11.7188f, 8.9844f, -8.9844f, -8.2031f, -17.5781f, -33.5938f, -35.9375f, -42.5781f, -18.7500f, 20.3125f, 1.1719f, 1.1719f, -96.8750f, -91.0156f, 54.2969f, 83.2031f, 90.6250f, 141.0156f, 136.3281f, 156.6406f, 145.7031f, 117.5781f, 89.8438f, 80.8594f, 79.6875f, 39.4531f, 12.5000f, 5.4688f, 191.7969f, 213.2813f, 159.7656f, 57.4219f, 13.2813f, -7.0313f, 20.3125f, 23.0469f, 18.7500f, 10.5469f, 5.4688f, 2.7344f, -0.3906f, -14.4531f, -6.2500f, -3.5156f, 14.0625f, 16.0156f, 0.0000f, -8.2031f, -11.3281f, -25.0000f, -80.8594f, -135.1563f, -201.5625f, -138.6719f, -25.0000f, 28.5156f, 60.9375f, 36.7188f, 11.7188f, 4.2969f, -10.9375f, -67.5781f, -108.5938f, 197.6563f, 166.7969f, 64.0625f, 43.3594f, 8.2031f, -12.8906f, -23.8281f, -30.4688f, -35.1563f, -12.5000f, 15.2344f, 1.5625f, 1.5625f, -17.1875f, -23.4375f, -83.9844f, -145.7031f, -189.4531f, -105.4688f, 4.6875f, 58.9844f, 105.8594f, 103.5156f, 83.9844f, 69.5313f, 59.7656f, 27.7344f, 12.5000f, 6.6406f, 42.9688f, 60.5469f, -11.3281f, -101.1719f, -85.1563f, -71.4844f, -68.3594f, -51.5625f, -33.2031f, -38.2813f, -33.9844f, -36.3281f, -30.0781f, 0.0000f, -3.5156f, -1.5625f, -45.3125f, -5.4688f, 91.7969f, 0.3906f, -92.9688f, -155.4688f, -163.6719f, -21.4844f, 42.5781f, 30.0781f, 24.2188f, 28.9063f, 28.5156f, 18.3594f, 6.2500f, 3.1250f, -7.8125f, -42.1875f, -85.5469f, 96.0938f, 7.8125f, -71.8750f, -128.1250f, -175.3906f, -26.1719f, 55.4688f, 48.8281f, 42.9688f, 35.5469f, 28.9063f, 10.9375f, 5.0781f }; /* An 16-by-32 matrix */ const float GETRWB_SN1[512] = { -90.6250f, -74.6094f, 110.1563f, 96.8750f, 134.3750f, 152.3438f, 167.1875f, 191.4063f, 210.1563f, 231.2500f, 242.1875f, 237.1094f, 208.2031f, 145.3125f, 101.9531f, 53.1250f, -23.0469f, -88.6719f, -163.2813f, -112.5000f, -96.4844f, -175.0000f, -195.7031f, -251.5625f, -296.8750f, -360.1563f, -434.3750f, -470.3125f, -204.2969f, -50.7813f, 4.6875f, 51.1719f, 54.2969f, 327.3438f, 547.6563f, 518.3594f, 572.2656f, 543.3594f, 535.5469f, 524.2188f, 476.5625f, 448.0469f, 406.6406f, 355.4688f, 286.3281f, 202.3438f, 130.8594f, 70.7031f, 82.4219f, 57.8125f, -36.7188f, -107.4219f, -189.0625f, -228.9063f, -211.3281f, -247.6563f, -227.7344f, -199.6094f, -165.6250f, -125.7813f, -111.3281f, -116.7969f, -75.7813f, -33.9844f, 160.1563f, 141.4063f, 131.6406f, 28.5156f, -14.0625f, -44.1406f, -70.3125f, -107.0313f, -145.7031f, -192.5781f, -195.7031f, -184.7656f, -153.5156f, -141.0156f, -105.8594f, -98.0469f, -33.2031f, -142.9688f, -319.9219f, -207.8125f, 294.1406f, 268.7500f, 161.7188f, 79.2969f, 9.3750f, -16.7969f, 50.3906f, 23.4375f, -39.0625f, -48.0469f, -37.8906f, -44.5313f, 1.5625f, 14.4531f, 189.0625f, 200.7813f, 132.8125f, 87.8906f, 34.7656f, 23.0469f, 15.6250f, 1.1719f, -1.9531f, -0.3906f, -4.2969f, -19.1406f, -16.7969f, -18.7500f, -87.1094f, -183.9844f, -258.2031f, -221.4844f, -193.7500f, -202.7344f, -181.2500f, -211.7188f, -189.0625f, -133.9844f, -107.8125f, -72.2656f, -16.7969f, 6.6406f, 32.8125f, 51.9531f, -41.4063f, -121.8750f, -260.9375f, -289.4531f, 150.3906f, 128.5156f, 47.2656f, -61.3281f, -165.2344f, -277.3438f, -373.8281f, -500.0000f, -446.4844f, -128.9063f, -7.8125f, 51.1719f, 97.6563f, 61.3281f, 27.7344f, -121.0938f, -215.6250f, -289.0625f, -291.0156f, -303.9063f, -323.0469f, -415.6250f, -521.8750f, -636.3281f, -307.8125f, -76.1719f, -17.1875f, 51.1719f, 54.6875f, 247.2656f, 378.9063f, 337.5000f, 338.6719f, 297.2656f, 266.7969f, 253.1250f, 223.4375f, 212.5000f, 201.5625f, 183.2031f, 149.6094f, 92.9688f, 55.8594f, 21.4844f, 45.3125f, 55.8594f, 89.4531f, 52.3438f, -9.7656f, -46.8750f, -90.6250f, -130.0781f, -208.9844f, -250.7813f, -384.7656f, -491.7969f, -731.6406f, -674.6094f, -128.9063f, -3.9063f, -25.0000f, -32.0313f, -24.2188f, -90.6250f, -120.3125f, -135.1563f, -115.6250f, -106.2500f, -59.7656f, -10.1563f, 42.1875f, 80.0781f, 90.6250f, 61.7188f, 50.3906f, 20.7031f, 32.0313f, -35.9375f, -120.7031f, -308.9844f, -440.6250f, -101.1719f, -94.9219f, -158.2031f, -143.3594f, -248.8281f, -352.7344f, -423.4375f, -263.6719f, -77.7344f, 6.6406f, 57.0313f, -96.4844f, -222.2656f, -346.0938f, -296.0938f, -130.4688f, -80.4688f, -61.7188f, -58.5938f, -25.0000f, 22.2656f, 74.2188f, 98.4375f, 101.9531f, 82.0313f, 63.6719f, 50.3906f, -8.9844f, -124.6094f, -178.9063f, 308.9844f, 280.4688f, 156.2500f, 91.0156f, -31.6406f, -67.9688f, -156.2500f, -296.0938f, -409.3750f, -522.6563f, -405.4688f, -112.5000f, -2.3438f, 19.5313f, 180.4688f, 118.3594f, -18.3594f, -47.6563f, -52.3438f, 5.8594f, 53.5156f, 69.9219f, 86.7188f, 103.9063f, 97.2656f, 85.5469f, 48.0469f, 31.2500f, 11.7188f, -45.3125f, -129.6875f, -253.9063f, -431.2500f, -533.9844f, -269.9219f, -146.8750f, -115.2344f, -69.5313f, -77.7344f, -66.4063f, -9.3750f, 48.8281f, 37.1094f, 48.8281f, 65.6250f, -25.7813f, -122.6563f, -205.4688f, 126.9531f, 60.9375f, -21.8750f, -44.5313f, -112.1094f, -49.2188f, -72.2656f, -114.0625f, -116.4063f, -73.8281f, -31.6406f, 0.3906f, 8.9844f, 57.4219f, -11.7188f, -113.6719f, -301.1719f, -366.7969f, 102.3438f, 71.0938f, 49.2188f, 49.6094f, -39.0625f, -63.6719f, -52.3438f, -35.5469f, -37.1094f, -20.3125f, -7.4219f, -87.8906f, -193.7500f, -175.3906f, -23.8281f, 17.9688f, 52.7344f, 71.0938f, 96.4844f, 126.5625f, 157.8125f, 178.5156f, 181.2500f, 164.0625f, 119.1406f, 81.6406f, 41.4063f, 163.2813f, 121.8750f, 162.1094f, 28.9063f, -60.9375f, -134.7656f, -156.2500f, -247.6563f, -300.3906f, -412.8906f, -532.0313f, -719.1406f, -721.8750f, -183.9844f, -57.4219f, 33.9844f, 14.8438f, 7.4219f, -90.6250f, -215.6250f, -272.6563f, -367.5781f, -188.6719f, 46.4844f, 21.0938f, -13.2813f, 27.3438f, -26.5625f, -56.2500f, -75.0000f, -98.8281f, -92.1875f, 31.2500f, -11.7188f, -83.5938f, -61.3281f, -114.0625f, -121.8750f, -110.5469f, -135.5469f, -150.0000f, -145.3125f, -190.2344f, -196.4844f, -291.4063f, -371.0938f, -535.9375f, -251.5625f, 17.1875f, 21.4844f, 48.4375f, 70.7031f, 48.8281f, 42.5781f, 23.8281f, 11.3281f, -28.5156f, -21.0938f, -80.4688f, -108.5938f, -249.2188f, -362.8906f, -610.5469f, -680.4688f, 313.2813f, 321.4844f, 283.5938f, 137.8906f, 106.2500f, 47.6563f, 45.7031f, 36.7188f, 31.2500f, 15.6250f, 26.5625f, 18.3594f, 16.4063f, -7.4219f, -10.1563f, -26.9531f, 19.5313f, -37.8906f, -119.5313f, -260.1563f, -358.5938f, -433.2031f, -439.0625f, -303.1250f, -277.3438f, -284.3750f, -263.6719f, -189.8438f, -58.5938f, -1.1719f, 36.3281f, 62.5000f, 31.6406f, -56.2500f, -51.1719f, 124.6094f, 88.6719f, -37.5000f, -92.1875f, -201.9531f, -277.7344f, -370.7031f, -480.8594f, -642.1875f, -634.7656f, -173.4375f, -45.7031f, 33.5938f, -89.8438f, -92.5781f, 228.9063f, 312.1094f, 363.6719f, 399.6094f, 420.7031f, 460.5469f, 442.5781f, 430.0781f, 401.1719f, 355.0781f, 285.5469f, 201.1719f, 128.9063f, 66.7969f, 175.0000f, 246.8750f, 408.9844f, 305.4688f, 246.4844f, 152.3438f, 60.5469f, -32.0313f, -133.5938f, -267.5781f, -430.8594f, -593.7500f, -694.9219f, -363.6719f, -83.5938f, 13.2813f, -30.0781f, -137.5000f, -137.8906f, 307.4219f, 366.4063f, 264.4531f, 200.3906f, 137.5000f, 110.9375f, 108.5938f, 96.4844f, 70.7031f, 55.0781f, 28.5156f, 3.1250f, -15.2344f, 21.0938f, 16.4063f, -26.1719f, -116.4063f, -181.6406f, -231.6406f, -208.2031f, -213.6719f, -244.5313f, -289.4531f, -381.6406f, -514.4531f, -650.3906f, -239.4531f, -46.4844f, 31.2500f }; /* An 16-by-16 matrix */ const float GETRWB_SN2[256] = { -78.9063f, -96.0938f, -139.0625f, -139.0625f, -90.6250f, -64.0625f, -30.8594f, 1.5625f, 30.4688f, 50.7813f, 59.3750f, 64.4531f, 66.4063f, 55.0781f, 35.1563f, 27.3438f, 14.8438f, 30.4688f, -28.1250f, -72.2656f, -174.2188f, -215.6250f, 105.0781f, 115.2344f, 40.6250f, 30.0781f, -21.0938f, -71.8750f, -65.6250f, -28.1250f, -12.5000f, -0.7813f, 26.9531f, 36.3281f, 15.2344f, 45.3125f, 39.0625f, 17.9688f, 19.5313f, -0.3906f, -0.7813f, 24.2188f, 3.1250f, -41.0156f, -157.8125f, -256.2500f, -192.9688f, -87.5000f, -111.3281f, -119.1406f, 102.7344f, 37.8906f, 11.3281f, 12.8906f, -9.3750f, 21.0938f, 13.6719f, 9.7656f, -1.5625f, -2.3438f, -11.7188f, 5.0781f, 7.8125f, 8.2031f, -10.9375f, -27.3438f, -62.5000f, 13.2813f, 1.9531f, -56.6406f, -103.1250f, -166.0156f, -210.5469f, -128.5156f, -7.4219f, 89.0625f, 160.5469f, 109.3750f, 55.0781f, 19.9219f, 95.3125f, 95.7031f, 7.4219f, -124.6094f, -180.0781f, -71.8750f, -3.9063f, 18.3594f, 85.9375f, 114.4531f, 120.7031f, 128.9063f, 109.7656f, 54.6875f, 27.7344f, 4.6875f, -50.0000f, -98.0469f, -146.0938f, 165.6250f, 108.9844f, 26.5625f, 13.6719f, -26.5625f, 5.0781f, 17.5781f, -2.3438f, -16.0156f, -28.5156f, -6.6406f, 3.1250f, 10.5469f, -21.4844f, -2.7344f, 171.0938f, 195.3125f, 192.5781f, 172.6563f, 111.7188f, 82.4219f, 26.5625f, -15.2344f, -45.7031f, -65.2344f, -70.3125f, -51.1719f, -29.2969f, -24.6094f, 11.7188f, 12.1094f, 26.9531f, 44.5313f, -67.1875f, -158.9844f, -232.8125f, -152.7344f, 39.8438f, 66.0156f, 61.7188f, 51.1719f, 17.9688f, 1.5625f, -2.3438f, -1.1719f, 26.9531f, 29.6875f, 12.8906f, 92.9688f, 64.0625f, 46.4844f, 62.5000f, 64.4531f, 106.6406f, 133.5938f, 149.6094f, 163.6719f, 178.1250f, 147.6563f, 102.3438f, 37.5000f, -21.4844f, 16.7969f, -23.0469f, -106.6406f, -78.1250f, -111.7188f, -112.1094f, -86.3281f, -96.4844f, -95.7031f, -75.7813f, -62.5000f, -50.3906f, -14.0625f, -12.1094f, 1.1719f, -13.6719f, -17.9688f, -106.2500f, -139.4531f, 189.0625f, 96.0938f, -4.2969f, 8.2031f, -48.0469f, -76.9531f, -39.8438f, -36.7188f, -37.5000f, -8.5938f, 2.3438f, 2.3438f, -45.7031f, -73.4375f, -98.4375f, -88.6719f, 0.0000f, 179.6875f, 197.6563f, 205.4688f, 195.7031f, 151.9531f, 97.6563f, 51.1719f, -10.9375f, -12.5000f, 9.3750f, 6.6406f, 155.8594f, 199.6094f, 152.3438f, 57.0313f, 31.2500f, -32.8125f, -31.6406f, -22.2656f, -48.0469f, -53.9063f, -37.1094f, -32.0313f, -19.9219f, -12.8906f, -5.4688f, -17.5781f, -3.5156f, 4.6875f, 117.1875f, 118.7500f, 71.0938f, 10.5469f, -76.9531f, -100.7813f, -134.3750f, -153.5156f, -150.0000f, -124.2188f, -54.6875f, -1.9531f, -2.3438f, 2.3438f, 25.0000f, 9.7656f, -2.7344f, -100.0000f, -119.5313f, 148.8281f, 94.9219f, 37.5000f, -6.6406f, -74.2188f, -111.3281f, -96.0938f, -25.3906f, 18.7500f, 14.4531f, 11.3281f }; /* An 16-by-16 matrix */ const float TRWB2_SN1[256] = { -28.9063f, -150.0000f, -298.4375f, -376.5625f, -438.2813f, -356.2500f, -319.9219f, -289.0625f, -284.3750f, -223.4375f, -148.0469f, -123.8281f, -97.6563f, -19.9219f, -26.1719f, 33.2031f, -121.4844f, -241.4063f, -171.4844f, -42.1875f, 60.9375f, 100.3906f, 157.8125f, 212.1094f, 251.1719f, 284.7656f, 285.9375f, 223.4375f, 174.2188f, 128.5156f, 92.1875f, 64.0625f, 204.2969f, 605.0781f, 608.2031f, 576.5625f, 536.7188f, 465.6250f, 417.1875f, 360.5469f, 351.9531f, 307.8125f, 280.0781f, 156.6406f, 102.3438f, 2.3438f, -39.0625f, -143.7500f, -5.0781f, -31.2500f, -73.8281f, -150.7813f, -189.8438f, -139.4531f, -84.3750f, -24.6094f, 25.3906f, 73.8281f, 96.8750f, 75.7813f, 85.1563f, 85.5469f, 80.0781f, 66.0156f, -40.6250f, -202.7344f, -301.5625f, 192.1875f, 87.5000f, 7.0313f, -79.2969f, -95.3125f, -49.2188f, -85.9375f, -141.4063f, -162.8906f, -105.8594f, -27.7344f, -13.2813f, -19.5313f, -78.9063f, 48.4375f, 316.7969f, 380.8594f, 517.9688f, 573.4375f, 630.0781f, 596.4844f, 575.7813f, 533.5938f, 476.5625f, 353.9063f, 273.4375f, 198.8281f, 137.1094f, 80.8594f, -22.2656f, -76.5625f, -92.9688f, -109.7656f, -104.2969f, -93.3594f, -74.2188f, -53.5156f, -10.5469f, 1.5625f, 30.0781f, -69.5313f, -100.0000f, -216.0156f, -261.3281f, -431.6406f, -71.4844f, -82.4219f, 314.0625f, 308.2031f, 267.5781f, 206.6406f, 187.1094f, 157.4219f, 144.9219f, 122.2656f, 108.9844f, 19.1406f, -7.4219f, -60.9375f, -69.9219f, -130.8594f, 296.0938f, 331.2500f, 237.5000f, 122.2656f, 105.8594f, 68.7500f, 69.1406f, 28.5156f, 41.4063f, 23.8281f, 23.0469f, -62.1094f, -79.2969f, -112.1094f, -104.6875f, -133.9844f, 77.7344f, 27.3438f, 37.1094f, -11.3281f, -95.7031f, -160.5469f, -291.0156f, -394.1406f, -575.3906f, -750.3906f, -1028.5156f, -643.7500f, -209.7656f, -110.9375f, -33.9844f, 80.8594f, 32.0313f, -84.7656f, -179.6875f, -252.3438f, -280.4688f, -320.7031f, -383.9844f, -500.7813f, -617.1875f, -823.4375f, -727.7344f, -237.8906f, -158.9844f, -47.6563f, -19.5313f, 94.9219f, -51.5625f, 142.1875f, 142.1875f, 132.8125f, 191.0156f, 193.7500f, 232.8125f, 236.7188f, 275.0000f, 295.3125f, 303.5156f, 240.6250f, 203.5156f, 159.7656f, 119.1406f, 82.4219f, 48.0469f, -73.8281f, -35.5469f, -119.5313f, -124.6094f, -158.9844f, -234.3750f, -265.2344f, -355.8594f, -333.9844f, -221.0938f, -97.2656f, -25.3906f, -0.3906f, -25.3906f, -9.7656f, 30.8594f, -22.6563f, -40.2344f, -58.5938f, -104.6875f, -103.5156f, -166.4063f, -187.1094f, -239.8438f, -262.1094f, -392.5781f, -538.2813f, -791.7969f, -604.2969f, -221.8750f, -20.3125f, -107.4219f, -261.3281f, -417.9688f, -428.5156f, -268.7500f, -169.1406f, -132.8125f, -57.8125f, -10.5469f, 75.7813f, 120.7031f, 108.2031f, 89.4531f, 73.4375f, 32.0313f, 49.6094f, 155.0781f, 524.6094f, 578.9063f, 675.3906f, 772.6563f, 785.9375f, 769.1406f, 723.4375f, 675.3906f, 614.8438f, 549.6094f, 424.6094f, 331.2500f, 248.4375f, 168.3594f, 108.5938f }; /* An 16-by-16 matrix */ const float TRWB2_SN2[256] = { 19.5313f, -25.7813f, -189.8438f, -332.0313f, 196.8750f, 134.7656f, 101.9531f, 3.9063f, -80.8594f, -85.1563f, -67.9688f, -7.0313f, 28.1250f, 26.9531f, 1.1719f, 9.3750f, -66.7969f, -171.4844f, -246.8750f, 152.3438f, 55.8594f, -34.7656f, -114.0625f, -122.6563f, -88.6719f, -61.3281f, 12.8906f, 70.7031f, 72.2656f, 79.6875f, 50.0000f, 65.2344f, 178.9063f, 179.2969f, 30.4688f, -97.6563f, -142.5781f, -148.8281f, -137.8906f, -149.2188f, -127.7344f, -110.9375f, -74.6094f, -7.0313f, 1.1719f, 14.4531f, 11.3281f, 37.1094f, -66.0156f, -88.6719f, -165.2344f, -175.0000f, -189.4531f, -166.4063f, -142.1875f, -110.9375f, -92.9688f, -71.8750f, -89.0625f, -74.2188f, -56.6406f, 6.6406f, 25.3906f, 56.6406f, -1.5625f, -46.8750f, -66.4063f, -130.0781f, -264.4531f, -305.4688f, -280.8594f, -152.7344f, -43.7500f, 90.6250f, 181.2500f, 153.1250f, 107.4219f, 83.9844f, 47.2656f, 54.2969f, -36.7188f, -50.7813f, 176.9531f, 115.2344f, -17.5781f, -111.7188f, -173.4375f, -184.7656f, -202.7344f, -167.1875f, -104.6875f, -15.6250f, -4.6875f, 17.9688f, 15.2344f, 46.0938f, -73.8281f, -95.7031f, 314.4531f, 318.3594f, 202.3438f, 114.4531f, 63.2813f, 42.9688f, -26.1719f, -61.7188f, -87.1094f, -46.8750f, -14.0625f, 5.8594f, 10.1563f, 23.4375f, 8.9844f, 50.7813f, 41.7969f, 0.0000f, -12.1094f, -25.7813f, 12.8906f, 8.5938f, 39.4531f, -3.9063f, -12.5000f, -90.6250f, -109.7656f, -230.4688f, -262.5000f, -425.3906f, 19.9219f, 41.4063f, 61.3281f, 51.5625f, 15.6250f, 4.2969f, -28.5156f, -25.7813f, -64.4531f, -114.8438f, -219.1406f, -300.7813f, -289.8438f, -191.0156f, -78.9063f, 1.5625f, 9.7656f, 89.8438f, 111.7188f, 69.9219f, 29.2969f, 7.0313f, 5.8594f, 9.3750f, 42.5781f, 73.0469f, 121.0938f, 130.4688f, 128.1250f, 113.6719f, 92.5781f, 82.8125f, -92.9688f, -192.1875f, -214.8438f, 219.9219f, 298.4375f, 238.2813f, 211.7188f, 166.7969f, 145.7031f, 101.9531f, 64.8438f, 66.7969f, 47.6563f, 13.2813f, -8.2031f, -35.9375f, -140.2344f, -180.4688f, -3.9063f, 8.5938f, -16.4063f, -0.7813f, 30.4688f, 65.2344f, 60.1563f, 60.5469f, 28.9063f, 28.5156f, 25.7813f, 36.7188f, 34.7656f, 49.2188f, -1.9531f, -42.9688f, -146.0938f, -213.2813f, -150.7813f, -53.1250f, 37.1094f, 119.1406f, 170.7031f, 222.6563f, 240.2344f, 217.9688f, 180.8594f, 130.8594f, 81.6406f, 58.9844f, 8.9844f, 146.8750f, 114.0625f, 91.7969f, 189.4531f, 202.7344f, 256.6406f, 214.4531f, 186.7188f, 132.0313f, 72.6563f, 2.7344f, -10.9375f, -60.5469f, -37.1094f, -73.4375f, 64.8438f, 54.2969f, -108.2031f, -279.6875f, -321.0938f, 91.4063f, 124.6094f, 127.3438f, 91.4063f, 14.0625f, -60.5469f, -123.8281f, -96.4844f, -31.2500f, 19.1406f, 45.7031f, 168.3594f, 333.2031f, 291.0156f, 200.0000f, 126.9531f, 54.2969f, 32.4219f, -12.1094f, -9.7656f, -18.3594f, -6.6406f, -4.6875f, -9.3750f, -16.7969f, -1.9531f, 5.0781f }; /* An 16-by-32 matrix */ const float GEWB2_MA1[512] = { 257.4219f, 661.7188f, 638.2813f, 591.0156f, 509.7656f, 428.9063f, 364.4531f, 314.4531f, 286.3281f, 243.7500f, 205.0781f, 132.4219f, 93.3594f, 19.5313f, -13.6719f, -83.9844f, 2.3438f, 25.3906f, 48.8281f, 21.4844f, -33.2031f, -49.2188f, -106.2500f, -123.4375f, -198.0469f, -228.9063f, -394.5313f, -499.2188f, -758.2031f, -746.0938f, -166.4063f, 30.4688f, 109.7656f, 123.0469f, 92.1875f, -1.5625f, -39.8438f, -66.7969f, -90.6250f, -130.8594f, -141.4063f, -166.0156f, -190.6250f, -235.5469f, -261.3281f, -287.5000f, -253.1250f, -231.6406f, 11.3281f, -98.0469f, -227.3438f, -340.2344f, -378.5156f, -350.3906f, -387.1094f, -420.7031f, -498.0469f, -578.1250f, -389.8438f, -153.5156f, -96.4844f, -3.5156f, 10.9375f, 105.8594f, -23.4375f, -141.0156f, 156.6406f, 215.6250f, 92.1875f, 13.6719f, -76.5625f, -83.9844f, -193.7500f, -266.7969f, -355.8594f, -320.3125f, -225.0000f, -116.7969f, -93.7500f, -55.0781f, 162.5000f, 224.2188f, 258.5938f, 136.7188f, 51.9531f, -62.5000f, -168.3594f, -305.0781f, -468.7500f, -645.3125f, -794.9219f, -426.5625f, -175.3906f, -75.0000f, -4.2969f, 102.7344f, -80.4688f, -237.8906f, -363.6719f, 10.9375f, -89.4531f, -139.8438f, -212.1094f, -180.4688f, -147.2656f, -140.6250f, -131.2500f, -98.0469f, -41.0156f, 13.6719f, 10.1563f, 31.2500f, 144.1406f, 490.6250f, 539.0625f, 613.6719f, 674.2188f, 674.6094f, 642.1875f, 594.1406f, 527.3438f, 451.5625f, 384.3750f, 292.1875f, 226.5625f, 154.2969f, 99.2188f, 42.1875f, -57.4219f, -187.1094f, -128.9063f, -28.5156f, -106.2500f, -172.2656f, -267.5781f, -326.9531f, -444.9219f, -569.5313f, -535.1563f, -161.7188f, -81.2500f, -4.6875f, 5.4688f, 83.2031f, -19.5313f, 39.0625f, -32.0313f, -98.8281f, -2.7344f, 46.4844f, 114.8438f, 153.1250f, 192.9688f, 225.7813f, 230.0781f, 204.2969f, 180.4688f, 149.6094f, 117.1875f, 97.2656f, -36.7188f, -141.4063f, -224.6094f, -300.7813f, -385.5469f, -390.2344f, -360.1563f, -272.2656f, -227.3438f, -119.1406f, -52.7344f, -12.1094f, -3.1250f, 8.9844f, -12.8906f, 24.2188f, 11.3281f, -25.0000f, -1.5625f, -48.0469f, -134.3750f, -161.7188f, -265.2344f, -299.6094f, -450.0000f, -547.2656f, -822.2656f, -744.1406f, -227.3438f, -117.1875f, -25.0000f, 87.1094f, 167.1875f, 386.7188f, 398.0469f, 316.0156f, 266.0156f, 183.5938f, 142.9688f, 69.9219f, 49.2188f, -10.1563f, -55.0781f, -141.7969f, -165.2344f, -209.3750f, -170.7031f, -212.8906f, -51.9531f, -139.4531f, 142.1875f, 94.1406f, -15.2344f, -88.6719f, -130.4688f, -119.1406f, -166.4063f, -114.0625f, -39.8438f, 33.9844f, 62.1094f, 71.0938f, 62.5000f, 74.2188f, 218.7500f, 298.4375f, 207.4219f, 60.9375f, 8.5938f, -7.0313f, 8.9844f, -7.8125f, 7.4219f, 0.0000f, 5.0781f, -23.8281f, -13.6719f, -17.1875f, -4.6875f, -18.7500f, 12.8906f, -91.7969f, -247.6563f, -426.9531f, 53.1250f, -12.1094f, -26.5625f, -111.3281f, -206.6406f, -208.9844f, -180.4688f, -97.2656f, -37.1094f, -20.7031f, -45.3125f, -23.8281f, -73.4375f, -245.3125f, -349.2188f, 274.2188f, 273.4375f, 145.7031f, 76.5625f, 19.9219f, 37.1094f, -21.8750f, -74.6094f, -70.7031f, -67.5781f, -51.5625f, -45.3125f, -85.1563f, 14.4531f, -73.4375f, -258.2031f, -424.6094f, -516.4063f, -100.7813f, -72.6563f, -70.7031f, -92.9688f, -145.3125f, -163.2813f, -198.4375f, -169.1406f, -76.9531f, -28.5156f, 10.9375f, -90.2344f, -86.7188f, 355.8594f, 341.7969f, 261.3281f, 171.8750f, 141.7969f, 117.5781f, 100.3906f, 75.0000f, 57.4219f, 26.5625f, 30.0781f, 16.7969f, 22.2656f, 6.6406f, -1.5625f, -73.0469f, -139.0625f, -160.1563f, -222.2656f, -194.9219f, -228.1250f, -221.8750f, -257.8125f, -274.6094f, -376.9531f, -469.1406f, -601.5625f, -276.5625f, -98.4375f, 33.9844f, 85.9375f, 25.0000f, -26.1719f, -139.4531f, -223.4375f, -290.6250f, -356.6406f, -459.3750f, -562.1094f, -739.8438f, -840.6250f, -297.6563f, -163.6719f, -57.0313f, -3.9063f, 109.7656f, -98.8281f, -244.9219f, -419.9219f, -471.0938f, -281.6406f, -155.4688f, -131.6406f, -73.4375f, -46.0938f, 19.5313f, 48.8281f, 77.3438f, 78.1250f, 74.2188f, 37.5000f, 64.0625f, -135.9375f, -289.4531f, -333.5938f, -139.4531f, -63.6719f, -40.2344f, -10.1563f, 55.8594f, 90.2344f, 124.2188f, 130.8594f, 126.9531f, 107.0313f, 91.0156f, 65.2344f, 74.2188f, -55.8594f, -100.0000f, -74.6094f, -109.3750f, -97.6563f, -74.6094f, -32.0313f, 14.4531f, 49.2188f, 39.8438f, 26.1719f, -50.7813f, -78.9063f, -167.9688f, -193.3594f, -316.4063f, 90.6250f, 41.7969f, -8.5938f, -133.2031f, -194.1406f, -204.2969f, -237.1094f, -252.3438f, -291.4063f, -269.5313f, -186.7188f, -115.2344f, -62.5000f, -30.0781f, -20.7031f, -2.7344f, -12.8906f, -38.2813f, -100.7813f, -195.7031f, -230.0781f, -171.0938f, -123.4375f, -65.6250f, -22.6563f, 32.0313f, 68.3594f, 85.5469f, 97.2656f, 101.1719f, 92.5781f, 88.2813f, -153.5156f, -259.7656f, -7.4219f, 72.2656f, 97.2656f, 103.9063f, 147.6563f, 182.8125f, 194.9219f, 198.4375f, 181.2500f, 151.5625f, 121.0938f, 92.9688f, 72.6563f, 56.6406f, -93.7500f, -38.6719f, 159.3750f, 187.5000f, 270.7031f, 297.2656f, 369.5313f, 368.3594f, 371.4844f, 348.8281f, 305.4688f, 239.4531f, 188.2813f, 137.1094f, 101.5625f, 63.6719f, -8.9844f, 204.2969f, 345.7031f, 352.7344f, 457.8125f, 502.7344f, 578.9063f, 582.4219f, 576.5625f, 547.6563f, 484.3750f, 392.5781f, 307.4219f, 235.9375f, 169.1406f, 114.0625f, 102.3438f, 385.9375f, 353.1250f, 285.9375f, 286.7188f, 259.7656f, 279.2969f, 256.2500f, 262.8906f, 240.2344f, 211.3281f, 145.3125f, 110.9375f, 54.2969f, 26.5625f, -32.8125f, -46.4844f, 174.2188f, 436.7188f, 474.6094f, 535.9375f, 500.0000f, 471.8750f, 386.3281f, 344.1406f, 263.6719f, 217.5781f, 124.6094f, 88.6719f, 8.9844f, -15.2344f, -100.0000f, -39.8438f, 69.5313f, 148.0469f, 98.4375f, 142.5781f, 124.6094f, 177.7344f, 147.2656f, 161.3281f, 108.5938f, 87.8906f, -14.0625f, -26.1719f, -137.1094f, -146.4844f, -301.5625f }; /* An 16-by-16 matrix */ const float AUNB_SN1[256] = { -70.3125f, -30.8594f, -19.9219f, 15.2344f, 25.7813f, 38.6719f, 18.7500f, 42.1875f, 21.8750f, 49.6094f, 13.2813f, 17.9688f, -183.5938f, -330.0781f, -55.0781f, -35.1563f, -82.8125f, 32.0313f, 110.9375f, 164.8438f, 162.5000f, 162.5000f, 122.2656f, 112.8906f, 91.0156f, 82.0313f, 42.1875f, 21.4844f, -171.4844f, -516.7969f, -131.2500f, -48.0469f, -3.5156f, 158.2031f, 207.8125f, 257.4219f, 277.3438f, 311.7188f, 329.6875f, 379.2969f, 418.7500f, 461.3281f, 571.8750f, 747.2656f, 792.1875f, 481.2500f, 214.4531f, 103.5156f, 29.2969f, 19.1406f, 128.9063f, 192.5781f, 175.0000f, 128.5156f, 79.6875f, 26.1719f, -7.0313f, -52.3438f, -91.7969f, -156.2500f, -236.3281f, -11.7188f, -26.1719f, -14.0625f, -3.5156f, -2.7344f, -37.1094f, -86.7188f, -125.7813f, -164.4531f, -125.3906f, -91.0156f, -42.9688f, -33.5938f, 26.1719f, -7.4219f, 1.1719f, 134.7656f, 16.0156f, 11.7188f, 59.7656f, 13.2813f, -67.1875f, -150.7813f, -195.3125f, -214.0625f, -196.4844f, -164.0625f, -123.8281f, -80.8594f, -44.5313f, 71.4844f, 428.1250f, 258.2031f, 77.3438f, 36.7188f, 240.6250f, 195.7031f, 183.9844f, 85.9375f, 61.3281f, 21.4844f, 1.5625f, -62.8906f, -69.5313f, -122.6563f, -104.2969f, -151.9531f, 84.3750f, 167.5781f, 17.9688f, 14.8438f, -218.3594f, -333.5938f, -308.2031f, -144.1406f, -59.7656f, 25.0000f, 57.0313f, 115.6250f, 151.5625f, 203.1250f, 224.2188f, 374.2188f, 578.5156f, 350.7813f, 132.8125f, 64.0625f, 51.1719f, 53.5156f, 45.3125f, 22.2656f, 25.0000f, -8.2031f, -14.8438f, -43.7500f, -48.0469f, -77.7344f, -83.5938f, -148.0469f, -250.3906f, 32.4219f, -20.7031f, -8.2031f, -39.4531f, -126.5625f, -253.1250f, -312.8906f, -326.1719f, -287.8906f, -195.7031f, -115.6250f, -33.5938f, 56.2500f, 156.2500f, 400.3906f, 586.3281f, 336.3281f, 125.7813f, 58.9844f, -90.2344f, -155.0781f, -200.0000f, -197.6563f, -120.3125f, -78.1250f, -49.6094f, -35.5469f, -7.0313f, 6.6406f, 36.7188f, 44.5313f, 311.7188f, 244.1406f, 62.8906f, 34.3750f, -202.3438f, -241.0156f, -78.5156f, 40.2344f, 100.7813f, 108.9844f, 106.6406f, 104.2969f, 109.7656f, 98.0469f, 83.5938f, 44.5313f, 22.6563f, 105.4688f, 27.3438f, 12.1094f, 6.6406f, -33.5938f, -30.4688f, -32.0313f, -8.5938f, -28.5156f, -66.7969f, -116.7969f, -130.4688f, -168.3594f, -164.8438f, -205.4688f, 201.9531f, 199.6094f, 27.7344f, 20.7031f, 107.8125f, 71.0938f, -15.6250f, -131.2500f, -180.0781f, -36.3281f, 133.5938f, 104.2969f, 64.8438f, 7.0313f, -16.7969f, -76.5625f, -57.0313f, 92.1875f, 7.0313f, 5.4688f, 88.6719f, 132.0313f, 87.5000f, 73.4375f, 41.7969f, 31.2500f, 22.2656f, 35.9375f, 13.2813f, 31.2500f, -1.9531f, -1.5625f, -201.1719f, -362.1094f, -67.9688f, -39.0625f, 285.5469f, 290.6250f, 311.3281f, 263.6719f, 230.4688f, 171.0938f, 128.1250f, 83.9844f, 56.2500f, 9.3750f, -37.5000f, -93.3594f, -189.8438f, -68.3594f, -25.3906f, -16.0156f }; /* An 16-by-16 matrix */ const float AUWB_SN1[256] = { 128.1250f, 53.5156f, 139.8438f, 128.9063f, 71.8750f, 56.6406f, -23.4375f, -114.8438f, -216.7969f, -306.2500f, -369.1406f, -340.6250f, -234.7656f, -131.6406f, -60.5469f, -12.8906f, 12.5000f, -82.8125f, -190.6250f, -254.2969f, -293.7500f, -342.5781f, -348.4375f, -346.0938f, -333.2031f, -310.5469f, -275.3906f, -214.4531f, -128.9063f, -87.5000f, -49.6094f, -3.5156f, 145.3125f, 127.7344f, 76.9531f, 12.8906f, 5.0781f, -21.4844f, -33.9844f, -48.4375f, -48.8281f, -57.8125f, -56.2500f, -65.6250f, -68.3594f, -71.8750f, -49.6094f, -48.8281f, 293.7500f, 283.9844f, 243.3594f, 202.7344f, 175.3906f, 136.7188f, 120.7031f, 112.8906f, 106.2500f, 98.4375f, 72.2656f, 48.4375f, 46.0938f, 13.6719f, 8.5938f, -7.8125f, 5.4688f, 56.2500f, 115.6250f, 168.7500f, 162.5000f, 126.9531f, 69.1406f, 64.8438f, 58.9844f, 48.0469f, 42.5781f, 40.6250f, 18.3594f, -8.5938f, -17.5781f, -19.1406f, 121.0938f, 43.7500f, -55.0781f, -206.6406f, -255.4688f, -20.7031f, 63.2813f, -12.8906f, -116.0156f, -215.2344f, -301.5625f, -319.1406f, -210.9375f, -112.1094f, -37.1094f, -2.7344f, -61.7188f, 94.1406f, 173.0469f, 212.1094f, 218.3594f, 226.1719f, 221.0938f, 236.7188f, 238.2813f, 242.9688f, 235.1563f, 225.7813f, 189.4531f, 129.2969f, 76.9531f, 40.6250f, -183.9844f, -207.0313f, 14.4531f, 106.2500f, 155.0781f, 172.6563f, 182.0313f, 204.2969f, 219.1406f, 231.2500f, 237.5000f, 225.0000f, 189.4531f, 135.9375f, 86.7188f, 51.9531f, 63.2813f, 0.0000f, -33.9844f, -33.2031f, -58.9844f, -129.2969f, -160.1563f, -235.5469f, -299.6094f, -402.3438f, -526.5625f, -707.8125f, -677.7344f, -264.8438f, -110.9375f, -2.3438f, -60.9375f, 14.0625f, 5.8594f, 10.1563f, 16.0156f, 46.0938f, 78.5156f, 103.5156f, 132.4219f, 149.2188f, 164.0625f, 169.9219f, 147.2656f, 103.1250f, 62.1094f, 32.8125f, -26.9531f, -107.0313f, -160.5469f, -61.7188f, 23.4375f, -21.8750f, -74.2188f, -119.1406f, -144.9219f, -151.9531f, -160.5469f, -158.9844f, -132.0313f, -107.8125f, -67.5781f, -38.6719f, 0.0000f, -10.1563f, -76.5625f, -148.0469f, -144.1406f, -127.7344f, -75.3906f, -57.8125f, -30.0781f, -3.9063f, 24.6094f, 38.2813f, 38.2813f, 19.1406f, 15.6250f, -1.9531f, -58.2031f, -168.7500f, -284.7656f, -360.5469f, -362.1094f, -299.2188f, -221.8750f, -177.7344f, -130.0781f, -85.5469f, -47.6563f, -11.3281f, 4.2969f, 3.5156f, 7.8125f, 21.0938f, 69.1406f, 25.0000f, -23.4375f, -90.6250f, -160.5469f, -215.6250f, -217.5781f, -214.8438f, -198.8281f, -181.2500f, -148.4375f, -129.2969f, -116.0156f, -112.5000f, -83.9844f, -66.4063f, -6.2500f, 171.4844f, 379.2969f, 431.2500f, 472.2656f, 516.7969f, 523.0469f, 536.7188f, 514.4531f, 477.7344f, 432.4219f, 383.9844f, 305.0781f, 208.9844f, 123.0469f, 58.9844f, -168.7500f, -283.9844f, -267.9688f, -132.8125f, -60.9375f, -15.6250f, 7.0313f, 39.8438f, 66.0156f, 100.3906f, 119.5313f, 130.8594f, 115.6250f, 83.2031f, 53.5156f, 37.8906f }; /* An 16-by-16 matrix */ const float AUWB2_SN1[256] = { -41.7969f, -174.2188f, -326.1719f, -406.6406f, -450.0000f, -453.5156f, -447.6563f, -378.5156f, -323.4375f, -208.2031f, -98.0469f, -94.5313f, -54.2969f, 67.1875f, 37.1094f, 182.0313f, 410.9375f, 393.7500f, 410.9375f, 341.7969f, 337.5000f, 292.1875f, 305.8594f, 269.5313f, 294.5313f, 279.2969f, 268.7500f, 133.5938f, 76.1719f, -12.5000f, -98.0469f, -198.8281f, -121.4844f, -66.4063f, 142.9688f, 246.8750f, 292.1875f, 337.1094f, 383.9844f, 407.0313f, 436.7188f, 464.0625f, 442.5781f, 349.6094f, 284.3750f, 242.5781f, 179.6875f, 163.2813f, 237.5000f, 205.0781f, 125.7813f, 11.7188f, -92.5781f, -188.6719f, -336.7188f, -460.1563f, -644.9219f, -853.1250f, -1082.0313f, -526.9531f, -167.9688f, -10.9375f, 50.0000f, 219.5313f, 115.6250f, 66.7969f, -75.0000f, -167.5781f, -190.6250f, -183.5938f, -192.1875f, -184.7656f, -175.0000f, -137.5000f, -94.5313f, -120.7031f, -131.6406f, -82.0313f, -103.5156f, -71.0938f, 324.6094f, 274.6094f, 178.1250f, 84.7656f, 64.4531f, 25.3906f, 6.6406f, -20.7031f, -26.1719f, -30.4688f, -14.8438f, -86.7188f, -132.8125f, -128.5156f, -136.3281f, -152.7344f, 63.2813f, -5.0781f, -61.7188f, -130.8594f, -205.4688f, -275.3906f, -385.1563f, -486.3281f, -640.6250f, -839.4531f, -1075.7813f, -525.0000f, -145.3125f, -4.6875f, 52.3438f, 220.3125f, -30.8594f, -151.9531f, -222.2656f, -273.0469f, -316.7969f, -367.1875f, -413.2813f, -507.4219f, -599.2188f, -811.3281f, -762.8906f, -198.0469f, -84.3750f, 55.8594f, 74.6094f, 237.1094f, -41.4063f, -45.3125f, -82.0313f, -87.8906f, -126.1719f, -128.9063f, -192.9688f, -191.7969f, -273.4375f, -295.7031f, -412.8906f, -556.2500f, -867.9688f, -589.4531f, -101.1719f, 135.9375f, -142.9688f, -292.1875f, -459.7656f, -475.0000f, -397.2656f, -272.6563f, -173.4375f, -60.1563f, 3.9063f, 111.3281f, 141.0156f, 110.9375f, 99.6094f, 140.2344f, 73.0469f, 142.5781f, 30.0781f, 174.6094f, 163.2813f, 185.5469f, 176.9531f, 179.2969f, 185.5469f, 201.1719f, 219.5313f, 253.1250f, 257.0313f, 176.5625f, 143.3594f, 130.4688f, 95.3125f, 79.6875f, 3.9063f, 76.9531f, 66.4063f, 64.8438f, 56.2500f, 23.4375f, 20.3125f, -0.7813f, -7.8125f, -15.6250f, 7.0313f, -92.9688f, -108.9844f, -169.5313f, -176.1719f, -315.2344f, -179.6875f, -278.5156f, -213.6719f, -59.7656f, 25.0000f, 94.9219f, 150.7813f, 192.1875f, 242.1875f, 293.7500f, 296.4844f, 209.3750f, 173.8281f, 126.5625f, 58.9844f, -12.5000f, -96.0938f, -154.6875f, -161.3281f, -144.9219f, -138.2813f, -123.8281f, -119.9219f, -89.0625f, -76.1719f, -39.4531f, -14.0625f, -67.9688f, -76.9531f, -63.2813f, -101.9531f, -136.3281f, -128.5156f, -93.7500f, 127.3438f, 180.4688f, 167.1875f, 134.3750f, 158.2031f, 146.0938f, 171.4844f, 169.5313f, 182.4219f, 49.6094f, 33.2031f, -60.1563f, -96.8750f, -266.7969f, -4.6875f, 5.8594f, -86.7188f, -88.6719f, -12.1094f, 48.4375f, 78.1250f, 114.8438f, 139.4531f, 211.3281f, 237.1094f, 179.2969f, 146.8750f, 137.5000f, 110.1563f, 110.5469f }; /* An 16-by-16 matrix */ const float CNG_SN1[256] = { 234.3750f, 640.6250f, 1187.1094f, 1662.8906f, 2153.1250f, 2632.8125f, 3120.7031f, 3581.6406f, 4059.7656f, 4535.9375f, 5031.2500f, 5507.8125f, 6007.0313f, 6466.4063f, 6959.3750f, 7389.8438f, 464.0625f, 971.4844f, 1463.2813f, 1915.2344f, 2383.9844f, 2836.3281f, 3295.7031f, 3744.9219f, 4209.3750f, 4669.5313f, 5145.3125f, 5607.4219f, 6079.6875f, 6528.1250f, 6997.2656f, 7426.5625f, 135.1563f, 312.1094f, 882.4219f, 1388.6719f, 1904.6875f, 2412.1094f, 2935.9375f, 3438.6719f, 3934.7656f, 4423.0469f, 4933.9844f, 5444.5313f, 5969.5313f, 6466.0156f, 6959.7656f, 7437.1094f, 171.4844f, 631.2500f, 1346.0938f, 1852.7344f, 2372.2656f, 2846.8750f, 3341.0156f, 3799.2188f, 4276.1719f, 4728.9063f, 5200.0000f, 5653.9063f, 6113.2813f, 6551.9531f, 6989.8438f, 7412.8906f, 359.7656f, 703.1250f, 1162.5000f, 1565.2344f, 1994.1406f, 2397.2656f, 2803.9063f, 3183.5938f, 3537.8906f, 3872.6563f, 4300.3906f, 4900.3906f, 5340.2344f, 6055.4688f, 6807.8125f, 7393.3594f, 350.0000f, 741.7969f, 1185.5469f, 1612.5000f, 2070.7031f, 2511.3281f, 2970.3125f, 3405.8594f, 3861.7188f, 4319.9219f, 4850.3906f, 5320.7031f, 5844.5313f, 6302.7344f, 6826.1719f, 7210.9375f, 282.0313f, 588.6719f, 991.0156f, 1342.5781f, 1690.6250f, 2027.3438f, 2350.7813f, 2672.2656f, 2963.6719f, 3258.9844f, 3486.3281f, 3715.2344f, 3874.6094f, 4326.1719f, 5317.5781f, 5867.5781f, 123.0469f, 239.0625f, 652.7344f, 1136.7188f, 1558.5938f, 1985.5469f, 2390.6250f, 2800.7813f, 3198.4375f, 3583.2031f, 3964.0625f, 4369.5313f, 4785.1563f, 5180.4688f, 5582.0313f, 5970.3125f, 345.7031f, 753.1250f, 1175.7813f, 1551.9531f, 1934.3750f, 2304.6875f, 2675.0000f, 3034.7656f, 3398.8281f, 3753.5156f, 4133.2031f, 4507.8125f, 4885.9375f, 5253.9063f, 5629.6875f, 5995.7031f, 132.0313f, 398.4375f, 1037.8906f, 1459.3750f, 1890.2344f, 2262.1094f, 2658.5938f, 3031.2500f, 3413.2813f, 3773.0469f, 4151.1719f, 4518.3594f, 4896.0938f, 5260.9375f, 5631.2500f, 5989.8438f, 439.8438f, 767.1875f, 1171.4844f, 1505.8594f, 1860.9375f, 2190.6250f, 2532.0313f, 2846.0938f, 3167.5781f, 3448.0469f, 3738.2813f, 4159.7656f, 4687.1094f, 5126.9531f, 5555.8594f, 5957.8125f, 150.3906f, 318.3594f, 781.2500f, 1148.0469f, 1525.7813f, 1905.8594f, 2262.8906f, 2630.4688f, 2992.5781f, 3330.4688f, 3636.3281f, 3963.2813f, 4530.0781f, 5060.5469f, 5510.1563f, 5953.5156f, 247.2656f, 564.4531f, 937.5000f, 1286.3281f, 1654.2969f, 2019.9219f, 2399.6094f, 2767.1875f, 3147.2656f, 3507.8125f, 3876.5625f, 4267.1875f, 4682.4219f, 5077.3438f, 5475.0000f, 5882.0313f, 228.1250f, 487.5000f, 878.9063f, 1223.0469f, 1582.0313f, 1921.8750f, 2269.9219f, 2598.4375f, 2918.3594f, 3220.3125f, 3481.6406f, 3703.1250f, 3979.6875f, 4775.3906f, 5418.3594f, 5907.4219f, 451.9531f, 710.9375f, 1072.2656f, 1369.1406f, 1700.7813f, 1991.0156f, 2317.1875f, 2596.8750f, 2893.7500f, 3138.2813f, 3373.0469f, 3548.0469f, 3897.2656f, 4776.5625f, 5398.0469f, 5901.5625f, 223.4375f, 547.2656f, 982.0313f, 1367.5781f, 1758.9844f, 2134.7656f, 2526.9531f, 2904.2969f, 3287.5000f, 3643.7500f, 4025.7813f, 4417.5781f, 4815.6250f, 5196.4844f, 5588.2813f, 5961.3281f }; /* An 16-by-32 matrix */ const float IAA_MA1[512] = { -68.3594f, -191.4063f, -203.1250f, -246.4844f, -251.9531f, -239.8438f, -238.2813f, -214.0625f, -196.4844f, -168.7500f, -137.8906f, -117.5781f, -92.9688f, -55.0781f, -26.1719f, 10.1563f, 117.5781f, 158.9844f, 88.6719f, 37.5000f, -4.6875f, -7.0313f, -5.0781f, 0.7813f, 15.2344f, 41.7969f, 48.4375f, 35.9375f, 32.4219f, 39.0625f, 24.2188f, 28.1250f, -109.3750f, -287.8906f, -222.2656f, -64.0625f, -3.5156f, 39.0625f, 55.0781f, 82.4219f, 98.4375f, 109.7656f, 107.0313f, 84.7656f, 80.4688f, 85.5469f, 45.7031f, 41.4063f, -103.9063f, -294.1406f, -328.5156f, -229.2969f, -190.2344f, -134.7656f, -102.7344f, -65.2344f, -44.5313f, -11.7188f, 3.1250f, 12.5000f, 13.2813f, 23.8281f, 21.4844f, 40.6250f, -35.5469f, -53.5156f, -114.4531f, -136.3281f, -137.5000f, -127.3438f, -104.6875f, -96.4844f, -69.5313f, -50.3906f, -21.8750f, -37.5000f, -4.2969f, 85.5469f, 19.1406f, 21.8750f, -7.0313f, 0.3906f, -12.8906f, -5.4688f, -7.4219f, -1.9531f, -8.5938f, -5.4688f, -16.7969f, -14.4531f, -40.6250f, -55.8594f, -146.4844f, -300.7813f, -74.2188f, -39.0625f, 28.1250f, -8.5938f, -47.2656f, -85.9375f, -125.0000f, -147.6563f, -195.3125f, -229.2969f, -284.7656f, -310.5469f, -412.5000f, -509.7656f, -660.5469f, -425.7813f, -176.5625f, -23.4375f, 7.4219f, -108.9844f, -176.9531f, -226.5625f, -229.6875f, -288.6719f, -335.1563f, -407.8125f, -500.3906f, -630.4688f, -359.7656f, -146.8750f, -106.6406f, -32.8125f, -0.7813f, 73.0469f, 333.2031f, 296.4844f, 230.8594f, 146.8750f, 101.5625f, 47.6563f, 15.2344f, -27.7344f, -51.9531f, -71.8750f, -81.6406f, -116.0156f, -116.7969f, -66.7969f, -48.4375f, -32.4219f, 103.9063f, 13.2813f, -71.0938f, -143.3594f, -201.5625f, -267.9688f, -344.1406f, -437.8906f, -552.3438f, -716.4063f, -824.2188f, -389.4531f, -202.7344f, -107.0313f, -42.5781f, 53.5156f, -0.7813f, -3.1250f, 16.4063f, 35.5469f, 67.1875f, 82.4219f, 116.4063f, 131.2500f, 169.1406f, 159.7656f, 213.2813f, 407.4219f, 585.5469f, 405.4688f, 160.1563f, 73.8281f, 33.5938f, 99.2188f, 101.1719f, 99.2188f, 96.0938f, 85.5469f, 71.8750f, 47.6563f, 30.8594f, 4.2969f, -21.4844f, -66.4063f, -141.7969f, -364.8438f, -144.9219f, -73.4375f, 65.6250f, 65.2344f, -47.6563f, -95.3125f, -126.9531f, -132.8125f, -140.2344f, -133.9844f, -129.2969f, -113.6719f, -108.5938f, -105.4688f, -106.2500f, -63.2813f, -39.4531f, -17.9688f, -95.3125f, -179.2969f, -143.3594f, -132.8125f, -115.2344f, -85.9375f, -67.5781f, -41.7969f, -8.5938f, 20.7031f, 40.2344f, 114.4531f, 423.4375f, 315.2344f, 101.5625f, 45.7031f, -124.6094f, -253.9063f, -267.5781f, -166.7969f, -113.2813f, -41.0156f, 9.7656f, 62.8906f, 118.3594f, 163.2813f, 229.2969f, 419.5313f, 610.5469f, 423.8281f, 156.2500f, 66.4063f, 57.0313f, 100.3906f, 110.1563f, 115.2344f, 118.3594f, 114.8438f, 116.0156f, 102.3438f, 92.5781f, 75.3906f, 35.9375f, 133.2031f, 476.5625f, 345.3125f, 123.0469f, 56.2500f, -113.6719f, -217.9688f, 57.4219f, 78.5156f, 110.1563f, 109.3750f, 121.0938f, 117.9688f, 122.2656f, 119.5313f, 114.0625f, 93.3594f, 77.3438f, 73.4375f, 41.4063f, 36.7188f, -4.2969f, -3.1250f, -60.9375f, -79.6875f, -90.2344f, -97.6563f, -103.5156f, -112.8906f, -105.0781f, -123.4375f, -125.7813f, -175.7813f, -190.6250f, -264.0625f, -303.9063f, -380.0781f, -45.7031f, -10.5469f, 1.5625f, 37.5000f, 67.9688f, 89.4531f, 105.8594f, 121.0938f, 134.3750f, 141.4063f, 134.3750f, 106.6406f, 81.6406f, 70.3125f, 42.5781f, 41.4063f, -101.5625f, -113.2813f, 58.9844f, 105.0781f, 158.5938f, 172.6563f, 215.2344f, 230.4688f, 265.2344f, 266.0156f, 351.5625f, 505.0781f, 637.1094f, 442.1875f, 186.3281f, 86.3281f, -14.4531f, 146.0938f, 153.9063f, 161.7188f, 163.6719f, 154.2969f, 134.7656f, 122.2656f, 110.1563f, 99.6094f, 82.4219f, 49.2188f, 32.8125f, 19.9219f, -3.9063f, -20.7031f, 157.8125f, 127.7344f, 67.9688f, 10.9375f, -48.4375f, -113.2813f, -191.4063f, -271.4844f, -394.9219f, -433.9844f, -206.6406f, -112.5000f, -71.4844f, -26.9531f, -2.7344f, 55.4688f, 219.9219f, 293.7500f, 228.5156f, 216.7969f, 200.0000f, 186.7188f, 165.6250f, 154.6875f, 146.8750f, 133.9844f, 117.1875f, 75.7813f, 75.3906f, 63.2813f, 30.4688f, 17.9688f, -23.0469f, -51.1719f, -13.6719f, 19.1406f, 21.0938f, -4.6875f, -35.9375f, -72.2656f, -94.9219f, -112.8906f, -112.5000f, -134.3750f, -127.3438f, 0.0000f, -14.8438f, 2.3438f, 193.7500f, 227.3438f, 220.3125f, 200.7813f, 203.5156f, 191.4063f, 189.8438f, 170.3125f, 168.7500f, 125.0000f, 178.1250f, 414.0625f, 594.9219f, 413.2813f, 163.6719f, 75.7813f, 67.9688f, 30.0781f, 7.0313f, -34.7656f, -43.7500f, -76.5625f, -64.4531f, -96.4844f, -86.7188f, -127.3438f, -129.6875f, -192.9688f, 194.9219f, 241.0156f, 47.2656f, 23.4375f, 123.0469f, 116.7969f, 89.4531f, 53.5156f, 30.4688f, -1.1719f, -15.6250f, -53.9063f, -77.3438f, -119.9219f, -146.4844f, -196.0938f, -201.1719f, -9.7656f, -34.3750f, -19.1406f, -90.6250f, -11.3281f, 137.8906f, 155.8594f, 189.4531f, 190.2344f, 204.2969f, 205.4688f, 217.1875f, 218.3594f, 203.1250f, 162.1094f, 128.1250f, 110.5469f, 73.0469f, 64.8438f, 71.0938f, 150.3906f, 157.4219f, 176.9531f, 201.1719f, 223.4375f, 248.0469f, 269.9219f, 307.4219f, 332.8125f, 450.7813f, 579.2969f, 694.9219f, 480.8594f, 204.6875f, 96.0938f, -106.6406f, -192.1875f, -72.2656f, -37.8906f, -20.3125f, -19.9219f, -6.6406f, -10.5469f, 5.0781f, 7.8125f, 17.5781f, -7.8125f, 20.3125f, 95.3125f, 22.6563f, 21.8750f, 7.8125f, -1.1719f, -94.1406f, -104.2969f, -75.7813f, -33.5938f, 1.5625f, 29.2969f, 54.6875f, 74.6094f, 78.1250f, 60.1563f, 53.5156f, 57.0313f, 33.2031f, 30.0781f, 35.9375f, 245.3125f, 238.6719f, 276.5625f, 275.7813f, 279.6875f, 262.5000f, 271.0938f, 255.8594f, 241.7969f, 214.8438f, 168.7500f, 138.2813f, 110.9375f, 79.6875f, 67.1875f }; /* An 16-by-8 matrix */ const float GESVNB_AR1[128] = { -9.7656f, -25.0000f, -54.6875f, -46.0938f, 105.4688f, 93.7500f, 49.6094f, 27.3438f, 7.8125f, -15.6250f, -21.8750f, -43.3594f, -32.0313f, 25.0000f, 0.7813f, 1.9531f, 31.6406f, 40.6250f, 27.7344f, 27.3438f, 0.0000f, -19.1406f, -21.0938f, -28.5156f, -23.0469f, -35.9375f, -39.8438f, -78.5156f, -157.8125f, -20.3125f, -15.6250f, -5.8594f, -43.7500f, -84.7656f, -98.0469f, -78.9063f, -13.2813f, 22.2656f, 22.6563f, 24.2188f, 30.8594f, 49.6094f, 69.1406f, 119.5313f, 204.6875f, 123.0469f, 43.7500f, 20.7031f, 6.6406f, -2.3438f, 13.2813f, 25.7813f, 5.4688f, -10.1563f, -67.9688f, -76.5625f, -55.4688f, -51.1719f, -39.8438f, -37.8906f, 70.3125f, 60.1563f, 11.3281f, 6.6406f, 1.9531f, -10.5469f, -41.7969f, -76.9531f, -133.9844f, -130.0781f, -71.0938f, -55.8594f, -35.5469f, -6.6406f, 16.7969f, 46.8750f, 149.6094f, 104.2969f, 32.4219f, 15.6250f, -0.3906f, -5.8594f, -13.6719f, -21.8750f, -66.0156f, -56.6406f, 33.5938f, 39.4531f, 30.0781f, 18.7500f, 11.3281f, 30.4688f, -3.5156f, 26.5625f, 5.8594f, 3.5156f, 1.1719f, 3.5156f, 125.0000f, 175.7813f, 150.3906f, 135.9375f, 83.9844f, 60.5469f, 41.0156f, 17.5781f, -5.0781f, -29.2969f, -106.2500f, -50.3906f, -20.3125f, -8.9844f, 1.5625f, 19.1406f, 21.0938f, 35.1563f, 35.9375f, 39.4531f, 23.0469f, 26.9531f, 7.8125f, 27.3438f, 8.9844f, 16.7969f, -109.3750f, -243.7500f, -44.5313f, -21.4844f }; /* An 16-by-8 matrix */ const float GESVNB_AR2[128] = { -8.5938f, -13.6719f, -12.1094f, -64.8438f, -64.0625f, 84.7656f, 82.8125f, 60.5469f, 64.8438f, 48.0469f, 26.1719f, 12.8906f, -8.2031f, -16.0156f, -1.1719f, -0.3906f, -5.4688f, -7.8125f, -6.2500f, -27.3438f, -30.0781f, -20.7031f, 8.9844f, -2.7344f, -38.2813f, -48.0469f, -38.6719f, -19.1406f, 139.4531f, 44.5313f, 14.0625f, 7.4219f, -22.2656f, -46.4844f, -118.3594f, -83.9844f, -12.8906f, -40.2344f, -37.8906f, -45.7031f, -41.0156f, -39.8438f, -26.1719f, -52.3438f, -68.7500f, 44.1406f, 6.2500f, 3.1250f, -4.6875f, 5.4688f, 11.7188f, -14.4531f, -43.7500f, -88.2813f, -80.4688f, -9.7656f, 48.8281f, 52.3438f, 38.6719f, 32.4219f, 21.4844f, -1.5625f, 3.5156f, 1.5625f, -7.4219f, 8.9844f, 66.7969f, 22.2656f, 5.0781f, -5.8594f, -10.1563f, -16.4063f, -25.3906f, -26.9531f, -30.0781f, -66.0156f, -137.1094f, -41.0156f, -19.1406f, -8.2031f, -5.4688f, -3.9063f, 3.1250f, 13.6719f, 62.8906f, 40.6250f, -28.9063f, -39.8438f, -52.7344f, -18.3594f, 17.5781f, 103.1250f, 20.3125f, -26.9531f, -0.3906f, -1.9531f, 83.2031f, 110.9375f, 89.8438f, 47.2656f, 19.5313f, 4.6875f, 16.7969f, 18.7500f, 10.5469f, -2.7344f, -9.3750f, -15.2344f, 29.2969f, 0.3906f, -3.5156f, -1.1719f, -29.2969f, -53.5156f, -34.7656f, 107.4219f, 64.0625f, 25.3906f, 48.8281f, 35.5469f, 33.5938f, 35.5469f, 21.8750f, 3.9063f, 3.5156f, -3.9063f, 0.0000f, 0.0000f }; /* An 16-by-8 matrix */ const float GESVWB_AR1[128] = { -1.1719f, -6.2500f, -12.1094f, 0.7813f, -31.6406f, -48.0469f, -88.2813f, -101.5625f, -76.5625f, -47.6563f, -7.8125f, 30.4688f, 69.5313f, 56.6406f, 32.8125f, 17.9688f, 21.4844f, 16.4063f, 5.8594f, 12.5000f, -18.7500f, -31.6406f, -42.5781f, -53.5156f, -73.0469f, -103.1250f, -128.9063f, -151.1719f, -141.7969f, -68.7500f, -14.8438f, 14.4531f, -12.5000f, -27.3438f, -56.2500f, -105.0781f, -131.6406f, -71.4844f, 23.0469f, 22.6563f, 17.1875f, 19.1406f, 16.4063f, 19.9219f, 28.1250f, 19.5313f, 10.1563f, 14.8438f, -7.0313f, -22.6563f, -30.8594f, 48.8281f, 137.5000f, 113.6719f, 70.3125f, 46.0938f, 28.1250f, 9.7656f, -8.9844f, -32.0313f, -72.2656f, -65.2344f, -12.8906f, 2.3438f, -3.9063f, 52.7344f, 212.5000f, 201.9531f, 201.9531f, 219.1406f, 201.1719f, 206.2500f, 195.3125f, 184.3750f, 161.3281f, 149.6094f, 124.2188f, 85.5469f, 46.0938f, 22.2656f, -21.0938f, -109.3750f, -239.8438f, -214.0625f, -203.5156f, -203.9063f, -175.0000f, -187.1094f, -178.5156f, -171.0938f, -147.2656f, -138.6719f, -124.2188f, -105.8594f, -86.7188f, -34.7656f, -24.2188f, -37.5000f, -33.5938f, -3.9063f, 40.6250f, 60.5469f, 46.8750f, 43.7500f, 74.2188f, 103.1250f, 113.6719f, 106.2500f, 90.6250f, 64.8438f, 37.1094f, 10.5469f, 12.8906f, 23.8281f, 60.5469f, 47.2656f, 3.5156f, -10.9375f, 2.3438f, 40.2344f, 25.0000f, 6.6406f, 1.5625f, -0.7813f, -12.1094f, -34.3750f, -81.6406f, -80.4688f }; /* An 16-by-8 matrix */ const float GESVWB_AR2[128] = { -57.4219f, -127.3438f, -164.4531f, -35.5469f, -8.5938f, -9.7656f, -5.4688f, -8.2031f, 12.5000f, 29.6875f, 40.6250f, 39.8438f, 25.3906f, 18.3594f, 19.5313f, 16.0156f, -15.2344f, -6.2500f, 23.8281f, -5.0781f, -14.8438f, -21.8750f, 18.3594f, 59.7656f, 76.1719f, 83.2031f, 82.8125f, 85.9375f, 95.7031f, 95.7031f, 81.6406f, 33.5938f, -13.2813f, -28.5156f, 32.0313f, 151.1719f, 77.7344f, 27.7344f, 21.8750f, -7.0313f, -12.8906f, -21.8750f, -34.3750f, -30.8594f, -1.9531f, 23.0469f, 21.4844f, 11.3281f, -2.7344f, -8.2031f, -8.2031f, -61.7188f, -48.0469f, 118.7500f, 88.2813f, 65.6250f, 48.4375f, 3.1250f, -29.2969f, -35.5469f, -21.0938f, -1.9531f, 14.4531f, 11.7188f, -10.1563f, -8.5938f, -26.1719f, -87.8906f, 41.7969f, 14.8438f, -32.0313f, -44.1406f, -83.2031f, -80.0781f, -24.2188f, 10.9375f, 34.7656f, 37.1094f, 20.3125f, 6.6406f, 88.6719f, 157.8125f, 126.9531f, 52.3438f, 17.5781f, -6.2500f, 1.1719f, -5.8594f, -21.4844f, -25.3906f, -21.4844f, -21.0938f, -7.0313f, -3.1250f, 0.3906f, -5.4688f, 7.4219f, 11.7188f, 4.6875f, 10.9375f, 18.7500f, 5.0781f, 0.7813f, -18.3594f, -14.8438f, 16.0156f, 11.3281f, -3.1250f, -60.1563f, -123.0469f, -160.5469f, -94.5313f, 3.1250f, 9.3750f, 11.3281f, -23.8281f, -83.9844f, -128.5156f, -92.5781f, -41.4063f, -4.6875f, -4.6875f, -25.0000f, -46.0938f, -65.2344f, -46.4844f, 3.1250f, 20.3125f }; /* An 16-by-32 matrix */ const float AUWB2_MA1[512] = { 152.7344f, 116.4063f, 69.9219f, -14.4531f, -87.8906f, -151.1719f, -244.9219f, -337.5000f, -475.0000f, -642.1875f, -823.4375f, -314.0625f, -108.2031f, -1.9531f, 47.2656f, 182.8125f, 137.1094f, 83.2031f, 55.0781f, -29.2969f, -50.7813f, -64.0625f, -129.6875f, -160.1563f, -204.6875f, -223.8281f, -224.6094f, -185.1563f, -129.2969f, -40.2344f, -8.5938f, 78.5156f, 31.6406f, 341.4063f, 444.1406f, 477.7344f, 485.1563f, 492.9688f, 483.5938f, 462.8906f, 445.7031f, 423.8281f, 387.8906f, 286.3281f, 222.6563f, 165.6250f, 100.0000f, 56.6406f, -2.3438f, -9.7656f, -41.0156f, -57.4219f, -127.7344f, -133.5938f, -229.2969f, -242.1875f, -372.6563f, -446.4844f, -733.5938f, -804.2969f, -139.0625f, -39.0625f, 52.3438f, 186.3281f, -76.9531f, -197.2656f, -322.6563f, -407.4219f, -337.1094f, -189.4531f, -115.6250f, -40.2344f, -2.3438f, 69.5313f, 105.0781f, 95.7031f, 90.2344f, 125.0000f, 94.9219f, 161.3281f, -202.3438f, -236.3281f, 110.1563f, 167.9688f, 207.8125f, 232.8125f, 264.0625f, 292.1875f, 315.6250f, 336.3281f, 325.7813f, 266.0156f, 208.5938f, 194.5313f, 114.4531f, 131.6406f, -95.3125f, -219.9219f, -281.2500f, -233.9844f, -195.3125f, -192.9688f, -244.9219f, -288.6719f, -401.5625f, -476.1719f, -116.0156f, 3.5156f, 27.7344f, 106.2500f, 111.3281f, 219.9219f, -175.0000f, -333.5938f, -357.8125f, -202.3438f, -112.1094f, -20.3125f, 21.8750f, 95.7031f, 135.5469f, 204.6875f, 217.5781f, 194.1406f, 162.5000f, 176.5625f, 125.3906f, 170.7031f, 58.5938f, 44.1406f, 10.9375f, -10.1563f, 0.3906f, -31.2500f, -69.1406f, -88.2813f, -75.3906f, -60.9375f, -24.2188f, -88.6719f, -93.7500f, -149.6094f, -208.9844f, -316.0156f, -93.7500f, -96.0938f, -67.9688f, -25.7813f, 31.2500f, 58.2031f, 95.3125f, 110.9375f, 161.3281f, 169.5313f, 184.7656f, 61.7188f, 21.8750f, -65.2344f, -127.3438f, -282.4219f, 51.1719f, -4.2969f, 55.0781f, 12.5000f, 9.3750f, -47.6563f, -155.0781f, -238.2813f, -346.8750f, -317.1875f, 11.7188f, 90.6250f, 119.5313f, 144.9219f, 133.2031f, 174.2188f, -61.7188f, -212.8906f, -206.6406f, 58.9844f, 55.4688f, -39.4531f, -166.4063f, -279.6875f, -402.7344f, -577.7344f, -605.4688f, -137.5000f, -51.5625f, 56.6406f, 73.0469f, 201.9531f, 57.8125f, -40.6250f, -173.8281f, -328.5156f, -12.1094f, 71.4844f, -33.5938f, -123.4375f, -240.2344f, -257.8125f, -90.2344f, 32.8125f, 75.0000f, 107.4219f, 78.5156f, 121.4844f, -71.4844f, -85.9375f, -94.9219f, -71.0938f, -92.5781f, -68.7500f, -103.9063f, -91.0156f, -131.2500f, -132.4219f, -253.9063f, -398.0469f, -645.3125f, -330.4688f, -20.3125f, 151.1719f, -40.6250f, -45.7031f, -99.2188f, -129.6875f, -74.6094f, 0.3906f, 25.0000f, 71.0938f, 123.8281f, 193.3594f, 244.5313f, 224.2188f, 202.7344f, 198.4375f, 178.1250f, 197.2656f, -58.9844f, -92.5781f, 192.1875f, 187.1094f, 106.6406f, 54.2969f, 14.0625f, -23.4375f, -46.4844f, 28.9063f, 67.9688f, 73.4375f, 116.4063f, 142.9688f, 135.5469f, 186.7188f, 61.7188f, 8.9844f, -82.0313f, -175.7813f, -262.8906f, -248.8281f, -165.2344f, -129.2969f, -51.9531f, 5.4688f, 50.0000f, 26.9531f, 24.2188f, 55.8594f, 66.7969f, 122.2656f, 195.7031f, 153.9063f, 14.4531f, -22.2656f, 26.1719f, 27.3438f, 17.9688f, 13.6719f, 35.9375f, 46.8750f, 131.6406f, 100.7813f, 107.8125f, 110.5469f, 143.7500f, 195.3125f, 16.4063f, -61.3281f, -155.4688f, -234.3750f, -289.8438f, -304.6875f, -305.0781f, -382.8125f, -455.4688f, -636.3281f, -378.1250f, -58.2031f, -38.6719f, 73.4375f, 81.6406f, 206.6406f, -93.7500f, 74.2188f, 181.6406f, 212.1094f, 224.6094f, 220.7031f, 236.3281f, 232.8125f, 255.0781f, 233.9844f, 227.7344f, 108.9844f, 79.2969f, -19.9219f, -72.6563f, -230.0781f, 123.4375f, 144.9219f, 162.8906f, 145.3125f, 114.4531f, 73.8281f, 89.8438f, 60.1563f, 71.8750f, 35.5469f, 36.7188f, -68.3594f, -77.3438f, -139.8438f, -177.3438f, -287.5000f, 28.1250f, -62.1094f, -141.4063f, -194.9219f, -247.2656f, -269.5313f, -310.1563f, -288.6719f, -258.5938f, -178.1250f, -140.6250f, -132.0313f, -98.0469f, -2.3438f, 19.5313f, 135.1563f, -78.9063f, -129.6875f, -167.1875f, -180.4688f, -198.4375f, -171.8750f, -215.6250f, -252.7344f, -345.7031f, -475.3906f, -676.9531f, -241.7969f, -63.2813f, 37.1094f, 78.9063f, 199.2188f, -35.5469f, -152.7344f, -276.9531f, -345.3125f, -395.3125f, -391.0156f, -365.6250f, -278.9063f, -198.8281f, -77.3438f, 16.4063f, 38.6719f, 46.4844f, 101.9531f, 92.9688f, 193.7500f, -144.5313f, 35.9375f, 185.9375f, 235.9375f, 266.0156f, 297.6563f, 322.6563f, 348.8281f, 364.8438f, 391.0156f, 372.6563f, 305.8594f, 245.7031f, 230.4688f, 160.9375f, 182.4219f, -75.3906f, -8.5938f, -10.9375f, 17.9688f, 83.5938f, 151.1719f, 196.0938f, 251.1719f, 284.3750f, 337.5000f, 335.5469f, 282.4219f, 226.9531f, 222.2656f, 169.9219f, 188.6719f, 87.1094f, 113.6719f, 247.2656f, 198.4375f, 136.7188f, 55.0781f, -60.9375f, -185.9375f, -363.2813f, -553.5156f, -706.6406f, -298.4375f, -80.4688f, 30.0781f, 74.6094f, 201.1719f, -185.5469f, -308.9844f, -162.8906f, 29.2969f, 78.5156f, 133.9844f, 159.3750f, 214.4531f, 239.0625f, 276.1719f, 267.9688f, 223.4375f, 180.8594f, 178.5156f, 125.3906f, 145.7031f, 328.9063f, 279.6875f, 261.3281f, 231.6406f, 163.6719f, 165.2344f, 145.7031f, 125.3906f, 106.6406f, 109.3750f, 138.2813f, 84.7656f, 75.3906f, 90.6250f, 68.3594f, 114.8438f, 45.3125f, -23.4375f, -56.2500f, -116.7969f, -164.4531f, -215.2344f, -285.9375f, -371.8750f, -469.9219f, -649.2188f, -779.6875f, -209.7656f, -93.7500f, 21.4844f, 53.9063f, 189.8438f, -126.1719f, -259.7656f, -267.9688f, -83.5938f, -78.5156f, -101.5625f, -145.7031f, -128.5156f, -130.0781f, -64.4531f, 25.7813f, 37.5000f, 68.3594f, 121.0938f, 113.6719f, 189.8438f, -7.4219f, 16.7969f, 13.6719f, 15.6250f, 16.4063f, 21.4844f, 24.6094f, 39.4531f, 51.9531f, 75.7813f, 86.7188f, 59.3750f, 45.7031f, 56.6406f, 51.9531f, 83.2031f }; /*----------------------------------------------------------------------------------* * LSF quantization - LSF mode/codebook selection tables *----------------------------------------------------------------------------------*/ const short CB[] = { -1, /* Mode 0 : INACTIVE NB, Safety net */ -1, /* Mode 1 : UNVOICED NB, Safety net */ 0, /* Mode 2 : VOICED NB, Safety net */ 2, /* Mode 3 : GENERIC NB, Safety net */ 2, /* Mode 4 : TRANSITION NB, Safety net */ 4, /* Mode 5 : AUDIO NB, Safety net */ -1, /* Mode 6 : INACTIVE WB, Safety net */ -1, /* Mode 7 : UNVOICED WB, Safety net */ 5, /* Mode 8 : VOICED WB, Safety net */ 7, /* Mode 9 : GENERIC WB, Safety net */ 7, /* Mode 10 : TRANSITION WB, Safety net */ 9, /* Mode 11 : AUDIO WB, Safety net */ -1, /* Mode 12 : INACTIVE WB16k, Safety net */ -1, /* Mode 13 : UNVOICED WB16k, Safety net */ -1, /* Mode 14 : VOICED WB16k, Safety net */ -1, /* Mode 15 : GENERIC WB 16k, Safety net */ 10, /* Mode 16 : TRANSITION WB16k, Safety net */ -1, /* Mode 17 : AUDIO WB16k, Safety net */ 13 /* Mode 18 : CNG, Safety net */ }; const short CB_p[] = { 0, /* Mode 0 : INACTIVE NB, Predictive */ 1, /* Mode 1 : UNVOICED NB, Predictive */ 4, /* Mode 2 : VOICED NB, Predictive */ 4, /* Mode 3 : GENERIC NB, Predictive */ -1, /* Mode 4 : TRANSITION NB, Predictive */ -1, /* Mode 5 : AUDIO NB, Predictive */ 0, /* Mode 6 : INACTIVE WB, Predictive */ 1, /* Mode 7 : UNVOICED WB, Predictive */ 6, /* Mode 8 : VOICED WB, Predictive */ 6, /* Mode 9 : GENERIC WB, Predictive */ -1, /* Mode 10 : TRANSITION WB, Predictive */ -1, /* Mode 11 : AUDIO WB, Predictive */ 0, /* Mode 12 : INACTIVE WB16k, Predictive */ -1, /* Mode 13 : UNVOICED WB16k, Predictive */ -1, /* Mode 14 : VOICED WB16k, Predictive */ 8, /* Mode 15 : GENERIC WB16k, Predictive */ -1, /* Mode 16 : TRANSITION WB16k, Predictive */ 10, /* Mode 17 : AUDIO WB16k, Predictive */ 9, /* Mode 18 : GENERIC WB, MA Predictive */ }; const float *const ModeMeans[] = {IANB_Ave, UVNB_Ave, SVNB_Ave, GENB_Ave, TRNB_Ave, AUNB_Ave, IAWB_Ave, UVWB_Ave, SVWB_Ave, GEWB_Ave, TRWB_Ave, AUWB_Ave, IAWB2_Ave, NULL, SVWB2_Ave, GEWB2_Ave, TRWB2_Ave, AUWB2_Ave }; const float * const Predictors[] = {Predictor6, NULL, Predictor1, Predictor3, NULL, Predictor6,Predictor5, NULL, Predictor0, Predictor2, NULL, Predictor5, Predictor7, NULL, Predictor8, Predictor4, NULL, Predictor7 }; const float means_nb_31bits_ma_lsf[16] = {336.3281f , 531.2500f , 886.7188f , 1266.7969f , 1629.2969f , 1973.4375f , 2348.4375f , 2646.8750f , 2998.4375f , 3292.1875f , 3591.4062f , 3806.2500f , 4132.8125f , 4652.7344f , 5250.0000f , 5883.2031f}; const float means_wb_31bits_ma_lsf[16] = {319.5312f , 548.0469f , 934.3750f , 1353.5156f , 1730.0781f , 2120.3125f , 2505.4688f , 2860.5469f , 3243.7500f , 3601.9531f , 3969.5312f , 4332.4219f , 4736.3281f , 5137.8906f , 5562.8906f , 5963.2812f}; const short CBsizes[] = { 1,2,4,8,16,32,64 }; const short CBbits[] = { -1, /* Mode 0 : INACTIVE NB, Safety net */ -1, /* Mode 1 : UNVOICED NB, Safety net */ 4, /* Mode 2 : VOICED NB, Safety net */ 5, /* Mode 3 : GENERIC NB, Safety net */ 5, /* Mode 4 : TRANSITION NB, Safety net */ 4, /* Mode 5 : AUDIO NB, Safety net */ -1, /* Mode 6 : INACTIVE WB, Safety net */ -1, /* Mode 7 : UNVOICED WB, Safety net */ 4, /* Mode 8 : VOICED WB, Safety net */ 5, /* Mode 9 : GENERIC WB, Safety net */ 5, /* Mode 10 : TRANSITION WB, Safety net */ 4, /* Mode 11 : AUDIO WB, Safety net */ -1, /* Mode 12 : INACTIVE WB16k, Safety net */ -1, /* Mode 13 : UNVOICED WB16k, Safety net */ 4, /* Mode 14 : VOICED WB16k, Safety net */ -1, /* Mode 15 : GENERIC WB16k, Safety net */ 4, /* Mode 16 : TRANSITION WB16k, Safety net */ -1, /* Mode 17 : AUDIO WB16k, Safety net */ 4, /* Mode 18: CNG, Safety net */ }; const short CBbits_p[] = { 5, /* Mode 0 : INACTIVE NB, Predictive */ 4, /* Mode 1 : UNVOICED NB, Predictive */ 3, /* Mode 2 : VOICED NB, Predictive */ 3, /* Mode 3 : GENERIC NB, Predictive */ -1, /* Mode 4 : TRANSITION NB, Predictive */ 0, /* Mode 5 : AUDIO NB, Predictive */ 5, /* Mode 6 : INACTIVE WB, Predictive */ 4, /* Mode 7 : UNVOICED WB, Predictive */ 3, /* Mode 8 : VOICED WB, Predictive */ 3, /* Mode 9 : GENERIC WB, Predictive */ -1, /* Mode 10 : TRANSITION WB, Predictive */ 0, /* Mode 11 : AUDIO WB, Predictive */ 5, /* Mode 12 : INACTIVE WB16k, Predictive */ -1, /* Mode 13 : UNVOICED WB16k, Predictive */ 3, /* Mode 14 : VOICED WB16k, Predictive */ 5, /* Mode 15 : GENERIC WB16k, Predictive */ -1, /* Mode 16 : TRANSITION WB16k, Predictive */ 5, /* Mode 17 : AUDIO WB16k, Predictive */ 5, /* Mode 9 : GENERIC WB, Predictive */ }; const short BitsVQ[]= { -1, /* Mode 0 : INACTIVE NB, Safety net */ -1, /* Mode 1 : UNVOICED NB, Safety net */ 8, /* Mode 2 : VOICED NB, Safety net */ 9, /* Mode 3 : GENERIC NB, Safety net */ 9, /* Mode 4 : TRANSITION NB, Safety net */ 4, /* Mode 5 : AUDIO NB, Safety net */ -1, /* Mode 6 : INACTIVE WB, Safety net */ -1, /* Mode 7 : UNVOICED WB, Safety net */ 8, /* Mode 8 : VOICED WB, Safety net */ 9, /* Mode 9 : GENERIC WB, Safety net */ 9, /* Mode 10 : TRANSITION WB, Safety net */ 4, /* Mode 11 : AUDIO WB, Safety net */ -1, /* Mode 12 : INACTIVE WB16k, Safety net */ -1, /* Mode 13 : UNVOICED WB16k, Safety net */ 8, /* Mode 14 : VOICED WB16k, Safety net */ -1, /* Mode 15 : GENERIC WB16k, Safety net */ 8, /* Mode 16 : TRANSITION WB16k, Safety net */ -1, /* Mode 17 : AUDIO WB16k, Safety net */ 4, /* Mode 18: CNG, Safety net */ }; const short BitsVQ_p[]= { 5, /* Mode 0 : INACTIVE NB, Predictive */ 8, /* Mode 1 : UNVOICED NB, Predictive */ 6, /* Mode 2 : VOICED NB, Predictive */ 6, /* Mode 3 : GENERIC NB, Predictive */ -1, /* Mode 4 : TRANSITION NB, Predictive */ 0, /* Mode 5 : AUDIO NB, Predictive */ 5, /* Mode 6 : INACTIVE WB, Predictive */ 12, /* Mode 7 : UNVOICED WB, Predictive */ 6, /* Mode 8 : VOICED WB, Predictive */ 6, /* Mode 9 : GENERIC WB, Predictive */ -1, /* Mode 10 : TRANSITION WB, Predictive */ 0, /* Mode 11 : AUDIO WB, Predictive */ 5, /* Mode 12 : INACTIVE WB16k, Predictive */ -1, /* Mode 13 : UNVOICED WB16k, Predictive */ 6, /* Mode 14 : VOICED WB16k, Predictive */ 5, /* Mode 15 : GENERIC WB16k, Predictive */ -1, /* Mode 16 : TRANSITION WB16k, Predictive */ 5, /* Mode 17 : AUDIO WB16k, Predictive */ 5, /* Mode 18 : GENERIC WB, MA Predictive */ }; const short predmode_tab[][6] = { {1,1,2,2,0,2}, {1,1,2,2,0,2}, {1,-1,2,1,0,1}, {1,1,2,1,0,1} /* should check how is the cb for audio mode at 13.2*/ }; const float *const Quantizers[] = {SVNB_SN1, SVNB_SN2, GETRNB_SN1, GETRNB_SN2, AUNB_SN1,SVWB_SN1, SVWB_SN2, GETRWB_SN1, GETRWB_SN2, AUWB_SN1,TRWB2_SN1, TRWB2_SN2, AUWB2_SN1, CNG_SN1 }; const float *const Quantizers_p[] = {IAA_MA1, UVD_MA1, UVD_MA2, UVWB_MA3, GESVNB_AR1, GESVNB_AR2, GESVWB_AR1, GESVWB_AR2, GEWB2_MA1,GEWB_MA1, AUWB2_MA1 }; const float vals[NO_LEADERS][MAX_NO_VALS]= { {1.0f, 0.0f, 0.0f, 0.0f}, {0.5f, 0.0f, 0.0f, 0.0f}, {1.0f, 0.0f, 0.0f, 0.0f}, {2.0f, 0.0f, 0.0f, 0.0f}, {1.5f, 0.5f, 0.0f, 0.0f}, {1.0f, 0.0f, 0.0f, 0.0f}, {2.0f, 1.0f, 0.0f, 0.0f}, {1.5f, 0.5f, 0.0f, 0.0f}, {1.0f, 0.0f, 0.0f, 0.0f}, {2.0f, 1.0f, 0.0f, 0.0f}, {2.0f, 0.0f, 0.0f, 0.0f}, {1.5f, 0.5f, 0.0f, 0.0f}, {2.5f, 0.5f, 0.0f, 0.0f}, {2.0f, 1.0f, 0.0f, 0.0f}, {2.0f, 1.0f, 0.0f, 0.0f}, {3.0f, 1.0f, 0.0f, 0.0f}, {1.5f, 0.5f, 0.0f, 0.0f}, {2.5f, 1.5f, 0.5f, 0.0f}, {2.0f, 1.0f, 0.0f, 0.0f}, {2.0f, 0.0f, 0.0f, 0.0f}, {3.0f, 1.0f, 0.0f, 0.0f}, {1.5f, 0.5f, 0.0f, 0.0f}, {2.5f, 1.5f, 0.5f, 0.0f}, {2.0f, 1.0f, 0.0f, 0.0f}, {2.0f, 1.0f, 0.0f, 0.0f}, {3.0f, 1.0f, 0.0f, 0.0f}, {3.0f, 2.0f, 1.0f, 0.0f}, {1.5f, 0.5f, 0.0f, 0.0f}, {2.5f, 1.5f, 0.5f, 0.0f}, {2.5f, 0.5f, 0.0f, 0.0f}, {3.5f, 0.5f, 0.0f, 0.0f}, {2.0f, 1.0f, 0.0f, 0.0f}, {2.0f, 0.0f, 0.0f, 0.0f}, {3.0f, 1.0f, 0.0f, 0.0f}, {3.0f, 2.0f, 1.0f, 0.0f}, {4.0f, 0.0f, 0.0f, 0.0f}, {1.5f, 0.5f, 0.0f, 0.0f}, {2.5f, 1.5f, 0.5f, 0.0f}, {2.5f, 1.5f, 0.5f, 0.0f}, {3.5f, 1.5f, 0.5f, 0.0f}, {2.0f, 1.0f, 0.0f, 0.0f}, {3.0f, 2.0f, 1.0f, 0.0f}, {3.0f, 2.0f, 1.0f, 0.0f}, {3.0f, 0.0f, 0.0f, 0.0f}, {4.0f, 1.0f, 0.0f, 0.0f}, {1.5f, 0.0f, 0.0f, 0.0f}, {2.5f, 1.5f, 0.5f, 0.0f}, {2.5f, 1.5f, 0.5f, 0.0f}, {3.5f, 1.5f, 0.5f, 0.0f} }; const int no_vals[NO_LEADERS]= {2,1,2,2,2,2,3,2,1,3,2,2,2,3,3,3,2,3,3,2,3,2,3,2,3,3,4,2,3,2,2,3,2,2,4,2,2,3,3,3,3,4,4,2,3,1,3,3,3}; const int no_vals_ind[NO_LEADERS][MAX_NO_VALS]= { {2,6,0,0}, {8,0,0,0}, {4,4,0,0}, {1,7,0,0}, {1,7,0,0}, {6,2,0,0}, {1,2,5,0}, {2,6,0,0}, {8,0,0,0}, {1,4,3,0}, {2,6,0,0}, {3,5,0,0}, {1,7,0,0}, {1,6,1,0}, {2,2,4,0}, {1,1,6,0}, {4,4,0,0}, {1,1,6,0}, {2,4,2,0}, {3,5,0,0}, {1,3,4,0}, {5,3,0,0}, {1,2,5,0}, {2,6,0,0}, {3,2,3,0}, {1,5,2,0}, {1,1,1,5}, {6,2,0,0}, {1,3,4,0}, {2,6,0,0}, {1,7,0,0}, {3,4,1,0}, {4,4,0,0}, {1,7,0,0}, {1,1,3,3}, {1,7,0,0}, {7,1,0,0}, {1,4,3,0}, {2,1,5,0}, {1,1,6,0}, {4,2,2,0}, {1,1,5,1}, {1,2,1,4}, {2,6,0,0}, {1,2,5,0}, {8,0,0,0}, {1,5,2,0}, {2,2,4,0}, {1,2,5,0} }; const int C[LATTICE_DIM+1][LATTICE_DIM+1]= { {1,0,0,0,0,0,0,0,0}, {1,1,0,0,0,0,0,0,0}, {1,2,1,0,0,0,0,0,0}, {1,3,3,1,0,0,0,0,0}, {1,4,6,4,1,0,0,0,0}, {1,5,10,10,5,1,0,0,0}, {1,6,15,20,15,6,1,0,0}, {1,7,21,35,35,21,7,1,0}, {1,8,28,56,70,56,28,8,1} }; const unsigned int table_no_cv[] = { 0, 112, 240, 1360, 1376, 2400, 4192, 5536, 9120, 9376, 18336, 18448, 25616, 26640, 33808, 40528, 40752, 49712, 56880, 83760, 84208, 88688, 95856, 117360, 124528, 142448, 153200, 155888, 159472, 195312, 198896, 199920, 235760, 236880, 238928, 274768, 274784, 275808, 311648, 333152, 340320, 367200, 410208, 423648,423760, 425104, 425232, 446736, 500496, 522000 ,0 }; const int pi0[] = {28,1,70,8,8,28,168,28,1,280,28,56,8,56,420,56, 70, 56,420, 56, 280, 56, 168, 28, 560, 168,336,28,280,28,8 ,280,70, 8, 1120, 8, 8, 280, 168, 56, 420, 336, 840, 28, 168, 1, 168, 420, 168 }; const float pl[] = /* vectors in first layers */ { 1, 1, 0, 0, 0, 0, 0, 0, /* 112, 4, 28 */ 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, /* 128, 128, 1 */ 1, 1, 1, 1, 0, 0, 0, 0, /* 1120, 16, 70 */ 2, 0, 0, 0, 0, 0, 0, 0, /* 16 , 2, 8 */ 1.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, /* 5 */ /* 1024,128, 8 */ 1, 1, 1, 1, 1, 1, 0, 0, /* 1792, 64, 28 */ 2, 1, 1, 0, 0, 0, 0, 0, /* 1344, 8, 168 */ 1.5, 1.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, /* 3584, 128, 28*/ 1, 1, 1, 1, 1, 1, 1, 1, /*256, 256, 1*/ 2, 1, 1, 1, 1, 0, 0, 0, /* 10 */ /* 8960, 32, 280 */ 2, 2, 0, 0, 0, 0, 0, 0, /* 112, 4, 28 */ 1.5, 1.5, 1.5, 0.5, 0.5, 0.5, 0.5, 0.5, /* 7168, 128, 56 */ 2.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, /* 1024, 128, 8*/ 2, 1, 1, 1, 1, 1, 1, 0, /* 7168, 128, 56*/ 2, 2, 1, 1, 0, 0, 0, 0, /* 15 */ /* 6720, 16, 420 */ 3, 1, 0, 0, 0, 0, 0, 0, /* 224, 4, 56 */ 1.5, 1.5, 1.5, 1.5, 0.5, 0.5, 0.5, 0.5, /* 8960, 128, 70 */ 2.5, 1.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, /* 7168, 128, 56*/ 2.0, 2.0, 1.0, 1.0, 1.0, 1.0, 0, 0, /* 26880, 64, 420 */ 2, 2, 2, 0, 0, 0, 0, 0, /*20 */ /* 448, 8, 56 */ 3, 1, 1, 1, 0, 0, 0, 0, /* 4480, 16, 280 */ 1.5, 1.5, 1.5, 1.5, 1.5, 0.5, 0.5, 0.5, /* 7168, 128, 56 */ 2.5, 1.5, 1.5, 0.5, 0.5, 0.5, 0.5, 0.5, /* 21504, 128, 168 */ 2.0, 2.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, /* 7168, 256, 28 */ 2.0, 2.0, 2.0, 1.0, 1.0, 0, 0, 0, /* 25 */ /* 17920, 32, 560 */ 3.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0, 0, /* 10752, 64, 168 */ 3.0, 2.0, 1.0, 0, 0, 0, 0, 0, /* 2688, 8, 336 */ 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 0.5, 0.5, /* 3584, 128, 28 */ 2.5, 1.5, 1.5, 1.5, 0.5, 0.5, 0.5, 0.5, /* 35840,128,280*/ 2.5, 2.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, /*30 */ /* 3584, 128, 28*/ 3.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, /* 1024,128, 8 */ 2.0, 2.0, 2.0, 1.0, 1.0, 1.0, 1.0, 0, 2.0f, 2.0f, 2.0f, 2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 3.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 3.0f, 2.0f, 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 4.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.5f, 1.5f, 1.5f, 1.5f, 1.5f, 1.5f, 1.5f, 0.5f, 2.5f, 1.5f, 1.5f, 1.5f, 1.5f, 0.5f, 0.5f, 0.5f, 2.5f, 2.5f, 1.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 3.5f, 1.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 2.0f, 2.0f, 2.0f, 2.0f, 1.0f, 1.0f, 0.0f, 0.0f, 3.0f, 2.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 3.0f, 2.0f, 2.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 3.0f, 3.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 4.0f, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.5f, 1.5f, 1.5f, 1.5f, 1.5f, 1.5f, 1.5f, 1.5f, 2.5f, 1.5f, 1.5f, 1.5f, 1.5f, 1.5f, 0.5f, 0.5f, 2.5f, 2.5f, 1.5f, 1.5f, 0.5f, 0.5f, 0.5f, 0.5f, 3.5f, 1.5f, 1.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f }; /*----------------------------------------------------------------------------------* * LSF quantization for CNG *----------------------------------------------------------------------------------*/ const short cng_sort[] = {/*5f */1,1,0,1,0,0, /* 4f */0,1,0,1,0,0,1,1,1,1}; const short perm[][4] = { /* 5f*/ {6,11,7,15}, {6,15,-1,0}, {5,8,7,15}, {7,10,-1,0}, {-1,0,0,0}, {-1,0,0,0}, /* 4f */ {-1,0,0,0}, {0,9,7,10}, {-1,0,0,0}, {7,15,-1,0}, {-1,0,0,0}, {-1,0,0,0}, {6,10,7,11}, {6,11,7,12}, {6,11,7,12}, {6,11,7,12} }; const int pl_par[] = /* 1 if even number of signs */ { 0, 1, 0, 0, -1, 0, 0, 1, 0, 0, 0, -1, 1, 0, 0, 0, 1, -1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 0, 0, 0, 0, -1, 1, -1, 1, 0, 0, 0, 0, 0, 1, -1, 1, -1 }; const float scales[][MAX_NO_SCALES*2]= /* 2 subvectors */ { {1.528f, 0.000f, 0.000f, 1.532f, 0.000f, 0.000f, }, /* 14 */ {1.605f, 0.000f, 0.000f, 1.532f, 0.000f, 0.000f, }, /* 15 */ {1.275f, 2.458f, 0.000f, 1.532f, 0.000f, 0.000f, }, /* 18 */ {1.275f, 2.458f, 0.000f, 1.631f, 0.000f, 0.000f, }, /* 19 */ {1.057f, 1.794f, 2.896f, 1.154f, 1.860f, 3.067f, }, /* 25 */ {0.927f, 1.458f, 2.317f, 1.033f, 1.791f, 3.440f, }, /* 28*/ /* mode 0 UV WB*/ {1.284f, 2.676f, 0.000f, 1.451f, 0.000f, 0.000f, }, {1.368f, 0.000f, 0.000f, 1.401f, 2.477f, 0.000f, }, /* 19 */ {0.861f, 1.243f, 1.818f, 1.228f, 2.226f, 10.307f, }, /* 24 */ {1.072f, 1.934f, 3.633f, 1.221f, 2.938f, 10.723f, }, /* 25 */ {0.899f, 1.417f, 0.677f, 1.033f, 1.837f, 10.893f, }, /* 29 */ {0.830f, 1.323f, 0.629f, 0.911f, 1.585f, 10.088f, }, /* 32 */ /* mode 1 UV NB*/ {1.573f, 0.000f, 0.000f, 1.656f, 0.000f, 0.000f, }, /* 17 */ {1.239f, 2.404f, 0.000f, 1.556f, 0.000f, 0.000f, }, /* 18 */ {1.055f, 1.700f, 4.439f, 1.656f, 0.000f, 0.000f, }, /* 21 */ {1.250f, 2.404f, 4.132f, 1.355f, 2.361f, 0.000f, }, /* 22 */ {1.056f, 1.785f, 4.523f, 1.318f, 2.586f, 0.000f, }, /* 25 */ {0.996f, 1.505f, 3.355f, 1.185f, 1.776f, 2.728f, }, {0.929f, 1.387f, 3.357f, 1.080f, 1.701f, 2.885f, }, {0.922f, 1.493f, 3.369f, 1.080f, 1.701f, 2.885f, }, {0.922f, 1.493f, 3.369f, 1.066f, 1.694f, 3.135f, }, {0.922f, 1.493f, 3.369f, 0.962f, 1.550f, 3.946f, }, /* 30 */ {0.746f, 1.108f, 2.869f, 0.959f, 1.481f, 3.907f, }, /* 32 */ {0.770f, 1.194f, 2.823f, 0.907f, 1.402f, 2.116f, }, {0.748f, 1.103f, 2.866f, 1.182f, 0.811f, 3.332f, },/* 34*/ {0.677f, 0.963f, 2.127f, 0.726f, 1.082f, 2.204f, }, /* 37*/ /* mode 2 V WB*/ {1.639f, 0.000f, 0.000f, 1.218f, 2.161f, 0.000f, }, /* 17 */ {1.286f, 2.446f, 0.000f, 1.410f, 0.000f, 0.000f, }, /* 18 */ {1.086f, 1.728f, 3.758f, 1.218f, 2.161f, 0.000f, }, /* 22 */ {1.035f, 1.575f, 4.815f, 1.218f, 2.161f, 0.000f, }, /* 23 */ {0.964f, 1.533f, 4.942f, 1.218f, 2.161f, 0.000f, }, /* 24 */ {0.841f, 1.198f, 1.982f, 1.218f, 2.161f, 0.000f, }, /* 25 */ {0.898f, 1.298f, 2.184f, 1.216f, 2.664f, 0.000f, }, /* 27 */ {0.841f, 1.237f, 2.237f, 0.995f, 1.657f, 2.836f, }, /* 29 */ {0.697f, 0.981f, 2.043f, 0.935f, 1.505f, 0.659f, }, /* 34 */ {0.669f, 0.909f, 1.328f, 0.985f, 0.654f, 1.911f, }, /* 37 */ /* mode 3 V NB*/ {1.212f, 1.897f, 0.000f, 0.000f, 0.000f, 0.000f, }, /* 12 (11.883) */ {1.634f, 0.000f, 0.000f, 1.669f, 0.000f, 0.000f, }, /* 16 (15.826) */ {1.288f, 2.423f, 0.000f, 1.669f, 0.000f, 0.000f, }, /* 19 (18.572) */ {1.212f, 1.897f, 0.000f, 1.669f, 0.000f, 0.000f, }, /* 20 (19.796) */ {1.083f, 1.766f, 3.175f, 1.669f, 0.000f, 0.000f, }, /* 21 (20.910) */ {1.037f, 1.609f, 4.228f, 1.669f, 0.000f, 0.000f, }, /* 22 (21.776) */ {1.095f, 1.659f, 2.716f, 1.315f, 2.506f, 0.000f, }, /* 23 (22.959) */ {0.941f, 1.386f, 2.221f, 1.315f, 2.506f, 0.000f, }, /* 25 (24.992) */ {0.908f, 1.306f, 1.901f, 1.320f, 2.623f, 0.000f, }, /* 26 (25.904) */ {1.075f, 1.767f, 0.790f, 1.320f, 2.623f, 0.000f, }, /* 27 (26.829) */ {1.022f, 1.531f, 0.759f, 1.110f, 1.755f, 2.594f, }, /* 28 (27.989) */ {1.075f, 1.767f, 0.790f, 1.093f, 1.902f, 3.014f, }, /* 29 (28.984) */ {0.893f, 1.472f, 0.675f, 1.103f, 1.770f, 2.842f, }, /* 30 (29.980) */ {0.910f, 1.548f, 0.685f, 1.032f, 1.651f, 2.513f, }, /* 31 (30.966) */ {0.826f, 1.256f, 0.632f, 0.981f, 1.542f, 2.217f, }, /* 32 (31.995) */ /* G WB*/ {1.184f, 1.810f, 2.761f, 0.000f, 0.000f, 0.000f, }, /* 12 (11.925) */ {1.611f, 0.000f, 0.000f, 1.618f, 0.000f, 0.000f, }, /* 16 (15.826) */ {1.184f, 1.810f, 2.761f, 1.550f, 0.000f, 0.000f, }, /* 19 (18.745) */ {1.184f, 1.810f, 2.761f, 1.618f, 0.000f, 0.000f, }, /* 20 (19.838) */ {1.063f, 1.737f, 2.985f, 1.618f, 0.000f, 0.000f, }, /* 21 (20.910) */ {1.078f, 1.825f, 3.162f, 1.469f, 2.249f, 0.000f, }, /* 22 (21.985) */ {1.375f, 0.915f, 2.082f, 1.469f, 2.249f, 0.000f, }, /* 23 (22.815) */ {0.960f, 1.423f, 0.700f, 1.310f, 2.132f, 0.000f, }, /* 25 (24.996) */ {1.124f, 0.794f, 1.902f, 1.283f, 2.302f, 0.000f, }, /* 26 (25.993) */ {1.077f, 1.727f, 0.767f, 1.250f, 1.951f, 2.981f, }, /* 27 (26.954) */ {0.933f, 1.471f, 0.685f, 1.250f, 1.951f, 2.981f, }, /* 28 (27.992) */ {0.927f, 1.600f, 0.674f, 1.154f, 1.776f, 2.854f, }, /* 29 (28.996) */ {1.047f, 0.722f, 1.785f, 1.056f, 1.642f, 2.701f, }, /* 30 (29.988) */ {0.971f, 0.688f, 1.509f, 1.043f, 1.730f, 2.931f, }, /* 31 (30.962) */ {0.919f, 0.662f, 1.367f, 1.057f, 1.808f, 3.069f, }, /* 32 (31.987) */ /* G NB*/ {1.617f, 0.000f, 0.000f, 1.657f, 0.000f, 0.000f, }, /* 17 */ {1.275f, 2.298f, 0.000f, 1.563f, 0.000f, 0.000f, }, /* 18 */ {1.308f, 2.354f, 0.000f, 1.387f, 0.000f, 0.000f, }, /* 21 */ {1.291f, 2.418f, 0.000f, 1.355f, 2.443f, 0.000f, }, /* 22 */ {1.079f, 1.769f, 3.012f, 1.387f, 0.000f, 0.000f, }, /* 24 */ {1.079f, 1.769f, 3.012f, 1.325f, 2.555f, 0.000f, }, /* 25 */ {0.897f, 1.340f, 2.604f, 1.070f, 1.689f, 2.527f, }, /* 28 */ {0.897f, 1.340f, 2.604f, 0.939f, 1.454f, 2.083f, }, /* 30 */ {0.905f, 1.327f, 2.599f, 1.109f, 0.777f, 1.705f, }, {0.762f, 1.101f, 2.359f, 0.939f, 1.454f, 2.083f, }, {0.794f, 1.226f, 3.180f, 1.109f, 0.777f, 1.705f, }, /* 33 */ /* mode 6 T WB */ {1.629f, 0.000f, 0.000f, 1.191f, 2.211f, 0.000f, }, /* 17 */ {1.277f, 2.557f, 0.000f, 1.367f, 0.000f, 0.000f, }, /* 18 */ {1.082f, 1.761f, 3.929f, 1.191f, 2.211f, 0.000f, }, /* 22 */ {1.018f, 1.535f, 2.808f, 1.191f, 2.211f, 0.000f, }, /* 23 */ {0.944f, 1.477f, 2.763f, 1.191f, 2.211f, 0.000f, }, /* 24 */ {0.910f, 1.744f, 3.317f, 1.191f, 2.211f, 0.000f, }, /* 25 */ {0.920f, 1.648f, 3.068f, 0.969f, 1.683f, 3.953f, }, /* 28 */ {0.739f, 1.111f, 2.694f, 0.879f, 1.411f, 2.305f, }, /* 31 */ {0.709f, 1.032f, 2.717f, 0.810f, 1.245f, 1.824f, }, /* 32*/ /* mode 7 T NB*/ {0.758f, 1.116f, 1.964f, 2.021f, 0.798f, 1.219f, }, /* 31 */ {0.699f, 1.034f, 1.978f, 2.021f, 0.798f, 1.219f, }, /* 32 */ /* mode 8 G 16k */ {0.726f, 1.050f, 1.845f, 1.355f, 0.860f, 2.205f, }, /* 32 (31.998) */ {0.677f, 0.997f, 1.669f, 1.355f, 0.860f, 2.205f, }, /* 33 (32.983) */ {1.646f, 0.000f, 0.000f, 1.254f, 2.459f, 0.000f, }, /* 17 */ {1.073f, 1.863f, 3.231f, 1.678f, 0.000f, 0.000f, }, /* 21 */ {1.073f, 1.863f, 3.231f, 1.254f, 2.459f, 0.000f, }, /* 22 */ {0.951f, 1.492f, 2.496f, 1.255f, 2.971f, 0.000f, }, /* 25 */ {1.148f, 1.841f, 0.813f, 1.255f, 2.971f, 0.000f, }, /* 26 */ {0.602f, 0.869f, 1.418f, 1.264f, 0.764f, 2.218f}, /* 36 */ /* mode 10 AUDIO_WB LVQ bitrate 15-36 + 4 + 1*/ {0.853f, 1.769f, 4.425f, 1.000f, 1.000f, 1.000f}, /* 17 */ {1.011f, 1.663f, 4.403f, 1.578f, 0.000f, 0.000f}, /* 21 */ {1.011f, 1.663f, 4.403f, 1.202f, 2.424f, 0.000f}, /* 22 */ {0.881f, 1.618f, 4.136f, 1.202f, 2.424f, 0.000f}, /* 25 */ {0.847f, 1.791f, 4.466f, 1.202f, 2.424f, 0.000f}, /* 26 */ {0.670f, 1.112f, 2.389f, 1.202f, 2.424f, 0.000f}, /* 28 */ /* mode 11 AUDIO_NB */ {1.131f, 1.815f, 0.796f, 1.265f, 2.794f, 0.000f, }, /* 26 */ {0.570f, 0.804f, 1.197f, 1.162f, 1.949f, 0.728f, }, /* 36*/ /* mode 12 AUDIO_WB 16k bitrate 15-36 + 4 + 1*/ {1.045f, 1.586f, 3.754f, 1.669f, 0.000f, 0.000f, }, /* 22 (21.776) */ {0.880f, 1.280f, 2.824f, 1.099f, 1.735f, 0.000f, }, /* 28 (27.994) */ {0.831f, 1.215f, 2.927f, 1.089f, 1.708f, 2.479f, }, /* 29 (28.996) */ {0.870f, 1.327f, 2.906f, 1.066f, 1.719f, 2.676f, }, /* 30 (29.991) */ {0.772f, 1.122f, 2.351f, 1.446f, 0.944f, 2.072f, }, /* 32 (31.992) */ {0.701f, 0.977f, 1.738f, 0.947f, 1.453f, 2.082f, }, /* 33 (32.993) */ {0.719f, 1.021f, 1.701f, 1.119f, 0.794f, 1.696f, }, /* 34 (33.968) */ {0.640f, 0.884f, 1.732f, 0.755f, 1.090f, 1.548f, }, /* 37 (36.995) */ /* VOICED 16k */ /* 5sf */ {1.218f, 0.796f, 2.283f, 1.290f, 3.325f, 0.000f, }, /* 25 (24.980) */ {1.590f, 0.835f, 4.436f, 1.097f, 3.070f, 0.000f, }, /* 25 (24.974) */ {0.994f, 2.617f, 0.000f, 1.091f, 2.233f, 3.457f, }, /* 25 (24.852) */ {0.887f, 1.573f, 3.543f, 1.088f, 1.827f, 3.067f, }, /* 25 (24.994) */ {0.837f, 1.238f, 1.903f, 1.298f, 2.797f, 0.000f, }, /* 25 (24.996) */ {1.138f, 2.826f, 0.000f, 1.106f, 2.796f, 4.391f, }, /* 25 (24.671) */ /* 4sf */ {0.941f, 1.931f, 4.473f, 0.681f, 1.266f, 2.328f, }, /* 25 (24.936) */ {1.352f, 4.332f, 0.000f, 0.820f, 1.545f, 4.175f, }, /* 25 (24.955) */ {1.343f, 3.607f, 0.000f, 0.859f, 1.453f, 2.590f, }, /* 25 (24.853) */ {1.208f, 2.740f, 0.000f, 0.759f, 1.240f, 2.182f, }, /* 25 (24.881) */ {1.123f, 2.736f, 0.000f, 0.874f, 1.498f, 2.586f, }, /* 25 (24.939) */ {0.919f, 2.471f, 0.000f, 0.615f, 1.072f, 2.096f, }, /* 25 (24.996) */ {1.548f, 4.508f, 0.000f, 0.825f, 2.178f, 4.305f, }, /* 25 (24.310) */ {1.217f, 2.898f, 0.000f, 0.737f, 1.217f, 1.930f, }, /* 25 (24.955) */ {0.976f, 2.190f, 5.716f, 1.506f, 0.642f, 4.211f, }, /* 25 (24.984) */ {1.107f, 2.595f, 0.000f, 1.302f, 0.604f, 0.880f, }, /* 25 (24.866) */ }; const float scales_p[][MAX_NO_SCALES*2]= /* 2 subvectors 20 modes */ { {1.464f, 2.374f, 0.000f, 0.000f, 0.000f, 0.000f, }, /* 9 (8.464) */ {1.265f, 2.564f, 0.000f, 1.638f, 0.000f, 0.000f, }, /* 19 (18.572) */ {1.063f, 1.703f, 2.805f, 1.294f, 2.353f, 0.000f, }, /* 23 (22.959) */ {1.063f, 1.917f, 3.063f, 1.365f, 0.000f, 0.000f, }, /* 24 (23.949) */ {0.914f, 1.412f, 2.223f, 1.294f, 2.353f, 0.000f, }, /* 25 (24.992) */ {0.882f, 1.401f, 2.402f, 1.313f, 2.441f, 0.000f, }, /* 27 (26.902) */ {1.356f, 0.867f, 2.377f, 1.070f, 1.686f, 2.546f, }, /* 28 (27.996) */ {0.846f, 1.348f, 2.546f, 1.076f, 1.742f, 2.658f, }, /* 29 (28.937) */ {0.845f, 1.379f, 2.566f, 1.019f, 1.577f, 2.443f, }, /* 30 (29.954) */ {0.756f, 1.189f, 2.799f, 1.084f, 1.804f, 2.758f, }, /* 31 (30.978) */ {0.755f, 1.218f, 2.821f, 0.944f, 1.433f, 1.973f, }, /* 32 (31.978) */ {0.724f, 1.235f, 2.942f, 1.255f, 0.848f, 2.000f, }, /* 34 (33.975) */ {0.687f, 1.113f, 2.338f, 0.853f, 1.328f, 1.944f, }, /* 35 (34.975) */ {0.648f, 1.029f, 1.836f, 0.854f, 1.356f, 1.961f, }, /* 36 (35.889) */ {0.648f, 1.029f, 1.836f, 0.687f, 1.058f, 1.900f, }, /* 39 (38.488) */ /* V WB*/ {1.613f, 0.000f, 0.000f, 0.000f, 0.000f, 0.000f, }, /* 8 (7.913) */ {1.267f, 2.475f, 0.000f, 1.619f, 0.000f, 0.000f, }, /* 19 (18.572) */ {1.014f, 1.630f, 2.464f, 1.285f, 2.151f, 0.000f, }, /* 23 (22.773) */ {0.893f, 1.390f, 2.314f, 1.465f, 2.299f, 0.000f, }, /* 24 (23.999) */ {0.930f, 1.401f, 2.150f, 1.280f, 2.254f, 0.000f, }, /* 25 (24.992) */ {0.893f, 1.390f, 2.314f, 1.276f, 2.206f, 2.984f, }, /* 27 (26.962) */ {0.893f, 1.390f, 2.314f, 1.036f, 1.646f, 2.471f, }, /* 28 (27.835) */ {0.857f, 1.337f, 2.464f, 1.043f, 1.730f, 2.625f, }, /* 29 (28.937) */ {0.765f, 1.219f, 1.553f, 1.036f, 1.646f, 2.471f, }, /* 30 (29.969) */ {0.789f, 1.328f, 1.652f, 1.052f, 1.784f, 2.706f, }, /* 31 (30.952) */ {0.764f, 1.224f, 1.555f, 0.920f, 1.443f, 2.035f, }, /* 32 (31.978) */ {0.663f, 1.061f, 1.238f, 1.379f, 0.898f, 1.951f, }, /* 34 (33.992) */ {0.673f, 1.104f, 1.306f, 1.259f, 0.828f, 1.954f, }, /* 35 (35.000) */ {0.666f, 1.071f, 1.249f, 0.803f, 1.241f, 1.729f, }, /* 36 (35.980) */ {0.658f, 1.039f, 1.214f, 0.950f, 0.651f, 1.429f, }, /* 39 (38.512) */ /* V NB*/ {1.600f, 0.000f, 0.000f, 1.553f, 0.000f, 0.000f, }, /* 15 (14.733) */ {1.134f, 1.986f, 3.295f, 1.553f, 0.000f, 0.000f, }, /* 19 (18.745) */ {0.987f, 1.788f, 2.659f, 1.647f, 0.000f, 0.000f, }, /* 22 (21.776) */ {0.899f, 1.602f, 2.579f, 1.647f, 0.000f, 0.000f, }, /* 23 (22.791) */ {0.797f, 1.294f, 2.140f, 1.647f, 0.000f, 0.000f, }, /* 24 (23.999) */ {0.797f, 1.294f, 2.140f, 1.335f, 2.225f, 0.000f, }, /* 25 (24.996) */ {0.741f, 1.151f, 1.816f, 1.335f, 2.225f, 0.000f, }, /* 26 (25.934) */ {0.797f, 1.294f, 2.140f, 1.186f, 1.932f, 0.000f, }, /* 28 (27.969) */ {0.741f, 1.151f, 1.816f, 1.164f, 1.823f, 2.769f, }, /* 29 (28.996) */ {0.708f, 1.126f, 1.953f, 1.076f, 1.730f, 2.777f, }, /* 30 (29.988) */ {0.660f, 1.049f, 1.571f, 1.076f, 1.730f, 2.777f, }, /* 31 (30.931) */ {0.662f, 1.026f, 1.554f, 1.074f, 1.913f, 3.022f, }, /* 32 (31.987) */ {0.660f, 1.049f, 1.571f, 1.439f, 0.926f, 2.131f, }, /* 33 (32.982) */ {0.630f, 0.966f, 1.522f, 1.312f, 0.881f, 2.207f, }, /* 34 (33.967) */ {0.617f, 0.921f, 1.447f, 1.032f, 1.549f, 0.756f, }, /* 35 (34.994) */ /* G WB*/ {1.595f, 0.000f, 0.000f, 1.502f, 0.000f, 0.000f, }, /* 15 (14.733) */ {1.123f, 1.946f, 3.732f, 1.502f, 0.000f, 0.000f, }, /* 19 (18.792) */ {1.033f, 2.075f, 4.339f, 1.419f, 2.446f, 0.000f, }, /* 22 (21.985) */ {0.985f, 1.793f, 5.965f, 1.281f, 2.324f, 0.000f, }, /* 23 (22.773) */ {0.881f, 1.606f, 6.995f, 1.419f, 2.446f, 0.000f, }, /* 24 (23.932) */ {0.844f, 1.582f, 7.020f, 1.281f, 2.324f, 0.000f, }, /* 25 (24.955) */ {0.789f, 1.520f, 7.203f, 1.281f, 2.324f, 0.000f, }, /* 26 (25.991) */ {0.869f, 1.547f, 6.995f, 1.030f, 1.754f, 3.102f, }, /* 28 (27.979) */ {0.817f, 1.492f, 7.120f, 1.030f, 1.754f, 3.102f, }, /* 29 (28.878) */ {0.755f, 1.382f, 7.133f, 1.030f, 1.754f, 3.102f, }, /* 30 (29.954) */ {0.706f, 1.315f, 7.225f, 1.030f, 1.754f, 3.102f, }, /* 31 (30.893) */ {0.689f, 1.296f, 7.290f, 1.016f, 1.875f, 3.239f, }, /* 32 (31.963) */ {0.698f, 1.275f, 7.209f, 0.914f, 1.548f, 2.433f, }, /* 33 (32.997) */ {0.679f, 1.315f, 7.290f, 1.229f, 1.845f, 0.813f, }, /* 34 (33.986) */ {0.679f, 1.315f, 7.290f, 1.188f, 0.772f, 1.955f, }, /* 35 (34.952) */ /* G NB*/ {1.011f, 1.777f, 2.760f, 1.614f, 0.000f, 0.000f, }, /* 21 */ {0.853f, 1.382f, 2.066f, 1.245f, 2.679f, 0.000f, }, /* 25 */ { 1.207f, 0.778f, 2.208f, 1.245f, 2.679f, 0.000f, }, /* 26 */ { 1.207f, 0.778f, 2.208f, 1.013f, 1.832f, 3.053f, }, /* 29 */ {1.207f, 0.778f, 2.208f, 1.420f, 0.872f, 2.330f, }, /* 30 */ {0.525f, 0.770f, 1.073f, 0.815f, 1.237f, 0.567f,}, /* 40 */ /* mode 7 AUDIO_WB 19-40 + 0 + 1 */ {1.070f, 1.791f, 3.903f, 1.599f, 0.000f, 0.000f}, /* 21 */ {0.820f, 1.217f, 2.089f, 1.255f, 2.290f, 0.000f}, /* 25 */ {0.780f, 1.169f, 2.495f, 1.255f, 2.290f, 0.000f}, /* 26 */ {1.075f, 0.723f, 2.361f, 1.110f, 1.961f, 3.491f}, /* 30 */ {0.691f, 1.029f, 2.337f, 1.034f, 1.791f, 4.004f}, /* 31 */ {0.671f, 1.076f, 2.606f, 0.955f, 1.547f, 2.514f}, /* 32 */ /*mode 8 AUDIO_NB */ {1.184f, 0.776f, 2.117f, 1.057f, 1.670f, 0.674f,}, /* 30 */ {0.521f, 0.747f, 1.033f, 0.796f, 1.333f, 0.542f,}, /* 40 */ /* mode 9 AUDIO_WB 16k 19-40+ 0 + 1*/ {1.679f, 0.000f, 0.000f, 1.282f, 2.471f, 0.000f, }, /* 17 (16.823) */ {1.088f, 1.849f, 3.195f, 1.687f, 0.000f, 0.000f, }, /* 21 (20.910) */ {1.088f, 1.849f, 3.195f, 1.282f, 2.471f, 0.000f, }, /* 22 (21.907) */ {1.126f, 1.689f, 0.790f, 1.282f, 2.471f, 0.000f, }, /* 25 (24.863) */ {0.930f, 1.382f, 0.682f, 1.282f, 2.471f, 0.000f, }, /* 26 (25.921) */ {1.115f, 0.794f, 1.852f, 1.281f, 3.033f, 0.000f, }, /* 27 (26.837) */ {0.840f, 1.376f, 0.623f, 0.800f, 1.416f, 4.260f, }, /* 36 (35.998) */ /* INACTIVE NB */ {0.801f, 1.148f, 1.802f, 0.000f, 0.000f, 0.000f, }, /* 17 (16.932) */ {1.089f, 1.812f, 3.172f, 1.677f, 0.000f, 0.000f, }, /* 21 (20.910) */ {1.089f, 1.904f, 3.221f, 1.521f, 2.635f, 0.000f, }, /* 22 (21.985) */ {0.845f, 1.212f, 1.934f, 1.313f, 2.419f, 0.000f, }, /* 25 (24.845) */ {0.779f, 1.095f, 1.700f, 1.313f, 2.419f, 0.000f, }, /* 26 (25.999) */ {0.723f, 1.015f, 1.664f, 1.313f, 2.419f, 0.000f, }, /* 27 (26.981) */ {0.893f, 0.652f, 1.438f, 1.076f, 0.720f, 1.794f, }, /* 36 (35.929) */ /* INACTIVE WB*/ {1.359f, 2.306f, 0.000f, 1.669f, 0.000f, 0.000f, }, /* 17 (16.823) */ {1.077f, 1.927f, 3.546f, 1.669f, 0.000f, 0.000f, }, /* 21 (20.910) */ {1.077f, 2.032f, 3.578f, 1.429f, 2.711f, 0.000f, }, /* 22 (21.985) */ {0.833f, 1.253f, 2.105f, 1.283f, 2.556f, 0.000f, }, /* 25 (24.845) */ {0.776f, 1.152f, 1.858f, 1.283f, 2.556f, 0.000f, }, /* 26 (25.934) */ {0.719f, 1.066f, 1.732f, 1.283f, 2.556f, 0.000f, }, /* 27 (26.914) */ {0.941f, 0.651f, 1.565f, 0.722f, 1.190f, 1.940f, }, /* 36 (35.915) */ /* INACTIVE 16k*/ {1.292f, 2.479f, 0.000f, 1.541f, 0.000f, 0.000f, }, /* 18 (17.479) */ {1.202f, 1.903f, 0.000f, 1.541f, 0.000f, 0.000f, }, /* 19 (18.703) */ {1.028f, 1.641f, 2.455f, 1.648f, 0.000f, 0.000f, }, /* 22 (21.776) */ {1.247f, 0.878f, 2.329f, 1.648f, 0.000f, 0.000f, }, /* 23 (22.791) */ {0.863f, 1.358f, 2.522f, 1.648f, 0.000f, 0.000f, }, /* 24 (23.999) */ {0.817f, 1.222f, 2.010f, 1.074f, 1.785f, 2.733f, }, /* 29 (28.966) */ {0.815f, 0.612f, 1.281f, 1.055f, 1.724f, 2.952f, }, /* 32 (31.990) */ /* UNVOICED NB */ {1.545f, 0.000f, 0.000f, 1.548f, 0.000f, 0.000f, }, /* 14 (13.640) */ {1.640f, 0.000f, 0.000f, 1.548f, 0.000f, 0.000f, }, /* 15 (14.733) */ {1.287f, 2.749f, 0.000f, 1.548f, 0.000f, 0.000f, }, /* 18 (17.479) */ {1.287f, 2.749f, 0.000f, 1.654f, 0.000f, 0.000f, }, /* 19 (18.572) */ {1.190f, 2.026f, 0.000f, 1.654f, 0.000f, 0.000f, }, /* 20 (19.796) */ {0.931f, 1.458f, 2.450f, 1.294f, 2.742f, 0.000f, }, /* 25 (24.992) */ {0.877f, 1.396f, 2.737f, 1.081f, 1.816f, 3.360f, }, /* 28 (27.996) */ /* UNVOICED WB*/ {1.131f, 1.636f, 0.000f, 1.371f, 0.000f, 0.000f, }, /* 24 (23.818) */ {0.934f, 1.277f, 0.728f,1.157f, 1.697f, 0.000f, }, /* 30 (29.992) */ {0.833f, 1.162f, 0.658f,1.151f, 1.687f, 0.000f, }, /* 31 (30.998) */ {0.751f, 1.032f, 0.598f,1.151f, 1.687f, 0.000f, }, /* 32 (31.987) */ {0.709f, 1.005f, 0.570f, 1.060f, 1.772f, 2.719f, }, /* 34 (33.994) */ {0.746f, 1.001f, 0.601f,1.004f, 1.803f, 2.892f, }, /* 35 (35.000) */ {0.743f, 1.000f, 0.599f,0.936f, 1.861f, 2.874f, }, /* 36 (35.994) */ {0.775f, 0.614f, 1.037f, 0.796f, 1.304f, 1.905f, }, /* 39 (38.301) */ /* VOICED 16k */ {0.894f, 1.339f, 2.549f, 1.308f, 2.601f, 0.000f, }, /* 26 (25.917) */ {0.720f, 1.012f, 1.598f, 1.512f, 0.926f, 2.137f, }, /* 32 (31.980) */ {0.681f, 0.973f, 1.649f, 1.381f, 0.876f, 2.129f, }, /* 33 (32.990) */ {0.684f, 0.964f, 1.640f, 1.168f, 1.776f, 0.787f, }, /* 34 (33.974) */ {0.668f, 0.935f, 1.551f, 1.016f, 1.518f, 0.712f, }, /* 35 (34.989) */ {0.659f, 0.911f, 1.425f, 1.337f, 0.889f, 0.642f, }, /* 36 (35.988) */ {0.659f, 0.911f, 1.425f, 0.839f, 1.287f, 0.607f, }, /* 37 (36.989) */ /* GENERIC 16k*/ {1.633f, 0.000f, 0.000f, 1.687f, 0.000f, 0.000f, }, /* 16 (15.826) */ {1.076f, 1.790f, 2.942f, 1.687f, 0.000f, 0.000f, }, /* 21 (20.910) */ {0.834f, 1.229f, 1.890f, 1.687f, 0.000f, 0.000f, }, /* 24 (23.999) */ {0.938f, 1.404f, 2.153f, 1.306f, 2.630f, 0.000f, }, /* 25 (24.992) */ {1.340f, 0.886f, 2.320f, 1.306f, 2.630f, 0.000f, }, /* 26 (25.917) */ {0.833f, 1.250f, 1.908f, 1.306f, 2.630f, 0.000f, }, /* 27 (26.883) */ {0.833f, 1.213f, 1.873f, 1.125f, 1.839f, 2.819f, }, /* 28 (27.901) */ {0.765f, 1.162f, 1.690f, 1.024f, 1.738f, 2.838f, }, /* 30 (29.916) */ {0.725f, 1.050f, 1.791f, 1.480f, 0.922f, 3.104f, }, /* 31 (30.993) */ {0.712f, 1.012f, 1.549f, 1.494f, 0.903f, 3.364f, }, /* 32 (31.980) */ {0.659f, 0.927f, 1.357f, 1.494f, 0.903f, 3.364f, }, /* 33 (32.958) */ {0.822f, 0.614f, 1.288f, 0.910f, 1.509f, 2.255f, }, /* 34 (33.987) */ {0.841f, 0.624f, 1.278f, 1.161f, 0.762f, 1.808f, }, /* 35 (34.994) */ {0.838f, 0.622f, 1.266f, 1.080f, 0.711f, 1.710f, }, /* 36 (35.968) */ {0.832f, 0.619f, 1.275f, 0.938f, 1.430f, 0.644f, }, /* 37 (36.971) */ /* GENERIC 12.8k MA*/ {0.884f, 1.349f, 2.570f, 1.314f, 2.609f, 0.000f, }, /* 26 (25.917) */ {0.711f, 1.018f, 1.615f, 1.482f, 0.921f, 3.431f, }, /* 32 (31.980) */ {0.679f, 0.974f, 1.659f, 0.948f, 1.549f, 3.448f, }, /* 33 (32.995) */ {0.831f, 0.618f, 1.481f, 0.933f, 1.514f, 2.310f, }, /* 34 (33.993) */ {0.816f, 0.610f, 1.402f, 1.426f, 0.877f, 2.265f, }, /* 35 (34.992) */ {0.787f, 1.257f, 0.596f, 0.859f, 1.447f, 2.431f, }, /* 36 (35.997) */ {0.787f, 1.257f, 0.596f, 1.106f, 0.735f, 1.659f, }, /* 37 (36.961) */ /* AUDIO 16k */ }; /* An 16-by-34 matrix in Scale = 20.48f */ const float sigma[][16] = { { 1.0f }, /* IA NB */ { 1.0f }, /* UV NB */ {41.8457031f, 43.9453125f, 62.5976563f, 72.3632813f, 78.7597656f, 82.4707031f, 85.4492188f, 86.5722656f, 86.6210938f, 84.9121094f, 85.2050781f, 105.5664063f, 127.8320313f, 68.6523438f, 25.7324219f, 16.9433594f }, /* V NB */ {48.9257813f, 50.5859375f, 71.0449219f, 72.4609375f, 74.5117188f, 77.8808594f, 79.5898438f, 80.8105469f, 79.9804688f, 74.5117188f, 70.0683594f, 88.7207031f, 119.1406250f, 102.0019531f, 37.1093750f, 25.0976563f }, /* G NB */ {48.2421875f, 48.0468750f, 68.7500000f, 76.9531250f, 80.9570313f, 85.1562500f, 89.0625000f, 91.8457031f, 90.4296875f, 85.2050781f, 81.5917969f, 106.2988281f, 133.6425781f, 84.3750000f, 34.7656250f, 26.6113281f }, /* T NB */ {85.5957031f, 82.9101563f, 99.5605469f, 105.9570313f, 106.6406250f, 106.8847656f, 101.6601563f, 99.5605469f, 97.7050781f, 97.0703125f, 97.1191406f, 117.8710938f, 128.1738281f, 153.9550781f, 33.1542969f, 14.5996094f },/* AU NB*/ { 1.0f }, { 1.0f }, /* UV WB*/ {44.2382813f, 52.1972656f, 85.7910156f, 98.6816406f, 101.7089844f, 107.2753906f, 106.9824219f, 112.0605469f, 118.8476563f, 126.3183594f, 125.4882813f, 126.8554688f, 136.3281250f, 136.7675781f, 146.9726563f, 129.7851563f }, /* V WB */ {61.8164063f, 69.8730469f, 94.6289063f, 97.0214844f, 96.0449219f, 101.3671875f, 100.5371094f, 104.3945313f, 108.5937500f, 106.9824219f, 107.9101563f, 112.8417969f, 120.7519531f, 120.6542969f, 122.0214844f, 119.6289063f }, /* G WB */ {56.8847656f, 56.9335938f, 86.7187500f, 100.1953125f, 101.9042969f, 108.5449219f, 113.4765625f, 117.9199219f, 124.1699219f, 122.1679688f, 126.3183594f, 137.4023438f, 153.9550781f, 158.8867188f, 161.9140625f, 155.9570313f }, /* T WB */ {84.8632813f, 88.6230469f, 112.0605469f, 118.3593750f, 123.3886719f, 121.0937500f, 115.4785156f, 118.7011719f, 118.5058594f, 119.0429688f, 123.9257813f, 127.6855469f, 138.5742188f, 125.2441406f, 118.9941406f, 109.0332031f },/* AU WB */ { 1.0f }, { 1.0f }, {75.2441406f, 84.3261719f, 110.6933594f, 125.0000000f, 134.0332031f, 140.3808594f, 146.6308594f, 159.5214844f, 161.3281250f, 173.9746094f, 186.9628906f, 190.9667969f, 196.2402344f, 181.9335938f, 177.9785156f, 187.2070313f }, /* VO 16k */ {89.6972656f, 92.9687500f, 122.0703125f, 129.0527344f, 130.4687500f, 128.3691406f, 132.5683594f, 139.2578125f, 137.9882813f, 139.9902344f, 152.8320313f, 157.3730469f, 172.4121094f, 179.4433594f, 147.9980469f, 194.1894531f }, /* G 16k */ {90.3320313f, 108.3496094f, 118.7500000f, 125.7324219f, 135.7421875f, 137.9882813f, 143.0175781f, 145.1660156f, 145.8007813f, 155.1757813f, 171.2402344f, 176.1230469f, 165.4785156f, 161.3769531f, 148.6816406f, 174.4140625f }, /* T 16k */ {103.1250000f, 112.3046875f, 142.3339844f, 150.6347656f, 150.0488281f, 145.8496094f, 149.3164063f, 145.8496094f, 153.5156250f, 157.3242188f, 175.0000000f, 170.9960938f, 157.4707031f, 168.1152344f, 156.5917969f, 229.0527344f },/* AU 16k */ {87.5488281f, 116.4062500f, 102.3925781f, 103.1738281f, 100.8789063f, 95.2636719f, 101.7578125f, 110.5468750f, 122.2167969f, 115.2343750f, 107.2753906f, 108.8378906f, 101.7089844f, 111.5722656f, 111.6699219f, 155.9570313f }, {160.5957031f, 122.6074219f, 117.4804688f, 129.7363281f, 130.9570313f, 133.8378906f, 139.1601563f, 159.9121094f, 168.0664063f, 161.3281250f, 141.9433594f, 142.1386719f, 132.0312500f, 129.8828125f, 122.9980469f, 160.9863281f }, {53.2226563f, 105.1757813f, 133.9355469f, 143.3593750f, 158.2031250f, 168.1640625f, 160.5957031f, 164.4042969f, 173.4863281f, 182.0800781f, 170.0683594f, 165.3320313f, 128.1738281f, 96.5332031f, 91.9433594f, 93.7988281f }, {69.5312500f, 169.0429688f, 118.9453125f, 104.6875000f, 100.7812500f, 98.3398438f, 98.8281250f, 95.9472656f, 97.8027344f, 97.6562500f, 95.8496094f, 99.8046875f, 94.3847656f, 106.5917969f, 117.1386719f, 144.7265625f }, {136.1816406f, 130.5175781f, 130.9082031f, 133.3007813f, 131.3476563f, 129.1992188f, 133.8867188f, 166.1621094f, 197.0703125f, 281.9824219f, 305.7617188f, 255.8105469f, 392.7734375f, 336.6699219f, 135.2050781f, 96.7773438f }, {123.0957031f, 119.6777344f, 126.3183594f, 119.5800781f, 117.3339844f, 108.4472656f, 107.9101563f, 112.2070313f, 148.2910156f, 153.9550781f, 127.6367188f, 129.9316406f, 132.5683594f, 149.3164063f, 144.6777344f, 244.6289063f }, {92.3339844f, 97.5097656f, 94.0917969f, 90.2832031f, 94.1894531f, 95.8007813f, 92.8710938f, 86.4746094f, 83.8867188f, 74.1699219f, 70.8984375f, 69.3847656f, 71.5332031f, 167.2851563f, 71.8750000f, 21.5820313f }, {44.0429688f, 73.9257813f, 140.6738281f, 121.8750000f, 129.5410156f, 127.3437500f, 115.7226563f, 104.8339844f, 106.2500000f, 110.0097656f, 125.0000000f, 107.5195313f, 85.6445313f, 79.2968750f, 69.9218750f, 55.9570313f }, {106.4453125f, 99.4140625f, 95.6542969f, 92.7246094f, 94.3359375f, 92.0898438f, 83.6914063f, 84.7167969f, 87.1582031f, 101.6113281f, 91.1621094f, 75.3417969f, 73.0957031f, 71.5332031f, 68.0175781f, 63.7207031f }, {43.3105469f, 125.5371094f, 107.4707031f, 85.4003906f, 83.1542969f, 80.7617188f, 78.8574219f, 80.0781250f, 80.1269531f, 88.0859375f, 93.2128906f, 81.3964844f, 74.8535156f, 73.0957031f, 65.8203125f, 59.3750000f }, {149.6093750f, 127.3925781f, 117.1875000f, 111.9628906f, 113.4277344f, 113.8671875f, 107.8125000f, 97.9492188f, 100.7324219f, 113.5253906f, 167.9687500f, 203.4667969f, 154.9804688f, 119.1894531f, 107.1289063f, 104.8828125f }, {59.5214844f, 86.2792969f, 106.0058594f, 113.7207031f, 134.4726563f, 120.9960938f, 120.4589844f, 100.4882813f, 98.5839844f, 100.0488281f, 132.3730469f, 191.8457031f, 194.7753906f, 77.8320313f, 70.0195313f, 41.9433594f }, {88.2812500f, 92.3828125f, 92.1386719f, 93.5546875f, 97.6074219f, 92.7734375f, 89.0625000f, 87.2070313f, 88.8671875f, 94.1406250f, 121.5820313f, 121.9238281f, 116.7968750f, 122.1191406f, 164.5996094f, 140.4296875f }, {86.2792969f, 92.8710938f, 83.5937500f, 86.0839844f, 95.8984375f, 95.2148438f, 90.5273438f, 86.5234375f, 82.1289063f, 81.3964844f, 77.9785156f, 89.4042969f, 143.7011719f, 168.3593750f, 41.5039063f, 27.6855469f }, {97.1679688f, 101.0253906f, 104.3945313f, 110.4003906f, 108.7890625f, 107.4707031f, 97.8515625f, 92.6757813f, 79.1503906f, 81.6406250f, 77.1972656f, 108.8867188f, 212.2070313f, 198.8281250f, 47.4609375f, 35.3515625f }, {74.8535156f, 97.3632813f, 100.1464844f, 91.6992188f, 90.3808594f, 89.6484375f, 83.2031250f, 84.0820313f, 81.9335938f, 96.4355469f, 110.9863281f, 92.6757813f, 83.4960938f, 82.1289063f, 77.8808594f, 70.8984375f} }; /* An 16-by-34 matrix in Scale = 20.48f */ const float inv_sigma[][16] = { {1.0f }, /* IA NB */ {1.0f }, /* UV NB */ {0.0238973f, 0.0227556f, 0.0159750f, 0.0138192f, 0.0126968f, 0.0121255f, 0.0117029f, 0.0115510f, 0.0115445f, 0.0117769f, 0.0117364f, 0.0094727f, 0.0078228f, 0.0145661f, 0.0388615f, 0.0590202f }, /* V NB */ {0.0204391f, 0.0197683f, 0.0140756f, 0.0138005f, 0.0134207f, 0.0128401f, 0.0125644f, 0.0123746f, 0.0125031f, 0.0134207f, 0.0142718f, 0.0112713f, 0.0083934f, 0.0098037f, 0.0269474f, 0.0398444f }, /* G NB */ {0.0207287f, 0.0208130f, 0.0145455f, 0.0129949f, 0.0123522f, 0.0117431f, 0.0112281f, 0.0108878f, 0.0110583f, 0.0117364f, 0.0122561f, 0.0094074f, 0.0074826f, 0.0118519f, 0.0287640f, 0.0375780f }, /* T NB */ {0.0116828f, 0.0120612f, 0.0100441f, 0.0094378f, 0.0093773f, 0.0093559f, 0.0098367f, 0.0100441f, 0.0102349f, 0.0103018f, 0.0102966f, 0.0084838f, 0.0078019f, 0.0064954f, 0.0301620f, 0.0684950f }, /* AU NB */ {1.0f }, {1.0f }, /* UV WB */ {0.0226049f, 0.0191581f, 0.0116562f, 0.0101336f, 0.0098320f, 0.0093218f, 0.0093473f, 0.0089237f, 0.0084141f, 0.0079165f, 0.0079689f, 0.0078830f, 0.0073352f, 0.0073117f, 0.0068040f, 0.0077050f }, /* V WB */ {0.0161769f, 0.0143117f, 0.0105676f, 0.0103070f, 0.0104118f, 0.0098651f, 0.0099466f, 0.0095790f, 0.0092086f, 0.0093473f, 0.0092670f, 0.0088620f, 0.0082814f, 0.0082881f, 0.0081953f, 0.0083592f }, /* G WB */ {0.0175794f, 0.0175643f, 0.0115315f, 0.0099805f, 0.0098131f, 0.0092128f, 0.0088124f, 0.0084803f, 0.0080535f, 0.0081855f, 0.0079165f, 0.0072779f, 0.0064954f, 0.0062938f, 0.0061761f, 0.0064120f }, /* T WB */ {0.0117837f, 0.0112837f, 0.0089237f, 0.0084488f, 0.0081045f, 0.0082581f, 0.0086596f, 0.0084245f, 0.0084384f, 0.0084003f, 0.0080693f, 0.0078317f, 0.0072163f, 0.0079844f, 0.0084038f, 0.0091715f }, /* AU WB */ {1.0f }, {1.0f }, {0.0132901f, 0.0118587f, 0.0090340f, 0.0080000f, 0.0074608f, 0.0071235f, 0.0068198f, 0.0062687f, 0.0061985f, 0.0057480f, 0.0053487f, 0.0052365f, 0.0050958f, 0.0054965f, 0.0056187f, 0.0053417f }, /* V 16k */ {0.0111486f, 0.0107563f, 0.0081920f, 0.0077488f, 0.0076647f, 0.0077900f, 0.0075433f, 0.0071809f, 0.0072470f, 0.0071434f, 0.0065431f, 0.0063543f, 0.0058001f, 0.0055728f, 0.0067568f, 0.0051496f }, /* G 16k */ {0.0110703f, 0.0092294f, 0.0084211f, 0.0079534f, 0.0073669f, 0.0072470f, 0.0069921f, 0.0068887f, 0.0068587f, 0.0064443f, 0.0058397f, 0.0056778f, 0.0060431f, 0.0061967f, 0.0067258f, 0.0057335f }, /* T 16k */ {0.0096970f, 0.0089043f, 0.0070257f, 0.0066386f, 0.0066645f, 0.0068564f, 0.0066972f, 0.0068564f, 0.0065140f, 0.0063563f, 0.0057143f, 0.0058481f, 0.0063504f, 0.0059483f, 0.0063860f, 0.0043658f }, /* AU 16k */ {0.0114222f, 0.0085906f, 0.0097663f, 0.0096924f, 0.0099129f, 0.0104972f, 0.0098273f, 0.0090459f, 0.0081822f, 0.0086780f, 0.0093218f, 0.0091880f, 0.0098320f, 0.0089628f, 0.0089550f, 0.0064120f }, {0.0062268f, 0.0081561f, 0.0085121f, 0.0077079f, 0.0076361f, 0.0074717f, 0.0071860f, 0.0062534f, 0.0059500f, 0.0061985f, 0.0070451f, 0.0070354f, 0.0075740f, 0.0076992f, 0.0081302f, 0.0062117f }, {0.0187890f, 0.0095079f, 0.0074663f, 0.0069755f, 0.0063210f, 0.0059466f, 0.0062268f, 0.0060826f, 0.0057641f, 0.0054921f, 0.0058800f, 0.0060484f, 0.0078019f, 0.0103591f, 0.0108763f, 0.0106611f }, {0.0143820f, 0.0059157f, 0.0084072f, 0.0095522f, 0.0099225f, 0.0101688f, 0.0101186f, 0.0104224f, 0.0102247f, 0.0102400f, 0.0104330f, 0.0100196f, 0.0105949f, 0.0093816f, 0.0085369f, 0.0069096f }, {0.0073431f, 0.0076618f, 0.0076389f, 0.0075018f, 0.0076134f, 0.0077400f, 0.0074690f, 0.0060182f, 0.0050743f, 0.0035463f, 0.0032705f, 0.0039091f, 0.0025460f, 0.0029703f, 0.0073962f, 0.0103330f }, {0.0081238f, 0.0083558f, 0.0079165f, 0.0083626f, 0.0085227f, 0.0092211f, 0.0092670f, 0.0089121f, 0.0067435f, 0.0064954f, 0.0078347f, 0.0076964f, 0.0075433f, 0.0066972f, 0.0069119f, 0.0040878f }, {0.0108302f, 0.0102554f, 0.0106279f, 0.0110763f, 0.0106169f, 0.0104383f, 0.0107676f, 0.0115641f, 0.0119208f, 0.0134826f, 0.0141047f, 0.0144124f, 0.0139795f, 0.0059778f, 0.0139130f, 0.0463348f }, {0.0227051f, 0.0135271f, 0.0071086f, 0.0082051f, 0.0077196f, 0.0078528f, 0.0086414f, 0.0095389f, 0.0094118f, 0.0090901f, 0.0080000f, 0.0093006f, 0.0116762f, 0.0126108f, 0.0143017f, 0.0178709f }, {0.0093945f, 0.0100589f, 0.0104543f, 0.0107846f, 0.0106004f, 0.0108590f, 0.0119487f, 0.0118040f, 0.0114734f, 0.0098414f, 0.0109695f, 0.0132728f, 0.0136807f, 0.0139795f, 0.0147021f, 0.0156935f }, {0.0230891f, 0.0079658f, 0.0093049f, 0.0117095f, 0.0120258f, 0.0123821f, 0.0126811f, 0.0124878f, 0.0124802f, 0.0113525f, 0.0107281f, 0.0122855f, 0.0133594f, 0.0136807f, 0.0151929f, 0.0168421f }, {0.0066841f, 0.0078498f, 0.0085333f, 0.0089315f, 0.0088162f, 0.0087822f, 0.0092754f, 0.0102094f, 0.0099273f, 0.0088086f, 0.0059535f, 0.0049148f, 0.0064524f, 0.0083900f, 0.0093345f, 0.0095345f }, {0.0168007f, 0.0115903f, 0.0094334f, 0.0087935f, 0.0074365f, 0.0082647f, 0.0083016f, 0.0099514f, 0.0101436f, 0.0099951f, 0.0075544f, 0.0052125f, 0.0051341f, 0.0128482f, 0.0142817f, 0.0238417f }, {0.0113274f, 0.0108245f, 0.0108532f, 0.0106889f, 0.0102451f, 0.0107789f, 0.0112281f, 0.0114670f, 0.0112527f, 0.0106224f, 0.0082249f, 0.0082018f, 0.0085619f, 0.0081887f, 0.0060753f, 0.0071210f }, {0.0115903f, 0.0107676f, 0.0119626f, 0.0116166f, 0.0104277f, 0.0105026f, 0.0110464f, 0.0115576f, 0.0121760f, 0.0122855f, 0.0128240f, 0.0111851f, 0.0069589f, 0.0059397f, 0.0240941f, 0.0361199f }, {0.0102915f, 0.0098985f, 0.0095790f, 0.0090579f, 0.0091921f, 0.0093049f, 0.0102196f, 0.0107903f, 0.0126342f, 0.0122488f, 0.0129538f, 0.0091839f, 0.0047124f, 0.0050295f, 0.0210700f, 0.0282873f }, {0.0133594f, 0.0102708f, 0.0099854f, 0.0109052f, 0.0110643f, 0.0111547f, 0.0120188f, 0.0118931f, 0.0122050f, 0.0103696f, 0.0090101f, 0.0107903f, 0.0119766f, 0.0121760f, 0.0128401f, 0.0141047f} }; /* An 16-by-19 matrix in Scale = 20.48f */ const float sigma_p[][16] = { {59.3261719f, 63.9160156f, 69.7753906f, 66.3574219f, 67.3339844f, 68.5546875f, 66.6015625f, 66.0156250f, 66.0156250f, 67.9687500f, 68.2617188f, 84.3261719f, 96.5820313f, 118.6523438f, 44.0917969f, 43.1152344f }, /* IA NB */ {51.2207031f, 66.6015625f, 69.3847656f, 68.6035156f, 67.9199219f, 69.6289063f, 69.6777344f, 69.5800781f, 52.5878906f, 64.9902344f, 65.3808594f, 68.7500000f, 71.4355469f, 77.0507813f, 77.9296875f, 80.3222656f }, /* U NB */ {32.7148438f, 34.9121094f, 47.0703125f, 55.6152344f, 60.1562500f, 68.3105469f, 71.8261719f, 72.7539063f, 73.8281250f, 70.8984375f, 69.4335938f, 77.1972656f, 95.8007813f, 74.3164063f, 20.8984375f, 10.9375000f }, /* V NB */ {53.8085938f, 61.3281250f, 78.1738281f, 75.8789063f, 73.7792969f, 81.3964844f, 80.7128906f, 80.5664063f, 83.6914063f, 77.0996094f, 72.5097656f, 86.6210938f, 121.6796875f, 117.7734375f, 40.0390625f, 16.8945313f },/* G NB */ {1.0f }, /* T NB */ {57.0312500f, 64.5996094f, 71.4355469f, 75.8789063f, 77.0507813f, 79.0039063f, 74.5117188f, 74.2187500f, 72.9492188f, 72.8515625f, 66.9433594f, 73.9257813f, 109.6191406f, 121.5332031f, 23.7792969f, 13.3789063f }, /* AU NB */ {55.4687500f, 65.6738281f, 71.8261719f, 71.6308594f, 73.0468750f, 74.3164063f, 73.0957031f, 73.4863281f, 73.8769531f, 75.2441406f, 78.0761719f, 82.6171875f, 90.1367188f, 95.8496094f, 66.0644531f, 68.9941406f }, /* IA WB */ {67.9687500f, 64.0625000f, 65.8203125f, 76.9531250f, 117.1875000f, 145.5078125f, 77.6855469f, 23.2421875f, 81.0546875f, 81.1035156f, 81.4453125f, 85.0585938f, 90.0878906f, 95.8984375f, 92.3828125f, 90.7226563f }, /* U WB */ {35.6933594f, 39.4042969f, 57.3242188f, 64.6484375f, 68.0175781f, 76.2695313f, 80.7128906f, 82.0800781f, 85.1562500f, 89.6484375f, 89.9414063f, 95.3613281f, 104.7363281f, 106.0546875f, 105.2734375f, 97.8515625f }, /* V WB */ {61.4257813f, 75.1464844f, 88.4277344f, 82.1777344f, 82.4218750f, 89.1601563f, 89.2578125f, 94.1894531f, 95.5566406f, 95.9472656f, 97.0703125f, 102.6367188f, 107.2265625f, 107.3730469f, 105.4199219f, 98.1933594f },/* G WB */ {1.0f },/* T WB */ {51.1230469f, 62.5976563f, 71.5820313f, 75.5371094f, 78.9550781f, 79.9804688f, 79.4433594f, 82.9101563f, 82.6171875f, 83.1054688f, 84.8632813f, 86.1328125f, 89.5996094f, 83.6914063f, 79.3945313f, 78.2226563f }, /* AU WB */ {72.9980469f, 86.2792969f, 90.0878906f, 89.5996094f, 92.4316406f, 90.5273438f, 90.5273438f, 92.1386719f, 97.3632813f, 101.3671875f, 111.7675781f, 110.8398438f, 97.5585938f, 93.1640625f, 92.8710938f, 115.7226563f },/* IA 16k */ {1.0f },/* U 16k */ {54.4921875f, 67.4804688f, 94.1406250f, 125.0000000f, 122.8027344f, 123.0957031f, 118.5546875f, 115.0878906f, 128.5644531f, 140.3808594f, 144.2382813f, 139.4042969f, 151.4160156f, 138.1347656f, 140.3808594f, 154.7851563f }, /* V 16k */ {96.8261719f, 117.3339844f, 132.5683594f, 134.4726563f, 140.7226563f, 136.8652344f, 141.6992188f, 141.1132813f, 143.8964844f, 152.6367188f, 168.5058594f, 169.1406250f, 158.4960938f, 156.1523438f, 147.4609375f, 182.4707031f },/* G 16k */ {1.0f },/* T 16k */ {55.1269531f, 70.3613281f, 83.1054688f, 87.2070313f, 90.5273438f, 91.4550781f, 94.7265625f, 93.6035156f, 97.6074219f, 98.7304688f, 104.6875000f, 99.6582031f, 95.6054688f, 91.6503906f, 88.4765625f, 78.2226563f, },/* NOT USED ! AU 16k */ {69.5312500f, 80.1757813f, 101.3183594f, 100.9277344f, 106.4941406f, 111.1816406f, 107.6171875f, 112.9882813f, 116.6992188f, 117.1875000f, 120.9472656f, 125.0976563f, 130.7617188f, 128.7109375f, 123.3886719f, 104.9316406f} /* G WB for MA*/ }; /* An 16-by-19 matrix in Scale = 20.48f */ const float inv_sigma_p[][16] = { {0.0168560f, 0.0156455f, 0.0143317f, 0.0150699f, 0.0148513f, 0.0145869f, 0.0150147f, 0.0151479f, 0.0151479f, 0.0147126f, 0.0146495f, 0.0118587f, 0.0103539f, 0.0084280f, 0.0226800f, 0.0231937f }, /* IA NB */ {0.0195234f, 0.0150147f, 0.0144124f, 0.0145765f, 0.0147232f, 0.0143619f, 0.0143518f, 0.0143719f, 0.0190158f, 0.0153869f, 0.0152950f, 0.0145455f, 0.0139986f, 0.0129785f, 0.0128321f, 0.0124498f }, /* U NB */ {0.0305672f, 0.0286434f, 0.0212448f, 0.0179807f, 0.0166234f, 0.0146390f, 0.0139225f, 0.0137450f, 0.0135450f, 0.0141047f, 0.0144023f, 0.0129538f, 0.0104383f, 0.0134560f, 0.0478505f, 0.0914286f }, /* V NB */ {0.0185844f, 0.0163057f, 0.0127920f, 0.0131789f, 0.0135539f, 0.0122855f, 0.0123896f, 0.0124121f, 0.0119487f, 0.0129702f, 0.0137912f, 0.0115445f, 0.0082183f, 0.0084909f, 0.0249756f, 0.0591908f }, /* G NB */ {1.0f }, /* T NB */ {0.0175342f, 0.0154800f, 0.0139986f, 0.0131789f, 0.0129785f, 0.0126576f, 0.0134207f, 0.0134737f, 0.0137082f, 0.0137265f, 0.0149380f, 0.0135271f, 0.0091225f, 0.0082282f, 0.0420534f, 0.0747445f }, /* AU NB */ {0.0180282f, 0.0152268f, 0.0139225f, 0.0139605f, 0.0136898f, 0.0134560f, 0.0136807f, 0.0136080f, 0.0135360f, 0.0132901f, 0.0128080f, 0.0121040f, 0.0110943f, 0.0104330f, 0.0151367f, 0.0144940f }, /* IA WB */ {0.0147126f, 0.0156098f, 0.0151929f, 0.0129949f, 0.0085333f, 0.0068725f, 0.0128724f, 0.0430252f, 0.0123373f, 0.0123299f, 0.0122782f, 0.0117566f, 0.0111003f, 0.0104277f, 0.0108245f, 0.0110226f }, /* U WB */ {0.0280164f, 0.0253779f, 0.0174446f, 0.0154683f, 0.0147021f, 0.0131114f, 0.0123896f, 0.0121832f, 0.0117431f, 0.0111547f, 0.0111183f, 0.0104864f, 0.0095478f, 0.0094291f, 0.0094991f, 0.0102196f }, /* V WB */ {0.0162798f, 0.0133073f, 0.0113087f, 0.0121687f, 0.0121327f, 0.0112158f, 0.0112035f, 0.0106169f, 0.0104650f, 0.0104224f, 0.0103018f, 0.0097431f, 0.0093260f, 0.0093133f, 0.0094859f, 0.0101840f }, /* G WB */ {1.0f }, /* T WB */ {0.0195606f, 0.0159750f, 0.0139700f, 0.0132385f, 0.0126654f, 0.0125031f, 0.0125876f, 0.0120612f, 0.0121040f, 0.0120329f, 0.0117837f, 0.0116100f, 0.0111608f, 0.0119487f, 0.0125953f, 0.0127840f }, /* AU WB */ {0.0136990f, 0.0115903f, 0.0111003f, 0.0111608f, 0.0108188f, 0.0110464f, 0.0110464f, 0.0108532f, 0.0102708f, 0.0098651f, 0.0089471f, 0.0090220f, 0.0102503f, 0.0107338f, 0.0107676f, 0.0086414f }, /* IA 16k*/ {1.0f }, /* U 16k */ {0.0183513f, 0.0148191f, 0.0106224f, 0.0080000f, 0.0081431f, 0.0081238f, 0.0084349f, 0.0086890f, 0.0077782f, 0.0071235f, 0.0069330f, 0.0071734f, 0.0066043f, 0.0072393f, 0.0071235f, 0.0064606f }, /* V 16k */ {0.0103278f, 0.0085227f, 0.0075433f, 0.0074365f, 0.0071062f, 0.0073065f, 0.0070572f, 0.0070865f, 0.0069494f, 0.0065515f, 0.0059345f, 0.0059122f, 0.0063093f, 0.0064040f, 0.0067815f, 0.0054803f }, /* G 16k */ {1.0f }, /* T 16k */ {0.0181399f, 0.0142124f, 0.0120329f, 0.0114670f, 0.0110464f, 0.0109343f, 0.0105567f, 0.0106834f, 0.0102451f, 0.0101286f, 0.0095522f, 0.0100343f, 0.0104597f, 0.0109110f, 0.0113024f, 0.0127840f },/* NOT USED ! AU 16k */ {0.0143820f, 0.0124726f, 0.0098699f, 0.0099081f, 0.0093902f, 0.0089943f, 0.0092922f, 0.0088505f, 0.0085690f, 0.0085333f, 0.0082681f, 0.0079938f, 0.0076475f, 0.0077693f, 0.0081045f, 0.0095300f} /* G WB for MA*/ }; const int no_lead[][MAX_NO_SCALES*2] = { { 1, 0, 0, 1, 0, 0, }, /* 14 */ { 2, 0, 0, 1, 0, 0, }, /* 15 */ { 4, 2, 0, 1, 0, 0, }, /* 18 */ { 4, 2, 0, 2, 0, 0, }, /* 19 */ { 7, 5, 2, 5, 4, 2, }, /* 25 */ { 8, 8, 3, 8, 6, 2, }, /* 28 */ /* mode 0 UV WB*/ { 4, 2, 0, 1, 0, 0, }, /* 18 */ { 4, 0, 0, 2, 1, 0, }, /* 19 */ { 9, 8, 8, 2, 2, 1, }, /* 24 */ { 8, 5, 2, 5, 2, 1, }, /* 25 */ { 18, 16, 8, 5, 5, 1, }, /* 29 */ { 24, 21, 10, 8, 8, 2, }, /* 32 */ /* mode 1 UV NB*/ { 2, 0, 0, 2, 0, 0, }, /* 17 */ { 4, 2, 0, 1, 0, 0, }, /* 18 */ { 7, 5, 2, 2, 0, 0, }, /* 21 */ { 5, 2, 1, 4, 1, 0, }, /* 22 */ { 8, 5, 2, 5, 2, 0, }, /* 25 */ { 8, 7, 4, 5, 3, 2, }, { 8, 8, 4, 6, 5, 2, }, { 13, 8, 5, 6, 5, 2, }, { 13, 8, 5, 8, 6, 2, }, { 13, 8, 5, 11, 8, 2, }, /* 30 */ { 24, 21, 8, 9, 8, 2, }, /* 32 */ { 23, 18, 8, 13, 11, 3, }, { 23, 21, 8, 17, 13, 4, }, /* 34 */ { 31, 31, 17, 26, 25, 9, }, /* 37 */ /* mode 2 V WB*/ { 2, 0, 0, 2, 2, 0, }, /* 17 */ { 4, 2, 0, 1, 0, 0, }, /* 18 */ { 7, 5, 2, 2, 2, 0, }, /* 22 */ { 8, 7, 2, 2, 2, 0, }, /* 23 */ { 11, 8, 2, 2, 2, 0, }, /* 24 */ { 13, 13, 9, 2, 2, 0, }, /* 25 */ { 13, 11, 7, 5, 2, 0, }, /* 27 */ { 18, 14, 9, 5, 5, 2, }, /* 29 */ { 31, 31, 14, 11, 11, 5, }, /* 34 */ { 31, 31, 27, 24, 21, 14, }, /* 37 */ /* mode 3 V NB */ { 5, 4, 0, 0, 0, 0, }, /* 12 (11.883) */ { 2, 0, 0, 2, 0, 0, }, /* 16 (15.826) */ { 4, 2, 0, 2, 0, 0, }, /* 19 (18.572) */ { 5, 4, 0, 2, 0, 0, }, /* 20 (19.796) */ { 7, 5, 2, 2, 0, 0, }, /* 21 (20.910) */ { 8, 7, 2, 2, 0, 0, }, /* 22 (21.776) */ { 5, 5, 2, 4, 2, 0, }, /* 23 (22.959) */ { 8, 8, 5, 4, 2, 0, }, /* 25 (24.992) */ { 8, 8, 7, 5, 2, 0, }, /* 26 (25.904) */ { 13, 9, 8, 5, 2, 0, }, /* 27 (26.829) */ { 13, 11, 8, 5, 5, 1, }, /* 28 (27.989) */ { 13, 9, 8, 8, 5, 2, }, /* 29 (28.984) */ { 22, 16, 10, 6, 5, 2, }, /* 30 (29.980) */ { 21, 14, 10, 8, 7, 2, }, /* 31 (30.966) */ { 24, 21, 10, 8, 8, 2, }, /* 32 (31.995) */ /* G WB*/ { 5, 4, 1, 0, 0, 0, }, /* 12 (11.925) */ { 2, 0, 0, 2, 0, 0, }, /* 16 (15.826) */ { 5, 4, 1, 1, 0, 0, }, /* 19 (18.745) */ { 5, 4, 1, 2, 0, 0, }, /* 20 (19.838) */ { 7, 5, 2, 2, 0, 0, }, /* 21 (20.910) */ { 8, 5, 2, 2, 1, 0, }, /* 22 (21.985) */ { 9, 8, 5, 2, 1, 0, }, /* 23 (22.815) */ { 14, 13, 8, 2, 2, 0, }, /* 25 (24.996) */ { 13, 8, 7, 4, 2, 0, }, /* 26 (25.993) */ { 13, 9, 8, 5, 2, 2, }, /* 27 (26.954) */ { 18, 13, 8, 5, 2, 2, }, /* 28 (27.992) */ { 21, 13, 11, 5, 3, 2, }, /* 29 (28.996) */ { 22, 21, 13, 5, 5, 2, }, /* 30 (29.988) */ { 23, 21, 17, 7, 5, 2, }, /* 31 (30.962) */ { 27, 23, 21, 8, 5, 2, }, /* 32 (31.987) */ /* G NB*/ { 2, 0, 0, 2, 0, 0, }, /* 17 */ { 4, 2, 0, 1, 0, 0, }, /* 18 */ { 4, 1, 0, 4, 0, 0, }, /* 21 */ { 5, 2, 0, 4, 1, 0, }, /* 22 */ { 8, 5, 2, 4, 0, 0, }, /* 24 */ { 8, 5, 2, 5, 2, 0, }, /* 25 */ { 14, 10, 5, 5, 5, 1, }, /* 28 */ { 14, 10, 5, 8, 8, 4, }, /* 30 */ { 13, 10, 5, 13, 8, 8, }, { 23, 21, 8, 8, 8, 4, }, { 23, 18, 5, 13, 8, 8, }, /* 33 */ /* mode 6 T WB */ { 2, 0, 0, 2, 2, 0, }, /* 17 */ { 4, 2, 0, 1, 0, 0, }, /* 18 */ { 7, 5, 2, 2, 2, 0, }, /* 22 */ { 8, 7, 4, 2, 2, 0, }, /* 23 */ { 11, 8, 5, 2, 2, 0, }, /* 24 */ { 18, 8, 5, 2, 2, 0, }, /* 25 */ { 16, 8, 5, 5, 5, 2, }, /* 28 */ { 28, 23, 8, 5, 5, 5, }, /* 31 */ { 31, 31, 8, 5, 5, 7, }, /* 32 */ /* mode 7 T NB */ { 18, 18, 11, 9, 6, 5, }, /* 31 */ { 24, 23, 13, 9, 6, 5, }, /* 32 */ /* mode 8 G 16k */ { 24, 23, 13, 9, 6, 5, }, /* 32 (31.998) */ { 36, 31, 18, 9, 6, 5, }, /* 33 (32.983) */ /* T 16k */ { 2, 0, 0, 2, 2, 0, }, /* 17 */ { 7, 5, 2, 2, 0, 0, }, /* 21 */ { 7, 5, 2, 2, 2, 0, }, /* 22 */ { 9, 8, 3, 4, 2, 0, }, /* 25 */ { 11, 9, 8, 4, 2, 0, }, /* 26 */ /* mode 10 AUDIO_WB*/ { 48, 48, 34, 13, 11, 9 }, /* 36 */ /* mode 10 AUDIO_WB 36 + 4 + 1 */ { 22, 10, 3, 0, 0, 0 }, /* 17 */ { 6, 6, 2, 2, 0, 0 }, /* 21 */ { 6, 6, 2, 2, 2, 0 }, /* 22 */ { 23, 10, 3, 2, 2, 0 }, /* 26 */ { 32, 16, 3, 2, 2, 0 }, /* 27 */ { 39, 30, 12, 2, 2, 0 }, /* 28 */ /* AUDIO_NB */ { 11, 9, 8, 4, 2, 0, }, /* 26 */ { 48, 48, 48, 13, 9, 8, }, /* 36 */ /* mode 12 AUDIO_WB 16k 15-36 + 4 + 1*/ { 8, 7, 2, 2, 0, 0, }, /* 22 (21.776) */ { 13, 13, 5, 5, 5, 0, }, /* 28 (27.994) */ { 18, 17, 5, 5, 5, 1, }, /* 29 (28.996) */ { 17, 13, 5, 8, 6, 2, }, /* 30 (29.991) */ { 23, 21, 8, 9, 8, 3, }, /* 32 (31.992) */ { 31, 29, 16, 8, 8, 3, }, /* 33 (32.993) */ { 31, 25, 16, 12, 8, 8, }, /* 34 (33.968) */ { 46, 48, 18, 18, 18, 12, }, /* 37 (36.995) */ /* VOICED 16k actually not used */ { 14, 12, 9, 2, 2, 0, }, /* 25 (24.980) */ { 15, 13, 3, 2, 2, 0, }, /* 25 (24.974) */ { 17, 3, 0, 2, 2, 1, }, /* 25 (24.852) */ { 13, 10, 3, 2, 2, 2, }, /* 25 (24.994) */ { 14, 13, 8, 2, 2, 0, }, /* 25 (24.996) */ { 7, 3, 0, 5, 3, 1, }, /* 25 (24.671) */ { 4, 3, 2, 6, 6, 5, }, /* 25 (24.936) */ { 4, 2, 0, 9, 9, 3, }, /* 25 (24.955) */ { 4, 2, 0, 9, 8, 2, }, /* 25 (24.853) */ { 4, 2, 0, 9, 7, 6, }, /* 25 (24.881) */ { 6, 3, 0, 6, 3, 2, }, /* 25 (24.939) */ { 3, 2, 0, 9, 8, 5, }, /* 25 (24.996) */ { 2, 2, 0, 15, 3, 3, }, /* 25 (24.310) */ { 4, 2, 0, 9, 9, 3, }, /* 25 (24.955) */ { 4, 4, 2, 7, 6, 3, }, /* 25 (24.984) */ { 3, 2, 0, 9, 7, 6, }, /* 25 (24.866) */ }; const int no_lead_p[][MAX_NO_SCALES*2] = { { 2, 1, 0, 0, 0, 0, }, /* 9 (8.464) */ { 4, 2, 0, 2, 0, 0, }, /* 19 (18.572) */ { 5, 5, 2, 4, 2, 0, }, /* 23 (22.959) */ { 8, 5, 2, 4, 0, 0, }, /* 24 (23.949) */ { 8, 8, 5, 4, 2, 0, }, /* 25 (24.992) */ { 13, 11, 5, 5, 2, 0, }, /* 27 (26.902) */ { 11, 10, 5, 6, 5, 2, }, /* 28 (27.996) */ { 14, 13, 5, 7, 5, 2, }, /* 29 (28.937) */ { 16, 13, 5, 8, 7, 2, }, /* 30 (29.954) */ { 21, 21, 5, 8, 5, 2, }, /* 31 (30.978) */ { 24, 21, 5, 8, 8, 4, }, /* 32 (31.978) */ { 32, 23, 5, 13, 11, 5, }, /* 34 (33.975) */ { 36, 31, 8, 16, 13, 5, }, /* 35 (34.975) */ { 45, 35, 16, 18, 13, 5, }, /* 36 (35.889) */ { 45, 35, 16, 38, 31, 8, }, /* 39 (38.488) */ /* V WB*/ /* 14 */ { 2, 0, 0, 0, 0, 0, }, /* 8 (7.913) */ { 4, 2, 0, 2, 0, 0, }, /* 19 (18.572) */ { 8, 7, 2, 2, 2, 0, }, /* 23 (22.773) */ { 13, 11, 5, 2, 1, 0, }, /* 24 (23.999) */ { 8, 8, 5, 4, 2, 0, }, /* 25 (24.992) */ { 13, 11, 5, 5, 2, 1, }, /* 27 (26.962) */ { 13, 11, 5, 5, 5, 2, }, /* 28 (27.835) */ { 14, 13, 5, 7, 5, 2, }, /* 29 (28.937) */ { 23, 21, 5, 5, 5, 2, }, /* 30 (29.969) */ { 23, 18, 5, 8, 5, 2, }, /* 31 (30.952) */ { 24, 21, 5, 8, 8, 4, }, /* 32 (31.978) */ { 43, 41, 13, 9, 8, 5, }, /* 34 (33.992) */ { 43, 36, 13, 13, 10, 5, }, /* 35 (35.000) */ { 43, 40, 13, 17, 13, 9, }, /* 36 (35.980) */ { 43, 42, 13, 31, 30, 18, }, /* 39 (38.512) */ /* V NB*/ /* 29 */ { 2, 0, 0, 1, 0, 0, }, /* 15 (14.733) */ { 5, 4, 1, 1, 0, 0, }, /* 19 (18.745) */ { 8, 7, 2, 2, 0, 0, }, /* 22 (21.776) */ { 10, 9, 5, 2, 0, 0, }, /* 23 (22.791) */ { 14, 13, 8, 2, 0, 0, }, /* 24 (23.999) */ { 14, 13, 8, 2, 2, 0, }, /* 25 (24.996) */ { 18, 17, 13, 2, 2, 0, }, /* 26 (25.934) */ { 14, 13, 8, 5, 4, 0, }, /* 28 (27.969) */ { 18, 17, 13, 5, 4, 2, }, /* 29 (28.996) */ { 22, 21, 13, 5, 5, 2, }, /* 30 (29.988) */ { 31, 23, 21, 5, 5, 2, }, /* 31 (30.931) */ { 27, 23, 21, 8, 5, 2, }, /* 32 (31.987) */ { 31, 23, 21, 9, 8, 5, }, /* 33 (32.982) */ { 32, 31, 24, 11, 8, 5, }, /* 34 (33.967) */ { 32, 32, 28, 13, 11, 8, }, /* 35 (34.994) */ /* G WB*/ /* 44 */ { 2, 0, 0, 1, 0, 0, }, /* 15 (14.733) */ { 5, 4, 2, 1, 0, 0, }, /* 19 (18.792) */ { 8, 5, 2, 2, 1, 0, }, /* 22 (21.985) */ { 8, 7, 2, 2, 2, 0, }, /* 23 (22.773) */ { 13, 11, 2, 2, 1, 0, }, /* 24 (23.932) */ { 16, 13, 2, 2, 2, 0, }, /* 25 (24.955) */ { 21, 17, 2, 2, 2, 0, }, /* 26 (25.991) */ { 13, 12, 2, 5, 5, 2, }, /* 28 (27.979) */ { 18, 16, 2, 5, 5, 2, }, /* 29 (28.878) */ { 23, 21, 2, 5, 5, 2, }, /* 30 (29.954) */ { 32, 28, 2, 5, 5, 2, }, /* 31 (30.893) */ { 38, 31, 2, 7, 5, 2, }, /* 32 (31.963) */ { 33, 31, 2, 8, 8, 4, }, /* 33 (32.997) */ { 42, 31, 2, 9, 9, 8, }, /* 34 (33.986) */ { 42, 31, 2, 13, 11, 9, }, /* 35 (34.952) */ /* G NB*/ /* 59 */ { 7, 5, 2, 2, 0, 0, }, /* 21 */ { 8, 8, 5, 4, 2, 0, }, /* 25 */ { 13, 8, 5, 4, 2, 0, }, /* 26 */ { 13, 8, 5, 8, 6, 2, }, /* 29 */ { 13, 8, 5, 9, 8, 5, }, /* 30 */ { 48, 48, 48, 36, 36, 28 }, /* 40 */ /* mode 7 AUDIO_WB */ /* 65*/ { 7, 5, 2, 2, 0, 0 }, /* 21 */ { 13, 13, 9, 2, 2, 0 }, /* 25 */ { 18, 18, 9, 2, 2, 0 }, /* 26 */ { 24, 23, 10, 5, 4, 2 }, /* 30 */ { 31, 31, 12, 5, 5, 2 }, /* 31 */ { 43, 34, 12, 5, 5, 4 }, /* 32 */ /*AUDIO_NB */ /* 71 */ { 13, 8, 5, 9, 8, 5, }, /* 30 */ { 48, 48, 45, 45, 31, 25, }, /* 40 */ /* mode AUDIO_WB 16k */ /* 73*/ { 2, 0, 0, 2, 2, 0, }, /* 17 (16.823) */ { 7, 5, 2, 2, 0, 0, }, /* 21 (20.910) */ { 7, 5, 2, 2, 2, 0, }, /* 22 (21.907) */ { 13, 11, 10, 2, 2, 0, }, /* 25 (24.863) */ { 18, 18, 10, 2, 2, 0, }, /* 26 (25.921) */ { 13, 9, 9, 5, 2, 0, }, /* 27 (26.837) */ { 40, 28, 25, 18, 17, 2, }, /* 36 (35.998) */ /* INACTIVE NB*/ /* 80*/ { 18, 17, 11, 0, 0, 0, }, /* 17 (16.932) */ { 7, 5, 2, 2, 0, 0, }, /* 21 (20.910) */ { 8, 5, 2, 2, 1, 0, }, /* 22 (21.985) */ { 13, 13, 9, 2, 2, 0, }, /* 25 (24.845) */ { 18, 18, 12, 2, 2, 0, }, /* 26 (25.999) */ { 23, 23, 16, 2, 2, 0, }, /* 27 (26.981) */ { 36, 32, 24, 17, 13, 13, }, /* 36 (35.929) */ /* INACTIVE WB */ { 2, 2, 0, 2, 0, 0, }, /* 17 (16.823) */ { 7, 5, 2, 2, 0, 0, }, /* 21 (20.910) */ { 8, 5, 2, 2, 1, 0, }, /* 22 (21.985) */ { 13, 13, 9, 2, 2, 0, }, /* 25 (24.845) */ { 18, 17, 13, 2, 2, 0, }, /* 26 (25.934) */ { 23, 22, 17, 2, 2, 0, }, /* 27 (26.914) */ { 34, 32, 24, 16, 16, 13, }, /* 36 (35.915) */ /* INACTIVE WB 16k*/ { 4, 2, 0, 1, 0, 0, }, /* 18 (17.479) */ { 5, 4, 0, 1, 0, 0, }, /* 19 (18.703) */ { 8, 7, 2, 2, 0, 0, }, /* 22 (21.776) */ { 10, 9, 5, 2, 0, 0, }, /* 23 (22.791) */ { 15, 13, 5, 2, 0, 0, }, /* 24 (23.999) */ { 18, 16, 8, 5, 5, 1, }, /* 29 (28.966) */ { 42, 32, 31, 5, 5, 2, }, /* 32 (31.990) */ /* UNVOICED NB*/ { 1, 0, 0, 1, 0, 0, }, /* 14 (13.640) */ { 2, 0, 0, 1, 0, 0, }, /* 15 (14.733) */ { 4, 2, 0, 1, 0, 0, }, /* 18 (17.479) */ { 4, 2, 0, 2, 0, 0, }, /* 19 (18.572) */ { 5, 4, 0, 2, 0, 0, }, /* 20 (19.796) */ { 8, 8, 5, 4, 2, 0, }, /* 25 (24.992) */ { 11, 10, 5, 6, 5, 2, }, /* 28 (27.996) */ /* UNVOICED WB */ { 9, 3, 0, 4, 0, 0, }, /* 24 (23.818) */ { 18, 13, 10, 8, 3, 0, }, /* 30 (29.992) */ { 24, 18, 10, 9, 3, 0, }, /* 31 (30.998) */ { 32, 25, 10, 9, 3, 0, }, /* 32 (31.987) */ { 42, 31, 10, 12, 3, 2, }, /* 34 (33.994) */ { 44, 32, 27, 15, 3, 2, }, /* 35 (35.000) */ { 44, 32, 25, 19, 3, 2, }, /* 36 (35.994) */ { 48, 39, 32, 35, 15, 3, }, /* 39 (38.301) */ /* VOICED 16k */ { 11, 10, 5, 4, 2, 0, }, /* 26 (25.917) */ { 23, 23, 17, 8, 7, 2, }, /* 32 (31.980) */ { 32, 31, 18, 9, 7, 5, }, /* 33 (32.990) */ { 31, 31, 18, 11, 9, 8, }, /* 34 (33.974) */ { 32, 32, 20, 13, 12, 8, }, /* 35 (34.989) */ { 32, 32, 23, 18, 17, 8, }, /* 36 (35.988) */ { 32, 32, 23, 23, 22, 10, }, /* 37 (36.989) */ /* GENERIC 16k*/ { 2, 0, 0, 2, 0, 0, }, /* 16 (15.826) */ { 7, 5, 2, 2, 0, 0, }, /* 21 (20.910) */ { 14, 13, 8, 2, 0, 0, }, /* 24 (23.999) */ { 8, 8, 5, 4, 2, 0, }, /* 25 (24.992) */ { 11, 10, 5, 4, 2, 0, }, /* 26 (25.917) */ { 16, 13, 8, 4, 2, 0, }, /* 27 (26.883) */ { 13, 13, 8, 5, 4, 2, }, /* 28 (27.901) */ { 23, 18, 13, 5, 5, 2, }, /* 30 (29.916) */ { 23, 23, 13, 7, 5, 2, }, /* 31 (30.993) */ { 23, 23, 17, 8, 7, 2, }, /* 32 (31.980) */ { 32, 31, 24, 8, 7, 2, }, /* 33 (32.958) */ { 42, 32, 31, 9, 9, 4, }, /* 34 (33.987) */ { 40, 32, 29, 12, 9, 9, }, /* 35 (34.994) */ { 40, 32, 31, 17, 11, 11, }, /* 36 (35.968) */ { 41, 32, 31, 20, 18, 13, }, /* 37 (36.971) */ /* GENERIC 12.8k MA*/ { 11, 10, 5, 4, 2, 0, }, /* 26 (25.917) */ { 23, 23, 17, 8, 7, 2, }, /* 32 (31.980) */ { 31, 31, 18, 9, 8, 2, }, /* 33 (32.995) */ { 48, 32, 24, 9, 8, 3, }, /* 34 (33.993) */ { 48, 32, 28, 11, 10, 3, }, /* 35 (34.992) */ { 48, 37, 32, 16, 12, 4, }, /* 36 (35.997) */ { 48, 37, 32, 18, 17, 12, }, /* 37 (36.961) */ /* AUDIO 16k */ }; const short min_lat_bits_SN[] = {-1, -1, 17, 12, 17, 17, -1, -1, 17, 12, 17, 17, -1, -1, 22, -1, 32, 26 }; const short min_lat_bits_pred[] = {17, 18, 9, 15, -1, 21, 17, 14, 9, 15, -1, 21, 17, -1, -1, 26, -1, 26, 16}; const short offset_in_lvq_mode_SN[][21] = { {0}, /* I NB */ {0,1,1,1,1,1,2,3,3,3,3,4,4,4,5}, /* UV NB*/ {0,1,1,1,1,2,3,4,5,5,6,6,7,7,7,7,7,8,8,8,9}, /* V NB */ {0,0,0,0,1,1,1,2,3,4,5,6,6,7,8,9,10,11,12,13,14}, /* G NB */ {0,1,1,1,1,2,3,4,5,5,5,6,6,6,7,8}, /* T NB */ {0,0,0,0,1,2,2,2,2,3,4,5}, /* A NB */ {0}, /* I WB */ {0,1,1,1,2,3,3,3,3,3,3,4,4,4,5}, /* UV WB*/ {0,1,1,1,2,3,3,3,4,5,6,7,8,9,9,10,11,12,12,12,13}, /* V WB */ {0,0,0,0,1,1,1,2,3,4,5,6,6,7,8,9,10,11,12,13,14}, /* G WB */ {0,1,1,1,2,3,3,4,5,5,5,6,6,7,8,9,10}, /* T WB */ {0,0,0,0,1,2,2,2,3,4,4,4,4,4,4,4,4,4,4,5}, /* A WB */ {0}, {0}, {0,0,0,0,0,0,1,2,3,3,4,5,6,6,6,7}, /* V 16k */ {0}, /* G 16k */ {0,1}, /* T 16k */ {0}, /*{0,0,0,0,0,0,0,0,0,0,1} */ /* A 16k */ }; const short offset_in_lvq_mode_pred[][32] = { {0,0,0,0,1,2,2,2,3,4,5,5,5,5,5,5,5,5,5,6}, /* I NB */ {0,1,1,1,2,3,4,4,4,4,4,5,5,5,6}, /* UV NB */ {0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,3,4,4,5,6,7,8,9,10,10,11,12,13,13,13,14}, /* V NB */ {0,0,0,0,1,1,1,2,3,4,5,6,6,7,8,9,10,11,12,13,14}, /* G NB */ {0}, /* T NB */ {0,0,0,0,1,2,2,2,2,3,4,5}, /* A NB */ {0,0,0,0,1,2,2,2,3,4,5,5,5,5,5,5,5,5,5,6}, /* I WB */ {0,1,1,1,2,3,4,4,4,4,4,5,5,5,6}, /* UV WB */ {0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,3,4,4,5,6,7,8,9,10,10,11,12,13,13,13,14}, /* V WB */ {0,0,0,0,1,1,1,2,3,4,5,6,6,7,8,9,10,11,12,13,14}, /* G WB */ {0}, /* T WB */ {0,0,0,0,1,2,2,2,3,4,4,4,4,4,4,4,4,4,4,5}, /* A WB */ {0,0,0,0,1,2,2,2,3,4,5,5,5,5,5,5,5,5,5,6}, /* I 16k */ {0}, /* UV 16k */ {0,0,0,0,0,0,1,2,3,3,4,5,6,6,6,7}, /* V 16k */ {0,0,0,0,0,0,1,2,3,4,5,6}, /* G 16k */ {0}, /* T 16k */ {0,0,0,0,0,0,1,2,3,4,5,6}, /* A 16k */ {0,0,0,0,0,1,1,1,2,3,4,5,6,6,7,8,9,10,11,12,13,14}, /* G WB MA*/ }; const short offset_lvq_modes_SN[] = {-1,-1,26,51,77,96,-1,-1,12,36,66,90,-1,-1,105,-1,88,102, 112 }; /* CNG */ const short offset_lvq_modes_pred[] = {74, 95, 15, 45, -1, 66, 81, 102, 0, 30, -1, 60, 88, -1, 109, 117, -1, 139, 124}; /*-----------------------------------------------------------------* * BC-TCVQ frame-end quantization tables (BC-TCVQ is used in Voiced mode for 16kHz isf) *-----------------------------------------------------------------*/ const int NTRANS[4][NUM_STATE] = {{0,2,4,6,8,10,12,14,0,2,4,6,8,10,12,14}, /* indices of previous state of first branche */ {1,3,5,7,9,11,13,15,1,3,5,7,9,11,13,15}, /* indices of previous state of second branches */ {4,2,1,3,0,2,1,3,2,0,3,1,7,0,3,1}, /* indices of previous subset of first branch */ {2,0,3,6,2,0,3,1,0,2,1,3,0,2,1,5} /* indices of previous subset of second branch */ }; const int NTRANS2[4][NUM_STATE] = {{0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7}, {8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15}, {4,2,2,0,1,3,3,6,0,2,2,0,1,3,3,1}, {2,0,0,2,3,1,1,3,7,0,0,2,3,1,1,5} }; /* BC-TCQ Bit Allocations */ const short BC_TCVQ_BIT_ALLOC_40B[M/2+4] = {1, 4, 5,5,4,4, 2,2,2,2, 5,4 }; /*1+39bit*/ const short FixBranch[4][4][N_STAGE_VQ - 4] = { {{0, 0, 0, 0}, {1, 0, 0, 0}, {0, 1, 0, 0}, {1, 1, 0, 0}}, /* incase of initial state 0 */ {{0, 0, 1, 0}, {1, 0, 1, 0}, {0, 1, 1, 0}, {1, 1, 1, 0}}, /* incase of initial state 4 */ {{0, 0, 0, 1}, {1, 0, 0, 1}, {0, 1, 0, 1}, {1, 1, 0, 1}}, /* incase of initial state 8 */ {{0, 0, 1, 1}, {1, 0, 1, 1}, {0, 1, 1, 1}, {1, 1, 1, 1}} /* incase of initial state 12 */ }; /* Intra-Prediction */ const float AR_IntraCoeff[N_STAGE_VQ-1][2][2] = { {{-0.292479f, 0.676331f}, {-0.422648f, 0.217490f}}, {{ 0.048957f, 0.500476f}, { 0.087301f, 0.287286f}}, {{ 0.199481f, 0.502784f}, { 0.106762f, 0.420907f}}, {{ 0.240459f, 0.440504f}, { 0.214255f, 0.396496f}}, {{ 0.193161f, 0.494850f}, { 0.158690f, 0.306771f}}, {{ 0.093435f, 0.370662f}, { 0.065526f, 0.148231f}}, {{ 0.037417f, 0.336906f}, {-0.024246f, 0.187298f}} }; const float SN_IntraCoeff[N_STAGE_VQ-1][2][2] = { {{-0.452324f, 0.808759f}, {-0.524298f, 0.305544f}}, {{ 0.009663f, 0.606028f}, {-0.013208f, 0.421115f}}, {{ 0.144877f, 0.673495f}, { 0.080963f, 0.580317f}}, {{ 0.208225f, 0.633144f}, { 0.215958f, 0.584520f}}, {{ 0.050822f, 0.767842f}, { 0.076879f, 0.416693f}}, {{ 0.005058f, 0.550614f}, {-0.006786f, 0.296984f}}, {{-0.023860f, 0.611144f}, {-0.162706f, 0.576228f}} }; const float scale_ARSN[M] = {1.8307f, 1.8404f, 1.8009f, 1.7416f, 1.7240f, 1.7467f, 1.6106f, 1.6497f, 1.5702f, 1.5548f, 1.5745f, 1.6199f, 1.5633f, 1.5239f, 1.5796f, 1.5615f}; const float scale_inv_ARSN[M] = {0.5462f, 0.5434f, 0.5553f, 0.5742f, 0.5800f, 0.5725f, 0.6209f, 0.6062f, 0.6369f, 0.6432f, 0.6351f, 0.6173f, 0.6397f, 0.6562f, 0.6331f, 0.6404f}; /* TCVQ Codebook */ const float AR_TCVQ_CB_SUB1[2][128][2] = { { {-170.0561F,-169.3847F,},{-90.97870F,48.531700F,},{-148.6968F,17.218300F,},{-107.0229F,-34.21990F,},{-129.8378F,-87.31650F,},{-220.1001F,-234.4751F,},{-129.6736F,52.471700F,},{20.510900F,-288.6602F,}, {-221.5495F,-0.070200F,},{58.214300F,123.37490F,},{-74.50640F,211.33990F,},{-48.14920F,123.86970F,},{-192.6126F,-247.4666F,},{-206.1983F,104.78470F,},{-125.3893F,-150.7979F,},{-168.7912F,-86.03110F,}, {-95.16320F,-89.65400F,},{-12.70900F,177.33540F,},{-73.43770F,-250.7212F,},{-51.23060F,-84.00830F,},{-264.2502F,102.67830F,},{-184.2570F,-157.5882F,},{-121.9781F,-62.24850F,},{-132.6231F,115.89740F,}, {-47.38870F,-84.58990F,},{-2.521300F,94.296500F,},{-79.13010F,-82.28630F,},{-49.25610F,-5.992200F,},{-286.7041F,-146.2168F,},{-178.7492F,-2.262600F,},{-115.8487F,-10.64920F,},{-119.9947F,-216.1283F,}, {-69.10170F,1.3002000F,},{-68.48210F,-106.6926F,},{24.572700F,141.84890F,},{51.813600F,206.02520F,},{-51.84400F,-72.25850F,},{-175.4067F,-470.9963F,},{-112.2572F,-109.9498F,},{-51.26580F,339.48830F,}, {-38.93840F,-40.88940F,},{-29.20570F,-69.73790F,},{-55.22180F,51.015500F,},{-12.33040F,42.160700F,},{-31.81780F,63.017700F,},{-174.1785F,-89.95120F,},{-110.4181F,-345.4240F,},{-49.84300F,-64.35890F,}, {-59.63520F,-175.9810F,},{-69.02910F,-44.58650F,},{-43.97120F,-49.59230F,},{-87.25920F,-138.5465F,},{-96.25540F,-174.5186F,},{-154.7553F,-275.2756F,},{-109.5143F,128.62810F,},{-14.54350F,-25.04360F,}, {-46.05230F,81.366800F,},{-32.03440F,24.870900F,},{-132.5154F,-143.2318F,},{-22.59640F,-51.55940F,},{-178.7877F,251.71930F,},{-148.7196F,-212.2087F,},{-106.1241F,217.56180F,},{24.099800F,29.423900F,}, {-119.7589F,-323.8735F,},{121.21500F,173.78130F,},{28.604700F,-10.13160F,},{37.177600F,85.584900F,},{87.071500F,238.62500F,},{109.09800F,76.070100F,},{167.92980F,224.78890F,},{165.46650F,86.241500F,}, {-9.919200F,0.5865000F,},{126.17610F,92.028000F,},{-38.94060F,-121.2069F,},{4.4071000F,-13.64760F,},{32.528700F,-1.269700F,},{109.85480F,288.47620F,},{193.40720F,153.42400F,},{34.912700F,501.59090F,}, {12.630000F,53.019400F,},{11.431500F,13.336900F,},{191.94830F,224.70850F,},{40.979900F,-73.55240F,},{5.8897000F,-171.8742F,},{111.18560F,4.0700000F,},{201.66060F,-41.15440F,},{122.30070F,274.89960F,}, {-2.425900F,-107.2105F,},{-24.07350F,-25.13440F,},{-4.758000F,-49.75210F,},{66.313900F,932.60360F,},{63.427900F,76.575200F,},{131.07660F,161.35400F,},{211.93280F,81.864800F,},{90.057500F,-27.39110F,}, {-0.656200F,269.81920F,},{38.372300F,52.479100F,},{9.8096000F,55.003200F,},{101.87250F,118.98060F,},{121.92950F,-125.7858F,},{131.37830F,88.916800F,},{218.95100F,305.25590F,},{299.20050F,200.64100F,}, {-5.459000F,-45.76330F,},{64.972100F,353.45030F,},{-19.39350F,0.4459000F,},{183.81020F,144.04150F,},{134.69810F,96.639400F,},{135.54900F,-149.4564F,},{219.02860F,440.63140F,},{200.41160F,402.24270F,}, {39.254000F,-5.942300F,},{72.189700F,27.428900F,},{65.129100F,51.010200F,},{47.723500F,14.090300F,},{219.06510F,290.25100F,},{156.45050F,43.423900F,},{232.59480F,-226.2346F,},{263.13970F,83.869400F,}, {74.758000F,73.874300F,},{14.975400F,-30.59550F,},{167.16620F,0.0965000F,},{101.95820F,53.053900F,},{-11.37910F,-38.59220F,},{158.02420F,120.38810F,},{239.72370F,224.38630F,},{657.07030F,665.65960F,}, }, { {-368.0999F,-65.52540F,},{-102.2718F,-140.9826F,},{-20.59040F,-66.70470F,},{-95.79090F,184.47330F,},{-837.7641F,-904.4130F,},{-510.6703F,492.69680F,},{-339.6600F,-757.9813F,},{-254.7818F,-220.3240F,}, {-195.1893F,174.78510F,},{-225.8519F,-77.48110F,},{-216.3949F,43.255000F,},{-38.17870F,-32.99880F,},{-513.7912F,0.1722000F,},{-480.2339F,-631.9721F,},{-338.9732F,89.728000F,},{-150.2896F,414.33830F,}, {-299.8150F,-389.7000F,},{-78.78780F,-23.51500F,},{-110.4856F,-76.99170F,},{-55.54460F,-127.1259F,},{-217.9132F,295.10380F,},{-475.2952F,178.16700F,},{-313.6053F,299.37920F,},{-383.7671F,290.27470F,}, {-162.0853F,-139.3168F,},{-10.81860F,411.75810F,},{44.425800F,-95.93580F,},{31.498700F,285.88550F,},{-313.9570F,-197.7654F,},{-439.8449F,-43.63990F,},{-311.4479F,-51.44460F,},{-112.9209F,-79.77700F,}, {-135.4290F,-11.18290F,},{-14.37020F,-101.2914F,},{-55.36790F,-170.9950F,},{-97.12010F,33.922700F,},{-341.4857F,133.28130F,},{-419.5535F,-1029.264F,},{-261.0493F,-606.2968F,},{-445.1823F,-298.5443F,}, {-95.70290F,-200.4782F,},{-18.66770F,205.38260F,},{5.2869000F,154.20340F,},{-176.5040F,-252.4035F,},{-172.0901F,-378.6187F,},{-372.2359F,-501.4665F,},{-252.0296F,-151.3651F,},{-287.6742F,43.301600F,}, {-63.75070F,119.02160F,},{-136.2005F,87.531000F,},{-87.96100F,287.68010F,},{36.839700F,-33.04480F,},{-118.0163F,-214.5814F,},{-365.9238F,-348.5409F,},{-236.4188F,-425.5134F,},{-25.16220F,-39.63130F,}, {-63.00320F,-82.32200F,},{-152.9630F,-507.2372F,},{-57.66390F,48.660600F,},{5.3785000F,51.097300F,},{-168.7345F,-49.50600F,},{-359.4378F,-199.1688F,},{-233.7651F,-285.0083F,},{33.347500F,60.305100F,}, {9.5961000F,-60.67060F,},{-22.43980F,93.048400F,},{184.09080F,107.94670F,},{164.32090F,265.57780F,},{-67.49340F,123.30580F,},{233.22030F,704.96710F,},{353.99250F,-262.9922F,},{210.06920F,175.77800F,}, {-104.2510F,-314.3242F,},{0.9024000F,-7.495400F,},{86.823700F,85.372000F,},{72.376700F,137.49970F,},{-13.00090F,-69.46920F,},{236.74980F,46.279600F,},{374.54780F,-27.20110F,},{136.88650F,-35.73790F,}, {-34.16180F,16.487600F,},{283.87900F,353.51860F,},{21.261500F,12.921800F,},{123.46920F,17.014100F,},{98.105500F,5.7719000F,},{238.18290F,-47.81850F,},{386.73840F,560.96730F,},{32.152700F,578.18980F,}, {70.706200F,208.99530F,},{69.254100F,50.614900F,},{273.61320F,220.89670F,},{244.46280F,129.16830F,},{108.85950F,215.41490F,},{265.47770F,276.31920F,},{395.46140F,283.90850F,},{412.94530F,299.13520F,}, {-5.075000F,-154.7571F,},{142.09250F,160.91980F,},{172.66840F,-70.68220F,},{79.050300F,-150.7248F,},{220.80900F,545.83980F,},{289.05480F,1023.7731F,},{421.94000F,140.86480F,},{436.59640F,74.580500F,}, {31.476700F,103.73850F,},{84.791000F,-50.67070F,},{136.49490F,394.28200F,},{264.97310F,-186.0375F,},{531.67460F,343.03590F,},{310.71060F,184.35030F,},{494.98260F,403.81940F,},{406.31780F,490.15840F,}, {137.11870F,78.459100F,},{-26.93550F,-247.3193F,},{-13.90060F,-408.4927F,},{315.74950F,11.906200F,},{507.81160F,-77.48790F,},{313.84650F,400.68920F,},{543.13960F,-127.4566F,},{895.02000F,968.45590F,}, {65.022700F,5.1458000F,},{203.36110F,32.767800F,},{99.442400F,-280.2416F,},{385.57300F,174.81870F,},{303.53400F,86.087500F,},{316.97760F,81.139300F,},{545.10640F,789.31480F,},{585.50660F,162.80340F,}, } }; const float AR_TCVQ_CB_SUB2[2][64][2] = { { {-139.4748F,-20.51230F,},{-205.2710F,65.240700F,},{-90.66390F,99.509000F,},{-51.55990F,-140.1515F,},{-367.2977F,-86.40560F,},{-101.5758F,-506.4093F,},{-467.6164F,-177.7713F,},{-325.3952F,19.243000F,}, {-51.50950F,-0.580700F,},{-156.7042F,-109.3179F,},{-82.92030F,-84.85600F,},{-75.64660F,36.105400F,},{-226.3753F,-277.4524F,},{-336.8399F,-293.0652F,},{-261.4553F,168.08600F,},{-203.4850F,280.69810F,}, {-242.0593F,-177.4998F,},{-93.17880F,198.93370F,},{-6.034900F,-224.4959F,},{152.10510F,274.83370F,},{-347.4922F,202.31740F,},{-450.9290F,32.755600F,},{-246.8381F,-399.5943F,},{-242.2880F,-493.4214F,}, {-104.8258F,-183.7260F,},{-127.2704F,-288.3692F,},{17.116300F,247.94440F,},{28.590000F,141.33180F,},{-88.39520F,-8.409100F,},{-244.1211F,-41.49450F,},{-281.3448F,-44.43050F,},{-435.1837F,-417.8239F,}, {7.2419000F,-97.64420F,},{32.515300F,38.550200F,},{13.574300F,-6.174500F,},{102.88080F,-123.3195F,},{184.39410F,428.29360F,},{-20.13120F,-127.9658F,},{-97.25060F,379.22250F,},{541.89470F,342.12550F,}, {3.8567000F,79.183500F,},{339.32440F,253.39800F,},{87.921000F,66.552800F,},{117.63820F,32.476100F,},{490.72400F,188.26100F,},{152.82630F,-303.6073F,},{415.46300F,-125.0126F,},{20.317700F,471.51620F,}, {120.83170F,146.52980F,},{183.34470F,88.231900F,},{241.62970F,156.33030F,},{23.616600F,-36.17640F,},{130.82320F,95.319300F,},{123.34420F,-25.34570F,},{-17.53680F,-385.5626F,},{253.17360F,-114.7059F,}, {85.112600F,-25.82990F,},{-42.33470F,-51.85570F,},{195.47230F,-7.405400F,},{322.01970F,63.832500F,},{188.75460F,-173.2249F,},{506.79120F,93.875700F,},{390.46690F,470.76120F,},{243.34080F,526.34460F,}, }, { {-165.6917F,-377.1008F,},{-17.98370F,-75.86160F,},{7.9923000F,116.25350F,},{-130.2646F,-108.4639F,},{-311.2591F,-203.8264F,},{-339.0670F,-23.57200F,},{-7.653600F,-54.53950F,},{-423.8622F,-353.1093F,}, {-240.0843F,-95.08200F,},{-143.2687F,8.5443000F,},{-101.9498F,-202.8074F,},{-43.42630F,-10.37850F,},{-291.0372F,55.326100F,},{-189.0665F,-593.2565F,},{-128.3240F,5.0444000F,},{-420.8219F,35.762800F,}, {-206.5327F,85.114800F,},{-202.6915F,-233.0529F,},{-107.8853F,-28.10810F,},{-33.95630F,-155.5147F,},{-19.77350F,-490.9996F,},{-113.7118F,159.73310F,},{-345.0899F,238.75620F,},{68.787700F,-156.6325F,}, {-52.29900F,-95.54260F,},{14.606500F,197.56230F,},{9.1784000F,-3.906100F,},{-88.07510F,114.63690F,},{-356.4571F,-517.1363F,},{-68.02240F,-113.1240F,},{-424.2482F,-150.8795F,},{-54.13860F,-30.29230F,}, {-48.11040F,48.722800F,},{-9.974700F,-288.3043F,},{44.249300F,-134.2835F,},{68.270600F,70.915400F,},{294.67340F,-174.3828F,},{471.33110F,206.81070F,},{363.89680F,386.90480F,},{52.930000F,47.618800F,}, {104.26640F,127.63530F,},{149.10830F,-71.25040F,},{280.53550F,183.93680F,},{288.38200F,42.039600F,},{61.611600F,50.856600F,},{170.86680F,156.74650F,},{139.90090F,-260.6101F,},{539.24370F,326.70950F,}, {71.975100F,-6.711500F,},{169.81850F,90.253300F,},{157.30500F,24.483300F,},{59.160200F,-48.84550F,},{-42.61460F,-92.55310F,},{270.15440F,-94.32920F,},{487.06470F,75.464100F,},{345.55540F,126.52380F,}, {-110.4957F,258.30830F,},{17.373900F,41.055800F,},{60.912700F,355.85580F,},{151.18090F,229.57390F,},{269.34040F,569.72710F,},{259.50450F,412.82330F,},{-14.73050F,568.47830F,},{252.07040F,354.99801F,}, } }; const float AR_TCVQ_CB_SUB3[4][32][2] = { { {-190.2462F,3.7460000F,},{-178.0891F,-156.6944F,},{37.733100F,176.00550F,},{-93.45970F,165.15130F,},{-267.7612F,-511.1700F,},{27.017600F,-276.8829F,},{-118.0160F,-462.8076F,},{188.15520F,-112.6265F,}, {-112.2084F,-272.1046F,},{-75.63800F,28.803700F,},{-62.17480F,-51.65160F,},{-62.91250F,-122.3795F,},{-315.9380F,163.32500F,},{-335.8190F,-361.7829F,},{-10.02270F,-28.26150F,},{-411.0079F,-169.0698F,}, {21.274600F,52.847800F,},{41.786600F,-55.20310F,},{131.61950F,-6.998400F,},{157.68690F,287.15550F,},{-42.42940F,-201.8275F,},{281.21280F,-25.80890F,},{-13.25970F,522.18800F,},{-66.78560F,354.06180F,}, {20.563700F,-135.3851F,},{140.59070F,104.26130F,},{279.11580F,136.98410F,},{39.195800F,51.957500F,},{34.262500F,51.346000F,},{381.14700F,390.58580F,},{491.52390F,213.96490F,},{288.60580F,536.49710F,}, }, { {-133.0008F,-181.1299F,},{-84.55430F,-304.3680F,},{40.548600F,-157.9567F,},{-35.81290F,-86.14820F,},{-296.9231F,-235.1026F,},{-357.0671F,-316.6972F,},{-258.1654F,-349.4409F,},{-504.7979F,-113.4180F,}, {-123.9764F,51.459200F,},{-224.7199F,-60.69300F,},{-89.06170F,-50.36220F,},{-100.2134F,190.61760F,},{-111.9099F,-529.1262F,},{-36.32900F,-101.2426F,},{-311.5327F,69.813400F,},{-318.3195F,-534.8423F,}, {84.270600F,222.53200F,},{-0.942100F,28.769200F,},{213.25620F,65.535600F,},{97.994500F,73.849700F,},{30.130700F,19.067100F,},{-368.2725F,229.34600F,},{148.61930F,481.44170F,},{418.05130F,44.184400F,}, {45.929700F,-10.41460F,},{151.92930F,-55.78590F,},{7.0662000F,84.175000F,},{287.46830F,226.85480F,},{429.16810F,486.29900F,},{176.48300F,159.59660F,},{579.15160F,254.26680F,},{-68.04440F,453.68870F,}, }, { {-100.1363F,-189.9851F,},{-26.01900F,223.37290F,},{-2.345900F,62.933400F,},{-66.92170F,59.692200F,},{-463.9627F,-172.0395F,},{-422.4871F,43.361300F,},{-250.2149F,-359.6565F,},{-90.88240F,-37.63640F,}, {-199.5678F,57.586700F,},{-112.5751F,-36.52960F,},{189.51950F,260.19820F,},{-238.2629F,-142.8535F,},{-139.3418F,-351.6046F,},{-336.3076F,-424.9823F,},{-30.62490F,-40.98700F,},{-103.6085F,-330.2230F,}, {5.6849000F,7.1876000F,},{31.018100F,-149.6002F,},{-80.41110F,-100.6484F,},{119.56500F,103.01690F,},{11.508400F,27.501500F,},{13.331700F,25.835000F,},{457.61300F,261.34590F,},{52.531100F,28.992900F,}, {203.48110F,71.918000F,},{51.549200F,32.858000F,},{141.30200F,-35.55590F,},{22.330400F,-70.91510F,},{349.22210F,178.05560F,},{447.99330F,289.70830F,},{82.904000F,107.10660F,},{348.09590F,102.38850F,}, }, { {37.061900F,181.46230F,},{3.6812000F,53.960400F,},{-142.5384F,-250.3814F,},{-155.8055F,67.085000F,},{-97.44510F,-42.54350F,},{-36.71330F,-123.6734F,},{-63.68890F,-97.47460F,},{-233.4995F,-274.8922F,}, {-72.26240F,14.184600F,},{-183.6676F,-77.60290F,},{25.462700F,93.954700F,},{-40.64230F,-141.5510F,},{-85.75550F,-313.0151F,},{-338.1776F,-25.63660F,},{-363.6425F,-156.2840F,},{-67.37240F,-51.54950F,}, {-58.24200F,-193.3120F,},{181.77980F,98.461400F,},{-70.01130F,-27.99830F,},{171.39450F,112.01820F,},{321.84770F,218.43910F,},{12.987700F,52.170200F,},{22.943500F,52.400800F,},{34.529100F,56.928800F,}, {72.765700F,16.633700F,},{26.847700F,-102.3211F,},{104.45050F,-37.68410F,},{15.601300F,31.425000F,},{32.724900F,50.955400F,},{264.88060F,147.81980F,},{316.65590F,175.13690F,},{359.29350F,211.19690F,}, } }; const float SN_TCVQ_CB_SUB1[2][128][2] = { { {-249.7201F,40.935000F,},{-190.5588F,-175.3474F,},{-207.0069F,-316.9469F,},{-163.5806F,-247.6570F,},{-304.9679F,-414.6172F,},{-228.6147F,150.62910F,},{-195.6332F,-287.7428F,},{-190.9146F,-284.4862F,}, {-274.4084F,-267.7108F,},{-199.2563F,-297.6162F,},{-152.2094F,-112.0928F,},{-148.0732F,-148.0190F,},{-223.7592F,-331.2033F,},{-227.6105F,-303.8584F,},{-195.2056F,-316.4586F,},{-262.2246F,-164.0172F,}, {-201.5461F,313.27600F,},{-103.5079F,-192.2481F,},{-204.4250F,-221.9848F,},{-76.03550F,1125.8286F,},{-234.5633F,-67.04640F,},{-221.8844F,-339.4012F,},{-194.2347F,258.93820F,},{-251.0932F,-362.9766F,}, {-135.0324F,-147.6629F,},{-98.67180F,-122.1392F,},{-163.4477F,232.42880F,},{-93.88090F,-181.8259F,},{-165.4640F,-213.2693F,},{-217.3162F,-119.1242F,},{-194.1371F,958.06900F,},{-176.2805F,-91.93370F,}, {-176.7314F,-261.5485F,},{-143.7121F,-243.8883F,},{-148.1108F,-258.7831F,},{-118.9980F,-33.07910F,},{-214.2710F,155.74650F,},{-213.2181F,-251.6092F,},{-188.9855F,-166.4937F,},{-151.3290F,-213.3292F,}, {-127.0467F,-214.8412F,},{-89.61480F,46.211900F,},{-32.48210F,392.23270F,},{-46.92120F,181.57460F,},{-113.0420F,-86.90470F,},{-201.7185F,60.547200F,},{-187.6557F,583.69500F,},{-161.9915F,53.907100F,}, {-163.7852F,-39.11590F,},{-135.6215F,426.20040F,},{-169.3460F,29.788000F,},{-53.86960F,-113.5168F,},{-169.7033F,-280.7249F,},{-200.7809F,368.96580F,},{-184.8111F,-10.30170F,},{-56.33640F,-124.8625F,}, {-146.8623F,587.82200F,},{-128.5270F,146.07030F,},{-123.4510F,-196.9422F,},{-22.75330F,-2.165400F,},{-105.3485F,-182.0782F,},{-198.0657F,-211.0788F,},{-181.9700F,-70.67280F,},{-100.1089F,-202.3083F,}, {-76.38740F,283.61110F,},{-34.55220F,-139.0253F,},{-72.58420F,-153.9831F,},{11.931600F,-78.54570F,},{-30.11220F,-124.4284F,},{159.48950F,53.219000F,},{246.00260F,265.74940F,},{341.77020F,533.29990F,}, {-78.13370F,-74.09460F,},{64.957700F,503.70880F,},{234.41130F,423.72930F,},{107.71920F,181.32610F,},{221.30620F,615.15230F,},{166.00660F,108.59500F,},{260.32690F,147.33710F,},{472.14910F,915.47850F,}, {-71.05110F,-159.7740F,},{-37.06930F,-55.00150F,},{25.370000F,198.17320F,},{49.636800F,82.767400F,},{132.76160F,91.831000F,},{187.70590F,159.38410F,},{281.83160F,469.86870F,},{434.41380F,295.44770F,}, {63.308300F,141.27590F,},{54.061700F,294.21520F,},{-65.88060F,-50.19340F,},{72.918300F,-12.50020F,},{26.680200F,-36.36690F,},{206.31630F,1119.4720F,},{306.99130F,308.17540F,},{487.14390F,573.31600F,}, {-185.9491F,948.56350F,},{7.6792000F,52.069300F,},{0.9533000F,-92.26370F,},{166.57380F,312.24880F,},{153.64230F,230.62340F,},{207.81570F,610.05630F,},{315.18780F,208.51600F,},{550.64840F,410.71780F,}, {-5.303600F,-102.8303F,},{32.350300F,-61.52830F,},{61.661100F,-14.86550F,},{240.57980F,214.70890F,},{329.97410F,212.08160F,},{209.52500F,92.791300F,},{356.06930F,594.08890F,},{638.68310F,525.05230F,}, {45.061100F,-21.59060F,},{102.92090F,33.850300F,},{-49.38050F,91.477600F,},{147.03860F,74.554000F,},{179.35820F,1032.6932F,},{211.70910F,362.16160F,},{367.65010F,370.43750F,},{740.51460F,596.78260F,}, {-7.303000F,724.00010F,},{177.80790F,142.93470F,},{213.00960F,110.61410F,},{324.63510F,326.04950F,},{475.33930F,330.59920F,},{218.87990F,211.76850F,},{395.71800F,253.94620F,},{744.16310F,915.21080F,}, }, { {-206.2475F,-95.90960F,},{-246.3082F,21.747300F,},{-280.0828F,-108.0290F,},{-15.81770F,518.20420F,},{-394.8764F,-268.7632F,},{-323.0682F,-133.0426F,},{-256.3050F,-624.6605F,},{-387.5242F,-608.8890F,}, {-175.6982F,364.49880F,},{-210.8799F,823.99400F,},{-233.7273F,-494.8845F,},{-151.1368F,-199.8177F,},{-429.7681F,-772.9858F,},{-317.0574F,-240.9158F,},{-253.5630F,-57.26850F,},{-341.3936F,228.86220F,}, {-281.1353F,-234.9062F,},{-109.7592F,-108.9512F,},{-225.6748F,247.90130F,},{65.929400F,31.226900F,},{-398.6104F,-52.49470F,},{-310.1716F,101.05650F,},{-249.3468F,320.56650F,},{-354.3097F,16.494000F,}, {-277.0976F,-595.7491F,},{-188.3772F,523.29140F,},{-90.61150F,-382.6038F,},{40.513800F,903.74660F,},{-358.6226F,-460.4389F,},{-308.4215F,501.50370F,},{-237.7401F,882.27940F,},{-333.4506F,-381.9203F,}, {-243.6204F,127.42030F,},{-75.62440F,666.13180F,},{-34.39620F,414.18390F,},{149.42210F,464.74430F,},{-162.1738F,5.7292000F,},{-308.1293F,-447.4555F,},{-236.0531F,158.90870F,},{-339.5853F,443.61930F,}, {-196.4904F,-408.9761F,},{-212.8717F,-310.0990F,},{-50.11780F,183.79020F,},{32.747800F,249.33110F,},{-231.0534F,-589.2890F,},{-273.0207F,681.87410F,},{-234.5115F,-144.0888F,},{-306.1589F,641.38990F,}, {-86.46690F,-261.1131F,},{-87.17310F,101.82230F,},{-32.13380F,-174.4069F,},{-147.5939F,-474.4269F,},{-289.3846F,378.38780F,},{-269.2454F,-337.1601F,},{-222.4565F,-232.3191F,},{-395.3117F,-157.5576F,}, {-129.1616F,202.52440F,},{-68.35150F,307.27670F,},{-85.86670F,-1.271900F,},{-17.84710F,-328.4484F,},{-374.8384F,115.94100F,},{-260.0821F,26.484400F,},{-220.8236F,-532.8561F,},{-103.5023F,-8.057100F,}, {253.68710F,299.43310F,},{99.798300F,140.48320F,},{132.05620F,-133.5340F,},{649.87660F,635.39510F,},{80.181400F,-88.45330F,},{377.92370F,11.967000F,},{475.26380F,362.41510F,},{663.04860F,481.53290F,}, {125.93200F,564.57300F,},{125.00390F,699.34770F,},{161.43320F,82.756400F,},{388.46600F,81.488500F,},{299.40020F,103.03960F,},{380.48160F,344.82180F,},{479.55360F,94.266000F,},{656.04440F,313.06860F,}, {29.314100F,121.82290F,},{294.35730F,556.75000F,},{136.00140F,242.52100F,},{251.75710F,185.26940F,},{393.60200F,297.97100F,},{404.77110F,790.64840F,},{528.97090F,207.17710F,},{629.35130F,831.62210F,}, {63.429500F,363.62860F,},{344.74340F,320.98350F,},{386.67160F,190.67860F,},{240.19720F,-79.32440F,},{753.49380F,482.21660F,},{413.70600F,537.17310F,},{539.83860F,557.06520F,},{800.08120F,624.70540F,}, {234.99860F,63.354100F,},{148.31920F,320.29180F,},{277.09270F,415.69540F,},{456.34320F,536.84340F,},{214.59280F,227.59820F,},{414.97560F,183.63070F,},{552.78850F,426.47270F,},{818.25130F,872.82940F,}, {73.162100F,-246.0924F,},{46.113400F,-192.6345F,},{278.84370F,698.09160F,},{506.97560F,263.00580F,},{373.99370F,491.39020F,},{422.46610F,438.95710F,},{570.45150F,307.05580F,},{829.71370F,470.72770F,}, {13.191300F,-73.93830F,},{20.994200F,-13.84500F,},{311.61780F,0.1251000F,},{291.89030F,929.08090F,},{554.80360F,450.16100F,},{436.77840F,653.52060F,},{582.72210F,893.43050F,},{943.77210F,632.08490F,}, {452.66180F,701.26420F,},{152.06640F,-49.38430F,},{466.26870F,391.67580F,},{616.44670F,391.50590F,},{505.32310F,142.80040F,},{448.40750F,271.20620F,},{590.86500F,699.51280F,},{1072.8364F,818.59820F,}, } }; const float SN_TCVQ_CB_SUB2[2][64][2] = { { {-276.9441F,-237.9956F,},{-240.2330F,-400.5215F,},{-168.0618F,-125.3249F,},{-17.18770F,403.15550F,},{-410.3021F,-12.59720F,},{-401.4485F,-725.0255F,},{-378.9797F,-42.53260F,},{-223.4008F,-557.0544F,}, {-221.8536F,60.339100F,},{-55.66380F,-73.67660F,},{-31.18270F,208.03420F,},{-14.70030F,-246.7032F,},{-152.7168F,497.98040F,},{-385.0540F,-285.9732F,},{-187.2953F,-199.3057F,},{-377.2813F,37.510600F,}, {-330.8419F,-541.7451F,},{-349.7656F,237.12440F,},{-143.6113F,-363.2778F,},{-150.6399F,137.64050F,},{-113.2274F,3.7534000F,},{-325.2374F,36.570200F,},{-206.2273F,671.09990F,},{-82.19470F,45.011800F,}, {-206.7859F,334.70390F,},{-283.9658F,-89.72660F,},{-50.10190F,12.089100F,},{51.980300F,29.857900F,},{-107.5514F,-303.3203F,},{-240.0561F,-533.9766F,},{-132.4427F,-5.247100F,},{-404.3979F,480.69020F,}, {175.02300F,332.36460F,},{233.95710F,41.575700F,},{430.97410F,434.21950F,},{248.10350F,487.89410F,},{297.34090F,302.33480F,},{207.50040F,-27.75610F,},{281.96760F,184.93040F,},{299.70790F,161.32720F,}, {100.61040F,107.78600F,},{135.17980F,-148.3558F,},{190.27510F,196.71720F,},{435.19680F,47.673600F,},{344.53480F,606.71120F,},{774.72370F,483.79650F,},{830.43490F,475.25730F,},{680.48470F,492.90810F,}, {52.827400F,-98.47120F,},{84.402600F,213.06580F,},{195.15830F,-48.72150F,},{538.51170F,746.06460F,},{118.75210F,29.688100F,},{589.58180F,237.71470F,},{602.54520F,540.84130F,},{211.57020F,715.21980F,}, {-93.92180F,-182.2399F,},{301.03150F,254.59590F,},{356.44790F,109.52270F,},{510.59830F,279.64910F,},{716.35110F,402.13940F,},{409.68830F,191.91910F,},{634.49470F,286.14310F,},{974.51980F,759.27030F,}, }, { {-284.8923F,-332.8634F,},{-230.3763F,119.65300F,},{-155.3427F,115.29910F,},{-12.21440F,5.0214000F,},{-257.4728F,-29.15460F,},{-235.7490F,-480.0754F,},{-202.7355F,-263.5491F,},{-321.4648F,18.445600F,}, {-294.7758F,-80.74580F,},{-319.5455F,-165.6476F,},{-275.4234F,-501.8569F,},{-100.6586F,-323.5581F,},{-315.1043F,-276.3239F,},{-71.14410F,-278.0978F,},{-362.3847F,1.2822000F,},{-177.8863F,-448.9796F,}, {-329.8557F,164.76280F,},{-232.8216F,-393.7935F,},{-196.9382F,-183.5567F,},{-179.3588F,287.84510F,},{-131.8585F,-284.4139F,},{-326.5890F,401.69820F,},{-239.3882F,485.08990F,},{-238.0748F,504.86220F,}, {-111.2109F,13.897700F,},{-109.4982F,-165.7892F,},{39.187700F,49.242200F,},{-179.4392F,-52.56030F,},{-62.00650F,-58.79660F,},{-112.2621F,74.326700F,},{21.768200F,-102.5222F,},{-103.2492F,-123.8958F,}, {-2.999300F,235.37390F,},{24.464500F,117.61140F,},{209.73120F,-60.41300F,},{112.71650F,222.38860F,},{75.577500F,-161.0497F,},{337.52400F,31.008400F,},{267.89200F,155.94850F,},{328.81130F,647.32140F,}, {45.064300F,-82.58150F,},{237.66130F,132.73260F,},{4.8216000F,-253.8600F,},{277.79930F,430.66600F,},{39.273100F,199.22940F,},{139.99440F,-162.6469F,},{494.67560F,176.94150F,},{207.76570F,239.06330F,}, {-100.0752F,-265.5905F,},{15.938200F,454.44360F,},{233.38360F,309.59500F,},{189.17920F,-23.98650F,},{185.76940F,100.17430F,},{675.38230F,486.70190F,},{472.14070F,579.37430F,},{575.03280F,434.82210F,}, {152.01630F,129.07580F,},{68.559300F,-151.6359F,},{400.30690F,123.64090F,},{409.88600F,286.04450F,},{578.27810F,432.67370F,},{502.13100F,240.50900F,},{675.71990F,390.09750F,},{781.79560F,651.86880F,}, } }; const float SN_TCVQ_CB_SUB3[4][32][2] = { { {-147.1049F,-340.6287F,},{-158.8735F,313.47230F,},{-238.5137F,-175.2864F,},{-154.9957F,-34.27780F,},{-186.0273F,-415.2119F,},{-311.3175F,-97.27870F,},{-102.8572F,-258.6216F,},{-184.6271F,589.29930F,}, {-279.5144F,121.03210F,},{-240.5628F,-383.6411F,},{-289.7553F,-518.3302F,},{77.502600F,128.26760F,},{-349.3453F,-608.3804F,},{-340.3397F,-491.6917F,},{-276.4456F,-539.0219F,},{-308.0319F,-331.5846F,}, {25.470200F,-122.3889F,},{-23.10160F,-214.1888F,},{-0.632900F,26.756400F,},{142.04180F,-65.81690F,},{247.83350F,718.83400F,},{90.964100F,-139.8895F,},{485.82500F,582.96200F,},{641.17530F,379.95140F,}, {79.709900F,202.16160F,},{199.84410F,369.96700F,},{239.35830F,94.047800F,},{423.70620F,282.88420F,},{317.36140F,127.76640F,},{337.65540F,94.710900F,},{217.43590F,208.86400F,},{764.35860F,815.30510F,}, }, { {-370.2650F,11.518200F,},{-323.1142F,-461.2694F,},{-135.8559F,-129.8608F,},{-14.09620F,84.290400F,},{-567.7608F,-453.9710F,},{-266.5970F,-249.6583F,},{-291.9762F,-592.7589F,},{-274.9419F,479.50260F,}, {-208.9252F,-386.0126F,},{-214.9314F,-42.54240F,},{-186.7444F,227.07210F,},{-121.1719F,-272.9866F,},{-510.8044F,-87.79140F,},{-302.7620F,-617.7623F,},{-324.5998F,-240.0224F,},{-47.00890F,-86.66380F,}, {12.928800F,78.024900F,},{47.313200F,-86.25450F,},{183.98160F,182.61360F,},{316.09290F,122.14870F,},{371.33160F,278.26560F,},{168.42590F,-225.2161F,},{775.28210F,548.66520F,},{642.86270F,346.51310F,}, {51.413000F,448.60110F,},{112.29160F,198.86870F,},{133.44860F,-92.65510F,},{392.28070F,469.91310F,},{124.10680F,-283.7072F,},{583.68000F,286.00210F,},{521.95260F,271.37440F,},{931.01620F,692.52800F,}, }, { {-341.3078F,-146.2225F,},{-92.54280F,10.245600F,},{6.3784000F,340.04950F,},{-277.1624F,169.62960F,},{15.939400F,-300.4278F,},{-413.4964F,-527.4807F,},{25.713000F,81.620300F,},{-395.4344F,-535.2822F,}, {-30.72550F,-179.8318F,},{-261.9265F,-367.7827F,},{-4.797200F,22.196000F,},{-63.59540F,-168.5926F,},{-320.1832F,-419.0108F,},{-346.2061F,-53.06720F,},{-127.6520F,-195.8498F,},{-21.51770F,-5.277200F,}, {254.60570F,253.18280F,},{143.04340F,160.79980F,},{240.36910F,98.565800F,},{60.270300F,84.249700F,},{4.6884000F,24.362900F,},{88.200900F,69.498000F,},{659.95560F,473.75490F,},{293.20990F,70.108000F,}, {11.956700F,71.243400F,},{109.95050F,-114.0644F,},{-138.5130F,-251.0179F,},{366.76410F,361.08470F,},{241.70930F,34.973000F,},{654.41940F,441.34520F,},{322.92560F,106.27710F,},{605.58650F,564.89110F,}, }, { {-142.8305F,-357.6638F,},{-135.1517F,-91.95450F,},{-202.7971F,-55.12860F,},{10.622800F,119.25650F,},{-99.61230F,-36.02510F,},{-247.5775F,-381.3310F,},{-193.0612F,-420.8008F,},{-130.4904F,-356.4558F,}, {-220.9295F,27.109700F,},{40.264600F,84.888100F,},{-115.6413F,-362.4221F,},{-195.5899F,-402.2075F,},{-170.5517F,-393.0729F,},{-56.84850F,-56.71290F,},{-82.37190F,-78.84410F,},{24.433000F,140.77510F,}, {63.625500F,-48.12080F,},{296.32420F,215.87390F,},{32.041200F,80.732200F,},{-69.63830F,-95.39770F,},{63.503200F,133.94610F,},{450.10010F,363.00900F,},{76.867200F,96.687600F,},{16.700500F,-57.93000F,}, {66.165600F,144.72830F,},{-183.0404F,-407.2658F,},{268.25850F,163.71400F,},{219.75790F,95.572100F,},{411.11030F,329.38500F,},{101.35990F,133.20170F,},{415.09750F,248.72830F,},{337.80520F,255.31020F,}, } }; const float AR_SVQ_CB1[32][8] = { {-0.339000F, 1.5012220F, 6.1853590F, 1.6161480F, 17.3955550F, -42.95738F, 3.77089400F, 65.3032460F}, {-1.351974F, 0.8601210F, 3.1036570F, -4.589009F, -2.7011160F, 9.0795180F, 109.094322F, -18.118401F}, {-0.051575F, 0.6542590F, 0.3318340F, 3.1915060F, -28.443743F, -15.45044F, 27.7376230F, -38.083717F}, {-0.147188F, 0.7379020F, 16.596052F, 29.073309F, -15.221093F, 27.937109F, 10.4191210F, 3.21426900F}, {-0.174719F, 0.3557820F, 3.3571020F, -2.442146F, 15.4601880F, -25.54004F, -21.377092F, -50.052696F}, {-0.080591F, -0.031826F, 3.2809340F, -3.976039F, -16.756672F, 41.078621F, -1.8470560F, -49.312294F}, {0.0404590F, -0.057671F, 4.6628590F, -1.082124F, -38.447117F, -7.158832F, -34.349442F, -28.560730F}, {-0.191480F, 0.3673300F, -2.228691F, -4.763459F, -19.210003F, -70.05153F, -11.678687F, -5.9500840F}, {-0.475299F, -0.021802F, 9.2386790F, 30.398779F, 9.72456700F, -26.96944F, -10.201661F, -5.2955280F}, {-0.118115F, 0.3768040F, -0.202488F, -11.21918F, 8.99932300F, -25.32194F, -49.176136F, 13.3742710F}, {0.6345730F, -1.451740F, -8.976882F, -2.891539F, -5.2668590F, -0.626124F, -8.6982240F, -1.6381660F}, {-0.238382F, 0.4619150F, -0.689163F, 17.277664F, -21.009787F, -22.53389F, 41.9676740F, 23.4523370F}, {0.1244690F, 0.2248090F, -1.099318F, -5.740384F, -21.103287F, 37.994751F, -39.226761F, 15.9438480F}, {0.1411080F, -0.771317F, -31.48548F, 36.181248F, -5.2501020F, 7.1155840F, -12.062582F, -29.405684F}, {-0.496825F, 0.9002190F, 0.1078140F, -1.812450F, 64.9175870F, -25.02316F, -18.672247F, 3.00326800F}, {-0.877380F, -0.101788F, -10.38443F, -42.23261F, 14.1089240F, 1.3607690F, 4.64615900F, -31.426619F}, {0.0982910F, 0.0130060F, -0.021137F, 1.7109680F, 32.0608750F, -0.580048F, 30.8528560F, 20.9283330F}, {0.3703540F, -1.599935F, 1.9165930F, -3.437332F, -15.018585F, 112.87896F, 6.09581900F, 6.06509400F}, {-0.239501F, 0.5997340F, 2.2582460F, -26.70808F, 23.7027260F, 26.134411F, -12.169220F, 39.0906330F}, {1.1549010F, -2.333077F, 0.9387050F, -0.701751F, -0.2820180F, -2.514828F, -84.775269F, 106.470406F}, {-0.120044F, 0.4967050F, -16.62750F, -24.21043F, -2.7719380F, -23.45862F, 10.9770750F, 30.4632150F}, {-0.452348F, 0.9215980F, 4.0024690F, -0.181623F, 29.6472510F, 32.739918F, -21.457884F, -17.419983F}, {-0.247916F, -0.922579F, 1.4429350F, 1.8360180F, -12.594628F, 29.236597F, 27.3443550F, 68.9287800F}, {0.7650280F, -0.545622F, -0.185167F, 2.1660980F, 10.6230550F, 11.247939F, -85.990189F, -37.903763F}, {-0.236738F, 0.4044940F, 35.338413F, -21.96892F, -4.0015380F, -6.422642F, 11.3325710F, 3.03891400F}, {-0.526660F, 1.1162520F, -3.871234F, -0.059409F, 0.78312500F, -9.391847F, 18.9848520F, -131.23975F}, {-0.433725F, 0.2320700F, -3.264241F, -3.579835F, 21.6186620F, -52.31819F, 41.0296550F, -17.336693F}, {-0.150218F, 0.2436480F, -6.385384F, 26.976192F, 20.1004640F, 15.708211F, -20.112616F, 38.2443770F}, {-0.024170F, 0.8500570F, -4.579786F, -12.50560F, -54.536289F, 19.191902F, 19.6398750F, 10.2497080F}, {-0.124103F, 1.0465660F, 3.0224720F, 11.137490F, 30.1374190F, 9.5446160F, 29.8574750F, -40.261337F}, {-0.196671F, 0.7005810F, -9.238495F, -7.187382F, 2.81278600F, 38.941822F, 36.7256850F, 1.86695500F}, {0.0413730F, -0.259086F, 3.8143860F, 10.183937F, -33.918419F, -13.19506F, -21.927582F, 40.2238810F}, }; const float AR_SVQ_CB2[16][8] = { {-14.44511F, -23.12155F, 81.241760F, -34.49714F, 21.0647720F, 22.618990F, -6.4248760F, -9.472386F}, {-0.129507F, -38.33505F, 3.5780910F, -25.32102F, -71.163628F, -8.083008F, 7.34998800F, 3.5089460F}, {-0.531659F, 42.984482F, -2.949942F, 23.185688F, 78.3983150F, 3.3631430F, -14.996096F, -8.493151F}, {-0.553943F, 15.531711F, -8.511508F, -71.40907F, 18.1345100F, -63.29620F, -15.015837F, -2.255207F}, {4.7402910F, 0.7143230F, -75.55894F, 25.115595F, -16.831573F, -18.81928F, 4.13968000F, 3.3929720F}, {-32.50397F, 68.406067F, -3.199107F, -21.32696F, -25.471333F, 25.902178F, 10.0576690F, 2.3217050F}, {11.180623F, 1.3522740F, 0.9572140F, -3.889576F, -39.069595F, 114.30133F, 29.1799030F, -4.798602F}, {2.5571490F, -21.08170F, -29.49300F, -35.49685F, 24.4835700F, 46.452934F, -32.716568F, -32.81908F}, {1.2645100F, 2.9239020F, 2.2633560F, 2.5141150F, -11.900713F, 5.8893120F, -68.704033F, 65.771515F}, {-4.081663F, 17.567835F, 10.064315F, 22.194927F, -36.000233F, -26.37986F, -45.523380F, -52.28128F}, {0.0228670F, -14.62688F, -13.12301F, -27.02922F, 41.2410550F, 21.242199F, 47.1964420F, 51.328987F}, {-9.871984F, -24.99879F, 2.6157990F, 80.172798F, 0.43614800F, 36.480019F, 10.4512970F, 2.2055040F}, {25.002769F, 10.773156F, 19.834276F, 2.9322950F, -2.5556860F, 6.9424410F, 10.6092970F, 0.1834710F}, {-7.853089F, 17.244720F, 22.289469F, 30.428480F, -21.601667F, -66.57227F, 34.5492820F, 36.391033F}, {4.8071940F, -49.02123F, 4.8164340F, 21.801281F, 39.0447200F, -62.45168F, -33.871502F, -1.336098F}, {-2.572755F, -7.192194F, -2.623712F, -2.309371F, 14.2487590F, -21.16166F, 68.2372970F, -68.92265F}, }; const float W_DTX_HO[HO_HIST_SIZE] = { 0.2f, 0.16f, 0.128f, 0.1024f, 0.08192f, 0.065536f, 0.0524288f, 0.01048576f }; const float ENR_ATT[5] = { 1.7938412f, 1.3952098f, 1.0962363f, 0.9965784f, 0.9965784f }; const float HO_ATT[5] = { 0.5370318f, 0.6165950f, 0.6839116f, 0.7079458f, 0.7079458f }; const short uniform_model[] = { MAX_AR_FREQ, MAX_AR_FREQ / 2, 0 }; /*-----------------------------------------------------------------* * LSF quantization - mid-frame quantization tables *-----------------------------------------------------------------*/ const float tbl_mid_gen_wb_2b[] = { 0.4656f, 0.6281f, 0.7148f, 0.6457f, 0.6442f, 0.5957f, 0.5953f, 0.5216f, 0.4722f, 0.4609f, 0.4141f, 0.3861f, 0.3809f, 0.3685f, 0.4144f, 0.7097f, 0.1809f, 0.1051f, 0.2402f, 0.3904f, 0.3790f, 0.4562f, 0.4577f, 0.5524f, 0.6081f, 0.5894f, 0.6131f, 0.6512f, 0.6503f, 0.6465f, 0.6216f, 0.4204f, 0.4828f, 0.4701f, 0.1855f, 0.2034f, 0.1897f, 0.1691f, 0.1876f, 0.1558f, 0.1762f, 0.1863f, 0.1950f, 0.1997f, 0.2279f, 0.2492f, 0.3031f, 0.2513f, 0.8591f, 0.9902f, 0.8941f, 0.8507f, 0.8395f, 0.8579f, 0.8529f, 0.8665f, 0.8549f, 0.8490f, 0.8456f, 0.8310f, 0.8161f, 0.7884f, 0.7167f, 0.7381f }; const float tbl_mid_gen_wb_4b[] = { 0.6754f, 0.6266f, 0.2594f, 0.4293f, 0.5988f, 0.6866f, 0.7737f, 0.8446f, 0.8367f, 0.7757f, 0.6525f, 0.4878f, 0.4399f, 0.6822f, 0.8499f, 0.9169f, 0.5150f, 0.5075f, 0.5972f, 0.7730f, 0.7064f, 0.3579f, 0.3356f, 0.2816f, 0.4175f, 0.5651f, 0.6825f, 0.7629f, 0.8104f, 0.8879f, 0.9649f, 1.0229f, 0.1213f, 0.0451f, 0.3574f, 0.6272f, 0.5909f, 0.7193f, 0.6508f, 0.6297f, 0.4830f, 0.3821f, 0.4058f, 0.6131f, 0.6461f, 0.4852f, 0.3038f, 0.1367f, 0.1303f, 0.3017f, 0.7760f, 0.5108f, 0.3865f, 0.3936f, 0.4859f, 0.6171f, 0.6062f, 0.5887f, 0.4692f, 0.2842f, 0.1756f, 0.1119f, 0.3070f, 1.0069f, 0.4625f, 0.1159f, 0.0638f, 0.2087f, 0.2359f, 0.4036f, 0.4013f, 0.5520f, 0.6631f, 0.6459f, 0.6890f, 0.7467f, 0.7527f, 0.7255f, 0.6874f, 0.2549f, 0.9602f, 1.0056f, 0.7894f, 0.4936f, 0.4631f, 0.5603f, 0.5964f, 0.6598f, 0.7327f, 0.8236f, 0.8793f, 0.8986f, 0.8523f, 0.7516f, 0.4876f, 0.2617f, 0.3464f, 0.8811f, 0.9676f, 0.9462f, 0.9284f, 0.9216f, 0.8469f, 0.8365f, 0.7655f, 0.7197f, 0.6851f, 0.6403f, 0.5936f, 0.4461f, 0.3832f, 0.7717f, 0.5270f, 0.4135f, 0.1264f, 0.3417f, 0.3381f, 0.4151f, 0.3729f, 0.2742f, 0.2817f, 0.2233f, 0.1778f, 0.1230f, 0.1289f, 0.1093f, 0.0955f, 0.0132f, 0.8746f, 0.9792f, 0.8386f, 0.7884f, 0.7704f, 0.6721f, 0.6808f, 0.5483f, 0.4803f, 0.4591f, 0.3960f, 0.3416f, 0.3050f, 0.2645f, 0.2381f, 0.5810f, 0.7030f, 0.6592f, 0.1469f, 0.0839f, 0.0790f, 0.1176f, 0.1814f, 0.2442f, 0.3660f, 0.3881f, 0.4437f, 0.5245f, 0.5451f, 0.4541f, 0.3998f, 0.5842f, 0.1284f, 0.2200f, 0.7487f, 0.7905f, 0.8393f, 0.8522f, 0.8766f, 0.8915f, 0.8712f, 0.8590f, 0.8882f, 0.8786f, 0.8529f, 0.8689f, 0.8129f, 0.7096f, 0.4999f, 0.7661f, 0.7385f, 0.5921f, 0.3904f, 0.6033f, 0.3976f, 0.1778f, 0.1621f, 0.0616f, 0.0683f, 0.1798f, 0.4865f, 0.7124f, 0.7046f, 0.8980f, 0.8318f, 0.9070f, 0.4943f, 0.3149f, 0.5268f, 0.2983f, 0.3951f, 0.3793f, 0.3001f, 0.3530f, 0.3117f, 0.2348f, 0.2285f, 0.2525f, 0.4374f, -0.0230f, 0.0504f, 0.0291f, 0.0302f, 0.0619f, 0.0609f, 0.0660f, 0.0991f, 0.0937f, 0.0830f, 0.0586f, 0.0509f, 0.0374f, 0.0701f, 0.0650f, 0.0893f, 0.2719f, 1.0371f, 1.1706f, 1.0188f, 0.9709f, 0.9345f, 0.9754f, 0.9875f, 1.0269f, 1.0413f, 1.0355f, 1.0280f, 1.0279f, 1.0333f, 1.0062f, 0.9397f, 0.8962f, 0.3767f, 0.3565f, 0.3735f, 0.3687f, 0.1498f, -0.0124f, -0.0510f, -0.1065f, -0.0239f, 0.1375f, 0.2156f, 0.3068f, 0.3234f, 0.4213f, 0.5425f, 0.2117f }; const float tbl_mid_gen_wb_5b[] = { 0.7947f, 0.9837f, 0.8671f, 0.7440f, 0.7914f, 0.7161f, 0.7356f, 0.7865f, 0.8401f, 0.8431f, 0.8563f, 0.8033f, 0.6896f, 0.4937f, 0.3437f, 0.3075f, 0.4612f, 0.2591f, 0.4370f, 0.5153f, 0.3171f, 0.5653f, 0.3472f, 0.5987f, 0.6648f, 0.5528f, 0.6331f, 0.7603f, 0.7581f, 0.6949f, 0.7584f, -0.5701f, 1.1047f, 1.2127f, 1.0304f, 0.9669f, 0.9211f, 0.9570f, 0.9737f, 1.0175f, 1.0595f, 1.0628f, 1.0624f, 1.0506f, 1.0449f, 1.0223f, 0.9471f, 0.7819f, 0.5180f, 0.7050f, 0.3588f, 0.7186f, 0.4978f, 0.3805f, 0.6429f, 0.6934f, 0.5602f, 0.2931f, 0.0892f, 0.1234f, 0.2023f, 0.5777f, 0.8607f, 0.4873f, 0.3062f, 0.3852f, 0.4086f, 0.1959f, 0.5432f, 0.5655f, 0.4243f, 0.7347f, 0.4984f, 0.4668f, 0.6266f, 0.7349f, 0.3971f, 0.1670f, 0.2119f, 1.6488f, 0.7244f, 0.7778f, 0.5486f, 0.3610f, 0.5400f, 0.8138f, 0.9969f, 1.0270f, 0.9713f, 0.8714f, 0.6736f, 0.3734f, 0.3453f, 0.3443f, 0.3385f, 0.3996f, 0.6084f, 0.6795f, 0.7118f, 0.5561f, 0.6997f, 0.8225f, 0.8165f, 0.5717f, 0.2765f, 0.5144f, 0.8840f, 1.2194f, 1.1934f, 1.1069f, 0.5796f, 0.2798f, 0.3175f, 0.6022f, 0.3374f, 0.6010f, 0.4594f, 0.4490f, 0.6831f, 0.2538f, 0.7456f, 0.8330f, 0.6722f, 0.6850f, 0.8292f, 0.6778f, 0.1392f, 1.2199f, 0.8647f, 0.8161f, 0.6485f, 0.6343f, 0.3797f, 0.6515f, 0.4315f, 0.3022f, 0.3024f, 0.2120f, 0.2551f, 0.4923f, 0.6934f, 0.7993f, 0.8923f, 1.4418f, 0.9937f, 1.0501f, 0.8747f, 0.8225f, 0.7346f, 0.6469f, 0.6941f, 0.5764f, 0.5015f, 0.5440f, 0.4532f, 0.3822f, 0.3245f, 0.2851f, 0.2747f, 0.9828f, 0.0887f, 0.2277f, 0.7413f, 0.4800f, 0.2756f, 0.2946f, 0.5888f, 0.6998f, 0.6227f, 0.7478f, 0.5725f, 0.1379f, 0.1431f, 0.1805f, 0.4829f, 0.8794f, 0.7376f, 0.1250f, 0.6556f, 0.7320f, 0.6059f, 0.6806f, 0.6199f, 0.7132f, 0.8434f, 1.0333f, 1.0499f, 0.7492f, 0.6957f, 0.9826f, 1.2112f, 1.0154f, 0.3330f, 0.1984f, 0.5798f, 0.6109f, 0.7079f, 0.6028f, 0.7755f, 0.3997f, 0.2174f, 0.3778f, 0.1806f, 0.3828f, 0.6677f, 0.1698f, -0.0764f, 0.2957f, 0.5380f, 0.3941f, 0.1545f, 0.1817f, 0.1492f, 0.1176f, 0.1401f, 0.1443f, 0.1624f, 0.2161f, 0.1050f, 0.0465f, 0.0992f, 0.1548f, 0.2871f, 0.4829f, 0.2054f, -0.0147f, 0.0101f, 0.1512f, 0.1155f, 0.1964f, 0.2419f, 0.3925f, 0.4822f, 0.5127f, 0.5489f, 0.5979f, 0.5555f, 0.4388f, 0.2863f, 0.2983f, 0.1288f, 0.3915f, 0.9106f, 0.8310f, 0.8671f, 0.8521f, 0.9646f, 1.0005f, 0.8326f, 0.7556f, 0.7819f, 0.9050f, 0.9725f, 0.9163f, 0.8449f, 1.2049f, 0.3862f, 0.9760f, 1.0310f, 1.0706f, 1.0307f, 1.0134f, 0.8999f, 0.8605f, 0.7434f, 0.6955f, 0.6213f, 0.5850f, 0.6099f, 0.5950f, 0.5231f, 0.8160f, 0.4494f, 0.0389f, 0.0654f, 0.3875f, 0.5487f, 0.6697f, 0.7089f, 0.7020f, 0.6666f, 0.5399f, 0.4341f, 0.4210f, 0.6284f, 0.9229f, 0.7662f, 0.4618f, 0.2426f, 0.5138f, 0.8489f, 0.7178f, 0.9105f, 0.9475f, 0.5281f, 0.6052f, 0.6291f, 0.2624f, 0.3647f, 0.3014f, 0.1434f, 0.1341f, 0.4881f, 0.4822f, 0.1594f, 0.2811f, 0.9458f, 1.0056f, 0.7466f, 0.3447f, 0.2163f, 0.1379f, 0.3098f, 0.4083f, 0.6490f, 0.5827f, 0.4478f, 0.6663f, 0.6737f, 0.6829f, 0.5054f, 0.5285f, 0.4076f, 0.3663f, 0.3258f, -0.0096f, -0.0710f, -0.2110f, -0.0830f, 0.1579f, 0.3359f, 0.4516f, 0.4427f, 0.5405f, 0.6043f, 0.3350f, 0.6481f, 0.4408f, 0.1212f, 0.4304f, 0.2494f, 0.4807f, 0.2526f, 0.1751f, 0.5094f, 0.3185f, 0.3301f, 0.4504f, 0.4499f, 0.2312f, 0.1710f, -0.2053f, 0.7435f, 0.5872f, 0.1184f, 0.1298f, 0.2084f, 0.3730f, 0.5612f, 0.8230f, 0.9030f, 0.8439f, 0.8983f, 0.9624f, 0.9242f, 0.8337f, 0.7372f, 0.4667f, 0.8055f, 0.7332f, 0.1523f, 0.5286f, 0.8466f, 0.4619f, 0.4315f, 0.4763f, 0.3932f, 0.6572f, 0.6947f, 0.7321f, 0.7294f, 0.8217f, 1.1139f, 0.6574f, 0.0249f, 0.0296f, 0.2452f, 0.4120f, 0.4165f, 0.4159f, 0.3285f, 0.3109f, 0.0730f, -0.0183f, 0.0082f, 0.0305f, 0.0754f, 0.1446f, 0.2425f, 0.1412f, 0.6086f, 0.9737f, 0.8510f, 0.1865f, 0.0105f, 0.0343f, 0.1827f, 0.3665f, 0.5118f, 0.5408f, 0.5763f, 0.6490f, 0.7326f, 0.7545f, 0.8498f, 0.6690f, 0.8440f, 0.9721f, 0.6413f, 0.3723f, 0.6549f, 0.3935f, 0.4616f, 0.3716f, 0.3139f, 0.3851f, 0.2738f, 0.1968f, 0.2633f, 0.3083f, 0.3398f, -0.1988f, 0.8972f, 0.8181f, 0.2972f, 0.2365f, 0.3111f, 0.2415f, 0.3441f, 0.3439f, 0.2514f, 0.3043f, 0.4160f, 0.2861f, 0.1513f, 0.1437f, 0.1116f, 0.4593f, 0.5325f, 0.3790f, -0.1778f, -0.2148f, 0.0383f, 0.1772f, 0.3178f, 0.2004f, 0.2038f, 0.2017f, 0.2756f, 0.3042f, 0.4692f, 0.5370f, 0.6363f, 0.0806f, 0.0427f, 0.0436f, 0.0133f, 0.0101f, -0.0678f, -0.1081f, -0.0871f, -0.0717f, -0.0147f, 0.0031f, 0.0231f, 0.0648f, 0.0721f, 0.0178f, 0.0190f, 0.1752f, 0.0608f, 0.0258f, 0.3738f, 0.8259f, 0.8728f, 0.9939f, 0.9193f, 0.9188f, 0.9589f, 0.8421f, 0.8073f, 0.7910f, 0.6457f, 0.5261f, 0.6520f, 0.5040f, 0.3360f, 0.8495f, 0.8652f, 0.5642f, 0.3230f, 0.2924f, 0.2144f, 0.0397f, 0.0596f, 0.0316f, -0.0152f, -0.0704f, -0.0675f, 0.0751f, 0.0680f, 0.5636f }; const float tbl_mid_voi_wb_1b[] = { 0.5556f, 0.5614f, 0.5803f, 0.6146f, 0.6082f, 0.6382f, 0.6492f, 0.6840f, 0.6957f, 0.6899f, 0.6887f, 0.7039f, 0.7110f, 0.7170f, 0.7103f, 0.7392f, 0.4658f, 0.4096f, 0.2833f, 0.3310f, 0.3540f, 0.3314f, 0.3406f, 0.3062f, 0.3059f, 0.3186f, 0.3194f, 0.2953f, 0.3098f, 0.3201f, 0.3667f, 0.3327f }; const float tbl_mid_voi_wb_4b[] = { 0.5294f, 0.5170f, 0.4304f, 0.4984f, 0.4290f, 0.6661f, 0.3867f, 0.3063f, 0.5393f, 0.6129f, 0.1603f, 0.3603f, 0.6527f, 0.4752f, 1.0162f, 1.4353f, 0.5102f, 0.4928f, 0.4840f, 0.4249f, 0.4917f, 0.4009f, 0.3227f, 0.5597f, 0.5797f, 0.3755f, 0.3920f, 0.1344f, 0.5097f, 0.9082f, 0.7013f, -0.5011f, 0.5175f, 0.4830f, 0.5432f, 0.6072f, 0.6592f, 0.7000f, 0.7624f, 0.8040f, 0.9490f, 0.3295f, 0.3397f, 0.4241f, 0.1642f, -0.0386f, 0.6188f, 0.5986f, 0.4839f, 0.4651f, 0.3263f, 0.3700f, 0.2745f, 0.3867f, 0.3851f, 0.5132f, 0.8931f, 0.8760f, 1.0596f, 0.8724f, 0.6003f, 0.5049f, 0.3836f, 0.3676f, 0.4969f, 0.4703f, 0.4758f, 0.4850f, 0.4228f, 0.3513f, 0.7059f, 0.6520f, 0.2106f, 0.0978f, 0.1457f, 0.5174f, 0.8381f, 0.6043f, 0.0969f, 0.7654f, 0.4801f, 0.4578f, 0.6019f, 0.4476f, 0.4376f, 0.3113f, 0.5259f, 0.7027f, 0.5497f, 0.8644f, 0.5973f, 0.1313f, 0.0133f, 0.2014f, 0.2304f, 1.0817f, 0.5863f, 0.5892f, 0.6066f, 0.6727f, 0.7041f, 0.5282f, 0.6442f, 0.6023f, 0.8434f, 0.9365f, 0.6537f, 0.4810f, 1.2195f, 1.1746f, 0.9103f, 0.5129f, 0.5512f, 0.5199f, 0.2983f, 0.5917f, 0.4551f, 0.5614f, 0.6073f, 0.7500f, 0.4989f, 0.5331f, 0.8576f, 0.6138f, 0.2936f, 0.8562f, 1.6316f, 0.7646f, 0.5793f, 0.5562f, 0.6601f, 0.7161f, 0.5777f, 0.4990f, 0.4840f, 0.4064f, 0.5700f, 0.3790f, 0.7224f, 0.9551f, 0.7356f, 1.1203f, 0.2266f, 1.6149f, 0.5042f, 0.5144f, 0.3071f, 0.4324f, 0.5917f, 0.4579f, 0.4522f, 0.2905f, 0.5115f, 0.5843f, 0.5678f, 0.6080f, 0.6961f, -0.0033f, -0.3615f, 0.0158f, 0.5445f, 0.5767f, 0.6388f, 0.5713f, 0.7336f, 0.8816f, 0.7753f, 0.3746f, 0.0739f, 0.7244f, 0.6869f, 0.4683f, 0.4260f, 0.7398f, 0.4341f, 0.3155f, 0.5650f, 0.5765f, 0.6671f, 0.5102f, 0.5444f, 0.7536f, 0.7220f, 0.8862f, 0.5741f, 0.5022f, 0.4807f, 1.1700f, 0.9869f, 0.4616f, 0.9180f, 0.0763f, 0.6106f, 0.6861f, 0.7754f, 0.8440f, 0.8752f, 0.9422f, 0.9259f, 1.0264f, 1.0205f, 0.9623f, 0.8996f, 0.8816f, 0.8076f, 0.7327f, 0.6793f, 1.1467f, 0.4955f, 0.5031f, 0.5100f, 0.5392f, 0.4195f, 0.1782f, 0.1258f, 0.0135f, 0.0714f, 0.2085f, 0.5150f, 0.6615f, 0.3156f, 0.3900f, 0.7506f, 0.3932f, 0.4143f, 0.3389f, 0.2405f, 0.3305f, 0.3641f, 0.4799f, 0.3964f, 0.2111f, 0.0548f, -0.0133f, -0.0056f, -0.0572f, 0.0485f, 0.2417f, 0.2814f, 0.1920f, 0.3978f, 0.2283f, 0.0296f, 0.0478f, 0.0913f, 0.0751f, 0.1447f, 0.1568f, 0.2758f, 0.3280f, 0.2700f, 0.2151f, 0.2654f, 0.2303f, 0.2255f, 0.2530f }; const float tbl_mid_voi_wb_5b[] = { 0.5105f, 0.4663f, 0.5008f, 0.6860f, 0.5005f, 0.5466f, 0.4820f, 0.6168f, 0.3562f, 0.3763f, 0.5162f, 0.4556f, 0.2225f, 0.7751f, 2.1033f, 0.5617f, 0.5323f, 0.4977f, 0.2730f, 0.5039f, 0.3926f, 0.5704f, 0.7351f, 0.7961f, 0.7014f, 0.5227f, 0.3810f, 0.5430f, 0.7882f, 1.5348f, 0.5372f, 0.9516f, 0.5161f, 0.4988f, 0.5340f, 0.5273f, 0.5461f, 0.5780f, 0.5404f, 0.6856f, 0.7294f, 0.0169f, 0.7186f, 0.4543f, 0.2812f, -0.4187f, 0.6098f, 0.7624f, 0.5273f, 0.5303f, 0.4892f, 0.5282f, 0.4056f, 0.8344f, 0.4427f, 0.4065f, 0.3812f, 0.4848f, 0.2908f, 0.2198f, 0.7839f, 0.3860f, 1.1033f, 1.7247f, 0.5119f, 0.5130f, 0.5387f, 0.3300f, 0.5096f, 0.5286f, 0.3192f, 0.9277f, 0.2096f, 0.4280f, 0.6923f, 0.8753f, 0.4327f, 0.2869f, -0.3342f, 0.8895f, 0.5090f, 0.4776f, 0.5277f, 0.4664f, 0.5432f, 0.8258f, 0.9150f, 0.9896f, 0.9090f, 0.6744f, 0.3770f, 0.2396f, 0.2459f, 0.4065f, 0.1192f, 0.1223f, 0.5595f, 0.5394f, 0.4375f, 0.5036f, 0.5839f, 0.6266f, 0.3891f, 0.6103f, 0.5874f, 0.5663f, 1.2253f, 0.8567f, 0.6243f, 0.6796f, 0.4019f, -0.7769f, 0.4793f, 0.4995f, 0.3308f, 0.3321f, 0.2196f, 0.4284f, 0.5544f, 0.4090f, 0.5595f, 0.7174f, 0.7982f, 0.6268f, 0.1198f, 0.4918f, 0.8815f, 0.0723f, 0.5645f, 0.5575f, 0.5454f, 0.5652f, 0.6970f, 0.6375f, 0.7182f, 0.3128f, 1.0318f, 0.3448f, 0.0133f, 0.7923f, 0.1477f, 0.3566f, 0.8901f, 0.8689f, 0.5182f, 0.5078f, 0.6249f, 0.5317f, 0.6768f, 0.3704f, 0.1840f, 0.5101f, 0.7289f, 0.2379f, 0.4136f, 0.0748f, 0.6097f, 1.1010f, 0.8246f, -0.0766f, 0.5988f, 0.6057f, 0.5528f, 0.8575f, 0.5987f, 0.5457f, 0.6180f, 0.4199f, 0.7749f, 0.7449f, 0.5272f, 0.5365f, 0.9174f, 0.7994f, -0.4513f, 0.7950f, 0.5716f, 0.5605f, 0.6473f, 0.5607f, 0.5092f, 0.6426f, 0.7466f, 0.9075f, 0.5011f, 0.6658f, 0.3106f, 1.0367f, 0.7924f, 0.1091f, 1.0966f, -0.2937f, 0.4433f, 0.4193f, 0.4868f, 0.5121f, 0.4497f, 0.2652f, 0.8222f, 0.5557f, -0.0414f, 0.0932f, 0.0376f, 0.4227f, 0.7474f, 0.3534f, 0.3456f, 0.6976f, 0.5268f, 0.5018f, 0.2730f, 0.3274f, 0.1291f, 0.0664f, 0.3102f, 0.2047f, 0.4332f, 0.3378f, 0.4121f, 0.7203f, 0.8165f, 0.7094f, 0.8077f, 0.4042f, 0.5477f, 0.5231f, 0.6094f, 0.4463f, 0.7288f, 0.5550f, 0.4852f, 0.7322f, 0.6085f, 0.8074f, 0.5868f, 0.2406f, 1.8234f, 0.5357f, 0.7511f, 0.4092f, 0.5616f, 0.5749f, 0.6051f, 0.5437f, 0.5948f, 0.8798f, 0.7179f, 0.4225f, 0.2786f, 0.2233f, 0.6857f, 1.2117f, 1.2260f, 0.9426f, 0.3945f, 0.5651f, 0.4840f, 0.4684f, 0.2549f, 0.5206f, 0.6155f, 0.4246f, 0.5436f, 0.3423f, 0.5080f, 0.5930f, 0.5267f, 0.5302f, 0.6339f, -0.2225f, -0.6138f, -0.1388f, 0.4198f, 0.3463f, 0.3111f, 0.4959f, 0.3487f, 0.3243f, 0.3250f, 0.6211f, 1.2876f, 1.0880f, 0.8094f, 0.7806f, 0.6797f, 0.3919f, 0.2967f, 0.4151f, 0.4972f, 0.4686f, 0.7088f, 0.6465f, 0.4597f, 0.2859f, 0.3155f, 0.1088f, 0.3838f, 0.3647f, 0.8309f, 0.5647f, 0.4517f, 0.7146f, 0.1884f, 1.9724f, 0.5113f, 0.4938f, 0.5241f, 0.5526f, 0.4893f, 0.1725f, 0.5946f, 0.7423f, 0.4025f, 0.7991f, 0.6111f, -0.0446f, -0.2892f, 0.1679f, 0.6741f, 1.0726f, 0.5833f, 0.5838f, 0.6032f, 0.5539f, 0.5489f, 0.3820f, 0.6023f, 0.5336f, 0.8758f, 0.8451f, 1.0522f, 1.2495f, 1.0576f, 1.2314f, 1.3334f, 0.8928f, 0.6036f, 0.6123f, 0.7860f, 0.7755f, 0.8086f, 0.7890f, 0.8469f, 0.9213f, 0.8550f, 0.8890f, 0.9344f, 0.8727f, 0.9338f, 0.3353f, 0.4170f, 1.8179f, 0.5830f, 0.6630f, 0.6732f, 0.7561f, 0.6958f, 0.6695f, 0.3412f, 0.6684f, 0.4912f, 1.0853f, 0.3577f, 0.9663f, 0.4184f, 0.9851f, 0.7226f, 1.6406f, 0.5759f, 0.6087f, 0.5859f, 0.6453f, 0.8016f, 0.8000f, 0.8058f, 0.1508f, -0.1484f, 0.8003f, 0.7444f, 0.4837f, 0.5323f, 0.6758f, 0.6735f, 0.4804f, 0.5787f, 0.5712f, 0.6827f, 0.5971f, 0.4699f, 0.6927f, 0.7919f, 0.7616f, 0.8621f, 1.4702f, 1.3328f, 0.2976f, 0.4855f, 0.8906f, 1.0309f, 0.8087f, 0.5932f, 0.7057f, 0.8047f, 0.9032f, 0.9799f, 1.0813f, 0.9935f, 1.0927f, 1.0693f, 0.6721f, 0.7683f, 0.7983f, 0.7954f, 0.9188f, 0.9385f, 0.4985f, 0.4977f, 0.4603f, 0.4455f, 0.4127f, 0.4110f, 0.4941f, 0.4759f, 0.5349f, 0.3683f, -0.2632f, -0.1787f, -0.2694f, 0.1011f, 0.5906f, 0.2528f, 0.2884f, 0.4634f, 0.4195f, 0.4343f, 0.4690f, 0.2649f, 0.5263f, 0.3176f, 0.0849f, 0.2367f, 0.3145f, 0.1513f, 0.0400f, -0.0157f, -0.0790f, 0.2078f, 0.3531f, 0.4901f, 0.4280f, 0.0448f, 0.1648f, 0.4062f, 0.4517f, 0.4672f, 0.2977f, 0.1751f, 0.4745f, 0.2782f, 0.1945f, 0.4484f, 0.6724f, 0.4767f, -0.3629f, 0.4990f, 0.4870f, 0.4556f, 0.3975f, 0.5759f, 0.1679f, 0.0186f, -0.0121f, -0.0310f, 0.1391f, 0.4368f, 0.4048f, 0.2680f, 0.2939f, 0.6137f, 0.1220f, 0.4576f, 0.3876f, 0.1800f, 0.0838f, 0.2449f, 0.2391f, 0.1902f, 0.3734f, 0.6560f, 0.6120f, 0.2977f, 0.2925f, 0.3012f, 0.2707f, 0.1258f, 0.9602f, 0.2486f, 0.0856f, 0.0151f, 0.0339f, 0.0400f, 0.0309f, 0.0806f, 0.0645f, 0.1008f, 0.0578f, 0.0978f, 0.0977f, 0.1286f, 0.1623f, 0.0981f, 0.1181f }; const float tbl_mid_unv_wb_4b[] = { 0.6335f, 0.3837f, 0.0061f, 0.3077f, 0.6323f, 0.7715f, 0.4749f, 0.4108f, 0.4372f, 0.4293f, 0.4158f, 0.3722f, 0.3496f, 0.1979f, 0.2359f, -0.1160f, 0.8317f, 0.8118f, 0.2606f, 0.1187f, 0.0552f, 0.1774f, 0.3932f, 0.2072f, 0.3864f, 0.5424f, 0.7232f, 0.7687f, 0.4769f, 0.3494f, 0.4378f, 0.5646f, 0.3911f, 0.3263f, 0.7933f, 0.5272f, 0.1287f, 0.0682f, 0.5376f, 0.7098f, 0.6191f, 0.8087f, 0.5485f, 0.3026f, 0.2164f, 0.1960f, 0.2562f, 1.0169f, 0.2349f, 0.3254f, 0.5092f, 0.6735f, 0.7200f, 0.8835f, 0.8933f, 0.9395f, 0.8850f, 0.7653f, 0.7524f, 0.7371f, 0.6408f, 0.5230f, 0.5062f, 0.3452f, 0.3460f, 0.0962f, 0.0094f, 0.2461f, 0.2226f, 0.3936f, 0.4201f, 0.5459f, 0.7673f, 0.8199f, 0.8280f, 0.8231f, 0.8197f, 0.8607f, 0.8010f, 0.3089f, 0.7795f, 0.6877f, 0.7032f, 0.6328f, 0.4300f, 0.5229f, 0.2279f, 0.1276f, 0.0707f, 0.1435f, 0.2128f, 0.3172f, 0.6441f, 0.6792f, 0.6553f, 0.9661f, 0.2191f, 0.1685f, 0.6328f, 1.1384f, 0.9794f, 0.3831f, 0.1536f, 0.2111f, 0.4062f, 0.4802f, 0.6310f, 0.6891f, 0.6434f, 0.7195f, 0.6825f, 0.6281f, 0.7000f, 0.7134f, 1.0741f, 1.0685f, 0.6870f, 0.6970f, 0.6415f, 0.5947f, 0.6529f, 0.4188f, 0.3670f, 0.3035f, 0.1731f, 0.1189f, 0.1361f, 0.2484f, 0.5120f, 1.0280f, 0.2212f, 0.7419f, 0.3666f, 0.4217f, 0.8202f, 0.9157f, 0.2588f, 0.2309f, 0.3245f, 0.2828f, 0.2803f, 0.7001f, 0.7999f, 0.5475f, 0.9854f, 1.3984f, 0.7880f, 0.6188f, 0.6003f, 0.6025f, 0.5882f, 0.6020f, 0.7360f, 0.7624f, 0.7677f, 0.8184f, 0.8239f, 0.6515f, 0.5525f, 0.4851f, 0.4527f, 0.6817f, 0.5962f, -0.1834f, 0.5938f, 0.2848f, 0.0740f, 0.7295f, 0.7859f, 0.2945f, 0.2364f, 0.4472f, 0.6828f, 0.8532f, 0.7874f, 0.4340f, 0.4691f, -0.8407f, 0.4513f, 0.4736f, 0.5430f, 0.5205f, 0.7277f, 0.5125f, 0.4374f, 0.4812f, 0.4402f, 0.4600f, 0.5441f, 0.5339f, 0.5000f, 0.5523f, 0.3114f, 0.8277f, 0.8566f, 0.3543f, 1.1264f, 1.0654f, 0.8704f, 0.2286f, 0.2817f, 0.5363f, 0.4860f, 0.4854f, 0.4885f, 0.4981f, 0.5884f, 0.6849f, 0.0269f, -0.0212f, -0.0053f, -0.0662f, 0.0548f, 0.1794f, 0.2147f, 0.2311f, 0.1580f, 0.1215f, 0.0883f, 0.0883f, 0.0939f, 0.1213f, 0.1671f, 0.5387f, 0.2015f, 0.2757f, 0.3759f, 0.3556f, 0.1435f, -0.0599f, -0.1540f, -0.1010f, -0.0265f, 0.1109f, 0.1375f, 0.2138f, 0.2321f, 0.2154f, 0.3242f, 0.0302f, 0.6567f, 0.8920f, 0.9432f, 0.9931f, 1.0095f, 1.0340f, 1.0733f, 1.0465f, 1.0174f, 1.0278f, 0.9835f, 0.9231f, 0.8690f, 0.9104f, 0.8308f, 0.9015f }; const float tbl_mid_unv_wb_5b[] = { 0.7613f, 0.7719f, 0.1405f, 0.0932f, 0.5149f, 0.7991f, 1.0299f, 1.0621f, 0.9101f, 0.8061f, 0.5653f, 0.3541f, 0.3723f, 0.2189f, 0.2387f, 0.2759f, 0.6765f, 0.5271f, 0.6522f, 0.6740f, 0.7323f, 0.6686f, 0.6427f, 0.6389f, 0.5635f, 0.4064f, 0.4204f, 0.2217f, -0.0540f, 0.0055f, -0.0003f, 1.0891f, 0.7776f, 1.0019f, 0.8036f, 0.6873f, 0.6593f, 0.6663f, 0.6333f, 0.6830f, 0.8102f, 0.8412f, 0.8499f, 0.8505f, 0.8562f, 0.7727f, 0.6647f, 0.3785f, 0.3357f, 0.3489f, 0.6355f, 0.5608f, 0.4041f, 0.4265f, 0.3007f, 0.4162f, 0.4157f, 0.7509f, 0.9377f, 1.0489f, 0.5420f, 0.4535f, 0.3596f, -0.5336f, 0.1412f, 0.0807f, 0.4569f, 0.7835f, 0.9173f, 1.0155f, 0.9137f, 0.8909f, 0.9678f, 0.9173f, 0.8315f, 0.6923f, 0.6220f, 0.6253f, 0.6100f, 0.4810f, 0.6266f, 0.4207f, 0.3287f, 0.1977f, 0.2270f, 0.3251f, 0.5619f, 0.7677f, 0.9096f, 0.8856f, 0.9169f, 0.9138f, 1.0827f, 1.0625f, 1.0292f, 0.8096f, 0.3048f, 0.8186f, 0.8589f, 0.4195f, 1.3250f, 1.0856f, 0.7364f, 0.3688f, 0.3584f, 0.5818f, 0.5060f, 0.5001f, 0.6320f, 0.5961f, 0.7227f, 0.9292f, -0.0186f, -0.0066f, 0.4828f, 0.1428f, 0.6790f, 0.5731f, 0.1672f, 1.0123f, 0.3792f, 0.2371f, 0.6724f, 0.5954f, 0.4266f, 0.1336f, 0.1317f, 0.6593f, 0.0588f, 0.0455f, 0.0269f, -0.0433f, -0.0288f, -0.0401f, -0.0520f, -0.0180f, 0.0298f, 0.0687f, 0.0692f, 0.1117f, 0.1235f, 0.0825f, 0.0981f, 0.3321f, 0.0534f, 0.0996f, 0.3916f, 0.4144f, 0.3053f, 0.4633f, 0.5347f, 0.3117f, 0.0487f, 0.0038f, -0.0633f, -0.0580f, -0.0198f, 0.2142f, 0.3482f, 0.1270f, 0.2523f, 0.2594f, 0.1522f, 0.2921f, 0.3506f, 0.2707f, 0.4275f, 0.4855f, 0.5752f, 0.5218f, 0.3174f, 0.2905f, 0.2825f, 0.3531f, 0.4339f, 1.7003f, 0.4843f, -0.0775f, -0.2139f, 0.3039f, 0.0370f, 0.1183f, 0.1276f, 0.3465f, 0.6921f, 0.5677f, 0.6350f, 0.6406f, 0.5105f, 0.5348f, 0.6704f, 0.0065f, 0.3712f, 0.3044f, 1.1308f, 0.6067f, 0.0439f, -0.4632f, 0.7686f, 0.7904f, 0.5471f, 0.8138f, 0.6427f, 0.3550f, 0.2907f, 0.3527f, 0.4539f, 0.6299f, 0.4107f, 0.5028f, 0.7238f, 0.3862f, -0.0910f, 1.1435f, 0.2016f, -0.0878f, 0.7719f, 0.6242f, 0.2342f, 0.1538f, 0.3210f, 0.4376f, 0.2715f, 0.3880f, 0.2006f, 0.1022f, 0.9856f, 1.0177f, 0.5172f, 0.2847f, 0.2673f, -0.1435f, 0.2402f, 0.1511f, 0.2873f, 0.5806f, 0.6432f, 0.7030f, 0.6057f, 0.6605f, 0.9265f, 0.7899f, 0.3217f, 0.2282f, 0.1476f, 0.1837f, 0.2586f, 0.1089f, 0.2017f, 0.4537f, 0.6116f, 0.4845f, 0.2765f, 0.2964f, 0.4001f, 0.6137f, 0.8898f, 1.0569f, 1.3651f, 1.0880f, 0.7427f, 0.8146f, 0.7277f, 0.4933f, 0.4686f, 0.3226f, 0.2556f, 0.3925f, 0.3609f, 0.3534f, 0.4061f, 0.6180f, 0.7097f, -0.6082f, 0.1367f, 0.2578f, 0.5352f, 0.6455f, 0.7388f, 0.5255f, 0.5767f, 0.6179f, 0.4126f, 0.5127f, 0.7127f, 0.8766f, 0.7792f, 0.5824f, 0.4750f, 0.8985f, 0.5078f, 0.1736f, 0.6068f, 0.1146f, 0.0343f, 0.4376f, 0.5880f, 0.1435f, -0.0373f, 0.0317f, 0.4657f, 1.0099f, 0.8661f, 0.1866f, 0.9984f, 2.3701f, 0.4294f, 0.4330f, 0.5639f, 0.5165f, 0.4100f, 0.4402f, 0.6263f, 0.5455f, 0.6353f, 0.6244f, 0.6031f, 0.5825f, 0.5097f, 0.6299f, 0.5541f, 0.6583f, 0.3303f, 0.6556f, 0.1792f, 1.0361f, 1.2642f, 0.3391f, 0.1741f, 0.0453f, 0.9879f, 0.9531f, 0.6357f, 0.7319f, 0.7423f, 0.6173f, 0.3987f, 0.4249f, -0.6046f, -0.6882f, 0.4910f, 0.6716f, 0.4378f, 0.3805f, 0.3341f, 0.4671f, 0.4465f, 0.4801f, 0.4397f, 0.6006f, 0.6054f, 0.4252f, 0.4695f, 1.1709f, 0.4102f, 0.7910f, 0.1483f, 0.3870f, 0.6370f, 1.0548f, 0.0811f, 0.3290f, 0.4093f, 0.1806f, 0.2059f, 0.7384f, 0.8635f, 0.5733f, 0.2723f, 0.5489f, 0.8253f, 0.8299f, 0.7252f, 0.6647f, 0.9867f, 0.9697f, 0.7177f, 0.4570f, 0.3074f, 0.7912f, 0.8034f, 0.7441f, 0.7787f, -0.0162f, 0.4101f, 0.7419f, 0.1299f, 1.6854f, 0.9991f, 0.4401f, 0.5282f, 0.4610f, 0.7582f, 0.6075f, 0.6122f, 0.5946f, 0.7110f, 0.3059f, 0.2600f, 0.6038f, 0.6606f, 0.5502f, 0.1162f, 0.5003f, 0.6136f, 0.4821f, 0.4274f, 0.2171f, 0.2387f, 0.2595f, 0.1985f, 0.4479f, 0.5427f, -0.1344f, 0.0898f, -0.3306f, 0.5889f, 0.9132f, 1.0845f, -0.3197f, -0.3362f, 0.0343f, 0.5076f, 0.3968f, 0.5618f, 0.3596f, 0.4779f, 0.7531f, 0.7416f, 0.4266f, 0.3987f, 0.5340f, 0.7489f, 0.3257f, 0.8281f, 1.2605f, 0.8413f, 0.6688f, 0.1844f, 0.3748f, 0.7825f, 1.1222f, 0.8489f, 0.1323f, 0.3507f, 0.8581f, 0.9935f, 0.6921f, 0.8856f, 0.7036f, 0.6252f, 0.7064f, 0.3820f, 0.6683f, -0.3320f, 0.4602f, -0.1010f, 0.1065f, 0.1942f, 0.5670f, 0.8811f, 0.6730f, 0.7053f, 0.7718f, 0.1447f, -1.5991f, 0.6787f, 0.7162f, 0.5069f, 0.3163f, 0.6009f, 0.4212f, 0.2517f, 0.5189f, 0.5235f, 0.4147f, 0.4682f, 0.2541f, 0.2860f, 0.3872f, 0.5444f, 0.5385f, 0.4809f, 0.5395f, 1.1487f, -0.3404f, -0.3082f, -0.3512f, -0.2280f, 0.3479f, 0.5481f, 0.4996f, 0.3860f, 0.4747f, 0.4639f, 0.4263f, 0.7822f, 1.0122f, 1.0295f, 1.0430f, 1.0629f, 1.1165f, 1.1447f, 1.1354f, 1.1063f, 1.0919f, 1.0188f, 0.9977f, 0.8758f, 0.8855f, 0.7471f, 0.9058f }; /*------------------------------------------------------------------------------* * AVQ - RE8 tables *------------------------------------------------------------------------------*/ /* NOTE: Many values here could fit in shorts instead of ints */ const int select_table22[5][9] = { {1, 1, 1, 1, 1, 1, 1, 1, 1}, {0, 1, 2, 3, 4, 5, 6, 7, 8}, {0, 0, 1, 3, 6, 10, 15, 21, 28}, {0, 0, 0, 1, 4, 10, 20, 35, 56}, {0, 0, 0, 0, 1, 5, 15, 35, 70} }; /* value of leader element */ const int vals_a[36][4] = { {1}, {0,2}, {0,2}, {1,3}, {0,4}, {2,0}, {1,3}, {0,2,4}, {2}, {1,3}, {2,0,4}, {0,4}, {1,5}, {1,3}, {2,0,4}, {0,2,4}, {1,3,5}, {0,2,6}, {0,4}, {0,2,6}, {0,2,4,6}, {1,7}, {0,8}, {0,6}, {0,2,8}, {0,4,8}, {1,9}, {0,2,10}, {0,8}, {0,6,10}, {0,12}, {0,4,12}, {0,10}, {0,2,14}, {0,8,12}, {0,16} }; /* code parameter for every leader */ const int vals_q[36][4] = { {7,1}, {2,2,2}, {4,2,4}, {7,2,1}, {1,2,1}, {6,2,2}, {7,2,2}, {3,3,3,1}, {8,1}, {7,2,3}, {5,3,4,1}, {2,2,2}, {7,2,1}, {7,2,4}, {7,3,2,1}, {4,3,4,2}, {7,3,2,1}, {2,3,2,1}, {3,2,3}, {4,3,4,1}, {3,4,3,2}, {7,2,1}, {1,2,1}, {2,2,2}, {3,3,3,1}, {2,3,2,1}, {7,2,1}, {2,3,2,1}, {2,2,2}, {2,3,2,1}, {1,2,1}, {2,3,2,1}, {2,2,2}, {2,3,2,1}, {2,3,2,1}, {1,2,1} }; /* codebook start address for every leader */ const unsigned int Is[36] = { 0, 128, 256, 1376, 240, 0, 1792, 2400, 5376, 5632, 12800, 3744, 21760, 22784, 31744, 38912, 45632, 3856, 52800, 53248, 57728, 60416, 4080, 61440, 61552, 62896, 63120, 64144, 64368, 64480, 64704, 64720, 64944, 65056, 65280, 65504 }; /* A3 - Number of the absolute leaders in codebook Q3 */ const int AA3[NB_LDQ3] = { 0, 1, 4, 2, 3, 7, 11, 17, 22 }; /* A4 - Number of the absolute leaders in codebook Q4 */ const int AA4[NB_LDQ4] = { 5, 6, 8, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35 }; /* I3 - Cardinality offsets for absolute leaders in Q3 */ const unsigned int II3[NB_LDQ3] = { 0, 128, 240, 256, 1376, 2400, 3744, 3856, 4080 }; /* I4 - Cardinality offset for absolute leaders in Q4 */ const unsigned int II4[NB_LDQ4] = { 0, 1792, 5376, 5632, 12800, 21760, 22784, 31744, 38912, 45632, 52800, 53248, 57728, 60416, 61440, 61552, 62896, 63120, 64144, 64368, 64480, 64704, 64720, 64944, 65056, 65280, 65504 }; /*------------------------------------------------------------------------------* * Position of the first absolute leader on a spherical shell (or sphere) *------------------------------------------------------------------------------*/ const int Da_pos[NB_SPHERE] = { 0, 2, 5, 8, 13, 18, 20, 22, 23, 25, 26, 27, 27, 28, 28, 28, 29, 30, 31, 31, 32, 32, 32, 32, 32, 34, 35, 35, 35, 35, 35, 35 }; /*------------------------------------------------------------------------------* * Number of absolute leaders on a spherical shell *------------------------------------------------------------------------------*/ const int Da_nb[NB_SPHERE] = { 2, 3, 3, 5, 5, 2, 2, 1, 2, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1 }; /*------------------------------------------------------------------------------* * Identification code of an absolute leader *------------------------------------------------------------------------------*/ const int Da_id[NB_LEADER] = { 0x0001, 0x0004, 0x0008, 0x000B, 0x0020, 0x000C, 0x0015, 0x0024, 0x0010, 0x001F, 0x0028, 0x0040, 0x004F, 0x0029, 0x002C, 0x0044, 0x0059, 0x00A4, 0x0060, 0x00A8, 0x00C4, 0x012D, 0x0200, 0x0144, 0x0204, 0x0220, 0x0335, 0x04E4, 0x0400, 0x0584, 0x0A20, 0x0A40, 0x09C4, 0x12C4, 0x0C20, 0x2000 }; /*------------------------------------------------------------------------------* * Codebook number for each absolute leader *------------------------------------------------------------------------------*/ const int Da_nq[NB_LEADER+2] = { 2, 2, 3, 3, 2, 4, 4, 3, 4, 4, 4, 3, 4, 4, 4, 4, 4, 3, 4, 4, 4, 4, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 100 }; /*------------------------------------------------------------------------------* * SWB TBE tables *------------------------------------------------------------------------------*/ const short skip_bands_SWB_TBE[NUM_SHB_SUBFR+1] = {0, 20, 40, 60, 80, 100, 120, 140, 160, 180, 200, 220, 240, 260, 280, 300, 320}; /* bands for SWB TBE quantisation */ const short skip_bands_WB_TBE[NUM_SHB_SUBFR/2+1] = {0, 10, 20, 30, 40, 50, 60, 70, 80}; /* bands for WB TBE quantisation */ const float interpol_frac_shb[NB_SUBFR*2] = { 0.7f, 0.3f, 0.4f, 0.6f, 0.1f, 0.9f, 0.0f, 1.0f }; /* All pass filter coeffs for interpolation and decimation by a factor of 2 */ const float AP1_STEEP[ALLPASSSECTIONS_STEEP] = { 0.06056541924291f, 0.42943401549235f, 0.80873048306552f }; const float AP2_STEEP[ALLPASSSECTIONS_STEEP] = { 0.22063024829630f, 0.63593943961708f, 0.94151583095682f }; const float cos_fb_exc[32] = { 9.536743164062500e-007f,9.353497034680913e-007f,8.810801546133007e-007f,7.929511980364623e-007f,6.743495646333031e-007f,5.298330165715015e-007f,3.649553264040151e-007f,1.860525884467279e-007f, 0.000000000000000e+000f,-1.860526737118562e-007f,-3.649554116691434e-007f,-5.298331302583392e-007f,-6.743496214767220e-007f,-7.929512548798812e-007f,-8.810802114567196e-007f,-9.353497603115102e-007f, -9.536743164062500e-007f,-9.353497034680913e-007f,-8.810801546133007e-007f,-7.929511411930434e-007f,-6.743495077898842e-007f,-5.298329597280826e-007f,-3.649552411388868e-007f,-1.860525173924543e-007f, 0.000000000000000e+000f,1.860527589769845e-007f,3.649554969342717e-007f,5.298331871017581e-007f,6.743496783201408e-007f,7.929513117233000e-007f,8.810802683001384e-007f,9.353497603115102e-007f }; const float recip_order[15] = { 0.0000000f, 1.0000000f, 0.5000000f, 0.3333333f, 0.2500000f, 0.2000000f, 0.1666667f, 0.1428571f, 0.1250000f, 0.1111111f, 0.1000000f, 0.0909091f, 0.0833333f, 0.0769231f, 0.0714286f }; const float STEPS[4] = { 0.00635f, 0.003175f, 0.0015875f, 0.00079375f}; const float Hilbert_coeffs[4*NUM_HILBERTS][HILBERT_ORDER1+1] = { { 0.0f, 0.8740234375f, 0.0f, -1.87371826171875f, 0.0f, 1.0f}, /* num_Real[0] */ {0.72613525390625f, 0.0f, -1.7236328125f, 0.0f, 1.0f, 0.0f}, /* num_Imag[0] */ { 1.0f, 0.0f, -1.87371826171875f, 0.0f, 0.8740234375f, 0.0f}, /* den_Real[0] */ { 1.0f, 0.0f, -1.7236328125f, 0.0f, 0.72613525390625f, 0.0f}, /* den_Imag[0] */ {0.46820068359375f, 0.0f, -1.45599365234375f, 0.0f, 1.0f, 0.0f}, /* num_Real[1] */ {0.15289306640625f, 0.0f, -1.10711669921875f, 0.0f, 1.0f, 0.0f}, /* num_Imag[1] */ { 1.0f, 0.0f, -1.45599365234375f, 0.0f, 0.46820068359375f, 0.0f}, /* den_Real[1] */ { 1.0f, 0.0f, -1.10711669921875f, 0.0f, 0.15289306640625f, 0.0f} /* den_Imag[1] */ }; /* Overlap add window for SHB excitation used in analysis and synthesis */ const float window_shb[L_SHB_LAHEAD]= /* sin, 1, sin */ { 4.618346E-02f, 1.381564E-01f, 2.289505E-01f, 3.177914E-01f, 4.039210E-01f, 4.866045E-01f, 5.651364E-01f, 6.388468E-01f, 7.071068E-01f, 7.693340E-01f, 8.249975E-01f, 8.736224E-01f, 9.147939E-01f, 9.481606E-01f, 9.734381E-01f, 9.904104E-01f, 9.989330E-01f, 1.000000e+000f, 1.000000e+000f, 1.000000e+000f }; /* Upsampled overlap add window for SHB excitation used transition generation */ const float window_shb_32k[2*L_SHB_LAHEAD]= { 4.618346E-02f, 9.216993E-02f, 1.381564E-01f, 1.835534E-01f, 2.289505E-01f, 2.733710E-01f, 3.177914E-01f, 3.608562E-01f, 4.039210E-01f, 4.452628E-01f, 4.866045E-01f, 5.258704E-01f, 5.651364E-01f, 6.019916E-01f, 6.388468E-01f, 6.729768E-01f, 7.071068E-01f, 7.382205E-01f, 7.693340E-01f, 7.971658E-01f, 8.249975E-01f, 8.493099E-01f, 8.736224E-01f, 8.942082E-01f, 9.147939E-01f, 9.314773E-01f, 9.481606E-01f, 9.607993E-01f, 9.734381E-01f, 9.819242E-01f, 9.904104E-01f, 9.946717E-01f, 9.989330E-01f, 9.994665E-01f, 1.000000e+000f, 1.000000e+000f, 1.000000e+000f, 1.000000e+000f, 1.000000e+000f, 1.000000e+000f }; /* Short overlap add window for SHB excitation used in anal and synth */ const float subwin_shb[SHB_OVERLAP_LEN+1]= { 0.000000000f, 0.006155830f, 0.024471742f, 0.054496738f, 0.095491503f, 0.146446609f, 0.206107374f, 0.273004750f, 0.345491503f, 0.421782767f, 0.500000000f, 0.578217233f, 0.654508497f, 0.726995250f, 0.793892626f, 0.853553391f, 0.904508497f, 0.945503262f, 0.975528258f, 0.993844170f, 1.000000000f }; const float window_wb[L_SHB_LAHEAD/4]=/* sin, 1 */ { 2.289505E-001f, 5.651364E-001f, 8.249975E-001f, 9.734381E-001f, 1.000000e+000f}; /* Short overlap add window for SHB excitation used in anal and synth */ const float subwin_wb[SHB_OVERLAP_LEN/2+1]= {0.00000000f, 0.15643448f, 0.30901700f, 0.45399052f, 0.58778524f, 0.70710677f, 0.80901700f, 0.89100653f, 0.95105654f, 0.98768836f, 1.0000000f}; /* Window for calculating SHB LPC coeffs */ const float win_lpc_shb[(L_LOOK_12k8 + L_SUBFR + L_FRAME) * 5/8]= { 0.0000337210f, 0.0001348794f, 0.0003034616f, 0.0005394449f, 0.0008427974f, 0.0012134782f, 0.0016514373f, 0.0021566156f, 0.0027289450f, 0.0033683483f, 0.0040747393f, 0.0048480226f, 0.0056880940f, 0.0065948401f, 0.0075681387f, 0.0086078584f, 0.0097138590f, 0.0108859914f, 0.0121240975f, 0.0134280101f, 0.0147975536f, 0.0162325430f, 0.0177327850f, 0.0192980770f, 0.0209282080f, 0.0226229582f, 0.0243820988f, 0.0262053927f, 0.0280925938f, 0.0300434477f, 0.0320576912f, 0.0341350526f, 0.0362752518f, 0.0384779999f, 0.0407430000f, 0.0430699465f, 0.0454585255f, 0.0479084149f, 0.0504192842f, 0.0529907947f, 0.0556225996f, 0.0583143439f, 0.0610656645f, 0.0638761903f, 0.0667455422f, 0.0696733332f, 0.0726591683f, 0.0757026449f, 0.0788033524f, 0.0819608725f, 0.0851747795f, 0.0884446397f, 0.0917700121f, 0.0951504482f, 0.0985854920f, 0.1020746802f, 0.1056175421f, 0.1092136000f, 0.1128623686f, 0.1165633559f, 0.1203160626f, 0.1241199826f, 0.1279746028f, 0.1318794033f, 0.1358338573f, 0.1398374315f, 0.1438895859f, 0.1479897739f, 0.1521374423f, 0.1563320319f, 0.1605729768f, 0.1648597049f, 0.1691916381f, 0.1735681920f, 0.1779887763f, 0.1824527948f, 0.1869596453f, 0.1915087200f, 0.1960994051f, 0.2007310816f, 0.2054031247f, 0.2101149041f, 0.2148657844f, 0.2196551248f, 0.2244822791f, 0.2293465964f, 0.2342474205f, 0.2391840904f, 0.2441559401f, 0.2491622991f, 0.2542024921f, 0.2592758392f, 0.2643816562f, 0.2695192543f, 0.2746879405f, 0.2798870178f, 0.2851157847f, 0.2903735361f, 0.2956595627f, 0.3009731516f, 0.3063135860f, 0.3116801456f, 0.3170721065f, 0.3224887415f, 0.3279293199f, 0.3333931079f, 0.3388793684f, 0.3443873616f, 0.3499163444f, 0.3554655711f, 0.3610342931f, 0.3666217595f, 0.3722272163f, 0.3778499077f, 0.3834890752f, 0.3891439582f, 0.3948137938f, 0.4004978174f, 0.4061952622f, 0.4119053598f, 0.4176273399f, 0.4233604308f, 0.4291038591f, 0.4348568502f, 0.4406186280f, 0.4463884155f, 0.4521654343f, 0.4579489052f, 0.4637380481f, 0.4695320822f, 0.4753302259f, 0.4811316971f, 0.4869357134f, 0.4927414919f, 0.4985482494f, 0.5043552028f, 0.5101615687f, 0.5159665639f, 0.5217694055f, 0.5275693108f, 0.5333654974f, 0.5391571836f, 0.5449435881f, 0.5507239304f, 0.5564974308f, 0.5622633107f, 0.5680207922f, 0.5737690989f, 0.5795074552f, 0.5852350873f, 0.5909512225f, 0.5966550899f, 0.6023459200f, 0.6080229454f, 0.6136854001f, 0.6193325205f, 0.6249635449f, 0.6305777137f, 0.6361742697f, 0.6417524579f, 0.6473115260f, 0.6528507242f, 0.6583693052f, 0.6638665247f, 0.6693416413f, 0.6747939164f, 0.6802226146f, 0.6856270037f, 0.6910063547f, 0.6963599419f, 0.7016870434f, 0.7069869405f, 0.7122589184f, 0.7175022660f, 0.7227162760f, 0.7279002451f, 0.7330534742f, 0.7381752681f, 0.7432649359f, 0.7483217913f, 0.7533451519f, 0.7583343404f, 0.7632886838f, 0.7682075137f, 0.7730901667f, 0.7779359842f, 0.7827443127f, 0.7875145034f, 0.7922459131f, 0.7969379034f, 0.8015898416f, 0.8062011002f, 0.8107710572f, 0.8152990961f, 0.8197846062f, 0.8242269825f, 0.8286256258f, 0.8329799428f, 0.8372893461f, 0.8415532545f, 0.8457710928f, 0.8499422922f, 0.8540662899f, 0.8581425298f, 0.8621704620f, 0.8661495432f, 0.8700792367f, 0.8739590124f, 0.8777883471f, 0.8815667242f, 0.8852936341f, 0.8889685740f, 0.8925910483f, 0.8961605683f, 0.8996766527f, 0.9031388271f, 0.9065466245f, 0.9098995853f, 0.9131972572f, 0.9164391954f, 0.9196249627f, 0.9227541293f, 0.9258262731f, 0.9288409798f, 0.9317978427f, 0.9346964630f, 0.9375364498f, 0.9403174198f, 0.9430389982f, 0.9457008176f, 0.9483025192f, 0.9508437519f, 0.9533241731f, 0.9557434481f, 0.9581012506f, 0.9603972626f, 0.9626311744f, 0.9648026847f, 0.9669115005f, 0.9689573374f, 0.9709399196f, 0.9728589795f, 0.9747142583f, 0.9765055057f, 0.9782324802f, 0.9798949488f, 0.9814926873f, 0.9830254801f, 0.9844931206f, 0.9858954107f, 0.9872321612f, 0.9885031920f, 0.9897083316f, 0.9908474173f, 0.9919202956f, 0.9929268217f, 0.9938668599f, 0.9947402834f, 0.9955469743f, 0.9962868239f, 0.9969597324f, 0.9975656090f, 0.9981043719f, 0.9985759486f, 0.9989802753f, 0.9993172977f, 0.9995869701f, 0.9997892562f, 0.9999241288f, 0.9999915697f }; const float win_lpc_hb_wb[(L_LOOK_12k8 + L_SUBFR + L_FRAME) * 5/32]= { 0.000171338f, 0.001541333f, 0.004277569f, 0.008372546f, 0.01381504f, 0.020590133f, 0.028679254f, 0.038060234f, 0.048707358f, 0.060591444f, 0.073679918f, 0.087936906f, 0.10332333f, 0.119797017f, 0.137312814f, 0.155822712f, 0.175275976f, 0.195619285f, 0.216796882f, 0.238750718f, 0.26142062f, 0.284744452f, 0.308658284f, 0.33309657f, 0.357992328f, 0.383277318f, 0.408882237f, 0.434736904f, 0.460770452f, 0.486911526f, 0.513088474f, 0.539229548f, 0.565263096f, 0.591117763f, 0.616722682f, 0.642007672f, 0.66690343f, 0.691341716f, 0.715255548f, 0.73857938f, 0.761249282f, 0.783203118f, 0.804380715f, 0.824724024f, 0.844177288f, 0.862687186f, 0.880202983f, 0.89667667f, 0.912063094f, 0.926320082f, 0.939408556f, 0.951292642f, 0.961939766f, 0.971320746f, 0.979409867f, 0.98618496f, 0.991627454f, 0.995722431f, 0.998458667f, 0.999828662f }; const float ola_win_shb_switch_fold[L_SUBFR16k] = { 0.009817319f, 0.029448173f, 0.049067674f, 0.068668259f, 0.088242371f, 0.107782463f, 0.127281003f, 0.146730474f, 0.166123378f, 0.185452238f, 0.204709603f, 0.223888048f, 0.242980180f, 0.261978638f, 0.280876099f, 0.299665277f, 0.318338928f, 0.336889853f, 0.355310901f, 0.373594970f, 0.391735011f, 0.409724030f, 0.427555093f, 0.445221326f, 0.462715917f, 0.480032122f, 0.497163266f, 0.514102744f, 0.530844026f, 0.547380657f, 0.563706262f, 0.579814548f, 0.595699304f, 0.611354407f, 0.626773822f, 0.641951603f, 0.656881899f, 0.671558955f, 0.685977112f, 0.700130812f, 0.714014598f, 0.727623118f, 0.740951125f, 0.753993482f, 0.766745160f, 0.779201243f, 0.791356929f, 0.803207531f, 0.814748483f, 0.825975333f, 0.836883753f, 0.847469539f, 0.857728610f, 0.867657010f, 0.877250911f, 0.886506616f, 0.895420555f, 0.903989293f, 0.912209526f, 0.920078084f, 0.927591935f, 0.934748182f, 0.941544065f, 0.947976965f, 0.954044402f, 0.959744037f, 0.965073672f, 0.970031253f, 0.974614869f, 0.978822751f, 0.982653279f, 0.986104976f, 0.989176510f, 0.991866698f, 0.994174502f, 0.996099033f, 0.997639549f, 0.998795456f, 0.999566309f, 0.999951809f }; /* Window for calculating whitening filter for SHB excitation */ const float win_flatten[ L_FRAME16k/2]= { 9.57802E-05f, 0.000383084f, 0.000861802f, 0.00153175f, 0.002392671f, 0.003444236f, 0.004686042f, 0.006117614f, 0.007738401f, 0.009547785f, 0.011545071f, 0.013729494f, 0.016100218f, 0.018656334f, 0.021396862f, 0.024320754f, 0.027426888f, 0.030714075f, 0.034181054f, 0.037826499f, 0.041649013f, 0.04564713f, 0.049819319f, 0.054163981f, 0.058679453f, 0.063364004f, 0.068215839f, 0.0732331f, 0.078413864f, 0.083756147f, 0.089257901f, 0.094917019f, 0.100731333f, 0.106698615f, 0.112816579f, 0.119082881f, 0.12549512f, 0.13205084f, 0.138747529f, 0.145582621f, 0.152553498f, 0.159657489f, 0.166891873f, 0.174253877f, 0.181740681f, 0.189349417f, 0.197077169f, 0.204920978f, 0.212877838f, 0.2209447f, 0.229118474f, 0.237396028f, 0.245774191f, 0.254249754f, 0.262819469f, 0.271480052f, 0.280228187f, 0.28906052f, 0.297973669f, 0.306964218f, 0.316028723f, 0.325163712f, 0.334365684f, 0.343631114f, 0.352956452f, 0.362338126f, 0.37177254f, 0.381256082f, 0.390785116f, 0.400355993f, 0.409965046f, 0.419608593f, 0.42928294f, 0.43898438f, 0.448709196f, 0.458453663f, 0.468214047f, 0.477986609f, 0.487767604f, 0.497553287f, 0.507339906f, 0.517123714f, 0.526900961f, 0.536667901f, 0.546420794f, 0.556155902f, 0.565869495f, 0.575557852f, 0.585217262f, 0.594844023f, 0.604434447f, 0.61398486f, 0.623491603f, 0.632951034f, 0.642359529f, 0.651713483f, 0.661009312f, 0.670243455f, 0.679412375f, 0.688512557f, 0.697540517f, 0.706492795f, 0.715365961f, 0.724156616f, 0.732861391f, 0.741476953f, 0.75f, 0.758427267f, 0.766755524f, 0.774981583f, 0.78310229f, 0.791114534f, 0.799015247f, 0.8068014f, 0.814470012f, 0.822018143f, 0.829442903f, 0.836741446f, 0.843910977f, 0.850948748f, 0.857852063f, 0.864618278f, 0.871244799f, 0.87772909f, 0.884068664f, 0.890261093f, 0.896304006f, 0.902195086f, 0.907932076f, 0.91351278f, 0.918935058f, 0.924196833f, 0.92929609f, 0.934230874f, 0.938999296f, 0.943599527f, 0.948029807f, 0.952288437f, 0.956373785f, 0.960284288f, 0.964018446f, 0.967574828f, 0.970952073f, 0.974148887f, 0.977164044f, 0.97999639f, 0.982644839f, 0.985108376f, 0.987386059f, 0.989477014f, 0.99138044f, 0.993095607f, 0.99462186f, 0.995958613f, 0.997105353f, 0.998061642f, 0.998827114f, 0.999401474f, 0.999784503f, 0.999976054f }; const float win_flatten_4k[ L_FRAME16k/8]= { 0.000385482f, 0.003465772f, 0.00960736f, 0.018772382f, 0.030904332f, 0.045928413f, 0.063751996f, 0.084265194f, 0.107341535f, 0.132838745f, 0.160599627f, 0.190453025f, 0.222214883f, 0.255689379f, 0.290670131f, 0.326941471f, 0.364279775f, 0.402454839f, 0.441231301f, 0.480370092f, 0.519629908f, 0.558768699f, 0.597545161f, 0.635720225f, 0.673058529f, 0.709329869f, 0.744310621f, 0.777785117f, 0.809546975f, 0.839400373f, 0.867161255f, 0.892658465f, 0.915734806f, 0.936248004f, 0.954071587f, 0.969095668f, 0.981227618f, 0.99039264f, 0.996534228f, 0.999614518f }; const float wb_bwe_lsfvq_cbook_8bit[256*6] = { 0.064311408f, 0.10468847f, 0.15634165f, 0.20375369f, 0.28696818f, 0.40275119f, 0.123011120f, 0.15468679f, 0.22408577f, 0.27191057f, 0.32490698f, 0.37368365f, 0.062166951f, 0.10810068f, 0.20470853f, 0.26741467f, 0.32058192f, 0.38620580f, 0.174916950f, 0.19449120f, 0.24146226f, 0.29131976f, 0.38403433f, 0.43426356f, 0.061881055f, 0.10185221f, 0.16703630f, 0.24048992f, 0.31339988f, 0.37993594f, 0.177282270f, 0.19826299f, 0.25380750f, 0.29369257f, 0.35085620f, 0.42745721f, 0.074096108f, 0.12090045f, 0.17319672f, 0.23572965f, 0.34671734f, 0.40846492f, 0.193731520f, 0.25350369f, 0.27155532f, 0.30359655f, 0.33746877f, 0.40740063f, 0.108401970f, 0.13491719f, 0.17991717f, 0.21799053f, 0.30440233f, 0.40384627f, 0.174536930f, 0.19361701f, 0.22834544f, 0.25644155f, 0.32851965f, 0.41061748f, 0.107099060f, 0.13363550f, 0.17994689f, 0.22695679f, 0.35903688f, 0.43662047f, 0.137970100f, 0.24785769f, 0.26827308f, 0.30078557f, 0.34276146f, 0.42785187f, 0.066387915f, 0.12114685f, 0.23766229f, 0.29916662f, 0.34589517f, 0.39398126f, 0.137657570f, 0.24889487f, 0.27118048f, 0.31891228f, 0.38713554f, 0.45651107f, 0.128872750f, 0.16127981f, 0.21523141f, 0.25706016f, 0.34536624f, 0.44451874f, 0.218467830f, 0.25571942f, 0.27589334f, 0.30889302f, 0.36007931f, 0.43548091f, 0.056956662f, 0.09351124f, 0.14796259f, 0.22055691f, 0.34257293f, 0.42610824f, 0.180505310f, 0.20235648f, 0.26672026f, 0.30524807f, 0.34745481f, 0.38838059f, 0.101998340f, 0.13874827f, 0.19761236f, 0.28698298f, 0.36602473f, 0.40947282f, 0.187859700f, 0.20997279f, 0.27259784f, 0.31595901f, 0.37782186f, 0.41948720f, 0.080803553f, 0.15174572f, 0.23117477f, 0.28917899f, 0.36979528f, 0.42341956f, 0.177685260f, 0.19914809f, 0.26693575f, 0.33390045f, 0.38670310f, 0.42635921f, 0.123052730f, 0.15593820f, 0.23170087f, 0.28281293f, 0.34711335f, 0.43915513f, 0.209470720f, 0.25584593f, 0.27727828f, 0.32496712f, 0.39502842f, 0.45856840f, 0.111734840f, 0.14147902f, 0.20349777f, 0.25418848f, 0.31658104f, 0.37184560f, 0.177056760f, 0.19666426f, 0.25464026f, 0.29941442f, 0.37334871f, 0.45296459f, 0.109640340f, 0.13537075f, 0.20335155f, 0.26529530f, 0.35213594f, 0.43554990f, 0.155959700f, 0.25239450f, 0.27483222f, 0.32663911f, 0.37442742f, 0.42423408f, 0.060802584f, 0.098534495f, 0.17139797f, 0.27724784f, 0.34847788f, 0.40446891f, 0.131805190f, 0.17878972f, 0.29302125f, 0.34778777f, 0.39172069f, 0.43333138f, 0.117051780f, 0.14714169f, 0.25283080f, 0.31096928f, 0.35792401f, 0.40593001f, 0.244642480f, 0.26542671f, 0.31064604f, 0.34894237f, 0.39502788f, 0.45113983f, 0.057704683f, 0.10158624f, 0.18821861f, 0.25351465f, 0.33014694f, 0.43374062f, 0.177105410f, 0.19658676f, 0.24332913f, 0.27865263f, 0.33845007f, 0.38627285f, 0.085525863f, 0.16781621f, 0.24699003f, 0.29584215f, 0.34250327f, 0.39210727f, 0.189876270f, 0.21305679f, 0.26289427f, 0.30053004f, 0.36670247f, 0.40832210f, 0.077609843f, 0.14485938f, 0.23309675f, 0.28603452f, 0.33963436f, 0.41664103f, 0.180406410f, 0.20188257f, 0.27483060f, 0.32204807f, 0.36496152f, 0.40626347f, 0.109972660f, 0.13794764f, 0.23344532f, 0.30007610f, 0.37112553f, 0.45007031f, 0.243211860f, 0.26638262f, 0.29846135f, 0.32926348f, 0.38096489f, 0.42680115f, 0.115753390f, 0.14391596f, 0.21486068f, 0.26084368f, 0.32379458f, 0.41507919f, 0.172120490f, 0.19028171f, 0.22318579f, 0.25543954f, 0.36796374f, 0.43638971f, 0.114912990f, 0.14340870f, 0.20702577f, 0.29029375f, 0.38645739f, 0.43383786f, 0.141428780f, 0.25522990f, 0.28059674f, 0.31690999f, 0.35024347f, 0.40617629f, 0.075129960f, 0.14698488f, 0.26110380f, 0.31719769f, 0.36377356f, 0.41101429f, 0.112868350f, 0.24334299f, 0.28096316f, 0.33454465f, 0.41219625f, 0.46410751f, 0.114073120f, 0.14243275f, 0.23024102f, 0.32882107f, 0.39744618f, 0.44429863f, 0.221774120f, 0.26274601f, 0.29020551f, 0.34374641f, 0.39126416f, 0.44235948f, 0.080079738f, 0.13106315f, 0.18837026f, 0.27151645f, 0.37668958f, 0.43255839f, 0.192999400f, 0.21775426f, 0.26678052f, 0.30557605f, 0.38446194f, 0.43054658f, 0.135743140f, 0.17819346f, 0.26983813f, 0.31540557f, 0.35817370f, 0.39888741f, 0.187602960f, 0.21325656f, 0.29023036f, 0.33244221f, 0.37354374f, 0.41305910f, 0.092309319f, 0.15685370f, 0.21826152f, 0.28145456f, 0.34801734f, 0.40449806f, 0.182635620f, 0.20695883f, 0.29330586f, 0.34611408f, 0.38827609f, 0.42744945f, 0.142778630f, 0.18181581f, 0.24718913f, 0.30036890f, 0.36118151f, 0.41174750f, 0.236204610f, 0.26138275f, 0.28782872f, 0.31976781f, 0.38485547f, 0.44582109f, 0.116877780f, 0.14600852f, 0.23439658f, 0.29078582f, 0.33978214f, 0.38680132f, 0.175246750f, 0.19919182f, 0.25508981f, 0.32738942f, 0.40268065f, 0.44634249f, 0.137050570f, 0.17196927f, 0.22227536f, 0.26698633f, 0.35381724f, 0.42069877f, 0.206672940f, 0.25909379f, 0.28239012f, 0.33396266f, 0.38073064f, 0.42642507f, 0.061761568f, 0.10948738f, 0.22960285f, 0.31900229f, 0.37225715f, 0.42291697f, 0.176470360f, 0.27105045f, 0.30450833f, 0.35896554f, 0.40397125f, 0.45254757f, 0.121439660f, 0.15285670f, 0.25458177f, 0.31503554f, 0.37326878f, 0.43680361f, 0.248663160f, 0.27168576f, 0.31107735f, 0.34636713f, 0.40424762f, 0.44219064f, 0.070101929f, 0.11626106f, 0.17205417f, 0.22172190f, 0.27958755f, 0.35136489f, 0.177289590f, 0.19891422f, 0.23900178f, 0.26750187f, 0.31516079f, 0.36488918f, 0.077375897f, 0.14011343f, 0.22628590f, 0.27710762f, 0.32419150f, 0.37404180f, 0.181505360f, 0.20134192f, 0.25984204f, 0.30768103f, 0.38822145f, 0.43297287f, 0.074548254f, 0.13055888f, 0.20082796f, 0.24940258f, 0.30161427f, 0.36031073f, 0.180461770f, 0.19943970f, 0.27094461f, 0.31420032f, 0.37052353f, 0.43473550f, 0.074096252f, 0.11976634f, 0.19559390f, 0.30014559f, 0.36503791f, 0.41589500f, 0.226750330f, 0.26034000f, 0.28387883f, 0.31307141f, 0.34924905f, 0.39466978f, 0.112939270f, 0.14324718f, 0.19444530f, 0.23409602f, 0.28823566f, 0.35312882f, 0.177658770f, 0.19744005f, 0.23826049f, 0.27114023f, 0.35113598f, 0.44339139f, 0.114194520f, 0.13976692f, 0.19017221f, 0.23985925f, 0.34337933f, 0.40059157f, 0.174247680f, 0.25422512f, 0.27291618f, 0.31259836f, 0.35694641f, 0.44284664f, 0.079551504f, 0.12808054f, 0.20489528f, 0.31763242f, 0.38800666f, 0.43699908f, 0.125618080f, 0.25750129f, 0.29652463f, 0.33625458f, 0.37097478f, 0.41695760f, 0.128908580f, 0.16228143f, 0.22845947f, 0.30852429f, 0.38999548f, 0.43734932f, 0.169819550f, 0.25672921f, 0.27816521f, 0.33356870f, 0.38415880f, 0.45040976f, 0.057932155f, 0.096138661f, 0.17637437f, 0.28982999f, 0.37938107f, 0.44064176f, 0.191452430f, 0.21929421f, 0.28254485f, 0.31749442f, 0.35804814f, 0.39526710f, 0.112918430f, 0.14011863f, 0.23116641f, 0.29091351f, 0.34974963f, 0.42044500f, 0.190242080f, 0.21680224f, 0.27563442f, 0.33525335f, 0.39940885f, 0.43998378f, 0.071851696f, 0.13973452f, 0.23632015f, 0.30396344f, 0.38541794f, 0.45171152f, 0.184630070f, 0.20535151f, 0.28517376f, 0.32789614f, 0.37951171f, 0.43497879f, 0.132603770f, 0.16874406f, 0.24771421f, 0.29658241f, 0.37943509f, 0.43056925f, 0.244405020f, 0.26554052f, 0.30099568f, 0.33429706f, 0.39811794f, 0.44169908f, 0.127688830f, 0.15825875f, 0.20983321f, 0.25719782f, 0.34290920f, 0.39590250f, 0.186549100f, 0.20879511f, 0.25591707f, 0.29476812f, 0.39344232f, 0.44883705f, 0.121737520f, 0.15062455f, 0.21825312f, 0.27097532f, 0.35836887f, 0.41602781f, 0.157742360f, 0.25669794f, 0.28102574f, 0.34671864f, 0.41050850f, 0.46008611f, 0.073161878f, 0.13388489f, 0.21462934f, 0.27572797f, 0.36075527f, 0.41919188f, 0.110086280f, 0.24803245f, 0.31035821f, 0.35293169f, 0.39119687f, 0.43174112f, 0.135783090f, 0.17715049f, 0.27354016f, 0.32581513f, 0.38440836f, 0.44428392f, 0.241434570f, 0.26676851f, 0.30639927f, 0.35469044f, 0.41439486f, 0.46056301f, 0.072374815f, 0.13092581f, 0.21330540f, 0.26565725f, 0.32462099f, 0.41762579f, 0.187292630f, 0.21108778f, 0.25580340f, 0.28624311f, 0.33138816f, 0.37684385f, 0.098711036f, 0.18228306f, 0.24984319f, 0.31049971f, 0.37903925f, 0.43890093f, 0.185453530f, 0.20642460f, 0.26094355f, 0.29915816f, 0.37078354f, 0.42966194f, 0.090091891f, 0.15555244f, 0.20914149f, 0.27320212f, 0.36822053f, 0.42967380f, 0.201609780f, 0.23445421f, 0.29016518f, 0.32638897f, 0.37174990f, 0.41508051f, 0.113139770f, 0.14155327f, 0.22791682f, 0.31995140f, 0.37521299f, 0.41972433f, 0.242912130f, 0.26597026f, 0.30674398f, 0.34632679f, 0.38930327f, 0.42944494f, 0.126299270f, 0.15994217f, 0.23121635f, 0.27579474f, 0.33301124f, 0.41152335f, 0.178158900f, 0.19664722f, 0.23704785f, 0.27359930f, 0.39265986f, 0.45771152f, 0.129551450f, 0.16291546f, 0.22120094f, 0.28045517f, 0.37621782f, 0.42867219f, 0.187946560f, 0.27082805f, 0.30209272f, 0.33978012f, 0.37078287f, 0.41235280f, 0.068654959f, 0.13086497f, 0.26542795f, 0.33399948f, 0.38525278f, 0.43688097f, 0.096004458f, 0.20898133f, 0.30225243f, 0.35934752f, 0.41301071f, 0.45632845f, 0.123398330f, 0.15749653f, 0.25528304f, 0.31414621f, 0.39506227f, 0.45492910f, 0.225770510f, 0.26622774f, 0.29947052f, 0.36073788f, 0.40423935f, 0.44409324f, 0.064717384f, 0.11872284f, 0.20919028f, 0.28301016f, 0.36802144f, 0.44747754f, 0.193151690f, 0.21918993f, 0.26823232f, 0.30766049f, 0.39674668f, 0.45522504f, 0.136849720f, 0.17581869f, 0.26349318f, 0.31417345f, 0.36960066f, 0.42791831f, 0.193061690f, 0.21996506f, 0.29517646f, 0.33806725f, 0.39153706f, 0.44340380f, 0.098565179f, 0.16979528f, 0.23333485f, 0.30380484f, 0.36654435f, 0.41758552f, 0.142901030f, 0.21043695f, 0.30522982f, 0.36025073f, 0.40676141f, 0.45003224f, 0.145613190f, 0.18443712f, 0.24662242f, 0.31447027f, 0.38225381f, 0.42837277f, 0.251176660f, 0.28085865f, 0.31587424f, 0.34871696f, 0.39445892f, 0.44662421f, 0.133816690f, 0.17622163f, 0.24380327f, 0.28396237f, 0.32809307f, 0.37532433f, 0.177315700f, 0.20318793f, 0.27655558f, 0.35488501f, 0.40768754f, 0.44723190f, 0.130848580f, 0.16442355f, 0.23815274f, 0.28617893f, 0.35951574f, 0.41662766f, 0.134220490f, 0.26123559f, 0.29436035f, 0.34059452f, 0.38761183f, 0.45385345f, 0.059422872f, 0.10497064f, 0.21978301f, 0.33427086f, 0.40351136f, 0.45184884f, 0.142994260f, 0.27380337f, 0.32392882f, 0.36784687f, 0.40465562f, 0.44600403f, 0.116004830f, 0.14796778f, 0.27228987f, 0.34179617f, 0.39311954f, 0.44016822f, 0.245996100f, 0.26896363f, 0.31898875f, 0.36352887f, 0.40696431f, 0.44890165f, 0.072173498f, 0.11864839f, 0.17283789f, 0.22419420f, 0.31759785f, 0.43734225f, 0.139241880f, 0.17819210f, 0.22803594f, 0.26501417f, 0.32263158f, 0.39061689f, 0.079146669f, 0.12807914f, 0.20505754f, 0.28451768f, 0.34267396f, 0.39425014f, 0.185581160f, 0.20673854f, 0.24816327f, 0.28211183f, 0.37238530f, 0.42474096f, 0.073407181f, 0.12148770f, 0.18750487f, 0.26671948f, 0.34627834f, 0.42100649f, 0.176786130f, 0.19666658f, 0.25287274f, 0.30668454f, 0.37086389f, 0.41259755f, 0.085308694f, 0.14425344f, 0.19922831f, 0.25959335f, 0.34555917f, 0.41120310f, 0.188639580f, 0.26239423f, 0.28521213f, 0.32391588f, 0.35782756f, 0.41337293f, 0.122131020f, 0.15263056f, 0.20129258f, 0.23778684f, 0.30478596f, 0.39871654f, 0.175429700f, 0.19423608f, 0.23678906f, 0.27549846f, 0.36067030f, 0.41160394f, 0.119189400f, 0.14839651f, 0.19721773f, 0.23690964f, 0.32670187f, 0.43820403f, 0.131684130f, 0.25721459f, 0.28448545f, 0.32294678f, 0.36442816f, 0.44250607f, 0.085802449f, 0.14103937f, 0.22418659f, 0.30627724f, 0.35842445f, 0.40982625f, 0.128820440f, 0.25444798f, 0.28309633f, 0.34424530f, 0.39272354f, 0.43691562f, 0.132605980f, 0.16563241f, 0.21732948f, 0.26659585f, 0.39024087f, 0.45279860f, 0.234312330f, 0.26289148f, 0.28858043f, 0.31923045f, 0.36693357f, 0.42273091f, 0.066913619f, 0.11174564f, 0.17118640f, 0.24009352f, 0.37462610f, 0.44981068f, 0.185639320f, 0.20948515f, 0.27095540f, 0.30761470f, 0.35471667f, 0.41869175f, 0.125534910f, 0.15639919f, 0.22045213f, 0.29690027f, 0.36034274f, 0.40578263f, 0.194798190f, 0.22069282f, 0.28234110f, 0.32713553f, 0.38517899f, 0.42816026f, 0.085073073f, 0.15836545f, 0.24638386f, 0.30374430f, 0.35995427f, 0.43827551f, 0.185516870f, 0.21322354f, 0.26435247f, 0.32313780f, 0.37976277f, 0.43915130f, 0.136729910f, 0.17363096f, 0.23523415f, 0.27817766f, 0.36010086f, 0.44481285f, 0.239499040f, 0.26742173f, 0.29913088f, 0.33337737f, 0.38191519f, 0.45262276f, 0.109306830f, 0.13962816f, 0.20534886f, 0.27722030f, 0.33992319f, 0.39062291f, 0.179595260f, 0.19941354f, 0.27015954f, 0.31834604f, 0.38647809f, 0.45654088f, 0.118738240f, 0.14800700f, 0.21956599f, 0.27258212f, 0.36918433f, 0.44755545f, 0.176908270f, 0.26077464f, 0.28640628f, 0.35265194f, 0.39663136f, 0.43922160f, 0.059878687f, 0.10816162f, 0.21481956f, 0.28530654f, 0.34399690f, 0.42289176f, 0.125298830f, 0.16761966f, 0.29455499f, 0.36736398f, 0.41514581f, 0.45568637f, 0.132064950f, 0.16520436f, 0.24257245f, 0.31378956f, 0.37122182f, 0.41558003f, 0.248260440f, 0.27214823f, 0.30690390f, 0.33828614f, 0.40254065f, 0.45821278f, 0.082464811f, 0.14120604f, 0.19676137f, 0.24440753f, 0.31120215f, 0.41734941f, 0.183048080f, 0.20313040f, 0.25374041f, 0.28978449f, 0.35392058f, 0.40046587f, 0.096008750f, 0.19205652f, 0.26031936f, 0.30998267f, 0.36005002f, 0.41374267f, 0.194524100f, 0.22245612f, 0.26543764f, 0.29833795f, 0.36269526f, 0.43446257f, 0.096760412f, 0.17681885f, 0.23611019f, 0.28616845f, 0.34521951f, 0.42352547f, 0.191620720f, 0.21818699f, 0.28052740f, 0.31781127f, 0.36781149f, 0.43254535f, 0.125638810f, 0.15853683f, 0.23819940f, 0.29029299f, 0.37995224f, 0.45315055f, 0.243017800f, 0.27328285f, 0.30734326f, 0.33963007f, 0.37608978f, 0.41520298f, 0.133222750f, 0.16798774f, 0.21402212f, 0.24935760f, 0.32005623f, 0.41682314f, 0.186885370f, 0.21039202f, 0.25286530f, 0.28529456f, 0.36191248f, 0.44972585f, 0.114535160f, 0.14259486f, 0.19594154f, 0.24858528f, 0.38835896f, 0.45716846f, 0.166527800f, 0.26567252f, 0.29289306f, 0.33677574f, 0.37519203f, 0.43541243f, 0.084944791f, 0.15003156f, 0.24253235f, 0.32251109f, 0.37827375f, 0.43099351f, 0.119303270f, 0.24856258f, 0.29065368f, 0.36470470f, 0.42883150f, 0.46638276f, 0.120605420f, 0.15682171f, 0.24962093f, 0.34730291f, 0.41806540f, 0.46035776f, 0.219732780f, 0.27560250f, 0.30592696f, 0.35044880f, 0.39439534f, 0.45312034f, 0.077308553f, 0.13464280f, 0.19751880f, 0.25325059f, 0.34806166f, 0.44638905f, 0.200278980f, 0.22979005f, 0.27661907f, 0.31333340f, 0.38330744f, 0.44013638f, 0.147984570f, 0.20195322f, 0.26483855f, 0.31025032f, 0.36569269f, 0.42239969f, 0.195086490f, 0.23098500f, 0.30395854f, 0.34483682f, 0.38586214f, 0.42438066f, 0.096725831f, 0.15616494f, 0.21843296f, 0.29493721f, 0.35664482f, 0.43073450f, 0.186832170f, 0.21579466f, 0.30557582f, 0.35804882f, 0.40192237f, 0.44148013f, 0.131465720f, 0.16604695f, 0.23214633f, 0.30213654f, 0.36326612f, 0.43615662f, 0.248074080f, 0.27538389f, 0.30784390f, 0.33816285f, 0.38664576f, 0.43811284f, 0.129804270f, 0.16455588f, 0.24948399f, 0.29846586f, 0.34646629f, 0.39636043f, 0.166400470f, 0.20256213f, 0.26232918f, 0.34952652f, 0.42374855f, 0.46579300f, 0.142332960f, 0.18013006f, 0.23247726f, 0.28747540f, 0.37225279f, 0.42277361f, 0.218164380f, 0.27036123f, 0.29741317f, 0.33658242f, 0.37288172f, 0.43297122f, 0.070747526f, 0.12972708f, 0.23503772f, 0.30178403f, 0.35944976f, 0.43280902f, 0.203817720f, 0.28320849f, 0.32265104f, 0.36469291f, 0.39977801f, 0.44224295f, 0.122382190f, 0.15795076f, 0.27432170f, 0.33024348f, 0.37383108f, 0.41668653f, 0.246445660f, 0.27118517f, 0.31770823f, 0.35773353f, 0.39648445f, 0.43540417f, 0.070426224f, 0.12260340f, 0.18382397f, 0.23249431f, 0.29712141f, 0.39919694f, 0.183126440f, 0.20602093f, 0.24375562f, 0.27361644f, 0.33459363f, 0.41471750f, 0.088748459f, 0.16327910f, 0.22175401f, 0.26667908f, 0.31866453f, 0.39616098f, 0.187460500f, 0.20871643f, 0.27548782f, 0.31634516f, 0.39309748f, 0.43994220f, 0.081379567f, 0.12891936f, 0.18833934f, 0.25567206f, 0.32705903f, 0.38458961f, 0.191505080f, 0.21728053f, 0.28226653f, 0.32386961f, 0.38391795f, 0.45235836f, 0.082156793f, 0.13994262f, 0.21264164f, 0.30082758f, 0.36988471f, 0.43363836f, 0.237145870f, 0.26759673f, 0.29733906f, 0.32792373f, 0.36448143f, 0.40360639f, 0.128199820f, 0.16341814f, 0.21755898f, 0.25443908f, 0.30439771f, 0.35908714f, 0.189707910f, 0.21668527f, 0.25769184f, 0.28813697f, 0.34477993f, 0.41777603f, 0.125467980f, 0.15380570f, 0.20025914f, 0.24632028f, 0.36725388f, 0.42488725f, 0.203165520f, 0.26241863f, 0.28495340f, 0.32547246f, 0.36743034f, 0.44873687f, 0.093381965f, 0.15915305f, 0.22155271f, 0.30877697f, 0.38380526f, 0.43903641f, 0.155729460f, 0.27199100f, 0.30995504f, 0.35152115f, 0.38662749f, 0.43394669f, 0.141375780f, 0.18067408f, 0.23815984f, 0.29034933f, 0.38882061f, 0.44831617f, 0.205067360f, 0.26200850f, 0.28831845f, 0.35265548f, 0.41227841f, 0.46066867f, 0.072047472f, 0.12115468f, 0.18961933f, 0.28488105f, 0.40495409f, 0.46004731f, 0.198557750f, 0.22705201f, 0.27591618f, 0.31064014f, 0.36695315f, 0.41465139f, 0.128799860f, 0.16494038f, 0.25362087f, 0.29961433f, 0.35336792f, 0.42859765f, 0.189710480f, 0.22045927f, 0.29038955f, 0.34755716f, 0.41335089f, 0.45984727f, 0.087636105f, 0.16804885f, 0.24880519f, 0.32500502f, 0.39871150f, 0.45243576f, 0.183164490f, 0.20372954f, 0.28663902f, 0.33639693f, 0.39567505f, 0.45029614f, 0.135442360f, 0.17219131f, 0.25232067f, 0.30812818f, 0.37522467f, 0.44933943f, 0.237947800f, 0.26313746f, 0.29423846f, 0.33363250f, 0.40548313f, 0.46136835f, 0.136450240f, 0.17206573f, 0.23044273f, 0.28127300f, 0.34912154f, 0.39454258f, 0.184673430f, 0.21026600f, 0.27179282f, 0.32517703f, 0.41007950f, 0.46131088f, 0.120635550f, 0.15057589f, 0.23738282f, 0.29356081f, 0.37244051f, 0.42760875f, 0.165980800f, 0.26393604f, 0.29879643f, 0.37329254f, 0.42416075f, 0.46364654f, 0.083243472f, 0.13716891f, 0.20532429f, 0.28573678f, 0.34618078f, 0.42885349f, 0.124185840f, 0.25817832f, 0.30013923f, 0.35832406f, 0.40788565f, 0.45242538f, 0.148751310f, 0.21168861f, 0.28155588f, 0.33399871f, 0.39200642f, 0.44392882f, 0.250092790f, 0.27749655f, 0.31714030f, 0.35382269f, 0.40755488f, 0.45807079f, 0.090218008f, 0.15844407f, 0.21605547f, 0.26747762f, 0.33611136f, 0.43256724f, 0.194821460f, 0.22238574f, 0.26892332f, 0.29957274f, 0.34593681f, 0.39087253f, 0.088872041f, 0.18684006f, 0.27868480f, 0.33185291f, 0.38399584f, 0.43532623f, 0.187631470f, 0.21132813f, 0.26919143f, 0.30608744f, 0.37267119f, 0.45037854f, 0.078499578f, 0.14581909f, 0.22353298f, 0.28124283f, 0.35460841f, 0.44710837f, 0.203049030f, 0.23554188f, 0.29130760f, 0.32976939f, 0.38552827f, 0.43804459f, 0.132090630f, 0.16828557f, 0.25117965f, 0.33118164f, 0.39126122f, 0.43521955f, 0.245699330f, 0.28091560f, 0.31693809f, 0.35063725f, 0.38679310f, 0.42687325f, 0.141120120f, 0.18351512f, 0.24129878f, 0.28194334f, 0.34056397f, 0.42074436f, 0.176576340f, 0.19930558f, 0.25055988f, 0.30421218f, 0.40924681f, 0.46535353f, 0.117761100f, 0.14946364f, 0.21764598f, 0.29577606f, 0.40879019f, 0.46136645f, 0.204842420f, 0.27294301f, 0.30601511f, 0.35160404f, 0.38727312f, 0.43085356f, 0.073765998f, 0.14878616f, 0.27867445f, 0.35617826f, 0.40839136f, 0.45292538f, 0.125517660f, 0.25496685f, 0.32758337f, 0.38197773f, 0.42435415f, 0.46126376f, 0.135962010f, 0.17555426f, 0.24178151f, 0.31425983f, 0.40720232f, 0.45869366f, 0.213570120f, 0.27094587f, 0.30863435f, 0.37331744f, 0.42018011f, 0.46102471f, 0.082998736f, 0.14651530f, 0.21003822f, 0.28279492f, 0.38739390f, 0.45279145f, 0.198570550f, 0.22875204f, 0.28417900f, 0.32642267f, 0.40238371f, 0.45320042f, 0.141324200f, 0.19351582f, 0.27967266f, 0.32946724f, 0.37612094f, 0.41912905f, 0.201481430f, 0.23856193f, 0.30309500f, 0.34633198f, 0.40074668f, 0.44775506f, 0.094264220f, 0.16969966f, 0.23129383f, 0.28788431f, 0.37402386f, 0.44657509f, 0.190612400f, 0.23544456f, 0.31650278f, 0.36818431f, 0.41389673f, 0.45404931f, 0.145178650f, 0.19384152f, 0.26072685f, 0.31177170f, 0.38904763f, 0.44618125f, 0.249738030f, 0.28583093f, 0.32433884f, 0.36184735f, 0.40237550f, 0.44552961f, 0.144466440f, 0.19269281f, 0.25474986f, 0.29651925f, 0.34405115f, 0.39494788f, 0.177748120f, 0.20967896f, 0.29994813f, 0.37438345f, 0.42341220f, 0.46196806f, 0.144017810f, 0.18743776f, 0.25098351f, 0.29549083f, 0.36361608f, 0.43793137f, 0.191890800f, 0.26774988f, 0.29463282f, 0.34191791f, 0.38746328f, 0.45369258f, 0.081212845f, 0.13994797f, 0.22358119f, 0.33366778f, 0.41201077f, 0.45855130f, 0.181044650f, 0.28450829f, 0.33194281f, 0.38005566f, 0.41856023f, 0.45789922f, 0.136313630f, 0.18429069f, 0.26984493f, 0.34070980f, 0.40759216f, 0.45475266f, 0.240476170f, 0.27948010f, 0.32327234f, 0.37258368f, 0.41532038f, 0.45744253f }; const float swb_tbe_lsfvq_cbook_8b[256*LPC_SHB_ORDER] = { 0.052035f, 0.098557f, 0.128235f, 0.155222f, 0.187634f, 0.220354f, 0.248003f, 0.327378f, 0.416763f, 0.468886f, 0.050902f, 0.090274f, 0.123988f, 0.172234f, 0.224479f, 0.288101f, 0.337089f, 0.374172f, 0.403673f, 0.442608f, 0.047188f, 0.089025f, 0.128973f, 0.167152f, 0.212901f, 0.254805f, 0.296290f, 0.362619f, 0.403389f, 0.449070f, 0.035345f, 0.083282f, 0.158003f, 0.212631f, 0.253206f, 0.293314f, 0.325157f, 0.356067f, 0.389327f, 0.439909f, 0.049324f, 0.091699f, 0.133308f, 0.177313f, 0.216889f, 0.248068f, 0.286140f, 0.319129f, 0.388743f, 0.452730f, 0.037590f, 0.074792f, 0.126499f, 0.196718f, 0.236226f, 0.274430f, 0.316669f, 0.363084f, 0.433737f, 0.467349f, 0.049999f, 0.094260f, 0.156667f, 0.193806f, 0.224624f, 0.253432f, 0.298661f, 0.377723f, 0.419777f, 0.464133f, 0.038569f, 0.077613f, 0.169806f, 0.204031f, 0.242844f, 0.289350f, 0.336338f, 0.381981f, 0.423438f, 0.462244f, 0.039797f, 0.077432f, 0.113315f, 0.148404f, 0.200326f, 0.241409f, 0.286872f, 0.359925f, 0.404895f, 0.452684f, 0.050430f, 0.099036f, 0.143005f, 0.195455f, 0.242036f, 0.281478f, 0.323205f, 0.366833f, 0.402614f, 0.450408f, 0.039724f, 0.079916f, 0.130839f, 0.179575f, 0.218692f, 0.261122f, 0.320798f, 0.380589f, 0.420132f, 0.460065f, 0.062070f, 0.105792f, 0.170204f, 0.199290f, 0.234202f, 0.268038f, 0.333250f, 0.390551f, 0.418930f, 0.457810f, 0.079997f, 0.120714f, 0.160981f, 0.199639f, 0.229158f, 0.259921f, 0.288582f, 0.329020f, 0.380142f, 0.430256f, 0.045641f, 0.080952f, 0.126548f, 0.172023f, 0.224929f, 0.281759f, 0.360638f, 0.396302f, 0.426277f, 0.459174f, 0.067880f, 0.101438f, 0.143420f, 0.179072f, 0.220060f, 0.263601f, 0.346964f, 0.387408f, 0.415045f, 0.444299f, 0.038652f, 0.093084f, 0.143655f, 0.192895f, 0.264359f, 0.309455f, 0.341003f, 0.380032f, 0.409710f, 0.453003f, 0.050708f, 0.090949f, 0.126797f, 0.165211f, 0.202591f, 0.237959f, 0.282372f, 0.346666f, 0.391780f, 0.440679f, 0.046423f, 0.087161f, 0.150877f, 0.194305f, 0.229067f, 0.270295f, 0.334805f, 0.371802f, 0.405116f, 0.457953f, 0.044360f, 0.087261f, 0.139254f, 0.182219f, 0.219289f, 0.261504f, 0.309799f, 0.359196f, 0.408816f, 0.457282f, 0.034881f, 0.089771f, 0.160723f, 0.208734f, 0.255654f, 0.288616f, 0.323156f, 0.354465f, 0.423951f, 0.466020f, 0.051086f, 0.093155f, 0.140520f, 0.176030f, 0.216785f, 0.257930f, 0.308053f, 0.359569f, 0.390408f, 0.419868f, 0.051928f, 0.099511f, 0.144135f, 0.190596f, 0.241070f, 0.289741f, 0.335984f, 0.378008f, 0.417474f, 0.459764f, 0.041656f, 0.085336f, 0.164968f, 0.198531f, 0.228507f, 0.264871f, 0.318823f, 0.366222f, 0.416159f, 0.459177f, 0.063772f, 0.119952f, 0.176631f, 0.218406f, 0.251883f, 0.296547f, 0.335911f, 0.368682f, 0.403997f, 0.454099f, 0.059576f, 0.096358f, 0.126102f, 0.157582f, 0.193300f, 0.225485f, 0.274787f, 0.360048f, 0.430168f, 0.473165f, 0.050090f, 0.098011f, 0.150107f, 0.194228f, 0.239956f, 0.284161f, 0.328550f, 0.373362f, 0.417904f, 0.459405f, 0.050455f, 0.091803f, 0.128564f, 0.163400f, 0.213005f, 0.269193f, 0.341329f, 0.387102f, 0.424272f, 0.465410f, 0.056626f, 0.105111f, 0.157033f, 0.200776f, 0.238054f, 0.282274f, 0.337598f, 0.395108f, 0.431675f, 0.466636f, 0.041642f, 0.108843f, 0.169446f, 0.197564f, 0.223758f, 0.251886f, 0.303709f, 0.346790f, 0.412135f, 0.456278f, 0.045415f, 0.088367f, 0.137979f, 0.191624f, 0.240474f, 0.288265f, 0.348450f, 0.394310f, 0.440392f, 0.471964f, 0.046252f, 0.096877f, 0.163695f, 0.195612f, 0.222631f, 0.252841f, 0.329557f, 0.384350f, 0.432499f, 0.470718f, 0.053043f, 0.104263f, 0.159826f, 0.209898f, 0.257555f, 0.321633f, 0.369402f, 0.398653f, 0.424938f, 0.462350f, 0.043656f, 0.081158f, 0.119295f, 0.162597f, 0.202663f, 0.242606f, 0.285262f, 0.336831f, 0.412286f, 0.457530f, 0.042710f, 0.080739f, 0.129188f, 0.194265f, 0.236487f, 0.281364f, 0.322263f, 0.353819f, 0.398147f, 0.457506f, 0.034022f, 0.067080f, 0.110067f, 0.161100f, 0.245813f, 0.298294f, 0.336441f, 0.379210f, 0.426400f, 0.464858f, 0.041504f, 0.104317f, 0.174678f, 0.212809f, 0.241453f, 0.277049f, 0.329887f, 0.379542f, 0.415948f, 0.452461f, 0.043385f, 0.093120f, 0.156620f, 0.187415f, 0.219909f, 0.252543f, 0.285489f, 0.331396f, 0.421562f, 0.463942f, 0.032947f, 0.067948f, 0.125627f, 0.195426f, 0.246592f, 0.284364f, 0.333690f, 0.378531f, 0.417714f, 0.452488f, 0.049156f, 0.104448f, 0.150380f, 0.189623f, 0.226621f, 0.266196f, 0.320491f, 0.363628f, 0.410110f, 0.460970f, 0.059406f, 0.107544f, 0.158619f, 0.213862f, 0.255056f, 0.305344f, 0.347819f, 0.379775f, 0.414531f, 0.461875f, 0.042551f, 0.081551f, 0.122191f, 0.173384f, 0.212196f, 0.253318f, 0.299526f, 0.366219f, 0.418377f, 0.460170f, 0.054564f, 0.097456f, 0.139734f, 0.189857f, 0.240306f, 0.279858f, 0.341376f, 0.385962f, 0.412633f, 0.443663f, 0.047246f, 0.085779f, 0.123843f, 0.162683f, 0.199213f, 0.237097f, 0.335143f, 0.388883f, 0.421806f, 0.461765f, 0.053449f, 0.122299f, 0.157276f, 0.197221f, 0.242155f, 0.288987f, 0.338839f, 0.378598f, 0.407019f, 0.443119f, 0.061169f, 0.096794f, 0.155005f, 0.186632f, 0.216953f, 0.248877f, 0.315884f, 0.372060f, 0.409344f, 0.450829f, 0.050160f, 0.097186f, 0.144946f, 0.191946f, 0.238536f, 0.282942f, 0.336958f, 0.391570f, 0.431474f, 0.468178f, 0.070512f, 0.115329f, 0.156141f, 0.186164f, 0.223411f, 0.278915f, 0.315935f, 0.370299f, 0.422165f, 0.463007f, 0.052587f, 0.101896f, 0.154071f, 0.206102f, 0.254920f, 0.314033f, 0.367686f, 0.401531f, 0.433527f, 0.471797f, 0.067698f, 0.106830f, 0.141570f, 0.175913f, 0.207186f, 0.239077f, 0.299182f, 0.363370f, 0.402273f, 0.448275f, 0.050042f, 0.096846f, 0.142801f, 0.189262f, 0.233767f, 0.278335f, 0.328758f, 0.378276f, 0.424023f, 0.463870f, 0.048564f, 0.093699f, 0.138452f, 0.183259f, 0.224028f, 0.268624f, 0.319818f, 0.373529f, 0.420181f, 0.461720f, 0.035663f, 0.110208f, 0.182596f, 0.215274f, 0.262474f, 0.305840f, 0.334102f, 0.363985f, 0.391665f, 0.450045f, 0.052124f, 0.097379f, 0.141664f, 0.187867f, 0.225707f, 0.268701f, 0.306038f, 0.358072f, 0.403022f, 0.453386f, 0.046364f, 0.094056f, 0.145010f, 0.197890f, 0.235910f, 0.284683f, 0.329466f, 0.366312f, 0.443226f, 0.473416f, 0.065692f, 0.108572f, 0.157530f, 0.204882f, 0.236869f, 0.270301f, 0.305422f, 0.366582f, 0.418869f, 0.464143f, 0.081775f, 0.123697f, 0.162035f, 0.213510f, 0.253580f, 0.285130f, 0.316195f, 0.376374f, 0.434072f, 0.472957f, 0.071914f, 0.116132f, 0.153572f, 0.182184f, 0.211027f, 0.240482f, 0.272342f, 0.368056f, 0.422300f, 0.463416f, 0.055135f, 0.104947f, 0.151424f, 0.197856f, 0.244545f, 0.291623f, 0.334237f, 0.376193f, 0.417664f, 0.459559f, 0.047928f, 0.088506f, 0.128407f, 0.196811f, 0.234221f, 0.262202f, 0.339912f, 0.389867f, 0.432755f, 0.470636f, 0.061209f, 0.130070f, 0.168080f, 0.195727f, 0.232576f, 0.266266f, 0.329227f, 0.384677f, 0.415326f, 0.450918f, 0.054489f, 0.114179f, 0.160730f, 0.204526f, 0.247099f, 0.288682f, 0.320040f, 0.350371f, 0.393345f, 0.454259f, 0.050257f, 0.098343f, 0.146333f, 0.195038f, 0.244345f, 0.293566f, 0.353243f, 0.395361f, 0.430313f, 0.469396f, 0.046313f, 0.098069f, 0.159706f, 0.198648f, 0.234593f, 0.268660f, 0.359439f, 0.425175f, 0.450429f, 0.472752f, 0.065195f, 0.111302f, 0.163983f, 0.223289f, 0.264603f, 0.313139f, 0.359677f, 0.394680f, 0.421766f, 0.463443f, 0.049833f, 0.099641f, 0.142577f, 0.172120f, 0.206797f, 0.237530f, 0.271835f, 0.310803f, 0.368226f, 0.442268f, 0.051561f, 0.092407f, 0.127677f, 0.184605f, 0.228561f, 0.264833f, 0.337058f, 0.373648f, 0.408072f, 0.458254f, 0.050312f, 0.093979f, 0.133001f, 0.176857f, 0.224745f, 0.262482f, 0.313019f, 0.370051f, 0.406746f, 0.461218f, 0.056453f, 0.100292f, 0.164556f, 0.206451f, 0.238837f, 0.280290f, 0.320629f, 0.359375f, 0.404283f, 0.462747f, 0.064422f, 0.107489f, 0.148611f, 0.185763f, 0.218563f, 0.255882f, 0.294328f, 0.331455f, 0.376622f, 0.436460f, 0.046651f, 0.088769f, 0.126223f, 0.207005f, 0.246095f, 0.284572f, 0.333915f, 0.369094f, 0.423764f, 0.462912f, 0.056372f, 0.100125f, 0.145020f, 0.186096f, 0.223092f, 0.266834f, 0.309121f, 0.374704f, 0.413627f, 0.455613f, 0.035065f, 0.084427f, 0.179107f, 0.228245f, 0.259827f, 0.296722f, 0.342853f, 0.375360f, 0.423312f, 0.459834f, 0.051556f, 0.093559f, 0.131989f, 0.171289f, 0.206668f, 0.242179f, 0.276215f, 0.370322f, 0.418996f, 0.458514f, 0.064906f, 0.103567f, 0.160614f, 0.209947f, 0.240290f, 0.279374f, 0.314472f, 0.370362f, 0.411818f, 0.440592f, 0.051333f, 0.093194f, 0.134650f, 0.184715f, 0.225233f, 0.258320f, 0.299595f, 0.380254f, 0.431966f, 0.466464f, 0.054906f, 0.104680f, 0.156332f, 0.201242f, 0.242115f, 0.293254f, 0.350097f, 0.390361f, 0.417661f, 0.453152f, 0.057964f, 0.111565f, 0.163839f, 0.193942f, 0.229367f, 0.268561f, 0.301745f, 0.355413f, 0.397475f, 0.426184f, 0.043021f, 0.099243f, 0.155661f, 0.184626f, 0.228258f, 0.302504f, 0.358238f, 0.390818f, 0.429834f, 0.463440f, 0.045380f, 0.120045f, 0.163293f, 0.195013f, 0.229454f, 0.271296f, 0.350581f, 0.391168f, 0.420733f, 0.455968f, 0.047668f, 0.096305f, 0.154868f, 0.214976f, 0.270766f, 0.313434f, 0.350305f, 0.385491f, 0.424396f, 0.457538f, 0.047251f, 0.089307f, 0.132379f, 0.176882f, 0.213945f, 0.248516f, 0.284924f, 0.345563f, 0.410789f, 0.454839f, 0.043366f, 0.088702f, 0.144534f, 0.191411f, 0.235903f, 0.273950f, 0.319010f, 0.377616f, 0.422360f, 0.464893f, 0.045624f, 0.091445f, 0.137199f, 0.184217f, 0.230245f, 0.275709f, 0.321477f, 0.366635f, 0.411549f, 0.456497f, 0.042352f, 0.097756f, 0.173684f, 0.215934f, 0.261779f, 0.294833f, 0.331844f, 0.376147f, 0.440475f, 0.470683f, 0.038091f, 0.091036f, 0.161878f, 0.196009f, 0.230216f, 0.262778f, 0.314032f, 0.356498f, 0.393785f, 0.443990f, 0.045665f, 0.091177f, 0.141352f, 0.193543f, 0.239618f, 0.284706f, 0.341027f, 0.382868f, 0.419859f, 0.463306f, 0.041904f, 0.103110f, 0.154646f, 0.188554f, 0.225202f, 0.267803f, 0.305332f, 0.349841f, 0.431723f, 0.469552f, 0.077431f, 0.117466f, 0.168864f, 0.221652f, 0.253857f, 0.294713f, 0.346262f, 0.377031f, 0.425887f, 0.467332f, 0.064470f, 0.103906f, 0.134849f, 0.160779f, 0.196409f, 0.244298f, 0.314086f, 0.379702f, 0.416731f, 0.463122f, 0.049451f, 0.112350f, 0.166433f, 0.195509f, 0.227644f, 0.285465f, 0.331780f, 0.367291f, 0.432216f, 0.466286f, 0.058067f, 0.098622f, 0.137834f, 0.175730f, 0.218379f, 0.270120f, 0.325626f, 0.378807f, 0.443060f, 0.474998f, 0.052308f, 0.115312f, 0.157669f, 0.200104f, 0.247392f, 0.279777f, 0.322273f, 0.392271f, 0.433586f, 0.467817f, 0.058782f, 0.111246f, 0.168484f, 0.215834f, 0.244122f, 0.273877f, 0.299244f, 0.338369f, 0.412816f, 0.466858f, 0.055542f, 0.086661f, 0.144229f, 0.216409f, 0.252097f, 0.297799f, 0.342351f, 0.370742f, 0.429205f, 0.465769f, 0.063246f, 0.100799f, 0.164514f, 0.204780f, 0.229008f, 0.259317f, 0.319118f, 0.378226f, 0.441896f, 0.474270f, 0.049656f, 0.100510f, 0.158979f, 0.226797f, 0.269956f, 0.309657f, 0.351457f, 0.393377f, 0.442146f, 0.470304f, 0.066278f, 0.103915f, 0.139783f, 0.171615f, 0.205432f, 0.233412f, 0.258944f, 0.302518f, 0.408815f, 0.464278f, 0.048237f, 0.093317f, 0.141389f, 0.189982f, 0.235703f, 0.281926f, 0.328964f, 0.373539f, 0.416565f, 0.460637f, 0.051115f, 0.089333f, 0.124829f, 0.175556f, 0.227688f, 0.272289f, 0.313617f, 0.356144f, 0.426854f, 0.468024f, 0.057016f, 0.110189f, 0.160396f, 0.211405f, 0.246994f, 0.287899f, 0.335640f, 0.370610f, 0.408313f, 0.462788f, 0.045706f, 0.110933f, 0.160922f, 0.208233f, 0.238788f, 0.272099f, 0.299401f, 0.332730f, 0.381907f, 0.454209f, 0.044199f, 0.080129f, 0.119936f, 0.210423f, 0.254754f, 0.297418f, 0.348033f, 0.383461f, 0.436047f, 0.467678f, 0.059370f, 0.103993f, 0.152197f, 0.193477f, 0.232752f, 0.273256f, 0.312825f, 0.377850f, 0.411394f, 0.457251f, 0.059698f, 0.114702f, 0.164424f, 0.210373f, 0.258366f, 0.304006f, 0.349730f, 0.389369f, 0.431678f, 0.467558f, 0.050972f, 0.099832f, 0.140005f, 0.182190f, 0.219279f, 0.255299f, 0.294189f, 0.366548f, 0.411624f, 0.452662f, 0.059947f, 0.105101f, 0.147291f, 0.189602f, 0.242184f, 0.277632f, 0.329136f, 0.385035f, 0.415412f, 0.464746f, 0.050246f, 0.103445f, 0.142498f, 0.184607f, 0.213644f, 0.242299f, 0.319253f, 0.380800f, 0.447847f, 0.479237f, 0.067193f, 0.115430f, 0.155858f, 0.206126f, 0.252681f, 0.293822f, 0.356656f, 0.397588f, 0.423304f, 0.464089f, 0.071847f, 0.116894f, 0.157883f, 0.194092f, 0.230547f, 0.274564f, 0.325945f, 0.365502f, 0.398749f, 0.451080f, 0.071752f, 0.107567f, 0.149280f, 0.194893f, 0.232418f, 0.278702f, 0.361895f, 0.398599f, 0.425587f, 0.457898f, 0.068739f, 0.115103f, 0.157316f, 0.197895f, 0.237993f, 0.279071f, 0.328650f, 0.383319f, 0.420022f, 0.465113f, 0.052303f, 0.094829f, 0.144186f, 0.186062f, 0.279484f, 0.319196f, 0.354590f, 0.387530f, 0.437802f, 0.465583f, 0.055846f, 0.106998f, 0.151640f, 0.182290f, 0.210559f, 0.239134f, 0.274479f, 0.338376f, 0.407908f, 0.453481f, 0.056627f, 0.103955f, 0.149473f, 0.194316f, 0.238331f, 0.280339f, 0.318046f, 0.371471f, 0.426297f, 0.467870f, 0.061231f, 0.103217f, 0.144741f, 0.186145f, 0.226738f, 0.267120f, 0.329755f, 0.373349f, 0.417263f, 0.463712f, 0.045494f, 0.110081f, 0.163067f, 0.227778f, 0.280124f, 0.307836f, 0.336439f, 0.369219f, 0.402807f, 0.456421f, 0.053383f, 0.102864f, 0.156288f, 0.198372f, 0.233337f, 0.267640f, 0.304209f, 0.356227f, 0.407078f, 0.455673f, 0.056676f, 0.107005f, 0.155125f, 0.201255f, 0.250254f, 0.297223f, 0.339905f, 0.382321f, 0.423693f, 0.461944f, 0.054333f, 0.117799f, 0.170332f, 0.204234f, 0.239159f, 0.274313f, 0.314448f, 0.375919f, 0.415366f, 0.461096f, 0.066036f, 0.136196f, 0.172592f, 0.232898f, 0.276089f, 0.302787f, 0.329116f, 0.395210f, 0.449302f, 0.475747f, 0.070331f, 0.100716f, 0.133253f, 0.171137f, 0.209264f, 0.237895f, 0.305371f, 0.364686f, 0.438728f, 0.479133f, 0.049672f, 0.104018f, 0.154836f, 0.206341f, 0.253671f, 0.295628f, 0.338852f, 0.376356f, 0.415621f, 0.460077f, 0.056211f, 0.101148f, 0.145610f, 0.197140f, 0.227748f, 0.264313f, 0.341533f, 0.388764f, 0.445317f, 0.477085f, 0.055185f, 0.133050f, 0.180174f, 0.209627f, 0.248220f, 0.279970f, 0.328967f, 0.384183f, 0.427107f, 0.462356f, 0.090510f, 0.132862f, 0.173536f, 0.213099f, 0.242241f, 0.277461f, 0.307068f, 0.358492f, 0.406083f, 0.445895f, 0.058962f, 0.100504f, 0.149829f, 0.208057f, 0.234691f, 0.276924f, 0.357507f, 0.397315f, 0.440325f, 0.472359f, 0.060359f, 0.115102f, 0.165680f, 0.200810f, 0.227294f, 0.259266f, 0.358724f, 0.400750f, 0.443988f, 0.474842f, 0.057406f, 0.110946f, 0.171732f, 0.222531f, 0.261630f, 0.332974f, 0.376127f, 0.402824f, 0.429325f, 0.465189f, 0.043822f, 0.082882f, 0.122127f, 0.163180f, 0.199988f, 0.233325f, 0.273271f, 0.326231f, 0.395731f, 0.451164f, 0.043530f, 0.086208f, 0.128358f, 0.174740f, 0.247178f, 0.286590f, 0.326910f, 0.374201f, 0.412175f, 0.456349f, 0.044183f, 0.084451f, 0.124772f, 0.160673f, 0.219266f, 0.265006f, 0.316722f, 0.374047f, 0.409896f, 0.451766f, 0.050936f, 0.101062f, 0.152285f, 0.210171f, 0.245676f, 0.292805f, 0.333955f, 0.366681f, 0.401168f, 0.455315f, 0.046805f, 0.085866f, 0.127908f, 0.181072f, 0.225619f, 0.265095f, 0.301043f, 0.341348f, 0.395446f, 0.449907f, 0.042622f, 0.082584f, 0.131883f, 0.184679f, 0.232497f, 0.279794f, 0.335535f, 0.379437f, 0.425137f, 0.465917f, 0.052394f, 0.096555f, 0.141288f, 0.193157f, 0.229466f, 0.269961f, 0.307875f, 0.369736f, 0.427604f, 0.463768f, 0.049014f, 0.101187f, 0.157612f, 0.211850f, 0.252631f, 0.293740f, 0.349772f, 0.390796f, 0.430148f, 0.466887f, 0.061472f, 0.102460f, 0.130638f, 0.154914f, 0.188934f, 0.224962f, 0.289961f, 0.378839f, 0.409509f, 0.454753f, 0.040355f, 0.111547f, 0.160810f, 0.198176f, 0.232341f, 0.282372f, 0.328114f, 0.365421f, 0.405953f, 0.452666f, 0.051498f, 0.100439f, 0.143970f, 0.177506f, 0.213658f, 0.248304f, 0.327782f, 0.387335f, 0.423694f, 0.464601f, 0.068825f, 0.113622f, 0.169531f, 0.214249f, 0.247214f, 0.285172f, 0.328523f, 0.387739f, 0.417886f, 0.464554f, 0.072521f, 0.113366f, 0.160172f, 0.198528f, 0.226144f, 0.254678f, 0.310546f, 0.354542f, 0.387805f, 0.442152f, 0.056215f, 0.098619f, 0.133402f, 0.181712f, 0.239008f, 0.278502f, 0.344724f, 0.388895f, 0.423036f, 0.467855f, 0.062429f, 0.109771f, 0.162502f, 0.196939f, 0.224387f, 0.262071f, 0.323117f, 0.368722f, 0.416985f, 0.462413f, 0.060110f, 0.108774f, 0.150308f, 0.199802f, 0.264652f, 0.304578f, 0.347395f, 0.390206f, 0.426311f, 0.464915f, 0.045681f, 0.089659f, 0.149800f, 0.186117f, 0.216751f, 0.246327f, 0.290352f, 0.344660f, 0.389432f, 0.444891f, 0.050829f, 0.096543f, 0.155589f, 0.190895f, 0.224301f, 0.271682f, 0.326354f, 0.381553f, 0.421373f, 0.457146f, 0.044771f, 0.084669f, 0.139044f, 0.192501f, 0.226907f, 0.263807f, 0.306407f, 0.377071f, 0.414961f, 0.450916f, 0.058452f, 0.110406f, 0.157460f, 0.204676f, 0.258762f, 0.290562f, 0.319844f, 0.352065f, 0.432222f, 0.472393f, 0.056675f, 0.105769f, 0.145256f, 0.189372f, 0.223155f, 0.268584f, 0.316662f, 0.365541f, 0.401645f, 0.434404f, 0.049272f, 0.094814f, 0.143723f, 0.196904f, 0.246241f, 0.301437f, 0.346313f, 0.383753f, 0.419651f, 0.459244f, 0.047694f, 0.094350f, 0.151873f, 0.209061f, 0.245856f, 0.275424f, 0.315157f, 0.371735f, 0.428434f, 0.463634f, 0.070013f, 0.117284f, 0.176432f, 0.220387f, 0.259562f, 0.300623f, 0.342089f, 0.390694f, 0.417372f, 0.462571f, 0.058921f, 0.104850f, 0.142858f, 0.178126f, 0.210803f, 0.238810f, 0.288098f, 0.384526f, 0.432185f, 0.467076f, 0.047972f, 0.097327f, 0.148890f, 0.203855f, 0.243240f, 0.283598f, 0.334893f, 0.372088f, 0.412174f, 0.464413f, 0.053684f, 0.096809f, 0.143044f, 0.181581f, 0.228389f, 0.270800f, 0.322361f, 0.391276f, 0.430659f, 0.466880f, 0.044586f, 0.122337f, 0.167705f, 0.201662f, 0.240097f, 0.289818f, 0.345058f, 0.382092f, 0.438138f, 0.472021f, 0.058657f, 0.131647f, 0.175035f, 0.201389f, 0.228297f, 0.262383f, 0.300653f, 0.346236f, 0.427618f, 0.466306f, 0.038131f, 0.079609f, 0.143124f, 0.213799f, 0.246000f, 0.274980f, 0.350246f, 0.403256f, 0.438897f, 0.468033f, 0.068699f, 0.115225f, 0.168266f, 0.197077f, 0.222782f, 0.246507f, 0.334509f, 0.387455f, 0.435752f, 0.475064f, 0.051779f, 0.102976f, 0.156663f, 0.213128f, 0.264735f, 0.326526f, 0.372141f, 0.403846f, 0.432850f, 0.471923f, 0.060586f, 0.101498f, 0.135493f, 0.173480f, 0.209652f, 0.250462f, 0.291284f, 0.342503f, 0.417229f, 0.462133f, 0.044335f, 0.086169f, 0.144113f, 0.197628f, 0.235900f, 0.273515f, 0.311798f, 0.358357f, 0.413356f, 0.462417f, 0.037139f, 0.074523f, 0.116614f, 0.165055f, 0.223223f, 0.273117f, 0.329507f, 0.383426f, 0.435814f, 0.470269f, 0.047181f, 0.097768f, 0.171023f, 0.205397f, 0.245358f, 0.295311f, 0.336586f, 0.369485f, 0.421233f, 0.465914f, 0.062309f, 0.104500f, 0.147401f, 0.193110f, 0.228058f, 0.260174f, 0.286437f, 0.328216f, 0.408873f, 0.457704f, 0.033758f, 0.076535f, 0.146968f, 0.223914f, 0.256314f, 0.293898f, 0.344191f, 0.380044f, 0.429295f, 0.458511f, 0.053820f, 0.100870f, 0.151208f, 0.199506f, 0.237034f, 0.278242f, 0.317503f, 0.365012f, 0.414293f, 0.458401f, 0.048959f, 0.115875f, 0.173948f, 0.217520f, 0.259862f, 0.301989f, 0.347552f, 0.382497f, 0.417961f, 0.461917f, 0.049542f, 0.091687f, 0.132903f, 0.189723f, 0.224344f, 0.257479f, 0.299641f, 0.352070f, 0.426438f, 0.468136f, 0.074975f, 0.118701f, 0.151425f, 0.178468f, 0.223099f, 0.296570f, 0.342204f, 0.375124f, 0.418237f, 0.461155f, 0.048862f, 0.101636f, 0.141831f, 0.184422f, 0.217823f, 0.249609f, 0.343243f, 0.399113f, 0.450686f, 0.477330f, 0.074971f, 0.112223f, 0.157913f, 0.196284f, 0.243594f, 0.305898f, 0.340704f, 0.371399f, 0.418209f, 0.461180f, 0.047352f, 0.115276f, 0.160725f, 0.193027f, 0.229854f, 0.263731f, 0.301940f, 0.378552f, 0.414083f, 0.446173f, 0.059846f, 0.105671f, 0.144046f, 0.198296f, 0.245954f, 0.283923f, 0.350516f, 0.391352f, 0.430367f, 0.471737f, 0.074555f, 0.112890f, 0.160280f, 0.193719f, 0.233102f, 0.266509f, 0.312007f, 0.386544f, 0.420167f, 0.458038f, 0.067261f, 0.111598f, 0.155216f, 0.207272f, 0.253291f, 0.309808f, 0.375775f, 0.406060f, 0.429646f, 0.466527f, 0.072015f, 0.113855f, 0.152641f, 0.185966f, 0.212160f, 0.244403f, 0.279304f, 0.353568f, 0.397873f, 0.432053f, 0.057609f, 0.105877f, 0.148922f, 0.188700f, 0.232036f, 0.282119f, 0.329612f, 0.375947f, 0.416782f, 0.457815f, 0.050973f, 0.100177f, 0.140092f, 0.185550f, 0.238056f, 0.273150f, 0.321487f, 0.383660f, 0.415638f, 0.456817f, 0.039806f, 0.126350f, 0.178948f, 0.213873f, 0.255655f, 0.294524f, 0.330344f, 0.360261f, 0.416162f, 0.466911f, 0.063393f, 0.108247f, 0.149242f, 0.189683f, 0.222867f, 0.262691f, 0.299364f, 0.359972f, 0.412753f, 0.457277f, 0.050600f, 0.099234f, 0.150035f, 0.198292f, 0.246257f, 0.290806f, 0.336586f, 0.382631f, 0.424274f, 0.463374f, 0.067312f, 0.111338f, 0.151025f, 0.202518f, 0.240338f, 0.269562f, 0.300697f, 0.385260f, 0.440923f, 0.472259f, 0.092753f, 0.142329f, 0.176758f, 0.223424f, 0.268502f, 0.296763f, 0.319964f, 0.376238f, 0.441441f, 0.477606f, 0.057530f, 0.097677f, 0.159509f, 0.201106f, 0.224079f, 0.245637f, 0.286003f, 0.375766f, 0.445386f, 0.477458f, 0.055718f, 0.105169f, 0.156792f, 0.203385f, 0.244396f, 0.285413f, 0.325547f, 0.384007f, 0.421448f, 0.459753f, 0.044415f, 0.093549f, 0.159707f, 0.192449f, 0.225942f, 0.267813f, 0.348584f, 0.389866f, 0.428214f, 0.465053f, 0.073100f, 0.142639f, 0.179538f, 0.209861f, 0.241096f, 0.284495f, 0.333600f, 0.382609f, 0.420087f, 0.454347f, 0.056150f, 0.133011f, 0.171789f, 0.209798f, 0.243168f, 0.280293f, 0.313300f, 0.361975f, 0.402894f, 0.441400f, 0.050711f, 0.100022f, 0.148476f, 0.200043f, 0.247876f, 0.305520f, 0.362364f, 0.399378f, 0.431164f, 0.470519f, 0.050151f, 0.102726f, 0.178139f, 0.214644f, 0.239684f, 0.272465f, 0.350549f, 0.395865f, 0.439724f, 0.472007f, 0.057321f, 0.112456f, 0.176664f, 0.223544f, 0.265943f, 0.332838f, 0.374528f, 0.400087f, 0.422190f, 0.452780f, 0.068936f, 0.111462f, 0.152424f, 0.184775f, 0.213783f, 0.241083f, 0.269875f, 0.305906f, 0.384801f, 0.449720f, 0.047841f, 0.090004f, 0.137440f, 0.184176f, 0.226672f, 0.280565f, 0.332422f, 0.379775f, 0.414877f, 0.455906f, 0.051208f, 0.095910f, 0.134766f, 0.179194f, 0.228900f, 0.267574f, 0.317929f, 0.370086f, 0.401118f, 0.446217f, 0.057304f, 0.108307f, 0.167260f, 0.219044f, 0.253957f, 0.285245f, 0.321407f, 0.369771f, 0.413636f, 0.462874f, 0.062714f, 0.102112f, 0.146902f, 0.188999f, 0.226385f, 0.267241f, 0.309584f, 0.346847f, 0.387502f, 0.451009f, 0.045352f, 0.084823f, 0.120662f, 0.187181f, 0.252978f, 0.294385f, 0.328589f, 0.369623f, 0.440700f, 0.470814f, 0.054539f, 0.107161f, 0.151423f, 0.184774f, 0.222621f, 0.270311f, 0.310645f, 0.379532f, 0.421532f, 0.464395f, 0.041931f, 0.097165f, 0.176126f, 0.244078f, 0.285457f, 0.311564f, 0.343280f, 0.380534f, 0.427693f, 0.465345f, 0.049656f, 0.089927f, 0.123487f, 0.158143f, 0.207460f, 0.251012f, 0.298147f, 0.386381f, 0.434882f, 0.470227f, 0.064608f, 0.113031f, 0.152816f, 0.202317f, 0.244207f, 0.281442f, 0.321974f, 0.369506f, 0.411120f, 0.458796f, 0.041667f, 0.088042f, 0.149426f, 0.187507f, 0.226638f, 0.278825f, 0.313814f, 0.388390f, 0.448889f, 0.473167f, 0.063255f, 0.112633f, 0.161884f, 0.207517f, 0.248243f, 0.290171f, 0.339946f, 0.392358f, 0.424077f, 0.465045f, 0.047738f, 0.124639f, 0.167770f, 0.198211f, 0.225569f, 0.260577f, 0.319448f, 0.357208f, 0.390762f, 0.448737f, 0.056281f, 0.097031f, 0.133672f, 0.175612f, 0.249666f, 0.302816f, 0.358207f, 0.396586f, 0.431468f, 0.464859f, 0.065840f, 0.114000f, 0.154376f, 0.181022f, 0.219481f, 0.272109f, 0.342283f, 0.390114f, 0.425579f, 0.463533f, 0.054385f, 0.087287f, 0.133120f, 0.219075f, 0.277198f, 0.318550f, 0.353398f, 0.394571f, 0.451311f, 0.473024f, 0.050377f, 0.099870f, 0.139986f, 0.179622f, 0.215723f, 0.254691f, 0.298673f, 0.344156f, 0.401375f, 0.451981f, 0.047282f, 0.095779f, 0.154096f, 0.204588f, 0.238142f, 0.277769f, 0.328001f, 0.383819f, 0.421546f, 0.464335f, 0.051096f, 0.097245f, 0.143694f, 0.189341f, 0.232614f, 0.275390f, 0.321690f, 0.370345f, 0.414317f, 0.459688f, 0.057607f, 0.108697f, 0.166883f, 0.217010f, 0.265314f, 0.303576f, 0.339093f, 0.374926f, 0.429392f, 0.466921f, 0.058130f, 0.096368f, 0.163828f, 0.194469f, 0.230519f, 0.266092f, 0.322506f, 0.379323f, 0.410417f, 0.440281f, 0.059593f, 0.104108f, 0.143990f, 0.199751f, 0.246890f, 0.283738f, 0.342763f, 0.388274f, 0.417119f, 0.460115f, 0.044521f, 0.105111f, 0.173587f, 0.207942f, 0.239336f, 0.273945f, 0.308799f, 0.369491f, 0.436878f, 0.469005f, 0.074773f, 0.133154f, 0.177818f, 0.224283f, 0.264970f, 0.306138f, 0.340046f, 0.370218f, 0.412563f, 0.459546f, 0.075738f, 0.111821f, 0.145360f, 0.181385f, 0.219465f, 0.256030f, 0.308392f, 0.373355f, 0.418157f, 0.463492f, 0.056087f, 0.105731f, 0.160372f, 0.206032f, 0.244637f, 0.282396f, 0.334056f, 0.375992f, 0.420837f, 0.468046f, 0.076209f, 0.108262f, 0.143499f, 0.182696f, 0.233318f, 0.271088f, 0.327756f, 0.373740f, 0.439247f, 0.474235f, 0.052399f, 0.112281f, 0.162812f, 0.201017f, 0.261354f, 0.299326f, 0.327620f, 0.386801f, 0.447769f, 0.474791f, 0.074893f, 0.121992f, 0.163699f, 0.207822f, 0.244930f, 0.271999f, 0.296466f, 0.345316f, 0.435127f, 0.476239f, 0.058176f, 0.105085f, 0.149574f, 0.194188f, 0.249818f, 0.296524f, 0.337963f, 0.402402f, 0.448624f, 0.472243f, 0.060779f, 0.099068f, 0.167491f, 0.198796f, 0.227494f, 0.254019f, 0.329803f, 0.403981f, 0.450520f, 0.475438f, 0.052532f, 0.104934f, 0.160049f, 0.218916f, 0.277885f, 0.331831f, 0.371634f, 0.402258f, 0.429073f, 0.470420f, 0.066857f, 0.108497f, 0.146533f, 0.186402f, 0.214087f, 0.239551f, 0.273028f, 0.339210f, 0.442001f, 0.475864f, 0.058742f, 0.098634f, 0.140424f, 0.200627f, 0.237759f, 0.274315f, 0.336864f, 0.374803f, 0.415969f, 0.461915f, 0.055406f, 0.096635f, 0.130990f, 0.174857f, 0.231572f, 0.277597f, 0.327848f, 0.376613f, 0.419923f, 0.465467f, 0.063142f, 0.117506f, 0.165530f, 0.207973f, 0.252515f, 0.292023f, 0.332960f, 0.374855f, 0.422203f, 0.463402f, 0.073810f, 0.115150f, 0.161374f, 0.201145f, 0.234138f, 0.271883f, 0.300056f, 0.334944f, 0.401703f, 0.457714f, 0.037073f, 0.082702f, 0.150719f, 0.196430f, 0.266875f, 0.302676f, 0.341803f, 0.383090f, 0.434380f, 0.469480f, 0.056987f, 0.107639f, 0.156686f, 0.198247f, 0.233643f, 0.272298f, 0.323545f, 0.383539f, 0.424062f, 0.466175f, 0.068935f, 0.128609f, 0.175519f, 0.221849f, 0.262138f, 0.308833f, 0.354349f, 0.391305f, 0.431214f, 0.465646f, 0.058327f, 0.099513f, 0.135693f, 0.173498f, 0.210477f, 0.259223f, 0.309074f, 0.365292f, 0.418318f, 0.460997f, 0.053768f, 0.108301f, 0.148739f, 0.187783f, 0.248594f, 0.294002f, 0.326224f, 0.362744f, 0.418485f, 0.459503f, 0.072347f, 0.113391f, 0.145826f, 0.186488f, 0.216571f, 0.246055f, 0.321765f, 0.384969f, 0.449111f, 0.479851f, 0.068789f, 0.114708f, 0.171724f, 0.209662f, 0.240956f, 0.286235f, 0.354813f, 0.393328f, 0.420976f, 0.466079f, 0.076792f, 0.122064f, 0.164111f, 0.196669f, 0.228773f, 0.263496f, 0.298068f, 0.369577f, 0.412072f, 0.446788f, 0.072788f, 0.097673f, 0.130704f, 0.203771f, 0.250741f, 0.295679f, 0.355656f, 0.375931f, 0.431577f, 0.468953f, 0.084680f, 0.123747f, 0.166460f, 0.199970f, 0.238683f, 0.271627f, 0.332322f, 0.389857f, 0.417976f, 0.454237f, 0.047850f, 0.120236f, 0.163003f, 0.208247f, 0.285501f, 0.314491f, 0.348042f, 0.393049f, 0.436136f, 0.467946f, 0.074354f, 0.116190f, 0.158181f, 0.188861f, 0.216650f, 0.247676f, 0.294654f, 0.344099f, 0.416305f, 0.461946f, 0.053571f, 0.101937f, 0.148655f, 0.194776f, 0.237718f, 0.284302f, 0.333285f, 0.379409f, 0.424284f, 0.464382f, 0.058960f, 0.099074f, 0.140467f, 0.196967f, 0.231626f, 0.264843f, 0.323752f, 0.385782f, 0.425341f, 0.465240f, 0.043253f, 0.133255f, 0.191933f, 0.224667f, 0.269958f, 0.309788f, 0.340578f, 0.370291f, 0.414823f, 0.464356f, 0.055527f, 0.103077f, 0.145933f, 0.195951f, 0.237681f, 0.276359f, 0.307310f, 0.343951f, 0.415470f, 0.466831f, 0.056607f, 0.103731f, 0.150533f, 0.199143f, 0.247090f, 0.294661f, 0.337006f, 0.380695f, 0.436417f, 0.469044f, 0.058017f, 0.111478f, 0.184738f, 0.222470f, 0.248826f, 0.274226f, 0.313164f, 0.396522f, 0.439606f, 0.469562f, 0.059766f, 0.131086f, 0.177741f, 0.250119f, 0.292365f, 0.314884f, 0.343841f, 0.383029f, 0.418571f, 0.469165f, 0.063549f, 0.123913f, 0.167854f, 0.196007f, 0.222730f, 0.248052f, 0.296431f, 0.381363f, 0.440747f, 0.474918f, 0.057303f, 0.104523f, 0.145906f, 0.215521f, 0.258023f, 0.293742f, 0.329884f, 0.375696f, 0.425649f, 0.463893f, 0.062113f, 0.113749f, 0.146593f, 0.190918f, 0.221197f, 0.281815f, 0.352860f, 0.400393f, 0.454168f, 0.477972f, 0.065394f, 0.121516f, 0.199177f, 0.235275f, 0.266790f, 0.299190f, 0.343026f, 0.386286f, 0.439359f, 0.470243f, 0.079123f, 0.135214f, 0.178870f, 0.220386f, 0.255756f, 0.285377f, 0.317392f, 0.361228f, 0.405450f, 0.467724f, 0.056167f, 0.115899f, 0.166770f, 0.207524f, 0.241655f, 0.297597f, 0.366322f, 0.404801f, 0.440200f, 0.470576f, 0.065840f, 0.126504f, 0.164612f, 0.196957f, 0.220935f, 0.267816f, 0.338526f, 0.391567f, 0.453372f, 0.479359f, 0.044781f, 0.115425f, 0.177337f, 0.247881f, 0.284229f, 0.319088f, 0.355269f, 0.403159f, 0.444401f, 0.467850f }; const float wac_swb[LPC_SHB_ORDER + 1] = { 1.00030000f, 0.99972246f, 0.99889029f, 0.99750487f, 0.99556853f, 0.99308446f, 0.99005679f, 0.98649053f, 0.98239158f, 0.97776669f, 0.97262346f }; const float lbr_wb_bwe_lsfvq_cbook_2bit[4*4] = {0.11829331f, 0.18065347f, 0.27315149f, 0.36268139f, 0.20006990f, 0.24350365f, 0.33066865f, 0.40078221f, 0.13430431f, 0.20694768f, 0.32580520f, 0.41176145f, 0.25797083f, 0.29579351f, 0.36694117f, 0.42482337f }; const float wac[LPC_SHB_ORDER + 1] = { 1.000030000f, 0.999876638f, 0.999506642f, 0.998890286f, 0.998028026f, 0.996920500f, 0.995568526f, 0.993973102f, 0.992135406f, 0.990056789f, 0.987738783f }; /* 5-bit TD SWB BWE temporal shaping codebook */ const float SHBCB_SubGain5bit[128] = { -0.1457681f, -0.4764620f, -0.4013963f, -0.3677013f, -0.4313035f, -0.3313996f, -0.3050383f, -0.2133066f, -1.0206577f, -0.9364462f, -0.0586007f, -0.4846374f, -1.6047017f, -0.3614168f, -0.3000874f, -0.2672006f, -0.0931186f, -0.4041055f, -0.5172903f, -0.5874190f, -0.4911704f, -0.2494092f, -0.5456603f, -0.1857298f, -0.2215641f, -0.3130259f, -0.3029806f, -0.4504822f, -0.0164831f, -1.1390385f, -1.4790464f, -1.5514144f, -0.5643114f, -0.4608741f, -0.3408080f, -0.1252954f, -0.1276388f, -0.2821012f, -0.5614353f, -0.8928169f, -0.2834879f, -0.1340739f, -0.6259241f, -0.5918277f, -0.1487753f, -0.5728573f, -0.7163700f, -0.2789117f, -0.8768165f, -0.6980218f, -0.5036601f, -0.0499640f, -0.9883066f, -0.9968036f, -1.0402167f, -0.0137106f, -0.3300310f, -0.5241924f, -0.4624851f, -0.1401303f, -1.6058040f, -1.3385040f, -0.4591369f, -0.1534372f, -0.1989556f, -0.2591312f, -0.4850197f, -0.4037134f, -0.1111035f, -0.3369072f, -0.9321365f, -1.2062822f, -0.2261946f, -0.2280687f, -0.3570638f, -0.6421078f, -0.6153073f, -0.2471987f, -0.2481002f, -0.3052209f, -0.2385272f, -0.6048125f, -0.1758713f, -0.5861754f, -0.0317327f, -0.6809157f, -0.7702834f, -0.7792925f, -0.2770282f, -0.3142404f, -0.3788958f, -0.2723185f, -0.2970077f, -0.4682712f, -0.2584636f, -0.2690060f, -0.5592654f, -0.8185204f, -0.1815633f, -0.2389702f, -0.7487352f, -0.4618911f, -0.2345186f, -0.1725288f, -0.4382800f, -0.2999320f, -0.1591911f, -0.5732270f, -0.3830038f, -0.1750423f, -0.3638722f, -0.3974119f, -0.7911282f, -0.0631017f, -0.5198654f, -0.6708761f, -0.5033713f, -0.4643340f, -0.1527029f, -0.3067638f, -0.3547296f, -0.3050630f, -0.2355810f, -0.3526833f, -1.0319320f, -0.3646283f, -0.2706210f, -0.1999401f }; /* 5-bit TD WB BWE temporal shaping codebook */ const float HBCB_SubGain5bit[128] = { -59.470337f, -69.488670f, -38.659931f, -19.719824f, -1.7830310f, -4.812642f, -8.744000f, -10.867781f, -13.246320f, -15.094897f, -15.727152f, -15.801854f, -7.879738f, -5.120556f, -3.429671f, -7.706632f, -50.144310f, -60.062901f, -32.317268f, -16.175051f, -10.900867f, -11.864854f, -9.386131f, -1.335022f, -13.235695f, -14.241489f, -13.557719f, -11.050961f, -0.612834f, -7.908495f, -9.054081f, -8.763001f, -57.235970f, -64.192162f, -30.073193f, -4.640105f, -10.025522f, -6.857354f, -1.353238f, -6.571805f, -8.077633f, -9.067668f, -9.157619f, -9.171074f, -6.871120f, -4.052971f, -7.285939f, -7.970854f, -44.516933f, -53.591618f, -30.267939f, -10.678650f, -3.160364f, -7.559843f, -7.367127f, -3.052069f, -8.343053f, -7.577167f, -3.678010f, -6.135194f, -7.522539f, -9.290725f, -10.048427f, -8.378534f, -68.482224f, -75.261124f, -30.160120f, -10.437404f, -2.787138f, -2.637044f, -5.920231f, -8.091020f, -7.519012f, -9.081453f, -9.857375f, -10.380337f, -6.422596f, -6.540410f, -7.954427f, -7.877131f, -49.924343f, -57.036163f, -26.225056f, -5.391133f, -8.174749f, -6.656519f, -4.389360f, -2.953642f, -10.844235f, -10.494500f, -8.072153f, -4.695106f, -4.305107f, -2.655748f, -7.638941f, -9.281904f, -56.389565f, -61.898930f, -19.212666f, -8.088096f, -6.302619f, -2.904698f, -7.059662f, -5.392998f, -2.423694f, -5.054863f, -7.913060f, -8.444733f, -3.101384f, -6.855487f, -4.557333f, -6.881396f, -45.418392f, -52.252014f, -22.952511f, -7.653957f, -3.941019f, -7.339684f, -4.011926f, -7.481068f, -6.772878f, -4.939885f, -7.817589f, -3.977276f, -2.728315f, -6.770474f, -8.485444f, -4.669493f }; /* 6 bit Quantizer table for SHB overall gain */ const float SHBCB_FrameGain64[64]= { 0.044072020f, 0.074116257f, 0.104772820f, 0.137129910f, 0.172361440f, 0.209110170f, 0.248146360f, 0.290349910f, 0.336033220f, 0.384576680f, 0.436074570f, 0.491054220f, 0.550217560f, 0.613450140f, 0.681455200f, 0.753997600f, 0.831286250f, 0.914336560f, 1.003638100f, 1.100985500f, 1.205300400f, 1.317519300f, 1.437191800f, 1.566197500f, 1.704663300f, 1.853099500f, 2.013720200f, 2.190476500f, 2.382512800f, 2.591447500f, 2.818724200f, 3.064693900f, 3.331486000f, 3.621288500f, 3.936974000f, 4.279052900f, 4.652247100f, 5.063426700f, 5.516226500f, 6.014047700f, 6.565030700f, 7.179005400f, 7.869640600f, 8.646445300f, 9.521977600f, 10.52553600f, 11.67516800f, 13.00652900f, 14.56494800f, 16.38657700f, 18.56994600f, 21.17650800f, 24.29317200f, 27.95810000f, 32.33308400f, 37.72507700f, 44.44091200f, 52.62181300f, 62.89529200f, 76.21739000f, 94.34608600f, 119.5521800f, 160.0594500f, 245.1366400f }; /* 4 bit Quantizer table for SHB overall gain */ const float SHBCB_FrameGain16[16]= { 0.148650413f, 0.477894376f, 0.970739390f, 1.882108080f, 3.981442531f, 7.946689290f, 14.46817648f, 24.39527659f, 39.12384197f, 60.03913602f, 88.76762784f, 130.1507349f, 184.4881647f, 271.3320980f, 409.9269865f, 735.8126500f }; /* 18th order elliptic Bandpass filter at 14.15 to 20 kHz sampled at 48 kHz b0,b1,b2,a0,a1,a2 */ const float full_band_bpf_1[6][5] = { { 9.6362039055508E-02f, 9.7862105350605E-02f, 3.0245537519444E-02f, 9.7862105350605E-02f, 9.6362039055508E-02f}, { 9.6362039055508E-02f, 1.4633143118038E-01f, 1.0233713813742E-01f, 1.4633143118038E-01f, 9.6362039055508E-02f}, { 9.6362039055508E-02f, 1.6626923151583E-02f, -1.3709502682285E-01f, 1.6626923151583E-02f, 9.6362039055508E-02f}, { 1.0000000000000E+00f, 2.3991100643722E+00f, 2.9774531499625E+00f, 2.0824517848412E+00f, 8.0090184246950E-01f}, { 1.0000000000000E+00f, 1.8724727524876E+00f, 2.4558672940808E+00f, 1.6868952908597E+00f, 7.5556052044790E-01f}, { 1.0000000000000E+00f, 2.5823882989829E+00f, 3.2419903202957E+00f, 2.1041782509434E+00f, 6.8348510539492E-01f} }; /* 12th order elliptic Bandpass filter at 16.3 to 19.8 kHz sampled at 48 kHz b0,b1,b2,a0,a1,a2 */ const float full_band_bpf_2[6][5] = { { 6.0003889556380E-02f, 1.1128037231775E-01f, 1.1894140617207E-01f, 1.1128037231775E-01f, 6.0003889556380E-02f}, { 6.0003889556380E-02f, 1.4172832594169E-01f, 1.6515046627146E-01f, 1.4172832594169E-01f, 6.0003889556380E-02f}, { 6.0003889556380E-02f, 3.1639978682801E-02f, -3.7925280401819E-02f, 3.1639978682801E-02f, 6.0003889556380E-02f}, { 1.0000000000000E+00f, 2.7969061159585E+00f, 3.7380107651703E+00f, 2.5896033662624E+00f, 8.7195105769838E-01f}, { 1.0000000000000E+00f, 2.4858753840930E+00f, 3.3360972572945E+00f, 2.3002595115472E+00f, 8.4059566462167E-01f}, { 1.0000000000000E+00f, 2.8681737877693E+00f, 3.8085295994769E+00f, 2.5421873471575E+00f, 7.9182537841461E-01f} }; /* 12th order elliptic Bandpass filter at 15.4 to 20.0 kHz sampled at 48 kHz b0,b1,b2,a0,a1,a2 */ const float full_band_bpf_3[6][5] = { {7.4636437949154E-02f, 1.0834902081890E-01f, 8.7514468139390E-02f, 1.0834902081890E-01f, 7.4636437949154E-02f}, {7.4636437949154E-02f, 1.4782752996297E-01f, 1.4824632166087E-01f, 1.4782752996297E-01f, 7.4636437949154E-02f}, {7.4636437949154E-02f, 2.4020393588811E-02f, -8.1869063979759E-02f, 2.4020393588811E-02f, 7.4636437949154E-02f}, {1.0000000000000E+00f, 2.6521893008573E+00f, 3.4460829518042E+00f, 2.3910633156124E+00f, 8.3876600358846E-01f}, {1.0000000000000E+00f, 2.2507856816983E+00f, 2.9756720931932E+00f, 2.0502894449026E+00f, 8.0167514850932E-01f}, {1.0000000000000E+00f, 2.7689100300130E+00f, 3.5940097427365E+00f, 2.3681560760262E+00f, 7.4233948915492E-01f} }; /* 4-bit/3-bit TD SWB BWE differential LSF scalar quantizer tables */ const float lsf_q_cb_4b[16] = { 0.01798018f, 0.02359377f, 0.02790103f, 0.03181538f, 0.03579450f, 0.03974377f, 0.04364637f, 0.04754591f, 0.05181858f, 0.05624165f, 0.06022101f, 0.06419064f, 0.06889389f, 0.07539274f, 0.08504436f, 0.10014875f }; const float lsf_q_cb_3b[8] = { 0.02070812f, 0.02978384f, 0.03800822f, 0.04548685f, 0.05307309f, 0.06137543f, 0.07216742f, 0.09013262f }; const float *const lsf_q_cb[NUM_Q_LSF] = { lsf_q_cb_4b, lsf_q_cb_4b, lsf_q_cb_3b, lsf_q_cb_3b, lsf_q_cb_3b }; const short lsf_q_cb_size[NUM_Q_LSF] = {16, 16, 8, 8, 8}; const short lsf_q_num_bits[NUM_Q_LSF] = { 4, 4, 3, 3, 3 }; /* Tables for approximation of upper half of SWB LSFs */ const float mirror_point_q_cb[MIRROR_POINT_Q_CB_SIZE] = { 0.01436178f, 0.02111641f, 0.02735687f, 0.03712105f }; const float lsf_grid[4][5] = { { 0.15998503f, 0.31215086f, 0.47349756f, 0.66540429f, 0.84043882f }, { 0.15614473f, 0.30697672f, 0.45619822f, 0.62493785f, 0.77798001f }, { 0.14185823f, 0.26648724f, 0.39740108f, 0.55685745f, 0.74688616f }, { 0.15416561f, 0.27238427f, 0.39376780f, 0.59287916f, 0.86613986f } }; const float grid_smoothing[5] = { 0.2f, 0.35f, 0.5f, 0.75f, 0.8f }; const float allpass_poles_3_ov_2[9] = { 0.072265625000000f, 0.626983642578125f, 0.934020996093750f, 0.778808593750000f, 0.219360351562500f, 0.970703125000000f, 0.872039794921875f, 0.438964843750000f, 0.990966796875000f }; const float decimate_3_ov_2_lowpass_num[3] = { 0.195271809895833f, 0.390543619791667f, 0.195271809895833f }; const float decimate_3_ov_2_lowpass_den[3] = { 1.0f, 0.0f, 0.171630859375f }; /*------------------------------------------------------------------------------* * WB BWE tables *------------------------------------------------------------------------------*/ const float F_2_5[64] = { 1.1606680f, 0.6594560f, -4.9874350f, -5.1700310f, 10.230799f, -0.0125740f, 10.605126f, 9.7910260f, -0.3739880f, -0.6027910f, 6.2753817f, 0.3307670f, 9.4537100f, 8.8558020f, 2.9320890f, 2.1643160f, 3.1332030f, 2.9710870f, 8.061906f, -0.5905290f, 15.754963f, 5.0496380f, 17.227070f, 18.329395f, -2.4710190f, -3.1725330f, -1.4136470f, -1.9457110f, 15.147771f, 14.506490f, 11.358370f, 11.714662f, 9.4275510f, -0.1223030f, 7.0970160f, -1.5805260f, 12.498663f, 3.1614850f, 10.349261f, 1.5185040f, 5.3809850f, -1.7341900f, 1.1224600f, -2.2397020f, 12.362551f, 12.133788f, 4.2788690f, -1.7729040f, 6.1577130f, 5.4971410f, 3.3243130f, -2.5710470f, 19.097071f, 9.3576920f, 7.6509204f, 7.4404626f, -0.5055090f, -3.7073090f, 18.584702f, 11.302494f, 18.706564f, 18.308905f, 23.010420f, 22.915377f }; /*------------------------------------------------------------------------------* * SWB BWE tables *------------------------------------------------------------------------------*/ const short swb_bwe_trans_subband[SWB_FENV_TRANS+1] = {240, 316, 392, 476, 560}; const short swb_bwe_trans_subband_width[SWB_FENV_TRANS] = {76, 76, 84, 84}; const short swb_bwe_subband[SWB_FENV+1] = {240, 256, 280, 296, 320, 336, 360, 376, 400, 424, 448, 472, 496, 528, 560}; const float swb_inv_bwe_subband_width[SWB_FENV] = {0.0625f, 0.04167f, 0.0625f, 0.04167f, 0.0625f, 0.04167f, 0.0625f, 0.04167f, 0.04167f, 0.04167f, 0.04167f, 0.04167f, 0.03125f, 0.03125f}; const short swb_bwe_sm_subband[SWB_FENV] = {248, 268, 288, 308, 328, 348, 368, 388, 412, 436, 460, 484, 512, 544}; const float smooth_factor[SWB_FENV-1] = {0.05f, 0.05f, 0.05f, 0.05f, 0.05f, 0.05f, 0.05f, 0.0417f, 0.0417f, 0.0417f, 0.0417f, 0.03125f, 0.03125f}; const short fb_bwe_subband[DIM_FB+1] = {640, 680, 720, 800}; const float fb_inv_bwe_subband_width[DIM_FB] = {0.0250f, 0.0250f, 0.0125f}; const short fb_bwe_sm_subband[DIM_FB] = {656, 696, 760}; const float fb_smooth_factor[DIM_FB] = {0.03125f, 0.0250f, 0.015625f}; const float EnvCdbk11 [N_CB11 * DIM11] = { -8.6703f, 0.1116f, 4.5639f, 8.2950f, 8.5148f, 4.7195f, 2.8963f, 5.9419f, -1.2168f, -3.2933f, -5.9491f, -7.6969f, -8.6146f, -9.9275f, 2.9127f, 7.1689f, 13.5188f, 17.1801f, 16.7640f, 16.3455f, 13.5231f, 6.3569f, 9.6697f, 11.4712f, 11.0915f, 8.5859f, 6.7523f, 5.1755f, -2.0082f, -2.8539f, -2.1756f, -0.7832f, 0.3904f, 1.8543f, 2.1094f, 2.5602f, 3.7358f, 4.9688f, 4.2290f, 3.0234f, 2.6829f, 1.7943f, 23.3857f, 21.3282f, 18.3157f, 16.3757f, 15.0204f, 14.1209f, 13.2521f, 13.9500f, 18.9069f, 22.5926f, 24.4781f, 23.1748f, 20.1496f, 17.3157f, 11.5571f, 8.1506f, 4.6099f, 3.8231f, 4.6089f, 5.3538f, 6.3890f, 23.5508f, 24.0512f, 25.1225f, 26.4155f, 27.3361f, 27.9432f, 27.5377f, -3.2117f, 0.8204f, 1.7588f, 0.6950f, -2.4959f, -5.2582f, -6.1620f, 17.3871f, 16.3436f, 16.0602f, 16.9090f, 18.8782f, 20.4382f, 21.5310f, 13.3594f, 15.6030f, 16.8792f, 16.4242f, 14.3912f, 12.3198f, 10.3571f, -14.5849f, -9.0025f, -5.4218f, -1.2669f, 0.0853f, -3.3069f, -4.4553f, 3.3195f, 1.9941f, 3.5010f, 6.9539f, 8.3192f, 10.5007f, 11.0406f, 12.8683f, 11.0255f, 9.8051f, 9.8299f, 11.8326f, 13.3332f, 15.0119f, -13.9167f, -13.3153f, -12.4970f, -11.3929f, -10.0932f, -8.9132f, -7.7378f, -10.6935f, -12.4430f, -14.6553f, -16.8742f, -17.5158f, -17.6704f, -16.9116f, -29.4308f, -29.2243f, -28.4494f, -28.0282f, -26.3950f, -24.5370f, -22.9103f, -19.0168f, -18.8921f, -17.9786f, -17.2745f, -15.9625f, -14.5997f, -12.9787f, -54.2808f, -53.8105f, -52.6712f, -52.1042f, -50.4929f, -48.4342f, -46.7588f, 32.8477f, 32.8894f, 32.4420f, 31.6529f, 31.0708f, 30.3821f, 29.2828f, 28.0454f, 26.7402f, 24.8801f, 23.3249f, 21.7053f, 20.7367f, 19.6371f, 18.0979f, 15.6543f, 12.7634f, 9.4607f, 8.0952f, 6.9453f, 5.8996f, 39.5644f, 40.7490f, 41.1718f, 40.9096f, 39.7482f, 38.4272f, 37.4463f, 11.4554f, 10.5291f, 8.0459f, 5.0217f, 1.6581f, -0.9919f, -3.2238f, -39.1890f, -38.4633f, -37.2799f, -36.7970f, -35.1580f, -33.2348f, -31.5786f, 7.1490f, 3.6224f, -0.6163f, -1.5147f, -1.4079f, -1.4364f, -1.1211f, -85.7873f, -85.5637f, -84.1707f, -83.8699f, -82.0486f, -80.1192f, -78.3737f, -23.7889f, -23.9925f, -23.1930f, -22.8609f, -21.4574f, -19.9363f, -18.2458f, -5.3981f, -6.4065f, -8.6148f, -9.9870f, -10.8787f, -11.7942f, -11.6944f, -5.0767f, -6.1222f, -6.8130f, -6.4157f, -5.5037f, -4.2203f, -3.5243f, }; const float EnvCdbk1st [N_CB1ST * DIM1ST] = { -7.1064f, -4.4453f, 2.9351f, -1.9308f, 0.6335f, -3.2258f, -12.4978f, -0.4815f, 9.6818f, -8.0902f, 0.9278f, -1.6759f, -7.1051f, 6.9529f, 4.8166f, 1.1089f, 4.6364f, -4.3871f, -6.5985f, -2.8197f, -1.8909f, -4.9078f, 0.2022f, -5.2175f, -2.3609f, 14.6030f, -5.0669f, 2.1685f, 1.6108f, 2.9025f, -2.4455f, -6.5834f, 5.9636f, 0.5645f, 6.0806f, -0.8753f, -2.4904f, 5.3534f, 6.2069f, -4.6416f, 0.1448f, -1.6019f, -1.6724f, -12.9702f, 7.2641f, 10.1438f, -0.3729f, -11.2325f, -2.8994f, -2.2776f, -2.6711f, 6.2755f, -6.5279f, -7.3185f, -4.3406f, -3.6577f, -5.3655f, 1.0746f, -9.0396f, 2.0233f, 10.4764f, 9.2495f, -1.1811f, 7.0665f, -2.1678f, -2.2621f, 12.4715f, -4.9604f, -4.7190f, 2.9306f, 0.3267f, 0.6027f, -4.5326f, 1.6741f, 4.2905f, 3.1882f, -2.3954f, -11.3147f, 8.4338f, -7.3615f, 4.8623f, -2.6210f, 1.6649f, 12.4120f, 3.3880f, -0.5639f, -2.4950f, 3.2948f, -7.3733f, 8.8713f, 6.0225f, 1.0109f, -0.5767f, -6.5622f, 4.0120f, 1.1130f, 0.6314f, -2.9813f, 6.5088f, -7.4838f, 4.5892f, -4.7926f, -1.3492f, -3.5415f, -0.5914f, 7.7312f, 4.1477f, 1.5695f, -4.8092f, 9.5178f, 12.2277f, -9.4609f, 1.4097f, 4.0613f, -16.8501f, -16.0390f, -16.4874f, 0.5711f, -4.6892f, -7.1391f, 1.8938f, 3.4746f, -15.0275f, 1.5014f, -9.6125f, -11.1128f, 5.9617f, -2.3434f, 6.2473f, -3.2715f, -2.2302f, 4.2871f, 6.9371f, -13.2527f, 15.8528f, -13.0084f, 9.4873f, 6.7652f, 1.8265f, -8.3584f, -3.6477f, 3.2532f, 8.9518f, -4.4112f, -0.0785f, -4.0189f, 2.5487f, -1.3509f, 0.6566f, 7.1658f, -6.7577f, 3.2716f, 8.7273f, 6.3343f, -6.6206f, -0.7569f, -12.4925f, -3.0187f, 0.8888f, 4.1806f, 6.8020f, 1.1128f, 6.4660f, -0.8290f, -6.3590f, 8.5089f, 2.3611f, 6.9696f, 7.0355f, -12.5942f, -3.3116f, -3.1974f, 1.3584f, 0.7314f, 0.0624f, 1.1725f, 0.9528f, 3.0031f, 0.7847f, 6.0715f, 2.8083f, -1.5392f, 3.0486f, 1.2144f, 11.1444f, 0.7234f, 4.5417f, 1.9083f, -3.9930f, -1.2897f, 1.7931f, 3.4268f, 0.4267f, -2.1125f, -2.6993f, -1.9870f, -1.0444f, 1.8659f, -1.3273f, -1.6306f, -5.4788f, -3.3603f, -2.6373f, -10.5580f, 4.0034f, 3.2267f, 0.9765f, -4.0725f, 3.9372f, -1.6940f, -4.0711f, -2.4655f, 0.2350f, -0.6742f, 1.2957f, -8.1420f, 3.8434f, 3.5916f, -7.9753f, -4.9118f, -8.9335f, 1.3240f, 1.4296f, -5.1151f, -0.6183f, 4.0664f, 4.0592f, 4.2287f, 13.9299f, 3.5845f, 0.8860f, 0.2439f, -0.5414f, 3.6573f, 9.4697f, 2.8531f, -3.9907f, -2.9106f, 7.6316f, 1.6666f, -4.2611f, -5.3043f, -1.8686f, -0.6757f, 8.2847f, -9.2447f, -8.4955f, 9.9028f, -7.6020f, -3.4387f, -7.6714f, -6.0496f, -0.9730f, -4.6977f, -3.6204f, -9.2868f, -1.7316f, -6.9325f, -5.6205f, -2.2721f, 7.9555f, -2.0678f, -14.3696f, -2.1494f, 2.3769f, -1.1084f, -6.1183f, 0.7835f, 0.2474f, -1.3438f, 5.3736f, 0.8512f, 3.1856f, 9.6507f, -1.3584f, 1.8708f, -5.4226f, 3.8576f, -10.4452f, 5.5806f, -13.8209f, 4.3938f, 3.3739f, -5.2782f, 3.3015f, 1.1772f, 3.8147f, 1.5955f, -4.3838f, 13.1395f, 4.3243f, -0.8337f, 2.8533f, -1.2842f, 3.2788f, -2.6680f, -0.3603f, 2.4648f, 4.5784f, 9.2339f, 2.3348f, 2.6773f, -1.2865f, -3.0488f, -5.1440f, 1.7493f, -1.6552f, -0.5978f, -0.7764f, 3.0011f, -1.2935f, 11.0366f, 3.4439f, -4.0880f, -3.8069f, -1.4637f, -7.1676f, -1.1671f, 11.1758f, -13.1846f, -12.3361f, 8.1990f, 8.4704f, -10.2721f, 6.2564f, 7.5395f, 5.6662f, 5.0554f, 4.9418f, -2.2877f, -9.7668f, -10.0395f, -10.4193f, -3.1503f, -5.9735f, 12.7823f, -2.0408f, 4.1857f, 1.8667f, 15.7600f, -9.7299f, 1.8762f, -7.4519f, 9.4311f, -0.6946f, -6.1047f, -0.5603f, 1.7096f, 0.8003f, 3.3634f, 5.0259f, -2.6989f, 3.7629f, -5.3679f, -9.2139f, -7.9377f, -3.4621f, 0.6323f, -1.7255f, 0.6234f, 0.7594f, 9.7404f, 7.6543f, -9.8933f, -10.0711f, 7.5139f, 1.0426f, 6.6449f, 3.6587f, 11.4042f, 11.5230f, 9.3039f, -2.6163f, 8.2102f, -3.3574f, -12.2920f, 5.4115f, -0.8387f, 5.7900f, -2.3232f, 1.6209f, 0.8904f, 1.1318f, -4.1407f, }; const float EnvCdbk2nd [N_CB2ND * DIM2ND] = { 4.3123f, -7.1616f, -4.3357f, -3.7263f, 2.9572f, 3.3303f, -0.6874f, 1.1173f, -3.4084f, -2.2922f, -0.0278f, 5.6960f, -1.8039f, -2.1619f, -1.3655f, 0.4079f, 7.5721f, 7.6436f, -5.2359f, -2.7457f, 4.6943f, -3.0448f, 0.0822f, 7.7951f, -11.1369f, -0.6607f, 4.0977f, 3.6717f, -5.2941f, -2.8345f, -6.9855f, 4.2023f, -2.9965f, -2.5020f, -2.5223f, -3.4361f, 0.5260f, -3.2518f, -0.7710f, -3.4717f, -3.2275f, 0.0098f, 1.0879f, -1.9621f, -2.7904f, 2.1268f, -2.0540f, 1.4661f, 1.1360f, -4.2031f, -3.1894f, -15.3458f, -4.5909f, -1.8549f, 8.6689f, -2.5094f, 0.7713f, -0.8552f, -4.1104f, -6.2533f, 4.5892f, -0.6343f, -2.7162f, -1.3109f, 4.3900f, 0.4919f, -9.0866f, -6.1448f, 4.5483f, -5.1698f, -7.6465f, 4.1951f, -8.1259f, -8.4044f, 0.4404f, 2.5339f, -2.4877f, -3.3596f, 2.8155f, 1.0442f, -2.3782f, 6.4752f, -3.9302f, -5.2807f, 6.3692f, 8.6921f, 8.3109f, 7.1381f, -4.3445f, -5.2789f, 7.2494f, 6.4679f, -8.3291f, 3.9280f, 3.0088f, -5.0540f, -1.8438f, 3.0318f, 6.4879f, 8.7826f, -0.4718f, -2.2438f, -5.7862f, -1.2336f, 10.0184f, -4.2246f, 0.7347f, 1.1461f, 1.5549f, 10.1485f, 2.7490f, -4.4112f, 3.9959f, 0.4078f, 2.1473f, 1.9496f, -1.6255f, 0.4947f, 0.9865f, -7.3990f, 1.7798f, -10.0697f, 0.7408f, 3.9759f, -5.8117f, 1.1179f, -4.6947f, -3.5752f, -4.5471f, 7.3211f, 6.4493f, 1.1780f, -5.1254f, -6.0444f, -6.3492f, -5.9237f, 0.6636f, -0.9113f, 3.1921f, 4.7217f, -4.2586f, 1.3321f, 2.7703f, 2.8306f, 3.3356f, 3.2010f, -1.0860f, -4.2324f, -0.0572f, 0.4406f, 1.1161f, 1.1049f, 4.5545f, -3.5389f, 7.3418f, 1.1747f, 1.3350f, -0.0281f, -2.2930f, 3.0295f, -3.0651f, -4.9167f, -4.5557f, 12.4767f, -6.3679f, -4.1824f, 1.1715f, -4.2173f, -0.0461f, 0.7412f, -2.1034f, -1.9263f, 1.3714f, 3.5413f, 7.5363f, -5.9934f, 1.8748f, 0.1406f, 2.3146f, -2.0562f, 3.1775f, 4.7516f, 3.8512f, 0.3460f, 0.3842f, 3.9440f, -8.8737f, 1.0470f, 10.8029f, -0.3986f, -5.1051f, -3.4119f, -6.4836f, -1.8259f, -1.4253f, 0.1826f, 5.8438f, 4.9884f, -0.8889f, -10.9021f, 6.1138f, -2.6130f, 2.0330f, -6.2434f, -1.4101f, 4.2119f, 1.7856f, -1.4207f, 2.1209f, -3.7111f, 0.1093f, 0.9671f, 7.4373f, 3.1851f, -4.0372f, 4.3934f, -0.0516f, -7.6212f, 4.2391f, -3.9245f, -8.6836f, 5.9347f, -2.4382f, 3.3478f, 4.3786f, 3.2445f, 3.4065f, 5.0603f, 0.7547f, 8.9234f, -1.6469f, 2.3801f, -0.6099f, 3.2294f, -2.8632f, 8.0661f, -13.2408f, -13.2180f, -12.4864f, -12.5763f, 0.1226f, 3.5019f, 2.1036f, 3.8209f, -0.0830f, 1.5923f, 5.8683f, 1.5813f, -2.2786f, -6.4905f, -2.5958f, -0.6420f, 8.5661f, 3.8130f, 2.3928f, -1.7038f, }; const float EnvCdbk3rd [N_CB3RD * DIM3RD] = { 4.0282f, -9.5862f, 2.9221f, 10.8219f, 9.5405f, 6.8798f, -9.1733f, 15.9318f, -3.7461f, 7.3196f, -2.8702f, -8.7570f, -0.2304f, 0.1350f, 0.7863f, -5.9316f, 0.6347f, 7.0661f, -7.7220f, -4.1510f, -0.4015f, 9.7056f, 4.7338f, -3.3708f, 3.4447f, 0.7509f, 0.1539f, 5.2980f, 3.3256f, 3.8228f, -5.3770f, -11.5675f, -5.7681f, 1.9411f, -3.1576f, 2.3162f, -1.5410f, -2.9216f, -6.1087f, -3.7107f, -0.7720f, -1.7048f, -1.9664f, -5.5485f, -0.9158f, 1.2430f, 3.8485f, -7.4409f, -0.4624f, 6.9662f, 6.1050f, 0.8584f, 3.6275f, 1.5624f, 3.3487f, 0.1438f, -3.8870f, -3.1533f, 7.5889f, -1.5958f, -2.9036f, -2.0471f, 2.1555f, 3.6715f, 6.4176f, -1.1670f, 3.1461f, -5.5497f, -3.0001f, -9.1009f, 2.7549f, 0.6103f, 0.2373f, 0.7927f, 4.7365f, -0.5389f, 2.0197f, -2.5074f, 0.2485f, -1.9583f, -1.6996f, 8.5694f, -2.4399f, 0.6128f, -6.2513f, 1.3320f, -6.2922f, 4.4430f, -1.3696f, 9.1921f, -3.1673f, -6.6975f, 5.9466f, -3.3971f, 2.3931f, 1.7433f, }; const float EnvCdbk4th [N_CB4TH * DIM4TH] = { 3.9996f, -0.8196f, -0.8101f, 2.3072f, -1.0920f, -9.7095f, -3.7135f, 3.7429f, 6.0104f, 4.4383f, 1.6047f, 5.1343f, 6.8807f, -0.7893f, 5.2292f, 0.7940f, -9.5225f, -8.2399f, -7.9213f, -8.3027f, 7.2240f, -5.4987f, -2.6163f, 0.5630f, -1.8336f, 10.4454f, -6.2079f, -14.0773f, 6.4124f, -2.7411f, 0.5417f, 9.6735f, -1.8885f, 1.4517f, -3.3639f, 2.1092f, -0.4634f, 3.2291f, 3.3717f, 3.7183f, 0.0901f, 0.3886f, -0.0922f, -1.1829f, 1.9060f, -8.7228f, -5.5919f, -5.4642f, 0.2125f, -0.1681f, 0.3767f, -5.9653f, 4.5684f, 0.5205f, -0.4649f, -2.8002f, 1.0087f, -4.7453f, -1.7135f, 0.6236f, -4.0975f, 3.0989f, 3.7884f, -3.0078f, -7.4785f, -4.8629f, 5.0050f, 1.6473f, -4.6660f, 3.9258f, 0.6885f, -9.2509f, -6.3693f, 5.1420f, -4.3946f, -1.4094f, 4.3917f, 4.4225f, 0.2383f, -8.5391f, 3.0850f, -8.0277f, 4.5875f, 3.6649f, 11.6159f, 15.1327f, 9.0448f, 7.9694f, -1.1705f, 9.7014f, 0.2305f, -3.3610f, 2.1195f, 5.1060f, -7.2972f, -2.8333f, 1.5208f, -0.4510f, -3.6906f, -0.5684f, -7.1756f, -2.2582f, -2.4200f, 3.8082f, 1.5182f, 6.9508f, 6.7654f, 1.1582f, 1.4735f, 3.5020f, 6.0723f, 8.8626f, -3.3340f, 0.1007f, 2.3028f, 5.5202f, -3.0476f, -3.8494f, 5.4259f, 10.3093f, 1.2195f, -1.0819f, -3.6514f, -12.8475f, 6.7971f, 7.2347f, 2.5053f, -2.0263f, 2.8809f, 3.5069f, -1.8220f, 0.4511f, 4.6384f, -1.1164f, -5.9159f, -5.1137f, 0.2896f, -3.1271f, -2.2772f, -3.8561f, 1.9906f, -2.6068f, 1.6778f, -0.7475f, 1.6325f, -1.1855f, 3.1499f, 4.9140f, -4.2298f, -4.1599f, 1.4122f, -8.2593f, -4.1992f, 0.3220f, 1.0148f, 1.1155f, -10.0725f, 0.0539f, 0.2930f, -3.3347f, -2.5810f, -2.4752f, 1.8829f, -2.2701f, -1.3208f, -1.1970f, 12.7140f, 1.5150f, -0.8982f, -0.0921f, 4.5338f, 0.8027f, 1.0017f, 2.1335f, -0.5513f, 5.3882f, -0.2457f, -3.0283f, -1.8919f, 5.7746f, -2.0213f, -2.1347f, -1.7599f, 0.3340f, 5.7553f, -4.6913f, 1.6804f, -7.3915f, 1.5389f, 3.2468f, 2.4237f, -2.5921f, 1.3040f, 0.2492f, 6.9277f, -6.1561f, -6.9638f, 4.9625f, 3.9857f, 3.6889f, 3.9950f, 0.3810f, -7.4544f, 5.1955f, -2.1874f, -4.0774f, 1.4863f, 2.7600f, -1.6673f, -2.7653f, -7.0891f, -0.3532f, -0.2106f, 8.9759f, -2.0994f, 4.4973f, -1.9481f, 2.7454f, -3.9753f, 12.9773f, 0.3607f, 2.7997f, -2.3719f, -4.0297f, -5.1272f, -5.4413f, -2.2644f, -1.8938f, 0.1319f, -8.5628f, 3.0773f, -3.3584f, 10.3160f, 2.4523f, -3.0328f, -1.0118f, -2.7438f, -0.6207f, -5.7929f, -6.3978f, -0.1295f, -0.2443f, 0.3800f, 2.1601f, 2.7023f, 2.0427f, 2.1407f, 1.3633f, -3.5645f, 0.2107f, -1.7811f, -2.7432f, -1.3301f, 3.6876f, 0.6120f, 0.3900f, }; const float EnvCdbkFB [N_CB_FB * DIM_FB] = { -16.6120f, -9.7056f, -7.3815f, 12.7223f, -5.3619f, -4.2098f, 9.6082f, 17.5423f, 19.7838f, 22.0461f, 24.1701f, 20.8503f, -96.6904f, -89.9023f, -88.6123f, 20.9213f, 27.6011f, 27.4229f, 3.8206f, 7.0540f, 5.3791f, 15.0749f, 22.8806f, 23.6351f, 26.7480f, 32.6483f, 31.6408f, -19.5344f, -13.3342f, -11.0528f, -27.4315f, -20.0228f, -17.3748f, -6.7548f, -7.7102f, -9.4666f, -3.3129f, 6.9621f, 14.9937f, 15.4388f, 19.6911f, 17.7925f, 5.2569f, 13.0270f, 15.1931f, 40.3814f, 47.0644f, 46.7397f, -10.6760f, -3.9121f, -1.8455f, -1.9827f, 5.3065f, 7.7240f, -148.2341f, -141.3109f, -139.3314f, -179.7394f, -172.2927f, -172.7284f, 17.6754f, 17.9788f, -4.8806f, -0.9671f, 3.3663f, 2.9027f, 11.3567f, 15.3245f, 13.9899f, 1.5588f, 8.5468f, 10.5230f, -7.7918f, -0.8556f, 1.6643f, -5.4487f, 2.0822f, 4.7052f, -23.9540f, -16.9712f, -14.6548f, -34.0472f, -27.2912f, -24.7197f, -2.8087f, 0.4624f, -3.6887f, -14.1611f, -7.1801f, -4.6916f, 32.8420f, 38.8016f, 38.3823f, 7.4425f, 11.3804f, 9.7292f }; const float Mean_env_fb[DIM_FB] = {13.75f, 6.29f, 3.70f}; const float w_NOR[SWB_FENV] = {1.f,0.97826087f,0.957446809f,0.9375f,0.918367347f,0.9f,0.882352941f,0.865384615f,0.849056604f,0.833333333f,0.818181818f,0.803571429f,0.789473684f,0.775862069f}; const float Mean_env[SWB_FENV] = {28.62f, 28.96f, 28.05f, 27.97f, 26.91f, 26.82f, 26.35f, 25.98f, 24.94f, 24.03f, 22.94f, 22.14f, 21.23f, 20.40f}; const float Env_TR_Cdbk1 [N_CB_TR1 * DIM_TR1] = { 0.8936f, -9.1696f, 32.0275f, 30.1795f, -1.2201f, 6.6391f, 38.5962f, 23.2366f, 34.9278f, 32.6481f, 15.0969f, 12.8381f, 9.3963f, 3.1078f, 14.3113f, 5.5971f, 11.9502f, 8.6515f, 2.4150f, 3.4154f, -21.4020f, -18.1087f, 8.7368f, 9.8116f, 16.6597f, 9.4849f, 25.7150f, 8.0681f, 17.7652f, 25.6994f, 44.2378f, 28.6702f, 41.3199f, 36.1883f, 33.1667f, 25.2245f, -5.3921f, -9.7030f, 13.1902f, 19.8007f, 28.8781f, 20.0006f, 18.7409f, 17.3426f, 21.5070f, 29.7424f, -13.1680f, -15.5559f, 10.9594f, 11.5574f, 8.7570f, 13.8680f, 5.2123f, 11.9711f, 8.0290f, -5.2743f, 3.1843f, 21.5110f, 19.2978f, 5.6924f, -7.6163f, -4.0852f, 2.5510f, -4.4247f, 3.4072f, -14.1479f, -6.8577f, 0.9589f, 22.6250f, 21.6469f, 15.9534f, 30.0623f, 17.8474f, 20.3281f, -3.1654f, -6.0729f, 39.5602f, 40.5625f, 44.3017f, 45.7556f, 24.8628f, 19.5166f, 33.7547f, 41.1213f, 23.1020f, 13.1469f, 17.6623f, 12.7562f, 20.3773f, 11.0551f, 31.6668f, 35.0770f, 15.4383f, 22.8811f, 22.8419f, 35.1167f, 25.0950f, 23.1698f, 20.2523f, 14.9332f, 24.8694f, 27.0211f, 13.8576f, 10.4789f, 6.3835f, 8.1955f, 10.6597f, -0.3484f, 27.2026f, 29.9373f, 12.4182f, 13.9096f, 24.9543f, 16.3771f, 15.7197f, 18.8608f, -1.4782f, 1.6952f, 36.4783f, 37.1348f, 29.6594f, 13.6072f, -26.6995f, -24.6742f, 20.3405f, 19.6463f, 44.2412f, 40.9698f, 28.9498f, 23.7751f, 39.3428f, 32.2458f, -23.8252f, -22.0790f, 27.6318f, 33.9910f, -47.7664f, -44.4696f, -44.8104f, -41.2774f, -50.8776f, -47.8616f, -50.3099f, -44.0979f, -54.5008f, -51.0234f, -63.3373f, -60.1146f, -45.5444f, -42.1435f, -48.2447f, -44.8312f, -49.9558f, -46.6690f, -59.1385f, -55.6583f, -44.2409f, -43.8251f, -46.6791f, -43.3332f, -46.0956f, -42.6861f, -92.7279f, -89.3799f, 49.9817f, 46.4450f, -14.8152f, -11.2475f, -106.9255f, -103.4843f, -46.5934f, -45.0424f, -47.3033f, -43.9775f, -80.0456f, -76.6952f, -56.1359f, -53.1578f, -49.1835f, -45.8131f, -54.9042f, -45.8573f, 36.9949f, 28.4050f, -43.6866f, -40.3702f, -52.0047f, -45.5982f, -47.6930f, -41.4457f, -52.5989f, -49.8475f, 30.0399f, 27.7911f, 10.0141f, 17.5614f, 21.8223f, 17.7785f, -3.1767f, -2.1954f, -17.5132f, -21.5664f, 6.0779f, 0.3815f, 0.0063f, 13.5452f, 5.5074f, 5.2318f, 15.8166f, 0.6300f, -17.7247f, -15.7262f, -38.5381f, -35.6042f, -6.3132f, -18.4667f, 9.5978f, 6.4559f, 2.4632f, 8.4172f, -70.2432f, -66.7283f, 10.2658f, 23.7825f, -42.1539f, -38.8022f, -48.5397f, -45.1815f, 16.8840f, 15.6262f, -6.1500f, 8.4442f, -31.1246f, -29.6824f, 5.9496f, 16.3765f, 21.9557f, 25.5364f, -9.8102f, -7.7609f, 48.7145f, 36.0093f, 34.1627f, 19.4172f, 14.2249f, 16.2026f, 19.8782f, 23.2358f, 1.3653f, -0.3587f, 27.4538f, 26.1047f, -9.4912f, -12.5633f, -15.5232f, -3.4597f }; const float Env_TR_Cdbk2 [N_CB_TR2 * DIM_TR2] = { 10.3071f, 1.4647f, -1.8782f, 6.6168f, -9.3764f, -12.9146f, 0.3372f, -15.6956f, -5.0830f, 0.1825f, 2.8660f, 1.1668f, 3.7385f, -4.0567f, 8.6094f, 5.8040f, 1.4099f, -4.4378f, 10.2655f, -3.2743f, -7.8499f, 5.0612f, 1.4560f, 0.4976f, -2.2400f, 10.1737f, 2.6910f, -6.0696f, 6.5484f, -1.4502f, 5.0708f, 1.0902f, -3.5214f, 4.2403f, 6.8248f, -10.6363f, 0.8362f, -2.5676f, -2.8563f, -3.5507f, 6.0370f, -6.4758f, -1.4405f, -8.6255f, -4.9844f, 6.8277f, 4.4568f, -2.0374f, 0.7265f, -7.3953f, -4.9226f, -7.8758f, -1.8669f, -1.9698f, 5.0262f, 7.3509f, -0.3770f, -5.4681f, -5.3582f, -4.5491f, 3.1235f, -0.5936f, 1.6121f, -0.9381f, -0.8137f, -3.3498f, -0.3523f, -1.5590f, 1.9211f, 9.8411f, 3.5654f, 5.3423f, -1.3437f, 1.1031f, 1.1914f, 2.0560f, -0.9800f, 3.3605f, -4.1634f, 2.2153f, -10.9385f, -2.6849f, 0.0040f, 2.6311f, 0.6873f, 3.4294f, -2.7967f, -0.5984f, 2.7559f, 3.2450f, -4.2294f, -1.6565f, 1.6359f, 4.6566f, -0.5137f, 2.2080f, 2.7641f, -9.3968f, 2.3449f, -2.5829f, 6.6876f, 11.5962f, -7.7096f, 1.4816f, -2.6264f, 0.8111f, 0.1002f, 1.1574f, -7.1116f, -1.9581f, -2.0027f, 2.4814f, 1.0402f, 6.7866f, -0.8642f, 4.8143f, -13.6639f, 6.3768f, -1.3155f, -0.2595f, -2.1558f, -5.5755f, 5.1910f, 3.3215f, -2.8061f, -11.5155f, -0.0134f, 0.0015f }; const float Mean_env_tr[5] = { 27.23f, 23.81f, 23.87f, 19.51f }; /*------------------------------------------------------------------------------* * LR MDCT SWB BWE coding tables *------------------------------------------------------------------------------*/ const float gain_table[NB_SWB_SUBBANDS] = {-0.4f,0.1f,0.6f,1.1f}; const short bits_lagIndices[NB_SWB_SUBBANDS] = {2, 2, 1, 1}; const short subband_offsets_12KBPS[NB_SWB_SUBBANDS] = {SWB_SB_OFF0_12KBPS, SWB_SB_OFF1_12KBPS, SWB_SB_OFF2_12KBPS, SWB_SB_OFF3_12KBPS}; const short subband_offsets_16KBPS[NB_SWB_SUBBANDS] = {SWB_SB_OFF0_16KBPS, SWB_SB_OFF1_16KBPS, SWB_SB_OFF2_16KBPS, SWB_SB_OFF3_16KBPS}; /* Search offset for the subbands that use a partial search */ const short subband_search_offsets[NB_SWB_SUBBANDS] = { 0, 0, 64, 64 }; /* SPT : shorten subband length table */ const Word16 bw_SPT_tbl[2][SPT_SHORTEN_SBNUM]= { {15, 31, 31, 31}, /* 13.2kbps: original band_width 53, 66, 82, 102 */ {15, 15, 31, 31} /* 16.4kbps: original band_width 51 64, 80, 90 */ }; /* Harmonic Mode */ const short bits_lagIndices_mode0_Har[NB_SWB_SUBBANDS_HAR_SEARCH_SB] = {1,1}; /* 13.2 kbps */ const short subband_offsets_sub5_13p2kbps_Har[NB_SWB_SUBBANDS_HAR] = { SWB_SB_OFF0_SUB5_12KBPS_HAR, SWB_SB_OFF1_SUB5_12KBPS_HAR, SWB_SB_OFF2_SUB5_12KBPS_HAR, SWB_SB_OFF3_SUB5_12KBPS_HAR }; /* Search offset for the subbands that use a partial search */ const short subband_search_offsets_13p2kbps_Har[NB_SWB_SUBBANDS_HAR_SEARCH_SB] = { 120, 210 }; /* 16.4 kbps */ const short subband_offsets_sub5_16p4kbps_Har[NB_SWB_SUBBANDS_HAR] = { SWB_SB_OFF0_SUB5_16KBPS_HAR, SWB_SB_OFF1_SUB5_16KBPS_HAR, SWB_SB_OFF2_SUB5_16KBPS_HAR, SWB_SB_OFF3_SUB5_16KBPS_HAR }; /* Search offset for the subbands that use a partial search */ const short subband_search_offsets_16p4kbps_Har[NB_SWB_SUBBANDS_HAR_SEARCH_SB] = { 120, 210 }; /*------------------------------------------------------------------------------* * HQ core tables *------------------------------------------------------------------------------*/ const float wscw16q15[] = { -1.0f, -0.999939f, -0.999878f, -0.999725f, -0.999573f, -0.999359f, -0.999084f, -0.99881f, -0.998444f, -0.998077f, -0.99765f, -0.997162f, -0.996643f, -0.996094f, -0.995514f, -0.994873f, -0.994171f, -0.993439f, -0.992676f, -0.991852f, -0.990997f, -0.990112f, -0.989166f, -0.98819f, -0.987183f, -0.986115f, -0.984985f, -0.983856f, -0.982666f, -0.981415f, -0.980133f, -0.978821f, -0.977448f, -0.976074f, -0.974609f, -0.973114f, -0.971588f, -0.970032f, -0.968414f, -0.966766f, -0.965088f, -0.963348f, -0.961548f, -0.959747f, -0.957886f, -0.955994f, -0.954041f, -0.952057f, -0.950043f, -0.947968f, -0.945862f, -0.943726f, -0.941559f, -0.939331f, -0.937042f, -0.934753f, -0.932404f, -0.930023f, -0.927582f, -0.92514f, -0.922607f, -0.920074f, -0.91748f, -0.914886f, -0.912201f, -0.909515f, -0.906769f, -0.903992f, -0.901184f, -0.898315f, -0.895416f, -0.892487f, -0.889526f, -0.886505f, -0.883453f, -0.880371f, -0.877258f, -0.874084f, -0.87088f, -0.867645f, -0.86438f, -0.861084f, -0.857727f, -0.85434f, -0.850922f, -0.847473f, -0.843964f, -0.840454f, -0.836884f, -0.833282f, -0.829651f, -0.825989f, -0.822266f, -0.818512f, -0.814758f, -0.810944f, -0.807098f, -0.803223f, -0.799286f, -0.795349f, -0.791351f, -0.787354f, -0.783295f, -0.779205f, -0.775085f, -0.770935f, -0.766754f, -0.762512f, -0.75827f, -0.753998f, -0.749664f, -0.745331f, -0.740936f, -0.736542f, -0.732086f, -0.727631f, -0.723114f, -0.718567f, -0.71402f, -0.709412f, 0.704803f, 0.700134f, 0.695435f, 0.690735f, 0.685974f, 0.681213f, 0.676392f, 0.67157f, 0.666687f, 0.661804f, 0.656891f, 0.651947f, 0.646942f, 0.641937f, 0.636932f, 0.631866f, 0.62677f, 0.621674f, 0.616516f, 0.611359f, 0.606171f, 0.600952f, 0.595703f, 0.590424f, 0.585144f, 0.579803f, 0.574463f, 0.569092f, 0.563721f, 0.558289f, 0.552856f, 0.547394f, 0.541901f, 0.536377f, 0.530853f, 0.525299f, 0.519714f, 0.514099f, 0.508484f, 0.502838f, 0.497162f, 0.491486f, 0.485748f, 0.480042f, 0.474274f, 0.468506f, 0.462708f, 0.456909f, 0.45108f, 0.445221f, 0.439362f, 0.433472f, 0.427551f, 0.421631f, 0.41568f, 0.409729f, 0.403748f, 0.397736f, 0.391724f, 0.385712f, 0.379669f, 0.373596f, 0.367523f, 0.36142f, 0.355316f, 0.349182f, 0.343048f, 0.336884f, 0.330719f, 0.324524f, 0.318329f, 0.312134f, 0.305908f, 0.299652f, 0.293427f, 0.28714f, 0.280884f, 0.274597f, 0.26828f, 0.261993f, 0.255646f, 0.249329f, 0.242981f, 0.236633f, 0.230255f, 0.223877f, 0.217499f, 0.211121f, 0.204712f, 0.198303f, 0.191895f, 0.185455f, 0.179016f, 0.172577f, 0.166138f, 0.159668f, 0.153198f, 0.146729f, 0.140259f, 0.133759f, 0.127289f, 0.120789f, 0.114288f, 0.107788f, 0.101288f, 0.0947571f, 0.0882568f, 0.0817261f, 0.0751953f, 0.0686646f, 0.0621338f, 0.055603f, 0.0490723f, 0.0425415f, 0.0359802f, 0.0294495f, 0.0229187f, 0.0163574f, 0.00982666f,0.00326538f }; const float wscw16q15_32[160] = { -0.99998795f, -0.99989157f, -0.99969882f, -0.99940971f, -0.99902428f, -0.99854256f, -0.99796460f, -0.99729046f, -0.99652019f,-0.99565388f, -0.99469160f, -0.99363345f, -0.99247953f, -0.99122996f, -0.98988485f, -0.98844433f, -0.98690855f, -0.98527764f, -0.98355177f, -0.98173111f, -0.97981582f, -0.97780610f, -0.97570213f, -0.97350412f, -0.97121229f, -0.96882685f, -0.96634802f, -0.96377607f, -0.96111122f, -0.95835373f, -0.95550388f, -0.95256194f, -0.94952818f, -0.94640291f, -0.94318642f, -0.93987902f, -0.93648104f, -0.93299280f, -0.92941463f, -0.92574689f, -0.92198992f, -0.91814408f, -0.91420976f, -0.91018732f, -0.90607715f, -0.90187965f, -0.89759523f, -0.89322430f, -0.88876728f, -0.88422459f, -0.87959669f, -0.87488400f, -0.87008699f, -0.86520612f, -0.86024186f, -0.85519469f, -0.85006509f, -0.84485357f, -0.83956061f, -0.83418673f, -0.82873246f, -0.82319831f, -0.81758481f, -0.81189252f, -0.80612197f, -0.80027373f, -0.79434836f, -0.78834643f, -0.78226851f, -0.77611520f, -0.76988708f, -0.76358476f, -0.75720885f, -0.75075995f, -0.74423869f, -0.73764570f, -0.73098162f, -0.72424708f, -0.71744274f, -0.71056925f, 0.70362727f, 0.69661748f, 0.68954054f, 0.68239715f, 0.67518798f, 0.66791374f, 0.66057513f, 0.65317284f, 0.64570760f, 0.63818013f, 0.63059115f, 0.62294139f, 0.61523159f, 0.60746249f, 0.59963485f, 0.59174941f, 0.58380693f, 0.57580819f, 0.56775395f, 0.55964499f, 0.55148209f, 0.54326604f, 0.53499762f, 0.52667764f, 0.51830690f, 0.50988620f, 0.50141636f, 0.49289819f, 0.48433252f, 0.47572016f, 0.46706195f, 0.45835873f, 0.44961133f, 0.44082059f, 0.43198737f, 0.42311251f, 0.41419687f, 0.40524131f, 0.39624670f, 0.38721389f, 0.37814376f, 0.36903718f, 0.35989504f, 0.35071820f, 0.34150757f, 0.33226402f, 0.32298845f, 0.31368174f, 0.30434480f, 0.29497853f, 0.28558383f, 0.27616160f, 0.26671276f, 0.25723821f, 0.24773886f, 0.23821564f, 0.22866946f, 0.21910124f, 0.20951190f, 0.19990237f, 0.19027357f, 0.18062644f, 0.17096189f, 0.16128086f, 0.15158430f, 0.14187312f, 0.13214826f, 0.12241068f, 0.11266129f, 0.10290104f, 0.09313088f, 0.08335174f, 0.07356456f, 0.06377030f, 0.05396989f, 0.04416428f, 0.03435441f, 0.02454123f, 0.01472568f, 0.00490872f }; const float wscw16q15_16[80] = { -0.99995181f, -0.99956631f, -0.99879546f, -0.99763955f, -0.99609903f, -0.99417450f, -0.99186670f, -0.98917651f, -0.98610498f, -0.98265328f, -0.97882275f, -0.97461487f, -0.97003125f, -0.96507367f, -0.95974404f, -0.95404440f, -0.94797697f, -0.94154407f, -0.93474818f, -0.92759194f, -0.92007808f, -0.91220953f, -0.90398929f, -0.89542056f, -0.88650662f, -0.87725091f, -0.86765701f, -0.85772861f, -0.84746954f, -0.83688375f, -0.82597533f, -0.81474848f, -0.80320753f, -0.79135693f, -0.77920124f, -0.76674516f, -0.75399348f, -0.74095113f, -0.72762312f, -0.71401460f, 0.70013081f, 0.68597711f, 0.67155895f, 0.65688190f, 0.64195160f, 0.62677382f, 0.61135441f, 0.59569930f, 0.57981455f, 0.56370626f, 0.54738066f, 0.53084403f, 0.51410274f, 0.49716327f, 0.48003212f, 0.46271592f, 0.44522133f, 0.42755509f, 0.40972403f, 0.39173501f, 0.37359497f, 0.35531090f, 0.33688985f, 0.31833893f, 0.29966528f, 0.28087610f, 0.26197864f, 0.24298018f, 0.22388805f, 0.20470960f, 0.18545224f, 0.16612338f, 0.14673047f, 0.12728100f, 0.10778246f, 0.08824237f, 0.06866826f, 0.04906767f, 0.02944817f, 0.00981732f }; const float wscw16q15_8[40] = { -0.999816894531250f, -0.998260498046875f, -0.995178222656250f, -0.990570068359375f, -0.984436035156250f, -0.976776123046875f, -0.967590332031250f, -0.956939697265625f, -0.944793701171875f, -0.931213378906250f, -0.916198730468750f, -0.899749755859375f, -0.881927490234375f, -0.862731933593750f, -0.842224121093750f, -0.820404052734375f, -0.797332763671875f, -0.773010253906250f, -0.747497558593750f, -0.720855712890625f, 0.693084716796875f, 0.664245605468750f, 0.634399414062500f, 0.603546142578125f, 0.571777343750000f, 0.539123535156250f, 0.505645751953125f, 0.471405029296875f, 0.436401367187500f, 0.400756835937500f, 0.364471435546875f, 0.327636718750000f, 0.290283203125000f, 0.252502441406250f, 0.214294433593750f, 0.175781250000000f, 0.137023925781250f, 0.098022460937500f, 0.058868408203125f, 0.019622802734375f, }; /* Codebook for quantization of norms */ const float dicn[40] = { 131072.0f, 92681.900024f, 65536.0f, 46340.950012f, 32768.0f, 23170.475006f, 16384.0f, 11585.237503f, 8192.0f, 5792.618751f, 4096.0f, 2896.309376f, 2048.0f, 1448.154688f, 1024.0f, 724.077344f, 512.0f, 362.038672f, 256.0f, 181.019336f, 128.0f, 90.509668f, 64.0f, 45.254834f, 32.0f, 22.627417f, 16.0f, 11.313708f, 8.0f, 5.656854f, 4.0f, 2.828427f, 2.0f, 1.414214f, 1.0f, 0.707107f, 0.5f, 0.353553f, 0.25f, 0.176777f }; const float dicn_inv[40]= /* Inversion of the codebook for quantization of norms */ { 0.00000762939453f, 0.00001078959322f, 0.00001525878906f, 0.00002157918644f, 0.00003051757813f, 0.00004315837288f, 0.00006103515625f, 0.00008631674575f, 0.0001220703125f, 0.00017263349151f, 0.000244140625f, 0.00034526698297f, 0.00048828125f, 0.00069053396594f, 0.0009765625f, 0.00138106793188f, 0.001953125f, 0.00276213586376f, 0.00390625f, 0.00552427172752f, 0.0078125f, 0.01104854345505f, 0.015625f, 0.02209708691010f, 0.03125f, 0.04419417382019f, 0.0625f, 0.08838835154664f, 0.125f, 0.17677670309327f, 0.25f, 0.35355340618655f, 0.5f, 0.70710656237316f, 1.0f, 1.41421312474633f, 2.0f, 2.82843024949583f, 4.0f, 5.65684449900157f }; /* Codebook for quantization of peak gain */ const float dicn_pg[45] = { 131072.0000000f, 110217.9749401f, 92681.9000237f, 77935.8774888f, 65536.0000000f, 55108.9874701f, 46340.9500118f, 38967.9387444f, 32768.0000000f, 27554.4937350f, 23170.4750059f, 16384.0000000f, 11585.2375030f, 8192.0000000f, 5792.6187515f, 4096.0000000f, 2896.3093757f, 2048.0000000f, 1448.1546879f, 1024.0000000f, 724.0773439f, 512.0000000f, 362.0386720f, 256.0000000f, 181.0193360f, 128.0000000f, 90.5096680f, 64.0000000f, 45.2548340f, 32.0000000f, 22.6274170f, 16.0000000f, 11.3137085f, 8.0000000f, 5.6568542f, 4.0000000f, 2.8284271f, 2.0000000f, 1.4142136f, 1.0000000f, 0.7071070f, 0.5000000f, 0.3535530f, 0.2500000f, 0.176777f }; const short expPkEnrg_tbl[45] = { 0, 0, 0, 0, 0, 2, 2, 2, 2, 4, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 18, 20, 20, 22, 22, 24, 24, 26, 26, 28, 28, 30, 30, 32, 32, 34, 34, 36, 36, 38 }; const int manPkEnrg_tbl[45] = { 2147483646, 1518500308, 1073741787, 759250076, 536870912, 1518500294, 1073741787, 759250076, 536870912, 1518500294, 1073741787, 536870912, 1073741787, 536870912, 1073741787, 536870912, 1073741787, 536870912, 1073741606, 536870912, 1073741968, 536870912, 1073741244, 536870912, 1073741244, 536870912, 1073744140, 536870912, 1073744140, 536870912, 1073744140, 536870912, 1073744140, 536870912, 1073697800, 536870912, 1073697800, 536870912, 1073883168, 536870912, 1073512448, 536870912, 1073512448, 536870912, 1073512448 }; const int E_max5_tbl[40] = { 2047999999, 1448154663, 1024000000, 1448154663, 1024000000, 1448154663, 1024000000, 1448154663, 1024000000, 1448154663, 1024000000, 1448154663, 1024000000, 1448154663, 1024000000, 1448154663, 1024000000, 1448154785, 1024000000, 1448154785, 1024000000, 1448154296, 1024000000, 1448154296, 1024000000, 1448156250, 1024000000, 1448156250, 1024000000, 1448156250, 1024000000, 1448156250, 1024000000, 1448125000, 1024000000, 1448125000, 1024000000, 1448250000, 1024000000, 1448000000 }; const short resize_huffsizn[32] = { 0, 0, 0, 0, 0, 11, 10, 10, 9, 8, 7, 6, 5, 4, 3, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 0, 0, 0, 0, 0 }; const short huffsizn[32] = { 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 4, 4, 3, 3, 3, 3, 4, 4, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7 }; const short huffnorm_tran[32] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 10, 6, 1, 0, 3, 2, 26, 58, 186, 442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; const short huffsizn_tran[32] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 5, 3, 2, 2, 2, 4, 6, 8, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; const short pgain_huffsizn[32] = { 10, 11, 10, 10, 9, 8, 6, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 6, 7, 7, 8, 10, 10, 12, 12 }; const short dicnlg2[40] = { 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, -1, -2, -3, -4, -5 }; /*** Table for quantization of MLT coefficients ***/ const short norm_order_48[NB_SFM] = { 0, 1, 8, 9, 16, 20, 24, 28, 32, 36, 40, 41, 37, 33, 29, 25, 21, 17, 11, 10, 3, 2, 4, 5, 12, 13, 18, 22, 26, 30, 34, 38, 42, 43, 39, 35, 31, 27, 23, 19, 15, 14, 7, 6 }; const short norm_order_32[SFM_N_SWB] = { 0, 1, 8, 9, 16, 20, 24, 28, 32, 36, 37, 33, 29, 25, 21, 17, 11, 10, 3, 2, 4, 5, 12, 13, 18, 22, 26, 30, 34, 38, 35, 31, 27, 23, 19, 15, 14, 7, 6 }; const short norm_order_16[SFM_N_WB] = { 0, 1, 8, 9, 16, 20, 24, 21, 17, 11, 10, 3, 2, 4, 5, 12, 13, 18, 22, 25, 23, 19, 15, 14, 7, 6 }; const short intl_bw_16[N_INTL_GRP_16] = {16, 16}; const short intl_bw_32[N_INTL_GRP_32] = {16, 24}; const short intl_bw_48[N_INTL_GRP_48] = {16, 24, 32}; const short intl_cnt_16[N_INTL_GRP_16] = {4, 1}; const short intl_cnt_32[N_INTL_GRP_32] = {4, 4}; const short intl_cnt_48[N_INTL_GRP_48] = {4, 3, 2}; const short band_start[44] = { 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 280, 304, 328, 352, 376, 400, 424, 448, 472, 496, 520, 544, 576, 608, 640, 672, 704, 736, 768 }; const short band_end[44] = { 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 280, 304, 328, 352, 376, 400, 424, 448, 472, 496, 520, 544, 576, 608, 640, 672, 704, 736, 768, 800 }; const short band_len[44] = { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 16, 16, 16, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 32, 32, 32, 32, 32, 32, 32, 32 }; const short band_start_wb[26] = { 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288 }; const short band_end_wb[26] = { 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320 }; const short band_len_wb[26] = { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 16, 16, 16, 32, 32 }; const Word16 band_len_harm[SFM_N_HARM_FB] = { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 16, 32, 32, 32, 48, 48, 48, 48, 64, 64, 64, 96 }; const Word16 band_start_harm[SFM_N_HARM_FB] = { 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 256, 288, 320, 368, 416, 464, 512, 576, 640, 704 }; const Word16 band_end_harm[SFM_N_HARM_FB] = { 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 256, 288, 320, 368, 416, 464, 512, 576, 640, 704, 800 }; const float rat[SFM_N_WB] = {1.5f, 1.5f, 1.5f, 1.5f, 1.5f, 1.5f, 1.5f, 1.5f, 1.5f, 1.5f, 1.5f, 1.5f, 1.5f, 1.5f, 1.5f, 1.5f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 0.8f, 0.8f }; const short sfm_width[20] = {3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 6, 6, 6, 7, 8}; const short a_map[20] = {8, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 5, 7, 11}; const Word32 SQRT_DIM_fx[65] = /* sqrt(x) for x = 0, 1, ..., 64. in Q15 */ { 0, 32768, 46341, 56756, 65536, 73271, 80265, 86696, 92682, 98304, 103622, 108679, 113512, 118147, 122607, 126910, 131072, 135106, 139023, 142832, 146543, 150162, 153696, 157150, 160530, 163840, 167085, 170268, 173392, 176461, 179478, 182445, 185364, 188238, 191069, 193858, 196608, 199320, 201996, 204636, 207243, 209818, 212361, 214874, 217358, 219814, 222243, 224646, 227023, 229376, 231705, 234010, 236293, 238555, 240795, 243014, 245213, 247393, 249554, 251696, 253820, 255926, 258015, 260088, 262144 }; /*------------------------------------------------------------------------------* * HQ core tables for SWB signals *------------------------------------------------------------------------------*/ const float window_8_16_32kHz[370] = { 0.00009609f, 0.00028765f, 0.00058708f, 0.00099202f, 0.00150079f, 0.00211209f, 0.00282484f, 0.00363808f, 0.00455097f, 0.00556272f, 0.00667261f, 0.00787994f, 0.00918405f, 0.01058429f, 0.01208004f, 0.01367067f, 0.01535558f, 0.01713416f, 0.01900581f, 0.02096992f, 0.02302588f, 0.02517309f, 0.02741093f, 0.02973879f, 0.03215604f, 0.03466206f, 0.03725620f, 0.03993782f, 0.04270627f, 0.04556089f, 0.04850099f, 0.05152591f, 0.05463496f, 0.05782743f, 0.06110262f, 0.06445980f, 0.06789825f, 0.07141723f, 0.07501599f, 0.07869376f, 0.08244978f, 0.08628326f, 0.09019341f, 0.09417944f, 0.09824051f, 0.10237582f, 0.10658453f, 0.11086578f, 0.11521874f, 0.11964252f, 0.12413626f, 0.12869907f, 0.13333005f, 0.13802829f, 0.14279289f, 0.14762290f, 0.15251740f, 0.15747544f, 0.16249607f, 0.16757831f, 0.17272120f, 0.17792375f, 0.18318496f, 0.18850384f, 0.19387938f, 0.19931055f, 0.20479633f, 0.21033568f, 0.21592756f, 0.22157091f, 0.22726467f, 0.23300778f, 0.23879915f, 0.24463771f, 0.25052236f, 0.25645201f, 0.26242554f, 0.26844185f, 0.27449982f, 0.28059832f, 0.28673623f, 0.29291240f, 0.29912569f, 0.30537495f, 0.31165902f, 0.31797676f, 0.32432698f, 0.33070852f, 0.33712021f, 0.34326770f, 0.34902538f, 0.35469475f, 0.36039689f, 0.36612343f, 0.37187036f, 0.37763517f, 0.38341599f, 0.38921132f, 0.39501987f, 0.40084050f, 0.40667214f, 0.41251382f, 0.41836457f, 0.42422351f, 0.43008975f, 0.43596242f, 0.44184069f, 0.44772373f, 0.45361072f, 0.45950085f, 0.46539332f, 0.47128734f, 0.47718210f, 0.48307684f, 0.48897077f, 0.49486311f, 0.50075309f, 0.50663994f, 0.51252290f, 0.51840120f, 0.52427408f, 0.53014079f, 0.53600058f, 0.54185268f, 0.54769636f, 0.55353086f, 0.55935545f, 0.56516939f, 0.57097193f, 0.57676236f, 0.58253993f, 0.58830393f, 0.59405363f, 0.59978832f, 0.60550728f, 0.61120980f, 0.61689518f, 0.62256271f, 0.62821170f, 0.63384146f, 0.63945131f, 0.64504055f, 0.65060852f, 0.65615454f, 0.66167795f, 0.66717809f, 0.67265431f, 0.67810596f, 0.68353240f, 0.68893300f, 0.69430713f, 0.69965417f, 0.70497350f, 0.71026452f, 0.71552664f, 0.72075927f, 0.72596181f, 0.73113370f, 0.73627436f, 0.74053370f, 0.74223132f, 0.74645982f, 0.75150351f, 0.75651380f, 0.76149018f, 0.76643212f, 0.77133911f, 0.77621068f, 0.78104633f, 0.78584558f, 0.79060798f, 0.79533307f, 0.80002041f, 0.80466956f, 0.80928010f, 0.81385162f, 0.81838372f, 0.82287601f, 0.82732812f, 0.83173967f, 0.83611032f, 0.84043971f, 0.84472753f, 0.84897345f, 0.85317717f, 0.85733839f, 0.86145684f, 0.86553224f, 0.86956435f, 0.87355292f, 0.87749772f, 0.88139855f, 0.88525520f, 0.88906748f, 0.89283524f, 0.89655830f, 0.90023654f, 0.90386982f, 0.90745805f, 0.91100112f, 0.91449896f, 0.91795152f, 0.92135875f, 0.92472064f, 0.92803719f, 0.93130842f, 0.93453436f, 0.93771509f, 0.94085071f, 0.94394132f, 0.94698708f, 0.94998816f, 0.95294479f, 0.95585723f, 0.95872577f, 0.96155077f, 0.96433265f, 0.96707190f, 0.96976909f, 0.97242491f, 0.97504018f, 0.97761590f, 0.98015330f, 0.98265393f, 0.98511982f, 0.98755371f, 0.98995949f, 0.99234319f, 0.99471536f, 0.99709994f, 0.99708681f, 0.99466528f, 0.99222861f, 0.98975303f, 0.98722813f, 0.98464802f, 0.98200891f, 0.97930819f, 0.97654393f, 0.97371465f, 0.97081921f, 0.96785667f, 0.96482628f, 0.96172739f, 0.95855948f, 0.95532207f, 0.95201479f, 0.94863729f, 0.94518926f, 0.94167046f, 0.93808064f, 0.93441963f, 0.93068723f, 0.92688329f, 0.92300768f, 0.91906029f, 0.91504101f, 0.91094975f, 0.90678646f, 0.90255106f, 0.89824351f, 0.89386377f, 0.88941182f, 0.88488765f, 0.88029124f, 0.87562260f, 0.87088175f, 0.86606871f, 0.86118350f, 0.85622616f, 0.85119674f, 0.84609529f, 0.84092187f, 0.83567654f, 0.83035938f, 0.82497048f, 0.81950991f, 0.81397777f, 0.80837415f, 0.80269917f, 0.79695293f, 0.79113554f, 0.78524714f, 0.77928784f, 0.77325776f, 0.76715706f, 0.76098587f, 0.75474432f, 0.74843257f, 0.74205077f, 0.73559908f, 0.72907763f, 0.72248661f, 0.71582617f, 0.70909647f, 0.70229768f, 0.69542998f, 0.68849352f, 0.68148847f, 0.67559894f, 0.67322974f, 0.66727332f, 0.66006356f, 0.65278589f, 0.64544049f, 0.63802752f, 0.63054716f, 0.62299955f, 0.61538487f, 0.60770327f, 0.59995491f, 0.59213992f, 0.58425845f, 0.57631064f, 0.56829662f, 0.56021651f, 0.55207043f, 0.54385849f, 0.53558078f, 0.52723738f, 0.51882839f, 0.51035385f, 0.50181382f, 0.49320834f, 0.48453743f, 0.47580109f, 0.46699931f, 0.45813206f, 0.44919928f, 0.44020091f, 0.43113683f, 0.42200694f, 0.41281107f, 0.40354904f, 0.39422063f, 0.38482561f, 0.37536367f, 0.36583448f, 0.35623768f, 0.34657285f, 0.33683949f, 0.32703708f, 0.31716502f, 0.30722265f, 0.29720921f, 0.28712387f, 0.27696571f, 0.26673368f, 0.25642665f, 0.24604332f, 0.23558226f, 0.22504184f, 0.21442026f, 0.20371546f, 0.19292514f, 0.18204665f, 0.17107697f, 0.16001264f, 0.14884960f, 0.13758311f, 0.12620753f, 0.11471608f, 0.10310041f, 0.09135008f, 0.07945161f, 0.06738693f, 0.05513058f, 0.04264380f, 0.02985996f, 0.01663146f }; const float window_256kHz[592] = /*ALDO at 25.6 maybe not needed ?*/ { 0.00002505f, 0.00009623f, 0.00021144f, 0.00036963f, 0.00057004f, 0.00081212f, 0.00109541f, 0.00141951f, 0.00178408f, 0.00218883f, 0.00263346f, 0.00311775f, 0.00364144f, 0.00420431f, 0.00480616f, 0.00544680f, 0.00612602f, 0.00684364f, 0.00759949f, 0.00839340f, 0.00922518f, 0.01009468f, 0.01100174f, 0.01194618f, 0.01292786f, 0.01394661f, 0.01500228f, 0.01609471f, 0.01722376f, 0.01838925f, 0.01959105f, 0.02082899f, 0.02210292f, 0.02341269f, 0.02475814f, 0.02613912f, 0.02755547f, 0.02900704f, 0.03049367f, 0.03201520f, 0.03357147f, 0.03516233f, 0.03678761f, 0.03844715f, 0.04014078f, 0.04186836f, 0.04362970f, 0.04542464f, 0.04725302f, 0.04911467f, 0.05100942f, 0.05293708f, 0.05489750f, 0.05689050f, 0.05891590f, 0.06097352f, 0.06306319f, 0.06518472f, 0.06733794f, 0.06952266f, 0.07173869f, 0.07398585f, 0.07626395f, 0.07857281f, 0.08091223f, 0.08328201f, 0.08568197f, 0.08811192f, 0.09057164f, 0.09306095f, 0.09557964f, 0.09812751f, 0.10070437f, 0.10330999f, 0.10594419f, 0.10860674f, 0.11129745f, 0.11401609f, 0.11676246f, 0.11953635f, 0.12233753f, 0.12516579f, 0.12802091f, 0.13090267f, 0.13381086f, 0.13674524f, 0.13970559f, 0.14269169f, 0.14570330f, 0.14874021f, 0.15180217f, 0.15488896f, 0.15800034f, 0.16113609f, 0.16429595f, 0.16747970f, 0.17068710f, 0.17391790f, 0.17717186f, 0.18044875f, 0.18374831f, 0.18707031f, 0.19041448f, 0.19378059f, 0.19716839f, 0.20057763f, 0.20400804f, 0.20745938f, 0.21093140f, 0.21442384f, 0.21793644f, 0.22146894f, 0.22502109f, 0.22859261f, 0.23218326f, 0.23579277f, 0.23942087f, 0.24306730f, 0.24673180f, 0.25041408f, 0.25411390f, 0.25783097f, 0.26156503f, 0.26531581f, 0.26908303f, 0.27286642f, 0.27666570f, 0.28048060f, 0.28431085f, 0.28815616f, 0.29201627f, 0.29589088f, 0.29977972f, 0.30368251f, 0.30759896f, 0.31152881f, 0.31547175f, 0.31942751f, 0.32339581f, 0.32737635f, 0.33136886f, 0.33537304f, 0.33938861f, 0.34341527f, 0.34689352f, 0.35040979f, 0.35394433f, 0.35749191f, 0.36105010f, 0.36461744f, 0.36819295f, 0.37177588f, 0.37536568f, 0.37896184f, 0.38256397f, 0.38617170f, 0.38978470f, 0.39340267f, 0.39702533f, 0.40065241f, 0.40428366f, 0.40791884f, 0.41155771f, 0.41520004f, 0.41884562f, 0.42249422f, 0.42614564f, 0.42979966f, 0.43345608f, 0.43711469f, 0.44077529f, 0.44443769f, 0.44810168f, 0.45176708f, 0.45543368f, 0.45910129f, 0.46276972f, 0.46643878f, 0.47010827f, 0.47377802f, 0.47744783f, 0.48111751f, 0.48478688f, 0.48845574f, 0.49212392f, 0.49579124f, 0.49945749f, 0.50312250f, 0.50678610f, 0.51044808f, 0.51410828f, 0.51776651f, 0.52142258f, 0.52507633f, 0.52872755f, 0.53237609f, 0.53602175f, 0.53966436f, 0.54330374f, 0.54693971f, 0.55057209f, 0.55420071f, 0.55782539f, 0.56144595f, 0.56506222f, 0.56867402f, 0.57228118f, 0.57588352f, 0.57948087f, 0.58307305f, 0.58665990f, 0.59024124f, 0.59381690f, 0.59738672f, 0.60095051f, 0.60450811f, 0.60805935f, 0.61160407f, 0.61514209f, 0.61867325f, 0.62219738f, 0.62571432f, 0.62922390f, 0.63272595f, 0.63622033f, 0.63970685f, 0.64318537f, 0.64665571f, 0.65011773f, 0.65357125f, 0.65701613f, 0.66045220f, 0.66387931f, 0.66729730f, 0.67070601f, 0.67410530f, 0.67749501f, 0.68087499f, 0.68424508f, 0.68760514f, 0.69095502f, 0.69429456f, 0.69762363f, 0.70094207f, 0.70424975f, 0.70754651f, 0.71083222f, 0.71410673f, 0.71736991f, 0.72062160f, 0.72386169f, 0.72709002f, 0.73030646f, 0.73351088f, 0.73670315f, 0.73988313f, 0.74305069f, 0.74620570f, 0.74934804f, 0.75247757f, 0.75559418f, 0.75869773f, 0.76178811f, 0.76486519f, 0.76792885f, 0.77097898f, 0.77401546f, 0.77703816f, 0.78004699f, 0.78304181f, 0.78602253f, 0.78898904f, 0.79194121f, 0.79487896f, 0.79780216f, 0.80071072f, 0.80360454f, 0.80648352f, 0.80934755f, 0.81219653f, 0.81503038f, 0.81784900f, 0.82065230f, 0.82344018f, 0.82621255f, 0.82896934f, 0.83171045f, 0.83443579f, 0.83714529f, 0.83983887f, 0.84251645f, 0.84517794f, 0.84782328f, 0.85045240f, 0.85306521f, 0.85566165f, 0.85824166f, 0.86080517f, 0.86335210f, 0.86588241f, 0.86839603f, 0.87089291f, 0.87337298f, 0.87583620f, 0.87828250f, 0.88071185f, 0.88312419f, 0.88551948f, 0.88789767f, 0.89025873f, 0.89260261f, 0.89492928f, 0.89723869f, 0.89953083f, 0.90180566f, 0.90406314f, 0.90630327f, 0.90852600f, 0.91073133f, 0.91291923f, 0.91508969f, 0.91724270f, 0.91937824f, 0.92149632f, 0.92359691f, 0.92568004f, 0.92774569f, 0.92979387f, 0.93182459f, 0.93383786f, 0.93583369f, 0.93781212f, 0.93977315f, 0.94171681f, 0.94364315f, 0.94555218f, 0.94744396f, 0.94931853f, 0.95117594f, 0.95301624f, 0.95483951f, 0.95664580f, 0.95843521f, 0.96020781f, 0.96196370f, 0.96370298f, 0.96542577f, 0.96713221f, 0.96882242f, 0.97049658f, 0.97215486f, 0.97379745f, 0.97542459f, 0.97703653f, 0.97863356f, 0.98021601f, 0.98178428f, 0.98333882f, 0.98488019f, 0.98640904f, 0.98792619f, 0.98943268f, 0.99092986f, 0.99241955f, 0.99390438f, 0.99538840f, 0.99687865f, 0.99839048f, 0.99839048f, 0.99687316f, 0.99536647f, 0.99385512f, 0.99233208f, 0.99079337f, 0.98923638f, 0.98765934f, 0.98606092f, 0.98444012f, 0.98279615f, 0.98112838f, 0.97943628f, 0.97771944f, 0.97597747f, 0.97421006f, 0.97241695f, 0.97059790f, 0.96875269f, 0.96688116f, 0.96498313f, 0.96305846f, 0.96110701f, 0.95912868f, 0.95712335f, 0.95509092f, 0.95303131f, 0.95094444f, 0.94883023f, 0.94668862f, 0.94451953f, 0.94232293f, 0.94009875f, 0.93784694f, 0.93556747f, 0.93326028f, 0.93092535f, 0.92856264f, 0.92617212f, 0.92375376f, 0.92130753f, 0.91883342f, 0.91633139f, 0.91380144f, 0.91124353f, 0.90865767f, 0.90604383f, 0.90340200f, 0.90073218f, 0.89803436f, 0.89530852f, 0.89255467f, 0.88977280f, 0.88696291f, 0.88412500f, 0.88125907f, 0.87836512f, 0.87544316f, 0.87249319f, 0.86951521f, 0.86650924f, 0.86347528f, 0.86041334f, 0.85732343f, 0.85420557f, 0.85105976f, 0.84788602f, 0.84468436f, 0.84145481f, 0.83819737f, 0.83491207f, 0.83159893f, 0.82825795f, 0.82488917f, 0.82149260f, 0.81806828f, 0.81461621f, 0.81113643f, 0.80762895f, 0.80409381f, 0.80053104f, 0.79694065f, 0.79332267f, 0.78967714f, 0.78600409f, 0.78230354f, 0.77857552f, 0.77482007f, 0.77103722f, 0.76722699f, 0.76338943f, 0.75952457f, 0.75563243f, 0.75171306f, 0.74776649f, 0.74379276f, 0.73979190f, 0.73576394f, 0.73170893f, 0.72762691f, 0.72351790f, 0.71938195f, 0.71521909f, 0.71102937f, 0.70681283f, 0.70256949f, 0.69829940f, 0.69400260f, 0.68967913f, 0.68532903f, 0.68095233f, 0.67654908f, 0.67211932f, 0.66766308f, 0.66318040f, 0.65867133f, 0.65413589f, 0.64957414f, 0.64498610f, 0.64037182f, 0.63573134f, 0.63106468f, 0.62637190f, 0.62165301f, 0.61690807f, 0.61213710f, 0.60734015f, 0.60251723f, 0.59766840f, 0.59279367f, 0.58789308f, 0.58296667f, 0.57801446f, 0.57303647f, 0.56803275f, 0.56300331f, 0.55794818f, 0.55286738f, 0.54776094f, 0.54262888f, 0.53747121f, 0.53228796f, 0.52707914f, 0.52184477f, 0.51658486f, 0.51129942f, 0.50598845f, 0.50065198f, 0.49528999f, 0.48990250f, 0.48448950f, 0.47905099f, 0.47358696f, 0.46809741f, 0.46258232f, 0.45704168f, 0.45147548f, 0.44588369f, 0.44026628f, 0.43462323f, 0.42895451f, 0.42326008f, 0.41753990f, 0.41179392f, 0.40602210f, 0.40022438f, 0.39440070f, 0.38855100f, 0.38267520f, 0.37677323f, 0.37084500f, 0.36489043f, 0.35890941f, 0.35290185f, 0.34686763f, 0.34080663f, 0.33471872f, 0.32860376f, 0.32246161f, 0.31629211f, 0.31009508f, 0.30387035f, 0.29761773f, 0.29133699f, 0.28502794f, 0.27869032f, 0.27232389f, 0.26592837f, 0.25950348f, 0.25304891f, 0.24656432f, 0.24004937f, 0.23350366f, 0.22692680f, 0.22031833f, 0.21367779f, 0.20700468f, 0.20029842f, 0.19355844f, 0.18678407f, 0.17997463f, 0.17312933f, 0.16624735f, 0.15932777f, 0.15236958f, 0.14537166f, 0.13833277f, 0.13125154f, 0.12412643f, 0.11695568f, 0.10973731f, 0.10246907f, 0.09514831f, 0.08777196f, 0.08033640f, 0.07283723f, 0.06526908f, 0.05762520f, 0.04989688f, 0.04207239f, 0.03413516f, 0.02605991f, 0.01780324f, 0.00927214f }; const float small_overlap_48[R2_48/7]= { 0.01308960f, 0.03925982f, 0.06540313f, 0.09150162f, 0.11753740f, 0.14349262f, 0.16934950f, 0.19509032f, 0.22069744f, 0.24615329f, 0.27144045f, 0.29654157f, 0.32143947f, 0.34611706f, 0.37055744f, 0.39474386f, 0.41865974f, 0.44228869f, 0.46561452f, 0.48862124f, 0.51129309f, 0.53361452f, 0.55557023f, 0.57714519f, 0.59832460f, 0.61909395f, 0.63943900f, 0.65934582f, 0.67880075f, 0.69779046f, 0.71630194f, 0.73432251f, 0.75183981f, 0.76884183f, 0.78531693f, 0.80125381f, 0.81664156f, 0.83146961f, 0.84572782f, 0.85940641f, 0.87249601f, 0.88498764f, 0.89687274f, 0.90814317f, 0.91879121f, 0.92880955f, 0.93819134f, 0.94693013f, 0.95501994f, 0.96245524f, 0.96923091f, 0.97534232f, 0.98078528f, 0.98555606f, 0.98965139f, 0.99306846f, 0.99580493f, 0.99785892f, 0.99922904f, 0.99991433f }; const float small_overlap_25[R2_25/7]= { 0.02454123f, 0.07356456f, 0.12241068f, 0.17096189f, 0.21910124f, 0.26671276f, 0.31368174f, 0.35989504f, 0.40524131f, 0.44961133f, 0.49289819f, 0.53499762f, 0.57580819f, 0.61523159f, 0.65317284f, 0.68954054f, 0.72424708f, 0.75720885f, 0.78834643f, 0.81758481f, 0.84485357f, 0.87008699f, 0.89322430f, 0.91420976f, 0.93299280f, 0.94952818f, 0.96377607f, 0.97570213f, 0.98527764f, 0.99247953f, 0.99729046f, 0.99969882f }; const float small_overlap_int[R2_16/7]= { 0.07845910f, 0.15643447f, 0.23344536f, 0.30901699f, 0.38268343f, 0.45399050f, 0.52249856f, 0.58778525f, 0.64944805f, 0.69778617f, 0.71630612f, 0.76040597f, 0.80901699f, 0.85264016f, 0.89100652f, 0.92387953f, 0.95105652f, 0.97236992f, 0.98768834f, 0.99691733f }; const float half_overlap_48[3*R2_48/7]= { 0.00436331f, 0.01308960f, 0.02181489f, 0.03053851f, 0.03925982f, 0.04797813f, 0.05669279f, 0.06540313f, 0.07410849f, 0.08280821f, 0.09150162f, 0.10018806f, 0.10886687f, 0.11753740f, 0.12619897f, 0.13485093f, 0.14349262f, 0.15212339f, 0.16074257f, 0.16934950f, 0.17794355f, 0.18652404f, 0.19509032f, 0.20364175f, 0.21217767f, 0.22069744f, 0.22920039f, 0.23768589f, 0.24615329f, 0.25460195f, 0.26303121f, 0.27144045f, 0.27982901f, 0.28819627f, 0.29654157f, 0.30486430f, 0.31316381f, 0.32143947f, 0.32969065f, 0.33791672f, 0.34611706f, 0.35429104f, 0.36243804f, 0.37055744f, 0.37864862f, 0.38671096f, 0.39474386f, 0.40274669f, 0.41071885f, 0.41865974f, 0.42656874f, 0.43444526f, 0.44228869f, 0.45009844f, 0.45787392f, 0.46561452f, 0.47331967f, 0.48098877f, 0.48862124f, 0.49621650f, 0.50377398f, 0.51129309f, 0.51877326f, 0.52621392f, 0.53361452f, 0.54097447f, 0.54829323f, 0.55557023f, 0.56280493f, 0.56999676f, 0.57714519f, 0.58424967f, 0.59130965f, 0.59832460f, 0.60529399f, 0.61221728f, 0.61909395f, 0.62592347f, 0.63270533f, 0.63943900f, 0.64612398f, 0.65275975f, 0.65934582f, 0.66588167f, 0.67236681f, 0.67880075f, 0.68518299f, 0.69151306f, 0.69779046f, 0.70401472f, 0.71018538f, 0.71630194f, 0.72236396f, 0.72837097f, 0.73432251f, 0.74021813f, 0.74605738f, 0.75183981f, 0.75756498f, 0.76323247f, 0.76884183f, 0.77439264f, 0.77988448f, 0.78531693f, 0.79068957f, 0.79600200f, 0.80125381f, 0.80644460f, 0.81157398f, 0.81664156f, 0.82164694f, 0.82658975f, 0.83146961f, 0.83628616f, 0.84103901f, 0.84572782f, 0.85035222f, 0.85491187f, 0.85940641f, 0.86383551f, 0.86819881f, 0.87249601f, 0.87672676f, 0.88089074f, 0.88498764f, 0.88901714f, 0.89297894f, 0.89687274f, 0.90069824f, 0.90445515f, 0.90814317f, 0.91176204f, 0.91531148f, 0.91879121f, 0.92220097f, 0.92554050f, 0.92880955f, 0.93200787f, 0.93513521f, 0.93819134f, 0.94117602f, 0.94408902f, 0.94693013f, 0.94969913f, 0.95239580f, 0.95501994f, 0.95757136f, 0.96004985f, 0.96245524f, 0.96478732f, 0.96704594f, 0.96923091f, 0.97134207f, 0.97337926f, 0.97534232f, 0.97723111f, 0.97904547f, 0.98078528f, 0.98245040f, 0.98404070f, 0.98555606f, 0.98699637f, 0.98836151f, 0.98965139f, 0.99086590f, 0.99200495f, 0.99306846f, 0.99405634f, 0.99496852f, 0.99580493f, 0.99656550f, 0.99725019f, 0.99785892f, 0.99839167f, 0.99884839f, 0.99922904f, 0.99953359f, 0.99976203f, 0.99991433f, 0.99999048f }; const float half_overlap_25[3*R2_25/7]= { 0.00818114f, 0.02454123f, 0.04089475f, 0.05723732f, 0.07356456f, 0.08987211f, 0.10615561f, 0.12241068f, 0.13863297f, 0.15481816f, 0.17096189f, 0.18705985f, 0.20310773f, 0.21910124f, 0.23503609f, 0.25090801f, 0.26671276f, 0.28244610f, 0.29810383f, 0.31368174f, 0.32917568f, 0.34458148f, 0.35989504f, 0.37511224f, 0.39022901f, 0.40524131f, 0.42014512f, 0.43493645f, 0.44961133f, 0.46416584f, 0.47859608f, 0.49289819f, 0.50706834f, 0.52110274f, 0.53499762f, 0.54874927f, 0.56235401f, 0.57580819f, 0.58910822f, 0.60225052f, 0.61523159f, 0.62804795f, 0.64069616f, 0.65317284f, 0.66547466f, 0.67759830f, 0.68954054f, 0.70129818f, 0.71286806f, 0.72424708f, 0.73543221f, 0.74642045f, 0.75720885f, 0.76779452f, 0.77817464f, 0.78834643f, 0.79830715f, 0.80805415f, 0.81758481f, 0.82689659f, 0.83598698f, 0.84485357f, 0.85349396f, 0.86190585f, 0.87008699f, 0.87803519f, 0.88574831f, 0.89322430f, 0.90046115f, 0.90745693f, 0.91420976f, 0.92071783f, 0.92697940f, 0.93299280f, 0.93875641f, 0.94426870f, 0.94952818f, 0.95453345f, 0.95928317f, 0.96377607f, 0.96801094f, 0.97198664f, 0.97570213f, 0.97915640f, 0.98234852f, 0.98527764f, 0.98794298f, 0.99034383f, 0.99247953f, 0.99434953f, 0.99595331f, 0.99729046f, 0.99836060f, 0.99916346f, 0.99969882f, 0.99996653f, }; const float half_overlap_int[3*R2_16/7]= { 0.02617695f, 0.05233596f, 0.07845910f, 0.10452846f, 0.13052619f, 0.15643447f, 0.18223553f, 0.20791169f, 0.23344536f, 0.25881905f, 0.28401534f, 0.30901699f, 0.33380686f, 0.35836795f, 0.38268343f, 0.40673664f, 0.43051110f, 0.45399050f, 0.47715876f, 0.50000000f, 0.52249856f, 0.54463904f, 0.56640624f, 0.58778525f, 0.60876143f, 0.62932039f, 0.64944805f, 0.66913061f, 0.68835458f, 0.70401457f, 0.71018553f, 0.72537437f, 0.74314483f, 0.76040597f, 0.77714596f, 0.79335334f, 0.80901699f, 0.82412619f, 0.83867057f, 0.85264016f, 0.86602540f, 0.87881711f, 0.89100652f, 0.90258528f, 0.91354546f, 0.92387953f, 0.93358043f, 0.94264149f, 0.95105652f, 0.95881973f, 0.96592583f, 0.97236992f, 0.97814760f, 0.98325491f, 0.98768834f, 0.99144486f, 0.99452190f, 0.99691733f, 0.99862953f, 0.99965732f }; const float window_48kHz[1110] = { 0.00000717f, 0.00002765f, 0.00006087f, 0.00010657f, 0.00016454f, 0.00023464f, 0.00031674f, 0.00041075f, 0.00051659f, 0.00063416f, 0.00076341f, 0.00090428f, 0.00105670f, 0.00122062f, 0.00139600f, 0.00158279f, 0.00178095f, 0.00199044f, 0.00221121f, 0.00244323f, 0.00268646f, 0.00294088f, 0.00320644f, 0.00348313f, 0.00377089f, 0.00406971f, 0.00437956f, 0.00470041f, 0.00503222f, 0.00537498f, 0.00572866f, 0.00609322f, 0.00646865f, 0.00685492f, 0.00725200f, 0.00765987f, 0.00807851f, 0.00850788f, 0.00894798f, 0.00939876f, 0.00986022f, 0.01033232f, 0.01081504f, 0.01130837f, 0.01181227f, 0.01232672f, 0.01285171f, 0.01338721f, 0.01393319f, 0.01448963f, 0.01505652f, 0.01563383f, 0.01622153f, 0.01681961f, 0.01742804f, 0.01804680f, 0.01867586f, 0.01931521f, 0.01996482f, 0.02062467f, 0.02129474f, 0.02197501f, 0.02266545f, 0.02336603f, 0.02407675f, 0.02479757f, 0.02552847f, 0.02626943f, 0.02702042f, 0.02778143f, 0.02855244f, 0.02933340f, 0.03012432f, 0.03092515f, 0.03173588f, 0.03255648f, 0.03338694f, 0.03422723f, 0.03507731f, 0.03593718f, 0.03680680f, 0.03768616f, 0.03857522f, 0.03947397f, 0.04038238f, 0.04130042f, 0.04222808f, 0.04316532f, 0.04411212f, 0.04506846f, 0.04603431f, 0.04700965f, 0.04799445f, 0.04898869f, 0.04999234f, 0.05100537f, 0.05202776f, 0.05305949f, 0.05410053f, 0.05515085f, 0.05621043f, 0.05727924f, 0.05835725f, 0.05944444f, 0.06054078f, 0.06164624f, 0.06276080f, 0.06388444f, 0.06501711f, 0.06615880f, 0.06730949f, 0.06846913f, 0.06963771f, 0.07081519f, 0.07200155f, 0.07319676f, 0.07440080f, 0.07561362f, 0.07683522f, 0.07806555f, 0.07930459f, 0.08055231f, 0.08180868f, 0.08307367f, 0.08434725f, 0.08562940f, 0.08692008f, 0.08821927f, 0.08952693f, 0.09084304f, 0.09216756f, 0.09350047f, 0.09484173f, 0.09619131f, 0.09754919f, 0.09891534f, 0.10028971f, 0.10167229f, 0.10306304f, 0.10446193f, 0.10586893f, 0.10728400f, 0.10870712f, 0.11013826f, 0.11157738f, 0.11302444f, 0.11447943f, 0.11594230f, 0.11741303f, 0.11889158f, 0.12037792f, 0.12187201f, 0.12337383f, 0.12488334f, 0.12640051f, 0.12792530f, 0.12945769f, 0.13099763f, 0.13254510f, 0.13410005f, 0.13566247f, 0.13723231f, 0.13880953f, 0.14039412f, 0.14198602f, 0.14358521f, 0.14519166f, 0.14680532f, 0.14842616f, 0.15005415f, 0.15168925f, 0.15333143f, 0.15498066f, 0.15663689f, 0.15830009f, 0.15997023f, 0.16164727f, 0.16333117f, 0.16502191f, 0.16671943f, 0.16842371f, 0.17013472f, 0.17185240f, 0.17357674f, 0.17530768f, 0.17704520f, 0.17878926f, 0.18053981f, 0.18229683f, 0.18406028f, 0.18583011f, 0.18760630f, 0.18938880f, 0.19117758f, 0.19297259f, 0.19477381f, 0.19658119f, 0.19839469f, 0.20021428f, 0.20203992f, 0.20387157f, 0.20570919f, 0.20755274f, 0.20940219f, 0.21125750f, 0.21311862f, 0.21498552f, 0.21685816f, 0.21873650f, 0.22062050f, 0.22251012f, 0.22440532f, 0.22630606f, 0.22821231f, 0.23012402f, 0.23204116f, 0.23396367f, 0.23589153f, 0.23782470f, 0.23976312f, 0.24170677f, 0.24365560f, 0.24560957f, 0.24756865f, 0.24953278f, 0.25150194f, 0.25347607f, 0.25545514f, 0.25743911f, 0.25942794f, 0.26142158f, 0.26341999f, 0.26542314f, 0.26743098f, 0.26944347f, 0.27146056f, 0.27348222f, 0.27550841f, 0.27753908f, 0.27957419f, 0.28161370f, 0.28365757f, 0.28570575f, 0.28775820f, 0.28981489f, 0.29187576f, 0.29394078f, 0.29600991f, 0.29808309f, 0.30016029f, 0.30224147f, 0.30432658f, 0.30641558f, 0.30850843f, 0.31060508f, 0.31270549f, 0.31480962f, 0.31691743f, 0.31902887f, 0.32114389f, 0.32326246f, 0.32538454f, 0.32751007f, 0.32963901f, 0.33177133f, 0.33390698f, 0.33604591f, 0.33818808f, 0.34033345f, 0.34248196f, 0.34432825f, 0.34619672f, 0.34807434f, 0.34995817f, 0.35184686f, 0.35373965f, 0.35563601f, 0.35753559f, 0.35943811f, 0.36134336f, 0.36325118f, 0.36516141f, 0.36707393f, 0.36898864f, 0.37090544f, 0.37282426f, 0.37474501f, 0.37666763f, 0.37859204f, 0.38051820f, 0.38244605f, 0.38437553f, 0.38630659f, 0.38823918f, 0.39017326f, 0.39210879f, 0.39404572f, 0.39598401f, 0.39792361f, 0.39986450f, 0.40180663f, 0.40374996f, 0.40569446f, 0.40764009f, 0.40958682f, 0.41153461f, 0.41348342f, 0.41543322f, 0.41738398f, 0.41933567f, 0.42128825f, 0.42324169f, 0.42519595f, 0.42715101f, 0.42910683f, 0.43106338f, 0.43302063f, 0.43497855f, 0.43693710f, 0.43889626f, 0.44085600f, 0.44281628f, 0.44477708f, 0.44673836f, 0.44870009f, 0.45066225f, 0.45262480f, 0.45458771f, 0.45655096f, 0.45851451f, 0.46047834f, 0.46244241f, 0.46440670f, 0.46637117f, 0.46833580f, 0.47030055f, 0.47226541f, 0.47423033f, 0.47619530f, 0.47816027f, 0.48012523f, 0.48209014f, 0.48405498f, 0.48601971f, 0.48798430f, 0.48994874f, 0.49191298f, 0.49387701f, 0.49584078f, 0.49780428f, 0.49976748f, 0.50173034f, 0.50369284f, 0.50565495f, 0.50761664f, 0.50957789f, 0.51153865f, 0.51349892f, 0.51545865f, 0.51741783f, 0.51937641f, 0.52133438f, 0.52329171f, 0.52524836f, 0.52720432f, 0.52915954f, 0.53111401f, 0.53306770f, 0.53502057f, 0.53697261f, 0.53892378f, 0.54087405f, 0.54282340f, 0.54477180f, 0.54671922f, 0.54866564f, 0.55061103f, 0.55255535f, 0.55449858f, 0.55644070f, 0.55838168f, 0.56032149f, 0.56226010f, 0.56419748f, 0.56613362f, 0.56806847f, 0.57000202f, 0.57193423f, 0.57386509f, 0.57579455f, 0.57772261f, 0.57964922f, 0.58157436f, 0.58349801f, 0.58542013f, 0.58734071f, 0.58925971f, 0.59117711f, 0.59309288f, 0.59500700f, 0.59691943f, 0.59883016f, 0.60073915f, 0.60264638f, 0.60455182f, 0.60645545f, 0.60835724f, 0.61025717f, 0.61215520f, 0.61405132f, 0.61594549f, 0.61783769f, 0.61972789f, 0.62161608f, 0.62350222f, 0.62538628f, 0.62726824f, 0.62914809f, 0.63102578f, 0.63290129f, 0.63477461f, 0.63664570f, 0.63851454f, 0.64038110f, 0.64224536f, 0.64410729f, 0.64596688f, 0.64782408f, 0.64967889f, 0.65153127f, 0.65338119f, 0.65522864f, 0.65707360f, 0.65891602f, 0.66075590f, 0.66259321f, 0.66442791f, 0.66626000f, 0.66808944f, 0.66991621f, 0.67174028f, 0.67356164f, 0.67538025f, 0.67719610f, 0.67900916f, 0.68081941f, 0.68262682f, 0.68443137f, 0.68623303f, 0.68803180f, 0.68982763f, 0.69162050f, 0.69341041f, 0.69519731f, 0.69698119f, 0.69876203f, 0.70053980f, 0.70231448f, 0.70408605f, 0.70585448f, 0.70761976f, 0.70938186f, 0.71114076f, 0.71289643f, 0.71464886f, 0.71639803f, 0.71814390f, 0.71988647f, 0.72162570f, 0.72336158f, 0.72509409f, 0.72682320f, 0.72854889f, 0.73027115f, 0.73198995f, 0.73370527f, 0.73541708f, 0.73712538f, 0.73883014f, 0.74053133f, 0.74222894f, 0.74392295f, 0.74561334f, 0.74730009f, 0.74898317f, 0.75066257f, 0.75233827f, 0.75401025f, 0.75567849f, 0.75734297f, 0.75900367f, 0.76066057f, 0.76231366f, 0.76396291f, 0.76560830f, 0.76724982f, 0.76888745f, 0.77052118f, 0.77215097f, 0.77377682f, 0.77539870f, 0.77701660f, 0.77863050f, 0.78024038f, 0.78184623f, 0.78344803f, 0.78504575f, 0.78663939f, 0.78822893f, 0.78981434f, 0.79139562f, 0.79297274f, 0.79454569f, 0.79611446f, 0.79767902f, 0.79923936f, 0.80079547f, 0.80234733f, 0.80389492f, 0.80543823f, 0.80697724f, 0.80851193f, 0.81004230f, 0.81156833f, 0.81309000f, 0.81460729f, 0.81612020f, 0.81762870f, 0.81913279f, 0.82063245f, 0.82212766f, 0.82361842f, 0.82510470f, 0.82658650f, 0.82806380f, 0.82953658f, 0.83100484f, 0.83246856f, 0.83392773f, 0.83538233f, 0.83683236f, 0.83827780f, 0.83971863f, 0.84115485f, 0.84258645f, 0.84401340f, 0.84543571f, 0.84685336f, 0.84826633f, 0.84967462f, 0.85107821f, 0.85247710f, 0.85387127f, 0.85526072f, 0.85664542f, 0.85802538f, 0.85940058f, 0.86077102f, 0.86213667f, 0.86349754f, 0.86485361f, 0.86620487f, 0.86755132f, 0.86889294f, 0.87022973f, 0.87156168f, 0.87288878f, 0.87421101f, 0.87552839f, 0.87684088f, 0.87814849f, 0.87945122f, 0.88074904f, 0.88204196f, 0.88332997f, 0.88461305f, 0.88589122f, 0.88716444f, 0.88843273f, 0.88969608f, 0.89095447f, 0.89220791f, 0.89345638f, 0.89469988f, 0.89593841f, 0.89717197f, 0.89840053f, 0.89962411f, 0.90084270f, 0.90205629f, 0.90326488f, 0.90446846f, 0.90566704f, 0.90686060f, 0.90804915f, 0.90923267f, 0.91041118f, 0.91158466f, 0.91275311f, 0.91391654f, 0.91507493f, 0.91622829f, 0.91737662f, 0.91851991f, 0.91965816f, 0.92079138f, 0.92191956f, 0.92304270f, 0.92416080f, 0.92527386f, 0.92638188f, 0.92748486f, 0.92858281f, 0.92967572f, 0.93076360f, 0.93184645f, 0.93292426f, 0.93399705f, 0.93506481f, 0.93612755f, 0.93718527f, 0.93823797f, 0.93928566f, 0.94032834f, 0.94136602f, 0.94239870f, 0.94342639f, 0.94444909f, 0.94546681f, 0.94647956f, 0.94748733f, 0.94849015f, 0.94948801f, 0.95048093f, 0.95146891f, 0.95245197f, 0.95343011f, 0.95440334f, 0.95537168f, 0.95633513f, 0.95729371f, 0.95824743f, 0.95919630f, 0.96014034f, 0.96107957f, 0.96201399f, 0.96294363f, 0.96386850f, 0.96478862f, 0.96570402f, 0.96661470f, 0.96752070f, 0.96842204f, 0.96931873f, 0.97021081f, 0.97109831f, 0.97198124f, 0.97285966f, 0.97373358f, 0.97460304f, 0.97546808f, 0.97632874f, 0.97718506f, 0.97803710f, 0.97888489f, 0.97972850f, 0.98056799f, 0.98140340f, 0.98223483f, 0.98306234f, 0.98388601f, 0.98470595f, 0.98552225f, 0.98633502f, 0.98714441f, 0.98795054f, 0.98875359f, 0.98955376f, 0.99035126f, 0.99114636f, 0.99193936f, 0.99273065f, 0.99352070f, 0.99431009f, 0.99509960f, 0.99589027f, 0.99668360f, 0.99748189f, 0.99828914f, 0.99911401f, 0.99911401f, 0.99828759f, 0.99747571f, 0.99666970f, 0.99586557f, 0.99506104f, 0.99425460f, 0.99344523f, 0.99263215f, 0.99181478f, 0.99099266f, 0.99016542f, 0.98933274f, 0.98849437f, 0.98765009f, 0.98679972f, 0.98594310f, 0.98508007f, 0.98421052f, 0.98333434f, 0.98245143f, 0.98156170f, 0.98066506f, 0.97976145f, 0.97885080f, 0.97793305f, 0.97700814f, 0.97607603f, 0.97513666f, 0.97419000f, 0.97323600f, 0.97227462f, 0.97130583f, 0.97032960f, 0.96934589f, 0.96835468f, 0.96735594f, 0.96634965f, 0.96533578f, 0.96431430f, 0.96328520f, 0.96224846f, 0.96120406f, 0.96015197f, 0.95909219f, 0.95802469f, 0.95694946f, 0.95586649f, 0.95477576f, 0.95367726f, 0.95257097f, 0.95145688f, 0.95033498f, 0.94920527f, 0.94806772f, 0.94692233f, 0.94576909f, 0.94460799f, 0.94343902f, 0.94226217f, 0.94107743f, 0.93988480f, 0.93868427f, 0.93747583f, 0.93625947f, 0.93503520f, 0.93380299f, 0.93256285f, 0.93131476f, 0.93005873f, 0.92879475f, 0.92752281f, 0.92624292f, 0.92495505f, 0.92365922f, 0.92235541f, 0.92104362f, 0.91972385f, 0.91839609f, 0.91706034f, 0.91571660f, 0.91436487f, 0.91300513f, 0.91163740f, 0.91026166f, 0.90887792f, 0.90748616f, 0.90608640f, 0.90467862f, 0.90326283f, 0.90183902f, 0.90040720f, 0.89896735f, 0.89751949f, 0.89606360f, 0.89459969f, 0.89312776f, 0.89164780f, 0.89015982f, 0.88866382f, 0.88715979f, 0.88564773f, 0.88412765f, 0.88259954f, 0.88106340f, 0.87951924f, 0.87796706f, 0.87640684f, 0.87483861f, 0.87326235f, 0.87167807f, 0.87008576f, 0.86848544f, 0.86687709f, 0.86526073f, 0.86363635f, 0.86200395f, 0.86036353f, 0.85871510f, 0.85705867f, 0.85539422f, 0.85372176f, 0.85204129f, 0.85035282f, 0.84865635f, 0.84695188f, 0.84523941f, 0.84351895f, 0.84179049f, 0.84005404f, 0.83830960f, 0.83655718f, 0.83479677f, 0.83302839f, 0.83125203f, 0.82946769f, 0.82767538f, 0.82587511f, 0.82406687f, 0.82225067f, 0.82042651f, 0.81859440f, 0.81675434f, 0.81490633f, 0.81305038f, 0.81118649f, 0.80931466f, 0.80743490f, 0.80554721f, 0.80365160f, 0.80174807f, 0.79983662f, 0.79791726f, 0.79599000f, 0.79405483f, 0.79211177f, 0.79016081f, 0.78820196f, 0.78623522f, 0.78426061f, 0.78227812f, 0.78028777f, 0.77828954f, 0.77628346f, 0.77426952f, 0.77224773f, 0.77021809f, 0.76818061f, 0.76613530f, 0.76408216f, 0.76202120f, 0.75995241f, 0.75787581f, 0.75579140f, 0.75369919f, 0.75159918f, 0.74949138f, 0.74737580f, 0.74525243f, 0.74312128f, 0.74098237f, 0.73883570f, 0.73668126f, 0.73451908f, 0.73234915f, 0.73017147f, 0.72798607f, 0.72579293f, 0.72359208f, 0.72138350f, 0.71916722f, 0.71694323f, 0.71471154f, 0.71247217f, 0.71022510f, 0.70797036f, 0.70570794f, 0.70343786f, 0.70116012f, 0.69887472f, 0.69658167f, 0.69428098f, 0.69197265f, 0.68965669f, 0.68733312f, 0.68500192f, 0.68266311f, 0.68031670f, 0.67796269f, 0.67560109f, 0.67323190f, 0.67085514f, 0.66847080f, 0.66607889f, 0.66367943f, 0.66127241f, 0.65885784f, 0.65643574f, 0.65400609f, 0.65156892f, 0.64912423f, 0.64667201f, 0.64421229f, 0.64174507f, 0.63927035f, 0.63678813f, 0.63429843f, 0.63180125f, 0.62929660f, 0.62678447f, 0.62426489f, 0.62173785f, 0.61920336f, 0.61666143f, 0.61411206f, 0.61155525f, 0.60899102f, 0.60641937f, 0.60384030f, 0.60125382f, 0.59865994f, 0.59605866f, 0.59344998f, 0.59083391f, 0.58821046f, 0.58557964f, 0.58294143f, 0.58029586f, 0.57764293f, 0.57498264f, 0.57231499f, 0.56963999f, 0.56695765f, 0.56426797f, 0.56157095f, 0.55886660f, 0.55615492f, 0.55343592f, 0.55070960f, 0.54797596f, 0.54523501f, 0.54248675f, 0.53973118f, 0.53696832f, 0.53419815f, 0.53142069f, 0.52863593f, 0.52584388f, 0.52304455f, 0.52023793f, 0.51742403f, 0.51460284f, 0.51177438f, 0.50893864f, 0.50609563f, 0.50324534f, 0.50038778f, 0.49752294f, 0.49465084f, 0.49177147f, 0.48888482f, 0.48599091f, 0.48308973f, 0.48018128f, 0.47726556f, 0.47434256f, 0.47141230f, 0.46847477f, 0.46552996f, 0.46257788f, 0.45961852f, 0.45665188f, 0.45367796f, 0.45069676f, 0.44770827f, 0.44471249f, 0.44170942f, 0.43869905f, 0.43568138f, 0.43265640f, 0.42962411f, 0.42658451f, 0.42353758f, 0.42048333f, 0.41742175f, 0.41435283f, 0.41127656f, 0.40819293f, 0.40510195f, 0.40200359f, 0.39889786f, 0.39578474f, 0.39266422f, 0.38953629f, 0.38640095f, 0.38325818f, 0.38010797f, 0.37695031f, 0.37378519f, 0.37061258f, 0.36743249f, 0.36424489f, 0.36104978f, 0.35784713f, 0.35463693f, 0.35141916f, 0.34819381f, 0.34496085f, 0.34172027f, 0.33847206f, 0.33521618f, 0.33195262f, 0.32868136f, 0.32540237f, 0.32211564f, 0.31882113f, 0.31551882f, 0.31220868f, 0.30889070f, 0.30556483f, 0.30223106f, 0.29888935f, 0.29553966f, 0.29218198f, 0.28881626f, 0.28544246f, 0.28206056f, 0.27867052f, 0.27527229f, 0.27186583f, 0.26845112f, 0.26502809f, 0.26159670f, 0.25815692f, 0.25470869f, 0.25125196f, 0.24778667f, 0.24431278f, 0.24083023f, 0.23733896f, 0.23383891f, 0.23033001f, 0.22681220f, 0.22328542f, 0.21974958f, 0.21620462f, 0.21265047f, 0.20908703f, 0.20551423f, 0.20193197f, 0.19834018f, 0.19473875f, 0.19112758f, 0.18750657f, 0.18387561f, 0.18023459f, 0.17658339f, 0.17292189f, 0.16924994f, 0.16556742f, 0.16187418f, 0.15817007f, 0.15445492f, 0.15072857f, 0.14699084f, 0.14324154f, 0.13948047f, 0.13570741f, 0.13192214f, 0.12812442f, 0.12431400f, 0.12049059f, 0.11665391f, 0.11280364f, 0.10893944f, 0.10506094f, 0.10116776f, 0.09725946f, 0.09333558f, 0.08939561f, 0.08543899f, 0.08146510f, 0.07747327f, 0.07346273f, 0.06943264f, 0.06538204f, 0.06130985f, 0.05721482f, 0.05309551f, 0.04895024f, 0.04477702f, 0.04057343f, 0.03633653f, 0.03206261f, 0.02774685f, 0.02338280f, 0.01896129f, 0.01446831f, 0.00987977f, 0.00514389f }; const float short_window_8kHz[80] = { 0.01963369f, 0.05887080f, 0.09801714f, 0.13701234f, 0.17579628f, 0.21430915f, 0.25249158f, 0.29028468f, 0.32763018f, 0.36447050f, 0.40074883f, 0.43640924f, 0.47139674f, 0.50565737f, 0.53913832f, 0.57178796f, 0.60355594f, 0.63439328f, 0.66425244f, 0.69308736f, 0.72085360f, 0.74750833f, 0.77301045f, 0.79732065f, 0.82040144f, 0.84221723f, 0.86273439f, 0.88192126f, 0.89974828f, 0.91618796f, 0.93121493f, 0.94480605f, 0.95694034f, 0.96759909f, 0.97676588f, 0.98442657f, 0.99056934f, 0.99518473f, 0.99826561f, 0.99980724f, 0.99980724f, 0.99826561f, 0.99518473f, 0.99056934f, 0.98442657f, 0.97676588f, 0.96759909f, 0.95694034f, 0.94480605f, 0.93121493f, 0.91618796f, 0.89974828f, 0.88192126f, 0.86273439f, 0.84221723f, 0.82040144f, 0.79732065f, 0.77301045f, 0.74750833f, 0.72085360f, 0.69308736f, 0.66425244f, 0.63439328f, 0.60355594f, 0.57178796f, 0.53913832f, 0.50565737f, 0.47139674f, 0.43640924f, 0.40074883f, 0.36447050f, 0.32763018f, 0.29028468f, 0.25249158f, 0.21430915f, 0.17579628f, 0.13701234f, 0.09801714f, 0.05887080f, 0.01963369f }; const float short_window_16kHz[160] = { 0.00981732f, 0.02944817f, 0.04906767f, 0.06866826f, 0.08824237f, 0.10778246f, 0.12728100f, 0.14673047f, 0.16612338f, 0.18545224f, 0.20470960f, 0.22388805f, 0.24298018f, 0.26197864f, 0.28087610f, 0.29966528f, 0.31833893f, 0.33688985f, 0.35531090f, 0.37359497f, 0.39173501f, 0.40972403f, 0.42755509f, 0.44522133f, 0.46271592f, 0.48003212f, 0.49716327f, 0.51410274f, 0.53084403f, 0.54738066f, 0.56370626f, 0.57981455f, 0.59569930f, 0.61135441f, 0.62677382f, 0.64195160f, 0.65688190f, 0.67155895f, 0.68597711f, 0.70013081f, 0.71401460f, 0.72762312f, 0.74095113f, 0.75399348f, 0.76674516f, 0.77920124f, 0.79135693f, 0.80320753f, 0.81474848f, 0.82597533f, 0.83688375f, 0.84746954f, 0.85772861f, 0.86765701f, 0.87725091f, 0.88650662f, 0.89542056f, 0.90398929f, 0.91220953f, 0.92007808f, 0.92759194f, 0.93474818f, 0.94154407f, 0.94797697f, 0.95404440f, 0.95974404f, 0.96507367f, 0.97003125f, 0.97461487f, 0.97882275f, 0.98265328f, 0.98610498f, 0.98917651f, 0.99186670f, 0.99417450f, 0.99609903f, 0.99763955f, 0.99879546f, 0.99956631f, 0.99995181f, 0.99995181f, 0.99956631f, 0.99879546f, 0.99763955f, 0.99609903f, 0.99417450f, 0.99186670f, 0.98917651f, 0.98610498f, 0.98265328f, 0.97882275f, 0.97461487f, 0.97003125f, 0.96507367f, 0.95974404f, 0.95404440f, 0.94797697f, 0.94154407f, 0.93474818f, 0.92759194f, 0.92007808f, 0.91220953f, 0.90398929f, 0.89542056f, 0.88650662f, 0.87725091f, 0.86765701f, 0.85772861f, 0.84746954f, 0.83688375f, 0.82597533f, 0.81474848f, 0.80320753f, 0.79135693f, 0.77920124f, 0.76674516f, 0.75399348f, 0.74095113f, 0.72762312f, 0.71401460f, 0.70013081f, 0.68597711f, 0.67155895f, 0.65688190f, 0.64195160f, 0.62677382f, 0.61135441f, 0.59569930f, 0.57981455f, 0.56370626f, 0.54738066f, 0.53084403f, 0.51410274f, 0.49716327f, 0.48003212f, 0.46271592f, 0.44522133f, 0.42755509f, 0.40972403f, 0.39173501f, 0.37359497f, 0.35531090f, 0.33688985f, 0.31833893f, 0.29966528f, 0.28087610f, 0.26197864f, 0.24298018f, 0.22388805f, 0.20470960f, 0.18545224f, 0.16612338f, 0.14673047f, 0.12728100f, 0.10778246f, 0.08824237f, 0.06866826f, 0.04906767f, 0.02944817f, 0.00981732f }; const float short_window_32kHz[320] = { 0.00490872f, 0.01472568f, 0.02454123f, 0.03435441f, 0.04416428f, 0.05396989f, 0.06377030f, 0.07356456f, 0.08335174f, 0.09313088f, 0.10290104f, 0.11266129f, 0.12241068f, 0.13214826f, 0.14187312f, 0.15158430f, 0.16128086f, 0.17096189f, 0.18062644f, 0.19027357f, 0.19990237f, 0.20951190f, 0.21910124f, 0.22866946f, 0.23821564f, 0.24773886f, 0.25723821f, 0.26671276f, 0.27616160f, 0.28558383f, 0.29497853f, 0.30434480f, 0.31368174f, 0.32298845f, 0.33226402f, 0.34150757f, 0.35071820f, 0.35989504f, 0.36903718f, 0.37814376f, 0.38721389f, 0.39624670f, 0.40524131f, 0.41419687f, 0.42311251f, 0.43198737f, 0.44082059f, 0.44961133f, 0.45835873f, 0.46706195f, 0.47572016f, 0.48433252f, 0.49289819f, 0.50141636f, 0.50988620f, 0.51830690f, 0.52667764f, 0.53499762f, 0.54326604f, 0.55148209f, 0.55964499f, 0.56775395f, 0.57580819f, 0.58380693f, 0.59174941f, 0.59963485f, 0.60746249f, 0.61523159f, 0.62294139f, 0.63059115f, 0.63818013f, 0.64570760f, 0.65317284f, 0.66057513f, 0.66791374f, 0.67518798f, 0.68239715f, 0.68954054f, 0.69661748f, 0.70362727f, 0.71056925f, 0.71744274f, 0.72424708f, 0.73098162f, 0.73764570f, 0.74423869f, 0.75075995f, 0.75720885f, 0.76358476f, 0.76988708f, 0.77611520f, 0.78226851f, 0.78834643f, 0.79434836f, 0.80027373f, 0.80612197f, 0.81189252f, 0.81758481f, 0.82319831f, 0.82873246f, 0.83418673f, 0.83956061f, 0.84485357f, 0.85006509f, 0.85519469f, 0.86024186f, 0.86520612f, 0.87008699f, 0.87488400f, 0.87959669f, 0.88422459f, 0.88876728f, 0.89322430f, 0.89759523f, 0.90187965f, 0.90607715f, 0.91018732f, 0.91420976f, 0.91814408f, 0.92198992f, 0.92574689f, 0.92941463f, 0.93299280f, 0.93648104f, 0.93987902f, 0.94318642f, 0.94640291f, 0.94952818f, 0.95256194f, 0.95550388f, 0.95835373f, 0.96111122f, 0.96377607f, 0.96634802f, 0.96882685f, 0.97121229f, 0.97350412f, 0.97570213f, 0.97780610f, 0.97981582f, 0.98173111f, 0.98355177f, 0.98527764f, 0.98690855f, 0.98844433f, 0.98988485f, 0.99122996f, 0.99247953f, 0.99363345f, 0.99469160f, 0.99565388f, 0.99652019f, 0.99729046f, 0.99796460f, 0.99854256f, 0.99902428f, 0.99940971f, 0.99969882f, 0.99989157f, 0.99998795f, 0.99998795f, 0.99989157f, 0.99969882f, 0.99940971f, 0.99902428f, 0.99854256f, 0.99796460f, 0.99729046f, 0.99652019f, 0.99565388f, 0.99469160f, 0.99363345f, 0.99247953f, 0.99122996f, 0.98988485f, 0.98844433f, 0.98690855f, 0.98527764f, 0.98355177f, 0.98173111f, 0.97981582f, 0.97780610f, 0.97570213f, 0.97350412f, 0.97121229f, 0.96882685f, 0.96634802f, 0.96377607f, 0.96111122f, 0.95835373f, 0.95550388f, 0.95256194f, 0.94952818f, 0.94640291f, 0.94318642f, 0.93987902f, 0.93648104f, 0.93299280f, 0.92941463f, 0.92574689f, 0.92198992f, 0.91814408f, 0.91420976f, 0.91018732f, 0.90607715f, 0.90187965f, 0.89759523f, 0.89322430f, 0.88876728f, 0.88422459f, 0.87959669f, 0.87488400f, 0.87008699f, 0.86520612f, 0.86024186f, 0.85519469f, 0.85006509f, 0.84485357f, 0.83956061f, 0.83418673f, 0.82873246f, 0.82319831f, 0.81758481f, 0.81189252f, 0.80612197f, 0.80027373f, 0.79434836f, 0.78834643f, 0.78226851f, 0.77611520f, 0.76988708f, 0.76358476f, 0.75720885f, 0.75075995f, 0.74423869f, 0.73764570f, 0.73098162f, 0.72424708f, 0.71744274f, 0.71056925f, 0.70362727f, 0.69661748f, 0.68954054f, 0.68239715f, 0.67518798f, 0.66791374f, 0.66057513f, 0.65317284f, 0.64570760f, 0.63818013f, 0.63059115f, 0.62294139f, 0.61523159f, 0.60746249f, 0.59963485f, 0.59174941f, 0.58380693f, 0.57580819f, 0.56775395f, 0.55964499f, 0.55148209f, 0.54326604f, 0.53499762f, 0.52667764f, 0.51830690f, 0.50988620f, 0.50141636f, 0.49289819f, 0.48433252f, 0.47572016f, 0.46706195f, 0.45835873f, 0.44961133f, 0.44082059f, 0.43198737f, 0.42311251f, 0.41419687f, 0.40524131f, 0.39624670f, 0.38721389f, 0.37814376f, 0.36903718f, 0.35989504f, 0.35071820f, 0.34150757f, 0.33226402f, 0.32298845f, 0.31368174f, 0.30434480f, 0.29497853f, 0.28558383f, 0.27616160f, 0.26671276f, 0.25723821f, 0.24773886f, 0.23821564f, 0.22866946f, 0.21910124f, 0.20951190f, 0.19990237f, 0.19027357f, 0.18062644f, 0.17096189f, 0.16128086f, 0.15158430f, 0.14187312f, 0.13214826f, 0.12241068f, 0.11266129f, 0.10290104f, 0.09313088f, 0.08335174f, 0.07356456f, 0.06377030f, 0.05396989f, 0.04416428f, 0.03435441f, 0.02454123f, 0.01472568f, 0.00490872f }; const float short_window_48kHz[480] = { 0.00326538f, 0.00982666f, 0.0163574f, 0.0229187f, 0.0294495f, 0.0359802f, 0.0425415f, 0.0490723f, 0.055603f, 0.0621338f, 0.0686646f, 0.0751953f, 0.0817261f, 0.0882568f, 0.0947571f, 0.101288f, 0.107788f, 0.114288f, 0.120789f, 0.127289f, 0.133759f, 0.140259f, 0.146729f, 0.153198f, 0.159668f, 0.166138f, 0.172577f, 0.179016f, 0.185455f, 0.191895f, 0.198303f, 0.204712f, 0.211121f, 0.217499f, 0.223877f, 0.230255f, 0.236633f, 0.242981f, 0.249329f, 0.255646f, 0.261993f, 0.26828f, 0.274597f, 0.280884f, 0.28714f, 0.293427f, 0.299652f, 0.305908f, 0.312134f, 0.318329f, 0.324524f, 0.330719f, 0.336884f, 0.343048f, 0.349182f, 0.355316f, 0.36142f, 0.367523f, 0.373596f, 0.379669f, 0.385712f, 0.391724f, 0.397736f, 0.403748f, 0.409729f, 0.41568f, 0.421631f, 0.427551f, 0.433472f, 0.439362f, 0.445221f, 0.45108f, 0.456909f, 0.462708f, 0.468506f, 0.474274f, 0.480042f, 0.485748f, 0.491486f, 0.497162f, 0.502838f, 0.508484f, 0.514099f, 0.519714f, 0.525299f, 0.530853f, 0.536377f, 0.541901f, 0.547394f, 0.552856f, 0.558289f, 0.563721f, 0.569092f, 0.574463f, 0.579803f, 0.585144f, 0.590424f, 0.595703f, 0.600952f, 0.606171f, 0.611359f, 0.616516f, 0.621674f, 0.62677f, 0.631866f, 0.636932f, 0.641937f, 0.646942f, 0.651947f, 0.656891f, 0.661804f, 0.666687f, 0.67157f, 0.676392f, 0.681213f, 0.685974f, 0.690735f, 0.695435f, 0.700134f, 0.704803f, 0.709412f, 0.71402f, 0.718567f, 0.723114f, 0.727631f, 0.732086f, 0.736542f, 0.740936f, 0.745331f, 0.749664f, 0.753998f, 0.75827f, 0.762512f, 0.766754f, 0.770935f, 0.775085f, 0.779205f, 0.783295f, 0.787354f, 0.791351f, 0.795349f, 0.799286f, 0.803223f, 0.807098f, 0.810944f, 0.814758f, 0.818512f, 0.822266f, 0.825989f, 0.829651f, 0.833282f, 0.836884f, 0.840454f, 0.843964f, 0.847473f, 0.850922f, 0.85434f, 0.857727f, 0.861084f, 0.86438f, 0.867645f, 0.87088f, 0.874084f, 0.877258f, 0.880371f, 0.883453f, 0.886505f, 0.889526f, 0.892487f, 0.895416f, 0.898315f, 0.901184f, 0.903992f, 0.906769f, 0.909515f, 0.912201f, 0.914886f, 0.91748f, 0.920074f, 0.922607f, 0.92514f, 0.927582f, 0.930023f, 0.932404f, 0.934753f, 0.937042f, 0.939331f, 0.941559f, 0.943726f, 0.945862f, 0.947968f, 0.950043f, 0.952057f, 0.954041f, 0.955994f, 0.957886f, 0.959747f, 0.961548f, 0.963348f, 0.965088f, 0.966766f, 0.968414f, 0.970032f, 0.971588f, 0.973114f, 0.974609f, 0.976074f, 0.977448f, 0.978821f, 0.980133f, 0.981415f, 0.982666f, 0.983856f, 0.984985f, 0.986115f, 0.987183f, 0.98819f, 0.989166f, 0.990112f, 0.990997f, 0.991852f, 0.992676f, 0.993439f, 0.994171f, 0.994873f, 0.995514f, 0.996094f, 0.996643f, 0.997162f, 0.99765f, 0.998077f, 0.998444f, 0.99881f, 0.999084f, 0.999359f, 0.999573f, 0.999725f, 0.999878f, 0.999939f, 0.999969f, 0.999969f, 0.999939f, 0.999878f, 0.999725f, 0.999573f, 0.999359f, 0.999084f, 0.99881f, 0.998444f, 0.998077f, 0.99765f, 0.997162f, 0.996643f, 0.996094f, 0.995514f, 0.994873f, 0.994171f, 0.993439f, 0.992676f, 0.991852f, 0.990997f, 0.990112f, 0.989166f, 0.98819f, 0.987183f, 0.986115f, 0.984985f, 0.983856f, 0.982666f, 0.981415f, 0.980133f, 0.978821f, 0.977448f, 0.976074f, 0.974609f, 0.973114f, 0.971588f, 0.970032f, 0.968414f, 0.966766f, 0.965088f, 0.963348f, 0.961548f, 0.959747f, 0.957886f, 0.955994f, 0.954041f, 0.952057f, 0.950043f, 0.947968f, 0.945862f, 0.943726f, 0.941559f, 0.939331f, 0.937042f, 0.934753f, 0.932404f, 0.930023f, 0.927582f, 0.92514f, 0.922607f, 0.920074f, 0.91748f, 0.914886f, 0.912201f, 0.909515f, 0.906769f, 0.903992f, 0.901184f, 0.898315f, 0.895416f, 0.892487f, 0.889526f, 0.886505f, 0.883453f, 0.880371f, 0.877258f, 0.874084f, 0.87088f, 0.867645f, 0.86438f, 0.861084f, 0.857727f, 0.85434f, 0.850922f, 0.847473f, 0.843964f, 0.840454f, 0.836884f, 0.833282f, 0.829651f, 0.825989f, 0.822266f, 0.818512f, 0.814758f, 0.810944f, 0.807098f, 0.803223f, 0.799286f, 0.795349f, 0.791351f, 0.787354f, 0.783295f, 0.779205f, 0.775085f, 0.770935f, 0.766754f, 0.762512f, 0.75827f, 0.753998f, 0.749664f, 0.745331f, 0.740936f, 0.736542f, 0.732086f, 0.727631f, 0.723114f, 0.718567f, 0.71402f, 0.709412f, 0.704803f, 0.700134f, 0.695435f, 0.690735f, 0.685974f, 0.681213f, 0.676392f, 0.67157f, 0.666687f, 0.661804f, 0.656891f, 0.651947f, 0.646942f, 0.641937f, 0.636932f, 0.631866f, 0.62677f, 0.621674f, 0.616516f, 0.611359f, 0.606171f, 0.600952f, 0.595703f, 0.590424f, 0.585144f, 0.579803f, 0.574463f, 0.569092f, 0.563721f, 0.558289f, 0.552856f, 0.547394f, 0.541901f, 0.536377f, 0.530853f, 0.525299f, 0.519714f, 0.514099f, 0.508484f, 0.502838f, 0.497162f, 0.491486f, 0.485748f, 0.480042f, 0.474274f, 0.468506f, 0.462708f, 0.456909f, 0.45108f, 0.445221f, 0.439362f, 0.433472f, 0.427551f, 0.421631f, 0.41568f, 0.409729f, 0.403748f, 0.397736f, 0.391724f, 0.385712f, 0.379669f, 0.373596f, 0.367523f, 0.36142f, 0.355316f, 0.349182f, 0.343048f, 0.336884f, 0.330719f, 0.324524f, 0.318329f, 0.312134f, 0.305908f, 0.299652f, 0.293427f, 0.28714f, 0.280884f, 0.274597f, 0.26828f, 0.261993f, 0.255646f, 0.249329f, 0.242981f, 0.236633f, 0.230255f, 0.223877f, 0.217499f, 0.211121f, 0.204712f, 0.198303f, 0.191895f, 0.185455f, 0.179016f, 0.172577f, 0.166138f, 0.159668f, 0.153198f, 0.146729f, 0.140259f, 0.133759f, 0.127289f, 0.120789f, 0.114288f, 0.107788f, 0.101288f, 0.0947571f, 0.0882568f, 0.0817261f, 0.0751953f, 0.0686646f, 0.0621338f, 0.055603f, 0.0490723f, 0.0425415f, 0.0359802f, 0.0294495f, 0.0229187f, 0.0163574f, 0.00982666f, 0.00326538f }; const short subf_norm_groups[4][11] = { {0,1,8,9,16,20,24,28,32,36,40}, {2,3,10,11,17,21,25,29,33,37,41}, {4,5,12,13,18,22,26,30,34,38,42}, {6,7,14,15,19,23,27,31,35,39,43} }; const float gain_att[MAX_P_ATT] = { 0.4794745f, 0.5910453f, 0.6647078f, 0.7245839f, 0.7598486f, 0.7912783f, 0.8165831f, 0.8396713f, 0.8562786f, 0.8716393f, 0.8848335f, 0.8971617f, 0.9061614f, 0.9146075f, 0.9220175f, 0.9290045f, 0.9344148f, 0.9395265f, 0.9440797f, 0.9484073f, 0.9518549f, 0.9551361f, 0.9581067f, 0.9609474f, 0.9632704f, 0.9654923f, 0.9675346f, 0.9694900f, 0.9711209f, 0.9726879f, 0.9741332f, 0.9755263f, 0.9767067f, 0.9778463f, 0.9789108f, 0.9799438f, 0.9808353f, 0.9816967f, 0.9825032f, 0.9832868f }; const float stab_trans[L_STAB_TBL] = { 0.500000f, 0.347332f, 0.220704f, 0.130976f, 0.074252f, 0.040937f, 0.022211f, 0.011944f, 0.006392f, 0.003412f }; const float env_stab_tp[2][2] = { {0.999f, 0.5f}, {0.001f, 0.5f} }; const float att_step[NB_G] = { 4.0000000f, 2.0000000f, 1.3333333f, 1.0000000f}; const Word32 table_logcum_fx[563] = { 0, 0, 0, 65536, 169408, 300480, 452650, 622058, 806041, 1002649, 1210393, 1428099, 1654816, 1889761, 2132272, 2381791, 2637833, 2899977, 3167853, 3441134, 3719526, 4002767, 4290623, 4582876, 4879332, 5179812, 5484152, 5792200, 6103816, 6418871, 6737244, 7058822, 7383500, 7711180, 8041769, 8375181, 8711333, 9050150, 9391557, 9735485, 10081869, 10430647, 10781759, 11135150, 11490766, 11848556, 12208469, 12570461, 12934487, 13300503, 13668469, 14038345, 14410092, 14783676, 15159061, 15536214, 15915101, 16295692, 16677956, 17061866, 17447390, 17834504, 18223180, 18613394, 19005122, 19398338, 19793020, 20189146, 20586692, 20985640, 21385968, 21787658, 22190686, 22595040, 23000696, 23407638, 23815850, 24225314, 24636014, 25047934, 25461060, 25875374, 26290862, 26707510, 27125304, 27544232, 27964278, 28385428, 28807674, 29231000, 29655392, 30080844, 30507338, 30934866, 31363416, 31792978, 32223540, 32655092, 33087624, 33521126, 33955588, 34391000, 34827352, 35264636, 35702840, 36141960, 36581988, 37022908, 37464716, 37907404, 38350964, 38795388, 39240668, 39686792, 40133760, 40581560, 41030188, 41479632, 41929888, 42380948, 42832808, 43285456, 43738892, 44193104, 44648088, 45103840, 45560348, 46017612, 46475624, 46934376, 47393864, 47854080, 48315024, 48776684, 49239060, 49702144, 50165928, 50630412, 51095588, 51561452, 52028000, 52495224, 52963124, 53431688, 53900916, 54370808, 54841348, 55312540, 55784380, 56256856, 56729972, 57203720, 57678096, 58153096, 58628716, 59104952, 59581800, 60059256, 60537316, 61015980, 61495236, 61975084, 62455524, 62936548, 63418156, 63900340, 64383100, 64866428, 65350328, 65834792, 66319816, 66805396, 67291536, 67778224, 68265456, 68753240, 69241560, 69730424, 70219816, 70709744, 71200208, 71691192, 72182704, 72674736, 73167280, 73660344, 74153920, 74648008, 75142600, 75637704, 76133296, 76629400, 77125992, 77623080, 78120656, 78618728, 79117280, 79616320, 80115840, 80615832, 81116312, 81617256, 82118680, 82620568, 83122920, 83625744, 84129024, 84632768, 85136968, 85641624, 86146728, 86652288, 87158304, 87664760, 88171664, 88679008, 89186792, 89695016, 90203680, 90712776, 91222304, 91732256, 92242648, 92753464, 93264704, 93776368, 94288448, 94800952, 95313872, 95827208, 96340960, 96855120, 97369696, 97884672, 98400064, 98915856, 99432048, 99948648, 100465640, 100983040, 101500832, 102019016, 102537592, 103056568, 103575928, 104095672, 104615808, 105136328, 105657232, 106178520, 106700184, 107222232, 107744656, 108267456, 108790632, 109314176, 109838096, 110362384, 110887040, 111412064, 111937448, 112463208, 112989320, 113515800, 114042640, 114569832, 115097392, 115625304, 116153568, 116682184, 117211160, 117740480, 118270152, 118800168, 119330536, 119861248, 120392312, 120923712, 121455448, 121987536, 122519960, 123052720, 123585816, 124119248, 124653016, 125187120, 125721552, 126256320, 126791416, 127326840, 127862592, 128398664, 128935072, 129471800, 130008856, 130546224, 131083920, 131621936, 132160272, 132698920, 133237888, 133777176, 134316768, 134856688, 135396912, 135937440, 136478288, 137019440, 137560912, 138102688, 138644768, 139187152, 139729840, 140272832, 140816128, 141359712, 141903616, 142447808, 142992304, 143537104, 144082192, 144627568, 145173248, 145719232, 146265504, 146812064, 147358912, 147906048, 148453488, 149001200, 149549216, 150097504, 150646096, 151194960, 151744112, 152293536, 152843264, 153393264, 153943536, 154494096, 155044944, 155596064, 156147456, 156699120, 157251072, 157803296, 158355792, 158908560, 159461616, 160014928, 160568512, 161122368, 161676496, 162230896, 162785568, 163340496, 163895696, 164451168, 165006896, 165562896, 166119152, 166675664, 167232448, 167789504, 168346816, 168904368, 169462208, 170020288, 170578624, 171137232, 171696080, 172255200, 172814560, 173374192, 173934064, 174494192, 175054576, 175615216, 176176096, 176737232, 177298608, 177860256, 178422128, 178984256, 179546640, 180109264, 180672128, 181235248, 181798608, 182362208, 182926064, 183490144, 184054480, 184619056, 185183872, 185748928, 186314224, 186879760, 187445520, 188011536, 188577776, 189144272, 189710992, 190277936, 190845136, 191412560, 191980208, 192548112, 193116224, 193684592, 194253168, 194821984, 195391040, 195960320, 196529824, 197099568, 197669520, 198239712, 198810144, 199380784, 199951648, 200522752, 201094080, 201665616, 202237392, 202809376, 203381600, 203954032, 204526688, 205099568, 205672672, 206246000, 206819536, 207393296, 207967280, 208541472, 209115888, 209690528, 210265376, 210840432, 211415712, 211991216, 212566912, 213142848, 213718976, 214295328, 214871888, 215448672, 216025664, 216602864, 217180272, 217757888, 218335712, 218913760, 219492000, 220070464, 220649120, 221228000, 221807072, 222386368, 222965856, 223545552, 224125456, 224705568, 225285872, 225866400, 226447120, 227028032, 227609168, 228190496, 228772016, 229353760, 229935680, 230517824, 231100160, 231682688, 232265424, 232848352, 233431472, 234014800, 234598336, 235182048, 235765968, 236350080, 236934400, 237518896, 238103600, 238688496, 239273600, 239858880, 240444352, 241030032, 241615888, 242201952, 242788192, 243374640, 243961264, 244548096, 245135104, 245722304, 246309696, 246897280, 247485056, 248073008, 248661152, 249249488, 249838016, 250426720, 251015616, 251604704, 252193968, 252783424, 253373056, 253962880, 254552896, 255143088, 255733472, 256324032, 256914768, 257505696, 258096800, 258688096, 259279568, 259871216, 260463056, 261055056, 261647264, 262239632, 262832192, 263424928, 264017840, 264610928, 265204192, 265797632, 266391264, 266985072, 267579040, 268173200, 268767520, 269362048, 269956736, 270551584, 271146624, 271741824, 272337216, 272932768, 273528480, 274124384, 274720480, 275316704, 275913120, 276509728, 277106496, 277703424, 278300544, 278897824, 279495264, 280092896, 280690688, 281288640, 281886752, 282485056, 283083520 }; const Word32 pow_getbitsfrompulses_fx[16] = /*Q21 */ { 2097152, 2190001, 2286961, 2388214, 2493948, 2604365, 2719671, 2840081, 2965822, 3097129, 3234251, 3377442, 3526976, 3683128, 3846194, 4016480 }; const Word16 DDP_fx[4] = { 3, 0, 1, 2 }; const float DDP[4] = { 3.0f, 0.0f, 1.0f, 2.0f }; const short step_tcq[8][STATES] = { {0,4}, {0,4}, {1,5}, {1,5}, {2,6}, {2,6}, {3,7}, {3,7} }; const short denc[8][STATES] = { {0,2}, {2,0}, {1,3}, {3,1}, {2,0}, {0,2}, {3,1}, {1,3} }; /* enc trellis */ const short ddec[8][STATES] = { {0,2}, {1,3}, {2,0}, {3,1}, {2,0}, {3,1}, {0,2}, {1,3} }; /* dec trellis */ const short step_LSB[STATES_LSB][2] = { {0,1}, {2,3}, {0,1}, {2,3} }; const short denc_LSB[STATES_LSB][2] = { {0,3}, {2,1}, {3,0}, {1,2} }; const short dqnt_LSB[STATES_LSB][4] = { {0,8,1,8}, {0,8,1,8}, {8,0,8,1}, {8,0,8,1} }; const short dstep_LSB[4][2] = { {0,2}, {0,2}, {1,3}, {1,3} }; const short ddec_LSB[4][2] = { {0,3}, {3,0}, {2,1}, {1,2} }; const short nextstate[STATES][2] = {{0, 1}, {2, 3}, {4, 5}, {6, 7}, {0, 1}, {2, 3}, {4, 5}, {6, 7}};/*current state points to next two states */ /*------------------------------------------------------------------------------* * PVQ tables *------------------------------------------------------------------------------*/ const short fine_gain_bits[8] = {0, 0, 0, 1, 2, 2, 4, 5}; const float finegain_1[2] = {-0.7448924f, 0.7718827f}; const float finegain_2[4] = {-1.0847910f, -0.3616628f, 0.3668007f, 1.1455675f}; const float finegain_3[8] = {-1.0000000f, -0.7142857f, -0.4285714f, -0.1428571f, 0.1428571f, 0.4285714f, 0.7142857f, 1.0000000f}; const float finegain_4[16] = {-1.3234321f, -1.1164439f, -0.9153915f, -0.7248241f, -0.5453916f, -0.3807825f, -0.2259278f, -0.0836715f, 0.0576803f, 0.1999166f, 0.3715899f, 0.5541582f, 0.7598588f, 0.9764980f, 1.2082281f, 1.4567725f}; const float finegain_5[32] = {-1.3099370f, -1.1532731f, -0.9939113f, -0.8627403f, -0.7693628f, -0.6901322f, -0.6188556f, -0.5438313f, -0.4899869f, -0.4145289f, -0.3440915f, -0.2936875f, -0.2241453f, -0.1636186f, -0.1052746f, -0.0292431f, 0.0273763f, 0.0848355f, 0.1443042f, 0.2095194f, 0.2794882f, 0.3366661f, 0.4131591f, 0.4740591f, 0.5545165f, 0.6196313f, 0.6719442f, 0.7650533f, 0.9012053f, 1.0432675f, 1.2264170f, 1.5085750f}; const float* const finegain[5] = { finegain_1, finegain_2, finegain_3, finegain_4, finegain_5 }; /* getk(16,8)+ maxqKIind=40 --> KMAX=127 needs support , 32bit- saturates at dim=6 getK(21,9)+ maxqKInd=64 --> KMAX=512, needs support , 32bit saturates at dim=5 getK(TBD,TBD)+ maxqKInd=TBD --> KMAX=1024, needs support , 32bit saturates at dim~=4 getK(TBD,TBD)+ maxqKInd=TBD --> KMAX=32767, needs support, 32bit saturates at dim =3 */ const unsigned char hBitsMinus1_N01[2] = {1, 7}; const unsigned char hBitsMinus1_N02[65]= { 64, 15, 23, 28, 31, 34, 36, 38, 39, 41, 42, 43, 44, 45, 46, 47, 47, 48, 49, 49, 50, 51, 52, 53, 54, 54, 55, 56, 57, 57, 58, 59, 60, 61, 62, 63, 63, 64, 65, 65, 67, 68, 69, 69, 70, 71, 72, 72, 73, 74, 75, 76, 77, 78, 79, 80, 80, 81, 82, 83, 84, 85, 86, 87, 87 }; const unsigned char hBitsMinus1_N03[65]= { 64, 20, 33, 41, 48, 53, 57, 61, 64, 66, 69, 71, 73, 75, 76, 78, 80, 81, 82, 83, 85, 86, 88, 90, 92, 93, 95, 96, 98, 99, 100, 102, 104, 106, 108, 110, 111, 113, 114, 115, 118, 120, 122, 123, 125, 127, 128, 129, 131, 133, 135, 137, 139, 141, 142, 144, 145, 146, 149, 151, 153, 155, 157, 158, 160 }; const unsigned char hBitsMinus1_N04[65]= { 64, 23, 39, 51, 60, 67, 73, 79, 83, 87, 91, 94, 97, 100, 102, 105, 107, 109, 111, 113, 115, 116, 119, 122, 125, 127, 130, 132, 134, 136, 138, 141, 144, 147, 150, 152, 154, 156, 158, 160, 164, 167, 170, 173, 175, 177, 180, 182, 184, 187, 190, 193, 196, 199, 201, 203, 205, 207, 211, 214, 217, 220, 222, 225, 227 }; const unsigned char hBitsMinus1_N05[54]= { 53, 26, 45, 59, 70, 79, 87, 94, 100, 105, 110, 114, 118, 122, 125, 128, 131, 134, 136, 139, 141, 144, 148, 152, 155, 158, 161, 164, 167, 170, 172, 176, 181, 184, 188, 191, 194, 197, 200, 202, 207, 211, 215, 219, 222, 225, 228, 231, 233, 238, 242, 246, 250, 253 }; const unsigned char hBitsMinus1_N06[42]= { 41, 28, 49, 65, 78, 89, 99, 107, 114, 120, 126, 132, 136, 141, 145, 149, 153, 156, 159, 162, 165, 168, 173, 178, 183, 187, 191, 194, 198, 201, 204, 209, 214, 219, 224, 228, 231, 235, 238, 241, 247, 253 }; const unsigned char hBitsMinus1_N07[34]= { 33, 30, 52, 70, 85, 98, 109, 118, 126, 134, 141, 147, 153, 158, 163, 168, 172, 176, 180, 184, 188, 191, 197, 203, 208, 213, 218, 222, 226, 230, 233, 240, 246, 252 }; const unsigned char hBitsMinus1_N08[29]= { 28, 31, 55, 75, 91, 105, 117, 128, 138, 146, 154, 161, 168, 174, 180, 185, 190, 195, 200, 204, 208, 212, 219, 226, 232, 238, 243, 248, 253 }; const unsigned char hBitsMinus1_N09[25]= { 24, 33, 58, 79, 97, 112, 125, 137, 148, 157, 166, 174, 182, 189, 195, 201, 207, 212, 217, 222, 227, 231, 240, 247, 254 }; const unsigned char hBitsMinus1_N10[22]= { 21, 34, 61, 83, 101, 118, 132, 145, 157, 167, 177, 186, 194, 202, 209, 216, 222, 228, 234, 239, 245, 250 }; const unsigned char hBitsMinus1_N11[19]= { 18, 35, 63, 86, 106, 123, 139, 152, 165, 176, 187, 197, 206, 214, 222, 230, 237, 243, 250 }; const unsigned char hBitsMinus1_N12[17]= { 16, 36, 65, 89, 110, 128, 144, 159, 173, 185, 196, 207, 217, 226, 234, 242, 250 }; const unsigned char hBitsMinus1_N13[16]= { 15, 37, 67, 92, 113, 133, 150, 165, 180, 193, 205, 216, 227, 237, 246, 254, }; const unsigned char hBitsMinus1_N14[14]= { 13, 38, 68, 94, 117, 137, 155, 171, 186, 200, 213, 225, 236, 247 }; const unsigned char hBitsMinus1_N15[13]= { 12, 39, 70, 97, 120, 141, 160, 177, 193, 207, 221, 233, 245 }; const unsigned char hBitsMinus1_N16[13]= { 12, 39, 71, 99, 123, 144, 164, 182, 198, 214, 228, 241, 253 }; const unsigned char hBitsMinus1_N17[12]= { 11, 40, 73, 101, 126, 148, 168, 187, 204, 220, 234, 248 }; const unsigned char hBitsMinus1_N18[12]= { 11, 41, 74, 103, 128, 151, 172, 191, 209, 225, 241, 255 }; const unsigned char hBitsMinus1_N19[11]= { 10, 41, 75, 105, 131, 154, 176, 196, 214, 231, 247 }; const unsigned char hBitsMinus1_N20[11]= { 10, 42, 77, 107, 133, 157, 179, 200, 219, 236, 253 }; const unsigned char hBitsMinus1_N21[10]= { 9, 43, 78, 108, 135, 160, 183, 204, 223, 241 }; const unsigned char hBitsMinus1_N22[10]= { 9, 43, 79, 110, 138, 163, 186, 207, 227, 246 }; const unsigned char hBitsMinus1_N23[10]= { 9, 44, 80, 111, 140, 165, 189, 211, 231, 250 }; const unsigned char hBitsMinus1_N24[10]= { 9, 44, 81, 113, 142, 168, 192, 214, 235, 255 }; const unsigned char hBitsMinus1_N25[9]= { 8, 45, 82, 114, 143, 170, 195, 217, 239 }; const unsigned char hBitsMinus1_N26[9]= { 8, 45, 83, 116, 145, 172, 197, 221, 242 }; const unsigned char hBitsMinus1_N27[9]= { 8, 46, 84, 117, 147, 175, 200, 224, 246 }; const unsigned char hBitsMinus1_N28[9]= { 8, 46, 84, 118, 149, 177, 202, 227, 249 }; const unsigned char hBitsMinus1_N29[9]= { 8, 46, 85, 119, 150, 179, 205, 229, 252 }; const unsigned char hBitsMinus1_N30[8]= { 7, 47, 86, 121, 152, 181, 207, 232 }; const unsigned char hBitsMinus1_N31[8]= { 7, 47, 87, 122, 153, 182, 209, 235 }; const unsigned char hBitsMinus1_N32[8]= { 7, 47, 87, 123, 155, 184, 212, 237 }; const unsigned char hBitsMinus1_N33[8]= { 7, 48, 88, 124, 156, 186, 214, 240 }; const unsigned char hBitsMinus1_N34[8]= { 7, 48, 89, 125, 158, 188, 216, 242 }; const unsigned char hBitsMinus1_N35[8]= { 7, 49, 90, 126, 159, 189, 218, 245 }; const unsigned char hBitsMinus1_N36[8]= { 7, 49, 90, 127, 160, 191, 220, 247 }; const unsigned char hBitsMinus1_N37[8]= { 7, 49, 91, 128, 162, 193, 222, 249 }; const unsigned char hBitsMinus1_N38[8]= { 7, 49, 91, 129, 163, 194, 224, 251 }; const unsigned char hBitsMinus1_N39[8]= { 7, 50, 92, 130, 164, 196, 225, 253 }; const unsigned char hBitsMinus1_N40[8]= { 7, 50, 93, 131, 165, 197, 227, 255 }; const unsigned char hBitsMinus1_N41[7]= { 6, 50, 93, 131, 166, 199, 229 }; const unsigned char hBitsMinus1_N42[7]= { 6, 51, 94, 132, 167, 200, 230 }; const unsigned char hBitsMinus1_N43[7]= { 6, 51, 94, 133, 168, 201, 232 }; const unsigned char hBitsMinus1_N44[7]= { 6, 51, 95, 134, 170, 203, 234 }; const unsigned char hBitsMinus1_N45[7]= { 6, 51, 95, 135, 171, 204, 235 }; const unsigned char hBitsMinus1_N46[7]= { 6, 52, 96, 135, 172, 205, 237 }; const unsigned char hBitsMinus1_N47[7]= { 6, 52, 96, 136, 173, 206, 238 }; const unsigned char hBitsMinus1_N48[7]= { 6, 52, 97, 137, 174, 208, 240 }; const unsigned char hBitsMinus1_N49[7]= { 6, 52, 97, 138, 175, 209, 241 }; const unsigned char hBitsMinus1_N50[7]= { 6, 53, 98, 138, 175, 210, 243 }; const unsigned char hBitsMinus1_N51[7]= { 6, 53, 98, 139, 176, 211, 244 }; const unsigned char hBitsMinus1_N52[7]= { 6, 53, 99, 140, 177, 212, 245 }; const unsigned char hBitsMinus1_N53[7]= { 6, 53, 99, 140, 178, 213, 247 }; const unsigned char hBitsMinus1_N54[7]= { 6, 54, 100, 141, 179, 214, 248 }; const unsigned char hBitsMinus1_N55[7]= { 6, 54, 100, 142, 180, 216, 249 }; const unsigned char hBitsMinus1_N56[7]= { 6, 54, 100, 142, 181, 217, 250 }; const unsigned char hBitsMinus1_N57[7]= { 6, 54, 101, 143, 181, 218, 252 }; const unsigned char hBitsMinus1_N58[7]= { 6, 54, 101, 143, 182, 219, 253 }; const unsigned char hBitsMinus1_N59[7]= { 6, 55, 102, 144, 183, 220, 254 }; const unsigned char hBitsMinus1_N60[7]= { 6, 55, 102, 145, 184, 221, 255 }; const unsigned char hBitsMinus1_N61[6]= { 5, 55, 102, 145, 185, 221 }; const unsigned char hBitsMinus1_N62[6]= { 5, 55, 103, 146, 185, 222 }; const unsigned char hBitsMinus1_N63[6]= { 5, 55, 103, 146, 186, 223 }; const unsigned char hBitsMinus1_N64[6]= { 5, 55, 103, 147, 187, 224 }; #if PVQ_MAX_BAND_SIZE == 64 const unsigned char* const hBitsN[ PVQ_MAX_BAND_SIZE + 1 ]= { NULL /*N=0*/, hBitsMinus1_N01, hBitsMinus1_N02, hBitsMinus1_N03, hBitsMinus1_N04, hBitsMinus1_N05, hBitsMinus1_N06, hBitsMinus1_N07, hBitsMinus1_N08, hBitsMinus1_N09, hBitsMinus1_N10, hBitsMinus1_N11, hBitsMinus1_N12, hBitsMinus1_N13, hBitsMinus1_N14, hBitsMinus1_N15, hBitsMinus1_N16, hBitsMinus1_N17, hBitsMinus1_N18, hBitsMinus1_N19, hBitsMinus1_N20, hBitsMinus1_N21, hBitsMinus1_N22, hBitsMinus1_N23, hBitsMinus1_N24, hBitsMinus1_N25, hBitsMinus1_N26, hBitsMinus1_N27, hBitsMinus1_N28, hBitsMinus1_N29, hBitsMinus1_N30, hBitsMinus1_N31, hBitsMinus1_N32, hBitsMinus1_N33, hBitsMinus1_N34, hBitsMinus1_N35, hBitsMinus1_N36, hBitsMinus1_N37, hBitsMinus1_N38, hBitsMinus1_N39, hBitsMinus1_N40, hBitsMinus1_N41, hBitsMinus1_N42, hBitsMinus1_N43, hBitsMinus1_N44, hBitsMinus1_N45, hBitsMinus1_N46, hBitsMinus1_N47, hBitsMinus1_N48, hBitsMinus1_N49, hBitsMinus1_N50, hBitsMinus1_N51, hBitsMinus1_N52, hBitsMinus1_N53, hBitsMinus1_N54, hBitsMinus1_N55, hBitsMinus1_N56, hBitsMinus1_N57, hBitsMinus1_N58, hBitsMinus1_N59, hBitsMinus1_N60, hBitsMinus1_N61, hBitsMinus1_N62, hBitsMinus1_N63, hBitsMinus1_N64, }; #endif #if PVQ_MAX_BAND_SIZE == 96 const unsigned char hBitsMinus1_N96[6]= /* optional optimized dimension for HVQ-FB */ { 5, 60, 113, 161, 206, 248 }; const unsigned char* const hBitsN[ PVQ_MAX_BAND_SIZE + 1 ]= { NULL /*N=0*/, hBitsMinus1_N01, hBitsMinus1_N02, hBitsMinus1_N03, hBitsMinus1_N04, hBitsMinus1_N05, hBitsMinus1_N06, hBitsMinus1_N07, hBitsMinus1_N08, hBitsMinus1_N09, hBitsMinus1_N10, hBitsMinus1_N11, hBitsMinus1_N12, hBitsMinus1_N13, hBitsMinus1_N14, hBitsMinus1_N15, hBitsMinus1_N16, hBitsMinus1_N17, hBitsMinus1_N18, hBitsMinus1_N19, hBitsMinus1_N20, hBitsMinus1_N21, hBitsMinus1_N22, hBitsMinus1_N23, hBitsMinus1_N24, hBitsMinus1_N25, hBitsMinus1_N26, hBitsMinus1_N27, hBitsMinus1_N28, hBitsMinus1_N29, hBitsMinus1_N30, hBitsMinus1_N31, hBitsMinus1_N32, hBitsMinus1_N33, hBitsMinus1_N34, hBitsMinus1_N35, hBitsMinus1_N36, hBitsMinus1_N37, hBitsMinus1_N38, hBitsMinus1_N39, hBitsMinus1_N40, hBitsMinus1_N41, hBitsMinus1_N42, hBitsMinus1_N43, hBitsMinus1_N44, hBitsMinus1_N45, hBitsMinus1_N46, hBitsMinus1_N47, hBitsMinus1_N48, hBitsMinus1_N49, hBitsMinus1_N50, hBitsMinus1_N51, hBitsMinus1_N52, hBitsMinus1_N53, hBitsMinus1_N54, hBitsMinus1_N55, hBitsMinus1_N56, hBitsMinus1_N57, hBitsMinus1_N58, hBitsMinus1_N59, hBitsMinus1_N60, hBitsMinus1_N61, hBitsMinus1_N62, hBitsMinus1_N63, hBitsMinus1_N64, NULL /*N=65*/, NULL /*N56*/, NULL /*N57*/, NULL /*N58*/, NULL /*N59*/, NULL /*N=70*/, NULL /*N61*/, NULL /*N62*/, NULL /*N63*/, NULL /*N64*/, NULL /*N75*/, NULL /*N56*/, NULL /*N57*/, NULL /*N58*/, NULL /*N59*/, NULL /*N80*/, NULL /*N61*/, NULL /*N62*/, NULL /*N63*/, NULL /*N64*/, NULL /*N85*/, NULL /*N56*/, NULL /*N57*/, NULL /*N58*/, NULL /*N59*/, NULL /*N90*/, NULL /*N61*/, NULL /*N62*/, NULL /*N63*/, NULL /*N94*/, NULL /*N95*/, hBitsMinus1_N96 }; #endif const unsigned int exactdivodd[ODD_DIV_SIZE] = { /* exactdivodd[0]=1/1,exactdivodd[1]=1/3 , exactdivodd[n]=1/(2*n+1), exactdivodd[47]=1/95 ) */ 1U, 2863311531U, 3435973837U, 3067833783U, 954437177U, 3123612579U, 3303820997U, 4008636143U, 4042322161U, 678152731U, 1022611261U, 3921491879U, 3264175145U, 1749801491U, 1332920885U, 3186588639U, 1041204193U, 2331553675U, 2437684141U, 2532929431U, 3247414297U, 799063683U, 2767867813U, 1736263375U, 438261969U, 4210752251U, 2350076445U, 1483715975U, 3089362441U, 2693454067U, 3238827797U, 3204181951U, 3237744577U, 128207979U, 2738819725U, 3811027319U, 3353604601U, 2519714147U, 1059797125U, 1631000239U, 2014922929U, 724452315U, 4244438269U, 1875962727U, 4198451177U, 3539808211U, 1062196213U, 3571604383U }; const short gain_cb_size[MAX_GAIN_BITS] = {2, 4, 8, 16, 32}; const short inner_frame_tbl[4] = {L_FRAME8k, L_FRAME16k, L_FRAME32k, L_FRAME48k}; /* corresponds to NB, WB, SWB, FB */ /*------------------------------------------------------------------------------* * LR-MDCT tables *------------------------------------------------------------------------------*/ /* subband width tables */ /* NB short win: 7200/8000/9600, 13200/16400/24400 */ const short band_width_40_4_6_0_0_0[4] = { 6, 8, 11, 15 }; const short band_width_40_5_6_0_0_0[5] = { 6, 7, 7, 9, 11 }; /* NB long win: 7200, 8000, 9600, 13200, 16400 */ const short band_width_160_13_6_2_0_0[13] = { 6, 6, 6, 6, 7, 8, 9, 10, 13, 15, 19, 24, 31 }; const short band_width_160_14_6_3_0_0[14] = { 6, 6, 6, 6, 6, 7, 8, 9, 10, 12, 15, 18, 22, 29 }; const short band_width_160_17_6_3_0_0[17] = { 6, 6, 6, 6, 6, 6, 7, 7, 8, 8, 9, 10, 11, 13, 15, 17, 19 }; const short band_width_160_18_6_4_0_0[18] = { 6, 6, 6, 6, 6, 6, 6, 7, 7, 8, 8, 9, 10, 11, 12, 14, 15, 17 }; /* WB short win: 13200/16400/24400 */ const short band_width_80_7_6_0_0_0[7] = { 6, 7, 8, 10, 12, 16, 21 }; /* WB long win: 13200, 16400 */ const short band_width_320_18_6_3_0_0[18] = { 6, 6, 6, 6, 6, 7, 7, 8, 10, 11, 13, 16, 19, 24, 30, 37, 47, 61 }; const short band_width_320_20_6_3_0_0[20] = { 6, 6, 6, 6, 6, 6, 7, 8, 8, 9, 11, 12, 14, 17, 20, 23, 28, 34, 42, 51 }; /* SWB short win: 13200, 16400 */ const short band_width_142_8_8_0_0_0[8] = {7,8,10,11,15,21,29,41}; const short band_width_160_8_8_0_0_0[8] = { 8, 9, 11,13,17,23,32,47}; /* SWB long win: 13200, 16400 */ const short band_width_568_22_6_2_0_0[22] = { 6, 6, 6, 6, 6, 6, 7, 8, 9, 10, 11, 13, 16, 19, 23, 28, 34, 42, 55, 68, 84, 105}; const short band_width_640_24_6_4_0_0[24] = { 6, 6, 6, 6, 6, 6, 7,7,8,9,10,11,13,15,18,21,26,32,39,48,59, 74,92,115}; /* LR-MDCT: NB configuration tables */ const Xcore_Config xcore_config_8kHz_007200bps_long = { 13, L_FRAME8k, band_width_160_13_6_2_0_0, 536870912L, 24576, 13107, 2, 2, 0, 0.0f, 0.40f, 0.13f, 1.2f, 0.32f }; const Xcore_Config xcore_config_8kHz_008000bps_long = { 14, L_FRAME8k, band_width_160_14_6_3_0_0, 536870912L, 24576, 13107, 2, 2, 0, 0.0f, 0.40f, 0.13f, 1.2f, 0.32f }; const Xcore_Config xcore_config_8kHz_013200bps_long = { 17, L_FRAME8k, band_width_160_17_6_3_0_0, 429496730L, 24576, 13107, 2, 4, 2, 12.0f, 0.40f, 0.13f, 1.2f, 0.32f }; const Xcore_Config xcore_config_8kHz_016400bps_long = { 18, L_FRAME8k, band_width_160_18_6_4_0_0, 322122547L, 24576, 13107, 2, 2, 0, 0.0f, 0.40f, 0.13f, 1.2f, 0.32f }; const Xcore_Config xcore_config_8kHz_007200bps_short = { 4, L_FRAME8k / NUM_TIME_SWITCHING_BLOCKS, band_width_40_4_6_0_0_0, 966367642L, 24576, 13107, 2, 2, 0, 0.0f, 0.30f, 0.09f, 1.2f, 0.32f }; const Xcore_Config xcore_config_8kHz_008000bps_short = { 4, L_FRAME8k / NUM_TIME_SWITCHING_BLOCKS, band_width_40_4_6_0_0_0, 1181116006L, 24576, 13107, 2, 4, 0, 0.0f, 0.30f, 0.09f, 1.2f, 0.32f }; const Xcore_Config xcore_config_8kHz_013200bps_short = { 5, L_FRAME8k / NUM_TIME_SWITCHING_BLOCKS, band_width_40_5_6_0_0_0, 751619276L, 24576, 11469, 2, 4, 0, 0.0f, 0.70f, 0.11f, 1.2f, 0.32f }; const Xcore_Config xcore_config_8kHz_016400bps_short = { 5, L_FRAME8k / NUM_TIME_SWITCHING_BLOCKS, band_width_40_5_6_0_0_0, 536870912L, 24576, 11469, 2, 6, 0, 0.0f, 0.90f, 0.11f, 1.2f, 0.32f }; /* LR-MDCT: WB configuration tables */ const Xcore_Config xcore_config_16kHz_013200bps_long = { 18, L_FRAME16k, band_width_320_18_6_3_0_0, 429496730L, 24576, 13106, 2, 6, 3, 12.0f, 0.40f, 0.12f, 1.1f, 0.32f }; const Xcore_Config xcore_config_16kHz_016400bps_long = { 20, L_FRAME16k, band_width_320_20_6_3_0_0, 429496730L, 24576, 13106, 2, 6, 3, 12.0f, 0.40f, 0.12f, 1.2f, 0.32f }; const Xcore_Config xcore_config_16kHz_013200bps_short = { 7, L_FRAME16k / NUM_TIME_SWITCHING_BLOCKS, band_width_80_7_6_0_0_0, 966367642L, 24576, 9830, 2, 4, 0, 0.0f, 0.30f, 0.13f, 1.1f, 0.32f }; const Xcore_Config xcore_config_16kHz_016400bps_short = { 7, L_FRAME16k / NUM_TIME_SWITCHING_BLOCKS, band_width_80_7_6_0_0_0, 966367642L, 24576, 11468, 2, 8, 0, 0.0f, 0.30f, 0.13f, 1.2f, 0.32f }; /* LR-MDCT: SWB configuration tables */ const Xcore_Config xcore_config_32kHz_013200bps_long = { 22, 568, band_width_568_22_6_2_0_0, 322122547L, 24576, 6554, 2, 4, 5, 14.0f, 0.40f, 0.13f, 1.2f, 0.26f }; const Xcore_Config xcore_config_32kHz_016400bps_long = { 24, 640, band_width_640_24_6_4_0_0, 322122547L, 24576, 8192, 2, 4, 5, 14.0f, 0.40f, 0.13f, 1.2f, 0.26f }; const Xcore_Config xcore_config_32kHz_013200bps_short = { 8, 568 / NUM_TIME_SWITCHING_BLOCKS, band_width_142_8_8_0_0_0, 1610612736L, 24576, 13107, 2, 4, 0, 0.0f, 0.50f, 0.11f, 1.2f, 0.48f }; const Xcore_Config xcore_config_32kHz_016400bps_short = { 8, 640 / NUM_TIME_SWITCHING_BLOCKS, band_width_160_8_8_0_0_0, 644245094L, 24576, 8192, 2, 4, 0, 0.0f, 0.30f, 0.13f, 1.2f, 0.32f }; /* bandwidths */ const short Nb[ NB_SFM] = { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 16, 16, 16, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 32, 32, 32, 32, 32, 32, 32, 32 }; /* log2(Nb) to calculate minimum bits for one pulse in PVQ */ const short LNb[ NB_SFM] = { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 }; /*------------------------------------------------------------------------------* * GSC tables *------------------------------------------------------------------------------*/ const short gsc_sfm_start[MBANDS_GN] = {0, 16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208, 224, 240}; const short gsc_sfm_end[MBANDS_GN] = {16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208, 224, 240, 256}; const short gsc_sfm_size[MBANDS_GN] = {16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16}; const float sm_table[] = { 1.0f, 0.9804f, 0.9607f, 0.9411f, 0.9215f, 0.902f, 0.8825f, 0.863f, 0.8436f, 0.8242f, 0.8049f, 0.7857f, 0.7666f, 0.7475f, 0.7286f, 0.7097f, 0.691f, 0.6724f, 0.6539f, 0.6355f, 0.6173f, 0.5993f, 0.5813f, 0.5636f, 0.546f, 0.5286f, 0.5114f, 0.4943f, 0.4775f, 0.4609f, 0.4444f, 0.4282f, 0.4122f, 0.3964f, 0.3809f, 0.3656f, 0.3506f, 0.3357f, 0.3212f, 0.3069f, 0.2929f, 0.2791f, 0.2657f, 0.2525f, 0.2396f, 0.227f, 0.2147f, 0.2027f, 0.191f, 0.1796f, 0.1685f, 0.1578f, 0.1474f, 0.1373f, 0.1275f, 0.1181f, 0.109f, 0.1003f, 0.0919f, 0.0838f, 0.0761f, 0.0688f, 0.0618f, 0.0552f, 0.0489f, 0.0431f, 0.0375f, 0.0324f, 0.0276f, 0.0232f, 0.0192f, 0.0156f, 0.0123f, 0.0094f, 0.0069f, 0.0048f, 0.0031f, 0.0017f, 0.0008f, 0.0002f }; const short GSC_freq_bits[] = { 21, 66, -6, 25, 15, 11, 10, 5, 0, 0, 5, 4, 0, 0, 4, 0, 0, /* ACELP_7k20*/ 21, 74, -4, 26, 16, 12, 11, 9, 0, 0, 4, 4, 1, 1, 3, 0, 0, /* ACELP_8k00*/ 26, 96, -4, 28, 18, 13, 12,10,10, 5, 4, 4, 1, 0, 1, 3, 4, /* ACELP_11k60*/ 26, 96, -4, 28, 18, 13, 12,10,10, 5, 4, 4, 1, 0, 1, 3, 4, /* ACELP_12k15*/ 26, 96, -4, 28, 18, 13, 12,10,10, 5, 4, 4, 1, 0, 1, 3, 4, /* ACELP_12k85*/ 31, 96, -4, 28, 18, 13, 12,10,10, 5, 4, 4, 1, 0, 1, 3, 4, /* ACELP_13k20*/ }; const float mfreq_loc[] = { 175.0f, 375.0f, 775.0f, 1175.0f, 1575.0f, 1975.0f, 2375.0f, 2775.0f, 3175.0f, 3575.0f, 3975.0f, 4375.0f, 4775.0f, 5175.0f, 5575.0f, 6375.0f, 7175.0f, 7975.0f }; const short mfreq_bindiv_loc[] = { 8, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 32, 32, 32 }; const float mean_gp[] = { 0.5853f }; const float dic_gp[] = { -0.5847f, -0.4695f, -0.3897f, -0.2731f, -0.1986f, -0.1244f, -0.0492f, -0.005f, 0.0631f, 0.1379f, 0.211f, 0.2859f, 0.3229f, 0.3994f, 0.5217f, 0.6135f, -0.5471f, -0.5089f, -0.4285f, -0.3512f, -0.3124f, -0.235f, -0.162f, -0.0872f, 0.0249f, 0.1013f, 0.1741f, 0.2485f, 0.361f, 0.4376f, 0.4776f, 0.5645f }; const float Gain_meanNB[] = { 2.4052f }; const float Gain_mean_dicNB[] = { -0.3197f, -0.2272f, -0.1386f, -0.0966f, -0.0132f, 0.1970f, 0.2865f, 0.3743f, 0.4640f, 0.5108f, 0.5581f, 0.6086f, 0.6588f, 0.7642f, 0.7101f, 0.0698f, -0.1827f, 0.2418f, 0.1540f, -0.2733f, -0.4144f, -0.5162f, -0.6806f, -1.3182f, -2.4026f, -0.4643f, -0.7983f, -1.9470f, -1.8160f, -1.6910f, -1.7558f, -0.5677f, -0.3673f, -0.6224f, -0.7379f, -0.8624f, -0.9321f, -1.0098f, -1.1600f, -1.2380f, -1.4052f, -1.4876f, -2.1967f, -1.5599f, -2.1399f, -2.3041f, 0.8225f, 0.9564f, 0.8835f, 1.1436f, -2.0176f, 1.0387f, -1.0822f, -1.6264f, -2.2534f, -1.8746f, 1.4304f, 0.0288f, 0.1116f, -0.0553f, 0.4192f, 0.3303f, -2.0750f, -2.3558f, }; const float Mean_dic_NB[] = { -0.1084f, -0.0243f, -0.0292f, -0.0091f, 0.0061f, 0.0171f, 0.0362f, 0.0153f, 0.0416f, 0.0558f, }; const float Gain_dic1_NB[] = { -0.1479f, -0.0224f, 0.0013f, -0.4797f, 0.0718f, 0.1627f, -0.1073f, 0.0291f, 0.1613f, -0.0258f, 0.0652f, 0.0264f, -0.2961f, 0.0842f, -0.0332f, -0.3053f, 0.1508f, 0.1381f, -0.4650f, -0.1832f, 0.1581f, -0.2546f, -0.0879f, -0.1215f, -0.0043f, -0.0785f, 0.0235f, 0.0816f, 0.0283f, -0.0604f, -0.4709f, 0.1612f, 0.0056f, -0.4504f, 0.2876f, 0.1183f, -0.0440f, 0.2040f, 0.0408f, -0.4619f, -0.2252f, -0.0783f, 0.1016f, -0.1067f, -0.0839f, 0.1452f, -0.1337f, 0.0386f, -0.0648f, -0.1970f, -0.0826f, -0.2599f, -0.2477f, -0.0048f, -0.1528f, 0.1452f, -0.0814f, -0.1389f, 0.2661f, 0.1590f, 0.0066f, 0.1432f, -0.0809f, -0.0450f, -0.0207f, -0.1229f, -0.4643f, -0.4412f, 0.0796f, -0.4543f, -0.0387f, -0.2415f, -0.1626f, 0.0349f, -0.2839f, -0.4194f, 0.2517f, -0.1816f, 0.2068f, 0.0736f, -0.0144f, 0.1757f, -0.2445f, -0.0527f, 0.3370f, -0.2115f, -0.2366f, 0.1961f, -0.0010f, -0.1484f, 0.0568f, 0.0997f, -0.2436f, 0.3561f, 0.0213f, 0.0641f, 0.0842f, -0.1502f, -0.2506f, 0.2140f, -0.0362f, -0.0016f, 0.0165f, -0.2625f, 0.0660f, 0.1958f, 0.0804f, 0.1159f, -0.4695f, -0.0308f, -0.0092f, 0.3114f, -0.1023f, -0.0851f, 0.0979f, 0.2260f, 0.1403f, 0.2066f, -0.0569f, 0.1335f, 0.1691f, -0.4590f, 0.0869f, -0.0883f, -0.4109f, -0.0535f, 0.0565f, -0.0827f, 0.1460f, 0.2996f, -0.1503f, 0.0652f, 0.2724f, 0.0221f, -0.3213f, -0.1344f, -0.1588f, 0.1293f, 0.1083f, 0.0079f, 0.0442f, -0.0937f, 0.2946f, -0.1892f, -0.2424f, 0.2840f, 0.0099f, 0.1915f, -0.2486f, 0.1314f, 0.1551f, 0.1553f, -0.1036f, 0.3353f, -0.3337f, 0.0364f, 0.3521f, 0.0979f, -0.1083f, 0.2671f, 0.2169f, 0.0300f, 0.2135f, 0.2717f, -0.2642f, -0.1578f, -0.2715f, -0.2692f, 0.1316f, -0.3985f, -0.1668f, 0.0981f, 0.1393f, 0.0241f, -0.4342f, -0.4417f, -0.2072f, -0.1788f, -0.4128f, 0.1708f, -0.1655f, 0.1284f, 0.0670f, 0.0782f, 0.2996f, -0.0288f, -0.2984f, -0.0440f, 0.1108f, 0.0423f, 0.0853f, 0.1295f, }; const float Gain_dic2_NB[] = { 0.0069f, 0.0000f, -0.0160f, -0.1361f, 0.0009f, 0.0504f, 0.0686f, -0.1568f, 0.0088f, -0.1019f, 0.0198f, -0.1206f, -0.0927f, 0.1671f, 0.1099f, 0.1272f, -0.3770f, 0.0631f, -0.2733f, 0.1496f, -0.2809f, 0.1256f, 0.0058f, 0.1945f, 0.0714f, -0.0204f, -0.1284f, 0.0723f, 0.1021f, -0.0563f, -0.1024f, -0.0165f, 0.2383f, 0.0004f, -0.0753f, 0.0971f, -0.1114f, -0.2459f, 0.0641f, -0.2982f, -0.0906f, 0.1089f, -0.0539f, -0.0952f, -0.0441f, -0.2955f, 0.1435f, 0.1833f, -0.2669f, 0.1288f, -0.0425f, 0.1440f, 0.0907f, -0.3104f, -0.0192f, -0.0612f, -0.3029f, -0.2480f, -0.1188f, -0.1250f, 0.1324f, 0.1419f, 0.0826f, -0.0648f, 0.1114f, -0.0257f, 0.1196f, -0.0173f, 0.0218f, 0.0103f, 0.0574f, 0.0926f, 0.0076f, 0.2916f, -0.0493f, 0.0422f, -0.2048f, 0.2074f, -0.0113f, 0.1221f, -0.1958f, 0.0371f, 0.2279f, 0.2620f, 0.2392f, 0.0843f, -0.0641f, 0.1969f, -0.1415f, -0.1273f, -0.0055f, -0.2421f, -0.1429f, 0.2138f, -0.1407f, 0.1003f, }; const float Gain_dic3_NB[] = { -0.0039f, 0.0159f, -0.0553f, 0.0027f, -0.0523f, 0.1349f, 0.0894f, 0.0451f, 0.0334f, -0.0825f, -0.0732f, -0.1526f, -0.0298f, 0.0199f, 0.1314f, -0.1946f, 0.0391f, 0.0695f, -0.2694f, 0.0085f, -0.1451f, 0.0762f, -0.0925f, -0.1033f, 0.0412f, -0.1568f, -0.0964f, 0.0887f, 0.0856f, -0.2846f, 0.1538f, -0.0637f, -0.2905f, 0.0529f, 0.1016f, 0.0456f, -0.1409f, 0.0596f, -0.1553f, 0.2095f, 0.1415f, 0.1177f, -0.0536f, 0.1551f, 0.1159f, -0.0458f, 0.0909f, 0.0066f, -0.0159f, -0.0901f, 0.1231f, 0.2221f, -0.1032f, -0.1080f, 0.0302f, -0.0098f, 0.1173f, 0.1404f, -0.0101f, -0.1590f, 0.1665f, 0.1661f, 0.2222f, 0.1193f, }; const float Gain_dic2_NBHR[] = { 0.0070f, 0.0001f, -0.0229f, -0.1476f, -0.0493f, -0.0424f, 0.0791f, -0.0927f, -0.0399f, -0.0308f, -0.0735f, -0.0748f, -0.0704f, 0.0302f, 0.0273f, -0.0211f, 0.1279f, -0.0281f, 0.0572f, 0.0045f, -0.1133f, -0.0134f, -0.0686f, 0.0436f, 0.0393f, 0.1088f, 0.1543f, 0.0893f, -0.0201f, 0.0237f, 0.0556f, -0.2804f, 0.0660f, 0.0715f, 0.0698f, -0.0348f, -0.0301f, -0.0085f, -0.2187f, -0.1319f, -0.1649f, 0.0427f, 0.0807f, -0.1180f, -0.1678f, -0.1901f, 0.0498f, -0.1630f, -0.1202f, 0.1876f, -0.1245f, -0.2966f, -0.1514f, -0.1179f, 0.1663f, -0.0185f, -0.0722f, -0.1638f, 0.0966f, -0.0110f, -0.1854f, 0.0728f, 0.1377f, -0.0693f, 0.1437f, 0.0784f, -0.3336f, -0.1445f, 0.1210f, -0.1093f, -0.1429f, -0.1739f, 0.0029f, -0.1845f, -0.0220f, 0.1253f, 0.0407f, -0.2262f, -0.2861f, 0.2587f, -0.2925f, -0.1164f, 0.1825f, 0.2457f, 0.0103f, 0.0251f, 0.3118f, -0.2296f, 0.2562f, 0.0336f, -0.2257f, -0.0035f, -0.3586f, 0.1669f, 0.1657f, -0.3857f, 0.1019f, -0.0912f, -0.3838f, 0.1482f, 0.0660f, 0.0626f, 0.1384f, 0.1899f, 0.2057f, 0.3452f, -0.0544f, -0.1323f, 0.0236f, 0.0488f, 0.0614f, 0.0541f, 0.2623f, -0.1335f, -0.1744f, -0.0697f, 0.2553f, 0.0943f, -0.1671f, 0.2403f, 0.0826f, 0.1646f, 0.0282f, -0.0668f, 0.0418f, -0.0898f, 0.1419f, -0.4567f, 0.0836f, 0.0229f, 0.1079f, -0.1457f, -0.0715f, -0.2943f, 0.2078f, -0.0311f, 0.1224f, -0.3045f, 0.0428f, 0.4151f, 0.3314f, -0.0059f, 0.2989f, 0.0695f, 0.1725f, -0.2325f, -0.0715f, 0.1631f, 0.1202f, -0.0993f, 0.2841f, 0.1833f, 0.0490f, 0.0929f, -0.1452f, 0.0702f, -0.3833f, 0.1174f, -0.1297f, -0.1458f, -0.0391f, 0.0797f, -0.1412f, -0.3200f, -0.0097f, -0.0287f, -0.1278f, 0.1406f, -0.3695f, 0.1286f, 0.1848f, -0.0450f, 0.0097f, 0.1487f, -0.2966f, 0.0239f, 0.0167f, -0.0159f, -0.3233f, -0.2040f, 0.2004f, -0.0729f, 0.0498f, 0.1943f, 0.0051f, 0.2050f, 0.0757f, -0.0325f, 0.1324f, 0.2545f, -0.2377f, 0.1312f, }; const float Gain_dic3_NBHR[] = { 0.0715f, 0.0018f, -0.0493f, -0.0232f, 0.1305f, 0.0268f, 0.1323f, -0.1251f, -0.1410f, 0.0158f, -0.1367f, -0.0843f, 0.0502f, 0.0811f, 0.0024f, -0.1302f, -0.0186f, 0.0869f, -0.0034f, 0.0203f, 0.0363f, -0.0908f, -0.0475f, -0.1196f, -0.1168f, -0.0588f, -0.0135f, 0.0275f, -0.0716f, -0.1147f, -0.1479f, 0.0151f, 0.1947f, -0.3535f, 0.1525f, -0.2753f, 0.0423f, 0.1132f, -0.4115f, -0.0120f, -0.0956f, -0.0720f, -0.0388f, -0.1134f, -0.1746f, 0.1026f, -0.0357f, -0.2402f, -0.0087f, 0.0068f, -0.1182f, 0.0290f, 0.1152f, 0.0665f, -0.1780f, -0.0283f, 0.0167f, -0.0212f, -0.1534f, -0.1048f, 0.1047f, -0.2240f, -0.0385f, -0.0466f, -0.1331f, 0.0561f, -0.1063f, 0.0637f, -0.0312f, 0.0037f, -0.1930f, 0.1494f, 0.0655f, -0.0945f, -0.3072f, 0.0248f, 0.0922f, 0.0580f, 0.0735f, 0.0007f, -0.1207f, 0.0363f, 0.0319f, -0.0303f, 0.1547f, -0.0751f, 0.0242f, 0.0058f, 0.1397f, 0.1735f, 0.1842f, -0.2776f, -0.2707f, 0.0977f, 0.2668f, 0.0901f, -0.2028f, -0.1033f, 0.3865f, 0.2659f, -0.0203f, 0.0380f, -0.0256f, 0.2631f, -0.2270f, 0.1163f, 0.0372f, 0.0927f, 0.1894f, 0.2838f, 0.1924f, -0.0104f, 0.0680f, 0.0122f, 0.0997f, 0.1458f, 0.1162f, 0.1180f, 0.0179f, 0.1828f, 0.2204f, 0.1676f, 0.0196f, -0.1003f, 0.0476f, -0.1876f, 0.0683f, 0.0840f, -0.0641f, -0.2440f, -0.0112f, -0.0693f, -0.0161f, 0.0641f, 0.0769f, -0.3024f, 0.1061f, 0.1410f, -0.0572f, -0.2854f, 0.0487f, -0.4075f, 0.0459f, 0.0278f, -0.0140f, 0.1022f, -0.1243f, -0.1545f, 0.0240f, -0.0290f, 0.0314f, -0.1991f, -0.0383f, -0.0890f, -0.0607f, 0.1311f, 0.0164f, -0.1524f, 0.0296f, 0.2814f, 0.3526f, 0.0346f, -0.1425f, 0.0093f, 0.2652f, -0.0205f, 0.0395f, 0.2426f, 0.0958f, -0.0937f, -0.0302f, 0.1301f, 0.0615f, 0.0446f, -0.2835f, -0.2160f, -0.1053f, -0.2025f, 0.0248f, 0.1055f, -0.1728f, 0.2409f, -0.2493f, -0.1572f, -0.0157f, 0.0293f, -0.4112f, 0.2406f, 0.0512f, -0.1206f, -0.2211f, 0.3179f, 0.0121f, -0.0455f, 0.0431f, 0.0451f, -0.0626f, 0.2130f, -0.2451f, 0.0946f, 0.1376f, -0.0196f, -0.1657f, 0.1258f, -0.1862f, -0.0097f, -0.2866f, 0.0556f, -0.2513f, 0.0485f, -0.0144f, -0.0726f, 0.0073f, -0.0115f, 0.0484f, -0.0645f, -0.0966f, -0.3504f, 0.2229f, -0.2486f, -0.0344f, 0.2348f, 0.0088f, 0.1117f, 0.0088f, -0.0947f, 0.1894f, -0.2441f, -0.0181f, 0.1194f, 0.2775f, 0.0341f, -0.2369f, -0.1871f, 0.1625f, -0.0285f, 0.0220f, 0.1462f, 0.4066f, 0.3429f, -0.0763f, -0.1673f, -0.1866f, -0.1501f, 0.1374f, -0.1128f, -0.1530f, -0.1874f, 0.1933f, 0.1366f, -0.3527f, 0.1357f, -0.1419f, 0.1760f, -0.1364f, 0.2775f, -0.1707f, -0.0667f, 0.0668f, -0.2065f, 0.2295f, -0.1684f, 0.1824f, -0.0617f, -0.0431f, -0.1322f, 0.3309f, -0.0529f, -0.1430f, 0.1042f, 0.2921f, -0.2119f, 0.0358f, 0.1299f, -0.1342f, 0.0989f, 0.0631f, 0.1654f, -0.0598f, -0.0405f, 0.1884f, 0.2592f, -0.0807f, 0.1176f, 0.0948f, 0.4565f, -0.1406f, 0.3869f, 0.1129f, 0.2113f, 0.1108f, 0.2958f, 0.1392f, 0.1289f, -0.1663f, 0.3001f, -0.0943f, 0.1483f, 0.1463f, 0.2112f, -0.0376f, -0.0049f, -0.0515f, -0.0564f, 0.0234f, 0.1798f, 0.0996f, -0.0633f, 0.1864f, -0.3743f, 0.2672f, 0.0607f, 0.1720f, -0.2764f, 0.4289f, -0.2641f, 0.0758f, -0.1174f, 0.0803f, -0.0964f, 0.0473f, -0.1906f, 0.0144f, -0.2328f, -0.2278f, -0.2336f, -0.0060f, 0.4555f, -0.2079f, -0.0547f, -0.1176f, 0.2006f, -0.3511f, 0.1197f, 0.0539f, 0.3127f, 0.0956f, 0.1653f, 0.1317f, 0.0846f, 0.2158f, -0.1499f, 0.4502f, 0.1656f, -0.1886f, 0.1181f, -0.2266f, 0.6047f, -0.0670f, -0.1125f, 0.0923f, -0.0642f, -0.0690f, -0.0762f, 0.1423f, 0.0834f, 0.1107f, -0.3762f, 0.0924f, 0.3090f, 0.1900f, 0.2673f, 0.3150f, 0.2012f, -0.2339f, -0.1082f, -0.0508f, -0.0173f, 0.2405f, -0.2444f, -0.0301f, 0.1156f, 0.0136f, -0.2449f, -0.1253f, 0.1158f, -0.0633f, 0.3504f, 0.2381f, 0.0768f, -0.0143f, -0.0412f, 0.1767f, 0.2347f, -0.0512f, 0.2515f, 0.0832f, -0.2386f, 0.2573f, 0.7121f, -0.0018f, -0.2141f, -0.2079f, -0.0557f, 0.0805f, 0.1525f, 0.0022f, -0.1280f, -0.0237f, -0.0035f, 0.0038f, -0.0122f, 0.1163f, 0.5874f, 0.0644f, -0.0581f, 0.1875f, 0.0136f, 0.0457f, 0.0263f, -0.0413f, 0.1088f, 0.1644f, 0.0582f, 0.2423f, 0.1638f, -0.0532f, 0.0697f, 0.1184f, 0.0443f, 0.1633f, -0.1285f, 0.1561f, 0.1394f, 0.1586f, 0.0050f, -0.0458f, -0.1260f, 0.2517f, 0.0403f, 0.1285f, 0.0333f, -0.0813f, 0.0750f, 0.0248f, -0.1389f, -0.0383f, 0.0755f, -0.2281f, -0.0295f, -0.0820f, 0.0345f, 0.0096f, 0.1308f, 0.1616f, 0.0888f, -0.0324f, 0.0543f, -0.3135f, 0.1556f, -0.1552f, 0.0187f, 0.3031f, 0.2066f, 0.1139f, 0.1557f, 0.2055f, 0.0801f, 0.3248f, -0.0781f, 0.0372f, -0.2464f, 0.1343f, -0.0524f, -0.1885f, 0.0032f, 0.1451f, -0.0297f, 0.0820f, -0.1000f, -0.1336f, -0.0005f, 0.2121f, -0.0259f, 0.0784f, -0.2882f, 0.1259f, 0.3045f, -0.2021f, -0.1408f, -0.1636f, 0.2132f, 0.0897f, -0.0322f, -0.1013f, 0.1537f, -0.0700f, -0.0400f, -0.0256f, 0.0338f, 0.1603f, -0.1077f, -0.0390f, -0.2649f, 0.2294f, 0.1718f, -0.0313f, -0.0166f, -0.0901f, -0.2568f, -0.3501f, 0.1449f, 0.1334f, -0.1623f, -0.4515f, 0.0182f, 0.0428f, 0.0424f, -0.3133f, 0.1780f, -0.3883f, 0.2519f, }; const float YG_mean16[] = { -0.0968f, -0.0468f, -0.0409f, -0.0332f, -0.0147f, -0.0042f, 0.0111f, 0.0096f, 0.0293f, 0.0198f, 0.0219f, 0.0164f, 0.0358f, 0.0083f, 0.0398f, 0.0448f, }; const float YG_dicMR_1[] = { -0.4588f, 0.2016f, 0.1315f, -0.0513f, -0.0294f, 0.0652f, -0.0335f, -0.0347f, -0.1948f, -0.1154f, 0.1059f, 0.0594f, 0.0724f, -0.2188f, 0.0901f, 0.0750f, -0.4597f, -0.3254f, 0.1015f, 0.1244f, -0.4774f, -0.1611f, -0.1151f, 0.0548f, -0.2210f, -0.1962f, -0.1262f, 0.1056f, -0.2346f, 0.0050f, -0.0631f, -0.0547f, 0.0510f, 0.2386f, -0.0519f, -0.0042f, 0.1308f, -0.0595f, 0.0388f, 0.0238f, -0.0647f, 0.1891f, 0.1005f, -0.0799f, 0.0823f, -0.0955f, -0.0579f, -0.1152f, -0.4790f, -0.4482f, -0.1689f, 0.1149f, 0.1525f, 0.0422f, -0.1130f, -0.0037f, -0.2356f, 0.0643f, 0.0151f, 0.1466f, -0.1910f, 0.2170f, -0.1056f, 0.0514f, -0.4373f, 0.2081f, -0.1106f, -0.1895f, -0.0445f, -0.0433f, -0.2631f, 0.0195f, -0.0889f, 0.0855f, 0.0683f, 0.0715f, -0.2201f, 0.2731f, 0.0719f, -0.2914f, 0.0038f, 0.1073f, -0.0835f, 0.1121f, -0.4455f, -0.3868f, -0.3375f, -0.1949f, 0.1764f, 0.0140f, -0.3015f, -0.1613f, 0.2167f, -0.3999f, 0.0677f, 0.0572f, 0.0831f, 0.0842f, 0.0345f, -0.1490f, 0.3124f, -0.0055f, 0.0042f, 0.0352f, -0.1561f, -0.2081f, -0.1269f, -0.1350f, 0.2519f, 0.2059f, 0.0364f, 0.1061f, 0.1418f, 0.1911f, 0.1266f, -0.0479f, 0.1115f, 0.2308f, 0.1216f, -0.3146f, -0.4631f, -0.0101f, 0.1038f, 0.1255f, 0.1921f, 0.0393f, 0.1236f, 0.0941f, -0.1365f, 0.2635f, 0.0780f, 0.1258f, 0.1220f, 0.0830f, 0.0146f, 0.0258f, 0.0614f, -0.2434f, -0.2840f, -0.2344f, 0.0638f, -0.3144f, -0.1540f, 0.0817f, 0.3029f, -0.1514f, -0.0944f, -0.1617f, 0.0407f, 0.0474f, 0.1163f, 0.0163f, 0.2027f, -0.0636f, 0.1049f, -0.2933f, -0.1169f, -0.0300f, 0.0174f, -0.2837f, 0.0550f, -0.3618f, 0.0322f, -0.1958f, 0.1659f, 0.1862f, -0.2466f, 0.1048f, 0.0488f, -0.0304f, 0.0638f, 0.1441f, 0.1882f, -0.1807f, -0.0447f, 0.0559f, -0.4542f, -0.0850f, 0.0678f, -0.1340f, -0.4317f, 0.2362f, 0.0687f, 0.1451f, -0.4217f, -0.4143f, 0.0213f, -0.1866f, 0.2853f, 0.1540f, -0.0279f, -0.1151f, -0.3994f, -0.0247f, -0.3232f, -0.0221f, 0.2004f, -0.1819f, 0.1119f, -0.0644f, 0.2475f, -0.1406f, 0.0951f, 0.1147f, 0.2541f, -0.1261f, -0.2486f, 0.0897f, 0.2016f, 0.0042f, 0.1040f, -0.0797f, -0.1140f, -0.4007f, 0.0491f, 0.0794f, -0.4653f, 0.1045f, -0.0824f, 0.0541f, -0.2492f, 0.1539f, 0.1023f, -0.0183f, -0.0211f, -0.0926f, -0.0495f, 0.0572f, 0.1609f, 0.1286f, -0.1199f, -0.3680f, -0.1378f, -0.4261f, -0.2389f, -0.0422f, -0.4306f, -0.1056f, -0.1813f, -0.2662f, 0.0590f, 0.1732f, 0.0657f, 0.1213f, 0.1749f, 0.0180f, -0.0507f, 0.1508f, -0.0724f, 0.1574f, -0.2109f, -0.1965f, -0.0112f, -0.0797f, 0.1006f, -0.0723f, }; const float YG_dicMR_2[] = { 0.0228f, 0.0529f, -0.0298f, 0.0091f, -0.0032f, -0.0203f, 0.0257f, -0.1199f, -0.0972f, -0.1446f, 0.0973f, -0.0390f, 0.1325f, -0.0197f, -0.1147f, 0.0997f, 0.0963f, -0.1539f, -0.0230f, -0.0630f, -0.1623f, 0.0325f, -0.0331f, -0.0305f, 0.0970f, -0.0857f, 0.1538f, -0.0361f, -0.2846f, 0.0992f, -0.2111f, 0.1353f, -0.0333f, -0.0737f, -0.0642f, 0.0198f, -0.1646f, -0.1605f, -0.1393f, -0.1688f, -0.0503f, 0.0930f, -0.1707f, 0.0298f, 0.0665f, -0.3677f, 0.0868f, 0.0036f, 0.1102f, -0.2346f, 0.1557f, -0.2765f, 0.0772f, -0.1922f, 0.0404f, 0.1428f, 0.0762f, -0.0352f, 0.0451f, 0.0668f, 0.0095f, -0.1723f, -0.2433f, 0.0611f, -0.2235f, -0.2127f, -0.0279f, 0.1118f, -0.2035f, 0.0849f, 0.0888f, -0.2901f, 0.1098f, 0.1764f, -0.0625f, 0.1007f, 0.0902f, 0.1143f, -0.3346f, 0.1015f, 0.0841f, 0.0401f, 0.0707f, -0.2672f, 0.1622f, 0.0297f, 0.0082f, -0.0532f, 0.1355f, 0.0621f, 0.1365f, 0.2015f, 0.0762f, 0.1201f, 0.1211f, -0.0066f, -0.0974f, 0.0770f, 0.1685f, -0.0806f, -0.1118f, 0.1734f, 0.0503f, 0.1013f, 0.0709f, 0.0217f, -0.1615f, -0.1139f, -0.0176f, 0.1448f, -0.0264f, -0.1122f, -0.0531f, 0.0113f, 0.0778f, 0.0461f, -0.3335f, 0.0486f, 0.0892f, 0.0152f, -0.1348f, -0.0405f, 0.1884f, 0.2103f, -0.0387f, 0.0294f, -0.0525f, 0.1893f, }; const float YG_dicMR_3[] = { -0.0251f, -0.0350f, -0.0207f, -0.0047f, -0.0986f, 0.0444f, -0.1942f, 0.0205f, 0.0972f, -0.1449f, -0.0134f, -0.0624f, 0.0691f, 0.0313f, -0.1153f, 0.0682f, -0.0600f, -0.1532f, 0.0686f, 0.0726f, -0.2082f, 0.1143f, 0.0874f, -0.2235f, 0.0664f, 0.0363f, 0.0510f, -0.1081f, -0.0409f, -0.1231f, 0.1104f, -0.1281f, 0.1524f, -0.1042f, 0.1901f, 0.0286f, 0.2634f, 0.0987f, -0.0240f, 0.0196f, 0.0332f, 0.0404f, 0.0347f, -0.3404f, 0.1252f, -0.1383f, -0.0367f, 0.2006f, 0.0302f, 0.1576f, 0.0487f, 0.0664f, -0.0403f, -0.1715f, -0.1502f, 0.0404f, 0.0814f, 0.1978f, -0.1116f, 0.2533f, -0.0878f, 0.0256f, -0.0268f, 0.1310f, -0.0548f, 0.0305f, 0.1372f, -0.0063f, 0.1706f, -0.2698f, 0.1976f, -0.3231f, -0.3001f, 0.2054f, -0.1872f, 0.1393f, -0.0756f, 0.1066f, -0.0278f, -0.0562f, -0.2551f, 0.1538f, 0.1377f, 0.0787f, 0.0689f, 0.2857f, -0.1765f, -0.0746f, -0.0800f, -0.0604f, -0.0612f, -0.1461f, 0.0864f, 0.0811f, -0.3889f, 0.1219f, 0.0810f, -0.0055f, 0.0534f, 0.0743f, 0.0794f, -0.3690f, 0.0922f, 0.0731f, -0.0230f, -0.0132f, 0.1657f, 0.2333f, 0.1238f, 0.2026f, 0.2103f, -0.1805f, -0.2186f, -0.0329f, 0.0040f, -0.0083f, 0.1654f, 0.1588f, 0.2346f, 0.1744f, 0.1993f, -0.1624f, -0.4251f, -0.1638f, 0.0670f, 0.0227f, -0.1506f, -0.1057f, }; const float YG_dicMR_4[] = { -0.0398f, -0.0108f, -0.0263f, 0.0079f, 0.1358f, 0.0373f, 0.0281f, 0.0293f, 0.1507f, 0.1997f, 0.1958f, 0.1756f, -0.1560f, -0.1623f, 0.0297f, 0.1620f, 0.0863f, -0.1354f, -0.0860f, -0.0209f, -0.2836f, 0.2034f, -0.2525f, 0.0796f, -0.1247f, -0.0991f, -0.1167f, -0.1276f, 0.1198f, -0.3596f, 0.0987f, -0.0051f, 0.0362f, 0.0702f, -0.0111f, -0.1328f, -0.0148f, 0.0420f, -0.1931f, -0.0108f, 0.1745f, -0.1095f, 0.2103f, 0.1230f, -0.0264f, 0.0641f, 0.1489f, 0.0289f, 0.2348f, 0.2016f, -0.2473f, -0.0091f, -0.0077f, -0.1208f, 0.0883f, -0.0523f, -0.0091f, 0.1614f, -0.0183f, 0.0706f, -0.2039f, 0.0593f, 0.0207f, -0.0256f, }; const float mean_m[] = { 2.8717f }; const float mean_gain_dic[] = { -0.1804f, -0.1267f, -0.0185f, 0.0358f, 0.1402f, 0.1903f, 0.2399f, 0.2894f, 0.3379f, 0.3858f, 0.4356f, 0.4857f, 0.5380f, 0.6452f, 0.6992f, 0.5914f, 0.0885f, -0.0721f, -0.2922f, -0.4726f, -0.6732f, -2.8699f, -2.0059f, 0.7528f, 0.8083f, -0.3501f, -0.4106f, -0.8156f, -2.2665f, -2.2112f, -2.1036f, -1.9001f, -1.7967f, -1.7001f, -1.6094f, -1.5218f, -1.3355f, -1.2328f, -1.1354f, -0.9654f, -0.6031f, -0.2352f, -0.5368f, -0.7426f, -0.8894f, -1.0479f, -1.4292f, -2.4899f, 1.0016f, 0.8661f, 1.0718f, 1.1517f, 0.9318f, -2.5695f, -2.8128f, -2.3365f, -2.4168f, -2.2389f, -2.6467f, -2.7259f, 1.3428f, 1.2399f, 1.4988f, 1.7072f, }; const float YGain_mean_LR[] = { -0.0940f, -0.0435f, -0.0348f, -0.0284f, -0.0113f, -0.0029f, 0.0156f, 0.0123f, 0.0288f, 0.0167f, 0.0324f, 0.0369f, }; const float YGain_dic1_LR[] = { -0.4660f, 0.0389f, -0.0220f, -0.0378f, 0.1016f, -0.0036f, -0.0241f, -0.0205f, 0.0967f, -0.4472f, -0.2070f, -0.0781f, -0.1901f, 0.2501f, 0.0111f, -0.4541f, -0.4299f, 0.0666f, 0.0197f, -0.0832f, -0.0755f, -0.1999f, -0.0008f, -0.0770f, 0.1179f, 0.0525f, -0.0474f, 0.0591f, 0.2288f, -0.0186f, -0.4468f, -0.4279f, -0.2691f, -0.3880f, 0.2118f, -0.1605f, -0.2224f, 0.0950f, 0.1028f, -0.4478f, 0.2234f, 0.0952f, -0.0352f, 0.1378f, -0.2121f, 0.2143f, -0.3769f, 0.0736f, 0.1089f, 0.0811f, 0.0917f, -0.1318f, -0.2008f, -0.2444f, 0.1339f, -0.0469f, 0.0567f, 0.2245f, -0.1437f, -0.0427f, 0.2121f, 0.1750f, -0.1378f, 0.1945f, -0.0252f, -0.2556f, -0.0819f, -0.4228f, -0.0453f, -0.4492f, -0.0842f, 0.1383f, 0.2943f, 0.0266f, 0.0106f, 0.2405f, -0.1113f, 0.1391f, 0.1588f, -0.2987f, -0.2134f, 0.2265f, 0.1837f, 0.0951f, -0.0302f, 0.2034f, 0.1404f, -0.4421f, -0.0608f, -0.2788f, -0.1736f, -0.1872f, 0.0451f, 0.0840f, -0.2138f, 0.0652f, }; const float YGain_dic2_LR[] = { -0.0718f, -0.0178f, -0.0101f, 0.0026f, 0.0675f, 0.0806f, -0.3212f, 0.0423f, 0.0064f, -0.1738f, 0.0211f, 0.0003f, -0.2054f, -0.1316f, 0.0600f, -0.1170f, 0.0105f, -0.0505f, 0.1732f, 0.0282f, 0.0254f, -0.0482f, 0.0554f, -0.1338f, 0.0638f, -0.0556f, 0.0402f, 0.1480f, 0.1496f, 0.0983f, -0.0297f, -0.1025f, 0.0034f, 0.0444f, -0.1327f, -0.1633f, -0.1793f, 0.0958f, -0.1200f, -0.0319f, -0.3214f, 0.0670f, 0.0283f, 0.0808f, -0.3269f, 0.1307f, -0.3079f, 0.1485f, -0.0844f, 0.0677f, -0.1040f, 0.1779f, -0.2606f, -0.2042f, -0.1393f, 0.0948f, 0.1570f, 0.1228f, 0.1182f, 0.1300f, -0.0362f, 0.1092f, 0.0294f, -0.0957f, -0.1465f, 0.0641f, 0.1266f, -0.0182f, 0.1676f, -0.0844f, 0.0926f, 0.0055f, 0.0318f, 0.0583f, 0.0917f, -0.3336f, 0.0165f, 0.1601f, -0.0881f, 0.0224f, 0.1485f, 0.0699f, -0.0988f, 0.1190f, -0.2517f, 0.1238f, 0.1276f, -0.2371f, 0.0124f, -0.0108f, -0.1272f, 0.0421f, -0.1400f, -0.1221f, 0.0972f, 0.1542f, 0.0587f, 0.0358f, 0.0254f, 0.0125f, -0.0780f, -0.1659f, -0.2174f, -0.0971f, -0.0475f, 0.1229f, 0.0746f, 0.1120f, 0.0819f, 0.0898f, 0.1615f, -0.0950f, 0.0923f, -0.1925f, -0.1311f, 0.1660f, 0.1057f, -0.2756f, 0.1153f, -0.2155f, 0.1153f, -0.0761f, -0.0735f, -0.0506f, 0.0922f, -0.3286f, 0.1058f, 0.0996f, }; const float YGain_dic3_LR[] = { -0.0810f, -0.0466f, -0.0299f, -0.1110f, -0.0512f, 0.0888f, -0.0116f, -0.1622f, 0.0996f, 0.0549f, -0.1406f, -0.0835f, 0.0897f, 0.0128f, 0.0658f, -0.0958f, -0.0384f, -0.0188f, 0.1526f, -0.0546f, -0.0446f, -0.1591f, -0.0990f, 0.0242f, 0.0650f, 0.0059f, 0.0158f, 0.0180f, 0.1281f, 0.1497f, -0.1966f, 0.0746f, -0.0936f, -0.0051f, 0.0602f, 0.0038f, 0.0325f, -0.1016f, -0.0009f, -0.1385f, 0.0718f, -0.1831f, 0.1082f, -0.0897f, 0.0557f, 0.1308f, 0.1992f, 0.1872f, 0.1371f, 0.1449f, -0.0131f, 0.0489f, -0.2706f, -0.1422f, 0.0554f, 0.0300f, -0.0106f, 0.1011f, -0.0918f, -0.1585f, 0.1445f, -0.1593f, -0.1646f, -0.0943f, -0.0868f, 0.0244f, -0.0142f, -0.0110f, -0.0264f, 0.0251f, -0.1774f, -0.0473f, -0.2856f, 0.2274f, 0.2675f, 0.1251f, 0.1851f, -0.1073f, -0.1877f, -0.2566f, 0.0885f, 0.1921f, -0.0673f, -0.0339f, 0.0364f, -0.0533f, 0.0944f, 0.1116f, -0.1010f, 0.0646f, -0.0492f, 0.1618f, -0.2695f, 0.2154f, -0.0825f, -0.0139f, 0.0988f, 0.0656f, 0.0628f, -0.0539f, 0.0817f, 0.2109f, 0.2841f, -0.1492f, -0.1509f, 0.3113f, 0.1205f, -0.4354f, 0.0290f, 0.2983f, 0.1837f, 0.0186f, 0.0660f, 0.0179f, -0.0140f, 0.0917f, -0.3063f, 0.0353f, 0.1767f, 0.1473f, -0.2414f, 0.1508f, 0.1609f, 0.1647f, 0.1367f, 0.0313f, -0.0359f, -0.0337f, -0.0899f, 0.2352f, 0.0341f, -0.0414f, 0.2115f, 0.1313f, 0.0311f, 0.0299f, -0.1503f, 0.0406f, 0.0575f, -0.0966f, 0.0914f, 0.0680f, 0.0994f, 0.1587f, -0.3097f, -0.2103f, 0.1496f, -0.1844f, -0.3256f, -0.2372f, -0.2251f, 0.0767f, 0.1015f, -0.0279f, -0.1582f, 0.0647f, 0.0207f, 0.0148f, -0.2710f, 0.0109f, }; const short Odx_fft64[64] = { 0,59,54,49,44,39,34,29,24,19,14,9,4,63,58,53,48,43,38,33,28,23,18,13,8,3,62,57,52,47,42,37, 32,27,22,17,12,7,2,61,56,51,46,41,36,31,26,21,16,11,6,1,60,55,50,45,40,35,30,25,20,15,10,5 }; const float w_fft64[32] = { 1.0000000f,0.00000000f,0.70710677f,0.70710677f,0.92387950f,0.38268346f,0.38268346f,0.92387950f, 0.98078525f,0.19509032f,0.55557024f,0.83146960f,0.83146960f,0.55557024f,0.19509032f,0.98078525f, 0.99518472f,0.098017141f,0.63439327f,0.77301043f,0.88192123f,0.47139674f,0.29028469f,0.95694035f, 0.95694035f,0.29028469f,0.47139674f,0.88192123f,0.77301043f,0.63439327f,0.098017141f,0.99518472f }; const short Ip_fft64[6] = { 32,1,0,64,32,96 }; const short Odx_fft32_15[32] = { 0,17,2,19,4,21,6,23,8,25,10,27,12,29,14,31,16,1,18,3,20,5,22,7,24,9,26,11,28,13,30,15 }; const float w_fft32[16] = { 1.0000000f,0.00000000f,0.70710677f,0.70710677f,0.92387950f,0.38268346f,0.38268346f,0.92387950f, 0.98078525f,0.19509032f,0.55557024f,0.83146960f,0.83146960f,0.55557024f,0.19509032f,0.98078525f }; const short Ip_fft32[6] = { 16,1,0,32,16,48 }; const short Odx_fft32_5[32] = { 0,27,22,17,12,7,2,29,24,19,14,9,4,31,26,21,16,11,6,1,28,23,18,13,8,3,30,25,20,15,10,5 }; const short Odx_fft16[16] = {0,11,6,1,12,7,2,13,8,3,14,9,4,15,10,5}; const float w_fft16[8] = { 1.0000000f,0.00000000f,0.70710677f,0.70710677f,0.92387950f,0.38268346f,0.38268346f,0.92387950f }; const short Ip_fft16[6] = {8,1,0,16,8,24}; const float w_fft8[8] = {1.0000000f,0.00000000f,0.70710677f,0.70710677f }; const short Ip_fft8[6] = {4,1,0,8,4,12}; const short Idx_dortft80[80] = { 0,65,50,35,20,5,70,55,40,25,10,75,60,45,30,15,16,1,66,51,36,21,6,71,56,41,26,11,76,61, 46,31,32,17,2,67,52,37,22,7,72,57,42,27,12,77,62,47,48,33,18,3,68,53,38,23,8,73,58,43, 28,13,78,63,64,49,34,19,4,69,54,39,24,9,74,59,44,29,14,79 }; const short Idx_dortft120[120] = { 0,105,90,75,60,45,30,15,16,1,106,91,76,61,46,31,32,17,2,107,92,77,62,47, 48,33,18,3,108,93,78,63,64,49,34,19,4,109,94,79,80,65,50,35,20,5,110,95, 96,81,66,51,36,21,6,111,112,97,82,67,52,37,22,7,8,113,98,83,68,53,38,23, 24,9,114,99,84,69,54,39,40,25,10,115,100,85,70,55,56,41,26,11,116,101,86, 71,72,57,42,27,12,117,102,87,88,73,58,43,28,13,118,103,104,89,74,59,44,29,14,119 }; const short Idx_dortft160[160] = { 0,65,130,35,100,5,70,135,40,105,10,75,140,45,110,15,80,145, 50,115,20,85,150,55,120,25,90,155,60,125,30,95,96,1,66,131, 36,101,6,71,136,41,106,11,76,141,46,111,16,81,146,51,116,21, 86,151,56,121,26,91,156,61,126,31,32,97,2,67,132,37,102,7, 72,137,42,107,12,77,142,47,112,17,82,147,52,117,22,87,152,57, 122,27,92,157,62,127,128,33,98,3,68,133,38,103,8,73,138,43, 108,13,78,143,48,113,18,83,148,53,118,23,88,153,58,123,28,93, 158,63,64,129,34,99,4,69,134,39,104,9,74,139,44,109,14,79, 144,49,114,19,84,149,54,119,24,89,154,59,124,29,94,159 }; const short Idx_dortft320[320] = { 0,65,130,195,260,5,70,135,200,265,10,75,140,205,270,15,80,145,210,275,20,85,150,215,280,25,90,155,220,285,30,95, 160,225,290,35,100,165,230,295,40,105,170,235,300,45,110,175,240,305,50,115,180,245,310,55,120,185,250,315,60,125, 190,255,256,1,66,131,196,261,6,71,136,201,266,11,76,141,206,271,16,81,146,211,276,21,86,151,216,281,26,91,156,221, 286,31,96,161,226,291,36,101,166,231,296,41,106,171,236,301,46,111,176,241,306,51,116,181,246,311,56,121,186,251, 316,61,126,191,192,257,2,67,132,197,262,7,72,137,202,267,12,77,142,207,272,17,82,147,212,277,22,87,152,217,282,27, 92,157,222,287,32,97,162,227,292,37,102,167,232,297,42,107,172,237,302,47,112,177,242,307,52,117,182,247,312,57,122, 187,252,317,62,127,128,193,258,3,68,133,198,263,8,73,138,203,268,13,78,143,208,273,18,83,148,213,278,23,88,153,218, 283,28,93,158,223,288,33,98,163,228,293,38,103,168,233,298,43,108,173,238,303,48,113,178,243,308,53,118,183,248,313, 58,123,188,253,318,63,64,129,194,259,4,69,134,199,264,9,74,139,204,269,14,79,144,209,274,19,84,149,214,279,24,89,154, 219,284,29,94,159,224,289,34,99,164,229,294,39,104,169,234,299,44,109,174,239,304,49,114,179,244,309,54,119,184,249, 314,59,124,189,254,319 }; const short Idx_dortft480[480] = { 0,225,450,195,420,165,390,135,360,105,330,75,300,45,270,15,240,465,210,435,180,405,150,375,120,345, 90,315,60,285,30,255,256,1,226,451,196,421,166,391,136,361,106,331,76,301,46,271,16,241,466,211,436, 181,406,151,376,121,346,91,316,61,286,31,32,257,2,227,452,197,422,167,392,137,362,107,332,77,302,47, 272,17,242,467,212,437,182,407,152,377,122,347,92,317,62,287,288,33,258,3,228,453,198,423,168,393,138, 363,108,333,78,303,48,273,18,243,468,213,438,183,408,153,378,123,348,93,318,63,64,289,34,259,4,229,454, 199,424,169,394,139,364,109,334,79,304,49,274,19,244,469,214,439,184,409,154,379,124,349,94,319,320, 65,290,35,260,5,230,455,200,425,170,395,140,365,110,335,80,305,50,275,20,245,470,215,440,185,410,155, 380,125,350,95,96,321,66,291,36,261,6,231,456,201,426,171,396,141,366,111,336,81,306,51,276,21,246,471, 216,441,186,411,156,381,126,351,352,97,322,67,292,37,262,7,232,457,202,427,172,397,142,367,112,337,82, 307,52,277,22,247,472,217,442,187,412,157,382,127,128,353,98,323,68,293,38,263,8,233,458,203,428,173, 398,143,368,113,338,83,308,53,278,23,248,473,218,443,188,413,158,383,384,129,354,99,324,69,294,39,264, 9,234,459,204,429,174,399,144,369,114,339,84,309,54,279,24,249,474,219,444,189,414,159,160,385,130,355, 100,325,70,295,40,265,10,235,460,205,430,175,400,145,370,115,340,85,310,55,280,25,250,475,220,445,190, 415,416,161,386,131,356,101,326,71,296,41,266,11,236,461,206,431,176,401,146,371,116,341,86,311,56,281, 26,251,476,221,446,191,192,417,162,387,132,357,102,327,72,297,42,267,12,237,462,207,432,177,402,147,372, 117,342,87,312,57,282,27,252,477,222,447,448,193,418,163,388,133,358,103,328,73,298,43,268,13,238,463, 208,433,178,403,148,373,118,343,88,313,58,283,28,253,478,223,224,449,194,419,164,389,134,359,104,329,74, 299,44,269,14,239,464,209,434,179,404,149,374,119,344,89,314,59,284,29,254,479 }; const short Ip_fft128[10] = { 64, 1, 0, 128, 64, 192, 32, 160, 96, 224 }; const float w_fft128[64] = { 1.0000000f, 0.00000000f, 0.70710677f, 0.70710677f, 0.92387950f, 0.38268346f, 0.38268346f, 0.92387950f, 0.98078525f, 0.19509032f, 0.55557024f, 0.83146960f, 0.83146960f, 0.55557024f, 0.19509032f, 0.98078525f, 0.99518472f, 0.09801714f, 0.63439327f, 0.77301043f, 0.88192123f, 0.47139674f, 0.29028469f, 0.95694035f, 0.95694035f, 0.29028469f, 0.47139674f, 0.88192123f, 0.77301043f, 0.63439327f, 0.09801714f, 0.99518472f, 0.99879545f, 0.04906767f, 0.67155895f, 0.74095112f, 0.90398929f, 0.42755509f, 0.33688985f, 0.94154406f, 0.97003125f, 0.24298017f, 0.51410274f, 0.85772861f, 0.80320753f, 0.59569930f, 0.14673047f, 0.98917650f, 0.98917650f, 0.14673047f, 0.59569930f, 0.80320753f, 0.85772861f, 0.51410274f, 0.24298017f, 0.97003125f, 0.94154406f, 0.33688985f, 0.42755509f, 0.90398929f, 0.74095112f, 0.67155895f, 0.04906767f, 0.99879545f }; const short Ip_fft256[10] = {128, 1, 0, 256, 128, 384, 64, 320,192, 448}; const float w_fft256[128] = { 1.00000000f, 0.00000000f, 0.70710678f, 0.70710678f, 0.92387953f, 0.38268343f, 0.38268343f, 0.92387953f, 0.98078528f, 0.19509032f, 0.55557023f, 0.83146961f, 0.83146961f, 0.55557023f, 0.19509032f, 0.98078528f, 0.99518473f, 0.09801714f, 0.63439328f, 0.77301045f, 0.88192126f, 0.47139674f, 0.29028468f, 0.95694034f, 0.95694034f, 0.29028468f, 0.47139674f, 0.88192126f, 0.77301045f, 0.63439328f, 0.09801714f, 0.99518473f, 0.99879546f, 0.04906767f, 0.67155895f, 0.74095113f, 0.90398929f, 0.42755509f, 0.33688985f, 0.94154407f, 0.97003125f, 0.24298018f, 0.51410274f, 0.85772861f, 0.80320753f, 0.59569930f, 0.14673047f, 0.98917651f, 0.98917651f, 0.14673047f, 0.59569930f, 0.80320753f, 0.85772861f, 0.51410274f, 0.24298018f, 0.97003125f, 0.94154407f, 0.33688985f, 0.42755509f, 0.90398929f, 0.74095113f, 0.67155895f, 0.04906767f, 0.99879546f, 0.99969882f, 0.02454123f, 0.68954054f, 0.72424708f, 0.91420976f, 0.40524131f, 0.35989504f, 0.93299280f, 0.97570213f, 0.21910124f, 0.53499762f, 0.84485357f, 0.81758481f, 0.57580819f, 0.17096189f, 0.98527764f, 0.99247953f, 0.12241068f, 0.61523159f, 0.78834643f, 0.87008699f, 0.49289819f, 0.26671276f, 0.96377607f, 0.94952818f, 0.31368174f, 0.44961133f, 0.89322430f, 0.75720885f, 0.65317284f, 0.07356456f, 0.99729046f, 0.99729046f, 0.07356456f, 0.65317284f, 0.75720885f, 0.89322430f, 0.44961133f, 0.31368174f, 0.94952818f, 0.96377607f, 0.26671276f, 0.49289819f, 0.87008699f, 0.78834643f, 0.61523159f, 0.12241068f, 0.99247953f, 0.98527764f, 0.17096189f, 0.57580819f, 0.81758481f, 0.84485357f, 0.53499762f, 0.21910124f, 0.97570213f, 0.93299280f, 0.35989504f, 0.40524131f, 0.91420976f, 0.72424708f, 0.68954054f, 0.02454123f, 0.99969882f }; const short Ip_fft512[18] = {256, 1, 0, 512, 256, 768, 128, 640,384, 896, 64, 576, 320, 832, 192, 704,448, 960}; const float w_fft512[256] = { 1.00000000f, 0.00000000f, 0.70710678f, 0.70710678f, 0.92387953f, 0.38268343f, 0.38268343f, 0.92387953f, 0.98078528f, 0.19509032f, 0.55557023f, 0.83146961f, 0.83146961f, 0.55557023f, 0.19509032f, 0.98078528f, 0.99518473f, 0.09801714f, 0.63439328f, 0.77301045f, 0.88192126f, 0.47139674f, 0.29028468f, 0.95694034f, 0.95694034f, 0.29028468f, 0.47139674f, 0.88192126f, 0.77301045f, 0.63439328f, 0.09801714f, 0.99518473f, 0.99879546f, 0.04906767f, 0.67155895f, 0.74095113f, 0.90398929f, 0.42755509f, 0.33688985f, 0.94154407f, 0.97003125f, 0.24298018f, 0.51410274f, 0.85772861f, 0.80320753f, 0.59569930f, 0.14673047f, 0.98917651f, 0.98917651f, 0.14673047f, 0.59569930f, 0.80320753f, 0.85772861f, 0.51410274f, 0.24298018f, 0.97003125f, 0.94154407f, 0.33688985f, 0.42755509f, 0.90398929f, 0.74095113f, 0.67155895f, 0.04906767f, 0.99879546f, 0.99969882f, 0.02454123f, 0.68954054f, 0.72424708f, 0.91420976f, 0.40524131f, 0.35989504f, 0.93299280f, 0.97570213f, 0.21910124f, 0.53499762f, 0.84485357f, 0.81758481f, 0.57580819f, 0.17096189f, 0.98527764f, 0.99247953f, 0.12241068f, 0.61523159f, 0.78834643f, 0.87008699f, 0.49289819f, 0.26671276f, 0.96377607f, 0.94952818f, 0.31368174f, 0.44961133f, 0.89322430f, 0.75720885f, 0.65317284f, 0.07356456f, 0.99729046f, 0.99729046f, 0.07356456f, 0.65317284f, 0.75720885f, 0.89322430f, 0.44961133f, 0.31368174f, 0.94952818f, 0.96377607f, 0.26671276f, 0.49289819f, 0.87008699f, 0.78834643f, 0.61523159f, 0.12241068f, 0.99247953f, 0.98527764f, 0.17096189f, 0.57580819f, 0.81758481f, 0.84485357f, 0.53499762f, 0.21910124f, 0.97570213f, 0.93299280f, 0.35989504f, 0.40524131f, 0.91420976f, 0.72424708f, 0.68954054f, 0.02454123f, 0.99969882f, 0.99992470f, 0.01227154f, 0.69837625f, 0.71573083f, 0.91911385f, 0.39399204f, 0.37131719f, 0.92850608f, 0.97831737f, 0.20711138f, 0.54532499f, 0.83822471f, 0.82458930f, 0.56573181f, 0.18303989f, 0.98310549f, 0.99390697f, 0.11022221f, 0.62485949f, 0.78073723f, 0.87607009f, 0.48218377f, 0.27851969f, 0.96043052f, 0.95330604f, 0.30200595f, 0.46053871f, 0.88763962f, 0.76516727f, 0.64383154f, 0.08579731f, 0.99631261f, 0.99811811f, 0.06132074f, 0.66241578f, 0.74913639f, 0.89867447f, 0.43861624f, 0.32531029f, 0.94560733f, 0.96697647f, 0.25486566f, 0.50353838f, 0.86397286f, 0.79583690f, 0.60551104f, 0.13458071f, 0.99090264f, 0.98730142f, 0.15885814f, 0.58579786f, 0.81045720f, 0.85135519f, 0.52458968f, 0.23105811f, 0.97293995f, 0.93733901f, 0.34841868f, 0.41642956f, 0.90916798f, 0.73265427f, 0.68060100f, 0.03680722f, 0.99932238f, 0.99932238f, 0.03680722f, 0.68060100f, 0.73265427f, 0.90916798f, 0.41642956f, 0.34841868f, 0.93733901f, 0.97293995f, 0.23105811f, 0.52458968f, 0.85135519f, 0.81045720f, 0.58579786f, 0.15885814f, 0.98730142f, 0.99090264f, 0.13458071f, 0.60551104f, 0.79583690f, 0.86397286f, 0.50353838f, 0.25486566f, 0.96697647f, 0.94560733f, 0.32531029f, 0.43861624f, 0.89867447f, 0.74913639f, 0.66241578f, 0.06132074f, 0.99811811f, 0.99631261f, 0.08579731f, 0.64383154f, 0.76516727f, 0.88763962f, 0.46053871f, 0.30200595f, 0.95330604f, 0.96043052f, 0.27851969f, 0.48218377f, 0.87607009f, 0.78073723f, 0.62485949f, 0.11022221f, 0.99390697f, 0.98310549f, 0.18303989f, 0.56573181f, 0.82458930f, 0.83822471f, 0.54532499f, 0.20711138f, 0.97831737f, 0.92850608f, 0.37131719f, 0.39399204f, 0.91911385f, 0.71573083f, 0.69837625f, 0.01227154f, 0.99992470f }; const short Idx_dortft40[40] = { 0, 25, 10, 35, 20, 5, 30, 15, 16, 1, 26, 11, 36, 21, 6, 31, 32, 17, 2, 27, 12, 37, 22, 7, 8, 33, 18, 3, 28, 13, 38, 23, 24, 9, 34, 19, 4, 29, 14, 39 }; const short Odx_fft8_5[8] = {0, 3, 6, 1, 4, 7, 2, 5}; const short Idx_dortft20[20] = {0, 5, 10, 15, 16, 1, 6, 11, 12, 17, 2, 7, 8, 13, 18, 3, 4, 9, 14, 19}; const short Odx_fft4_5[4] = {0, 3, 2, 1}; const float w_fft4[2] = {1.0000000f, 0.00000000f}; const short Ip_fft4[6] = {2,1,0,4,2,6}; const short ip_edct2_64[6] = {16, 64, 0, 32, 16, 48}; const float w_edct2_64[80] = { 1.00000000f, 0.00000000f, 0.70710678f, 0.70710678f, 0.92387953f, 0.38268343f, 0.38268343f, 0.92387953f, 0.98078528f, 0.19509032f, 0.55557023f, 0.83146961f, 0.83146961f, 0.55557023f, 0.19509032f, 0.98078528f, 0.70710678f, 0.49984940f, 0.49939772f, 0.49864522f, 0.49759236f, 0.49623976f, 0.49458825f, 0.49263882f, 0.49039264f, 0.48785106f, 0.48501562f, 0.48188803f, 0.47847016f, 0.47476409f, 0.47077203f, 0.46649639f, 0.46193976f, 0.45710487f, 0.45199464f, 0.44661215f, 0.44096063f, 0.43504349f, 0.42886430f, 0.42242678f, 0.41573480f, 0.40879240f, 0.40160376f, 0.39417321f, 0.38650522f, 0.37860442f, 0.37047556f, 0.36212354f, 0.35355339f, 0.34477027f, 0.33577947f, 0.32658642f, 0.31719664f, 0.30761579f, 0.29784965f, 0.28790409f, 0.27778511f, 0.26749880f, 0.25705137f, 0.24644909f, 0.23569836f, 0.22480566f, 0.21377754f, 0.20262065f, 0.19134171f, 0.17994751f, 0.16844492f, 0.15684087f, 0.14514233f, 0.13335637f, 0.12149008f, 0.10955062f, 0.09754516f, 0.08548094f, 0.07336523f, 0.06120533f, 0.04900857f, 0.03678228f, 0.02453383f, 0.01227061f }; /* HVQ */ const float hvq_thr_adj[5] = { 0.7071068f, 0.5000000f, 0.2500000f, 0.5000000f, 0.7071068f}; const float hvq_class_c[16] = { -0.2324457f, -0.4390556f, 0.0651793f, 0.2109977f, 0.1471332f, -0.1351437f, 0.4312476f, -0.1384814f, -0.1384814f, 0.4312476f, -0.1351437f, 0.1471332f, 0.2109977f, 0.0651793f, -0.4390556f, -0.2324457f }; const short hvq_cb_search_overlap24k[17] = { 0, 8, 17, 27, 39, 53, 69, 89, 113, 128, 128, 128, 128, 128, 128, 128, 128 }; const short hvq_cb_search_overlap32k[21] = { 0, 6, 13, 21, 30, 40, 51, 64, 78, 96, 116, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 }; const float hvq_peak_cb[1024] = { -0.6912956f, -0.6271097f, -0.7024875f, 0.4262808f, -0.7780800f, -0.8390081f, -0.2123103f, 0.1755754f, -0.6005284f, -0.6187206f, -0.1867433f, 0.5583949f, -0.1626335f, -0.6971197f, -0.6486326f, 0.4250869f, -0.8399908f, -0.8860587f, 0.0171807f, 0.2217064f, -0.7976624f, -0.4009260f, -0.2953390f, 0.2432917f, -0.0157667f, -0.6356865f, -0.3266405f, 0.8188483f, -0.8489450f, -0.6545582f, 0.0063441f, 0.1921560f, -0.4517379f, -0.8665710f, -0.2336057f, 0.1562026f, 0.4618506f, -0.7325841f, -0.6645442f, 0.7730063f, -0.3442883f, -0.7223252f, -0.6207414f, -0.0612312f, -0.4947599f, -0.7362953f, 0.2769519f, 0.6891029f, -0.6117975f, -0.7841619f, -0.0077496f, 0.1986304f, -0.5240943f, -0.9067913f, 0.0485043f, 0.2167943f, -0.5396412f, -0.1256491f, -0.1235545f, 0.6819669f, -0.8648130f, -0.4241201f, 0.0204877f, 0.2068082f, -0.5605495f, -0.5470207f, -0.2261054f, 0.1577327f, -0.6742380f, -0.5969556f, 0.0214089f, 0.1821478f, -0.2017185f, -0.8361119f, -0.1487647f, 0.2677230f, -0.9043679f, -0.1694224f, 0.0082920f, 0.2133927f, -0.2797693f, -0.6069181f, -0.2787998f, 0.1967338f, -0.7057108f, -0.7816155f, 0.2978523f, 0.1754361f, -0.3176815f, -0.9099026f, 0.0490125f, 0.2141907f, -0.4198575f, -0.7583196f, 0.0635993f, 0.2175556f, -0.5430584f, -0.4931615f, 0.0181889f, 0.2223880f, -0.6798062f, -0.3401114f, 0.0158910f, 0.1975791f, -0.4111015f, -0.6318658f, -0.0022674f, 0.2056921f, 0.0577086f, -0.4957561f, -0.3895008f, 0.4151040f, -0.0493461f, -0.8356919f, -0.2944458f, 0.0766301f, -0.6653519f, -0.3581038f, -0.1475882f, -0.0488843f, -0.2951041f, -0.8518280f, 0.1970185f, 0.1934331f, -0.7088394f, -0.1404796f, 0.0230110f, 0.1779071f, -0.2349629f, -0.7451124f, 0.0672633f, 0.1989080f, -0.8420037f, 0.0843352f, 0.0575119f, 0.2087238f, -0.4653422f, -0.3204370f, 0.0104996f, 0.2118398f, -0.4042698f, -0.2978680f, -0.1369022f, 0.1310524f, -0.3691715f, -0.4627771f, 0.0194469f, 0.1874501f, -0.7932880f, -0.4999925f, 0.5272518f, 0.1987127f, -0.3157207f, -0.7989150f, 0.0281708f, -0.0724433f, -0.4063714f, -0.5531399f, 0.2087681f, 0.2166726f, -0.6433928f, -0.7400934f, 0.1283951f, -0.2888276f, -0.6992665f, -0.2153651f, 0.2638986f, 0.2449246f, 0.0759221f, -0.6326668f, -0.0243810f, 0.4197445f, -0.1053094f, -0.3928218f, 0.0776661f, 0.5284011f, 0.0786145f, -0.5979541f, -0.3155530f, 0.1330860f, -0.2138216f, -0.5920822f, 0.0591093f, 0.2060311f, 0.5341295f, -0.7605932f, -0.5172090f, 0.2604366f, -0.1048604f, -0.8851262f, 0.1927255f, 0.1973499f, -0.5168340f, -0.1512779f, 0.0180467f, 0.2015491f, 0.0335269f, -0.8175794f, -0.0216168f, 0.1691676f, -0.1815545f, -0.4323540f, -0.1449728f, 0.1241323f, -0.3259940f, -0.4574721f, -0.2285515f, -0.1586095f, 0.0051494f, -0.1975091f, -0.1569577f, 0.4943931f, -0.6204569f, 0.0525578f, 0.0120660f, 0.1902273f, -0.4779290f, -0.6992531f, 0.7534508f, 0.4339787f, -0.1187649f, -0.6976845f, 0.1573026f, 0.1922948f, -0.2681343f, -0.3088476f, 0.0065871f, 0.2084513f, -0.3780985f, -0.3375740f, 0.1472063f, 0.1975328f, -0.2351356f, -0.1280155f, -0.1625378f, 0.2005500f, -0.0170806f, -0.6339361f, -0.0847550f, 0.0556140f, -0.2045688f, -0.4398525f, 0.0735149f, 0.1856326f, -0.3233196f, -0.7640965f, 0.4361117f, 0.1472444f, 0.0629942f, -0.7853858f, 0.5146322f, 0.6244928f, -0.0839811f, -0.8881392f, 0.3847862f, 0.2300789f, -0.2330840f, -0.5500582f, 0.0594403f, 0.0210406f, -0.3345076f, -0.1781868f, 0.0208460f, 0.1883004f, -0.7935783f, 0.3725855f, 0.3278117f, 0.4754694f, -0.0642284f, -0.2632120f, -0.1505273f, 0.2129149f, -0.3033468f, -0.4616954f, 0.3710885f, 0.2992681f, -0.4248384f, -0.0016876f, 0.0134380f, 0.1927050f, -0.0092953f, -0.1855540f, 0.3449483f, 0.7852289f, -0.3791312f, -0.0964576f, 0.2097941f, 0.3001604f, -0.0848375f, -0.5015270f, 0.1259740f, 0.1763195f, 0.5429158f, -0.3354102f, -0.2024174f, 0.6442416f, 0.3773962f, -0.8102532f, -0.3228953f, -0.0772150f, -0.2048677f, -0.3115774f, 0.1465945f, 0.1916357f, -0.1810441f, 0.0864401f, 0.1519246f, 0.5593738f, 0.0822840f, -0.7269843f, -0.3622333f, -0.4062700f, 0.1607091f, -0.3317170f, -0.2421061f, 0.1359637f, -0.0962719f, -0.3355251f, 0.0679005f, 0.1770951f, 0.0250174f, -0.3651731f, -0.0426421f, 0.1630863f, -0.1534063f, -0.2206571f, 0.0377216f, 0.1773635f, -0.0503107f, -0.6410940f, 0.2730565f, 0.1690477f, -0.4957757f, -0.0244409f, -0.0162808f, -0.0955787f, -0.2524313f, -0.0397484f, 0.0112025f, 0.1818186f, -0.8109849f, -0.1058945f, 0.2174591f, -0.2708842f, -0.1470562f, -0.1641739f, -0.1197168f, 0.0447477f, 0.0588656f, -0.6303298f, 0.1348466f, 0.1117979f, 0.0743650f, -0.8166042f, 0.3325572f, 0.1713777f, -0.2014585f, -0.3172087f, 0.0655640f, 0.0041949f, 0.4579843f, -0.6991156f, -0.1204969f, 0.1891217f, -0.2764455f, -0.8453921f, 0.7031553f, 0.1247506f, 0.2536679f, -0.0081430f, 0.0907404f, 0.7806163f, -0.1158093f, -0.1102171f, -0.0149151f, 0.1648406f, 0.2353252f, -0.7899960f, 0.1050820f, 0.0800406f, -0.7417480f, 0.0943212f, 0.4042825f, 0.0998893f, -0.0950040f, -0.0430378f, 0.1080511f, 0.3676440f, 0.0093255f, -0.3641596f, -0.1371177f, -0.0609554f, -0.5714336f, 0.2519692f, 0.2317291f, 0.2202618f, -0.4146698f, -0.2566845f, 0.2659634f, -0.0347036f, -0.3670773f, 0.1802618f, 0.5463926f, 0.6508593f, -0.0678326f, -0.7015804f, 0.3010046f, -0.0498279f, -0.0220688f, -0.1813971f, 0.0217875f, 0.1577779f, 0.0649310f, -0.4638375f, 0.0635012f, 0.0496216f, -0.0147237f, -0.2600337f, 0.2481463f, 0.3285215f, 0.0016037f, -0.3668163f, 0.1572298f, 0.1535826f, 0.0720517f, -0.4195340f, 0.7542142f, 0.8043668f, 0.0327889f, -0.8709202f, 0.5519686f, 0.1322237f, 0.0325743f, -0.6758953f, 0.4356905f, 0.1690573f, 0.0222460f, -0.4592628f, 0.2421902f, 0.1418606f, -0.5079813f, -0.1937920f, 0.7216264f, 0.2938249f, -0.0027737f, -0.2586997f, 0.1006489f, 0.1311191f, 0.1067900f, -0.2263411f, -0.0675541f, 0.0894570f, -0.1463278f, -0.1350150f, 0.1979781f, 0.1301280f, -0.2848267f, 0.1030649f, 0.2004989f, 0.1749749f, 0.0528965f, -0.5370577f, 0.3406753f, 0.1271570f, -0.0828084f, -0.4938643f, 0.4483900f, 0.1278149f, -0.7256999f, 0.2998409f, 0.7843215f, 0.4678534f, 0.0178764f, -0.5886182f, 0.6584490f, 0.3674424f, 0.3457182f, -0.4777862f, 0.0898507f, 0.2238471f, 0.2808650f, -0.5159423f, -0.1746428f, -0.1639121f, -0.2412612f, -0.1413623f, 0.3805663f, 0.1746805f, -0.0037664f, -0.5041469f, 0.0297737f, -0.2529321f, 0.0385025f, -0.1210239f, -0.0919721f, -0.0045255f, 0.0070289f, -0.0661929f, 0.0154059f, 0.1206527f, -0.0688511f, -0.3501640f, 0.3048728f, 0.0806736f, 0.1477360f, -0.2446724f, -0.1408905f, -0.0903137f, 0.7393242f, -0.6937444f, 0.2281068f, 0.5408337f, 0.2058932f, -0.1764501f, 0.1488327f, 0.2644186f, -0.2103685f, -0.7390670f, 0.3717342f, -0.4480860f, 0.0866347f, -0.2311362f, 0.1469333f, 0.0725029f, 0.0817948f, -0.1216286f, 0.0533709f, 0.0628859f, -0.0171689f, 0.0986378f, 0.0927410f, 0.1758267f, 0.0104681f, -0.1266550f, 0.2014265f, 0.1157332f, 0.1939706f, 0.2196828f, 0.3266076f, 0.7405447f, -0.7823431f, -0.3710044f, 0.6980741f, -0.4465685f, 0.0743889f, -0.2648934f, 0.2536655f, 0.0943156f, 0.2177452f, -0.0949112f, 0.0081777f, 0.1387556f, 0.1303671f, 0.1490959f, 0.1788726f, 0.4326436f, 0.3473369f, -0.3169577f, -0.0234188f, 0.0441885f, 0.0540186f, -0.8776336f, 0.8440490f, 0.1417058f, -0.0917870f, -0.3147601f, 0.5500574f, 0.1602690f, 0.2136007f, -0.5448702f, 0.2987510f, 0.0277404f, 0.0474804f, -0.6571059f, 0.6386938f, 0.0971133f, 0.8189747f, -0.7255339f, -0.0875124f, 0.1071008f, -0.3016306f, -0.4416167f, 0.7533376f, 0.0058841f, -0.1006996f, -0.1797670f, 0.1598059f, -0.1746155f, -0.2759751f, -0.4375621f, 0.5324653f, -0.2187090f, -0.0208548f, 0.0007885f, 0.1221271f, -0.0071798f, 0.0937424f, -0.3872427f, 0.4131232f, 0.0814878f, 0.1091490f, -0.3197269f, 0.3081368f, 0.0438068f, 0.5405672f, -0.7493672f, 0.2284625f, 0.0522655f, 0.2024367f, -0.2027840f, 0.0568407f, -0.0238867f, 0.0971868f, -0.2548049f, 0.1213150f, -0.1210491f, 0.2468838f, -0.7298202f, 0.2279600f, -0.2664659f, 0.0852271f, -0.5106476f, 0.5313835f, 0.0594584f, -0.1823397f, -0.4332103f, 0.0531194f, -0.6742789f, 0.1030347f, -0.0238603f, 0.5571925f, 0.5078690f, 0.1173396f, -0.1079135f, 0.1567269f, 0.0102248f, 0.0996963f, -0.0219312f, 0.3216055f, 0.2366872f, -0.3354882f, 0.1576330f, 0.5458030f, 0.1454629f, 0.1444273f, -0.2365381f, 0.4773806f, 0.2506996f, 0.1122540f, 0.0514636f, 0.1089756f, 0.0667886f, -0.3413622f, 0.0448554f, 0.1877440f, -0.3506308f, 0.1328394f, -0.0670468f, 0.0414011f, -0.0965496f, 0.1299393f, -0.1839806f, 0.2569631f, -0.0070157f, 0.1898328f, -0.0451201f, 0.0642396f, -0.0240266f, -0.1290649f, -0.1413532f, 0.4606663f, -0.0510201f, 0.0606055f, -0.4923670f, 0.4283018f, -0.1857787f, 0.2395181f, -0.4428843f, 0.0877497f, -0.3090582f, 0.1463607f, -0.4354426f, -0.2673760f, -0.7759982f, 0.0363660f, -0.7473857f, 0.6714249f, -0.1897013f, 0.0078778f, -0.3179395f, 0.8379888f, 0.3211752f, -0.0229962f, 0.2191676f, 0.2311431f, 0.1050956f, 0.1829474f, 0.0992829f, 0.7687454f, 0.7776823f, 0.1946814f, -0.1941786f, 0.0124760f, -0.2574112f, -0.1012860f, 0.0992883f, 0.3672758f, 0.0414330f, 0.0971759f, -0.1978175f, 0.3925655f, -0.0065848f, 0.7740223f, -0.2335201f, -0.0906675f, 0.1745083f, 0.1516487f, -0.1042227f, 0.2148387f, -0.0795036f, 0.0798246f, -0.6448072f, 0.8609363f, 0.0393394f, 0.0779220f, -0.4600459f, 0.7273327f, 0.0570835f, 0.4454859f, -0.2072924f, 0.2193948f, 0.1384101f, 0.1703254f, -0.0609580f, 0.1299055f, -0.1323671f, 0.1839394f, -0.3244128f, 0.3025059f, -0.1719029f, 0.1127521f, -0.3544195f, 0.5826200f, 0.0178632f, 0.1347488f, -0.2685010f, 0.4751232f, -0.0335460f, -0.0268326f, 0.0229464f, 0.5944858f, 0.1651578f, 0.1752550f, 0.0136593f, 0.3010034f, 0.0409467f, 0.6297039f, -0.5169880f, -0.2259630f, -0.5169126f, -0.3645581f, 0.5447856f, 0.5927204f, 0.1806151f, 0.3826406f, -0.6356577f, 0.6929637f, 0.0339571f, 0.1438846f, -0.1324825f, 0.3836886f, -0.1131758f, 0.1225381f, -0.2508278f, 0.1022063f, -0.5355556f, 0.1951728f, -0.0473224f, 0.1347071f, -0.2533568f, 0.7506700f, -0.7468928f, 0.6686158f, 0.2984126f, 0.1631571f, 0.0422823f, 0.2118532f, -0.1436800f, -0.0460037f, 0.0633928f, 0.2509617f, -0.3180083f, 0.1858027f, -0.1040863f, 0.2692820f, -0.1939493f, 0.2203176f, 0.5295745f, 0.6812901f, 0.7900824f, 0.2034420f, -0.0552806f, 0.0599414f, -0.4107925f, 0.2479052f, -0.1359192f, 0.8121924f, 0.3484631f, 0.1398457f, -0.2176905f, 0.5621405f, -0.1195728f, -0.0080597f, 0.3218221f, 0.7571263f, 0.3912670f, 0.2116680f, -0.6982532f, 0.3125198f, -0.7360096f, 0.0948572f, -0.2203334f, 0.3659414f, -0.3956103f, 0.1293136f, -0.3171252f, 0.7146217f, -0.0790813f, 0.1411146f, -0.4510387f, 0.8887131f, -0.0377003f, 0.2301871f, -0.0353170f, 0.5297350f, 0.0379717f, 0.6152722f, -0.1928382f, 0.0785710f, -0.1588030f, 0.1337912f, 0.1823085f, 0.3354832f, -0.0887607f, 0.0494082f, -0.1225804f, 0.7939893f, 0.0220200f, 0.1421773f, 0.3523192f, 0.4413828f, 0.1457048f, -0.0882652f, 0.3232748f, 0.4595339f, -0.1386560f, 0.0601664f, -0.4816208f, 0.8133457f, -0.3112419f, 0.1845199f, -0.0171361f, 0.3659768f, -0.2448125f, 0.1891260f, -0.0106495f, 0.2419292f, -0.3683512f, 0.6530412f, -0.4171780f, 0.4613151f, 0.0030213f, 0.1778989f, -0.1239391f, 0.5100323f, -0.2197134f, -0.2717385f, 0.1272452f, 0.7572512f, -0.2318920f, 0.3716251f, 0.1855403f, 0.5916812f, 0.3385713f, 0.1300696f, 0.0471288f, 0.5215391f, -0.1457248f, -0.2123145f, -0.1802899f, 0.5974199f, -0.7072856f, 0.2174739f, -0.7171207f, 0.7595373f, -0.5396347f, 0.1682724f, -0.1652717f, 0.7105864f, -0.1779208f, 0.1949437f, -0.0545715f, 0.4387951f, -0.3539158f, 0.1556118f, -0.2676762f, 0.8786431f, -0.1395478f, 0.1839802f, -0.1270819f, 0.0981727f, -0.8218095f, 0.1961324f, 0.0044393f, 0.2839973f, -0.5454667f, 0.1691811f, 0.1170212f, 0.7761239f, -0.0004658f, 0.2532176f, -0.3257096f, 0.6409724f, -0.4603164f, 0.1836927f, -0.2327923f, 0.4239208f, -0.6877027f, 0.8283811f, 0.0514265f, 0.3075364f, 0.1290827f, 0.1590365f, -0.0471006f, 0.6768611f, -0.3246488f, 0.1948562f, 0.1742693f, 0.4112475f, -0.3959884f, 0.1608810f, 0.5362161f, 0.7247152f, 0.1551418f, -0.0640990f, 0.2785439f, 0.4195016f, -0.6363523f, -0.4977460f, 0.4795997f, 0.6537622f, -0.7041565f, 0.1993300f, -0.0009453f, 0.5226769f, -0.5072073f, 0.1647024f, -0.1025920f, 0.8690643f, -0.2884946f, 0.1903634f, 0.0383981f, 0.4024816f, -0.6858912f, 0.3935245f, -0.1394052f, 0.2460183f, -0.8132467f, 0.0876800f, 0.1823305f, 0.6760031f, -0.4640969f, 0.1928370f, -0.0154626f, 0.7054892f, -0.5314507f, 0.7363694f, -0.4335648f, 0.3939214f, -0.6439396f, 0.2216142f, 0.2584981f, 0.7753125f, -0.2883786f, 0.1655171f, -0.0354699f, 0.9000988f, -0.4917610f, 0.6522388f, 0.6980886f, 0.7493314f, 0.5121635f, 0.2039644f, 0.0748634f, 0.4817260f, -0.8814858f, 0.1984904f, 0.0331222f, 0.6597681f, -0.7397799f, 0.6551378f, 0.0189344f, 0.7086707f, -0.2207969f, 0.3331688f, 0.2704824f, 0.5667230f, -0.6593540f, 0.2047795f, -0.0638265f, 0.8838190f, -0.7884763f, 0.2100875f, 0.6368825f, 0.8423747f, -0.2746185f, 0.2074577f, 0.1714071f, 0.8760290f, -0.6561672f, 0.1851064f, 0.1440378f, 0.7655031f, -0.8835155f }; const short hvq_pg_huff_offset[NUM_PG_HUFFLEN] = {0,2,3,8,9,11,13,15,19}; const short hvq_pg_huff_thres[NUM_PG_HUFFLEN] = {0,0x2,0x4,0x18,0x20,0x40,0x80,0x100,0x300}; const short hvq_pg_huff_tab[32] = { 30, 31, 1, 0, 2, 3, 28, 29, 4, 5, 27, 25, 26, 6, 24, 7, 8, 22, 23, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 }; const short hvq_cp_huff_len[52] = { 3, 4, 5, 6, 6, 6, 6, 6, 4, 4, 5, 5, 5, 5, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8, 8, 9, 10, 10, 11, 11, 11, 10, 10, 10, 10, 11, 12, 12, 13, 13, 12, 12, 11, 12 }; const short hvq_cp_huff_val[52] = { 7, 8, 6, 3, 4, 5, 6, 7, 9, 10, 7, 8, 9, 10, 11, 12, 13, 11, 12, 13, 14, 15, 8, 9, 10, 11, 4, 5, 3, 4, 5, 6, 7, 5, 4, 5, 3, 4, 5, 6, 7, 8, 9, 6, 1, 2, 0, 1, 3, 4, 7, 5 }; const short hvq_cp_layer1_map5[HVQ_CP_MAP_LEN] = { 16, 8, 4, 2, 1, 18, 17, 9 }; const short hvq_cp_huff_thres[HVQ_CP_HUFF_NUM_LEN] = { 0x0, 0x2, 0xC, 0x20, 0x50, 0x60, 0x100, 0x180, 0x600, 0x1000, 0x1C00 }; const short hvq_cp_huff_offset[HVQ_CP_HUFF_NUM_LEN] = { 0, 2, 7, 12, 18, 19, 24, 26, 35, 45, 51 }; const short hvq_cp_huff_tab[52] = { 46, 47, 44, 45, 48, 49, 51, 36, 37, 38, 43, 50, 34, 35, 39, 40, 41, 42, 33, 28, 29, 30, 31, 32, 26, 27, 3, 4, 5, 6, 7, 22, 23, 24, 25, 2, 10, 11, 12, 13, 17, 18, 19, 20, 21, 1, 8, 9, 14, 15, 16, 0 }; const short pow2_angle_res[8] = {16384, 17867, 19484, 21247, 23170, 25268, 27554, 30048}; /* Q14 */ /*----------------------------------------------------------------------------------* * FEC for HQ core *----------------------------------------------------------------------------------*/ const short Num_bands_NB[MAX_SB_NB] = {8,8,2}; const float SmoothingWin_NB875[70] = { 0.00000000f,0.00050347f,0.00201285f,0.00452512f,0.00803521f,0.01253604f,0.01801857f,0.02447174f,0.03188256f,0.04023611f, 0.04951557f,0.05970223f,0.07077560f,0.08271337f,0.09549150f,0.10908426f,0.12346427f,0.13860257f,0.15446869f,0.17103064f, 0.18825510f,0.20610736f,0.22455151f,0.24355036f,0.26306567f,0.28305814f,0.30348748f,0.32431260f,0.34549150f,0.36698157f, 0.38873953f,0.41072154f,0.43288338f,0.45518035f,0.47756758f,0.50000000f,0.52243245f,0.54481965f,0.56711662f,0.58927846f, 0.61126047f,0.63301843f,0.65450847f,0.67568743f,0.69651252f,0.71694189f,0.73693430f,0.75644964f,0.77544850f,0.79389262f, 0.81174493f,0.82896936f,0.84553134f,0.86139745f,0.87653571f,0.89091575f,0.90450847f,0.91728663f,0.92922437f,0.94029778f, 0.95048445f,0.95976388f,0.96811742f,0.97552824f,0.98198146f,0.98746395f,0.99196482f,0.99547487f,0.99798715f,0.99949653f }; const float SmoothingWin_NB2[16] = { 0.00000000f,0.00960736f,0.03806023f,0.08426519f,0.14644661f,0.22221488f,0.30865828f,0.40245484f,0.50000000f,0.59754516f, 0.69134172f,0.77778512f,0.85355339f,0.91573481f,0.96193977f,0.99039264f }; /*----------------------------------------------------------------------------------* * SC-VBR *----------------------------------------------------------------------------------*/ const float bp1_num_coef_wb[5] = {0.9329833984375,0,-1.865966796875,0,0.9329833984375}; const float bp1_den_coef_wb[5] = {1,0,-1.8614501953125,0,0.8704833984375}; const float shape1_num_coef[11] = { 0.959381103515625f, -0.074554443359375f, -0.4161376953125f, 0.1317138671875f, -0.3109130859375f, 0.00146484375f, 0.080535888671875f, -0.109100341796875f, -0.023681640625f, 0.03192138671875f, 0.012176513671875f }; const float shape1_den_coef[11] = { 1, 0.0897216796875f, -0.373443603515625f, 0.123046875f, -0.293243408203125f, -0.06097412109375f, 0.071258544921875f, -0.1190185546875f, -0.048675537109375f, 0.026153564453125f, 0.007720947265625f }; const float shape2_num_coef[11] = { 0.938720703125f, 0.000946044921875f, -0.295989990234375f, 0.2904052734375f, -0.17938232421875f, -0.221221923828125f, -0.3194580078125f, 0.01348876953125f, 0.10003662109375f, -0.001922607421875f, 0.034027099609375f }; const float shape2_den_coef[11] = { 1, 0.488861083984375f, -0.02716064453125f, 0.390594482421875f, 0.07159423828125f, -0.213165283203125f, -0.402587890625f, -0.176849365234375f, -0.028961181640625f, -0.0455322265625f, -0.00927734375f }; const float shape3_num_coef[11] = { 0.936431884765625f, -0.011688232421875f, -0.303253173828125f, -0.293121337890625f, -0.183013916015625f, 0.232269287109375f, -0.317169189453125f, -0.010833740234375f, 0.098846435546875f, 0.0003662109375f, 0.0364990234375f }; const float shape3_den_coef[11] = { 1, -0.50347900390625f, -0.027801513671875f, -0.395111083984375f, 0.06976318359375f, 0.22674560546875f, -0.408477783203125f, 0.18511962890625f, -0.03607177734375f, 0.0482177734375f, -0.008331298828125f }; const float txlpf1_num_coef[11] = { 0.016845703125, 0.024169921875, 0.062744140625, 0.0831298828125, 0.1124267578125, 0.11767578125, 0.1124267578125, 0.0831298828125, 0.062744140625, 0.024169921875, 0.016845703125 }; const float txlpf1_den_coef[11] = { 1, -2.3126220703125, 3.8590087890625, -3.8023681640625, 2.989990234375, -1.5567626953125, 0.6748046875, -0.17529296875, 0.0423583984375, -0.0030517578125, 0.00048828125 }; const float txhpf1_num_coef[11] = { 0.016845703125, -0.024169921875, 0.062744140625, -0.0831298828125, 0.1124267578125, -0.11767578125, 0.1124267578125, -0.0831298828125, 0.062744140625, -0.024169921875, 0.016845703125 }; const float txhpf1_den_coef[11] = { 1, 2.3126220703125, 3.8590087890625, 3.8023681640625, 2.989990234375, 1.5567626953125, 0.6748046875, 0.17529296875, 0.0423583984375, 0.0030517578125, 0.00048828125 }; /* NELP filter coefficients */ const float bp1_num_coef_nb_fx_order7[8] = { 0.180780569293627f, 0.821512462016641f, 1.901786162198923f, 2.798216464912205f, 2.798216464912205f, 1.901786162198923f, 0.821512462016641f, 0.180780569293627f }; const float bp1_den_coef_nb_fx_order7[8] = { 1.0f, 1.972212566911875f, 2.906981567843655f, 2.667903533650106f, 1.784691945273023f, 0.807367818229743f, 0.232764318343094f, 0.032669566591295f }; /* order 8 LPF for nelp frames when non-native sampling freq inputs used with -max_band NB */ /* used to suppress frequencies above 4kHz present at the output of filters in pre_proc() */ const float num_nelp_lp[NELP_LP_ORDER+1] = { 0.088754442436105f, 0.427948705228526f, 1.097120864220837f, 1.834535180016855f, 2.164546590741725f, 1.833722723336889f, 1.096120298806107f, 0.427341227067866f, 0.088564563680987f }; const float den_nelp_lp[NELP_LP_ORDER+1] = { 1.000000000000000f, 1.076558216566388f, 2.638952788853937f, 1.485213059043660f, 1.941109655171129f, 0.433697456681428f, 0.488030665133170f, -0.014677457543018f, 0.043067530202687f }; /* NELP gain tables */ const float UVG1CB_WB[UVG1_CBSIZE][2] = { { -0.271424f, -0.258097f, }, { 1.546157f, 1.503115f, }, { 0.454480f, 1.182801f, }, { 2.182661f, 2.194626f, }, { 0.504902f, 0.481656f, }, { 1.416585f, 2.597607f, }, { 1.193427f, 1.140118f, }, { 2.649107f, 2.640023f, }, { 0.132870f, 0.204961f, }, { 1.708137f, 1.672001f, }, { 1.274749f, 0.636471f, }, { 2.405026f, 2.403867f, }, { 0.666233f, 0.649061f, }, { 2.081430f, 2.065141f, }, { 1.734086f, 1.037998f, }, { 2.969951f, 2.962773f, }, { -0.014392f, -0.034103f, }, { 1.417866f, 1.814293f, }, { 0.842041f, 0.798819f, }, { 2.308757f, 2.275084f, }, { 0.139464f, 0.831392f, }, { 1.952503f, 1.961636f, }, { 0.844903f, 1.609146f, }, { 2.790210f, 2.775995f, }, { 0.368318f, 0.275885f, }, { 1.825159f, 1.830021f, }, { 0.998048f, 0.987868f, }, { 2.529417f, 2.508405f, }, { 0.908356f, 0.289270f, }, { 2.184707f, 1.707541f, }, { 1.341007f, 1.338580f, }, { 3.185808f, 3.172863f, }, }; const float UVG1CB_NB[UVG1_CBSIZE][2] = { { -0.584898f, -0.629564f, }, { 0.588898f, 0.602697f, }, { -0.420328f, 0.440621f, }, { 0.676153f, 1.866763f, }, { -0.057218f, -0.486523f, }, { 0.973746f, 0.995785f, }, { 0.335472f, 0.304245f, }, { 1.717476f, 1.710655f, }, { -0.303435f, -0.349463f, }, { 0.736475f, 0.719210f, }, { 0.326864f, -0.053863f, }, { 1.433214f, 1.440908f, }, { -0.031290f, -0.103346f, }, { 1.117363f, 1.089082f, }, { -0.012970f, 0.729895f, }, { 2.060025f, 2.043535f, }, { -0.437514f, -0.472825f, }, { 0.428648f, 1.164362f, }, { 0.049001f, 0.050772f, }, { 1.352832f, 1.287837f, }, { -0.173046f, -0.210522f, }, { 1.097114f, 0.641427f, }, { 0.765980f, 0.138765f, }, { 1.876515f, 1.861232f, }, { -0.475929f, 0.036795f, }, { 0.851593f, 0.866113f, }, { 0.192944f, 0.177338f, }, { 1.585417f, 1.565396f, }, { 0.328590f, -0.377592f, }, { 1.193646f, 1.239326f, }, { 0.480756f, 0.442872f, }, { 2.297758f, 2.282144f, }, }; const float UVG2CB1_WB[UVG2_CBSIZE][5] = { { 0.223040f, 0.241651f, 0.363680f, 1.453550f, 0.639043f, }, { 1.367034f, 1.128134f, 0.995599f, 0.852711f, 0.746318f, }, { 1.203618f, 0.984239f, 0.732146f, 0.524829f, 0.416474f, }, { 1.885173f, 0.737643f, 0.440409f, 0.360901f, 0.354375f, }, { 0.285902f, 0.339404f, 1.683466f, 0.632872f, 0.362779f, }, { 1.014419f, 1.046733f, 1.076532f, 1.102226f, 1.117500f, }, { 0.886868f, 0.893899f, 0.901808f, 0.906043f, 0.912148f, }, { 3.225548f, 1.222902f, 0.637340f, 0.530948f, 0.499932f, }, { 0.907185f, 0.704885f, 0.549973f, 0.479615f, 0.420607f, }, { 1.743322f, 1.114901f, 0.838360f, 0.725076f, 0.584914f, }, { 0.697213f, 0.741751f, 0.795735f, 0.849916f, 0.905532f, }, { 1.447413f, 1.332714f, 1.201884f, 1.085950f, 0.997001f, }, { 0.239259f, 0.250031f, 0.378390f, 1.388066f, 1.962520f, }, { 0.858277f, 1.795467f, 2.537226f, 0.883659f, 0.697253f, }, { 0.634313f, 0.755069f, 0.874414f, 1.167114f, 1.456359f, }, { 0.479120f, 2.683769f, 1.225698f, 0.698405f, 0.631620f, }, { 0.194304f, 0.223532f, 0.246663f, 0.286883f, 1.884711f, }, { 1.085250f, 1.075760f, 1.060584f, 1.037376f, 1.019217f, }, { 0.355082f, 1.585122f, 0.637538f, 0.429221f, 0.431000f, }, { 1.537046f, 1.876537f, 1.162872f, 0.718938f, 0.537773f, }, { 0.366750f, 0.384063f, 0.462624f, 0.727828f, 1.333889f, }, { 1.159580f, 1.178847f, 1.198408f, 1.203392f, 1.195077f, }, { 0.889680f, 0.921507f, 0.957437f, 0.985704f, 1.004871f, }, { 2.209824f, 1.807385f, 1.465675f, 1.158738f, 0.996400f, }, { 0.380420f, 0.456231f, 0.569092f, 0.732313f, 0.877647f, }, { 1.140464f, 1.134349f, 1.126392f, 1.111634f, 1.094200f, }, { 0.552280f, 0.636810f, 0.771019f, 0.949718f, 1.090795f, }, { 1.356338f, 1.328390f, 1.665898f, 1.744565f, 1.397443f, }, { 0.358875f, 0.378330f, 0.492142f, 2.726906f, 0.934503f, }, { 1.339929f, 1.530712f, 1.653071f, 2.002372f, 2.265826f, }, { 0.848927f, 0.901721f, 1.004240f, 1.088962f, 1.148716f, }, { 2.655634f, 4.390627f, 2.488829f, 1.779943f, 0.689514f, }, { 0.323918f, 0.365752f, 0.360473f, 0.406899f, 0.521889f, }, { 1.089529f, 1.049556f, 0.999532f, 0.947192f, 0.910775f, }, { 0.778315f, 0.772521f, 0.770412f, 0.757735f, 0.766615f, }, { 2.382149f, 1.389184f, 0.821738f, 0.560577f, 0.437522f, }, { 0.422645f, 0.427987f, 3.028798f, 0.996559f, 0.548607f, }, { 0.943902f, 0.991288f, 1.222348f, 1.287613f, 1.275699f, }, { 0.976039f, 0.966009f, 0.952110f, 0.937347f, 0.925149f, }, { 4.404412f, 2.299179f, 1.359051f, 0.845995f, 0.611213f, }, { 0.527446f, 0.618156f, 0.706851f, 0.629108f, 0.566558f, }, { 1.233373f, 1.169295f, 1.096161f, 1.026234f, 0.965180f, }, { 0.825364f, 0.833740f, 0.844135f, 0.853512f, 0.863188f, }, { 1.505253f, 1.418813f, 1.328096f, 1.229135f, 1.135295f, }, { 0.693032f, 0.827423f, 1.234705f, 1.845313f, 2.542454f, }, { 0.945943f, 1.081860f, 1.265427f, 1.540595f, 1.749407f, }, { 1.052402f, 1.008307f, 0.871943f, 0.749492f, 2.088583f, }, { 2.146194f, 2.016499f, 1.782081f, 1.524242f, 1.323508f, }, { 0.290883f, 0.301913f, 0.334033f, 0.442895f, 2.885471f, }, { 0.606905f, 1.398622f, 1.501382f, 1.030661f, 0.895216f, }, { 0.980941f, 0.933889f, 0.878940f, 0.827155f, 0.794956f, }, { 1.832121f, 1.420187f, 1.218118f, 0.992368f, 0.811142f, }, { 0.349042f, 0.479090f, 1.353992f, 0.999951f, 1.142766f, }, { 1.316650f, 1.312876f, 1.299885f, 1.276895f, 1.233464f, }, { 0.986649f, 0.998506f, 1.008895f, 1.015456f, 1.020661f, }, { 3.044209f, 2.251119f, 1.400128f, 0.883141f, 0.610713f, }, { 0.606060f, 0.626282f, 0.675680f, 0.754010f, 0.845070f, }, { 1.271739f, 1.240164f, 1.197404f, 1.148908f, 1.103891f, }, { 0.766260f, 0.820830f, 0.890415f, 0.954560f, 1.014693f, }, { 1.742866f, 1.608286f, 1.450560f, 1.281919f, 1.141203f, }, { 0.419616f, 0.455676f, 1.951458f, 1.863714f, 0.973334f, }, { 0.875636f, 1.291339f, 1.924261f, 3.300506f, 3.929508f, }, { 0.588088f, 0.613937f, 0.671033f, 1.786119f, 1.131808f, }, { 7.419703f, 4.514918f, 3.368681f, 1.171582f, 0.557291f, }, }; const float UVG2CB2_WB[UVG2_CBSIZE][5] = { { 0.382157f, 0.339570f, 0.399108f, 1.276274f, 0.654653f, }, { 0.526317f, 0.624477f, 1.514850f, 1.357657f, 0.962890f, }, { 0.497765f, 0.587492f, 0.755478f, 0.832206f, 0.968825f, }, { 1.242760f, 1.236637f, 1.218059f, 1.186075f, 1.163104f, }, { 0.350569f, 0.423863f, 0.687511f, 0.576640f, 0.586036f, }, { 1.068227f, 1.080389f, 1.090163f, 1.093335f, 1.096811f, }, { 1.134662f, 0.996393f, 0.866640f, 0.727742f, 0.651101f, }, { 0.416366f, 0.476179f, 0.898235f, 1.911077f, 2.415833f, }, { 0.693081f, 0.445820f, 0.352293f, 0.295523f, 0.303834f, }, { 0.338564f, 0.344193f, 0.431633f, 2.166267f, 1.070002f, }, { 0.981922f, 0.923891f, 0.870264f, 0.809574f, 0.755981f, }, { 2.437343f, 1.744939f, 1.275522f, 0.913573f, 0.738923f, }, { 1.652469f, 0.575451f, 0.373855f, 0.353600f, 0.379997f, }, { 1.120803f, 1.140296f, 1.155888f, 1.163382f, 1.169191f, }, { 1.051700f, 1.024805f, 0.989204f, 0.951249f, 0.920163f, }, { 0.558571f, 0.622568f, 1.201735f, 2.024839f, 3.632277f, }, { 0.332205f, 0.361342f, 0.368816f, 0.486187f, 2.551270f, }, { 0.716016f, 0.764423f, 0.901925f, 1.144217f, 1.269692f, }, { 0.972618f, 0.744037f, 0.605346f, 0.645594f, 1.346183f, }, { 1.306825f, 1.337871f, 1.339887f, 1.326540f, 1.327383f, }, { 0.810386f, 0.703444f, 0.617077f, 0.525349f, 0.470428f, }, { 1.189609f, 1.159137f, 1.117761f, 1.075965f, 1.039311f, }, { 1.509928f, 1.073290f, 0.915705f, 0.830047f, 0.707661f, }, { 0.527199f, 1.969524f, 1.839455f, 1.250142f, 0.888607f, }, { 0.553059f, 2.484691f, 0.928542f, 0.631924f, 0.595981f, }, { 0.534157f, 0.538470f, 1.048001f, 3.098313f, 1.438832f, }, { 0.875629f, 0.891265f, 0.918069f, 0.943470f, 0.966723f, }, { 3.212350f, 2.380788f, 1.750784f, 1.325976f, 1.309454f, }, { 1.393980f, 1.018875f, 0.714902f, 0.510150f, 0.433226f, }, { 0.861995f, 0.935236f, 1.133018f, 1.412823f, 1.616763f, }, { 1.073054f, 1.063390f, 1.045198f, 1.023854f, 1.003573f, }, { 0.547694f, 0.604539f, 1.419472f, 0.968088f, 6.634663f, }, { 0.384404f, 0.407015f, 1.841710f, 0.733522f, 0.484417f, }, { 0.630723f, 0.612993f, 2.852480f, 1.407572f, 1.173696f, }, { 0.886615f, 0.844153f, 0.800046f, 0.760230f, 0.725250f, }, { 2.092080f, 1.654743f, 1.432156f, 1.346378f, 1.255149f, }, { 0.797508f, 0.740916f, 0.717801f, 0.679101f, 0.657052f, }, { 0.959244f, 1.037313f, 1.117438f, 1.190695f, 1.260351f, }, { 1.084782f, 1.018723f, 0.943477f, 0.876418f, 0.814781f, }, { 0.976114f, 1.153683f, 1.398515f, 1.677934f, 1.925023f, }, { 1.066698f, 0.689574f, 0.546216f, 0.402266f, 0.342894f, }, { 0.244053f, 0.249520f, 0.360608f, 0.654699f, 3.729612f, }, { 0.955958f, 0.940178f, 0.919330f, 0.894537f, 0.876740f, }, { 3.224046f, 1.094907f, 0.788658f, 0.951478f, 0.890611f, }, { 2.441966f, 0.858237f, 0.584262f, 0.545170f, 0.539909f, }, { 1.123818f, 1.180721f, 1.238015f, 1.283992f, 1.321097f, }, { 0.956697f, 0.985042f, 1.019696f, 1.050902f, 1.078825f, }, { 0.743688f, 2.034202f, 4.022331f, 2.727508f, 2.650772f, }, { 0.250845f, 0.245822f, 0.291984f, 0.385336f, 1.449503f, }, { 0.461815f, 0.591238f, 0.787875f, 0.956948f, 1.806615f, }, { 0.875089f, 0.862359f, 0.856436f, 0.847061f, 0.839057f, }, { 1.309442f, 1.502701f, 1.661279f, 1.673280f, 1.662961f, }, { 0.985927f, 0.857309f, 0.739752f, 0.643488f, 0.569376f, }, { 1.650427f, 1.495147f, 1.278185f, 1.049539f, 0.900202f, }, { 1.006963f, 1.593657f, 0.993154f, 0.790603f, 0.850326f, }, { 1.225572f, 1.441567f, 1.728901f, 2.088278f, 2.349483f, }, { 0.341446f, 1.432559f, 0.749195f, 0.421280f, 0.404079f, }, { 1.145314f, 1.033705f, 0.970105f, 0.917177f, 2.347552f, }, { 0.971156f, 0.977194f, 0.977277f, 0.972506f, 0.966892f, }, { 0.513513f, 4.115618f, 2.258778f, 1.186578f, 1.154071f, }, { 1.963588f, 1.292572f, 0.969148f, 0.756260f, 0.630658f, }, { 1.142688f, 1.247234f, 1.361439f, 1.456244f, 1.531956f, }, { 1.188195f, 1.119173f, 1.043934f, 0.966349f, 0.898995f, }, { 0.296171f, 0.760591f, 1.599661f, 5.561118f, 5.121441f, }, }; const float UVG2CB1_NB[UVG2_CBSIZE][5] = { { 0.188739f, 0.191757f, 0.191531f, 0.191578f, 0.209839f, }, { 0.869071f, 0.859505f, 0.832542f, 0.797074f, 0.773080f, }, { 0.431109f, 0.727906f, 2.508026f, 0.925174f, 0.548901f, }, { 1.217337f, 1.160289f, 1.097694f, 1.018471f, 0.957574f, }, { 0.497102f, 0.495688f, 0.490534f, 0.481662f, 0.463058f, }, { 0.803575f, 0.867673f, 0.944431f, 1.007241f, 1.060698f, }, { 0.783034f, 0.762224f, 0.738827f, 0.711210f, 0.682893f, }, { 3.227538f, 1.670940f, 0.968417f, 0.670516f, 0.602001f, }, { 0.379041f, 0.397159f, 0.339889f, 0.431105f, 0.898154f, }, { 1.313227f, 1.132838f, 0.938410f, 0.794448f, 0.643291f, }, { 0.390638f, 0.395881f, 0.593166f, 2.306134f, 1.028762f, }, { 1.248727f, 1.269418f, 1.296714f, 1.309796f, 1.304405f, }, { 1.520874f, 0.734382f, 0.485483f, 0.396077f, 0.389855f, }, { 0.421502f, 0.516180f, 1.720254f, 1.504402f, 1.050148f, }, { 0.245081f, 0.257874f, 0.449391f, 1.466236f, 1.733604f, }, { 1.559619f, 2.358229f, 1.100964f, 0.677191f, 0.515930f, }, { 0.258870f, 0.281444f, 0.341911f, 0.423056f, 0.517793f, }, { 0.841801f, 0.860159f, 0.881827f, 0.899050f, 0.920338f, }, { 0.365189f, 0.499345f, 0.710492f, 0.869768f, 0.990808f, }, { 1.078960f, 1.121199f, 1.170587f, 1.201313f, 1.215423f, }, { 0.343519f, 1.297406f, 0.680773f, 0.408835f, 0.329668f, }, { 1.027852f, 1.031491f, 1.031891f, 1.021937f, 1.017812f, }, { 0.548592f, 2.012860f, 1.072282f, 0.615844f, 0.417353f, }, { 1.760444f, 1.645651f, 1.491751f, 1.317721f, 1.142677f, }, { 0.879361f, 0.558186f, 0.385066f, 0.300063f, 0.280186f, }, { 1.629306f, 1.276033f, 0.873148f, 0.597645f, 0.464031f, }, { 0.233010f, 0.252664f, 0.263381f, 0.410771f, 2.333462f, }, { 0.979199f, 1.428996f, 2.192152f, 1.742747f, 1.094684f, }, { 0.679754f, 0.659549f, 0.643852f, 0.621674f, 0.603191f, }, { 1.077752f, 0.992367f, 1.129539f, 1.027383f, 2.264297f, }, { 0.676422f, 0.735375f, 0.819505f, 0.911898f, 0.992613f, }, { 4.819767f, 2.100243f, 0.962614f, 0.621495f, 0.509149f, }, { 0.276365f, 0.274270f, 0.270315f, 0.266915f, 0.271854f, }, { 0.955282f, 0.937005f, 0.911375f, 0.886292f, 0.866125f, }, { 0.231384f, 0.382150f, 1.480144f, 0.647910f, 0.407074f, }, { 1.503587f, 1.359087f, 1.192322f, 1.035379f, 0.920358f, }, { 0.225897f, 0.284201f, 0.386850f, 1.479923f, 0.754288f, }, { 0.932117f, 0.985694f, 1.055295f, 1.107535f, 1.153749f, }, { 1.047555f, 0.950740f, 0.840054f, 0.733910f, 0.667261f, }, { 2.085890f, 1.583746f, 1.211518f, 0.930697f, 0.725212f, }, { 0.425680f, 0.429169f, 0.415950f, 0.398797f, 0.384700f, }, { 1.078194f, 1.039819f, 0.987399f, 0.930104f, 0.885793f, }, { 0.468506f, 0.527117f, 0.811323f, 3.412384f, 1.928112f, }, { 1.453081f, 1.399223f, 1.322881f, 1.235534f, 1.155194f, }, { 0.677564f, 0.686571f, 0.612173f, 0.620178f, 1.607781f, }, { 0.838759f, 0.966836f, 1.138047f, 1.458807f, 1.531620f, }, { 0.752352f, 0.769151f, 0.792542f, 0.814617f, 0.830990f, }, { 0.998295f, 3.910764f, 2.022774f, 1.004988f, 0.660092f, }, { 0.346421f, 0.347923f, 0.341870f, 0.334828f, 0.332826f, }, { 0.933744f, 0.949722f, 0.965032f, 0.974951f, 0.980120f, }, { 0.609754f, 0.656553f, 0.694920f, 0.735124f, 0.784513f, }, { 1.250595f, 1.226482f, 1.191682f, 1.145255f, 1.104473f, }, { 0.557881f, 0.567717f, 0.565744f, 0.564657f, 0.554475f, }, { 1.096985f, 1.105627f, 1.102877f, 1.093358f, 1.084804f, }, { 2.230968f, 0.968956f, 0.615720f, 0.542594f, 0.589697f, }, { 2.443527f, 2.128707f, 1.780354f, 1.424964f, 1.106474f, }, { 0.202766f, 0.221654f, 0.253737f, 0.404291f, 1.663403f, }, { 0.505346f, 1.337503f, 1.263272f, 0.954743f, 0.901882f, }, { 0.385023f, 0.382150f, 0.399218f, 0.630553f, 3.211494f, }, { 1.364681f, 1.413025f, 1.445785f, 1.648508f, 1.724301f, }, { 0.991474f, 0.853670f, 0.661673f, 0.512336f, 0.418893f, }, { 0.671308f, 0.761259f, 4.046266f, 1.926581f, 0.891469f, }, { 0.634219f, 0.750043f, 0.930049f, 1.197664f, 1.262605f, }, { 3.747086f, 2.672835f, 1.889530f, 1.215477f, 0.841197f, }, }; const float UVG2CB2_NB[UVG2_CBSIZE][5]= { { 0.234676f, 0.211553f, 0.198300f, 0.188137f, 0.189102f, }, { 0.621072f, 0.655881f, 0.734889f, 0.880212f, 1.232321f, }, { 0.372062f, 0.443795f, 0.705281f, 0.739519f, 0.743747f, }, { 1.024051f, 1.049997f, 1.079370f, 1.098001f, 1.118202f, }, { 0.494519f, 0.485721f, 0.479727f, 0.474381f, 0.473326f, }, { 1.059136f, 1.014755f, 0.967436f, 0.915428f, 0.876510f, }, { 1.887753f, 0.709034f, 0.440367f, 0.343384f, 0.369381f, }, { 0.393820f, 0.574466f, 2.762395f, 1.407229f, 1.047606f, }, { 0.370772f, 0.356840f, 0.349999f, 0.327343f, 0.316005f, }, { 0.397170f, 0.417453f, 0.528104f, 2.356989f, 1.370805f, }, { 0.566954f, 1.780471f, 0.793633f, 0.493204f, 0.504320f, }, { 1.212718f, 1.247958f, 1.263151f, 1.270187f, 1.276770f, }, { 0.388100f, 0.353795f, 0.474245f, 1.451972f, 0.869892f, }, { 1.891456f, 1.262146f, 0.797925f, 0.583916f, 0.508257f, }, { 0.969344f, 0.868915f, 0.772349f, 0.677308f, 0.608680f, }, { 0.486474f, 0.539484f, 0.782305f, 0.907366f, 5.745668f, }, { 0.289328f, 0.301705f, 0.347406f, 0.516255f, 1.165024f, }, { 0.960737f, 0.937409f, 0.906673f, 0.874736f, 0.848802f, }, { 0.400429f, 0.378419f, 0.439385f, 0.636950f, 2.656142f, }, { 0.992977f, 1.083218f, 1.174551f, 1.247095f, 1.351591f, }, { 0.359381f, 0.333729f, 0.374249f, 0.520426f, 1.795028f, }, { 1.052276f, 1.045824f, 1.029194f, 1.005147f, 0.990365f, }, { 2.640896f, 1.119783f, 0.637471f, 0.504513f, 0.497219f, }, { 0.510018f, 0.592500f, 1.147016f, 3.572948f, 1.835225f, }, { 0.617425f, 0.380988f, 0.295255f, 0.238370f, 0.230673f, }, { 0.709915f, 0.749521f, 0.990016f, 1.431043f, 1.574221f, }, { 0.653333f, 0.698564f, 0.760571f, 0.804532f, 0.831992f, }, { 0.715875f, 3.498556f, 1.594958f, 0.912733f, 0.845138f, }, { 0.898701f, 0.751704f, 0.624648f, 0.525250f, 0.464610f, }, { 1.375977f, 1.297850f, 1.215381f, 1.145089f, 1.080297f, }, { 0.561123f, 1.764692f, 1.703012f, 1.037951f, 0.817155f, }, { 0.611282f, 0.835322f, 1.656358f, 2.071091f, 3.677700f, }, { 0.305955f, 0.288104f, 0.277282f, 0.266999f, 0.262681f, }, { 0.842437f, 0.860463f, 0.878879f, 0.890085f, 0.905076f, }, { 0.415168f, 0.495616f, 1.605015f, 1.158622f, 1.086554f, }, { 1.144592f, 1.160015f, 1.162718f, 1.153999f, 1.152784f, }, { 0.726849f, 0.577021f, 0.459744f, 0.381537f, 0.341456f, }, { 1.240211f, 1.143782f, 1.043599f, 0.936329f, 0.857727f, }, { 1.329362f, 0.934539f, 0.696166f, 0.547436f, 0.475481f, }, { 0.470979f, 1.229760f, 4.335935f, 2.037582f, 1.538102f, }, { 0.448859f, 0.435001f, 0.410153f, 0.387131f, 0.374390f, }, { 0.753476f, 0.847563f, 0.984091f, 1.208422f, 2.367011f, }, { 0.781083f, 0.745169f, 0.707134f, 0.671579f, 0.640062f, }, { 1.421280f, 1.411590f, 1.398311f, 1.358993f, 1.337416f, }, { 0.377859f, 0.545381f, 1.647399f, 0.625545f, 0.420396f, }, { 1.635438f, 1.273369f, 1.092522f, 0.862149f, 0.739370f, }, { 0.921246f, 0.885689f, 0.844748f, 0.800456f, 0.770371f, }, { 0.385947f, 0.408195f, 0.715197f, 4.936704f, 4.011602f, }, { 0.295343f, 0.296573f, 0.339012f, 0.409703f, 0.531531f, }, { 0.943088f, 0.948849f, 0.961247f, 0.966943f, 0.973872f, }, { 0.376239f, 0.425963f, 0.446486f, 0.849370f, 3.799501f, }, { 1.085015f, 1.208963f, 1.360517f, 1.478597f, 1.597861f, }, { 0.600520f, 0.585154f, 0.557646f, 0.520820f, 0.498211f, }, { 1.173770f, 1.141539f, 1.096824f, 1.055073f, 1.028510f, }, { 3.669747f, 1.622178f, 0.809242f, 0.707943f, 0.704413f, }, { 0.977405f, 1.162230f, 1.695878f, 2.019914f, 2.051052f, }, { 1.221003f, 0.609077f, 0.389066f, 0.326390f, 0.333196f, }, { 0.836930f, 0.904878f, 0.994299f, 1.088050f, 1.140088f, }, { 0.812087f, 0.799997f, 0.786734f, 0.767023f, 0.753822f, }, { 1.504493f, 1.542127f, 1.585432f, 1.577024f, 1.594146f, }, { 0.649261f, 0.634440f, 0.619454f, 0.606033f, 0.621463f, }, { 2.088260f, 1.685051f, 1.277621f, 1.004769f, 0.891082f, }, { 1.133569f, 1.000746f, 0.882781f, 0.781417f, 0.706843f, }, { 2.340990f, 6.501577f, 3.762808f, 3.059604f, 2.127793f, }, }; const float frac_4sf[NB_SUBFR+2] = {0.25f,0.5f,0.75f,1.0f,1.0f,1.0f}; /* ERB table for PPP-ampl-quant */ const float erb_WB[NUM_ERB_WB+1] = {0.0f, 92.8061f, 185.6121f, 278.4182f, 371.2243f, 464.0304f, 556.8364f, 649.6425f, 746.4f, 853.6f, 972.5f, 1104.0f, 1251.8f, 1415.8f, 1599.2f, 1804.6f, 2035.2f, 2294.9f, 2588.4f, 2921.2f, 3300.1f, 3733.7f, 4400.0f, 5300.0f, 6400.0f+1 }; /* ERB table for PPP-ampl-quant */ const float erb_NB[NUM_ERB_NB+1] = {0.0f, 92.8061f, 185.6121f, 278.4182f, 371.2243f, 464.0304f, 556.8364f, 649.6425f, 746.4f, 853.6f, 972.5f, 1104.0f, 1251.8f, 1415.8f, 1599.2f, 1804.6f, 2035.2f, 2294.9f, 2588.4f, 2921.2f, 3300.1f, 3733.7f, 4000.0f+1.0f }; /*Amplitude and power tables for PPP*/ const float AmpCB1_WB[64][10] = { { 0.6903076f, 0.1939697f, -0.0797119f, 0.4355469f, -0.3873291f, -0.2260742f, -0.3911133f, -0.5643311f, -0.2563477f, -0.6229248f, }, { -0.1126709f, -0.0081787f, -0.8730469f, -0.6052246f, -0.2464600f, -0.2209473f, -1.0415039f, -0.0791016f, 0.8033447f, 0.9818115f, }, { 0.0195313f, 0.0949707f, -0.1873779f, 0.1053467f, 0.6691895f, 0.2043457f, -0.4365234f, 0.0150146f, -0.3861084f, -0.4388428f, }, { -0.1040039f, -0.0064697f, -0.1318359f, -0.3275146f, -0.3905029f, -0.1159668f, -0.1651611f, 0.7639160f, -0.1746826f, 0.1524658f, }, { 0.2513428f, 0.0826416f, 0.0178223f, 0.1234131f, 0.1166992f, -0.2468262f, -0.0030518f, 0.0366211f, 0.0513916f, -0.7152100f, }, { 0.1253662f, -0.0551758f, -0.8963623f, -0.1284180f, 0.4660645f, 0.1341553f, -0.1226807f, 0.0804443f, -0.0623779f, -0.0803223f, }, { 0.2552490f, 0.0878906f, -0.0732422f, 0.0177002f, -0.1835938f, -0.2094727f, -0.0539551f, -0.2651367f, -0.1837158f, 0.3298340f, }, { 0.0892334f, 0.1798096f, -0.0260010f, -0.5029297f, -0.3632813f, 0.0839844f, 0.3912354f, 0.1480713f, 0.0828857f, 0.0283203f, }, { 0.4482422f, 0.5822754f, -0.1462402f, -0.0363770f, -0.2092285f, -0.4478760f, -0.3458252f, -0.0810547f, -0.2269287f, -0.2905273f, }, { -0.1427002f, -0.1944580f, -0.0552979f, 0.0360107f, -0.1495361f, -0.3796387f, -0.2167969f, 0.2578125f, 0.3308105f, 0.4068604f, }, { 0.1247559f, 0.1523438f, 0.1331787f, 0.1420898f, 0.1464844f, 0.2175293f, -0.0987549f, -0.2814941f, -0.3813477f, -0.2678223f, }, { -0.1912842f, 0.0567627f, 0.2713623f, -0.1588135f, -0.0565186f, -0.2633057f, 0.0889893f, 0.2781982f, -0.2365723f, 0.0744629f, }, { 0.0533447f, -0.0980225f, -0.1251221f, 0.0946045f, -0.0208740f, -0.0777588f, 0.0198975f, 0.2747803f, 0.0385742f, -0.2030029f, }, { -0.5032959f, -0.0024414f, -0.3450928f, -0.1866455f, -0.1752930f, 0.4207764f, 0.0096436f, -0.0334473f, 0.2014160f, 0.5001221f, }, { 0.2891846f, 0.1131592f, 0.0546875f, -0.0548096f, 0.0357666f, -0.0291748f, -0.1254883f, -0.5865479f, 0.1652832f, 0.0526123f, }, { -0.2708740f, -0.0598145f, -0.4698486f, 0.2000732f, -0.3570557f, 0.0997314f, 0.1812744f, 0.3084717f, 0.6645508f, -0.2434082f, }, { 0.1801758f, 0.0617676f, -0.2005615f, 0.2445068f, -0.2045898f, -0.0961914f, -0.2052002f, -0.2454834f, 0.1695557f, 0.0551758f, }, { 0.0723877f, 0.0003662f, -0.1464844f, -0.4866943f, -0.1994629f, -0.5261230f, -0.0837402f, 0.1076660f, 0.7611084f, 0.2954102f, }, { -0.0239258f, -0.1534424f, -0.2487793f, -0.0607910f, 0.1701660f, 0.0819092f, -0.2810059f, -0.0987549f, -0.0544434f, 0.4448242f, }, { -0.2005615f, -0.2812500f, -0.1010742f, 0.0128174f, -0.0394287f, -0.4768066f, -0.1171875f, 0.8940430f, 0.3778076f, -0.0959473f, }, { 0.0115967f, 0.0772705f, 0.1545410f, 0.0915527f, 0.1842041f, -0.2481689f, -0.3825684f, 0.0527344f, 0.1254883f, -0.2227783f, }, { 0.1535645f, 0.0312500f, -0.3966064f, -0.8383789f, -0.0638428f, -0.0396729f, -0.2171631f, 0.5264893f, 0.3081055f, 0.4190674f, }, { -0.0732422f, -0.0500488f, -0.0107422f, 0.0500488f, -0.1442871f, -0.1391602f, -0.1767578f, -0.1640625f, -0.6193848f, 0.7390137f, }, { 0.2678223f, 0.1837158f, -0.0831299f, -0.2939453f, 0.1679688f, 0.1695557f, 0.1475830f, 0.1279297f, -0.5125732f, -0.3587646f, }, { 0.2264404f, 0.2128906f, -0.1640625f, -0.1746826f, -0.2386475f, -0.2203369f, -0.6093750f, 0.0625000f, 0.0761719f, 0.3355713f, }, { -0.4206543f, -0.1483154f, -0.4594727f, -0.2647705f, -0.4395752f, -0.1612549f, 0.0081787f, 0.5280762f, 0.8085938f, 0.7099609f, }, { -0.0407715f, -0.2131348f, -0.0538330f, -0.0920410f, 0.2261963f, 0.4747314f, -0.0726318f, -0.0601807f, 0.0538330f, -0.0989990f, }, { -0.0058594f, -0.0932617f, -0.1798096f, -0.0833740f, 0.0736084f, -0.2141113f, 0.0952148f, 0.0852051f, 0.1323242f, 0.2091064f, }, { 0.0683594f, -0.0986328f, -0.0920410f, -0.3527832f, -0.1470947f, -0.0388184f, -0.1246338f, 0.3900146f, 0.6949463f, -0.5618896f, }, { 0.1639404f, -0.1295166f, -0.2979736f, -0.2177734f, 0.0880127f, 0.0325928f, 0.0277100f, -0.0759277f, 0.3677979f, -0.0937500f, }, { -0.0576172f, 0.0109863f, 0.0015869f, 0.0354004f, 0.1287842f, 0.1157227f, 0.1973877f, -0.2890625f, -0.1326904f, 0.1346436f, }, { -0.5839844f, -0.4726563f, 0.6256104f, -0.3073730f, -0.0262451f, 0.8498535f, 0.1336670f, -0.1856689f, 0.2552490f, -0.3615723f, }, { 0.2789307f, 0.1363525f, 0.1433105f, 0.3216553f, -0.2327881f, -0.1235352f, 0.0993652f, -0.0509033f, -0.2639160f, -0.3424072f, }, { -0.1450195f, -0.0863037f, -0.0986328f, -0.2144775f, 0.0317383f, -0.1334229f, -0.4830322f, -0.3986816f, 0.5043945f, 0.7299805f, }, { 0.0216064f, -0.1804199f, 0.1171875f, 0.2476807f, 0.4869385f, 0.0728760f, -0.3737793f, -0.4809570f, -0.2060547f, 0.0288086f, }, { -0.1903076f, 0.0183105f, 0.2968750f, 0.0424805f, -0.0295410f, -0.2458496f, -0.1253662f, 0.7687988f, -0.3609619f, -0.4833984f, }, { 0.1330566f, 0.1237793f, -0.1539307f, -0.0908203f, -0.1164551f, -0.1145020f, -0.4532471f, -0.3994141f, 0.6538086f, -0.2875977f, }, { -0.1756592f, 0.4648438f, -0.2844238f, -0.5416260f, 0.6319580f, -0.4401855f, -0.1687012f, 0.2226563f, 0.0496826f, 0.0396729f, }, { 0.0792236f, 0.0402832f, 0.0103760f, 0.0251465f, -0.0506592f, 0.0223389f, -0.0788574f, 0.0734863f, -0.3242188f, 0.0986328f, }, { 0.1268311f, 0.0035400f, -0.3908691f, -0.7529297f, -0.4443359f, 0.4560547f, 0.5106201f, 0.4832764f, 0.0402832f, 0.0413818f, }, { 0.3297119f, 0.0418701f, 0.1832275f, 0.2293701f, -0.3898926f, -0.5673828f, -0.1989746f, 0.2021484f, -0.1926270f, -0.0102539f, }, { -0.3741455f, -0.5036621f, 0.0029297f, -0.0317383f, 0.0321045f, -0.2081299f, -0.1573486f, 0.2968750f, 0.1500244f, 0.9132080f, }, { 0.3156738f, 0.2070313f, 0.0788574f, -0.2164307f, -0.0966797f, 0.2358398f, -0.2329102f, -0.2315674f, -0.1378174f, 0.0136719f, }, { -0.6917725f, -0.1943359f, 0.2750244f, -0.1196289f, 0.1929932f, 0.0257568f, 0.6441650f, 0.5915527f, -0.0351563f, -0.0194092f, }, { 0.1166992f, 0.1459961f, 0.0941162f, -0.1187744f, -0.2178955f, -0.0629883f, -0.1239014f, 0.1033936f, 0.0749512f, -0.0965576f, }, { -0.0539551f, -0.1945801f, -0.5654297f, -0.5361328f, -0.0507813f, 0.1706543f, 0.3137207f, 0.0917969f, 0.0322266f, 0.8020020f, }, { 0.2020264f, 0.0666504f, 0.1511230f, -0.1662598f, -0.1623535f, -0.2447510f, 0.4382324f, -0.2630615f, -0.0224609f, -0.1494141f, }, { -0.1772461f, -0.1871338f, -0.0651855f, 0.1232910f, -0.2083740f, 0.0977783f, 0.4428711f, -0.0352783f, 0.2946777f, 0.0161133f, }, { 0.3226318f, -0.3433838f, -0.5522461f, 0.6215820f, -0.8986816f, 0.0903320f, 0.0522461f, -0.0622559f, 0.0098877f, -0.1475830f, }, { 0.0751953f, 0.1774902f, 0.2271729f, -0.4831543f, -0.4985352f, 0.0230713f, -0.1488037f, -0.1068115f, 0.4594727f, 0.2546387f, }, { -0.1896973f, -0.2528076f, 0.1849365f, 0.4140625f, 0.0014648f, -0.0837402f, -0.2946777f, -0.1687012f, 0.0214844f, 0.2056885f, }, { 0.2508545f, -0.6955566f, 0.1931152f, 0.5025635f, -0.5915527f, -0.3566895f, 0.0744629f, 0.2541504f, 0.5715332f, -0.3035889f, }, { 0.0424805f, 0.2756348f, -0.0412598f, -0.1683350f, 0.1796875f, 0.0754395f, -0.0246582f, -0.1369629f, -0.0092773f, -0.3012695f, }, { -0.1484375f, -0.1203613f, -0.0399170f, -0.1759033f, 0.0124512f, 0.0491943f, -0.2569580f, 0.2943115f, 0.1843262f, 0.1572266f, }, { -0.0872803f, -0.0704346f, 0.1311035f, 0.3092041f, -0.4298096f, -0.4210205f, 0.2612305f, -0.0916748f, -0.0374756f, 0.4644775f, }, { 0.0192871f, -0.1690674f, -0.0493164f, -0.1682129f, -0.2377930f, 0.4620361f, 0.5146484f, 0.3255615f, -0.2312012f, -0.1903076f, }, { 0.1265869f, 0.1673584f, 0.1207275f, -0.0250244f, -0.0406494f, -0.5839844f, -0.4185791f, -0.1566162f, 0.4027100f, 0.1048584f, }, { -0.6008301f, -0.6690674f, -0.1459961f, -0.2133789f, -0.0878906f, 0.0629883f, 0.0137939f, 0.5603027f, 0.8631592f, 0.5303955f, }, { -0.6993408f, -0.4714355f, 0.4382324f, 0.1785889f, 0.8659668f, 0.6092529f, 0.1042480f, -0.0080566f, -0.1989746f, -0.0837402f, }, { -0.1126709f, -0.3986816f, -0.2426758f, 0.2862549f, 0.0958252f, -0.1733398f, 0.3666992f, 0.3581543f, -0.1519775f, -0.0079346f, }, { -0.3291016f, -0.3769531f, -0.1755371f, 0.0749512f, 0.1933594f, -0.0291748f, -0.1894531f, 0.0708008f, 0.7672119f, -0.2042236f, }, { -0.1950684f, -0.4904785f, -0.2330322f, 0.0911865f, 0.3895264f, 0.0446777f, 0.1790771f, -0.2359619f, 0.3367920f, 0.3422852f, }, { 0.0632324f, 0.0235596f, -0.1402588f, -0.3793945f, 0.0538330f, 0.1779785f, 0.3406982f, -0.5042725f, 0.3288574f, 0.4116211f, }, { -0.6131592f, -0.7923584f, 0.2189941f, 0.3343506f, 0.1785889f, 0.7132568f, 0.3502197f, 0.2432861f, -0.1719971f, 0.5898438f, }, }; const float AmpCB2_WB[64][NUM_ERB_WB-11] = { { -0.6440430f, -0.9412842f, -0.4294434f, -0.2949219f, -0.0466309f, 0.0389404f, -0.2319336f, -0.1098633f, 0.2105713f, 0.1079102f, 0.4969482f, }, { -0.4946289f, -0.2966309f, -0.0410156f, 0.2607422f, 0.3669434f, 0.0721436f, -0.4752197f, -0.3333740f, 0.3204346f, 0.2917480f, -0.1278076f, }, { -0.1077881f, -0.4111328f, -0.5169678f, -0.4548340f, 0.0230713f, -0.2200928f, 0.0957031f, 0.2851563f, 0.0251465f, -0.2612305f, 0.3663330f, }, { -0.0891113f, -0.2781982f, 0.0103760f, -0.4144287f, 0.5330811f, 0.2702637f, -0.0310059f, -0.3801270f, -0.2866211f, 0.3372803f, 0.0837402f, }, { -0.9149170f, -0.8078613f, 0.3862305f, -0.4830322f, -0.3272705f, -0.2501221f, 0.2025146f, 0.4436035f, 0.3615723f, 0.1921387f, 0.0462646f, }, { -0.3024902f, 0.3492432f, 0.0751953f, 0.1372070f, 0.0250244f, -0.3753662f, -0.0424805f, -0.2448730f, -0.0109863f, 0.0928955f, 0.1412354f, }, { -0.0139160f, -1.1547852f, -0.3400879f, -0.3972168f, -0.1367188f, -0.1831055f, -0.0544434f, 0.3460693f, -0.0383301f, 0.3912354f, 0.2581787f, }, { -0.1021729f, -0.0318604f, 0.0043945f, 0.0097656f, -0.0592041f, 0.1383057f, 0.2592773f, -0.1258545f, -0.0489502f, -0.3864746f, 0.1397705f, }, { -0.1972656f, -0.4180908f, -0.3748779f, -0.8411865f, -0.5124512f, 0.2797852f, 0.6298828f, -0.0056152f, 0.1745605f, 0.0341797f, 0.1682129f, }, { 0.2075195f, -0.2042236f, -0.1374512f, 0.6433105f, 0.6220703f, -0.1190186f, -0.1306152f, 0.1604004f, -0.2916260f, -0.3640137f, 0.0024414f, }, { -0.3928223f, -0.1088867f, -0.0776367f, -0.1069336f, -0.0368652f, -0.3568115f, -0.3955078f, 0.5030518f, 0.1983643f, -0.0679932f, 0.1213379f, }, { 0.0664063f, 0.3243408f, 0.8707275f, -0.0333252f, -0.4309082f, -0.1732178f, 0.1746826f, -0.1142578f, -0.3200684f, 0.0369873f, 0.0091553f, }, { -0.6645508f, -0.6773682f, 0.5106201f, 0.1523438f, 0.4240723f, -0.0963135f, 0.2899170f, -0.2170410f, 0.2026367f, 0.1855469f, -0.1749268f, }, { -0.4940186f, 0.0648193f, 0.8546143f, 0.0848389f, 0.2305908f, 0.5201416f, -0.3406982f, -0.1900635f, -0.3637695f, -0.0385742f, 0.0506592f, }, { 0.1384277f, 0.1832275f, -0.8450928f, 0.0635986f, -0.3825684f, -0.2211914f, 0.2255859f, 0.0825195f, -0.2115479f, 0.0895996f, 0.2694092f, }, { 0.2476807f, -0.0581055f, -0.2412109f, -0.0196533f, 0.0035400f, 0.8724365f, -0.2165527f, 0.0878906f, -0.1306152f, -0.0454102f, -0.1984863f, }, { -0.7901611f, -0.2988281f, -0.6390381f, -0.3236084f, -0.2197266f, -0.1802979f, -0.0936279f, 0.1629639f, 0.0574951f, 0.5928955f, 0.1083984f, }, { 0.0723877f, -0.0451660f, 0.0239258f, 0.1107178f, 0.0212402f, 0.0679932f, -0.0878906f, -0.1634521f, 0.1940918f, 0.0045166f, -0.1522217f, }, { -0.1595459f, 0.0336914f, -0.2122803f, -0.7363281f, -0.3769531f, -0.3050537f, -0.0606689f, -0.0479736f, -0.0694580f, 0.3665771f, 0.3288574f, }, { 0.4578857f, 0.5678711f, -0.0314941f, -0.1593018f, 0.0213623f, 0.0230713f, -0.0419922f, -0.2906494f, -0.2431641f, 0.0565186f, 0.0645752f, }, { -0.7781982f, 0.4841309f, -0.4343262f, -0.3663330f, -0.0781250f, 0.3804932f, 0.1367188f, 0.1179199f, 0.1606445f, -0.0684814f, 0.0032959f, }, { 0.3410645f, 0.3455811f, 0.4287109f, 0.4215088f, -0.0510254f, -0.2830811f, -0.8228760f, -0.4202881f, 0.0097656f, 0.1563721f, 0.2064209f, }, { 0.1831055f, -0.0721436f, -0.0902100f, 0.2911377f, -0.5708008f, -0.7106934f, -0.1754150f, 0.0891113f, 0.4385986f, -0.0533447f, 0.1330566f, }, { 0.4268799f, -0.2358398f, 0.3483887f, 0.5930176f, 0.3239746f, 0.1156006f, 0.2293701f, -0.5023193f, 0.3295898f, -0.3774414f, -0.1860352f, }, { 0.0274658f, -1.0097656f, -0.8222656f, -0.1558838f, 0.3651123f, 0.3641357f, 0.1378174f, -0.2027588f, 0.3438721f, 0.0571289f, 0.0599365f, }, { -0.0908203f, 0.0476074f, 0.0826416f, 0.9923096f, -0.3820801f, -0.0838623f, -0.0528564f, 0.1816406f, -0.4593506f, -0.0216064f, -0.0709229f, }, { -0.0932617f, 0.0047607f, 0.1876221f, -0.2689209f, -0.2048340f, 0.0321045f, -0.1481934f, 0.2655029f, -0.2266846f, 0.3780518f, -0.1091309f, }, { 0.5135498f, -0.2371826f, -0.1018066f, 0.1846924f, -0.5032959f, 0.4859619f, 0.7374268f, 0.0797119f, -0.0924072f, -0.0382080f, -0.3691406f, }, { -0.5632324f, -0.3831787f, -0.3620605f, 0.0217285f, 0.6049805f, -0.0521240f, -0.0050049f, 0.2900391f, 0.1230469f, -0.1649170f, -0.0112305f, }, { 0.1193848f, 0.2438965f, 0.6281738f, 0.2525635f, 0.0142822f, -0.2141113f, -0.3364258f, 0.5401611f, 0.0205078f, -0.2205811f, -0.2149658f, }, { -0.1483154f, 0.0217285f, -0.1906738f, -0.4112549f, -0.1121826f, -0.3144531f, 0.4411621f, 0.6064453f, -0.0036621f, -0.0483398f, -0.1405029f, }, { -0.1398926f, 0.1059570f, 0.1309814f, -0.0438232f, 0.3334961f, 0.0666504f, 0.5408936f, -0.0391846f, -0.1319580f, 0.1721191f, -0.3923340f, }, { -0.2827148f, -0.5968018f, -0.3002930f, -0.4692383f, -0.8939209f, -0.1755371f, -0.1816406f, 0.2257080f, 0.4927979f, 0.2955322f, 0.3292236f, }, { -0.2895508f, -0.2291260f, 0.0817871f, 0.4484863f, -0.1107178f, 0.1083984f, -0.4520264f, 0.0457764f, -0.1560059f, -0.1802979f, 0.3052979f, }, { -0.1142578f, -0.2053223f, -0.1651611f, -0.0408936f, -0.5419922f, 0.0467529f, -0.3332520f, -0.2600098f, -0.1348877f, 0.1938477f, 0.4077148f, }, { 0.5878906f, -0.4910889f, 0.0612793f, -0.5061035f, 0.0288086f, 0.5469971f, 0.0718994f, -0.4511719f, 0.1008301f, -0.0118408f, 0.0270996f, }, { -0.9810791f, -0.2739258f, 0.0173340f, 0.0988770f, -0.2679443f, 0.1605225f, 0.0800781f, 0.2320557f, -0.0592041f, 0.0386963f, 0.1845703f, }, { 0.1788330f, -0.2473145f, 0.2261963f, 0.1134033f, 0.2038574f, -0.3339844f, -0.0565186f, -0.1020508f, -0.6037598f, -0.0163574f, 0.3380127f, }, { 0.3627930f, -0.6284180f, -0.3841553f, 0.1114502f, -0.1810303f, 0.0325928f, -0.1904297f, 0.4764404f, 0.1839600f, 0.1348877f, -0.1826172f, }, { 0.0256348f, -0.1459961f, 0.4594727f, 0.0733643f, 0.1989746f, 0.4689941f, 0.7780762f, -0.1578369f, -0.5560303f, -0.3768311f, 0.0242920f, }, { -0.2340088f, -0.4066162f, -0.2828369f, -0.2165527f, 0.0584717f, 0.4531250f, 0.3331299f, 0.1597900f, -0.3719482f, -0.0627441f, 0.1051025f, }, { -0.0260010f, 0.1607666f, -0.2484131f, 0.5333252f, 0.6381836f, 0.1149902f, -0.3725586f, -0.2827148f, -0.4122314f, 0.1370850f, -0.0079346f, }, { 0.3060303f, 0.3309326f, -0.2558594f, -0.2641602f, -0.3215332f, -0.6365967f, -0.4783936f, 0.1893311f, -0.0057373f, 0.2429199f, 0.2893066f, }, { 0.2471924f, -0.2930908f, 0.5899658f, -0.4735107f, -0.0197754f, -0.3760986f, 0.0611572f, -0.0622559f, 0.3349609f, -0.1107178f, 0.0308838f, }, { -0.2131348f, -0.3076172f, 0.4172363f, -0.1783447f, 0.2612305f, 0.3060303f, 0.0164795f, 0.1778564f, 0.3900146f, -0.1558838f, -0.3122559f, }, { -0.0080566f, 1.3244629f, -0.1993408f, -0.1282959f, -0.4194336f, -0.1973877f, 0.1755371f, -0.1502686f, -0.2128906f, 0.0849609f, -0.0424805f, }, { 0.4191895f, 0.2589111f, -0.1988525f, -0.3002930f, -0.4962158f, 0.1414795f, -0.1572266f, 0.3470459f, 0.0850830f, -0.1052246f, 0.0004883f, }, { 0.1179199f, -0.0541992f, -0.2270508f, 0.1770020f, 0.7844238f, 0.6767578f, 0.1777344f, -0.3449707f, -0.1590576f, -0.3391113f, -0.1560059f, }, { -0.8125000f, -0.3956299f, -0.8646240f, 0.2727051f, 0.0249023f, 0.2139893f, 0.0980225f, 0.0609131f, 0.2003174f, 0.0106201f, 0.1795654f, }, { -0.1617432f, 0.0485840f, 0.3641357f, 0.5297852f, -0.1687012f, 0.0897217f, -0.0732422f, -0.5701904f, -0.0310059f, 0.2840576f, -0.1230469f, }, { -0.0175781f, -0.1773682f, -0.2204590f, -0.2037354f, 0.0482178f, -0.4010010f, -0.2200928f, -0.2586670f, 0.1503906f, 0.3557129f, 0.1806641f, }, { 1.0510254f, 0.2182617f, 0.3227539f, 0.1658936f, 0.4617920f, -0.0134277f, -0.1634521f, -0.1632080f, -0.4183350f, -0.0769043f, -0.1451416f, }, { -0.3125000f, 0.1191406f, 0.0589600f, -0.3349609f, -0.4459229f, -0.1573486f, 0.3552246f, -0.2974854f, 0.3870850f, 0.1805420f, 0.0191650f, }, { 0.1004639f, 0.5653076f, -0.2331543f, 0.4560547f, -0.0517578f, -0.0189209f, -0.6677246f, -0.0904541f, 0.4674072f, -0.3410645f, -0.0067139f, }, { -0.1766357f, -0.4234619f, -0.2376709f, 0.3557129f, -0.0074463f, -0.4187012f, 0.4326172f, -0.2279053f, 0.3645020f, 0.1231689f, -0.1282959f, }, { 0.0885010f, 0.3580322f, 0.3571777f, 0.7139893f, 0.0313721f, -0.3254395f, 0.7673340f, -0.2785645f, -0.3659668f, -0.3144531f, -0.1190186f, }, { -0.4461670f, -0.2279053f, -0.6152344f, -0.1757813f, 0.4323730f, -0.0736084f, 0.5866699f, -0.3427734f, -0.1993408f, 0.1694336f, 0.1402588f, }, { -0.1972656f, -0.2259521f, 0.2590332f, 0.5465088f, 0.3033447f, 0.1679688f, 0.0880127f, 0.2653809f, -0.3750000f, 0.1682129f, -0.3142090f, }, { -0.0045166f, 0.1613770f, -0.2009277f, -0.4409180f, 0.5423584f, 0.1967773f, -0.4154053f, 0.0867920f, 0.0161133f, 0.0145264f, -0.0277100f, }, { 0.6175537f, 0.3530273f, 0.1025391f, 0.6667480f, -0.4237061f, -0.1635742f, 0.2559814f, 0.0174561f, 0.2136230f, -0.3725586f, -0.2358398f, }, { -0.7753906f, -0.5085449f, -0.0787354f, 0.5269775f, 0.0772705f, 0.4493408f, 0.3431396f, 0.2863770f, 0.2897949f, -0.3660889f, -0.1544189f, }, { -0.0256348f, 0.6243896f, 0.5678711f, 0.1593018f, 0.4521484f, -0.1777344f, -0.0374756f, -0.0557861f, -0.1776123f, -0.4370117f, 0.0822754f, }, { 0.2703857f, 0.3000488f, -0.3687744f, -0.0080566f, 0.3094482f, -0.0795898f, 0.1496582f, 0.0836182f, 0.1068115f, -0.2139893f, -0.1420898f, }, { -0.0743408f, 0.4204102f, 0.0687256f, 0.4670410f, 0.1961670f, 0.4636230f, 0.1690674f, 0.4763184f, -0.2429199f, -0.4978027f, -0.3062744f, }, }; const float AmpCB1_NB[64][10] = { { -0.1654053f, 0.0225830f, -0.0270996f, -0.0269775f, 0.2412109f, 0.3807373f, 0.0659180f, 0.1627197f, -0.4450684f, -0.3065186f, }, { -0.1195068f, 0.2031250f, 0.2547607f, 0.1160889f, 0.0960693f, -0.2059326f, -0.1043701f, 0.1945801f, 0.1542969f, -0.6091309f, }, { -0.2388916f, -0.0262451f, -0.1037598f, 0.1671143f, -0.0137939f, 0.3101807f, -0.3544922f, 0.0906982f, 0.0773926f, -0.0802002f, }, { -0.4196777f, -0.2498779f, 0.0861816f, 0.0103760f, -0.0727539f, -0.0061035f, 0.0258789f, 0.1152344f, 0.0144043f, 0.1684570f, }, { -0.1468506f, -0.0095215f, -0.0260010f, -0.2210693f, -0.0953369f, -0.2404785f, 0.8065186f, -0.3626709f, 0.0179443f, -0.1810303f, }, { 0.0046387f, 0.6844482f, 0.6374512f, -0.5574951f, -0.4931641f, -0.2757568f, -0.3796387f, -0.2587891f, 0.1137695f, -0.0288086f, }, { -0.1284180f, 0.1268311f, -0.1064453f, 0.0407715f, -0.1121826f, 0.3370361f, 0.4052734f, -0.7114258f, 0.0064697f, 0.1297607f, }, { -0.1298828f, -0.0091553f, -0.1239014f, -0.2608643f, -0.0881348f, 0.0689697f, 0.0767822f, 0.2393799f, -0.0554199f, 0.1057129f, }, { -0.1083984f, 0.3237305f, 0.2436523f, -0.2648926f, -0.1080322f, 0.4058838f, -0.0787354f, -0.2316895f, -0.1201172f, -0.0784912f, }, { -0.1230469f, 0.3017578f, 0.2929688f, -0.4526367f, -0.2939453f, -0.1282959f, 0.2476807f, 0.1656494f, -0.0776367f, -0.0573730f, }, { -0.1595459f, 0.0799561f, 0.0809326f, 0.0035400f, 0.1088867f, -0.0115967f, -0.0111084f, -0.3620605f, -0.1965332f, 0.3243408f, }, { -0.2655029f, -0.3869629f, -0.4637451f, -0.3741455f, 0.1379395f, 0.1649170f, 0.4655762f, 0.3406982f, 0.1804199f, 0.1855469f, }, { -0.1618652f, -0.0634766f, -0.0844727f, 0.1097412f, 0.2415771f, -0.0484619f, -0.0496826f, 0.0549316f, -0.0694580f, -0.0745850f, }, { -0.1499023f, 0.1054688f, 0.3111572f, 0.3743896f, -0.3065186f, -0.5782471f, -0.3297119f, -0.0371094f, 0.0830078f, 0.1740723f, }, { -0.1306152f, -0.0023193f, -0.1931152f, -0.3433838f, -0.2236328f, 0.3674316f, 0.0305176f, -0.0748291f, 0.4138184f, -0.0208740f, }, { -0.1770020f, -0.0509033f, -0.0943604f, -0.0794678f, -0.0494385f, -0.2812500f, -0.0952148f, 0.8125000f, -0.3991699f, -0.1613770f, }, { 0.0085449f, 0.6231689f, 0.3908691f, -0.0101318f, -0.1129150f, -0.0559082f, 0.1468506f, -0.1931152f, -0.5075684f, -0.4431152f, }, { -0.2077637f, -0.1036377f, -0.0067139f, -0.1203613f, -0.2396240f, -0.1391602f, -0.2370605f, 0.4085693f, 0.4304199f, -0.0531006f, }, { -0.1744385f, -0.2550049f, -0.1977539f, -0.1551514f, 0.3480225f, 0.2666016f, -0.3017578f, 0.3925781f, 0.3521729f, -0.3566895f, }, { -0.1485596f, 0.0104980f, -0.0227051f, -0.0340576f, -0.0910645f, 0.1572266f, 0.3681641f, -0.0794678f, -0.3319092f, 0.0386963f, }, { -0.1595459f, -0.0155029f, -0.1354980f, 0.1695557f, 0.0258789f, 0.2176514f, 0.3197021f, -0.2097168f, 0.2191162f, -0.4987793f, }, { -0.1580811f, 0.0906982f, 0.0367432f, -0.2225342f, -0.0272217f, -0.0794678f, -0.2165527f, -0.0494385f, 0.2059326f, 0.2479248f, }, { -0.1055908f, 0.1292725f, -0.0477295f, 0.0616455f, -0.3343506f, -0.3385010f, 0.0019531f, -0.3613281f, 0.3748779f, 0.4058838f, }, { -0.0965576f, 0.2808838f, 0.0531006f, 0.0130615f, -0.4930420f, 0.0977783f, -0.1494141f, 0.2263184f, -0.1268311f, 0.0618896f, }, { -0.0632324f, 0.1217041f, 0.1021729f, 0.4041748f, 0.0617676f, 0.1252441f, -0.0283203f, -0.2343750f, -0.4765625f, 0.0495605f, }, { -0.2266846f, -0.0645752f, -0.0947266f, -0.0854492f, -0.0809326f, -0.1855469f, 0.2073975f, 0.0993652f, 0.2543945f, -0.0582275f, }, { -0.1636963f, -0.1370850f, -0.3129883f, -0.3398438f, 0.2999268f, 0.3934326f, -0.1170654f, 0.0469971f, -0.2275391f, 0.4582520f, }, { -0.1649170f, -0.1644287f, -0.2720947f, -0.3518066f, -0.1295166f, -0.1829834f, -0.3696289f, 0.4030762f, 0.2746582f, 0.6761475f, }, { -0.1168213f, -0.0415039f, 0.0032959f, 0.1840820f, 0.0203857f, -0.4288330f, 0.2061768f, 0.3145752f, -0.2209473f, -0.0629883f, }, { -0.1295166f, 0.2650146f, 0.2165527f, 0.2479248f, 0.1126709f, -0.2359619f, -0.2001953f, -0.3516846f, 0.1048584f, -0.1018066f, }, { 0.0498047f, 0.3005371f, 0.2530518f, 0.2572021f, -0.3260498f, 0.1391602f, -0.4268799f, -0.3048096f, 0.3642578f, -0.3304443f, }, { -0.2150879f, -0.3081055f, -0.2680664f, 0.0340576f, -0.3149414f, 0.0582275f, 0.2814941f, 0.5670166f, 0.0845947f, -0.1109619f, }, { -0.1329346f, 0.2382813f, 0.3703613f, -0.2185059f, 0.0959473f, -0.1402588f, -0.3804932f, 0.4400635f, -0.2359619f, -0.2302246f, }, { -0.1170654f, 0.1140137f, 0.0300293f, -0.2657471f, -0.2978516f, 0.1655273f, 0.1063232f, 0.4238281f, 0.3122559f, -0.5507813f, }, { -0.0954590f, 0.1540527f, 0.1090088f, 0.2415771f, 0.2912598f, -0.2208252f, -0.5318604f, -0.0478516f, -0.2353516f, 0.1923828f, }, { -0.2137451f, -0.0399170f, -0.1242676f, -0.0753174f, -0.2893066f, -0.3552246f, 0.5163574f, -0.0109863f, -0.1661377f, 0.4389648f, }, { -0.1304932f, -0.0384521f, -0.0197754f, -0.0413818f, -0.0382080f, 0.0040283f, 0.5717773f, 0.3431396f, -0.3316650f, -0.4497070f, }, { 0.0848389f, 0.5574951f, -0.0909424f, -0.2821045f, -0.0947266f, -0.3173828f, -0.1009521f, -0.1269531f, -0.1217041f, 0.3027344f, }, { -0.1890869f, -0.0913086f, -0.0759277f, -0.0317383f, 0.1782227f, 0.1362305f, -0.0368652f, -0.3087158f, 0.2631836f, -0.0051270f, }, { -0.1608887f, -0.0693359f, -0.0324707f, -0.0544434f, -0.2700195f, 0.3283691f, -0.5699463f, 0.6500244f, -0.2468262f, 0.1657715f, }, { -0.1601563f, 0.2799072f, 0.1865234f, 0.0861816f, 0.1184082f, -0.0355225f, 0.0467529f, -0.0833740f, -0.1870117f, -0.2249756f, }, { -0.1683350f, 0.1031494f, 0.1486816f, 0.0482178f, -0.2299805f, 0.0017090f, 0.0825195f, -0.2088623f, 0.0970459f, 0.0354004f, }, { -0.0905762f, 0.0471191f, -0.0531006f, 0.0501709f, 0.1600342f, 0.0670166f, -0.5103760f, -0.6008301f, 0.1827393f, 0.5450439f, }, { -0.2102051f, -0.0853271f, -0.2390137f, -0.5036621f, -0.4549561f, -0.0799561f, 0.1895752f, 0.2188721f, 0.6021729f, 0.3729248f, }, { -0.1538086f, -0.0754395f, 0.0653076f, -0.2451172f, 0.4641113f, -0.4619141f, 0.3084717f, -0.1016846f, 0.0235596f, -0.1296387f, }, { -0.1057129f, 0.1004639f, 0.1906738f, 0.0179443f, -0.0760498f, -0.2207031f, -0.1341553f, 0.0847168f, -0.0704346f, 0.0909424f, }, { -0.2785645f, -0.5052490f, -0.3870850f, 0.0092773f, 0.0030518f, -0.1314697f, 0.0582275f, 0.0665283f, 0.7423096f, 0.3959961f, }, { -0.1625977f, -0.0958252f, 0.0119629f, -0.2052002f, -0.4398193f, -0.4805908f, 0.0639648f, 0.5673828f, 0.1359863f, 0.3109131f, }, { -0.1397705f, 0.0496826f, 0.2478027f, 0.3808594f, -0.2122803f, -0.0626221f, -0.0632324f, 0.1617432f, -0.2075195f, -0.3491211f, }, { -0.1741943f, 0.0634766f, -0.1269531f, -0.0966797f, -0.0446777f, -0.2653809f, -0.0637207f, -0.0292969f, 0.6909180f, -0.3861084f, }, { -0.1768799f, -0.2017822f, -0.1839600f, 0.0709229f, 0.1633301f, -0.3206787f, -0.2274170f, 0.2235107f, 0.1588135f, 0.2570801f, }, { -0.1528320f, 0.1188965f, 0.0242920f, 0.0083008f, -0.0084229f, -0.1060791f, 0.1054688f, 0.2896729f, -0.7102051f, 0.3507080f, }, { 0.0031738f, 0.1186523f, 0.0438232f, -0.0684814f, -0.0476074f, 0.0458984f, 0.0274658f, 0.0631104f, 0.0792236f, -0.2156982f, }, { -0.0797119f, 0.2645264f, 0.1076660f, -0.0852051f, 0.0261230f, -0.4985352f, -0.5046387f, 0.2553711f, 0.3415527f, -0.0638428f, }, { -0.1223145f, 0.0593262f, 0.0791016f, -0.1320801f, 0.0493164f, -0.1818848f, 0.1904297f, -0.6083984f, 0.6853027f, -0.1759033f, }, { -0.1250000f, -0.0379639f, 0.0521240f, 0.0434570f, -0.2858887f, 0.0262451f, -0.2822266f, 0.0543213f, -0.2902832f, 0.6239014f, }, { -0.0693359f, 0.0103760f, 0.1621094f, 0.2254639f, 0.4279785f, 0.1444092f, -0.3077393f, -0.2526855f, -0.0969238f, -0.2296143f, }, { -0.0592041f, 0.1368408f, 0.1516113f, 0.1588135f, -0.5328369f, -0.2712402f, 0.3176270f, -0.0472412f, 0.1828613f, -0.1640625f, }, { -0.1552734f, -0.1666260f, -0.2694092f, -0.0260010f, -0.2291260f, 0.3488770f, 0.1036377f, -0.1116943f, 0.0406494f, 0.3037109f, }, { -0.2464600f, -0.2500000f, -0.1783447f, -0.2355957f, -0.1719971f, -0.0488281f, 0.0598145f, -0.2712402f, 0.1557617f, 0.8917236f, }, { -0.1867676f, -0.2125244f, -0.3250732f, 0.3856201f, 0.1418457f, -0.1818848f, 0.1850586f, -0.1828613f, 0.1491699f, 0.1022949f, }, { 0.1617432f, 0.6575928f, 0.4746094f, 0.2373047f, -0.2082520f, -0.3527832f, -0.2325439f, -0.4761963f, -0.3914795f, 0.0251465f, }, { -0.1722412f, -0.1170654f, -0.0356445f, -0.0483398f, -0.1888428f, -0.0102539f, -0.5377197f, -0.1309814f, 0.6752930f, 0.2192383f, }, { 0.3857422f, 0.0058594f, -0.2855225f, -0.7182617f, -0.0224609f, -0.0063477f, 0.0157471f, 0.6589355f, 0.0461426f, -0.0391846f, }, }; const float AmpCB2_NB[64][NUM_ERB_NB-11] = { { -0.3272705f, -0.5357666f, -0.5212402f, -0.5770264f, -0.0291748f, 0.2365723f, 0.2133789f, 0.2821045f, 0.5249023f, }, { -0.4830322f, -0.1585693f, 0.4256592f, 0.1947021f, -0.0460205f, 0.0360107f, -0.1456299f, -0.1938477f, 0.2578125f, }, { -0.1920166f, -0.7766113f, -0.0615234f, 0.2192383f, -0.3077393f, -0.0083008f, 0.1613770f, 0.1492920f, 0.2762451f, }, { -0.0614014f, -0.4768066f, 0.4499512f, -0.4759521f, -0.0169678f, 0.2546387f, 0.0058594f, 0.0426025f, 0.0667725f, }, { -0.7796631f, 0.1635742f, -0.1790771f, -0.1296387f, -0.0235596f, 0.1617432f, -0.1452637f, 0.2922363f, 0.2039795f, }, { -0.2419434f, -0.3170166f, -0.0476074f, -0.1835938f, 0.2772217f, -0.0462646f, -0.2868652f, 0.4969482f, 0.0085449f, }, { -0.1165771f, -0.1077881f, -0.2160645f, -0.1300049f, -0.2982178f, -0.2171631f, -0.1343994f, -0.0806885f, 0.7720947f, }, { 0.2283936f, -0.3262939f, 0.4389648f, 0.4605713f, -0.0831299f, 0.4077148f, -0.1730957f, 0.0855713f, -0.5191650f, }, { -0.4798584f, -0.2246094f, -0.2915039f, -0.3267822f, -0.4327393f, -0.0050049f, 0.4486084f, 0.4691162f, 0.2683105f, }, { -0.2091064f, -0.0395508f, 0.0731201f, 0.1614990f, 0.2230225f, -0.5992432f, -0.2036133f, 0.0751953f, 0.3183594f, }, { 0.0439453f, -0.2159424f, -0.6424561f, -0.1560059f, 0.4260254f, 0.2362061f, 0.1654053f, -0.1584473f, 0.1162109f, }, { 0.2198486f, 0.0548096f, 0.0306396f, -0.1246338f, -0.4475098f, 0.0584717f, 0.4268799f, 0.1882324f, -0.2727051f, }, { -0.4167480f, -0.5472412f, -0.7061768f, 0.1716309f, 0.1473389f, 0.3642578f, 0.2156982f, 0.3981934f, -0.0975342f, }, { -0.3813477f, 0.6392822f, 0.0561523f, 0.2449951f, -0.1861572f, -0.2570801f, -0.0939941f, 0.0666504f, 0.0167236f, }, { 0.0489502f, -0.1596680f, 0.1182861f, 0.0249023f, -0.1984863f, -0.0718994f, -0.5196533f, 0.2128906f, 0.3461914f, }, { 0.2908936f, 0.3344727f, -0.0516357f, 0.3864746f, 0.2343750f, -0.0842285f, -0.3662109f, -0.5479736f, 0.3079834f, }, { -0.8170166f, -0.6268311f, -0.0902100f, -0.2342529f, 0.1499023f, 0.2873535f, 0.4077148f, 0.2321777f, 0.1304932f, }, { -0.3887939f, -0.3190918f, 0.3374023f, -0.0258789f, -0.2515869f, -0.1680908f, 0.0852051f, 0.4509277f, -0.0152588f, }, { -0.1164551f, -0.5043945f, -0.0493164f, 0.5245361f, 0.1579590f, 0.2154541f, 0.2985840f, -0.2791748f, -0.1693115f, }, { -0.0017090f, 0.0620117f, 0.1402588f, 0.0010986f, -0.0533447f, 0.0633545f, -0.0512695f, 0.0549316f, -0.0916748f, }, { -0.1992188f, -0.1697998f, -0.2695313f, -0.2386475f, -0.1428223f, 0.5881348f, 0.1357422f, 0.1325684f, -0.0954590f, }, { 0.1632080f, 0.1032715f, -0.4191895f, 0.0694580f, 0.2100830f, -0.0947266f, -0.3323975f, 0.1473389f, 0.1198730f, }, { -0.1748047f, -0.1082764f, 0.0384521f, -0.3699951f, 0.4213867f, 0.0933838f, -0.1541748f, -0.2619629f, 0.3612061f, }, { -0.3197021f, 0.1839600f, 0.1601563f, 0.4989014f, 0.3814697f, 0.1998291f, -0.1711426f, -0.0054932f, -0.3897705f, }, { 0.1705322f, -0.3187256f, -0.4444580f, -0.3024902f, -0.2082520f, 0.0717773f, 0.0242920f, 0.4542236f, 0.1485596f, }, { -0.1524658f, -0.1459961f, 0.8823242f, 0.1215820f, 0.1072998f, -0.1634521f, 0.0013428f, -0.1185303f, -0.2050781f, }, { 0.0874023f, -0.0047607f, 0.0284424f, 0.2374268f, 0.1889648f, -0.1801758f, 0.0671387f, -0.2779541f, 0.0374756f, }, { 0.9049072f, 0.2556152f, -0.1990967f, -0.0694580f, -0.1649170f, -0.0241699f, -0.0589600f, -0.0628662f, -0.1644287f, }, { -0.0258789f, -0.3233643f, -0.0633545f, 0.0238037f, 0.3593750f, -0.0970459f, 0.1794434f, 0.0798340f, -0.1767578f, }, { 0.3852539f, 0.1671143f, 0.4841309f, 0.4128418f, -0.3395996f, -0.5194092f, -0.1412354f, -0.0258789f, 0.0478516f, }, { 0.1051025f, 0.6181641f, 0.5786133f, -0.3067627f, -0.4166260f, -0.0673828f, -0.2805176f, -0.0701904f, 0.1379395f, }, { 0.1437988f, 0.1914063f, 0.5604248f, 0.1511230f, 0.0447998f, 0.1984863f, 0.0732422f, -0.7188721f, 0.0198975f, }, { -0.4567871f, -0.4455566f, -0.4774170f, 0.0874023f, 0.1121826f, -0.1832275f, 0.0067139f, 0.2205811f, 0.4639893f, }, { -0.6800537f, -0.5657959f, 0.1495361f, 0.3919678f, 0.4643555f, 0.1820068f, -0.1105957f, 0.0122070f, 0.0493164f, }, { -0.2126465f, -0.2292480f, -0.2612305f, 0.2015381f, 0.2001953f, 0.4853516f, -0.4189453f, -0.1402588f, 0.1666260f, }, { 0.2492676f, 0.0478516f, 0.0937500f, -0.1872559f, 0.1337891f, 0.4652100f, -0.0257568f, -0.2523193f, -0.1605225f, }, { -0.5086670f, 0.1397705f, -0.3353271f, -0.0181885f, 0.6464844f, -0.0897217f, 0.0534668f, 0.0068359f, -0.0493164f, }, { -0.0194092f, -0.2641602f, -0.1170654f, 0.4262695f, -0.0842285f, -0.0839844f, -0.1319580f, 0.3371582f, -0.1453857f, }, { 0.0798340f, 0.2503662f, -0.2617188f, -0.3918457f, -0.2225342f, 0.0906982f, 0.0837402f, -0.0916748f, 0.3031006f, }, { 0.0195313f, 0.1561279f, 0.3962402f, 0.2287598f, 0.3037109f, 0.1455078f, -0.7296143f, -0.0583496f, 0.0146484f, }, { -0.0426025f, -0.0079346f, -0.2868652f, -0.0270996f, -0.2048340f, -0.4375000f, 0.1359863f, 0.3990479f, 0.1784668f, }, { -0.1359863f, -0.0168457f, 0.2880859f, -0.3371582f, 0.0878906f, -0.4665527f, 0.3079834f, 0.0263672f, 0.1428223f, }, { 0.5368652f, -0.5162354f, -0.2258301f, 0.1552734f, 0.0467529f, 0.2119141f, -0.0467529f, -0.1580811f, 0.0103760f, }, { -0.0161133f, 0.1383057f, 0.1837158f, 0.1790771f, -0.2916260f, -0.2655029f, 0.4916992f, -0.3359375f, 0.0294189f, }, { -0.5313721f, -0.2567139f, -0.0686035f, 0.0997314f, 0.4832764f, 0.6678467f, 0.2369385f, -0.1950684f, -0.2867432f, }, { 0.0245361f, 0.1723633f, -0.0971680f, 0.3406982f, -0.5158691f, 0.3939209f, -0.2431641f, -0.0194092f, -0.0194092f, }, { 0.4986572f, -0.1890869f, 0.1245117f, -0.2659912f, -0.0947266f, -0.2548828f, -0.0179443f, -0.0051270f, 0.2294922f, }, { -0.1256104f, 0.6081543f, -0.2509766f, 0.0135498f, 0.1733398f, 0.2613525f, 0.0368652f, -0.3142090f, -0.1203613f, }, { -0.0582275f, -0.4512939f, -0.2867432f, -0.2519531f, -0.0408936f, -0.0268555f, 0.7149658f, 0.0069580f, -0.0008545f, }, { -0.6600342f, -0.0666504f, -0.0430908f, 0.3498535f, 0.0167236f, -0.0166016f, 0.4282227f, 0.1210938f, -0.2513428f, }, { -0.2482910f, -0.1375732f, -0.0230713f, -0.0366211f, -0.2628174f, 0.4401855f, 0.3079834f, -0.4549561f, 0.1862793f, }, { -0.4635010f, 0.2604980f, 0.5312500f, -0.1123047f, -0.0560303f, 0.3322754f, 0.2177734f, -0.0086670f, -0.3698730f, }, { -0.1070557f, 0.2401123f, -0.2008057f, -0.5410156f, 0.0625000f, 0.0047607f, 0.2144775f, 0.3509521f, -0.1156006f, }, { 0.2248535f, 0.1666260f, 0.1831055f, 0.1038818f, 0.0725098f, -0.3530273f, -0.0493164f, 0.4061279f, -0.3757324f, }, { -0.1922607f, -0.1535645f, -0.1187744f, -0.0233154f, -0.0476074f, 0.0054932f, 0.0765381f, -0.0277100f, 0.1982422f, }, { -0.0174561f, 0.0262451f, 0.2633057f, 0.5915527f, 0.6512451f, 0.4146729f, -0.0242920f, -0.5423584f, -0.3773193f, }, { -0.0345459f, -0.0263672f, 0.1510010f, -0.1804199f, -0.6883545f, -0.0946045f, 0.0640869f, 0.2572021f, 0.3013916f, }, { 0.3581543f, -0.0311279f, 0.2976074f, 0.1005859f, 0.7291260f, -0.2221680f, -0.1623535f, -0.1467285f, -0.2969971f, }, { 0.1098633f, 0.0793457f, -0.6901855f, 0.3529053f, -0.1878662f, -0.0552979f, 0.2028809f, 0.0281982f, -0.0177002f, }, { 0.2027588f, 0.0904541f, -0.0405273f, 0.1490479f, 0.2208252f, 0.1151123f, 0.5897217f, -0.1938477f, -0.5638428f, }, { 0.0079346f, -0.0964355f, -0.1202393f, -0.1090088f, 0.4118652f, 0.3842773f, 0.0352783f, 0.3597412f, -0.6079102f, }, { -0.0806885f, -0.0521240f, 0.1759033f, 0.9394531f, 0.0192871f, -0.2336426f, -0.2525635f, -0.2095947f, -0.0510254f, }, { 0.3243408f, 0.5150146f, 0.1837158f, -0.1337891f, 0.0733643f, -0.1789551f, -0.2141113f, -0.0584717f, -0.0194092f, }, { 0.4123535f, 0.6411133f, 0.6176758f, 0.4884033f, 0.1588135f, 0.0512695f, -0.1547852f, -0.3433838f, -0.5122070f, }, }; const float PowerCB_WB[64][2] = { { -1.6459961f, -0.8359375f, }, { -0.083007813f, 0.17089844f, }, { -0.31152344f, -0.45849609f, }, { 0.02734375f, 0.52441406f, }, { -0.76123047f, -0.30566406f, }, { 0.09765625f, 0.16796875f, }, { -0.19384766f, 0.11621094f, }, { 0.13867188f, 0.69091797f, }, { -0.64599609f, -0.91796875f, }, { -0.265625f, 0.57128906f, }, { -0.30224609f, -0.12451172f, }, { 0.28662109f, 0.47558594f, }, { -0.61621094f, -0.047851563f, }, { 0.15966797f, 0.073730469f, }, { 0.020019531f, -0.14746094f, }, { 0.45947266f, 0.91601563f, }, { -1.1020508f, -0.60205078f, }, { 0.013671875f, 0.098632813f, }, { -0.25390625f, -0.27392578f, }, { 0.16503906f, 0.51171875f, }, { -0.52734375f, -0.24169922f, }, { 0.092773438f, 0.28417969f, }, { -0.13867188f, -0.01171875f, }, { 0.28222656f, 0.77392578f, }, { -0.64648438f, -0.53173828f, }, { -0.034667969f, 0.27734375f, }, { -0.22998047f, -0.012695313f, }, { 0.55664063f, 0.44384766f, }, { -0.41796875f, -0.0625f, }, { 0.20751953f, 0.36132813f, }, { 0.068359375f, 0.005859375f, }, { 0.77880859f, 0.92333984f, }, { -1.0625f, -1.1279297f, }, { -0.15039063f, 0.26416016f, }, { -0.15380859f, -0.41943359f, }, { -0.0390625f, 0.64160156f, }, { -0.87011719f, 0.24902344f, }, { 0.19677734f, 0.21972656f, }, { -0.29638672f, 0.28417969f, }, { 0.070800781f, 0.89697266f, }, { -0.44921875f, -0.67675781f, }, { -0.10986328f, 0.42578125f, }, { -0.19287109f, -0.12597656f, }, { 0.40478516f, 0.47900391f, }, { -0.46142578f, 0.16845703f, }, { 0.31396484f, 0.11767578f, }, { -0.02734375f, -0.011230469f, }, { 0.59130859f, 0.72363281f, }, { -0.87548828f, -0.71240234f, }, { 0.01953125f, 0.1953125f, }, { -0.11669922f, -0.22998047f, }, { 0.25976563f, 0.60449219f, }, { -0.37792969f, -0.25195313f, }, { 0.11914063f, 0.40576172f, }, { -0.076660156f, 0.07421875f, }, { 0.28125f, 1.1166992f, }, { -0.453125f, -0.41210938f, }, { 0.020019531f, 0.37060547f, }, { -0.078613281f, -0.096679688f, }, { 0.42626953f, 0.66064453f, }, { -0.3125f, 0.051269531f, }, { 0.33935547f, 0.30419922f, }, { 0.17773438f, -0.08984375f, }, { 0.60449219f, 1.1943359f, }, }; const float PowerCB_NB[64][2] = { { -1.6352539f, -1.359375f, }, { -0.3828125f, 0.18798828f, }, { -0.43505859f, -0.27441406f, }, { 0.061523438f, 0.44677734f, }, { -0.74121094f, -0.70214844f, }, { 0.1484375f, 0.025878906f, }, { -0.15332031f, -0.21826172f, }, { 0.33544922f, 0.59521484f, }, { -1.262207f, -0.88232422f, }, { -0.031738281f, 0.074707031f, }, { -0.59521484f, -0.16455078f, }, { 0.24267578f, 0.34179688f, }, { -0.43652344f, -0.51318359f, }, { 0.078613281f, 0.22021484f, }, { -0.022460938f, -0.25195313f, }, { 0.48193359f, 0.74169922f, }, { -1.1118164f, -1.1245117f, }, { -0.17285156f, 0.21728516f, }, { -0.25976563f, -0.26367188f, }, { 0.0024414063f, 0.62060547f, }, { -0.51123047f, -0.69970703f, }, { 0.328125f, -0.10986328f, }, { -0.16357422f, -0.036621094f, }, { 0.49169922f, 0.515625f, }, { -0.66503906f, -0.91748047f, }, { -0.045410156f, 0.17919922f, }, { -0.22851563f, -0.12646484f, }, { 0.87890625f, -0.14160156f, }, { -0.54589844f, -0.38720703f, }, { 0.20117188f, 0.23046875f, }, { -0.0043945313f, -0.096191406f, }, { 0.71826172f, 0.79785156f, }, { -1.2827148f, -1.3901367f, }, { -0.13134766f, 0.080078125f, }, { -0.33642578f, -0.18212891f, }, { 0.2109375f, 0.45898438f, }, { -0.78173828f, -0.40966797f, }, { 0.15185547f, 0.13232422f, }, { -0.10351563f, -0.12255859f, }, { 0.26513672f, 0.83691406f, }, { -0.98339844f, -0.65234375f, }, { 0.053222656f, 0.11767578f, }, { -0.38525391f, -0.053710938f, }, { 0.35595703f, 0.43359375f, }, { -0.20410156f, -0.62353516f, }, { 0.125f, 0.32910156f, }, { 0.10644531f, -0.10595703f, }, { 0.50146484f, 1.0083008f, }, { -0.86376953f, -1.1196289f, }, { -0.13476563f, 0.41650391f, }, { -0.17578125f, -0.37304688f, }, { 0.18359375f, 0.60888672f, }, { -0.62207031f, -0.54785156f, }, { 0.29394531f, 0.1328125f, }, { -0.064941406f, -0.015625f, }, { 0.67089844f, 0.54589844f, }, { -0.90820313f, -0.87646484f, }, { -0.011230469f, 0.30273438f, }, { -0.25634766f, 0.029296875f, }, { 0.52246094f, 0.26757813f, }, { -0.33740234f, -0.39013672f, }, { 0.34228516f, 0.27929688f, }, { 0.039550781f, 0.0087890625f, }, { 0.95166016f, 1.0351563f, }, }; /* sinc for warp/extrapolate./16384., in Q14 */ const float sinc[8][12] = { {0.0f/16384.0f,0.0f/16384.0f,0.0f/16384.0f,0.0f/16384.0f,0.0f/16384.0f,16384.0f/16384.0f,0.0f/16384.0f,0.0f/16384.0f,0.0f/16384.0f,0.0f/16384.0f,0.0f/16384.0f,0.0f/16384.0f,}, {-388.0f/16384.0f,484.0f/16384.0f,-638.0f/16384.0f,939.0f/16384.0f,-1773.0f/16384.0f,15966.0f/16384.0f,2281.0f/16384.0f,-1063.0f/16384.0f,694.0f/16384.0f,-514.0f/16384.0f,409.0f/16384.0f,-339.0f/16384.0f,}, {-701.0f/16384.0f,868.0f/16384.0f,-1134.0f/16384.0f,1639.0f/16384.0f,-2949.0f/16384.0f,14751.0f/16384.0f,4917.0f/16384.0f,-2106.0f/16384.0f,1341.0f/16384.0f,-982.0f/16384.0f,776.0f/16384.0f,-640.0f/16384.0f,}, {-895.0f/16384.0f,1101.0f/16384.0f,-1427.0f/16384.0f,2029.0f/16384.0f,-3503.0f/16384.0f,12849.0f/16384.0f,7709.0f/16384.0f,-2964.0f/16384.0f,1835.0f/16384.0f,-1328.0f/16384.0f,1042.0f/16384.0f,-856.0f/16384.0f,}, {-947.0f/16384.0f,1159.0f/16384.0f,-1489.0f/16384.0f,2086.0f/16384.0f,-3476.0f/16384.0f,10430.0f/16384.0f,10430.0f/16384.0f,-3476.0f/16384.0f,2086.0f/16384.0f,-1489.0f/16384.0f,1159.0f/16384.0f,-947.0f/16384.0f,}, {-856.0f/16384.0f,1042.0f/16384.0f,-1328.0f/16384.0f,1835.0f/16384.0f,-2964.0f/16384.0f,7709.0f/16384.0f,12849.0f/16384.0f,-3503.0f/16384.0f,2029.0f/16384.0f,-1427.0f/16384.0f,1101.0f/16384.0f,-895.0f/16384.0f,}, {-640.0f/16384.0f,776.0f/16384.0f,-982.0f/16384.0f,1341.0f/16384.0f,-2106.0f/16384.0f,4917.0f/16384.0f,14751.0f/16384.0f,-2949.0f/16384.0f,1639.0f/16384.0f,-1134.0f/16384.0f,868.0f/16384.0f,-701.0f/16384.0f,}, {-339.0f/16384.0f,409.0f/16384.0f,-514.0f/16384.0f,694.0f/16384.0f,-1063.0f/16384.0f,2281.0f/16384.0f,15966.0f/16384.0f,-1773.0f/16384.0f,939.0f/16384.0f,-638.0f/16384.0f,484.0f/16384.0f,-388.0f/16384.0f,}, }; /*----------------------------------------------------------------------------------* * Highrate SWB BWE tables *----------------------------------------------------------------------------------*/ const float overlap_coefs_48kHz[NSV_OVERLAP*WIDTH_BAND] = { 0.30f, 0.34f, 0.36f, 0.39f, 0.42f, 0.44f, 0.46f, 0.475f, 0.49f, 0.51f, 0.54f, 0.57f, 0.62f, 0.72f, 0.83f, 0.95f }; const float overlap_coefs[NSV_OVERLAP*WIDTH_BAND] = { 0.2700f, 0.3060f, 0.3240f, 0.3510f, 0.3780f, 0.3960f, 0.4140f, 0.4275f, 0.4410f, 0.4590f, 0.4860f, 0.5130f, 0.5580f, 0.6480f, 0.7470f, 0.855f }; const float swb_hr_env_code1[NUM_ENVLOPE_CODE_HR1*2] = { 0.044983f, 0.041700f, 0.524276f, 0.469365f, 0.671757f, 0.605513f, 0.983501f, 0.855093f, 1.227874f, 1.132200f, 1.672212f, 1.432704f, 2.548211f, 2.361091f, 3.196961f, 3.306999f, 2.580753f, 5.217478f, 4.207751f, 7.243802f, 3.517157f, 1.738487f, 4.381567f, 2.753657f, 4.758266f, 4.696094f, 6.827988f, 6.106459f, 4.450459f, 10.131211f, 7.256045f, 12.488036f, 6.708720f, 1.953339f, 6.604030f, 3.699560f, 10.612728f, 2.537916f, 9.387467f, 4.241173f, 7.119045f, 8.281485f, 9.062854f, 7.086526f, 8.919388f, 9.762914f, 11.299319f, 11.763904f, 11.782217f, 5.879754f, 14.050457f, 9.665228f, 11.201525f, 9.001128f, 14.434753f, 13.236565f, 14.337260f, 3.904411f, 20.071049f, 4.335061f, 18.105812f, 8.223599f, 22.352287f, 9.603263f, 7.242756f, 16.564487f, 11.777528f, 19.167645f, 11.121798f, 15.455982f, 14.563579f, 17.359568f, 17.821218f, 11.894719f, 17.466026f, 15.296063f, 21.336960f, 13.455175f, 20.544336f, 17.125366f, 9.056358f, 22.338306f, 11.238424f, 28.832520f, 13.262732f, 25.143383f, 16.243559f, 28.256853f, 15.269305f, 21.539135f, 16.983515f, 24.699589f, 19.591730f, 22.689682f, 20.146198f, 25.888466f, 17.797417f, 19.453121f, 21.290621f, 20.186579f, 24.097319f, 19.086721f, 23.613092f, 22.545858f, 23.682005f, 16.328239f, 26.886553f, 19.402439f, 26.009769f, 15.632211f, 28.939930f, 16.240620f, 25.094482f, 12.366419f, 27.713383f, 13.263280f, 28.330946f, 10.329259f, 30.632830f, 12.851279f, 25.273802f, 6.138124f, 29.195339f, 7.222413f, 32.171322f, 5.019567f, 31.979000f, 9.473855f, }; const float swb_hr_env_code2[NUM_ENVLOPE_CODE_HR2*2] = { 0.512539f, 0.472507f, 1.338963f, 1.108591f, 2.544041f, 1.759765f, 3.124053f, 3.045299f, 4.892713f, 3.721097f, 4.010297f, 5.750862f, 5.111215f, 2.164709f, 6.667518f, 3.893404f, 8.454117f, 2.751430f, 11.123573f, 3.518174f, 6.622948f, 5.960704f, 8.562429f, 5.003579f, 8.919363f, 7.784057f, 10.759037f, 5.959438f, 12.449193f, 8.359519f, 13.677005f, 11.230577f, 13.672631f, 5.457414f, 16.471989f, 3.917684f, 20.910328f, 6.432810f, 25.457325f, 8.617220f, 16.410700f, 7.574456f, 18.574385f, 10.291498f, 22.088757f, 12.512156f, 21.170530f, 17.208714f, 5.276107f, 9.622470f, 9.093585f, 11.274686f, 11.945659f, 15.538144f, 16.550409f, 15.046564f, 6.358148f, 17.547396f, 13.316619f, 21.765524f, 7.646096f, 26.106720f, 2.451297f, 31.933104f }; const float swb_hr_env_code3[NUM_ENVLOPE_CODE_HR_TR*N_BANDS_TRANS_BWE_HR] = { 0.799219f, 0.677609f, 1.754571f, 1.215689f, 2.846222f, 2.017775f, 4.379336f, 1.975914f, 5.935472f, 2.945818f, 3.938621f, 4.220399f, 8.080808f, 2.632276f, 7.579771f, 4.986835f, 4.956485f, 10.363663f, 7.739148f, 8.652471f, 9.238397f, 7.051655f, 10.205707f, 5.619638f, 10.645117f, 4.374648f, 11.660180f, 3.474015f, 10.845836f, 2.664596f, 11.724073f, 1.637023f }; /* Searching thresholds for quantization of norms */ const float thren[39] = { 110217.974940f, 77935.877489f, 55108.987470f, 38967.938744f, 27554.493735f, 19483.969372f, 13777.246868f, 9741.984686f, 6888.623434f, 4870.992343f, 3444.311717f, 2435.496172f, 1722.155858f, 1217.748086f, 861.077929f, 608.874043f, 430.538965f, 304.437021f, 215.269482f, 152.218511f, 107.634741f, 76.109255f, 53.817371f, 38.054628f, 26.908685f, 19.027314f, 13.454343f, 9.513657f, 6.727171f, 4.756828f, 3.363586f, 2.378414f, 1.681793f, 1.189207f, 0.840896f, 0.594604f, 0.420448f, 0.297302f, 0.210224f }; /*----------------------------------------------------------------------------------* * ACELP/HQ core switching *----------------------------------------------------------------------------------*/ /* short filters for BWE of ACELP->HQ switching frame */ const float hp12800_16000[21] = { -0.00000000f, 0.00212227f, -0.00632535f, 0.01161181f, -0.01235466f, 0.00000000f, 0.03177450f, -0.08143591f, 0.13749378f, -0.18212549f, 0.19916883f, -0.18212549f, 0.13749378f, -0.08143591f, 0.03177450f, 0.00000000f, -0.01235466f, 0.01161181f, -0.00632535f, 0.00212227f, -0.00000000f }; const float hp12800_32000[41] = { -0.00000000f, 0.00136608f, 0.00106650f, -0.00143351f, -0.00317865f, 0.00000000f, 0.00583523f, 0.00477033f, -0.00620853f, -0.01289218f, -0.00000000f, 0.02060233f, 0.01596749f, -0.02003257f, -0.04092361f, 0.00000000f, 0.06909412f, 0.05929089f, -0.09152269f, -0.30127931f, 0.60052441f, -0.30127931f, -0.09152269f, 0.05929089f, 0.06909412f, 0.00000000f, -0.04092361f, -0.02003257f, 0.01596749f, 0.02060233f, -0.00000000f, -0.01289218f, -0.00620853f, 0.00477033f, 0.00583523f, 0.00000000f, -0.00317865f, -0.00143351f, 0.00106650f, 0.00136608f, -0.00000000f }; const float hp12800_48000[61] = { -0.00000000f, 0.00067336f, 0.00101850f, 0.00071064f, -0.00030497f, -0.00156225f, -0.00211804f, -0.00111583f, 0.00136699f, 0.00388820f, 0.00427438f, 0.00122967f, -0.00413694f, -0.00827775f, -0.00727539f, 0.00000000f, 0.00994020f, 0.01548435f, 0.01063964f, -0.00437614f, -0.02123403f, -0.02726869f, -0.01372549f, 0.01631621f, 0.04603958f, 0.05175432f, 0.01589299f, -0.06098444f, -0.15675008f, -0.23604172f, 0.73360516f, -0.23604172f, -0.15675008f, -0.06098444f, 0.01589299f, 0.05175432f, 0.04603958f, 0.01631621f, -0.01372549f, -0.02726869f, -0.02123403f, -0.00437614f, 0.01063964f, 0.01548435f, 0.00994020f, 0.00000000f, -0.00727539f, -0.00827775f, -0.00413694f, 0.00122967f, 0.00427438f, 0.00388820f, 0.00136699f, -0.00111583f, -0.00211804f, -0.00156225f, -0.00030497f, 0.00071064f, 0.00101850f, 0.00067336f, -0.00000000f }; const float hp16000_32000[33] = { -0.00000000f, 0.00188788f, -0.00000000f, -0.00386248f, -0.00000000f, 0.00824247f, -0.00000000f, -0.01594711f, -0.00000000f, 0.02867656f, -0.00000000f, -0.05071856f, -0.00000000f, 0.09801591f, -0.00000000f, -0.31594176f, 0.50070579f, -0.31594176f, -0.00000000f, 0.09801591f, -0.00000000f, -0.05071856f, -0.00000000f, 0.02867656f, -0.00000000f, -0.01594711f, -0.00000000f, 0.00824247f, -0.00000000f, -0.00386248f, -0.00000000f, 0.00188788f, -0.00000000f }; const float hp16000_48000[49] = { -0.00000000f, 0.00100660f, 0.00119953f, -0.00000000f, -0.00195325f, -0.00254135f, -0.00000000f, 0.00421805f, 0.00534416f, 0.00000000f, -0.00829341f, -0.01018351f, -0.00000000f, 0.01504620f, 0.01817861f, 0.00000000f, -0.02654841f, -0.03231243f, -0.00000000f, 0.04992164f, 0.06470722f, 0.00000000f, -0.13575216f, -0.27474220f, 0.66706142f, -0.27474220f, -0.13575216f, 0.00000000f, 0.06470722f, 0.04992164f, -0.00000000f, -0.03231243f, -0.02654841f, 0.00000000f, 0.01817861f, 0.01504620f, -0.00000000f, -0.01018351f, -0.00829341f, 0.00000000f, 0.00534416f, 0.00421805f, -0.00000000f, -0.00254135f, -0.00195325f, -0.00000000f, 0.00119953f, 0.00100660f, -0.00000000f }; const double cu15[28][3] = { /* xx/3, xx*xx/3, xx*xx*xx/3 xx v */ /* 0:*/ { 0.0222222222, 0.0014814815, 0.0000987654 }, /* 1/15 */ /* 1:*/ { 0.0444444444, 0.0059259259, 0.0007901235 }, /* 2/15 */ /* 2:*/ { 0.0666666667, 0.0133333333, 0.0026666667 }, /* 3:*/ { 0.0888888889, 0.0237037037, 0.0063209877 }, /* 4:*/ { 0.1111111111, 0.0370370370, 0.0123456790 }, /* 5:*/ { 0.1333333333, 0.0533333333, 0.0213333333 }, /* 6:*/ { 0.1555555556, 0.0725925926, 0.0338765432 }, /* 7:*/ { 0.1777777778, 0.0948148148, 0.0505679012 }, /* 8:*/ { 0.2000000000, 0.1200000000, 0.0720000000 }, /* 9/15 */ /* 9:*/ { 0.2222222222, 0.1481481481, 0.0987654321 }, /* 10/15 */ /*10:*/ { 0.2444444444, 0.1792592593, 0.1314567901 }, /*11:*/ { 0.2666666667, 0.2133333333, 0.1706666667 }, /*12:*/ { 0.2888888889, 0.2503703704, 0.2169876543 }, /*13:*/ { 0.3111111111, 0.2903703704, 0.2710123457 }, /* 14/15 */ /*14:*/ { 0.3555555556, 0.3792592593, 0.4045432099 }, /* 16/15 */ /*15:*/ { 0.3777777778, 0.4281481481, 0.4852345679 }, /*16:*/ { 0.4000000000, 0.4800000000, 0.5760000000 }, /* 18/15 */ /*17:*/ { 0.4222222222, 0.5348148148, 0.6774320988 }, /*18:*/ { 0.4444444444, 0.5925925926, 0.7901234568 }, /* 20/15 */ /*19:*/ { 0.4666666667, 0.6533333333, 0.9146666667 }, /*20:*/ { 0.4888888889, 0.7170370370, 1.0516543210 }, /*21:*/ { 0.5111111111, 0.7837037037, 1.2016790123 }, /*22:*/ { 0.5333333333, 0.8533333333, 1.3653333333 }, /*23:*/ { 0.5555555556, 0.9259259259, 1.5432098765 }, /*24:*/ { 0.5777777778, 1.0014814815, 1.7359012346 }, /*25:*/ { 0.6000000000, 1.0800000000, 1.9440000000 }, /* 27/15 */ /*26:*/ { 0.6222222222, 1.1614814815, 2.1680987654 }, /*27:*/ { 0.6444444444, 1.2459259259, 2.4087901235 }, /* 29/15 */ }; const double cu4[6][3] = { /* xx/3, xx*xx/3, xx*xx*xx/3 */ /* 0:*/ { 0.0833333333, 0.0208333333, 0.0052083333 }, /*0.25*/ /* 1:*/ { 0.1666666667, 0.0833333333, 0.0416666667 }, /*0.5*/ /* 2:*/ { 0.2500000000, 0.1875000000, 0.1406250000 }, /*0.75*/ /* 3:*/ { 0.4166666667, 0.5208333333, 0.6510416667 }, /*1.25*/ /* 4:*/ { 0.5000000000, 0.7500000000, 1.1250000000 }, /*1.5*/ /* 5:*/ { 0.5833333333, 1.0208333333, 1.7864583333 } /*1.75*/ }; const short ct2[7][13] = { /* accepted configurations */ /*input 12.8, output :*/ /*8*/ {30, 22, 30, 16, 25, 30, 19, 30, 30, 0, 8, 4, 15}, /*16*/ {25, 22, 19, 16, 16, 0, 0, 0, 12, 1, 4, 4, 15}, /*32*/ {19, 16, 19, 16, 16, 0, 0, 0, 6, 2, 2, 4, 15}, /*48*/ {17, 14, 15, 16, 16, 0, 0, 0, 4, 3, 4, 4, 15}, /*input 16, output :*/ /*12*/ { 9, 3, 4, 5, 9, 0, 0, 0, 5, 0, 5, 5, 4}, /*32*/ { 4, 4, 4, 4, 4, 0, 0, 0, 2, 1, 1, 4, 4}, /*48*/ {18, 18, 18, 18, 18, 0, 0, 0, 5, 2, 1, 4, 15}, }; /*----------------------------------------------------------------------------------* * hp filter for filtering random part of excitation in frame error concealment * Used in lib_dec\syn_bfi.c *----------------------------------------------------------------------------------*/ const float h_high[5] = { -0.0125f, -0.1090f, 0.7813f, -0.1090f, -0.0125f }; const float sincos_t_rad3[T_SIN_PI_2+1] = { 0.000000000000000f, 0.004090604026235f, 0.008181139603937f, 0.012271538285720f, 0.016361731626487f, 0.020451651184577f, 0.024541228522912f, 0.028630395210139f, 0.032719082821776f, 0.036807222941359f, 0.040894747161583f, 0.044981587085452f, 0.049067674327418f, 0.053152940514528f, 0.057237317287569f, 0.061320736302209f, 0.065403129230143f, 0.069484427760237f, 0.073564563599667f, 0.077643468475068f, 0.081721074133668f, 0.085797312344440f, 0.089872114899235f, 0.093945413613929f, 0.098017140329561f, 0.102087226913474f, 0.106155605260457f, 0.110222207293883f, 0.114286964966846f, 0.118349810263305f, 0.122410675199216f, 0.126469491823675f, 0.130526192220052f, 0.134580708507126f, 0.138632972840227f, 0.142682917412363f, 0.146730474455362f, 0.150775576241001f, 0.154818155082141f, 0.158858143333861f, 0.162895473394589f, 0.166930077707230f, 0.170961888760301f, 0.174990839089060f, 0.179016861276633f, 0.183039887955141f, 0.187059851806832f, 0.191076685565203f, 0.195090322016128f, 0.199100693998982f, 0.203107734407763f, 0.207111376192219f, 0.211111552358965f, 0.215108195972610f, 0.219101240156870f, 0.223090618095693f, 0.227076263034373f, 0.231058108280671f, 0.235036087205927f, 0.239010133246176f, 0.242980179903264f, 0.246946160745958f, 0.250908009411060f, 0.254865659604515f, 0.258819045102521f, 0.262768099752639f, 0.266712757474898f, 0.270652952262902f, 0.274588618184932f, 0.278519689385053f, 0.282446100084213f, 0.286367784581343f, 0.290284677254462f, 0.294196712561769f, 0.298103825042740f, 0.302005949319228f, 0.305903020096553f, 0.309794972164597f, 0.313681740398891f, 0.317563259761712f, 0.321439465303162f, 0.325310292162263f, 0.329175675568039f, 0.333035550840599f, 0.336889853392220f, 0.340738518728429f, 0.344581482449080f, 0.348418680249435f, 0.352250047921233f, 0.356075521353776f, 0.359895036534988f, 0.363708529552498f, 0.367515936594704f, 0.371317193951837f, 0.375112238017038f, 0.378901005287410f, 0.382683432365090f, 0.386459455958303f, 0.390229012882428f, 0.393992040061048f, 0.397748474527011f, 0.401498253423481f, 0.405241314004990f, 0.408977593638489f, 0.412707029804395f, 0.416429560097637f, 0.420145122228702f, 0.423853654024676f, 0.427555093430282f, 0.431249378508924f, 0.434936447443717f, 0.438616238538528f, 0.442288690219001f, 0.445953741033595f, 0.449611329654607f, 0.453261394879198f, 0.456903875630421f, 0.460538710958240f, 0.464165840040552f, 0.467785202184201f, 0.471396736825998f, 0.475000383533732f, 0.478596082007181f, 0.482183772079123f, 0.485763393716340f, 0.489334887020625f, 0.492898192229784f, 0.496453249718633f, 0.500000000000000f, 0.503538383725718f, 0.507068341687617f, 0.510589814818519f, 0.514102744193222f, 0.517607071029487f, 0.521102736689023f, 0.524589682678469f, 0.528067850650368f, 0.531537182404149f, 0.534997619887097f, 0.538449105195327f, 0.541891580574752f, 0.545324988422046f, 0.548749271285616f, 0.552164371866554f, 0.555570233019602f, 0.558966797754107f, 0.562354009234973f, 0.565731810783613f, 0.569100145878898f, 0.572458958158102f, 0.575808191417845f, 0.579147789615035f, 0.582477696867802f, 0.585797857456439f, 0.589108215824328f, 0.592408716578875f, 0.595699304492433f, 0.598979924503229f, 0.602250521716282f, 0.605511041404326f, 0.608761429008721f, 0.612001630140370f, 0.615231590580627f, 0.618451256282204f, 0.621660573370077f, 0.624859488142386f, 0.628047947071334f, 0.631225896804083f, 0.634393284163645f, 0.637550056149777f, 0.640696159939861f, 0.643831542889791f, 0.646956152534857f, 0.650069936590618f, 0.653172842953777f, 0.656264819703058f, 0.659345815100069f, 0.662415777590172f, 0.665474655803342f, 0.668522398555031f, 0.671558954847018f, 0.674584273868271f, 0.677598304995789f, 0.680600997795453f, 0.683592302022871f, 0.686572167624217f, 0.689540544737067f, 0.692497383691237f, 0.695442635009612f, 0.698376249408973f, 0.701298177800824f, 0.704208371292213f, 0.707106781186547f, 0.709993358984412f, 0.712868056384380f, 0.715730825283819f, 0.718581617779698f, 0.721420386169390f, 0.724247082951467f, 0.727061660826497f, 0.729864072697836f, 0.732654271672413f, 0.735432211061519f, 0.738197844381584f, 0.740951125354959f, 0.743692007910687f, 0.746420446185274f, 0.749136394523459f, 0.751839807478977f, 0.754530639815318f, 0.757208846506485f, 0.759874382737746f, 0.762527203906388f, 0.765167265622459f, 0.767794523709512f, 0.770408934205345f, 0.773010453362737f, 0.775599037650177f, 0.778174643752598f, 0.780737228572094f, 0.783286749228650f, 0.785823163060853f, 0.788346427626606f, 0.790856500703845f, 0.793353340291235f, 0.795836904608884f, 0.798307152099031f, 0.800764041426753f, 0.803207531480645f, 0.805637581373517f, 0.808054150443073f, 0.810457198252595f, 0.812846684591615f, 0.815222569476594f, 0.817584813151584f, 0.819933376088899f, 0.822268218989775f, 0.824589302785025f, 0.826896588635696f, 0.829190037933717f, 0.831469612302545f, 0.833735273597809f, 0.835986983907947f, 0.838224705554838f, 0.840448401094438f, 0.842658033317402f, 0.844853565249707f, 0.847034960153274f, 0.849202181526579f, 0.851355193105265f, 0.853493958862750f, 0.855618443010829f, 0.857728610000272f, 0.859824424521420f, 0.861905851504774f, 0.863972856121587f, 0.866025403784439f, 0.868063460147822f, 0.870086991108711f, 0.872095962807139f, 0.874090341626759f, 0.876070094195407f, 0.878035187385663f, 0.879985588315404f, 0.881921264348355f, 0.883842183094633f, 0.885748312411290f, 0.887639620402854f, 0.889516075421856f, 0.891377646069366f, 0.893224301195515f, 0.895056009900018f, 0.896872741532688f, 0.898674465693954f, 0.900461152235364f, 0.902232771260093f, 0.903989293123443f, 0.905730688433339f, 0.907456928050819f, 0.909167983090522f, 0.910863824921176f, 0.912544425166069f, 0.914209755703531f, 0.915859788667400f, 0.917494496447491f, 0.919113851690058f, 0.920717827298248f, 0.922306396432559f, 0.923879532511287f, 0.925437209210971f, 0.926979400466833f, 0.928506080473216f, 0.930017223684012f, 0.931512804813095f, 0.932992798834739f, 0.934457180984039f, 0.935905926757326f, 0.937339011912575f, 0.938756412469813f, 0.940158104711519f, 0.941544065183021f, 0.942914270692887f, 0.944268698313317f, 0.945607325380521f, 0.946930129495106f, 0.948237088522441f, 0.949528180593037f, 0.950803384102905f, 0.952062677713924f, 0.953306040354194f, 0.954533451218389f, 0.955744889768105f, 0.956940335732209f, 0.958119769107168f, 0.959283170157394f, 0.960430519415566f, 0.961561797682962f, 0.962676986029777f, 0.963776065795440f, 0.964859018588927f, 0.965925826289068f, 0.966976471044852f, 0.968010935275723f, 0.969029201671875f, 0.970031253194544f, 0.971017073076290f, 0.971986644821279f, 0.972939952205560f, 0.973876979277334f, 0.974797710357222f, 0.975702130038528f, 0.976590223187499f, 0.977461974943572f, 0.978317370719628f, 0.979156396202234f, 0.979979037351883f, 0.980785280403230f, 0.981575111865320f, 0.982348518521816f, 0.983105487431216f, 0.983846005927077f, 0.984570061618220f, 0.985277642388941f, 0.985968736399212f, 0.986643332084879f, 0.987301418157858f, 0.987942983606322f, 0.988568017694885f, 0.989176509964781f, 0.989768450234042f, 0.990343828597665f, 0.990902635427780f, 0.991444861373810f, 0.991970497362629f, 0.992479534598710f, 0.992971964564277f, 0.993447779019444f, 0.993906970002356f, 0.994349529829318f, 0.994775451094928f, 0.995184726672197f, 0.995577349712672f, 0.995953313646548f, 0.996312612182778f, 0.996655239309180f, 0.996981189292537f, 0.997290456678690f, 0.997583036292635f, 0.997858923238603f, 0.998118112900149f, 0.998360600940223f, 0.998586383301244f, 0.998795456205172f, 0.998987816153567f, 0.999163459927649f, 0.999322384588350f, 0.999464587476366f, 0.999590066212200f, 0.999698818696204f, 0.999790843108610f, 0.999866137909562f, 0.999924701839145f, 0.999966533917401f, 0.999991633444351f, 1.000000000000000f }; /*----------------------------------------------------------------------------------* * TCX *----------------------------------------------------------------------------------*/ const float gain_corr_fac[3] = {1.0208f,1.0103f,1.0052f}; /*pow(10,2^(-n-2)/28)*/ const float gain_corr_inv_fac[3] = {0.9797f,0.9898f,0.9949f};/*pow(10,-2^(-n-2)/28)*/ const float inter4_2tcx2[4][4] = { { 0.2325402f, 0.5349195f, 0.2325402f, 0.0000000f }, { 0.1353017f, 0.5094465f, 0.3400065f, 0.0152453f }, { 0.0608774f, 0.4391226f, 0.4391226f, 0.0608774f }, { 0.0152453f, 0.3400065f, 0.5094465f, 0.1353017f } }; const float inter6_2tcx2[6][4] = { { 0.2241379f, 0.5517241f, 0.2241379f, 0.0000000f }, { 0.1562044f, 0.5388595f, 0.2990011f, 0.0059349f }, { 0.0991379f, 0.5018346f, 0.3750000f, 0.0240275f }, { 0.0549361f, 0.4450639f, 0.4450639f, 0.0549361f }, { 0.0240275f, 0.3750000f, 0.5018346f, 0.0991379f }, { 0.0059349f, 0.2990011f, 0.5388595f, 0.1562044f } }; const float inter_core_12_8kHz_output_8kHz[] = { 0.5349196f, 0.5094466f, 0.4391227f, 0.3400065f, 0.2325402f, 0.1353016f, 0.0608773f, 0.0152453f, 0.0000000f }; const float inter_core_12_8kHz_output_16kHz[] = { 0.4279357f, 0.4147958f, 0.3774199f, 0.3214508f, 0.2548195f, 0.1860321f, 0.1225801f, 0.0699165f, 0.0312127f, 0.0078047f, 0.0000000f, 0.0000000f, 0.0000000f }; const float inter_core_12_8kHz_output_32kHz[] = { 0.2139679f, 0.2123089f, 0.2073979f, 0.1994284f, 0.1887100f, 0.1756491f, 0.1607254f, 0.1444646f, 0.1274097f, 0.1100939f, 0.0930161f, 0.0766219f, 0.0612900f, 0.0473253f, 0.0349583f, 0.0243509f, 0.0156063f, 0.0087817f, 0.0039024f, 0.0009753f, 0.0000000f }; const float inter_core_12_8kHz_output_48kHz[] = { 0.1426452f, 0.1421528f, 0.1406841f, 0.1382653f, 0.1349386f, 0.1307618f, 0.1258066f, 0.1201564f, 0.1139041f, 0.1071503f, 0.1000000f, 0.0925607f, 0.0849398f, 0.0772420f, 0.0695677f, 0.0620107f, 0.0546572f, 0.0475844f, 0.0408600f, 0.0345417f, 0.0286774f, 0.0233055f, 0.0184558f, 0.0141503f, 0.0104042f, 0.0072274f, 0.0046257f, 0.0026016f, 0.0011560f, 0.0002890f, 0.0000000f, 0.0000000f, 0.0000000f }; const float inter_core_16kHz_output_8kHz[] = { 0.5517241f, 0.5388595f, 0.5018346f, 0.4450639f, 0.3750000f, 0.2990011f, 0.2241379f, 0.1562044f, 0.0991379f, 0.0549361f, 0.0240275f, 0.0059349f, 0.0000000f }; const float inter_core_16kHz_output_16kHz[] = { 0.5517241f, 0.5388595f, 0.5018346f, 0.4450639f, 0.3750000f, 0.2990011f, 0.2241379f, 0.1562044f, 0.0991379f, 0.0549361f, 0.0240275f, 0.0059349f, 0.0000000f }; const float inter_core_16kHz_output_32kHz[] = { 0.2758621f, 0.2742414f, 0.2694298f, 0.2615753f, 0.2509173f, 0.2377748f, 0.2225320f, 0.2056203f, 0.1875000f, 0.1686403f, 0.1495006f, 0.1305132f, 0.1120690f, 0.0945060f, 0.0781022f, 0.0630725f, 0.0495690f, 0.0376861f, 0.0274680f, 0.0189188f, 0.0120137f, 0.0067120f, 0.0029675f, 0.0007394f, 0.0000000f }; const float inter_core_16kHz_output_48kHz[] = { 0.1839080f, 0.1834272f, 0.1819912f, 0.1796198f, 0.1763457f, 0.1722133f, 0.1672782f, 0.1616061f, 0.1552712f, 0.1483546f, 0.1409433f, 0.1331275f, 0.1250000f, 0.1166535f, 0.1081796f, 0.0996670f, 0.0912002f, 0.0828579f, 0.0747126f, 0.0668293f, 0.0592649f, 0.0520681f, 0.0452794f, 0.0389306f, 0.0330460f, 0.0276422f, 0.0227295f, 0.0183120f, 0.0143894f, 0.0109575f, 0.0080092f, 0.0055360f, 0.0035286f, 0.0019783f, 0.0008771f, 0.0002189f, 0.0000000f }; const float inter_core_25_6kHz_output_8kHz[] = { 0.5349196f, 0.5094466f, 0.4391227f, 0.3400065f, 0.2325402f, 0.1353016f, 0.0608773f, 0.0152453f, 0.0000000f }; const float inter_core_25_6kHz_output_16kHz[] = { 0.5349196f, 0.5094466f, 0.4391227f, 0.3400065f, 0.2325402f, 0.1353016f, 0.0608773f, 0.0152453f, 0.0000000f }; const float inter_core_25_6kHz_output_32kHz[] = { 0.4279357f, 0.4147958f, 0.3774199f, 0.3214508f, 0.2548195f, 0.1860321f, 0.1225801f, 0.0699165f, 0.0312127f, 0.0078047f, 0.0000000f, 0.0000000f, 0.0000000f }; const float inter_core_25_6kHz_output_48kHz[] = { 0.2852965f, 0.2813740f, 0.2698819f, 0.2516166f, 0.2278099f, 0.2000000f, 0.1698781f, 0.1391327f, 0.1093111f, 0.0817166f, 0.0573517f, 0.0369093f, 0.0208069f, 0.0092505f, 0.0023118f, 0.0000000f, 0.0000000f }; const TCX_LTP_FILTER tcxLtpFilters[12] = { { inter_core_12_8kHz_output_8kHz, 2 }, { inter_core_12_8kHz_output_16kHz, 3 }, { inter_core_12_8kHz_output_32kHz, 5 }, { inter_core_12_8kHz_output_48kHz, 8 }, { inter_core_16kHz_output_8kHz, 2 }, { inter_core_16kHz_output_16kHz, 2 }, { inter_core_16kHz_output_32kHz, 4 }, { inter_core_16kHz_output_48kHz, 6 }, { inter_core_25_6kHz_output_8kHz, 2 }, { inter_core_25_6kHz_output_16kHz, 2 }, { inter_core_25_6kHz_output_32kHz, 3 }, { inter_core_25_6kHz_output_48kHz, 4 }, }; const SCALE_TCX_SETUP scaleTcxTable[13] = { { 0, 0, 8000, 0.67f }, { 0, 8000, 9600, 0.70f }, { 0, 9600, 13200, 0.76f }, { 0, 13200, 16400, 0.86f }, { 0, 16400, 24400, 0.90f }, { 0, 24400, 64000, 0.96f }, { 1, 0, 8000, 1.f }, { 1, 8000, 9600, 1.f }, { 1, 9600, 13200, 1.f }, { 1, 13200, 16400, 0.85f /*0.85f*/ }, { 1, 16400, 24400, 0.88f /*0.90*/}, { 1, 24400, 32000, 0.90f /*0.90*/}, { 1, 32000, 32400, 0.95f /*0.91f*/}, }; /*----------------------------------------------------------------------------------* * Arithmetic coder *----------------------------------------------------------------------------------*/ const unsigned char ari_lookup_s17_LC[4096] = { 0x01,0x04,0x29,0x13,0x0A,0x0D,0x05,0x10, 0x10,0x0D,0x00,0x0D,0x2A,0x2A,0x22,0x25, 0x25,0x28,0x2B,0x2E,0x31,0x34,0x34,0x0E, 0x21,0x21,0x21,0x36,0x38,0x38,0x36,0x10, 0x10,0x08,0x09,0x0B,0x0C,0x0E,0x0E,0x21, 0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x10, 0x10,0x1A,0x09,0x1D,0x0C,0x20,0x20,0x21, 0x36,0x36,0x36,0x36,0x36,0x0A,0x36,0x16, 0x1A,0x1A,0x2D,0x0C,0x20,0x20,0x21,0x21, 0x21,0x36,0x38,0x38,0x38,0x38,0x36,0x16, 0x16,0x1A,0x3F,0x1F,0x20,0x21,0x24,0x06, 0x36,0x36,0x36,0x38,0x00,0x0A,0x36,0x22, 0x3E,0x3E,0x3F,0x30,0x20,0x21,0x06,0x06, 0x06,0x38,0x36,0x36,0x36,0x26,0x36,0x1C, 0x1C,0x3E,0x3F,0x02,0x20,0x21,0x06,0x36, 0x36,0x38,0x0A,0x0A,0x0A,0x0A,0x05,0x16, 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16, 0x16,0x3F,0x3F,0x0E,0x35,0x14,0x38,0x38, 0x05,0x05,0x05,0x0D,0x13,0x13,0x1C,0x16, 0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F, 0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F, 0x3F,0x3F,0x3F,0x20,0x35,0x14,0x27,0x38, 0x38,0x0A,0x2A,0x2A,0x2A,0x16,0x05,0x10, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x3F,0x02,0x0E,0x02,0x14,0x13,0x0A, 0x0D,0x0D,0x0D,0x13,0x00,0x00,0x16,0x19, 0x19,0x3F,0x3F,0x02,0x02,0x14,0x38,0x36, 0x0A,0x0A,0x0A,0x0D,0x0D,0x0D,0x1C,0x22, 0x22,0x3F,0x3F,0x02,0x17,0x26,0x26,0x1C, 0x1C,0x10,0x16,0x16,0x16,0x19,0x22,0x25, 0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39, 0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39, 0x39,0x39,0x15,0x2C,0x2E,0x2E,0x2E,0x31, 0x31,0x31,0x31,0x31,0x31,0x31,0x34,0x39, 0x39,0x39,0x15,0x2C,0x2E,0x2E,0x0C,0x34, 0x34,0x34,0x36,0x36,0x36,0x36,0x36,0x36, 0x36,0x39,0x15,0x3C,0x2E,0x31,0x34,0x34, 0x31,0x31,0x31,0x1F,0x1E,0x1E,0x1E,0x1E, 0x1E,0x39,0x28,0x2C,0x2E,0x31,0x37,0x34, 0x01,0x01,0x01,0x01,0x01,0x00,0x39,0x39, 0x39,0x39,0x39,0x2C,0x2E,0x31,0x1E,0x34, 0x34,0x35,0x01,0x01,0x01,0x01,0x01,0x01, 0x01,0x39,0x39,0x3C,0x2E,0x03,0x07,0x34, 0x34,0x0F,0x39,0x39,0x39,0x39,0x39,0x39, 0x39,0x39,0x39,0x15,0x2B,0x31,0x1E,0x34, 0x34,0x01,0x39,0x39,0x39,0x39,0x39,0x39, 0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39, 0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39, 0x39,0x39,0x39,0x2C,0x39,0x2F,0x2E,0x2E, 0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E, 0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E, 0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E, 0x2E,0x39,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E, 0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E, 0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E, 0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E, 0x1E,0x1E,0x1E,0x1E,0x1E,0x0F,0x2E,0x2E, 0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E, 0x2E,0x2E,0x39,0x15,0x39,0x39,0x39,0x39, 0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39, 0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39, 0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39, 0x19,0x1C,0x16,0x22,0x22,0x25,0x25,0x25, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x3E,0x3E,0x2F,0x3D,0x21,0x36,0x38,0x05, 0x0D,0x0D,0x0D,0x10,0x16,0x16,0x16,0x25, 0x2D,0x2D,0x37,0x3D,0x33,0x38,0x05,0x0D, 0x0D,0x10,0x16,0x16,0x16,0x16,0x16,0x25, 0x2F,0x2F,0x30,0x12,0x06,0x05,0x0A,0x0D, 0x0D,0x10,0x16,0x16,0x16,0x22,0x22,0x25, 0x1F,0x1F,0x32,0x3B,0x29,0x0A,0x0A,0x10, 0x16,0x16,0x16,0x16,0x22,0x22,0x22,0x25, 0x02,0x02,0x14,0x29,0x05,0x0D,0x2A,0x10, 0x16,0x16,0x16,0x22,0x22,0x22,0x22,0x25, 0x35,0x35,0x14,0x29,0x0A,0x2A,0x2A,0x10, 0x16,0x16,0x16,0x22,0x22,0x22,0x22,0x25, 0x17,0x17,0x26,0x05,0x0D,0x10,0x10,0x16, 0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x25, 0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26, 0x26,0x26,0x26,0x26,0x26,0x26,0x26,0x26, 0x26,0x26,0x26,0x1C,0x0D,0x16,0x16,0x16, 0x22,0x22,0x22,0x22,0x22,0x22,0x25,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x26,0x1C,0x1C,0x10,0x16,0x16,0x22, 0x22,0x22,0x22,0x22,0x22,0x25,0x25,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x1C,0x1C,0x1C,0x16,0x16,0x16,0x22, 0x22,0x22,0x22,0x25,0x25,0x25,0x25,0x00, 0x00,0x26,0x1C,0x1C,0x16,0x16,0x16,0x22, 0x22,0x22,0x22,0x25,0x25,0x25,0x25,0x00, 0x16,0x16,0x16,0x16,0x16,0x22,0x22,0x22, 0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x00, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x3C,0x1E,0x0F,0x06,0x27,0x2A, 0x2A,0x10,0x16,0x16,0x16,0x16,0x16,0x22, 0x2C,0x2C,0x0B,0x37,0x23,0x27,0x13,0x2A, 0x10,0x10,0x10,0x16,0x16,0x16,0x16,0x22, 0x1B,0x1B,0x1D,0x0F,0x24,0x13,0x13,0x2A, 0x00,0x10,0x16,0x16,0x16,0x16,0x16,0x22, 0x1F,0x1F,0x03,0x24,0x07,0x0A,0x0A,0x10, 0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x22, 0x22,0x35,0x06,0x27,0x13,0x2A,0x2A,0x10, 0x16,0x16,0x16,0x16,0x16,0x22,0x22,0x22, 0x22,0x06,0x27,0x27,0x13,0x2A,0x2A,0x10, 0x16,0x16,0x16,0x16,0x16,0x16,0x22,0x22, 0x22,0x05,0x0A,0x2A,0x2A,0x10,0x10,0x16, 0x16,0x16,0x16,0x16,0x16,0x22,0x22,0x22, 0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22, 0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22, 0x22,0x0D,0x2A,0x10,0x10,0x10,0x10,0x16, 0x16,0x16,0x16,0x16,0x16,0x22,0x22,0x25, 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, 0x10,0x10,0x10,0x10,0x10,0x16,0x16,0x16, 0x16,0x16,0x16,0x22,0x22,0x22,0x22,0x25, 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, 0x10,0x10,0x10,0x10,0x16,0x16,0x16,0x16, 0x16,0x22,0x22,0x22,0x22,0x22,0x22,0x25, 0x0D,0x0D,0x10,0x10,0x10,0x16,0x16,0x16, 0x16,0x22,0x22,0x22,0x22,0x22,0x22,0x25, 0x0D,0x0D,0x0D,0x0D,0x0D,0x10,0x10,0x16, 0x16,0x16,0x16,0x22,0x22,0x22,0x22,0x25, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x11,0x11,0x11,0x3A,0x11,0x11,0x11,0x18, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x11,0x3A,0x11, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x18, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x18, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11,0x18, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x11,0x3A,0x3A,0x3A,0x11, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x11,0x11,0x11,0x18, 0x00,0x11,0x3A,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x18, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x11,0x11,0x11,0x18,0x18,0x18,0x18, 0x18,0x25,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x18, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x18, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x18, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x18, 0x3A,0x3A,0x3A,0x3A,0x3A,0x11,0x3A,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x18, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x18, 0x3A,0x3A,0x3A,0x3A,0x3A,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x18,0x18, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x3A,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x18,0x18, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x18,0x18, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x18,0x18,0x18,0x18, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x18,0x11,0x18,0x18,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x00, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x11,0x11,0x11,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x11,0x11,0x11,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x11,0x11,0x11,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x11,0x11,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x11,0x11,0x11,0x18, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x18, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x18, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x18, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x18, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x11,0x3A,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x11,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x11,0x11,0x3A,0x11, 0x11,0x3A,0x3A,0x3A,0x11,0x3A,0x3A,0x3A, 0x3A,0x3A,0x11,0x11,0x11,0x3A,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x18,0x3A,0x3A,0x11,0x11,0x11,0x18,0x18, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x00, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x11,0x11,0x11,0x3A,0x11,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x11,0x11,0x11,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11,0x18, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11,0x18, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11,0x18, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x11,0x11,0x11,0x11,0x11,0x18, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x18, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x11,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x2A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x18, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x11,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x11, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A, 0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A,0x3A }; const unsigned short ari_pk_s17_LC_ext[64][18] = { { 16384, 16368,16337,16231,16143,16115,16059,15916,15793,15710,15586,15472,15367,15302,15201,15107,15020, 0 }, { 16384, 8983, 8540, 8498, 8485, 4319, 3666, 3594, 3579, 2285, 1908, 1851, 1835, 1326, 1120, 1085, 1074, 0 }, { 16384, 12022,10039, 9520, 9346, 7347, 5335, 4648, 4382, 3815, 3083, 2728, 2562, 2363, 2050, 1869, 1777, 0 }, { 16384, 13429,11201,10562,10371, 8231, 5713, 4770, 4441, 3798, 2844, 2359, 2152, 1947, 1614, 1406, 1304, 0 }, { 16384, 13229,11403,10769,10529, 8415, 6431, 5645, 5311, 4448, 3547, 3176, 3001, 2617, 2181, 1984, 1886, 0 }, { 16384, 15168,13754,13120,12826,11553, 9705, 8723, 8227, 7675, 6762, 6180, 5842, 5585, 5141, 4816, 4607, 0 }, { 16384, 14625,12743,12034,11772,10059, 7706, 6652, 6223, 5594, 4594, 4023, 3742, 3501, 3089, 2818, 2664, 0 }, { 16384, 15275,13679,12951,12652,11158, 8852, 7652, 7121, 6406, 5242, 4542, 4196, 3894, 3398, 3063, 2864, 0 }, { 16384, 4860, 3338, 3214, 3193, 1428, 676, 571, 547, 356, 222, 189, 180, 139, 102, 89, 84, 0 }, { 16384, 8357, 5798, 5475, 5410, 3093, 1523, 1227, 1152, 849, 560, 470, 441, 370, 294, 261, 248, 0 }, { 16384, 15550,14350,13710,13387,12297,10541, 9493, 8929, 8354, 7371, 6696, 6299, 6008, 5491, 5107, 4856, 0 }, { 16384, 10346, 7298, 6933, 6865, 4052, 1863, 1471, 1381, 1055, 673, 536, 491, 429, 339, 293, 273, 0 }, { 16384, 11652, 8699, 8030, 7839, 5667, 3460, 2766, 2532, 2093, 1542, 1301, 1203, 1070, 893, 802, 759, 0 }, { 16384, 15639,14601,14037,13729,12847,11421,10520, 9978, 9521, 8720, 8136, 7750, 7493, 7033, 6676, 6426, 0 }, { 16384, 12427, 9590, 8715, 8386, 6641, 4708, 3886, 3515, 3071, 2490, 2198, 2052, 1886, 1670, 1549, 1478, 0 }, { 16384, 13605,10996,10363,10183, 7802, 5032, 4124, 3840, 3267, 2403, 1976, 1804, 1633, 1345, 1171, 1086, 0 }, { 16384, 15936,15224,14759,14464,13808,12678,11866,11331,10910,10150, 9549, 9122, 8853, 8352, 7938, 7626, 0 }, { 16384, 16383,16382,14829,14138,14137,14136,12895,12272,10935, 9788, 9082, 8674, 8073, 7508, 7118, 6867, 0 }, { 16384, 13888,11474,10840,10662, 8335, 5585, 4695, 4411, 3801, 2917, 2506, 2337, 2150, 1847, 1672, 1581, 0 }, { 16384, 15463,14162,13504,13196,11977,10063, 8978, 8429, 7811, 6768, 6088, 5705, 5406, 4882, 4504, 4266, 0 }, { 16384, 13764,11941,11367,11151, 9312, 7171, 6301, 5943, 5335, 4430, 3942, 3708, 3466, 3074, 2819, 2679, 0 }, { 16384, 5179, 3300, 3206, 3197, 1220, 374, 303, 293, 171, 81, 63, 59, 44, 29, 24, 22, 0 }, { 16384, 16026,15468,15096,14842,14329,13447,12790,12322,11985,11367,10860,10477,10248, 9811, 9443, 9148, 0 }, { 16384, 12809,11291,10848,10649, 8976, 7199, 6506, 6196, 5657, 4887, 4451, 4219, 3974, 3590, 3365, 3218, 0 }, { 16384, 16383,16382,15744,15348,15347,15346,14714,14288,13688,13097,12652,12328,11967,11584,11278,11045, 0 }, { 16384, 15415,14987,14866,14806,13751,13046,12818,12709,12187,11720,11527,11427,11096,10759,10601,10510, 0 }, { 16384, 5926, 4280, 4090, 4053, 2138, 1120, 947, 903, 632, 413, 353, 334, 264, 198, 174, 166, 0 }, { 16384, 9206, 6640, 6345, 6291, 3683, 1772, 1423, 1342, 1024, 652, 515, 467, 406, 314, 267, 245, 0 }, { 16384, 15086,13966,13505,13271,12238,10875,10157, 9763, 9331, 8629, 8155, 7845, 7608, 7198, 6892, 6670, 0 }, { 16384, 11427, 8599, 8132, 8027, 5406, 3012, 2429, 2270, 1823, 1244, 1006, 920, 814, 654, 564, 524, 0 }, { 16384, 11561, 8220, 7814, 7737, 4780, 2215, 1731, 1621, 1279, 830, 657, 599, 532, 424, 366, 339, 0 }, { 16384, 11649, 9374, 8867, 8724, 6398, 4154, 3470, 3253, 2718, 2010, 1695, 1570, 1412, 1172, 1042, 980, 0 }, { 16384, 13021,10503, 9726, 9443, 7520, 5271, 4369, 4016, 3495, 2741, 2365, 2181, 1990, 1719, 1561, 1478, 0 }, { 16384, 13815,11388,10605,10316, 8467, 6133, 5175, 4782, 4255, 3466, 3063, 2864, 2688, 2408, 2229, 2125, 0 }, { 16384, 16175,15807,15536,15338,15006,14402,13919,13549,13312,12871,12491,12182,12010,11681,11390,11143, 0 }, { 16384, 14310,12047,11336,11110, 9065, 6381, 5318, 4938, 4279, 3272, 2732, 2499, 2284, 1920, 1693, 1574, 0 }, { 16384, 14765,12824,12096,11834,10003, 7429, 6282, 5841, 5145, 4022, 3402, 3123, 2868, 2426, 2150, 2003, 0 }, { 16384, 16295,16127,15943,15802,15650,15360,15059,14816,14668,14401,14162,13954,13839,13634,13443,13275, 0 }, { 16384, 14182,12821,12340,12120,10698, 9040, 8284, 7908, 7378, 6549, 6053, 5772, 5520, 5080, 4785, 4597, 0 }, { 16384, 15164,13583,12892,12600,11161, 8997, 7888, 7386, 6744, 5673, 5015, 4673, 4391, 3898, 3555, 3349, 0 }, { 16384, 3758, 2571, 2481, 2467, 988, 478, 412, 397, 245, 154, 133, 127, 95, 69, 61, 58, 0 }, { 16384, 14805,13193,12553,12285,10706, 8596, 7623, 7178, 6542, 5563, 4996, 4703, 4426, 3967, 3662, 3482, 0 }, { 16384, 15787,14870,14320,14005,13147,11705,10747,10171, 9651, 8735, 8068, 7629, 7332, 6785, 6361, 6061, 0 }, { 16384, 7111, 4622, 4304, 4233, 2346, 1174, 938, 870, 659, 455, 389, 365, 316, 260, 236, 226, 0 }, { 16384, 7146, 4703, 4532, 4512, 2078, 740, 583, 556, 371, 201, 153, 141, 118, 87, 72, 66, 0 }, { 16384, 9593, 7184, 6853, 6790, 4144, 2206, 1832, 1745, 1320, 878, 741, 697, 599, 476, 424, 401, 0 }, { 16384, 9209, 5969, 5479, 5351, 3346, 1763, 1382, 1261, 1017, 733, 622, 578, 520, 446, 410, 392, 0 }, { 16384, 11324, 8681, 8252, 8159, 5450, 3114, 2606, 2473, 1987, 1412, 1211, 1142, 1017, 847, 765, 730, 0 }, { 16384, 12663,10073, 9527, 9392, 6827, 4204, 3489, 3286, 2713, 1966, 1666, 1554, 1400, 1172, 1051, 994, 0 }, { 16384, 10413, 7096, 6340, 6115, 4393, 2704, 2156, 1947, 1634, 1254, 1091, 1010, 925, 805, 742, 707, 0 }, { 16384, 13337,11073,10477,10306, 8045, 5534, 4705, 4438, 3804, 2942, 2530, 2360, 2164, 1850, 1668, 1574, 0 }, { 16384, 14323,12104,11391,11156, 9183, 6649, 5649, 5287, 4676, 3778, 3302, 3089, 2886, 2548, 2341, 2223, 0 }, { 16384, 11646, 8435, 7504, 7150, 5603, 3882, 3170, 2853, 2487, 2029, 1791, 1666, 1549, 1386, 1288, 1231, 0 }, { 16384, 13147,11339,10752,10524, 8775, 6682, 5776, 5398, 4813, 3908, 3406, 3154, 2933, 2554, 2310, 2176, 0 }, { 16384, 14551,12495,11707,11356, 9962, 8005, 7006, 6500, 6034, 5298, 4839, 4575, 4381, 4057, 3825, 3673, 0 }, { 16384, 12395, 9526, 9032, 8925, 6130, 3448, 2813, 2649, 2144, 1489, 1231, 1142, 1020, 836, 738, 694, 0 }, { 16384, 14921,13187,12475,12164,10758, 8775, 7752, 7257, 6727, 5864, 5306, 5004, 4777, 4393, 4119, 3942, 0 }, { 16384, 2151, 1301, 1276, 1274, 315, 84, 70, 68, 32, 14, 11, 10, 7, 4, 3, 2, 0 }, { 16384, 16383,16382,13774,13091,13090,13089,11287,10713, 7917, 6052, 5265, 4947, 4161, 3534, 3199, 3039, 0 }, { 16384, 14374,12331,11688,11474, 9505, 6993, 5998, 5634, 4991, 4008, 3498, 3265, 3036, 2658, 2417, 2285, 0 }, { 16384, 8798, 5867, 5626, 5593, 2841, 1038, 807, 765, 538, 302, 234, 215, 182, 139, 119, 111, 0 }, { 16384, 13325,10612,10015, 9860, 7343, 4583, 3802, 3571, 3023, 2269, 1945, 1817, 1670, 1440, 1309, 1243, 0 }, { 16384, 7741, 5790, 5571, 5528, 3110, 1698, 1464, 1409, 1034, 704, 613, 585, 487, 381, 342, 327, 0 }, { 16384, 9664, 7506, 7059, 6917, 4820, 3136, 2640, 2455, 2000, 1504, 1297, 1217, 1073, 896, 815, 777, 0 } }; const int NumRatioBits[2][17] = { /* NB */ { 5, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2 , 2, 2, 2 }, /* WB */ { 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4 , 2, 2, 2 } }; const float Ratios_WB_2[32] = /* 2 */ { 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 60, 64, 72 }; const float Ratios_WB_3[32] = /* 3 */ { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 44, 48, 54, 60, 68, 78, 80 }; const float Ratios_WB_4[32] = /* 4 */ { 1.5f, 2, 2.5f, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 48, 52, 54, 68 }; const float Ratios_WB_5[32] = /* 5 */ { 1, 1.5f, 2, 2.5f, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 40, 44, 48, 54 }; const float Ratios_WB_6[32] = /* 6 */ { 1, 1.5f, 2, 2.5f, 3, 3.5f, 4, 4.5f, 5, 5.5f, 6, 6.5f, 7, 7.5f, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 22, 24, 26, 28, 34, 40, 41 }; const float Ratios_WB_7[32] = /* 7 */ { 1, 1.5f, 2, 2.5f, 3, 3.5f, 4, 4.5f, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22.5f, 24, 25, 27, 28, 30, 35 }; const float Ratios_WB_8[16] = /* 8 */ { 0.5f, 1, 1.5f, 2, 2.5f, 3, 3.5f, 4, 4.5f, 5, 5.5f, 6, 7, 8, 9, 10 }; const float Ratios_WB_9[16] = /* 9 */ { 1, 2, 2.5f, 3, 4, 5, 6, 7, 8, 9, 10, 12, 15, 16, 18, 27 }; const float Ratios_WB_10[16] = /* 10 */ { 1, 1.5f, 2, 2.5f, 3, 3.5f, 4, 5, 6, 8, 10, 15, 18, 22, 24, 26 }; const float Ratios_WB_11[16] = /* 11 */ { 1, 1.5f, 2, 2.5f, 3, 3.5f, 4, 5, 6, 8, 10, 12, 13, 14, 18, 21 }; const float Ratios_WB_12[16] = /* 12 */ { 0.5f, 1, 1.5f, 2, 2.5f, 3, 4, 5, 6, 8, 9, 11, 12, 13.5f, 16, 20 }; const float Ratios_WB_13[16] = /* 13 */ { 0.5f, 1, 1.5f, 2, 2.5f, 3, 4, 5, 6, 7, 8, 10, 11, 12, 14, 20 }; const float Ratios_WB_14[16] = /* 14 */ { 0.5f, 1, 1.5f, 2, 2.5f, 3, 4, 4.5f, 6, 7.5f, 9, 10, 12, 14, 15, 18 }; const float Ratios_WB_15[16] = /* 15 */ { 0.5f, 1, 1.25f, 1.5f, 1.75f, 2, 2.5f, 3, 3.5f, 4, 4.5f, 5, 6, 8, 9, 14 }; const float Ratios_WB_16[4] = /* 16 */ { 0.5f, 1, 2, 4 }; const float Ratios_WB_17[4] = /* 17 */ { 1, 1.5f, 2, 4 }; const float Ratios_WB_18[4] = /* 18 */ { 1, 2, 3, 4 }; const float Ratios_NB_2[32] = /* 2 */ { 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 32, 34, 36, 38, 40 }; const float Ratios_NB_3[16] = /* 3 */ { 0.5f, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 16, 20, 24, 30 }; const float Ratios_NB_4[16] = /* 4 */ { 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 20, 24, 30 }; const float Ratios_NB_5[16] = /* 5 */ { 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 20, 24, 30 }; const float Ratios_NB_6[16] = /* 6 */ { 2, 2.5f, 3, 3.5f, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 20 }; const float Ratios_NB_7[16] = /* 7 */ { 1, 2, 2.5f, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 20 }; const float Ratios_NB_8[16] = /* 8 */ { 1, 1.5f, 2, 2.5f, 3, 3.5f, 4, 4.5f, 5, 6, 7, 8, 9, 10, 12, 16 }; const float Ratios_NB_9[8] = /* 9 */ { 1, 2, 3, 4, 5, 6, 8, 10 }; const float Ratios_NB_10[8] = /* 10 */ { 1, 2, 3, 4, 5, 6, 8, 10 }; const float Ratios_NB_11[8] = /* 11 */ { 1, 1.5f, 2, 3, 4, 5, 6, 8 }; const float Ratios_NB_12[8] = /* 12 */ { 1, 2, 2.5f, 3, 4, 5, 6, 8 }; const float Ratios_NB_13[4] = /* 13 */ { 1, 2, 3, 4 }; const float Ratios_NB_14[4] = /* 14 */ { 1, 2, 4, 6 }; const float Ratios_NB_15[4] = /* 15 */ { 1, 2, 3, 4 }; const float Ratios_NB_16[4] = /* 16 */ { 1, 1.5f, 2, 4 }; const float Ratios_NB_17[4] = /* 17 */ { 1, 1.5f, 2, 3 }; const float Ratios_NB_18[4] = /* 18 */ { 0.5f, 1, 2, 3 }; const float *const Ratios[2][17] = { /* NB */ { Ratios_NB_2, Ratios_NB_3, Ratios_NB_4, Ratios_NB_5, Ratios_NB_6, Ratios_NB_7, Ratios_NB_8, Ratios_NB_9, Ratios_NB_10, Ratios_NB_11, Ratios_NB_12, Ratios_NB_13, Ratios_NB_14, Ratios_NB_15, Ratios_NB_16, Ratios_NB_17, Ratios_NB_18 }, /* WB */ { Ratios_WB_2, Ratios_WB_3, Ratios_WB_4, Ratios_WB_5, Ratios_WB_6, Ratios_WB_7, Ratios_WB_8, Ratios_WB_9, Ratios_WB_10, Ratios_WB_11, Ratios_WB_12, Ratios_WB_13, Ratios_WB_14, Ratios_WB_15, Ratios_WB_16, Ratios_WB_17, Ratios_WB_18 } }; #define QGC(x) FL2WORD16_SCALE(x, 4) const Word16 qGains[2][1 << kTcxHmNumGainBits] = { /* GC */ { QGC(0.75f) }, /* VC */ { QGC(0.6f), QGC(1.4f), QGC(4.5f), QGC(10.0f) } }; /*----------------------------------------------------------------------------------* * TNS *----------------------------------------------------------------------------------*/ struct TnsParameters const tnsParametersIGF32kHz_LowBR[1] = { { 600, 3, 1.85f, 0.075f } }; struct TnsParameters const tnsParameters32kHz[2] = { { 4500, 3, 1.35f, 0.0300f }, { 600, 1, 1.75f, 0.0625f } }; struct TnsParameters const tnsParameters32kHz_grouped[2] = { { 8400, 3, 1.375f, 0.03125f }, { 800, 3, 1.375f, 0.03125f } }; struct TnsParameters const tnsParameters16kHz[1] = { { 600, 3, 1.5f, 0.05f } }; struct TnsParameters const tnsParameters16kHz_grouped[2] = { { 4400, 3, 1.5f, 0.05f }, { 800, 3, 1.5f, 0.05f } }; struct TnsParameters const tnsParameters48kHz_grouped[2] = { { 10400, 3, 1.375f, 0.03125f }, { 800, 3, 1.375f, 0.03125f } }; float const tnsAcfWindow[TNS_MAX_FILTER_ORDER] = { 0.997803f, 0.991211f, 0.980225f, 0.964844f, 0.945068f, 0.920898f, 0.892334f, 0.859375f }; /* Definition of the mapping between TNS parameters and a bitstream */ /* Helper structures for hufmann table coding */ const Coding codesTnsCoeff0TCX20[] = { { -8+INDEX_SHIFT, 609, 11 }, /* 01001100001 */ { -7+INDEX_SHIFT, 305, 10 }, /* 0100110001 */ { -6+INDEX_SHIFT, 77, 8 }, /* 01001101 */ { -5+INDEX_SHIFT, 39, 7 }, /* 0100111 */ { -4+INDEX_SHIFT, 8, 5 }, /* 01000 */ { -3+INDEX_SHIFT, 21, 5 }, /* 10101 */ { -2+INDEX_SHIFT, 11, 4 }, /* 1011 */ { -1+INDEX_SHIFT, 3, 3 }, /* 011 */ { 0+INDEX_SHIFT, 3, 2 }, /* 11 */ { 1+INDEX_SHIFT, 0, 2 }, /* 00 */ { 2+INDEX_SHIFT, 4, 3 }, /* 100 */ { 3+INDEX_SHIFT, 5, 4 }, /* 0101 */ { 4+INDEX_SHIFT, 20, 5 }, /* 10100 */ { 5+INDEX_SHIFT, 18, 6 }, /* 010010 */ { 6+INDEX_SHIFT, 153, 9 }, /* 010011001 */ { 7+INDEX_SHIFT, 608, 11 } /* 01001100000 */ }; const Coding codesTnsCoeff0TCX10[] = { { -8+INDEX_SHIFT, 441, 9 }, /* 110111001 */ { -7+INDEX_SHIFT, 111, 7 }, /* 1101111 */ { -6+INDEX_SHIFT, 8, 4 }, /* 1000 */ { -5+INDEX_SHIFT, 9, 4 }, /* 1001 */ { -4+INDEX_SHIFT, 14, 4 }, /* 1110 */ { -3+INDEX_SHIFT, 15, 4 }, /* 1111 */ { -2+INDEX_SHIFT, 3, 3 }, /* 011 */ { -1+INDEX_SHIFT, 5, 3 }, /* 101 */ { 0+INDEX_SHIFT, 0, 2 }, /* 00 */ { 1+INDEX_SHIFT, 2, 3 }, /* 010 */ { 2+INDEX_SHIFT, 12, 4 }, /* 1100 */ { 3+INDEX_SHIFT, 26, 5 }, /* 11010 */ { 4+INDEX_SHIFT, 54, 6 }, /* 110110 */ { 5+INDEX_SHIFT, 221, 8 }, /* 11011101 */ { 6+INDEX_SHIFT, 881, 10 }, /* 1101110001 */ { 7+INDEX_SHIFT, 880, 10 } /* 1101110000 */ }; const Coding codesTnsCoeff1TCX20[] = { { -8+INDEX_SHIFT, 30018, 15 }, /* 111010101000010 */ { -7+INDEX_SHIFT, 30019, 15 }, /* 111010101000011 */ { -6+INDEX_SHIFT, 7505, 13 }, /* 1110101010001 */ { -5+INDEX_SHIFT, 3753, 12 }, /* 111010101001 */ { -4+INDEX_SHIFT, 939, 10 }, /* 1110101011 */ { -3+INDEX_SHIFT, 235, 8 }, /* 11101011 */ { -2+INDEX_SHIFT, 28, 5 }, /* 11100 */ { -1+INDEX_SHIFT, 6, 3 }, /* 110 */ { 0+INDEX_SHIFT, 0, 1 }, /* 0 */ { 1+INDEX_SHIFT, 2, 2 }, /* 10 */ { 2+INDEX_SHIFT, 15, 4 }, /* 1111 */ { 3+INDEX_SHIFT, 59, 6 }, /* 111011 */ { 4+INDEX_SHIFT, 116, 7 }, /* 1110100 */ { 5+INDEX_SHIFT, 468, 9 }, /* 111010100 */ { 6+INDEX_SHIFT, 1877, 11 }, /* 11101010101 */ { 7+INDEX_SHIFT, 15008, 14 } /* 11101010100000 */ }; const Coding codesTnsCoeff1TCX10[] = { { -8+INDEX_SHIFT, 2818, 12 }, /* 101100000010 */ { -7+INDEX_SHIFT, 2819, 12 }, /* 101100000011 */ { -6+INDEX_SHIFT, 705, 10 }, /* 1011000001 */ { -5+INDEX_SHIFT, 353, 9 }, /* 101100001 */ { -4+INDEX_SHIFT, 177, 8 }, /* 10110001 */ { -3+INDEX_SHIFT, 45, 6 }, /* 101101 */ { -2+INDEX_SHIFT, 10, 4 }, /* 1010 */ { -1+INDEX_SHIFT, 3, 3 }, /* 011 */ { 0+INDEX_SHIFT, 6, 3 }, /* 110 */ { 1+INDEX_SHIFT, 0, 2 }, /* 00 */ { 2+INDEX_SHIFT, 7, 3 }, /* 111 */ { 3+INDEX_SHIFT, 4, 3 }, /* 100 */ { 4+INDEX_SHIFT, 2, 3 }, /* 010 */ { 5+INDEX_SHIFT, 23, 5 }, /* 10111 */ { 6+INDEX_SHIFT, 89, 7 }, /* 1011001 */ { 7+INDEX_SHIFT, 1408, 11 } /* 10110000000 */ }; const Coding codesTnsCoeff2TCX20[] = { { -8+INDEX_SHIFT, 13312, 14 }, /* 11010000000000 */ { -7+INDEX_SHIFT, 13313, 14 }, /* 11010000000001 */ { -6+INDEX_SHIFT, 3329, 12 }, /* 110100000001 */ { -5+INDEX_SHIFT, 833, 10 }, /* 1101000001 */ { -4+INDEX_SHIFT, 209, 8 }, /* 11010001 */ { -3+INDEX_SHIFT, 53, 6 }, /* 110101 */ { -2+INDEX_SHIFT, 12, 4 }, /* 1100 */ { -1+INDEX_SHIFT, 2, 2 }, /* 10 */ { 0+INDEX_SHIFT, 0, 1 }, /* 0 */ { 1+INDEX_SHIFT, 7, 3 }, /* 111 */ { 2+INDEX_SHIFT, 27, 5 }, /* 11011 */ { 3+INDEX_SHIFT, 105, 7 }, /* 1101001 */ { 4+INDEX_SHIFT, 417, 9 }, /* 110100001 */ { 5+INDEX_SHIFT, 1665, 11 }, /* 11010000001 */ { 6+INDEX_SHIFT, 13314, 14 }, /* 11010000000010 */ { 7+INDEX_SHIFT, 13315, 14 } /* 11010000000011 */ }; const Coding codesTnsCoeff2TCX10[] = { { -8+INDEX_SHIFT, 512, 12 }, /* 001000000000 */ { -7+INDEX_SHIFT, 513, 12 }, /* 001000000001 */ { -6+INDEX_SHIFT, 65, 9 }, /* 001000001 */ { -5+INDEX_SHIFT, 17, 7 }, /* 0010001 */ { -4+INDEX_SHIFT, 5, 5 }, /* 00101 */ { -3+INDEX_SHIFT, 0, 3 }, /* 000 */ { -2+INDEX_SHIFT, 6, 3 }, /* 110 */ { -1+INDEX_SHIFT, 1, 2 }, /* 01 */ { 0+INDEX_SHIFT, 2, 2 }, /* 10 */ { 1+INDEX_SHIFT, 7, 3 }, /* 111 */ { 2+INDEX_SHIFT, 3, 4 }, /* 0011 */ { 3+INDEX_SHIFT, 9, 6 }, /* 001001 */ { 4+INDEX_SHIFT, 33, 8 }, /* 00100001 */ { 5+INDEX_SHIFT, 129, 10 }, /* 0010000001 */ { 6+INDEX_SHIFT, 514, 12 }, /* 001000000010 */ { 7+INDEX_SHIFT, 515, 12 } /* 001000000011 */ }; const Coding codesTnsCoeff3TCX20[] = { { -8+INDEX_SHIFT, 13318, 14 }, /* 11010000000110 */ { -7+INDEX_SHIFT, 13319, 14 }, /* 11010000000111 */ { -6+INDEX_SHIFT, 6656, 13 }, /* 1101000000000 */ { -5+INDEX_SHIFT, 1665, 11 }, /* 11010000001 */ { -4+INDEX_SHIFT, 417, 9 }, /* 110100001 */ { -3+INDEX_SHIFT, 105, 7 }, /* 1101001 */ { -2+INDEX_SHIFT, 27, 5 }, /* 11011 */ { -1+INDEX_SHIFT, 7, 3 }, /* 111 */ { 0+INDEX_SHIFT, 0, 1 }, /* 0 */ { 1+INDEX_SHIFT, 2, 2 }, /* 10 */ { 2+INDEX_SHIFT, 12, 4 }, /* 1100 */ { 3+INDEX_SHIFT, 53, 6 }, /* 110101 */ { 4+INDEX_SHIFT, 209, 8 }, /* 11010001 */ { 5+INDEX_SHIFT, 833, 10 }, /* 1101000001 */ { 6+INDEX_SHIFT, 6657, 13 }, /* 1101000000001 */ { 7+INDEX_SHIFT, 6658, 13 } /* 1101000000010 */ }; const Coding codesTnsCoeff3TCX10[] = { { -8+INDEX_SHIFT, 1284, 12 }, /* 010100000100 */ { -7+INDEX_SHIFT, 1285, 12 }, /* 010100000101 */ { -6+INDEX_SHIFT, 1286, 12 }, /* 010100000110 */ { -5+INDEX_SHIFT, 1287, 12 }, /* 010100000111 */ { -4+INDEX_SHIFT, 161, 9 }, /* 010100001 */ { -3+INDEX_SHIFT, 41, 7 }, /* 0101001 */ { -2+INDEX_SHIFT, 11, 5 }, /* 01011 */ { -1+INDEX_SHIFT, 0, 2 }, /* 00 */ { 0+INDEX_SHIFT, 2, 2 }, /* 10 */ { 1+INDEX_SHIFT, 3, 2 }, /* 11 */ { 2+INDEX_SHIFT, 3, 3 }, /* 011 */ { 3+INDEX_SHIFT, 4, 4 }, /* 0100 */ { 4+INDEX_SHIFT, 21, 6 }, /* 010101 */ { 5+INDEX_SHIFT, 81, 8 }, /* 01010001 */ { 6+INDEX_SHIFT, 640, 11 }, /* 01010000000 */ { 7+INDEX_SHIFT, 641, 11 } /* 01010000001 */ }; const Coding codesTnsCoeff4TCX20[] = { { -8+INDEX_SHIFT, 13318, 14 }, /* 11010000000110 */ { -7+INDEX_SHIFT, 13319, 14 }, /* 11010000000111 */ { -6+INDEX_SHIFT, 6656, 13 }, /* 1101000000000 */ { -5+INDEX_SHIFT, 833, 10 }, /* 1101000001 */ { -4+INDEX_SHIFT, 209, 8 }, /* 11010001 */ { -3+INDEX_SHIFT, 53, 6 }, /* 110101 */ { -2+INDEX_SHIFT, 12, 4 }, /* 1100 */ { -1+INDEX_SHIFT, 2, 2 }, /* 10 */ { 0+INDEX_SHIFT, 0, 1 }, /* 0 */ { 1+INDEX_SHIFT, 7, 3 }, /* 111 */ { 2+INDEX_SHIFT, 27, 5 }, /* 11011 */ { 3+INDEX_SHIFT, 105, 7 }, /* 1101001 */ { 4+INDEX_SHIFT, 417, 9 }, /* 110100001 */ { 5+INDEX_SHIFT, 1665, 11 }, /* 11010000001 */ { 6+INDEX_SHIFT, 6657, 13 }, /* 1101000000001 */ { 7+INDEX_SHIFT, 6658, 13 } /* 1101000000010 */ }; const Coding codesTnsCoeff4TCX10[] = { { -8+INDEX_SHIFT, 20, 12 }, /* 000000010100 */ { -7+INDEX_SHIFT, 21, 12 }, /* 000000010101 */ { -6+INDEX_SHIFT, 22, 12 }, /* 000000010110 */ { -5+INDEX_SHIFT, 3, 9 }, /* 000000011 */ { -4+INDEX_SHIFT, 1, 7 }, /* 0000001 */ { -3+INDEX_SHIFT, 1, 5 }, /* 00001 */ { -2+INDEX_SHIFT, 1, 3 }, /* 001 */ { -1+INDEX_SHIFT, 2, 2 }, /* 10 */ { 0+INDEX_SHIFT, 3, 2 }, /* 11 */ { 1+INDEX_SHIFT, 1, 2 }, /* 01 */ { 2+INDEX_SHIFT, 1, 4 }, /* 0001 */ { 3+INDEX_SHIFT, 1, 6 }, /* 000001 */ { 4+INDEX_SHIFT, 0, 8 }, /* 00000000 */ { 5+INDEX_SHIFT, 23, 12 }, /* 000000010111 */ { 6+INDEX_SHIFT, 8, 11 }, /* 00000001000 */ { 7+INDEX_SHIFT, 9, 11 } /* 00000001001 */ }; const Coding codesTnsCoeff5[] = { { -8+INDEX_SHIFT, 6788, 13 }, /* 1101010000100 */ { -7+INDEX_SHIFT, 6789, 13 }, /* 1101010000101 */ { -6+INDEX_SHIFT, 6790, 13 }, /* 1101010000110 */ { -5+INDEX_SHIFT, 849, 10 }, /* 1101010001 */ { -4+INDEX_SHIFT, 213, 8 }, /* 11010101 */ { -3+INDEX_SHIFT, 107, 7 }, /* 1101011 */ { -2+INDEX_SHIFT, 27, 5 }, /* 11011 */ { -1+INDEX_SHIFT, 7, 3 }, /* 111 */ { 0+INDEX_SHIFT, 0, 1 }, /* 0 */ { 1+INDEX_SHIFT, 2, 2 }, /* 10 */ { 2+INDEX_SHIFT, 12, 4 }, /* 1100 */ { 3+INDEX_SHIFT, 52, 6 }, /* 110100 */ { 4+INDEX_SHIFT, 425, 9 }, /* 110101001 */ { 5+INDEX_SHIFT, 6791, 13 }, /* 1101010000111 */ { 6+INDEX_SHIFT, 3392, 12 }, /* 110101000000 */ { 7+INDEX_SHIFT, 3393, 12 } /* 110101000001 */ }; const Coding codesTnsCoeff6[] = { { -8+INDEX_SHIFT, 4, 12 }, /* 000000000100 */ { -7+INDEX_SHIFT, 5, 12 }, /* 000000000101 */ { -6+INDEX_SHIFT, 6, 12 }, /* 000000000110 */ { -5+INDEX_SHIFT, 1, 9 }, /* 000000001 */ { -4+INDEX_SHIFT, 1, 7 }, /* 0000001 */ { -3+INDEX_SHIFT, 1, 5 }, /* 00001 */ { -2+INDEX_SHIFT, 1, 3 }, /* 001 */ { -1+INDEX_SHIFT, 2, 2 }, /* 10 */ { 0+INDEX_SHIFT, 3, 2 }, /* 11 */ { 1+INDEX_SHIFT, 1, 2 }, /* 01 */ { 2+INDEX_SHIFT, 1, 4 }, /* 0001 */ { 3+INDEX_SHIFT, 1, 6 }, /* 000001 */ { 4+INDEX_SHIFT, 1, 8 }, /* 00000001 */ { 5+INDEX_SHIFT, 7, 12 }, /* 000000000111 */ { 6+INDEX_SHIFT, 0, 11 }, /* 00000000000 */ { 7+INDEX_SHIFT, 1, 11 } /* 00000000001 */ }; const Coding codesTnsCoeff7[] = { { -8+INDEX_SHIFT, 14, 11 }, /* 00000001110 */ { -7+INDEX_SHIFT, 15, 11 }, /* 00000001111 */ { -6+INDEX_SHIFT, 0, 10 }, /* 0000000000 */ { -5+INDEX_SHIFT, 1, 10 }, /* 0000000001 */ { -4+INDEX_SHIFT, 1, 7 }, /* 0000001 */ { -3+INDEX_SHIFT, 1, 5 }, /* 00001 */ { -2+INDEX_SHIFT, 1, 4 }, /* 0001 */ { -1+INDEX_SHIFT, 1, 2 }, /* 01 */ { 0+INDEX_SHIFT, 2, 10 }, /* 0000000010 */ { 1+INDEX_SHIFT, 1, 1 }, /* 1 */ { 2+INDEX_SHIFT, 1, 3 }, /* 001 */ { 3+INDEX_SHIFT, 1, 6 }, /* 000001 */ { 4+INDEX_SHIFT, 3, 10 }, /* 0000000011 */ { 5+INDEX_SHIFT, 4, 10 }, /* 0000000100 */ { 6+INDEX_SHIFT, 5, 10 }, /* 0000000101 */ { 7+INDEX_SHIFT, 6, 10 } /* 0000000110 */ }; const Coding codesTnsCoeff456[] = { { -8+INDEX_SHIFT, 516, 12 }, /* 001000000100 */ { -7+INDEX_SHIFT, 517, 12 }, /* 001000000101 */ { -6+INDEX_SHIFT, 518, 12 }, /* 001000000110 */ { -5+INDEX_SHIFT, 65, 9 }, /* 001000001 */ { -4+INDEX_SHIFT, 17, 7 }, /* 0010001 */ { -3+INDEX_SHIFT, 5, 5 }, /* 00101 */ { -2+INDEX_SHIFT, 3, 4 }, /* 0011 */ { -1+INDEX_SHIFT, 1, 2 }, /* 01 */ { 0+INDEX_SHIFT, 3, 2 }, /* 11 */ { 1+INDEX_SHIFT, 2, 2 }, /* 10 */ { 2+INDEX_SHIFT, 0, 3 }, /* 000 */ { 3+INDEX_SHIFT, 9, 6 }, /* 001001 */ { 4+INDEX_SHIFT, 33, 8 }, /* 00100001 */ { 5+INDEX_SHIFT, 519, 12 }, /* 001000000111 */ { 6+INDEX_SHIFT, 256, 11 }, /* 00100000000 */ { 7+INDEX_SHIFT, 257, 11 } /* 00100000001 */ }; const Coding codesTnsCoeff0WBTCX20[] = { { -8+INDEX_SHIFT, 225, 10 }, /* 0011100001 */ { -7+INDEX_SHIFT, 113, 9 }, /* 001110001 */ { -6+INDEX_SHIFT, 29, 7 }, /* 0011101 */ { -5+INDEX_SHIFT, 15, 6 }, /* 001111 */ { -4+INDEX_SHIFT, 2, 4 }, /* 0010 */ { -3+INDEX_SHIFT, 0, 3 }, /* 000 */ { -2+INDEX_SHIFT, 13, 4 }, /* 1101 */ { -1+INDEX_SHIFT, 2, 3 }, /* 010 */ { 0+INDEX_SHIFT, 5, 3 }, /* 101 */ { 1+INDEX_SHIFT, 3, 3 }, /* 011 */ { 2+INDEX_SHIFT, 4, 3 }, /* 100 */ { 3+INDEX_SHIFT, 7, 3 }, /* 111 */ { 4+INDEX_SHIFT, 12, 4 }, /* 1100 */ { 5+INDEX_SHIFT, 6, 5 }, /* 00110 */ { 6+INDEX_SHIFT, 57, 8 }, /* 00111001 */ { 7+INDEX_SHIFT, 224, 10 } /* 0011100000 */ }; const Coding codesTnsCoeff1WBTCX20[] = { { -8+INDEX_SHIFT, 512, 12 }, /* 001000000000 */ { -7+INDEX_SHIFT, 513, 12 }, /* 001000000001 */ { -6+INDEX_SHIFT, 514, 12 }, /* 001000000010 */ { -5+INDEX_SHIFT, 65, 9 }, /* 001000001 */ { -4+INDEX_SHIFT, 17, 7 }, /* 0010001 */ { -3+INDEX_SHIFT, 5, 5 }, /* 00101 */ { -2+INDEX_SHIFT, 0, 3 }, /* 000 */ { -1+INDEX_SHIFT, 2, 3 }, /* 010 */ { 0+INDEX_SHIFT, 3, 2 }, /* 11 */ { 1+INDEX_SHIFT, 2, 2 }, /* 10 */ { 2+INDEX_SHIFT, 3, 3 }, /* 011 */ { 3+INDEX_SHIFT, 3, 4 }, /* 0011 */ { 4+INDEX_SHIFT, 9, 6 }, /* 001001 */ { 5+INDEX_SHIFT, 33, 8 }, /* 00100001 */ { 6+INDEX_SHIFT, 129, 10 }, /* 0010000001 */ { 7+INDEX_SHIFT, 515, 12 } /* 001000000011 */ }; const Coding codesTnsCoeff2WB[] = { { -8+INDEX_SHIFT, 5632, 13 }, /* 1011000000000 */ { -7+INDEX_SHIFT, 5633, 13 }, /* 1011000000001 */ { -6+INDEX_SHIFT, 1409, 11 }, /* 10110000001 */ { -5+INDEX_SHIFT, 353, 9 }, /* 101100001 */ { -4+INDEX_SHIFT, 89, 7 }, /* 1011001 */ { -3+INDEX_SHIFT, 23, 5 }, /* 10111 */ { -2+INDEX_SHIFT, 4, 3 }, /* 100 */ { -1+INDEX_SHIFT, 0, 2 }, /* 00 */ { 0+INDEX_SHIFT, 3, 2 }, /* 11 */ { 1+INDEX_SHIFT, 1, 2 }, /* 01 */ { 2+INDEX_SHIFT, 10, 4 }, /* 1010 */ { 3+INDEX_SHIFT, 45, 6 }, /* 101101 */ { 4+INDEX_SHIFT, 177, 8 }, /* 10110001 */ { 5+INDEX_SHIFT, 705, 10 }, /* 1011000001 */ { 6+INDEX_SHIFT, 5634, 13 }, /* 1011000000010 */ { 7+INDEX_SHIFT, 5635, 13 } /* 1011000000011 */ }; const Coding codesTnsCoeff3WB[] = { { -8+INDEX_SHIFT, 5638, 13 }, /* 1011000000110 */ { -7+INDEX_SHIFT, 5639, 13 }, /* 1011000000111 */ { -6+INDEX_SHIFT, 2816, 12 }, /* 101100000000 */ { -5+INDEX_SHIFT, 353, 9 }, /* 101100001 */ { -4+INDEX_SHIFT, 177, 8 }, /* 10110001 */ { -3+INDEX_SHIFT, 45, 6 }, /* 101101 */ { -2+INDEX_SHIFT, 10, 4 }, /* 1010 */ { -1+INDEX_SHIFT, 0, 2 }, /* 00 */ { 0+INDEX_SHIFT, 3, 2 }, /* 11 */ { 1+INDEX_SHIFT, 1, 2 }, /* 01 */ { 2+INDEX_SHIFT, 4, 3 }, /* 100 */ { 3+INDEX_SHIFT, 23, 5 }, /* 10111 */ { 4+INDEX_SHIFT, 89, 7 }, /* 1011001 */ { 5+INDEX_SHIFT, 705, 10 }, /* 1011000001 */ { 6+INDEX_SHIFT, 2817, 12 }, /* 101100000001 */ { 7+INDEX_SHIFT, 2818, 12 } /* 101100000010 */ }; int const nTnsCoeffCodes = sizeof(codesTnsCoeff0TCX20)/sizeof(codesTnsCoeff0TCX20[0]); const Coding * const codesTnsCoeffSWBTCX20[] = { codesTnsCoeff0TCX20, codesTnsCoeff1TCX20, codesTnsCoeff2TCX20, codesTnsCoeff3TCX20, codesTnsCoeff4TCX20, codesTnsCoeff5, codesTnsCoeff6, codesTnsCoeff7 }; const Coding * const codesTnsCoeffSWBTCX10[] = { codesTnsCoeff0TCX10, codesTnsCoeff1TCX10, codesTnsCoeff2TCX10, codesTnsCoeff3TCX10, codesTnsCoeff4TCX10, codesTnsCoeff5, codesTnsCoeff6, codesTnsCoeff7 }; const Coding * const codesTnsCoeffWBTCX20[] = { codesTnsCoeff0WBTCX20, codesTnsCoeff1WBTCX20, codesTnsCoeff2WB, codesTnsCoeff3WB, codesTnsCoeff456, codesTnsCoeff456, codesTnsCoeff456, codesTnsCoeff7 }; int const nTnsCoeffTables = sizeof(codesTnsCoeffSWBTCX20)/sizeof(codesTnsCoeffSWBTCX20[0]); const Coding codesTnsOrderTCX20[] = { { 1, 0, 2 }, /* 00 */ { 2, 40, 6 }, /* 101000 */ { 3, 41, 6 }, /* 101001 */ { 4, 21, 5 }, /* 10101 */ { 5, 11, 4 }, /* 1011 */ { 6, 4, 3 }, /* 100 */ { 7, 1, 2 }, /* 01 */ { 8, 3, 2 } /* 11 */ }; const Coding codesTnsOrderTCX10[] = { { 1, 0, 3 }, /* 000 */ { 2, 16, 5 }, /* 10000 */ { 3, 17, 5 }, /* 10001 */ { 4, 9, 4 }, /* 1001 */ { 5, 1, 3 }, /* 001 */ { 6, 5, 3 }, /* 101 */ { 7, 1, 2 }, /* 01 */ { 8, 3, 2 } /* 11 */ }; const Coding codesTnsOrder[] = { { 1, 96, 7 }, /* 1100000 */ { 2, 97, 7 }, /* 1100001 */ { 3, 49, 6 }, /* 110001 */ { 4, 25, 5 }, /* 11001 */ { 5, 13, 4 }, /* 1101 */ { 6, 7, 3 }, /* 111 */ { 7, 2, 2 }, /* 10 */ { 8, 0, 1 } /* 0 */ }; int const nTnsOrderCodes = sizeof(codesTnsOrder)/sizeof(codesTnsOrder[0]); ParamsBitMap const tnsSWBTCX20FilterCoeffBitMap = { 1, { { 0, GetSWBTCX20TnsFilterCoeffBits, TRUE, GetTnsFilterCoeff, SetTnsFilterCoeff, EncodeSWBTCX20TnsFilterCoeff, DecodeSWBTCX20TnsFilterCoeff, NULL } /* TNS filter coefficients */ } }; ParamsBitMap const tnsSWBTCX10FilterCoeffBitMap = { 1, { { 0, GetSWBTCX10TnsFilterCoeffBits, TRUE, GetTnsFilterCoeff, SetTnsFilterCoeff, EncodeSWBTCX10TnsFilterCoeff, DecodeSWBTCX10TnsFilterCoeff, NULL } /* TNS filter coefficients */ } }; ParamsBitMap const tnsSWBTCX20FilterBitMap = { 1, { { 0, GetTnsFilterOrderBitsSWBTCX20, FALSE, GetTnsFilterOrder, SetTnsFilterOrder, EncodeTnsFilterOrderSWBTCX20, DecodeTnsFilterOrderSWBTCX20, &tnsSWBTCX20FilterCoeffBitMap } /* TNS filter order */ } }; ParamsBitMap const tnsSWBTCX10FilterBitMap = { 1, { { 0, GetTnsFilterOrderBitsSWBTCX10, FALSE, GetTnsFilterOrder, SetTnsFilterOrder, EncodeTnsFilterOrderSWBTCX10, DecodeTnsFilterOrderSWBTCX10, &tnsSWBTCX10FilterCoeffBitMap } /* TNS filter order */ } }; ParamsBitMap const tnsSWBTCX20BitMap = { 1, { { 1, NULL, FALSE, GetNumOfTnsFilters, SetNumOfTnsFilters, NULL, NULL, &tnsSWBTCX20FilterBitMap } /* Number of TNS filters */ } }; /* For storing/reading bits in SWB/FB mode */ ParamsBitMap const tnsEnabledSWBTCX20BitMap = { 1, { { 1, NULL, TRUE, GetTnsEnabled, SetTnsEnabled, NULL, NULL, &tnsSWBTCX20BitMap } /* TNS Enabled/Disable */ } }; ParamsBitMap const tnsSWBTCX10BitMap = { 1, { { 1, NULL, FALSE, GetNumOfTnsFilters, SetNumOfTnsFilters, NULL, NULL, &tnsSWBTCX10FilterBitMap } /* Number of TNS filters */ } }; /* For storing/reading bits in SWB/FB mode */ ParamsBitMap const tnsEnabledSWBTCX10BitMap = { 1, { { 1, NULL, TRUE, GetTnsEnabled, SetTnsEnabled, NULL, NULL, &tnsSWBTCX10BitMap } /* TNS Enabled/Disable */ } }; ParamsBitMap const tnsWBTCX20FilterCoeffBitMap = { 1, { { 0, GetWBTCX20TnsFilterCoeffBits, TRUE, GetTnsFilterCoeff, SetTnsFilterCoeff, EncodeWBTCX20TnsFilterCoeff, DecodeWBTCX20TnsFilterCoeff, NULL } /* TNS filter coefficients */ } }; ParamsBitMap const tnsWBTCX20FilterBitMap = { 1, { { 0, GetTnsFilterOrderBits, FALSE, GetTnsFilterOrder, SetTnsFilterOrder, EncodeTnsFilterOrder, DecodeTnsFilterOrder, &tnsWBTCX20FilterCoeffBitMap } /* TNS filter order */ } }; /* For storing/reading bits in WB mode */ ParamsBitMap const tnsEnabledWBTCX20BitMap = { 1, { { 1, NULL, TRUE, GetTnsEnabledSingleFilter, SetTnsEnabledSingleFilter, NULL, NULL, &tnsWBTCX20FilterBitMap } /* TNS Enabled/Disable */ } }; /** * 4 bit resolution TNS coefficients. */ float const tnsCoeff4[16]= { -0.99573418F, /* = sin(-8*(EVS_PI/2.0)/(8 + 0.5)) */ -0.96182564F, /* = sin(-7*(EVS_PI/2.0)/(8 + 0.5)) */ -0.89516329F, -0.79801723F, -0.67369564F, -0.52643216F, -0.36124167F, -0.18374952F, /* = sin(-1*(EVS_PI/2.0)/(8 + 0.5)) */ 0.00000000F, /* = sin(0*(EVS_PI/2.0)/(8 + 0.5)) */ 0.20791169F, /* = sin(1*(EVS_PI/2.0)/(8 - 0.5)) */ 0.40673664F, 0.58778525F, 0.74314483F, 0.86602540F, 0.95105652F, /* = sin(6*(EVS_PI/2.0)/(8 - 0.5)) */ 0.99452190F /* = sin(7*(EVS_PI/2.0)/(8 - 0.5)) */ }; /**********************************************************************/ /** igf settings structure for each bitrate mode **************************************************************************/ const int swb_offset_LB_new[17][IGF_MAX_SFB] = { /* 0: for 9600 kbs WB */ { 4, 164, 186, 242, 320 }, /* 1: for 13200 kbs WB RF */ { 4, 164, 186, 242, 320 }, /* 2: for 9600 kbs SWB */ { 4, 200, 322, 444, 566 }, /* 3: for 13200 kbs SWB */ { 7, 256, 288, 328, 376, 432, 496, 566 }, /* 4: for 13200 kbs SWB RF */ { 4, 200, 322, 444, 566 }, /* 5: for 16400 kbs SWB */ { 8, 256, 288, 328, 376, 432, 496, 576, 640 }, /* 6: for 24400 kbs SWB */ { 9, 256, 284, 318, 358, 402, 450, 508, 576, 640 }, /* 7: for 32000 kbs SWB */ { 9, 256, 284, 318, 358, 402, 450, 508, 576, 640 }, /* 8: for 48000 kbs SWB */ { 4, 512, 534, 576, 640 }, /* 9: for 64000 kbs SWB */ { 4, 512, 534, 576, 640 }, /* 10: for 16400 kbs FB */ { 10, 256, 288, 328, 376, 432, 496, 576, 640, 720, 800 }, /* 11: for 24400 kbs FB */ { 11, 256, 284, 318, 358, 402, 450, 508, 576, 640, 720, 800 }, /* 12: for 32000 kbs FB */ { 11, 256, 284, 318, 358, 402, 450, 508, 576, 640, 720, 800 }, /* 13: for 48000 kbs FB */ { 5, 512, 584, 656, 728, 800 }, /* 14: for 64000 kbs FB */ { 5, 512, 584, 656, 728, 800 }, /* 15: for 96000 kbs FB */ { 3, 640, 720, 800 /* old: 640, 760, 880 */ }, /* 16: for 128000 kbs FB */ { 3, 640, 720, 800 /* old: 640, 760, 880 */ } }; const float igf_whitening_TH[17][2][IGF_MAX_TILES] = { /* 0: for 9600 kbs WB */ { /* medium */ {0.36f, 0.36f, 0.f, 0.f}, /* strong */ {1.41f, 1.41f, 0.f, 0.f} }, /* 1: for 13200 kbs WB RF */ { /* medium */ {0.36f, 0.36f, 0.f, 0.f}, /* strong */ {1.41f, 1.41f, 0.f, 0.f} }, /* 2: for 9600 kbs SWB */ { /* medium */ {0.84f, 0.89f, 0.f, 0.f}, /* strong */ {1.30f, 1.25f, 0.f, 0.f} }, /* 3: for 13200 kbs SWB */ { /* medium */ {0.84f, 0.89f, 0.f, 0.f}, /* strong */ {1.30f, 1.25f, 0.f, 0.f} }, /* 4: for 13200 kbs SWB RF */ { /* medium */ {0.84f, 0.89f, 0.f, 0.f}, /* strong */ {1.30f, 1.25f, 0.f, 0.f} }, /* 5: for 16400 kbs SWB */ { /* medium */ {0.83f, 0.89f, 0.89f, 0.f}, /* strong */ {1.31f, 1.19f, 1.19f, 0.f} }, /* 6: for 24400 kbs SWB*/ { /* medium */ {0.81f, 0.85f, 0.85f, 0.f}, /* strong */ {1.35f, 1.23f, 1.23f, 0.f} }, /* 7: for 32000 kbs SWB */ { /* medium */ {0.91f, 0.85f, 0.85f, 0.f}, /* strong */ {1.34f, 1.35f, 1.35f, 0.f} }, /* 8: for 48000 kbs SWB */ { /* medium */ {1.15f, 0.f, 0.f, 0.f}, /* strong */ {1.19f, 0.f, 0.f, 0.f} }, /* 9: for 64000 kbs SWB */ { /* medium */ {1.15f, 0.f, 0.f, 0.f}, /* strong */ {1.19f, 0.f, 0.f, 0.f} }, /* 10: for 16400 kbs FB */ { /* medium */ {0.63f, 0.27f, 0.36f, 0.f}, /* strong */ {1.53f, 1.32f, 0.67f, 0.f} }, /* 11: for 24400 kbs FB */ { /* medium */ {0.78f, 0.31f, 0.34f, 0.34f}, /* strong */ {1.49f, 1.38f, 0.65f, 0.65f} }, /* 12: for 32000 kbs FB */ { /* medium */ {0.78f, 0.31f, 0.34f, 0.34f}, /* strong */ {1.49f, 1.38f, 0.65f, 0.65f} }, /* 13: for 48000 kbs FB */ { /* medium */ {0.80f, 0.f, 0.f, 0.f}, /* strong */ {1.00f, 0.f, 0.f, 0.f} }, /* 14: for 64000 kbs FB */ { /* medium */ {0.80f, 0.f, 0.f, 0.f}, /* strong */ {1.00f, 0.f, 0.f, 0.f} }, /* 15: for 96000 kbs FB */ { /* medium */ {0.f, 0.f, 0.f, 0.f}, /* strong */ {2.82f, 0.f, 0.f, 0.f} }, /* 16: for 128000 kbs FB */ { /* medium */ {0.f, 0.f, 0.f, 0.f}, /* strong */ {2.82f, 0.f, 0.f, 0.f} } }; /* IGF SCF arithmetic coder cumulative frequency tables and offsets */ const short cf_off_se01_tab[10] = { +1, /* 9.6 kbs B*/ +1, /* 13.2 kbs WB RF B*/ +1, /* 9.6 kbs SWB B*/ +1, /* 13.2 kbs A*/ +1, /* 13.2 kbs SWB RF B*/ +1, /* 16.4 kbs B*/ +1, /* 24.4 kbs B*/ +1, /* 32.0 kbs A*/ -1, /* 48.0 kbs B*/ -1 /* 64.0 kbs B*/ }; const short cf_off_se02_tab[10][IGF_CTX_COUNT] = { { +1, +2, +2, +2, +3, +3, +4}, /* 9.6 kbs B*/ { +1, +2, +2, +2, +3, +3, +4}, /* 13.2 kbs WB RF B*/ { +0, +2, +3, +3, +2, +2, +4}, /* 9.6 kbs SWB B*/ { +0, +2, +3, +3, +2, +2, +4}, /* 13.2 kbs A*/ { +0, +2, +3, +3, +2, +2, +4}, /* 13.2 kbs SWB RF B*/ { +0, +2, +3, +3, +2, +2, +4}, /* 16.4 kbs B*/ { -1, +2, +2, +2, +2, +3, +5}, /* 24.4 kbs B*/ { -1, +2, +2, +2, +2, +3, +5}, /* 32.0 kbs A*/ { +3, +2, +3, +2, +3, +3, +6}, /* 48.0 kbs B*/ { +3, +2, +3, +2, +3, +3, +6} /* 64.0 kbs B*/ }; const short cf_off_se10_tab = -7; const short cf_off_se11_tab[IGF_CTX_COUNT][IGF_CTX_COUNT] = { { -5, +0, +0, +0, +0, +0, +0}, { +0, +0, +0, +0, +0, +0, +0}, { +0, +0, +0, +0, +0, +0, +0}, { +0, +0, +0, +0, +0, +0, +0}, { +0, +0, +0, +0, +0, +0, +0}, { +0, +0, +0, +0, +0, +0, +1}, { +0, +1, +0, +0, +3, +0, +3} }; const unsigned short cf_se00_tab[IGF_SYMBOLS_IN_TABLE + 1] = { 16384, 16356, 16299, 16185, 15904, 15282, 14669, 13598, 11886, 9541, 6613, 3845, 1799, 606, 153, 32, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 }; const unsigned short cf_se01_tab[10][IGF_SYMBOLS_IN_TABLE + 1] = { {16384, 16320, 16285, 16237, 16163, 16049, 15864, 15604, 15187, 14557, 13612, 12308, 10590, 8535, 6346, 4396, 2900, 1917, 1289, 870, 593, 408, 279, 181, 122, 78, 52, 0}, /* 9.6 kbs B*/ {16384, 16320, 16285, 16237, 16163, 16049, 15864, 15604, 15187, 14557, 13612, 12308, 10590, 8535, 6346, 4396, 2900, 1917, 1289, 870, 593, 408, 279, 181, 122, 78, 52, 0}, /* 13.2 kbs WB RF B*/ {16384, 16375, 16362, 16339, 16307, 16258, 16180, 16061, 15845, 15463, 14795, 13680, 11828, 9252, 6358, 3769, 2079, 1186, 687, 415, 242, 150, 100, 67, 44, 30, 19, 0}, /* 9.6 kbs SWB B*/ {16384, 16375, 16362, 16339, 16307, 16258, 16180, 16061, 15845, 15463, 14795, 13680, 11828, 9252, 6358, 3769, 2079, 1186, 687, 415, 242, 150, 100, 67, 44, 30, 19, 0}, /* 13.2 kbs A*/ {16384, 16375, 16362, 16339, 16307, 16258, 16180, 16061, 15845, 15463, 14795, 13680, 11828, 9252, 6358, 3769, 2079, 1186, 687, 415, 242, 150, 100, 67, 44, 30, 19, 0}, /* 13.2 kbs SWB RF B*/ {16384, 16375, 16362, 16339, 16307, 16258, 16180, 16061, 15845, 15463, 14795, 13680, 11828, 9252, 6358, 3769, 2079, 1186, 687, 415, 242, 150, 100, 67, 44, 30, 19, 0}, /* 16.4 kbs B*/ {16384, 16369, 16356, 16337, 16311, 16268, 16197, 16073, 15876, 15544, 14977, 13987, 12327, 9908, 7017, 4393, 2545, 1446, 840, 493, 292, 183, 111, 70, 45, 31, 20, 0 }, /* 24.4 kbs B*/ {16384, 16369, 16356, 16337, 16311, 16268, 16197, 16073, 15876, 15544, 14977, 13987, 12327, 9908, 7017, 4393, 2545, 1446, 840, 493, 292, 183, 111, 70, 45, 31, 20, 0}, /* 32.0 kbs A*/ {16384, 16368, 16355, 16334, 16291, 16212, 16071, 15816, 15359, 14523, 13014, 10534, 7345, 4272, 2228, 1149, 626, 357, 215, 139, 93, 67, 53, 43, 36, 28, 22, 0}, /* 48.0 kbs B*/ {16384, 16368, 16355, 16334, 16291, 16212, 16071, 15816, 15359, 14523, 13014, 10534, 7345, 4272, 2228, 1149, 626, 357, 215, 139, 93, 67, 53, 43, 36, 28, 22, 0} /* 64.0 kbs B*/ }; const unsigned short cf_se02_tab[10][IGF_CTX_COUNT][IGF_SYMBOLS_IN_TABLE + 1] = { { /* 9.6 kbs B */ { 16384, 16369, 16348, 16316, 16256, 16172, 16017, 15735, 15246, 14363, 13036, 11139, 8916, 6724, 4757, 3282, 2221, 1549, 1105, 771, 548, 364, 238, 151, 89, 50, 30, 0}, { 16384, 16371, 16358, 16339, 16290, 16241, 16153, 16040, 15813, 15397, 14601, 13301, 11360, 8916, 6254, 3911, 2220, 1280, 755, 461, 278, 177, 111, 70, 35, 20, 12, 0}, { 16384, 16375, 16359, 16333, 16286, 16243, 16154, 16024, 15771, 15380, 14712, 13537, 11742, 9425, 6872, 4378, 2327, 1197, 671, 412, 259, 145, 93, 52, 26, 13, 5, 0}, { 16384, 16372, 16358, 16326, 16289, 16241, 16147, 16014, 15765, 15321, 14670, 13546, 11912, 9787, 7323, 4824, 2536, 1330, 731, 438, 258, 148, 86, 37, 22, 11, 2, 0}, { 16384, 16376, 16364, 16344, 16315, 16272, 16219, 16119, 15910, 15620, 15100, 14254, 13063, 11489, 9413, 7100, 4738, 2751, 1584, 973, 597, 349, 201, 96, 47, 22, 9, 0}, { 16384, 16364, 16340, 16312, 16288, 16237, 16166, 16026, 15756, 15390, 14833, 13870, 12627, 10998, 8985, 6893, 4720, 3048, 1860, 1131, 725, 449, 215, 111, 56, 34, 14, 0}, { 16384, 16326, 16297, 16246, 16183, 16064, 15884, 15632, 15240, 14763, 14107, 13230, 12185, 10886, 9390, 7781, 6194, 4696, 3350, 2259, 1506, 975, 604, 356, 201, 106, 48, 0} }, { /* 13.2 kbs WB RF B*/ { 16384, 16369, 16348, 16316, 16256, 16172, 16017, 15735, 15246, 14363, 13036, 11139, 8916, 6724, 4757, 3282, 2221, 1549, 1105, 771, 548, 364, 238, 151, 89, 50, 30, 0}, { 16384, 16371, 16358, 16339, 16290, 16241, 16153, 16040, 15813, 15397, 14601, 13301, 11360, 8916, 6254, 3911, 2220, 1280, 755, 461, 278, 177, 111, 70, 35, 20, 12, 0}, { 16384, 16375, 16359, 16333, 16286, 16243, 16154, 16024, 15771, 15380, 14712, 13537, 11742, 9425, 6872, 4378, 2327, 1197, 671, 412, 259, 145, 93, 52, 26, 13, 5, 0}, { 16384, 16372, 16358, 16326, 16289, 16241, 16147, 16014, 15765, 15321, 14670, 13546, 11912, 9787, 7323, 4824, 2536, 1330, 731, 438, 258, 148, 86, 37, 22, 11, 2, 0}, { 16384, 16376, 16364, 16344, 16315, 16272, 16219, 16119, 15910, 15620, 15100, 14254, 13063, 11489, 9413, 7100, 4738, 2751, 1584, 973, 597, 349, 201, 96, 47, 22, 9, 0}, { 16384, 16364, 16340, 16312, 16288, 16237, 16166, 16026, 15756, 15390, 14833, 13870, 12627, 10998, 8985, 6893, 4720, 3048, 1860, 1131, 725, 449, 215, 111, 56, 34, 14, 0}, { 16384, 16326, 16297, 16246, 16183, 16064, 15884, 15632, 15240, 14763, 14107, 13230, 12185, 10886, 9390, 7781, 6194, 4696, 3350, 2259, 1506, 975, 604, 356, 201, 106, 48, 0} }, { /* 9.6 kbs SWB B*/ { 16384, 16359, 16349, 16331, 16300, 16236, 16112, 15894, 15480, 14691, 13257, 10996, 8168, 5357, 3193, 1864, 1098, 676, 426, 265, 173, 117, 81, 59, 45, 35, 26, 0}, { 16384, 16374, 16370, 16367, 16362, 16348, 16325, 16283, 16204, 16058, 15715, 14980, 13521, 11144, 7972, 4702, 2366, 1063, 480, 241, 128, 71, 42, 22, 14, 9, 5, 0}, { 16384, 16380, 16377, 16375, 16372, 16365, 16354, 16334, 16295, 16216, 16056, 15716, 15034, 13690, 11467, 8404, 5150, 2385, 908, 417, 199, 106, 62, 35, 21, 13, 7, 0}, { 16384, 16378, 16376, 16373, 16368, 16360, 16346, 16318, 16267, 16173, 15991, 15644, 14932, 13623, 11575, 8688, 5224, 2309, 891, 393, 202, 103, 57, 34, 20, 11, 8, 0}, { 16384, 16375, 16372, 16365, 16348, 16322, 16279, 16201, 16046, 15728, 15214, 14297, 12811, 10673, 7918, 4530, 2109, 978, 466, 234, 121, 72, 46, 31, 25, 17, 13, 0}, { 16384, 16366, 16357, 16341, 16325, 16289, 16220, 16084, 15768, 15300, 14466, 13206, 11402, 9176, 6633, 4092, 2192, 1171, 592, 315, 179, 111, 74, 46, 31, 26, 18, 0}, { 16384, 16301, 16266, 16211, 16140, 16045, 15889, 15652, 15358, 14883, 14192, 13119, 11753, 10181, 8445, 6708, 5023, 3449, 2226, 1375, 849, 516, 353, 231, 153, 107, 78, 0} }, { /* 13.2 kbs A */ { 16384, 16359, 16349, 16331, 16300, 16236, 16112, 15894, 15480, 14691, 13257, 10996, 8168, 5357, 3193, 1864, 1098, 676, 426, 265, 173, 117, 81, 59, 45, 35, 26, 0}, { 16384, 16374, 16370, 16367, 16362, 16348, 16325, 16283, 16204, 16058, 15715, 14980, 13521, 11144, 7972, 4702, 2366, 1063, 480, 241, 128, 71, 42, 22, 14, 9, 5, 0}, { 16384, 16380, 16377, 16375, 16372, 16365, 16354, 16334, 16295, 16216, 16056, 15716, 15034, 13690, 11467, 8404, 5150, 2385, 908, 417, 199, 106, 62, 35, 21, 13, 7, 0}, { 16384, 16378, 16376, 16373, 16368, 16360, 16346, 16318, 16267, 16173, 15991, 15644, 14932, 13623, 11575, 8688, 5224, 2309, 891, 393, 202, 103, 57, 34, 20, 11, 8, 0}, { 16384, 16375, 16372, 16365, 16348, 16322, 16279, 16201, 16046, 15728, 15214, 14297, 12811, 10673, 7918, 4530, 2109, 978, 466, 234, 121, 72, 46, 31, 25, 17, 13, 0}, { 16384, 16366, 16357, 16341, 16325, 16289, 16220, 16084, 15768, 15300, 14466, 13206, 11402, 9176, 6633, 4092, 2192, 1171, 592, 315, 179, 111, 74, 46, 31, 26, 18, 0}, { 16384, 16301, 16266, 16211, 16140, 16045, 15889, 15652, 15358, 14883, 14192, 13119, 11753, 10181, 8445, 6708, 5023, 3449, 2226, 1375, 849, 516, 353, 231, 153, 107, 78, 0} }, { /* 13.2 kbs SWB RF B*/ { 16384, 16359, 16349, 16331, 16300, 16236, 16112, 15894, 15480, 14691, 13257, 10996, 8168, 5357, 3193, 1864, 1098, 676, 426, 265, 173, 117, 81, 59, 45, 35, 26, 0}, { 16384, 16374, 16370, 16367, 16362, 16348, 16325, 16283, 16204, 16058, 15715, 14980, 13521, 11144, 7972, 4702, 2366, 1063, 480, 241, 128, 71, 42, 22, 14, 9, 5, 0}, { 16384, 16380, 16377, 16375, 16372, 16365, 16354, 16334, 16295, 16216, 16056, 15716, 15034, 13690, 11467, 8404, 5150, 2385, 908, 417, 199, 106, 62, 35, 21, 13, 7, 0}, { 16384, 16378, 16376, 16373, 16368, 16360, 16346, 16318, 16267, 16173, 15991, 15644, 14932, 13623, 11575, 8688, 5224, 2309, 891, 393, 202, 103, 57, 34, 20, 11, 8, 0}, { 16384, 16375, 16372, 16365, 16348, 16322, 16279, 16201, 16046, 15728, 15214, 14297, 12811, 10673, 7918, 4530, 2109, 978, 466, 234, 121, 72, 46, 31, 25, 17, 13, 0}, { 16384, 16366, 16357, 16341, 16325, 16289, 16220, 16084, 15768, 15300, 14466, 13206, 11402, 9176, 6633, 4092, 2192, 1171, 592, 315, 179, 111, 74, 46, 31, 26, 18, 0}, { 16384, 16301, 16266, 16211, 16140, 16045, 15889, 15652, 15358, 14883, 14192, 13119, 11753, 10181, 8445, 6708, 5023, 3449, 2226, 1375, 849, 516, 353, 231, 153, 107, 78, 0} }, { /* 16.4 kbs B */ { 16384, 16359, 16349, 16331, 16300, 16236, 16112, 15894, 15480, 14691, 13257, 10996, 8168, 5357, 3193, 1864, 1098, 676, 426, 265, 173, 117, 81, 59, 45, 35, 26, 0}, { 16384, 16374, 16370, 16367, 16362, 16348, 16325, 16283, 16204, 16058, 15715, 14980, 13521, 11144, 7972, 4702, 2366, 1063, 480, 241, 128, 71, 42, 22, 14, 9, 5, 0}, { 16384, 16380, 16377, 16375, 16372, 16365, 16354, 16334, 16295, 16216, 16056, 15716, 15034, 13690, 11467, 8404, 5150, 2385, 908, 417, 199, 106, 62, 35, 21, 13, 7, 0}, { 16384, 16378, 16376, 16373, 16368, 16360, 16346, 16318, 16267, 16173, 15991, 15644, 14932, 13623, 11575, 8688, 5224, 2309, 891, 393, 202, 103, 57, 34, 20, 11, 8, 0}, { 16384, 16375, 16372, 16365, 16348, 16322, 16279, 16201, 16046, 15728, 15214, 14297, 12811, 10673, 7918, 4530, 2109, 978, 466, 234, 121, 72, 46, 31, 25, 17, 13, 0}, { 16384, 16366, 16357, 16341, 16325, 16289, 16220, 16084, 15768, 15300, 14466, 13206, 11402, 9176, 6633, 4092, 2192, 1171, 592, 315, 179, 111, 74, 46, 31, 26, 18, 0}, { 16384, 16301, 16266, 16211, 16140, 16045, 15889, 15652, 15358, 14883, 14192, 13119, 11753, 10181, 8445, 6708, 5023, 3449, 2226, 1375, 849, 516, 353, 231, 153, 107, 78, 0} }, { /* 24.4 kbs B */ { 16384, 16351, 16333, 16303, 16254, 16163, 15993, 15681, 15080, 13987, 12109, 9465, 6588, 4160, 2488, 1480, 912, 589, 389, 266, 190, 131, 93, 68, 47, 34, 24, 0}, { 16384, 16379, 16375, 16369, 16360, 16345, 16328, 16286, 16211, 16078, 15810, 15233, 14058, 11933, 8881, 5609, 2940, 1290, 558, 274, 150, 80, 47, 29, 17, 11, 6, 0}, { 16384, 16382, 16380, 16377, 16370, 16358, 16337, 16300, 16224, 16088, 15811, 15233, 14112, 12019, 9061, 5723, 2780, 1121, 480, 239, 123, 69, 41, 22, 13, 8, 5, 0}, { 16384, 16377, 16375, 16369, 16363, 16351, 16325, 16268, 16172, 16009, 15686, 15039, 13830, 11799, 8924, 5422, 2444, 960, 441, 220, 111, 63, 37, 22, 11, 6, 3, 0}, { 16384, 16374, 16369, 16363, 16356, 16335, 16290, 16214, 16068, 15826, 15382, 14550, 13126, 10956, 8000, 4622, 2090, 973, 478, 249, 128, 75, 42, 19, 13, 7, 4, 0}, { 16384, 16375, 16370, 16367, 16362, 16340, 16298, 16232, 16097, 15860, 15440, 14718, 13570, 11874, 9557, 6790, 4053, 2166, 1150, 622, 323, 179, 96, 53, 33, 17, 12, 0}, { 16384, 16335, 16304, 16276, 16228, 16166, 16094, 15983, 15775, 15501, 15040, 14417, 13552, 12326, 10847, 9117, 7308, 5373, 3666, 2297, 1336, 807, 495, 313, 216, 152, 114, 0} }, { /* 32.0 kbs A */ { 16384, 16351, 16333, 16303, 16254, 16163, 15993, 15681, 15080, 13987, 12109, 9465, 6588, 4160, 2488, 1480, 912, 589, 389, 266, 190, 131, 93, 68, 47, 34, 24, 0}, { 16384, 16379, 16375, 16369, 16360, 16345, 16328, 16286, 16211, 16078, 15810, 15233, 14058, 11933, 8881, 5609, 2940, 1290, 558, 274, 150, 80, 47, 29, 17, 11, 6, 0}, { 16384, 16382, 16380, 16377, 16370, 16358, 16337, 16300, 16224, 16088, 15811, 15233, 14112, 12019, 9061, 5723, 2780, 1121, 480, 239, 123, 69, 41, 22, 13, 8, 5, 0}, { 16384, 16377, 16375, 16369, 16363, 16351, 16325, 16268, 16172, 16009, 15686, 15039, 13830, 11799, 8924, 5422, 2444, 960, 441, 220, 111, 63, 37, 22, 11, 6, 3, 0}, { 16384, 16374, 16369, 16363, 16356, 16335, 16290, 16214, 16068, 15826, 15382, 14550, 13126, 10956, 8000, 4622, 2090, 973, 478, 249, 128, 75, 42, 19, 13, 7, 4, 0}, { 16384, 16375, 16370, 16367, 16362, 16340, 16298, 16232, 16097, 15860, 15440, 14718, 13570, 11874, 9557, 6790, 4053, 2166, 1150, 622, 323, 179, 96, 53, 33, 17, 12, 0}, { 16384, 16335, 16304, 16276, 16228, 16166, 16094, 15983, 15775, 15501, 15040, 14417, 13552, 12326, 10847, 9117, 7308, 5373, 3666, 2297, 1336, 807, 495, 313, 216, 152, 114, 0} }, { /* 48.0 kbs B */ { 16384, 16334, 16310, 16285, 16254, 16204, 16128, 16031, 15903, 15697, 15380, 14820, 13857, 12267, 9878, 7099, 4509, 2576, 1478, 871, 531, 349, 230, 163, 111, 80, 62, 0}, { 16384, 16337, 16327, 16307, 16278, 16239, 16178, 16092, 15947, 15719, 15286, 14428, 12833, 10246, 7123, 4088, 1896, 849, 481, 287, 190, 139, 94, 66, 52, 34, 24, 0}, { 16384, 16352, 16341, 16329, 16312, 16295, 16265, 16223, 16151, 16026, 15825, 15437, 14645, 13089, 10612, 7364, 4077, 1783, 779, 444, 281, 192, 138, 93, 65, 43, 30, 0}, { 16384, 16354, 16347, 16337, 16314, 16284, 16233, 16165, 16051, 15847, 15450, 14621, 13069, 10623, 7298, 3789, 1569, 727, 445, 302, 207, 143, 96, 59, 36, 18, 9, 0}, { 16384, 16352, 16342, 16330, 16314, 16295, 16266, 16215, 16127, 15984, 15709, 15190, 14242, 12540, 9979, 6448, 3160, 1392, 752, 481, 344, 251, 169, 115, 73, 28, 8, 0}, { 16384, 16340, 16320, 16302, 16272, 16257, 16220, 16135, 16011, 15784, 15370, 14688, 13423, 11457, 8721, 5529, 2736, 1375, 784, 525, 353, 263, 172, 113, 78, 26, 11, 0}, { 16384, 16238, 16170, 16113, 16077, 16030, 16000, 15948, 15873, 15752, 15535, 15157, 14595, 13788, 12569, 10767, 8611, 6186, 4101, 2459, 1478, 881, 607, 385, 243, 168, 116, 0} }, { /* 64.0 kbs B */ { 16384, 16334, 16310, 16285, 16254, 16204, 16128, 16031, 15903, 15697, 15380, 14820, 13857, 12267, 9878, 7099, 4509, 2576, 1478, 871, 531, 349, 230, 163, 111, 80, 62, 0}, { 16384, 16337, 16327, 16307, 16278, 16239, 16178, 16092, 15947, 15719, 15286, 14428, 12833, 10246, 7123, 4088, 1896, 849, 481, 287, 190, 139, 94, 66, 52, 34, 24, 0}, { 16384, 16352, 16341, 16329, 16312, 16295, 16265, 16223, 16151, 16026, 15825, 15437, 14645, 13089, 10612, 7364, 4077, 1783, 779, 444, 281, 192, 138, 93, 65, 43, 30, 0}, { 16384, 16354, 16347, 16337, 16314, 16284, 16233, 16165, 16051, 15847, 15450, 14621, 13069, 10623, 7298, 3789, 1569, 727, 445, 302, 207, 143, 96, 59, 36, 18, 9, 0}, { 16384, 16352, 16342, 16330, 16314, 16295, 16266, 16215, 16127, 15984, 15709, 15190, 14242, 12540, 9979, 6448, 3160, 1392, 752, 481, 344, 251, 169, 115, 73, 28, 8, 0}, { 16384, 16340, 16320, 16302, 16272, 16257, 16220, 16135, 16011, 15784, 15370, 14688, 13423, 11457, 8721, 5529, 2736, 1375, 784, 525, 353, 263, 172, 113, 78, 26, 11, 0}, { 16384, 16238, 16170, 16113, 16077, 16030, 16000, 15948, 15873, 15752, 15535, 15157, 14595, 13788, 12569, 10767, 8611, 6186, 4101, 2459, 1478, 881, 607, 385, 243, 168, 116, 0} } }; /* only needed for >= 48 kbs */ const unsigned short cf_se10_tab[IGF_SYMBOLS_IN_TABLE + 1] = { 16384, 15493, 15154, 14810, 14331, 13701, 13086, 12403, 11585, 10923, 10293, 9631, 8943, 8385, 7760, 7182, 6593, 6009, 5540, 5082, 4571, 4133, 3711, 3299, 2887, 2460, 2043, 0 }; const unsigned short cf_se11_tab[IGF_CTX_COUNT][IGF_CTX_COUNT][IGF_SYMBOLS_IN_TABLE + 1] = { { { 16384, 16313, 16312, 16241, 16206, 16099, 15957, 15386, 14601, 12852, 10282, 7534, 4964, 2966, 1824, 896, 504, 255, 113, 112, 41, 40, 39, 38, 37, 36, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16207, 16206, 16205, 16120, 15949, 14663, 12777, 9947, 6860, 3773, 1972, 772, 430, 259, 174, 89, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 16376, 16115, 15941, 14891, 12965, 11477, 8587, 5347, 3421, 1407, 620, 8, 7, 6, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16254, 16253, 16004, 15005, 13756, 12006, 9256, 5755, 3755, 1755, 756, 132, 131, 130, 129, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 15964, 15550, 14929, 12856, 9954, 6430, 2906, 1456, 1042, 628, 214, 8, 7, 6, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16087, 15503, 14334, 14333, 11994, 10240, 8193, 5268, 2929, 1760, 1176, 299, 298, 297, 296, 295, 294, 293, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 14922, 13467, 10919, 9464, 7280, 6189, 3641, 2914, 2187, 1824, 1823, 1096, 369, 368, 367, 4, 3, 2, 1, 0} }, { { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 16238, 16237, 15678, 15399, 14840, 13441, 11341, 8681, 6161, 3781, 2522, 702, 283, 144, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 16376, 16375, 16374, 15693, 14671, 12625, 7507, 4778, 2390, 1368, 1028, 347, 7, 6, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 16376, 16375, 16374, 15595, 13776, 9877, 6498, 3639, 3120, 1561, 1042, 523, 265, 6, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 16376, 15709, 13704, 12702, 11032, 7355, 3010, 1340, 1007, 674, 341, 8, 7, 6, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 16376, 16375, 16374, 12816, 10683, 7125, 2854, 720, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 16376, 16375, 12738, 12737, 10920, 9103, 5466, 1828, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 15359, 15358, 14337, 14336, 14335, 14334, 14333, 10240, 7170, 5124, 2054, 1032, 1031, 1030, 1029, 7, 6, 5, 4, 3, 2, 1, 0} }, { { 16384, 16383, 16382, 16107, 16106, 16105, 16104, 16103, 15966, 15965, 15690, 15140, 14315, 12939, 10324, 8122, 4956, 2479, 1654, 966, 691, 416, 141, 140, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 16376, 16375, 15320, 14265, 12945, 10568, 8984, 6343, 4230, 1853, 797, 270, 7, 6, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16112, 16111, 16110, 15037, 14501, 12622, 11012, 7790, 5374, 3226, 1347, 542, 275, 274, 273, 6, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 16376, 16375, 15597, 14819, 12090, 7021, 4292, 1953, 1175, 787, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 16376, 15935, 14165, 12838, 9297, 6641, 3985, 1772, 1331, 890, 449, 8, 7, 6, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 16376, 14740, 13923, 9010, 6555, 4100, 2464, 828, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 16376, 13104, 13103, 8192, 4920, 1647, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0} }, { { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 16077, 16076, 16075, 15926, 15176, 14425, 10819, 7664, 5711, 2856, 1354, 754, 454, 154, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 16376, 16044, 16043, 14373, 12369, 10030, 7023, 5019, 1677, 676, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16077, 16076, 16075, 15470, 14258, 12743, 11531, 6375, 3040, 3039, 917, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 16376, 16375, 15309, 13531, 11396, 7480, 3564, 1786, 364, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 15833, 15289, 13652, 10377, 6556, 3827, 3283, 1646, 555, 554, 553, 552, 7, 6, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 14146, 13404, 13403, 13402, 10425, 7448, 3727, 2240, 2239, 752, 751, 750, 749, 7, 6, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 15562, 14745, 13928, 10653, 7378, 5742, 2467, 830, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0} }, { { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 16376, 16375, 16219, 15590, 14803, 13544, 11339, 9292, 6930, 4568, 2521, 1419, 790, 318, 161, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 16376, 16014, 15652, 14925, 14198, 12743, 10196, 5464, 3645, 1826, 371, 8, 7, 6, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 16376, 16050, 15396, 15395, 12447, 10810, 8518, 4915, 2950, 1313, 659, 333, 7, 6, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 16376, 16375, 14792, 14001, 11096, 8455, 6079, 3174, 2119, 535, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 15796, 15795, 15794, 15793, 11700, 8777, 6439, 4101, 1178, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 15473, 15472, 15471, 14563, 13655, 12746, 10017, 7288, 6379, 6378, 4559, 1830, 1829, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 15723, 15069, 13105, 9174, 7865, 3934, 3280, 1971, 1317, 663, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0} }, { { 16384, 16383, 16382, 16381, 16232, 16231, 16230, 16229, 16228, 16227, 16078, 15628, 15329, 13977, 12325, 10222, 5413, 4212, 1959, 908, 7, 6, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 16376, 16109, 15842, 15841, 13694, 11815, 10205, 5640, 3493, 2151, 1347, 543, 542, 6, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 16376, 16168, 14699, 13650, 11761, 9452, 6093, 3784, 1685, 636, 427, 426, 425, 424, 423, 422, 421, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 16376, 16122, 15611, 14332, 13053, 10238, 7423, 4608, 2561, 2050, 1027, 516, 515, 260, 259, 258, 257, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 16376, 16375, 15207, 13649, 10531, 6632, 3514, 1176, 398, 397, 396, 395, 394, 393, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16379, 16378, 16377, 15749, 15120, 12601, 10082, 8823, 6304, 3785, 3156, 1267, 638, 637, 636, 7, 6, 5, 4, 3, 2, 1, 0}, { 16384, 16383, 15729, 15728, 15727, 15726, 15725, 15071, 14417, 12453, 10489, 8525, 5905, 1975, 1321, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0} }, { { 16384, 16383, 16372, 16340, 16339, 16328, 16285, 16253, 16136, 15923, 15614, 14931, 13833, 12201, 10175, 7615, 5269, 3243, 2123, 1142, 673, 342, 182, 150, 86, 54, 11, 0}, { 16384, 16383, 16366, 16349, 16332, 16331, 16314, 16245, 16244, 16141, 15813, 15451, 14105, 12672, 9910, 7113, 4472, 2590, 1071, 484, 294, 156, 53, 36, 19, 18, 1, 0}, { 16384, 16383, 16382, 16369, 16355, 16341, 16271, 16117, 15921, 15627, 14772, 13089, 10929, 8334, 5487, 3299, 1644, 999, 424, 228, 88, 46, 18, 17, 16, 15, 14, 0}, { 16384, 16367, 16366, 16365, 16364, 16363, 16259, 16173, 15809, 15028, 13951, 12214, 9278, 6203, 3719, 2052, 1079, 402, 194, 125, 56, 22, 21, 20, 3, 2, 1, 0}, { 16384, 16383, 16360, 16359, 16358, 16357, 16356, 16333, 16332, 16143, 15954, 15434, 14227, 12262, 9540, 6652, 3882, 1988, 1207, 829, 427, 191, 73, 50, 49, 2, 1, 0}, { 16384, 16383, 16382, 16381, 16380, 16296, 16254, 15748, 14862, 13427, 11189, 8487, 5278, 3252, 2028, 1099, 551, 340, 298, 214, 172, 88, 46, 45, 3, 2, 1, 0}, { 16384, 16383, 16307, 16269, 16231, 16230, 16077, 15886, 15464, 14620, 13546, 11896, 9671, 7024, 4338, 2382, 1423, 809, 541, 311, 158, 43, 5, 4, 3, 2, 1, 0} } }; /**********************************************************************/ /** igf settings table for each bitrate mode **************************************************************************/ /* possible ROMOPTIM: transFac not needed any more, can be deleted */ IGF_MODE igfMode[17] = { /* sampleRate, frameLength, bitRate, igfMinFq, transFac, maxHopsize */ { 16000, 320, 9600, 774, 1.25f, 4 }, /* 9.6kbs WB 0 */ { 16000, 320, 13200, 774, 1.25f, 4 }, /* 13.2kbs WB RF 1 */ { 32000, 640, 9600, 800, 1.25f, 2 }, /* 9.6kbs SWB 2 */ { 32000, 640, 13200, 800, 1.25f, 4 }, /* 13.2kbs SWB 3 */ { 32000, 640, 13200, 800, 1.25f, 2 }, /* 13.2kbs SWB RF 4 */ { 32000, 640, 16400, 800, 1.25f, 4 }, /* 16.4kbs SWB 5 */ { 32000, 640, 24400, 800, 1.25f, 4 }, /* 24.4kbs SWB 6 */ { 32000, 640, 32000, 800, 1.25f, 4 }, /* 32.0kbs SWB 7 */ { 32000, 640, 48000, 1600, 1.25f, 4 }, /* 48.0kbs SWB 8 */ { 32000, 640, 64000, 1600, 1.25f, 4 }, /* 64.0kbs SWB 9 */ { 48000, 960, 16400, 800, 1.25f, 4 }, /* 16.4kbs FB 10 */ { 48000, 960, 24400, 800, 1.25f, 2 }, /* 24.4kbs FB 11 */ { 48000, 960, 32000, 800, 1.25f, 2 }, /* 32.0kbs FB 12 */ { 48000, 960, 48000, 1600, 1.25f, 2 }, /* 48.0kbs FB 13 */ { 48000, 960, 64000, 1600, 1.25f, 2 }, /* 64.0kbs FB 14 */ { 48000, 960, 96000, 1600, 0.50f, 1 }, /* 96.0kbs FB 15 */ { 48000, 960, 128000, 1600, 0.50f, 1 } /*128.0kbs FB 16 */ }; const int bwMode2fs[4] = { 8000, 16000, 32000, 48000 }; const float normReciprocal[CHEAP_NORM_SIZE] = { 0.0f, 1.0000000000f, 0.5000000000f, 0.3333333333f, 0.2500000000f, 0.2000000000f, 0.1666666667f, 0.1428571429f, 0.1250000000f, 0.1111111111f, 0.1000000000f, 0.0909090909f, 0.0833333333f, 0.0769230769f, 0.0714285714f, 0.0666666667f, 0.0625000000f, 0.0588235294f, 0.0555555556f, 0.0526315789f, 0.0500000000f, 0.0476190476f, 0.0454545455f, 0.0434782609f, 0.0416666667f, 0.0400000000f, 0.0384615385f, 0.0370370370f, 0.0357142857f, 0.0344827586f, 0.0333333333f, 0.0322580645f, 0.0312500000f, 0.0303030303f, 0.0294117647f, 0.0285714286f, 0.0277777778f, 0.0270270270f, 0.0263157895f, 0.0256410256f, 0.0250000000f, 0.0243902439f, 0.0238095238f, 0.0232558140f, 0.0227272727f, 0.0222222222f, 0.0217391304f, 0.0212765957f, 0.0208333333f, 0.0204081633f, 0.0200000000f, 0.0196078431f, 0.0192307692f, 0.0188679245f, 0.0185185185f, 0.0181818182f, 0.0178571429f, 0.0175438596f, 0.0172413793f, 0.0169491525f, 0.0166666667f, 0.0163934426f, 0.0161290323f, 0.0158730159f, 0.0156250000f, 0.0153846154f, 0.0151515152f, 0.0149253731f, 0.0147058824f, 0.0144927536f, 0.0142857143f, 0.0140845070f, 0.0138888889f, 0.0136986301f, 0.0135135135f, 0.0133333333f, 0.0131578947f, 0.0129870130f, 0.0128205128f, 0.0126582278f, 0.0125000000f, 0.0123456790f, 0.0121951220f, 0.0120481928f, 0.0119047619f, 0.0117647059f, 0.0116279070f, 0.0114942529f, 0.0113636364f, 0.0112359551f, 0.0111111111f, 0.0109890110f, 0.0108695652f, 0.0107526882f, 0.0106382979f, 0.0105263158f, 0.0104166667f, 0.0103092784f, 0.0102040816f, 0.0101010101f, 0.0100000000f, 0.0099009901f, 0.0098039216f, 0.0097087379f, 0.0096153846f, 0.0095238095f, 0.0094339623f, 0.0093457944f, 0.0092592593f, 0.0091743119f, 0.0090909091f, 0.0090090090f, 0.0089285714f, 0.0088495575f, 0.0087719298f, 0.0086956522f, 0.0086206897f, 0.0085470085f, 0.0084745763f, 0.0084033613f, 0.0083333333f, 0.0082644628f, 0.0081967213f, 0.0081300813f, 0.0080645161f, 0.0080000000f, 0.0079365079f, 0.0078740157f, 0.0078125000f, 0.0077519380f, 0.0076923077f, 0.0076335878f, 0.0075757576f, 0.0075187970f, 0.0074626866f, 0.0074074074f, 0.0073529412f, 0.0072992701f, 0.0072463768f, 0.0071942446f, 0.0071428571f, 0.0070921986f, 0.0070422535f, 0.0069930070f, 0.0069444444f, 0.0068965517f, 0.0068493151f, 0.0068027211f, 0.0067567568f, 0.0067114094f, 0.0066666667f, 0.0066225166f, 0.0065789474f, 0.0065359477f, 0.0064935065f, 0.0064516129f, 0.0064102564f, 0.0063694268f, 0.0063291139f, 0.0062893082f, 0.0062500000f }; const float w1N8[30] = {0.998795f, -0.049068f, 0.995185f, -0.098017f, 0.989177f, -0.146730f, 0.980785f, -0.195090f, 0.970031f, -0.242980f, 0.956940f, -0.290285f, 0.941544f, -0.336890f, 0.923880f, -0.382683f, 0.903989f, -0.427555f, 0.881921f, -0.471397f, 0.857729f, -0.514103f, 0.831470f, -0.555570f, 0.803208f, -0.595699f, 0.773010f, -0.634393f, 0.740951f, -0.671559f}; const float w2N8[30] = {0.995185f, -0.098017f, 0.980785f, -0.195090f, 0.956940f, -0.290285f, 0.923880f, -0.382683f, 0.881921f, -0.471397f, 0.831470f, -0.555570f, 0.773010f, -0.634393f, 0.707107f, -0.707107f, 0.634393f, -0.773010f, 0.555570f, -0.831470f, 0.471397f, -0.881921f, 0.382683f, -0.923880f, 0.290285f, -0.956940f, 0.195090f, -0.980785f, 0.098017f, -0.995185f}; const float w3N8[30] = {0.989177f, -0.146730f, 0.956940f, -0.290285f, 0.903989f, -0.427555f, 0.831470f, -0.555570f, 0.740951f, -0.671559f, 0.634393f, -0.773010f, 0.514103f, -0.857729f, 0.382683f, -0.923880f, 0.242980f, -0.970031f, 0.098017f, -0.995185f, -0.049068f, -0.998795f, -0.195090f, -0.980785f, -0.336890f, -0.941544f, -0.471397f, -0.881921f, -0.595699f, -0.803208f}; const float w4N8[30] = {0.980785f, -0.195090f, 0.923880f, -0.382683f, 0.831470f, -0.555570f, 0.707107f, -0.707107f, 0.555570f, -0.831470f, 0.382683f, -0.923880f, 0.195090f, -0.980785f, 0.000000f, -1.000000f, -0.195090f, -0.980785f, -0.382683f, -0.923880f, -0.555570f, -0.831470f, -0.707107f, -0.707107f, -0.831470f, -0.555570f, -0.923880f, -0.382683f, -0.980785f, -0.195090f}; const float w5N8[30] = {0.970031f, -0.242980f, 0.881921f, -0.471397f, 0.740951f, -0.671559f, 0.555570f, -0.831470f, 0.336890f, -0.941544f, 0.098017f, -0.995185f, -0.146730f, -0.989177f, -0.382683f, -0.923880f, -0.595699f, -0.803208f, -0.773010f, -0.634393f, -0.903989f, -0.427555f, -0.980785f, -0.195090f, -0.998795f, 0.049068f, -0.956940f, 0.290285f, -0.857729f, 0.514103f}; const float w6N8[30] = {0.956940f, -0.290285f, 0.831470f, -0.555570f, 0.634393f, -0.773010f, 0.382683f, -0.923880f, 0.098017f, -0.995185f, -0.195090f, -0.980785f, -0.471397f, -0.881921f, -0.707107f, -0.707107f, -0.881921f, -0.471397f, -0.980785f, -0.195090f, -0.995185f, 0.098017f, -0.923880f, 0.382683f, -0.773010f, 0.634393f, -0.555570f, 0.831470f, -0.290285f, 0.956940f}; const float w7N8[30] = {0.941544f, -0.336890f, 0.773010f, -0.634393f, 0.514103f, -0.857729f, 0.195090f, -0.980785f, -0.146730f, -0.989177f, -0.471397f, -0.881921f, -0.740951f, -0.671559f, -0.923880f, -0.382683f, -0.998795f, -0.049068f, -0.956940f, 0.290285f, -0.803208f, 0.595699f, -0.555570f, 0.831470f, -0.242980f, 0.970031f, 0.098017f, 0.995185f, 0.427555f, 0.903989f}; const float *w_a[7] = {w1N8, w2N8, w3N8, w4N8, w5N8, w6N8, w7N8}; #define STC(x) WORD322WORD16(x) #define STCP(a,b) { { STC(a), STC(b) } } const PWord16 SineTable512_fx[] = { STCP(0x7fffffff, 0x00000000), STCP(0x7fffd886, 0x006487e3), STCP(0x7fff6216, 0x00c90f88), STCP(0x7ffe9cb2, 0x012d96b1), STCP(0x7ffd885a, 0x01921d20), STCP(0x7ffc250f, 0x01f6a297), STCP(0x7ffa72d1, 0x025b26d7), STCP(0x7ff871a2, 0x02bfa9a4), STCP(0x7ff62182, 0x03242abf), STCP(0x7ff38274, 0x0388a9ea), STCP(0x7ff09478, 0x03ed26e6), STCP(0x7fed5791, 0x0451a177), STCP(0x7fe9cbc0, 0x04b6195d), STCP(0x7fe5f108, 0x051a8e5c), STCP(0x7fe1c76b, 0x057f0035), STCP(0x7fdd4eec, 0x05e36ea9), STCP(0x7fd8878e, 0x0647d97c), STCP(0x7fd37153, 0x06ac406f), STCP(0x7fce0c3e, 0x0710a345), STCP(0x7fc85854, 0x077501be), STCP(0x7fc25596, 0x07d95b9e), STCP(0x7fbc040a, 0x083db0a7), STCP(0x7fb563b3, 0x08a2009a), STCP(0x7fae7495, 0x09064b3a), STCP(0x7fa736b4, 0x096a9049), STCP(0x7f9faa15, 0x09cecf89), STCP(0x7f97cebd, 0x0a3308bd), STCP(0x7f8fa4b0, 0x0a973ba5), STCP(0x7f872bf3, 0x0afb6805), STCP(0x7f7e648c, 0x0b5f8d9f), STCP(0x7f754e80, 0x0bc3ac35), STCP(0x7f6be9d4, 0x0c27c389), STCP(0x7f62368f, 0x0c8bd35e), STCP(0x7f5834b7, 0x0cefdb76), STCP(0x7f4de451, 0x0d53db92), STCP(0x7f434563, 0x0db7d376), STCP(0x7f3857f6, 0x0e1bc2e4), STCP(0x7f2d1c0e, 0x0e7fa99e), STCP(0x7f2191b4, 0x0ee38766), STCP(0x7f15b8ee, 0x0f475bff), STCP(0x7f0991c4, 0x0fab272b), STCP(0x7efd1c3c, 0x100ee8ad), STCP(0x7ef05860, 0x1072a048), STCP(0x7ee34636, 0x10d64dbd), STCP(0x7ed5e5c6, 0x1139f0cf), STCP(0x7ec8371a, 0x119d8941), STCP(0x7eba3a39, 0x120116d5), STCP(0x7eabef2c, 0x1264994e), STCP(0x7e9d55fc, 0x12c8106f), STCP(0x7e8e6eb2, 0x132b7bf9), STCP(0x7e7f3957, 0x138edbb1), STCP(0x7e6fb5f4, 0x13f22f58), STCP(0x7e5fe493, 0x145576b1), STCP(0x7e4fc53e, 0x14b8b17f), STCP(0x7e3f57ff, 0x151bdf86), STCP(0x7e2e9cdf, 0x157f0086), STCP(0x7e1d93ea, 0x15e21445), STCP(0x7e0c3d29, 0x16451a83), STCP(0x7dfa98a8, 0x16a81305), STCP(0x7de8a670, 0x170afd8d), STCP(0x7dd6668f, 0x176dd9de), STCP(0x7dc3d90d, 0x17d0a7bc), STCP(0x7db0fdf8, 0x183366e9), STCP(0x7d9dd55a, 0x18961728), STCP(0x7d8a5f40, 0x18f8b83c), STCP(0x7d769bb5, 0x195b49ea), STCP(0x7d628ac6, 0x19bdcbf3), STCP(0x7d4e2c7f, 0x1a203e1b), STCP(0x7d3980ec, 0x1a82a026), STCP(0x7d24881b, 0x1ae4f1d6), STCP(0x7d0f4218, 0x1b4732ef), STCP(0x7cf9aef0, 0x1ba96335), STCP(0x7ce3ceb2, 0x1c0b826a), STCP(0x7ccda169, 0x1c6d9053), STCP(0x7cb72724, 0x1ccf8cb3), STCP(0x7ca05ff1, 0x1d31774d), STCP(0x7c894bde, 0x1d934fe5), STCP(0x7c71eaf9, 0x1df5163f), STCP(0x7c5a3d50, 0x1e56ca1e), STCP(0x7c4242f2, 0x1eb86b46), STCP(0x7c29fbee, 0x1f19f97b), STCP(0x7c116853, 0x1f7b7481), STCP(0x7bf88830, 0x1fdcdc1b), STCP(0x7bdf5b94, 0x203e300d), STCP(0x7bc5e290, 0x209f701c), STCP(0x7bac1d31, 0x21009c0c), STCP(0x7b920b89, 0x2161b3a0), STCP(0x7b77ada8, 0x21c2b69c), STCP(0x7b5d039e, 0x2223a4c5), STCP(0x7b420d7a, 0x22847de0), STCP(0x7b26cb4f, 0x22e541af), STCP(0x7b0b3d2c, 0x2345eff8), STCP(0x7aef6323, 0x23a6887f), STCP(0x7ad33d45, 0x24070b08), STCP(0x7ab6cba4, 0x24677758), STCP(0x7a9a0e50, 0x24c7cd33), STCP(0x7a7d055b, 0x25280c5e), STCP(0x7a5fb0d8, 0x2588349d), STCP(0x7a4210d8, 0x25e845b6), STCP(0x7a24256f, 0x26483f6c), STCP(0x7a05eead, 0x26a82186), STCP(0x79e76ca7, 0x2707ebc7), STCP(0x79c89f6e, 0x27679df4), STCP(0x79a98715, 0x27c737d3), STCP(0x798a23b1, 0x2826b928), STCP(0x796a7554, 0x288621b9), STCP(0x794a7c12, 0x28e5714b), STCP(0x792a37fe, 0x2944a7a2), STCP(0x7909a92d, 0x29a3c485), STCP(0x78e8cfb2, 0x2a02c7b8), STCP(0x78c7aba2, 0x2a61b101), STCP(0x78a63d11, 0x2ac08026), STCP(0x78848414, 0x2b1f34eb), STCP(0x786280bf, 0x2b7dcf17), STCP(0x78403329, 0x2bdc4e6f), STCP(0x781d9b65, 0x2c3ab2b9), STCP(0x77fab989, 0x2c98fbba), STCP(0x77d78daa, 0x2cf72939), STCP(0x77b417df, 0x2d553afc), STCP(0x7790583e, 0x2db330c7), STCP(0x776c4edb, 0x2e110a62), STCP(0x7747fbce, 0x2e6ec792), STCP(0x77235f2d, 0x2ecc681e), STCP(0x76fe790e, 0x2f29ebcc), STCP(0x76d94989, 0x2f875262), STCP(0x76b3d0b4, 0x2fe49ba7), STCP(0x768e0ea6, 0x3041c761), STCP(0x76680376, 0x309ed556), STCP(0x7641af3d, 0x30fbc54d), STCP(0x761b1211, 0x3158970e), STCP(0x75f42c0b, 0x31b54a5e), STCP(0x75ccfd42, 0x3211df04), STCP(0x75a585cf, 0x326e54c7), STCP(0x757dc5ca, 0x32caab6f), STCP(0x7555bd4c, 0x3326e2c3), STCP(0x752d6c6c, 0x3382fa88), STCP(0x7504d345, 0x33def287), STCP(0x74dbf1ef, 0x343aca87), STCP(0x74b2c884, 0x34968250), STCP(0x7489571c, 0x34f219a8), STCP(0x745f9dd1, 0x354d9057), STCP(0x74359cbd, 0x35a8e625), STCP(0x740b53fb, 0x36041ad9), STCP(0x73e0c3a3, 0x365f2e3b), STCP(0x73b5ebd1, 0x36ba2014), STCP(0x738acc9e, 0x3714f02a), STCP(0x735f6626, 0x376f9e46), STCP(0x7333b883, 0x37ca2a30), STCP(0x7307c3d0, 0x382493b0), STCP(0x72db8828, 0x387eda8e), STCP(0x72af05a7, 0x38d8fe93), STCP(0x72823c67, 0x3932ff87), STCP(0x72552c85, 0x398cdd32), STCP(0x7227d61c, 0x39e6975e), STCP(0x71fa3949, 0x3a402dd2), STCP(0x71cc5626, 0x3a99a057), STCP(0x719e2cd2, 0x3af2eeb7), STCP(0x716fbd68, 0x3b4c18ba), STCP(0x71410805, 0x3ba51e29), STCP(0x71120cc5, 0x3bfdfecd), STCP(0x70e2cbc6, 0x3c56ba70), STCP(0x70b34525, 0x3caf50da), STCP(0x708378ff, 0x3d07c1d6), STCP(0x70536771, 0x3d600d2c), STCP(0x7023109a, 0x3db832a6), STCP(0x6ff27497, 0x3e10320d), STCP(0x6fc19385, 0x3e680b2c), STCP(0x6f906d84, 0x3ebfbdcd), STCP(0x6f5f02b2, 0x3f1749b8), STCP(0x6f2d532c, 0x3f6eaeb8), STCP(0x6efb5f12, 0x3fc5ec98), STCP(0x6ec92683, 0x401d0321), STCP(0x6e96a99d, 0x4073f21d), STCP(0x6e63e87f, 0x40cab958), STCP(0x6e30e34a, 0x4121589b), STCP(0x6dfd9a1c, 0x4177cfb1), STCP(0x6dca0d14, 0x41ce1e65), STCP(0x6d963c54, 0x42244481), STCP(0x6d6227fa, 0x427a41d0), STCP(0x6d2dd027, 0x42d0161e), STCP(0x6cf934fc, 0x4325c135), STCP(0x6cc45698, 0x437b42e1), STCP(0x6c8f351c, 0x43d09aed), STCP(0x6c59d0a9, 0x4425c923), STCP(0x6c242960, 0x447acd50), STCP(0x6bee3f62, 0x44cfa740), STCP(0x6bb812d1, 0x452456bd), STCP(0x6b81a3cd, 0x4578db93), STCP(0x6b4af279, 0x45cd358f), STCP(0x6b13fef5, 0x4621647d), STCP(0x6adcc964, 0x46756828), STCP(0x6aa551e9, 0x46c9405c), STCP(0x6a6d98a4, 0x471cece7), STCP(0x6a359db9, 0x47706d93), STCP(0x69fd614a, 0x47c3c22f), STCP(0x69c4e37a, 0x4816ea86), STCP(0x698c246c, 0x4869e665), STCP(0x69532442, 0x48bcb599), STCP(0x6919e320, 0x490f57ee), STCP(0x68e06129, 0x4961cd33), STCP(0x68a69e81, 0x49b41533), STCP(0x686c9b4b, 0x4a062fbd), STCP(0x683257ab, 0x4a581c9e), STCP(0x67f7d3c5, 0x4aa9dba2), STCP(0x67bd0fbd, 0x4afb6c98), STCP(0x67820bb7, 0x4b4ccf4d), STCP(0x6746c7d8, 0x4b9e0390), STCP(0x670b4444, 0x4bef092d), STCP(0x66cf8120, 0x4c3fdff4), STCP(0x66937e91, 0x4c9087b1), STCP(0x66573cbb, 0x4ce10034), STCP(0x661abbc5, 0x4d31494b), STCP(0x65ddfbd3, 0x4d8162c4), STCP(0x65a0fd0b, 0x4dd14c6e), STCP(0x6563bf92, 0x4e210617), STCP(0x6526438f, 0x4e708f8f), STCP(0x64e88926, 0x4ebfe8a5), STCP(0x64aa907f, 0x4f0f1126), STCP(0x646c59bf, 0x4f5e08e3), STCP(0x642de50d, 0x4faccfab), STCP(0x63ef3290, 0x4ffb654d), STCP(0x63b0426d, 0x5049c999), STCP(0x637114cc, 0x5097fc5e), STCP(0x6331a9d4, 0x50e5fd6d), STCP(0x62f201ac, 0x5133cc94), STCP(0x62b21c7b, 0x518169a5), STCP(0x6271fa69, 0x51ced46e), STCP(0x62319b9d, 0x521c0cc2), STCP(0x61f1003f, 0x5269126e), STCP(0x61b02876, 0x52b5e546), STCP(0x616f146c, 0x53028518), STCP(0x612dc447, 0x534ef1b5), STCP(0x60ec3830, 0x539b2af0), STCP(0x60aa7050, 0x53e73097), STCP(0x60686ccf, 0x5433027d), STCP(0x60262dd6, 0x547ea073), STCP(0x5fe3b38d, 0x54ca0a4b), STCP(0x5fa0fe1f, 0x55153fd4), STCP(0x5f5e0db3, 0x556040e2), STCP(0x5f1ae274, 0x55ab0d46), STCP(0x5ed77c8a, 0x55f5a4d2), STCP(0x5e93dc1f, 0x56400758), STCP(0x5e50015d, 0x568a34a9), STCP(0x5e0bec6e, 0x56d42c99), STCP(0x5dc79d7c, 0x571deefa), STCP(0x5d8314b1, 0x57677b9d), STCP(0x5d3e5237, 0x57b0d256), STCP(0x5cf95638, 0x57f9f2f8), STCP(0x5cb420e0, 0x5842dd54), STCP(0x5c6eb258, 0x588b9140), STCP(0x5c290acc, 0x58d40e8c), STCP(0x5be32a67, 0x591c550e), STCP(0x5b9d1154, 0x59646498), STCP(0x5b56bfbd, 0x59ac3cfd), STCP(0x5b1035cf, 0x59f3de12), STCP(0x5ac973b5, 0x5a3b47ab), STCP(0x5a82799a, 0x5a82799a) }; /** * \brief Lookup-Table for binary logarithm */ const Word16 ldCoeff[7] = { -32768, -16384, -10923, -8192, -6554, -5461, -4681 /* -4096, -3641, -3277 */ }; /** \brief Lookup-Table for binary power algorithm This table is used for lookup 2^x with x in range [0...1.0[ in steps of 1/32 */ const UWord32 exp2_tab_long[32] = { 0x40000000,0x4166C34C,0x42D561B4,0x444C0740, 0x45CAE0F2,0x47521CC6,0x48E1E9BA,0x4A7A77D4, 0x4C1BF829,0x4DC69CDD,0x4F7A9930,0x51382182, 0x52FF6B55,0x54D0AD5A,0x56AC1F75,0x5891FAC1, 0x5A82799A,0x5C7DD7A4,0x5E8451D0,0x60962665, 0x62B39509,0x64DCDEC3,0x6712460B,0x69540EC9, 0x6BA27E65,0x6DFDDBCC,0x70666F76,0x72DC8374, 0x75606374,0x77F25CCE,0x7A92BE8B,0x7D41D96E }; /** \brief Lookup-Table for binary power algorithm This table is used for lookup 2^x with x in range [0...1/32[ in steps of 1/1024 */ const UWord32 exp2w_tab_long[32] = { 0x40000000,0x400B1818,0x4016321B,0x40214E0C, 0x402C6BE9,0x40378BB4,0x4042AD6D,0x404DD113, 0x4058F6A8,0x40641E2B,0x406F479E,0x407A7300, 0x4085A051,0x4090CF92,0x409C00C4,0x40A733E6, 0x40B268FA,0x40BD9FFF,0x40C8D8F5,0x40D413DD, 0x40DF50B8,0x40EA8F86,0x40F5D046,0x410112FA, 0x410C57A2,0x41179E3D,0x4122E6CD,0x412E3152, 0x41397DCC,0x4144CC3B,0x41501CA0,0x415B6EFB }; /** \brief Lookup-Table for binary power algorithm This table is used for lookup 2^x with x in range [0...1/1024[ in steps of 1/32768 */ const UWord32 exp2x_tab_long[32] = { 0x40000000,0x400058B9,0x4000B173,0x40010A2D, 0x400162E8,0x4001BBA3,0x4002145F,0x40026D1B, 0x4002C5D8,0x40031E95,0x40037752,0x4003D011, 0x400428CF,0x4004818E,0x4004DA4E,0x4005330E, 0x40058BCE,0x4005E48F,0x40063D51,0x40069613, 0x4006EED5,0x40074798,0x4007A05B,0x4007F91F, 0x400851E4,0x4008AAA8,0x4009036E,0x40095C33, 0x4009B4FA,0x400A0DC0,0x400A6688,0x400ABF4F }; /* square root tables */ const Word32 SqrtTable[32] = /* Q31 */ { 0x5A82D429, 0x5BEA10FE, 0x5D4BE6E5, 0x5EA89270, 0x60004BE2, 0x615347A1, 0x62A1B68C, 0x63EBC651, 0x6531A1B5, 0x667370D4, 0x67B1595F, 0x68EB7EC8, 0x6A220277, 0x6B5503F0, 0x6C84A0F9, 0x6DB0F5BD, 0x6EDA1CE9, 0x70002FC7, 0x7123465A, 0x72437773, 0x7360D8C5, 0x747B7EFA, 0x75937DC4, 0x76A8E7EB, 0x77BBCF60, 0x78CC4545, 0x79DA5A00, 0x7AE61D3E, 0x7BEF9E07, 0x7CF6EAC2, 0x7DFC113F, 0x7EFF1EC0 }; const Word16 SqrtDiffTable[32] = /* Q21 */ { 0x59CF, 0x5875, 0x572B, 0x55EE, 0x54BF, 0x539C, 0x5284, 0x5177, 0x5074, 0x4F7A, 0x4E89, 0x4DA1, 0x4CC0, 0x4BE7, 0x4B15, 0x4A4A, 0x4985, 0x48C6, 0x480C, 0x4758, 0x46AA, 0x4600, 0x455B, 0x44BA, 0x441D, 0x4385, 0x42F1, 0x4260, 0x41D3, 0x414A, 0x40C3, 0x4040 }; const Word32 ISqrtTable[32] = /* Q31 */ { 0x7FFE7F85, 0x7E0A4E25, 0x7C2C56C7, 0x7A63002C, 0x78ACD922, 0x7708939D, 0x75750088, 0x73F10C2D, 0x727BBB1A, 0x71142774, 0x6FB97EA5, 0x6E6AFF54, 0x6D27F79D, 0x6BEFC388, 0x6AC1CBA4, 0x699D83DA, 0x68826A53, 0x6770068E, 0x6665E882, 0x6563A7DF, 0x6468E364, 0x63754043, 0x62886999, 0x61A20FEE, 0x60C1E8C8, 0x5FE7AE45, 0x5F131EBE, 0x5E43FC76, 0x5D7A0D4F, 0x5CB51A81, 0x5BF4F061, 0x5B395E26 }; const Word16 ISqrtDiffTable[32] = /* Q21 */ { 0x7D0C, 0x777E, 0x7256, 0x6D8A, 0x6911, 0x64E5, 0x60FD, 0x5D54, 0x59E5, 0x56AA, 0x53A0, 0x50C2, 0x4E0D, 0x4B7E, 0x4912, 0x46C6, 0x4499, 0x4288, 0x4090, 0x3EB1, 0x3CE9, 0x3B36, 0x3996, 0x380A, 0x368F, 0x3524, 0x33C9, 0x327C, 0x313D, 0x300B, 0x2EE5, 0x2DCA }; /* 1/x tables */ const Word32 InvTable[32] = /* Q31 */ { 0x7FFBFE40, 0x7C1B608E, 0x78752176, 0x750440BA, 0x71C44C49, 0x6EB14D0A, 0x6BC7B6B4, 0x69045A19, 0x6664598A, 0x63E51EE2, 0x61845308, 0x5F3FD698, 0x5D15BB8E, 0x5B043FD0, 0x5909C861, 0x5724DD3C, 0x555425B2, 0x53966532, 0x51EA787F, 0x504F5331, 0x4EC3FD84, 0x4D479267, 0x4BD93DBE, 0x4A783ADC, 0x4923D31D, 0x47DB5CAE, 0x469E3974, 0x456BD608, 0x4443A8D9, 0x43253159, 0x420FF746, 0x41038A01 }; const Word16 InvDiffTable[32] = /* Q20 */ { 0x7C14, 0x74C8, 0x6E1C, 0x67FF, 0x6260, 0x5D33, 0x586C, 0x5400, 0x4FE7, 0x4C19, 0x4890, 0x4543, 0x422F, 0x3F4F, 0x3C9D, 0x3A17, 0x37B8, 0x357E, 0x3365, 0x316B, 0x2F8D, 0x2DCB, 0x2C20, 0x2A8D, 0x290F, 0x27A4, 0x264C, 0x2506, 0x23CF, 0x22A7, 0x218E, 0x2081 }; /* ACELP pulse coding */ const int low_len[10] = { 0, 0, 8, 5, 7,11,13,15,16,16}; const int low_mask[10] = { 0, 0, 255,31,127,2047,8191,32767,65535,65535}; const int indx_fact[10] = { 0, 0,2,172,345,140,190,223,463,1732}; const int index_len[3] = { 0, 5, 9 }; const int index_mask[3] = { 0,31, 511 };