1static DSP_STATIC_DATA const q15_t in_com1[256] = { 2 0x0EB1, 0xD7DA, 0xDFC2, 0x2DDA, 0xAEB8, 0x1A8C, 0x34D0, 0xC949, 3 0x19FF, 0x1AFC, 0xD67E, 0x2639, 0x1546, 0xF32D, 0x2A82, 0xB79E, 4 0x1317, 0xEAF2, 0xCBD9, 0xC454, 0x42FD, 0xBB89, 0x9B4F, 0xCE5C, 5 0x09A1, 0xDFC2, 0xD780, 0x2B2C, 0x0FDB, 0xC69C, 0x5D9B, 0xBC82, 6 0x2794, 0xC287, 0x152B, 0xDA69, 0x2BE1, 0xE9BB, 0xD5EE, 0xC7C4, 7 0xBCDA, 0xC828, 0x19B1, 0x5F41, 0x5146, 0x00F0, 0xDEF6, 0x2A44, 8 0xCD0A, 0xE918, 0xF4D0, 0xD863, 0x241F, 0xE030, 0x26F3, 0x1ACB, 9 0x245C, 0x047C, 0x9433, 0x2BF5, 0x2F0F, 0x40E5, 0xC00D, 0x849C, 10 0x215D, 0xDE1B, 0x264A, 0x311D, 0x0C88, 0x1028, 0x2D8F, 0xCE0E, 11 0x1B43, 0x5529, 0x2914, 0xE215, 0x0C95, 0xF727, 0xDF21, 0xD12E, 12 0xBF74, 0xBFB5, 0xC4B0, 0xCDBB, 0xE3D0, 0xFAF9, 0x2579, 0xE9F5, 13 0xE00D, 0xE3B7, 0x2FE5, 0xE7A2, 0xE72C, 0x4C12, 0x156E, 0x03A9, 14 0xE767, 0x14B9, 0x8F36, 0x54D3, 0xF8CF, 0xC5F2, 0xE3E2, 0x3EEB, 15 0x054A, 0x6482, 0x013C, 0xFF6D, 0x078F, 0xA20A, 0xEF63, 0xCBAB, 16 0xC222, 0xA967, 0x3F6B, 0xFAFE, 0x1498, 0xF9D3, 0xC2C3, 0xCD2C, 17 0x1B37, 0xA9E8, 0xF8A4, 0xD3A6, 0xD238, 0x55EC, 0xF7FA, 0x007C, 18 0xC1BF, 0x161F, 0x8000, 0x273D, 0xEEC7, 0xFDDA, 0xD41C, 0x51C4, 19 0x1697, 0x3C98, 0x2E62, 0xC85D, 0x01FF, 0xC356, 0xBCC5, 0xF6C0, 20 0xC2FB, 0x1CC0, 0xC736, 0xED5C, 0x1B3C, 0xCEDC, 0xDC71, 0xD699, 21 0x895A, 0xF44E, 0xFEAB, 0xB470, 0xE176, 0xC915, 0x23AD, 0xDBDE, 22 0x2579, 0xB028, 0xF293, 0xF1D3, 0x2BE9, 0x3FE0, 0x5143, 0x8BB5, 23 0xD9A9, 0xC304, 0x5BE4, 0xBD39, 0xF24A, 0xC721, 0xE044, 0xE5EB, 24 0x3015, 0x22EB, 0x0FC5, 0xF766, 0xCAEC, 0x356E, 0xF105, 0xE3F6, 25 0xC69B, 0xC858, 0x1EF3, 0xD29A, 0xF220, 0x156B, 0x0625, 0xD1BA, 26 0x0DF9, 0x6A80, 0xECF5, 0xBBC4, 0xE8B3, 0x1DBD, 0x27ED, 0x43D5, 27 0x38E0, 0x0942, 0x0DB3, 0x93F4, 0xF640, 0xBC17, 0xFB75, 0xB565, 28 0x39FD, 0x037E, 0x533F, 0x3981, 0x2FC2, 0xA54D, 0x2DAC, 0x403B, 29 0xD1AC, 0x2397, 0x06C3, 0xDD46, 0x9F4C, 0xF716, 0xD4F2, 0xFEEA, 30 0xCE26, 0xF1C9, 0x376E, 0x2D6C, 0x1DA1, 0x1ADF, 0x2DB9, 0x1E02, 31 0xFA30, 0x0633, 0x4356, 0x06F1, 0x0751, 0x2881, 0x1D47, 0x2D8C, 32 0xA430, 0xB60E, 0x9CBD, 0xF925, 0xF90C, 0x235A, 0xDAAC, 0x3B2B, 33 0x112A, 0x8F09, 0x00B9, 0xB234, 0xA386, 0xD619, 0x20AA, 0x5063 34 }; 35 36static DSP_STATIC_DATA const q15_t in_com2[256] = { 37 0xF977, 0xF484, 0xB38D, 0xC049, 0x127F, 0xEE0D, 0x5183, 0x1CFF, 38 0x2EC8, 0x7FFF, 0x44B4, 0xD9AD, 0x4410, 0x27AA, 0x0313, 0xC597, 39 0xA23C, 0xFCF7, 0xF6CA, 0x0540, 0x3DD7, 0x4BA0, 0xCB04, 0x4650, 40 0x5117, 0x0F7A, 0x16B7, 0x0052, 0x04F6, 0xCBB2, 0xD270, 0xFCD5, 41 0xDFF0, 0x389E, 0x2413, 0xD405, 0x08F1, 0xF872, 0xABD2, 0x13D4, 42 0x86AB, 0xDECA, 0xEFE1, 0x04D6, 0x2F20, 0xE4F2, 0x74C9, 0xFAFF, 43 0x1E5B, 0x4BBC, 0xE50F, 0x26A3, 0xF12F, 0x9774, 0x0465, 0x0FE1, 44 0xB3DD, 0xFF6A, 0x2B48, 0xD882, 0xD6B7, 0x077A, 0xE7AC, 0x94B7, 45 0x03BB, 0x2E0B, 0xEE40, 0xED35, 0xEC88, 0x3365, 0x60B5, 0x249E, 46 0x03B7, 0xCCB7, 0xB6E0, 0xB83B, 0xEB34, 0xEC7F, 0xEC20, 0x037F, 47 0x29F7, 0x9EE0, 0x0079, 0xF08C, 0xE025, 0xE064, 0xF44A, 0x28BF, 48 0xDB1A, 0x11F0, 0xFF16, 0x5896, 0x01D3, 0x2546, 0x0D96, 0xE7A4, 49 0xFBAF, 0xC158, 0x1BD0, 0x1349, 0x0F56, 0x3C3A, 0x0971, 0x0144, 50 0x0103, 0xD605, 0x5F13, 0xD660, 0x56D8, 0x281A, 0xCB9C, 0xF087, 51 0x0DF1, 0xE910, 0x00A3, 0xDB1F, 0xEF24, 0xCB3C, 0xFDC3, 0x33BF, 52 0xC071, 0x2387, 0x1D00, 0xFCAB, 0xDEAF, 0xD8BE, 0x50D2, 0xA530, 53 0x3BED, 0x33D0, 0xC7B0, 0x8906, 0x1389, 0x5832, 0x12A8, 0xCD6B, 54 0x3FB1, 0x2AF3, 0x1438, 0x230A, 0x1D37, 0xDBE5, 0xC794, 0xCF49, 55 0xBD1F, 0x0352, 0xDDEF, 0xF71B, 0xF034, 0x69E3, 0xE115, 0xD0FB, 56 0x14C9, 0xF522, 0xDF36, 0xE814, 0xE306, 0x2CE3, 0xDB81, 0x6658, 57 0x02D7, 0x1E97, 0xBA82, 0xEE1A, 0x5C73, 0x2956, 0xBC37, 0xF3FA, 58 0xD52D, 0xFE74, 0xA370, 0xE439, 0x007A, 0x0138, 0xF675, 0xDAB6, 59 0xFB95, 0xE5D5, 0xF490, 0xF4FD, 0x0BD8, 0x58FF, 0xE5FA, 0x1DC2, 60 0x0DB3, 0xD10F, 0x006F, 0xC3FA, 0xE69E, 0xFF03, 0x01C4, 0x2F8A, 61 0xE336, 0x05F5, 0xD870, 0xDF1E, 0x532B, 0x2F9B, 0xED67, 0xB192, 62 0xF663, 0xC955, 0xD832, 0xCB4F, 0x060B, 0x136A, 0x3EC8, 0xCBF4, 63 0xF509, 0x480F, 0x22B4, 0xE9D0, 0x3610, 0x35F0, 0xD66A, 0xC10A, 64 0x3476, 0x0C80, 0x002B, 0xEF29, 0x02A2, 0x8E39, 0xED70, 0x0D5D, 65 0x8AF0, 0x1793, 0x1CD9, 0xE7A7, 0x45C4, 0x422D, 0xCF10, 0x3A84, 66 0xF767, 0xC650, 0xF766, 0xCAA0, 0x2688, 0x1341, 0x3C45, 0x492B, 67 0x01EE, 0x156F, 0x0862, 0x28AF, 0x42C1, 0xE27E, 0x0164, 0x8BC3, 68 0x678D, 0xEECA, 0xCAF7, 0xE0AD, 0x15EB, 0x9059, 0xCAB6, 0xFE6E 69 }; 70 71static DSP_STATIC_DATA const q15_t in_bitwise1[23] = { 72 0xF97D, 0x7E98, 0xE83E, 0x9006, 0x8ECF, 0x82B2, 0x873C, 0xE6D0, 73 0x42C6, 0xA110, 0x7D1E, 0x0CDC, 0xB6CC, 0xB5A5, 0xB245, 0xC19A, 74 0x7B95, 0xB857, 0x3E23, 0xECC1, 0x8AC4, 0xA9A0, 0x7CFF 75 }; 76 77static DSP_STATIC_DATA const q15_t in_bitwise2[23] = { 78 0xABDB, 0x927F, 0x5D5D, 0xF0CC, 0x90C8, 0xE1A9, 0xCACF, 0x2B30, 79 0xEDC4, 0x5AB6, 0x7E72, 0x7867, 0x0B8A, 0x0E28, 0x6421, 0x5673, 80 0x8AE7, 0xF8DC, 0x45A3, 0xF95D, 0x4B42, 0xB9A3, 0x7FE6 81 }; 82 83static DSP_STATIC_DATA const q15_t in_rand[17] = { 84 0x271B, 0xDA32, 0x1348, 0xF2FB, 0x2AAB, 0x011B, 0x04BE, 0xEDA1, 85 0xF82B, 0xF5EC, 0x201A, 0xE56E, 0xE8B7, 0x09B3, 0x1889, 0x15E1, 86 0x00F3 87 }; 88 89static DSP_STATIC_DATA const q15_t in_maxpos[17] = { 90 0x7FFE, 0x0001, 0x7FFE, 0x0001, 0x7FFE, 0x0001, 0x7FFE, 0x0001, 91 0x7FFE, 0x0001, 0x7FFE, 0x0001, 0x7FFE, 0x0001, 0x7FFE, 0x0001, 92 0x7FFE 93 }; 94 95static DSP_STATIC_DATA const q15_t in_maxneg[17] = { 96 0x8001, 0xFFFF, 0x8001, 0xFFFF, 0x8001, 0xFFFF, 0x8001, 0xFFFF, 97 0x8001, 0xFFFF, 0x8001, 0xFFFF, 0x8001, 0xFFFF, 0x8001, 0xFFFF, 98 0x8001 99 }; 100 101static DSP_STATIC_DATA const q15_t in_maxneg2[17] = { 102 0x8000, 0xFFFE, 0x8000, 0xFFFE, 0x8000, 0xFFFE, 0x8000, 0xFFFE, 103 0x8000, 0xFFFE, 0x8000, 0xFFFE, 0x8000, 0xFFFE, 0x8000, 0xFFFE, 104 0x8000 105 }; 106 107static DSP_STATIC_DATA const q15_t in_clip[279] = { 108 0x8CCD, 0x8DA1, 0x8E75, 0x8F49, 0x901D, 0x90F2, 0x91C6, 0x929A, 109 0x936E, 0x9442, 0x9516, 0x95EB, 0x96BF, 0x9793, 0x9867, 0x993B, 110 0x9A0F, 0x9AE4, 0x9BB8, 0x9C8C, 0x9D60, 0x9E34, 0x9F08, 0x9FDD, 111 0xA0B1, 0xA185, 0xA259, 0xA32D, 0xA401, 0xA4D6, 0xA5AA, 0xA67E, 112 0xA752, 0xA826, 0xA8FA, 0xA9CF, 0xAAA3, 0xAB77, 0xAC4B, 0xAD1F, 113 0xADF3, 0xAEC8, 0xAF9C, 0xB070, 0xB144, 0xB218, 0xB2EC, 0xB3C1, 114 0xB495, 0xB569, 0xB63D, 0xB711, 0xB7E5, 0xB8BA, 0xB98E, 0xBA62, 115 0xBB36, 0xBC0A, 0xBCDE, 0xBDB3, 0xBE87, 0xBF5B, 0xC02F, 0xC103, 116 0xC1D7, 0xC2AC, 0xC380, 0xC454, 0xC528, 0xC5FC, 0xC6D0, 0xC7A5, 117 0xC879, 0xC94D, 0xCA21, 0xCAF5, 0xCBC9, 0xCC9E, 0xCD72, 0xCE46, 118 0xCF1A, 0xCFEE, 0xD0C2, 0xD197, 0xD26B, 0xD33F, 0xD413, 0xD4E7, 119 0xD5BB, 0xD690, 0xD764, 0xD838, 0xD90C, 0xD9E0, 0xDAB4, 0xDB89, 120 0xDC5D, 0xDD31, 0xDE05, 0xDED9, 0xDFAD, 0xE082, 0xE156, 0xE22A, 121 0xE2FE, 0xE3D2, 0xE4A6, 0xE57B, 0xE64F, 0xE723, 0xE7F7, 0xE8CB, 122 0xE99F, 0xEA74, 0xEB48, 0xEC1C, 0xECF0, 0xEDC4, 0xEE98, 0xEF6D, 123 0xF041, 0xF115, 0xF1E9, 0xF2BD, 0xF391, 0xF466, 0xF53A, 0xF60E, 124 0xF6E2, 0xF7B6, 0xF88A, 0xF95F, 0xFA33, 0xFB07, 0xFBDB, 0xFCAF, 125 0xFD83, 0xFE58, 0xFF2C, 0x0000, 0x00D4, 0x01A8, 0x027D, 0x0351, 126 0x0425, 0x04F9, 0x05CD, 0x06A1, 0x0776, 0x084A, 0x091E, 0x09F2, 127 0x0AC6, 0x0B9A, 0x0C6F, 0x0D43, 0x0E17, 0x0EEB, 0x0FBF, 0x1093, 128 0x1168, 0x123C, 0x1310, 0x13E4, 0x14B8, 0x158C, 0x1661, 0x1735, 129 0x1809, 0x18DD, 0x19B1, 0x1A85, 0x1B5A, 0x1C2E, 0x1D02, 0x1DD6, 130 0x1EAA, 0x1F7E, 0x2053, 0x2127, 0x21FB, 0x22CF, 0x23A3, 0x2477, 131 0x254C, 0x2620, 0x26F4, 0x27C8, 0x289C, 0x2970, 0x2A45, 0x2B19, 132 0x2BED, 0x2CC1, 0x2D95, 0x2E69, 0x2F3E, 0x3012, 0x30E6, 0x31BA, 133 0x328E, 0x3362, 0x3437, 0x350B, 0x35DF, 0x36B3, 0x3787, 0x385B, 134 0x3930, 0x3A04, 0x3AD8, 0x3BAC, 0x3C80, 0x3D54, 0x3E29, 0x3EFD, 135 0x3FD1, 0x40A5, 0x4179, 0x424D, 0x4322, 0x43F6, 0x44CA, 0x459E, 136 0x4672, 0x4746, 0x481B, 0x48EF, 0x49C3, 0x4A97, 0x4B6B, 0x4C3F, 137 0x4D14, 0x4DE8, 0x4EBC, 0x4F90, 0x5064, 0x5138, 0x520D, 0x52E1, 138 0x53B5, 0x5489, 0x555D, 0x5631, 0x5706, 0x57DA, 0x58AE, 0x5982, 139 0x5A56, 0x5B2A, 0x5BFF, 0x5CD3, 0x5DA7, 0x5E7B, 0x5F4F, 0x6023, 140 0x60F8, 0x61CC, 0x62A0, 0x6374, 0x6448, 0x651C, 0x65F1, 0x66C5, 141 0x6799, 0x686D, 0x6941, 0x6A15, 0x6AEA, 0x6BBE, 0x6C92, 0x6D66, 142 0x6E3A, 0x6F0E, 0x6FE3, 0x70B7, 0x718B, 0x725F, 0x7333 143 }; 144 145static const q15_t ref_add[256] = { 146 0x0827, 0xCC5E, 0x934F, 0xEE23, 0xC137, 0x0899, 0x7FFF, 0xE647, 147 0x48C7, 0x7FFF, 0x1B32, 0xFFE7, 0x5956, 0x1AD7, 0x2D96, 0x8000, 148 0xB553, 0xE7E9, 0xC2A3, 0xC994, 0x7FFF, 0x072A, 0x8000, 0x14AC, 149 0x5AB8, 0xEF3B, 0xEE37, 0x2B7E, 0x14D1, 0x924E, 0x300B, 0xB957, 150 0x0784, 0xFB26, 0x393E, 0xAE6E, 0x34D3, 0xE22D, 0x81C0, 0xDB98, 151 0x8000, 0xA6F2, 0x0992, 0x6417, 0x7FFF, 0xE5E2, 0x53BF, 0x2543, 152 0xEB65, 0x34D3, 0xD9DF, 0xFF06, 0x154E, 0x8000, 0x2B58, 0x2AAC, 153 0xD839, 0x03E6, 0xBF7B, 0x0477, 0x05C7, 0x485F, 0xA7B9, 0x8000, 154 0x2518, 0x0C26, 0x148A, 0x1E53, 0xF910, 0x438D, 0x7FFF, 0xF2AD, 155 0x1EFA, 0x21E0, 0xDFF5, 0x9A50, 0xF7C9, 0xE3A5, 0xCB41, 0xD4AD, 156 0xE96C, 0x8000, 0xC529, 0xBE46, 0xC3F5, 0xDB5D, 0x19C2, 0x12B5, 157 0xBB27, 0xF5A7, 0x2EFA, 0x4038, 0xE8FF, 0x7159, 0x2304, 0xEB4D, 158 0xE317, 0xD611, 0xAB06, 0x681C, 0x0825, 0x022B, 0xED53, 0x402F, 159 0x064D, 0x3A86, 0x6050, 0xD5CD, 0x5E68, 0xCA23, 0xBAFF, 0xBC32, 160 0xD013, 0x9277, 0x400E, 0xD61D, 0x03BC, 0xC50F, 0xC086, 0x00EB, 161 0xDBA8, 0xCD6F, 0x15A4, 0xD051, 0xB0E7, 0x2EAA, 0x48CC, 0xA5AC, 162 0xFDAC, 0x49EF, 0x8000, 0xB044, 0x0250, 0x560C, 0xE6C4, 0x1F2F, 163 0x5648, 0x678B, 0x429A, 0xEB67, 0x1F37, 0x9F3B, 0x8458, 0xC609, 164 0x801A, 0x2012, 0xA525, 0xE477, 0x0B71, 0x38BF, 0xBD86, 0xA794, 165 0x9E23, 0xE970, 0xDDE1, 0x9C84, 0xC47B, 0xF5F8, 0xFF2E, 0x4237, 166 0x2851, 0xCEBF, 0xAD15, 0xDFED, 0x7FFF, 0x6936, 0x0D7A, 0x8000, 167 0xAED7, 0xC178, 0xFF54, 0xA172, 0xF2C4, 0xC859, 0xD6B9, 0xC0A1, 168 0x2BAA, 0x08C0, 0x0455, 0xEC63, 0xD6C4, 0x7FFF, 0xD6FF, 0x01B8, 169 0xD44E, 0x9968, 0x1F62, 0x9693, 0xD8BE, 0x146E, 0x07E9, 0x0143, 170 0xF12F, 0x7075, 0xC565, 0x9AE2, 0x3BDE, 0x4D58, 0x1554, 0xF567, 171 0x2F43, 0xD297, 0xE5E5, 0x8000, 0xFC4B, 0xCF81, 0x3A3C, 0x8158, 172 0x2F06, 0x4B8E, 0x75F2, 0x2351, 0x65D3, 0xDB3E, 0x0417, 0x0145, 173 0x0623, 0x3017, 0x06EE, 0xCC6F, 0xA1ED, 0x854F, 0xC262, 0x0C47, 174 0x8000, 0x095C, 0x5447, 0x1513, 0x6365, 0x5D0C, 0xFCC9, 0x5886, 175 0xF197, 0xCC83, 0x3ABC, 0xD191, 0x2DD9, 0x3BC2, 0x598C, 0x76B7, 176 0xA61E, 0xCB7E, 0xA51F, 0x21D4, 0x3BCD, 0x05D8, 0xDC10, 0xC6EE, 177 0x78B7, 0x8000, 0xCBB0, 0x92E1, 0xB971, 0x8000, 0xEB5F, 0x4ED1 178 }; 179 180static const q15_t ref_add_possat[17] = { 181 0x7FFF, 0x0002, 0x7FFF, 0x0002, 0x7FFF, 0x0002, 0x7FFF, 0x0002, 182 0x7FFF, 0x0002, 0x7FFF, 0x0002, 0x7FFF, 0x0002, 0x7FFF, 0x0002, 183 0x7FFF 184 }; 185 186static const q15_t ref_add_negsat[17] = { 187 0x8000, 0xFFFE, 0x8000, 0xFFFE, 0x8000, 0xFFFE, 0x8000, 0xFFFE, 188 0x8000, 0xFFFE, 0x8000, 0xFFFE, 0x8000, 0xFFFE, 0x8000, 0xFFFE, 189 0x8000 190 }; 191 192static const q15_t ref_sub[256] = { 193 0x153A, 0xE356, 0x2C35, 0x6D91, 0x9C39, 0x2C7F, 0xE34D, 0xAC4A, 194 0xEB37, 0x9AFC, 0x91CA, 0x4C8C, 0xD136, 0xCB83, 0x276F, 0xF207, 195 0x70DB, 0xEDFB, 0xD50F, 0xBF14, 0x0526, 0x8000, 0xD04B, 0x880D, 196 0xB88A, 0xD048, 0xC0C9, 0x2ADA, 0x0AE5, 0xFAEA, 0x7FFF, 0xBFAC, 197 0x47A4, 0x89E9, 0xF118, 0x0664, 0x22F0, 0xF148, 0x2A1B, 0xB3F0, 198 0x3630, 0xE95E, 0x29D1, 0x5A6A, 0x2226, 0x1BFE, 0x8000, 0x2F45, 199 0xAEAF, 0x9D5C, 0x0FC1, 0xB1C0, 0x32F0, 0x48BC, 0x228D, 0x0AEA, 200 0x707F, 0x0512, 0x8000, 0x5372, 0x5858, 0x396B, 0xD861, 0xEFE5, 201 0x1DA3, 0xB00F, 0x380B, 0x43E8, 0x2000, 0xDCC4, 0xCCDB, 0xA970, 202 0x178C, 0x7FFF, 0x7234, 0x29DA, 0x2162, 0x0AA8, 0xF301, 0xCDAE, 203 0x957D, 0x20D5, 0xC437, 0xDD2F, 0x03AC, 0x1A96, 0x312F, 0xC136, 204 0x04F3, 0xD1C8, 0x30CF, 0x8F0C, 0xE559, 0x26CC, 0x07D8, 0x1C05, 205 0xEBB8, 0x5361, 0x8000, 0x418A, 0xE978, 0x89B8, 0xDA71, 0x3DA7, 206 0x0447, 0x7FFF, 0xA229, 0x290C, 0xB0B7, 0x8000, 0x23C7, 0xDB24, 207 0xB432, 0xC057, 0x3EC8, 0x1FDF, 0x2574, 0x2E97, 0xC500, 0x996C, 208 0x5AC6, 0x8662, 0xDBA5, 0xD6FC, 0xF389, 0x7D2F, 0xA729, 0x5B4D, 209 0x85D2, 0xE250, 0xB850, 0x7FFF, 0xDB3D, 0xA5A7, 0xC174, 0x7FFF, 210 0xD6E5, 0x11A6, 0x1A2A, 0xA553, 0xE4C8, 0xE772, 0xF531, 0x2777, 211 0x05DC, 0x196E, 0xE947, 0xF641, 0x2B08, 0x8000, 0xFB5B, 0x059E, 212 0x8000, 0xFF2C, 0x1F75, 0xCC5C, 0xFE70, 0x9C33, 0x482C, 0x8000, 213 0x22A2, 0x9190, 0x3810, 0x03B9, 0xCF75, 0x168A, 0x7FFF, 0x97BB, 214 0x047C, 0xC490, 0x7FFF, 0xD900, 0xF1D0, 0xC5E9, 0xE9CF, 0x0B35, 215 0x3480, 0x3D16, 0x1B35, 0x0269, 0xBF14, 0xDC6F, 0x0B0C, 0xC635, 216 0xB8E8, 0xF749, 0x1E85, 0x0EA0, 0x0B82, 0x1668, 0x0461, 0xA230, 217 0x2AC4, 0x648A, 0x1485, 0xDCA6, 0x9587, 0xEE22, 0x3A86, 0x7FFF, 218 0x427D, 0x3FEC, 0x3582, 0xC8A5, 0xF035, 0xA8AE, 0xBCAD, 0xE971, 219 0x44F5, 0xBB6F, 0x308B, 0x4FB1, 0xF9B2, 0x8000, 0x5742, 0x7F30, 220 0x9D36, 0x1718, 0x0698, 0xEE1E, 0x9CAA, 0x68DD, 0xE782, 0xF18D, 221 0x4335, 0xDA36, 0x1A95, 0x45C5, 0xD7DD, 0xD8B2, 0x5EA9, 0xE37D, 222 0x02C8, 0x3FE3, 0x4BF0, 0x3C51, 0xE0C8, 0x1540, 0xE102, 0xE461, 223 0xA242, 0xA09F, 0x945B, 0xD076, 0xB64A, 0x40DC, 0xD948, 0x7FFF, 224 0xA99D, 0xA03F, 0x35C2, 0xD188, 0x8D9B, 0x45C0, 0x55F4, 0x51F5 225 }; 226 227static const q15_t ref_sub_possat[17] = { 228 0x7FFF, 0x0002, 0x7FFF, 0x0002, 0x7FFF, 0x0002, 0x7FFF, 0x0002, 229 0x7FFF, 0x0002, 0x7FFF, 0x0002, 0x7FFF, 0x0002, 0x7FFF, 0x0002, 230 0x7FFF 231 }; 232 233static const q15_t ref_sub_negsat[17] = { 234 0x8000, 0xFFFE, 0x8000, 0xFFFE, 0x8000, 0xFFFE, 0x8000, 0xFFFE, 235 0x8000, 0xFFFE, 0x8000, 0xFFFE, 0x8000, 0xFFFE, 0x8000, 0xFFFE, 236 0x8000 237 }; 238 239static const q15_t ref_mult[256] = { 240 0xFF40, 0x039A, 0x1342, 0xE92D, 0xF441, 0xFC47, 0x21A2, 0xF39B, 241 0x0980, 0x1AFC, 0xE9B9, 0xF48E, 0x0B50, 0xFC07, 0x0105, 0x2108, 242 0xF204, 0x0080, 0x03C1, 0xFD8E, 0x205D, 0xD78D, 0x29AE, 0xE4BC, 243 0x061A, 0xFC1A, 0xF8D0, 0x001C, 0x009D, 0x1774, 0xDEAE, 0x01AC, 244 0xF616, 0xE4CF, 0x05F7, 0x0CEB, 0x0311, 0x0150, 0x1BAB, 0xF74A, 245 0x3FA6, 0x0E7D, 0xFCC4, 0x039A, 0x1DEC, 0xFFCD, 0xE1DC, 0xFE59, 246 0xF3EA, 0xF272, 0x025B, 0xF40B, 0xFBD2, 0x19FB, 0x0156, 0x0353, 247 0xEA60, 0xFFFB, 0xDB8D, 0xF270, 0xF0D2, 0x03CA, 0x0C28, 0x676B, 248 0x00F9, 0xF3CF, 0xFAB1, 0xF8CA, 0xFE18, 0x067D, 0x226C, 0xF1B6, 249 0x00CB, 0xDDE1, 0xE888, 0x10C6, 0xFDF5, 0x0159, 0x051B, 0xFEB8, 250 0xEAD7, 0x30C9, 0xFFC8, 0x0612, 0x0704, 0x013E, 0xFC92, 0xF8FC, 251 0x0936, 0xFC09, 0xFFA8, 0xEF23, 0xFFA5, 0x1627, 0x0246, 0xFF4E, 252 0x00D4, 0xF5DB, 0xE77E, 0x0CC8, 0xFF23, 0xE4AF, 0xFDED, 0x009F, 253 0x000B, 0xDF09, 0x00EB, 0x0030, 0x0521, 0xE290, 0x06CD, 0x0653, 254 0xF943, 0x0F84, 0x0051, 0x0171, 0xFD4A, 0x028C, 0x0112, 0xEB73, 255 0xF27C, 0xE81B, 0xFE55, 0x0128, 0x0BEB, 0xE5A5, 0xFAEF, 0xFFA8, 256 0xE2DB, 0x08F4, 0x3850, 0xDB87, 0xFD5F, 0xFE85, 0xF99A, 0xDFB0, 257 0x0B3D, 0x1455, 0x0754, 0xF0C5, 0x0075, 0x111D, 0x1DA3, 0x0385, 258 0x1FE2, 0x00BF, 0x0F1D, 0x014C, 0xFCA4, 0xD759, 0x0897, 0x0F36, 259 0xECBC, 0x00FE, 0x0057, 0x0E1F, 0x06EA, 0xECBE, 0xF5D4, 0xE31C, 260 0x00D5, 0xECEB, 0x074A, 0x01FC, 0x1FB7, 0x14A1, 0xD4F7, 0x0AED, 261 0x0CD4, 0x00BD, 0xBD8D, 0x0E7E, 0xFFF3, 0xFF75, 0x025E, 0x0799, 262 0xFE57, 0xF8DD, 0xFE97, 0x00BD, 0xFB17, 0x2526, 0x030C, 0xF97B, 263 0xF9DB, 0x1469, 0x001B, 0x154A, 0x02C0, 0xFFD6, 0x0016, 0xEED0, 264 0xFCDB, 0x04F5, 0x05E3, 0x1187, 0xF0DC, 0x0B0F, 0xFA33, 0xD66F, 265 0xFBBB, 0xFC0C, 0xFBBD, 0x2C7A, 0xFF8A, 0xF5B3, 0xFDC5, 0x1E56, 266 0xFB08, 0x01F7, 0x1692, 0xF608, 0x142C, 0xD9C8, 0xF129, 0xE068, 267 0xED03, 0x037A, 0x0002, 0x0492, 0xFE03, 0x07EC, 0x063E, 0xFFE3, 268 0x2D98, 0xFD62, 0x0C7E, 0xF75C, 0x1026, 0x0DE4, 0xEE85, 0x0DB8, 269 0x0064, 0xFD35, 0xFB7A, 0xFD1B, 0x0234, 0x0618, 0x0DC9, 0x1A09, 270 0xFE9E, 0xF39E, 0xF980, 0xFDD2, 0xFC5F, 0xF7DA, 0xFF98, 0xCA45, 271 0x0DE3, 0x0F30, 0xFFB3, 0x130A, 0xF02A, 0x248D, 0xF267, 0xFF03 272 }; 273 274static const q15_t ref_mult_possat[17] = { 275 0x7FFF, 0x0000, 0x7FFF, 0x0000, 0x7FFF, 0x0000, 0x7FFF, 0x0000, 276 0x7FFF, 0x0000, 0x7FFF, 0x0000, 0x7FFF, 0x0000, 0x7FFF, 0x0000, 277 0x7FFF 278 }; 279 280static const q15_t ref_negate[256] = { 281 0xF14F, 0x2826, 0x203E, 0xD226, 0x5148, 0xE574, 0xCB30, 0x36B7, 282 0xE601, 0xE504, 0x2982, 0xD9C7, 0xEABA, 0x0CD3, 0xD57E, 0x4862, 283 0xECE9, 0x150E, 0x3427, 0x3BAC, 0xBD03, 0x4477, 0x64B1, 0x31A4, 284 0xF65F, 0x203E, 0x2880, 0xD4D4, 0xF025, 0x3964, 0xA265, 0x437E, 285 0xD86C, 0x3D79, 0xEAD5, 0x2597, 0xD41F, 0x1645, 0x2A12, 0x383C, 286 0x4326, 0x37D8, 0xE64F, 0xA0BF, 0xAEBA, 0xFF10, 0x210A, 0xD5BC, 287 0x32F6, 0x16E8, 0x0B30, 0x279D, 0xDBE1, 0x1FD0, 0xD90D, 0xE535, 288 0xDBA4, 0xFB84, 0x6BCD, 0xD40B, 0xD0F1, 0xBF1B, 0x3FF3, 0x7B64, 289 0xDEA3, 0x21E5, 0xD9B6, 0xCEE3, 0xF378, 0xEFD8, 0xD271, 0x31F2, 290 0xE4BD, 0xAAD7, 0xD6EC, 0x1DEB, 0xF36B, 0x08D9, 0x20DF, 0x2ED2, 291 0x408C, 0x404B, 0x3B50, 0x3245, 0x1C30, 0x0507, 0xDA87, 0x160B, 292 0x1FF3, 0x1C49, 0xD01B, 0x185E, 0x18D4, 0xB3EE, 0xEA92, 0xFC57, 293 0x1899, 0xEB47, 0x70CA, 0xAB2D, 0x0731, 0x3A0E, 0x1C1E, 0xC115, 294 0xFAB6, 0x9B7E, 0xFEC4, 0x0093, 0xF871, 0x5DF6, 0x109D, 0x3455, 295 0x3DDE, 0x5699, 0xC095, 0x0502, 0xEB68, 0x062D, 0x3D3D, 0x32D4, 296 0xE4C9, 0x5618, 0x075C, 0x2C5A, 0x2DC8, 0xAA14, 0x0806, 0xFF84, 297 0x3E41, 0xE9E1, 0x7FFF, 0xD8C3, 0x1139, 0x0226, 0x2BE4, 0xAE3C, 298 0xE969, 0xC368, 0xD19E, 0x37A3, 0xFE01, 0x3CAA, 0x433B, 0x0940, 299 0x3D05, 0xE340, 0x38CA, 0x12A4, 0xE4C4, 0x3124, 0x238F, 0x2967, 300 0x76A6, 0x0BB2, 0x0155, 0x4B90, 0x1E8A, 0x36EB, 0xDC53, 0x2422, 301 0xDA87, 0x4FD8, 0x0D6D, 0x0E2D, 0xD417, 0xC020, 0xAEBD, 0x744B, 302 0x2657, 0x3CFC, 0xA41C, 0x42C7, 0x0DB6, 0x38DF, 0x1FBC, 0x1A15, 303 0xCFEB, 0xDD15, 0xF03B, 0x089A, 0x3514, 0xCA92, 0x0EFB, 0x1C0A, 304 0x3965, 0x37A8, 0xE10D, 0x2D66, 0x0DE0, 0xEA95, 0xF9DB, 0x2E46, 305 0xF207, 0x9580, 0x130B, 0x443C, 0x174D, 0xE243, 0xD813, 0xBC2B, 306 0xC720, 0xF6BE, 0xF24D, 0x6C0C, 0x09C0, 0x43E9, 0x048B, 0x4A9B, 307 0xC603, 0xFC82, 0xACC1, 0xC67F, 0xD03E, 0x5AB3, 0xD254, 0xBFC5, 308 0x2E54, 0xDC69, 0xF93D, 0x22BA, 0x60B4, 0x08EA, 0x2B0E, 0x0116, 309 0x31DA, 0x0E37, 0xC892, 0xD294, 0xE25F, 0xE521, 0xD247, 0xE1FE, 310 0x05D0, 0xF9CD, 0xBCAA, 0xF90F, 0xF8AF, 0xD77F, 0xE2B9, 0xD274, 311 0x5BD0, 0x49F2, 0x6343, 0x06DB, 0x06F4, 0xDCA6, 0x2554, 0xC4D5, 312 0xEED6, 0x70F7, 0xFF47, 0x4DCC, 0x5C7A, 0x29E7, 0xDF56, 0xAF9D 313 }; 314 315static const q15_t ref_negate_possat[17] = { 316 0x7FFF, 0x0002, 0x7FFF, 0x0002, 0x7FFF, 0x0002, 0x7FFF, 0x0002, 317 0x7FFF, 0x0002, 0x7FFF, 0x0002, 0x7FFF, 0x0002, 0x7FFF, 0x0002, 318 0x7FFF 319 }; 320 321static const q15_t ref_offset[256] = { 322 0x4EB1, 0x17DA, 0x1FC2, 0x6DDA, 0xEEB8, 0x5A8C, 0x74D0, 0x0949, 323 0x59FF, 0x5AFC, 0x167E, 0x6639, 0x5546, 0x332D, 0x6A82, 0xF79E, 324 0x5317, 0x2AF2, 0x0BD9, 0x0454, 0x7FFF, 0xFB89, 0xDB4F, 0x0E5C, 325 0x49A1, 0x1FC2, 0x1780, 0x6B2C, 0x4FDB, 0x069C, 0x7FFF, 0xFC82, 326 0x6794, 0x0287, 0x552B, 0x1A69, 0x6BE1, 0x29BB, 0x15EE, 0x07C4, 327 0xFCDA, 0x0828, 0x59B1, 0x7FFF, 0x7FFF, 0x40F0, 0x1EF6, 0x6A44, 328 0x0D0A, 0x2918, 0x34D0, 0x1863, 0x641F, 0x2030, 0x66F3, 0x5ACB, 329 0x645C, 0x447C, 0xD433, 0x6BF5, 0x6F0F, 0x7FFF, 0x000D, 0xC49C, 330 0x615D, 0x1E1B, 0x664A, 0x711D, 0x4C88, 0x5028, 0x6D8F, 0x0E0E, 331 0x5B43, 0x7FFF, 0x6914, 0x2215, 0x4C95, 0x3727, 0x1F21, 0x112E, 332 0xFF74, 0xFFB5, 0x04B0, 0x0DBB, 0x23D0, 0x3AF9, 0x6579, 0x29F5, 333 0x200D, 0x23B7, 0x6FE5, 0x27A2, 0x272C, 0x7FFF, 0x556E, 0x43A9, 334 0x2767, 0x54B9, 0xCF36, 0x7FFF, 0x38CF, 0x05F2, 0x23E2, 0x7EEB, 335 0x454A, 0x7FFF, 0x413C, 0x3F6D, 0x478F, 0xE20A, 0x2F63, 0x0BAB, 336 0x0222, 0xE967, 0x7F6B, 0x3AFE, 0x5498, 0x39D3, 0x02C3, 0x0D2C, 337 0x5B37, 0xE9E8, 0x38A4, 0x13A6, 0x1238, 0x7FFF, 0x37FA, 0x407C, 338 0x01BF, 0x561F, 0xC000, 0x673D, 0x2EC7, 0x3DDA, 0x141C, 0x7FFF, 339 0x5697, 0x7C98, 0x6E62, 0x085D, 0x41FF, 0x0356, 0xFCC5, 0x36C0, 340 0x02FB, 0x5CC0, 0x0736, 0x2D5C, 0x5B3C, 0x0EDC, 0x1C71, 0x1699, 341 0xC95A, 0x344E, 0x3EAB, 0xF470, 0x2176, 0x0915, 0x63AD, 0x1BDE, 342 0x6579, 0xF028, 0x3293, 0x31D3, 0x6BE9, 0x7FE0, 0x7FFF, 0xCBB5, 343 0x19A9, 0x0304, 0x7FFF, 0xFD39, 0x324A, 0x0721, 0x2044, 0x25EB, 344 0x7015, 0x62EB, 0x4FC5, 0x3766, 0x0AEC, 0x756E, 0x3105, 0x23F6, 345 0x069B, 0x0858, 0x5EF3, 0x129A, 0x3220, 0x556B, 0x4625, 0x11BA, 346 0x4DF9, 0x7FFF, 0x2CF5, 0xFBC4, 0x28B3, 0x5DBD, 0x67ED, 0x7FFF, 347 0x78E0, 0x4942, 0x4DB3, 0xD3F4, 0x3640, 0xFC17, 0x3B75, 0xF565, 348 0x79FD, 0x437E, 0x7FFF, 0x7981, 0x6FC2, 0xE54D, 0x6DAC, 0x7FFF, 349 0x11AC, 0x6397, 0x46C3, 0x1D46, 0xDF4C, 0x3716, 0x14F2, 0x3EEA, 350 0x0E26, 0x31C9, 0x776E, 0x6D6C, 0x5DA1, 0x5ADF, 0x6DB9, 0x5E02, 351 0x3A30, 0x4633, 0x7FFF, 0x46F1, 0x4751, 0x6881, 0x5D47, 0x6D8C, 352 0xE430, 0xF60E, 0xDCBD, 0x3925, 0x390C, 0x635A, 0x1AAC, 0x7B2B, 353 0x512A, 0xCF09, 0x40B9, 0xF234, 0xE386, 0x1619, 0x60AA, 0x7FFF 354 }; 355 356static const q15_t ref_offset_possat[17] = { 357 0x7FFF, 0x7334, 0x7FFF, 0x7334, 0x7FFF, 0x7334, 0x7FFF, 0x7334, 358 0x7FFF, 0x7334, 0x7FFF, 0x7334, 0x7FFF, 0x7334, 0x7FFF, 0x7334, 359 0x7FFF 360 }; 361 362static const q15_t ref_offset_negsat[17] = { 363 0x8000, 0x8CCC, 0x8000, 0x8CCC, 0x8000, 0x8CCC, 0x8000, 0x8CCC, 364 0x8000, 0x8CCC, 0x8000, 0x8CCC, 0x8000, 0x8CCC, 0x8000, 0x8CCC, 365 0x8000 366 }; 367 368static const q15_t ref_scale[256] = { 369 0x0758, 0xEBED, 0xEFE1, 0x16ED, 0xD75C, 0x0D46, 0x1A68, 0xE4A4, 370 0x0D00, 0x0D7E, 0xEB3F, 0x131D, 0x0AA3, 0xF996, 0x1541, 0xDBCF, 371 0x098B, 0xF579, 0xE5ED, 0xE22A, 0x217E, 0xDDC5, 0xCDA7, 0xE72E, 372 0x04D0, 0xEFE1, 0xEBC0, 0x1596, 0x07ED, 0xE34E, 0x2ECE, 0xDE41, 373 0x13CA, 0xE144, 0x0A95, 0xED34, 0x15F1, 0xF4DD, 0xEAF7, 0xE3E2, 374 0xDE6D, 0xE414, 0x0CD9, 0x2FA0, 0x28A3, 0x0078, 0xEF7B, 0x1522, 375 0xE685, 0xF48C, 0xFA68, 0xEC32, 0x120F, 0xF018, 0x1379, 0x0D65, 376 0x122E, 0x023E, 0xCA1A, 0x15FA, 0x1788, 0x2073, 0xE007, 0xC24E, 377 0x10AF, 0xEF0D, 0x1325, 0x188F, 0x0644, 0x0814, 0x16C8, 0xE707, 378 0x0DA1, 0x2A94, 0x148A, 0xF10A, 0x064B, 0xFB93, 0xEF90, 0xE897, 379 0xDFBA, 0xDFDA, 0xE258, 0xE6DD, 0xF1E8, 0xFD7D, 0x12BC, 0xF4FB, 380 0xF007, 0xF1DC, 0x17F2, 0xF3D1, 0xF396, 0x2609, 0x0AB7, 0x01D4, 381 0xF3B4, 0x0A5C, 0xC79B, 0x2A6A, 0xFC67, 0xE2F9, 0xF1F1, 0x1F75, 382 0x02A5, 0x3241, 0x009E, 0xFFB6, 0x03C8, 0xD105, 0xF7B1, 0xE5D5, 383 0xE111, 0xD4B3, 0x1FB5, 0xFD7F, 0x0A4C, 0xFCEA, 0xE161, 0xE696, 384 0x0D9C, 0xD4F4, 0xFC52, 0xE9D3, 0xE91C, 0x2AF6, 0xFBFD, 0x003E, 385 0xE0DF, 0x0B10, 0xC000, 0x139F, 0xF763, 0xFEED, 0xEA0E, 0x28E2, 386 0x0B4B, 0x1E4C, 0x1731, 0xE42E, 0x0100, 0xE1AB, 0xDE62, 0xFB60, 387 0xE17E, 0x0E60, 0xE39B, 0xF6AE, 0x0D9E, 0xE76E, 0xEE38, 0xEB4C, 388 0xC4AD, 0xFA27, 0xFF56, 0xDA38, 0xF0BB, 0xE48B, 0x11D7, 0xEDEF, 389 0x12BD, 0xD814, 0xF949, 0xF8E9, 0x15F4, 0x1FF0, 0x28A2, 0xC5DA, 390 0xECD5, 0xE182, 0x2DF2, 0xDE9D, 0xF925, 0xE390, 0xF022, 0xF2F6, 391 0x180B, 0x1175, 0x07E2, 0xFBB3, 0xE576, 0x1AB7, 0xF883, 0xF1FB, 392 0xE34E, 0xE42C, 0x0F7A, 0xE94D, 0xF910, 0x0AB6, 0x0313, 0xE8DD, 393 0x06FD, 0x3540, 0xF67B, 0xDDE2, 0xF459, 0x0EDE, 0x13F7, 0x21EB, 394 0x1C70, 0x04A1, 0x06DA, 0xC9FA, 0xFB20, 0xDE0C, 0xFDBA, 0xDAB2, 395 0x1CFF, 0x01BF, 0x299F, 0x1CC0, 0x17E1, 0xD2A7, 0x16D6, 0x201D, 396 0xE8D6, 0x11CC, 0x0361, 0xEEA3, 0xCFA6, 0xFB8B, 0xEA79, 0xFF75, 397 0xE713, 0xF8E4, 0x1BB7, 0x16B6, 0x0ED1, 0x0D6F, 0x16DC, 0x0F01, 398 0xFD18, 0x0319, 0x21AB, 0x0378, 0x03A8, 0x1441, 0x0EA4, 0x16C6, 399 0xD218, 0xDB07, 0xCE5E, 0xFC93, 0xFC86, 0x11AD, 0xED56, 0x1D96, 400 0x0895, 0xC784, 0x005C, 0xD91A, 0xD1C3, 0xEB0D, 0x1055, 0x2832 401 }; 402 403static const q15_t ref_scale_possat[17] = { 404 0x7FFF, 0x0002, 0x7FFF, 0x0002, 0x7FFF, 0x0002, 0x7FFF, 0x0002, 405 0x7FFF, 0x0002, 0x7FFF, 0x0002, 0x7FFF, 0x0002, 0x7FFF, 0x0002, 406 0x7FFF 407 }; 408 409static const q63_t ref_dot_prod_3[1] = { 410 0x0000000008B96063 411 }; 412 413static const q63_t ref_dot_prod_4[1] = { 414 0x00000000189A5933 415 }; 416 417static const q63_t ref_dot_prod_4n1[1] = { 418 0x00000000234F66AE 419 }; 420 421static const q63_t ref_dot_prod_long[1] = { 422 0x000000001C245239 423 }; 424 425static const q15_t ref_abs[256] = { 426 0x0EB1, 0x2826, 0x203E, 0x2DDA, 0x5148, 0x1A8C, 0x34D0, 0x36B7, 427 0x19FF, 0x1AFC, 0x2982, 0x2639, 0x1546, 0x0CD3, 0x2A82, 0x4862, 428 0x1317, 0x150E, 0x3427, 0x3BAC, 0x42FD, 0x4477, 0x64B1, 0x31A4, 429 0x09A1, 0x203E, 0x2880, 0x2B2C, 0x0FDB, 0x3964, 0x5D9B, 0x437E, 430 0x2794, 0x3D79, 0x152B, 0x2597, 0x2BE1, 0x1645, 0x2A12, 0x383C, 431 0x4326, 0x37D8, 0x19B1, 0x5F41, 0x5146, 0x00F0, 0x210A, 0x2A44, 432 0x32F6, 0x16E8, 0x0B30, 0x279D, 0x241F, 0x1FD0, 0x26F3, 0x1ACB, 433 0x245C, 0x047C, 0x6BCD, 0x2BF5, 0x2F0F, 0x40E5, 0x3FF3, 0x7B64, 434 0x215D, 0x21E5, 0x264A, 0x311D, 0x0C88, 0x1028, 0x2D8F, 0x31F2, 435 0x1B43, 0x5529, 0x2914, 0x1DEB, 0x0C95, 0x08D9, 0x20DF, 0x2ED2, 436 0x408C, 0x404B, 0x3B50, 0x3245, 0x1C30, 0x0507, 0x2579, 0x160B, 437 0x1FF3, 0x1C49, 0x2FE5, 0x185E, 0x18D4, 0x4C12, 0x156E, 0x03A9, 438 0x1899, 0x14B9, 0x70CA, 0x54D3, 0x0731, 0x3A0E, 0x1C1E, 0x3EEB, 439 0x054A, 0x6482, 0x013C, 0x0093, 0x078F, 0x5DF6, 0x109D, 0x3455, 440 0x3DDE, 0x5699, 0x3F6B, 0x0502, 0x1498, 0x062D, 0x3D3D, 0x32D4, 441 0x1B37, 0x5618, 0x075C, 0x2C5A, 0x2DC8, 0x55EC, 0x0806, 0x007C, 442 0x3E41, 0x161F, 0x7FFF, 0x273D, 0x1139, 0x0226, 0x2BE4, 0x51C4, 443 0x1697, 0x3C98, 0x2E62, 0x37A3, 0x01FF, 0x3CAA, 0x433B, 0x0940, 444 0x3D05, 0x1CC0, 0x38CA, 0x12A4, 0x1B3C, 0x3124, 0x238F, 0x2967, 445 0x76A6, 0x0BB2, 0x0155, 0x4B90, 0x1E8A, 0x36EB, 0x23AD, 0x2422, 446 0x2579, 0x4FD8, 0x0D6D, 0x0E2D, 0x2BE9, 0x3FE0, 0x5143, 0x744B, 447 0x2657, 0x3CFC, 0x5BE4, 0x42C7, 0x0DB6, 0x38DF, 0x1FBC, 0x1A15, 448 0x3015, 0x22EB, 0x0FC5, 0x089A, 0x3514, 0x356E, 0x0EFB, 0x1C0A, 449 0x3965, 0x37A8, 0x1EF3, 0x2D66, 0x0DE0, 0x156B, 0x0625, 0x2E46, 450 0x0DF9, 0x6A80, 0x130B, 0x443C, 0x174D, 0x1DBD, 0x27ED, 0x43D5, 451 0x38E0, 0x0942, 0x0DB3, 0x6C0C, 0x09C0, 0x43E9, 0x048B, 0x4A9B, 452 0x39FD, 0x037E, 0x533F, 0x3981, 0x2FC2, 0x5AB3, 0x2DAC, 0x403B, 453 0x2E54, 0x2397, 0x06C3, 0x22BA, 0x60B4, 0x08EA, 0x2B0E, 0x0116, 454 0x31DA, 0x0E37, 0x376E, 0x2D6C, 0x1DA1, 0x1ADF, 0x2DB9, 0x1E02, 455 0x05D0, 0x0633, 0x4356, 0x06F1, 0x0751, 0x2881, 0x1D47, 0x2D8C, 456 0x5BD0, 0x49F2, 0x6343, 0x06DB, 0x06F4, 0x235A, 0x2554, 0x3B2B, 457 0x112A, 0x70F7, 0x00B9, 0x4DCC, 0x5C7A, 0x29E7, 0x20AA, 0x5063 458 }; 459 460static const q15_t ref_shift[17] = { 461 0x4E37, 0xB463, 0x268F, 0xE5F5, 0x5555, 0x0235, 0x097C, 0xDB43, 462 0xF056, 0xEBD9, 0x4034, 0xCADC, 0xD16D, 0x1367, 0x3113, 0x2BC3, 463 0x01E6 464 }; 465 466static const q15_t ref_shift_possat[17] = { 467 0x7FFF, 0x0002, 0x7FFF, 0x0002, 0x7FFF, 0x0002, 0x7FFF, 0x0002, 468 0x7FFF, 0x0002, 0x7FFF, 0x0002, 0x7FFF, 0x0002, 0x7FFF, 0x0002, 469 0x7FFF 470 }; 471 472static const q15_t ref_shift_negsat[17] = { 473 0x8000, 0xFFFE, 0x8000, 0xFFFE, 0x8000, 0xFFFE, 0x8000, 0xFFFE, 474 0x8000, 0xFFFE, 0x8000, 0xFFFE, 0x8000, 0xFFFE, 0x8000, 0xFFFE, 475 0x8000 476 }; 477 478static const uint16_t ref_and[23] = { 479 0xA959, 0x1218, 0x481C, 0x9004, 0x80C8, 0x80A0, 0x820C, 0x2210, 480 0x40C4, 0x0010, 0x7C12, 0x0844, 0x0288, 0x0420, 0x2001, 0x4012, 481 0x0A85, 0xB854, 0x0423, 0xE841, 0x0A40, 0xA9A0, 0x7CE6 482 }; 483 484static const uint16_t ref_or[23] = { 485 0xFBFF, 0xFEFF, 0xFD7F, 0xF0CE, 0x9ECF, 0xE3BB, 0xCFFF, 0xEFF0, 486 0xEFC6, 0xFBB6, 0x7F7E, 0x7CFF, 0xBFCE, 0xBFAD, 0xF665, 0xD7FB, 487 0xFBF7, 0xF8DF, 0x7FA3, 0xFDDD, 0xCBC6, 0xB9A3, 0x7FFF 488 }; 489 490static const uint16_t ref_not[23] = { 491 0x0682, 0x8167, 0x17C1, 0x6FF9, 0x7130, 0x7D4D, 0x78C3, 0x192F, 492 0xBD39, 0x5EEF, 0x82E1, 0xF323, 0x4933, 0x4A5A, 0x4DBA, 0x3E65, 493 0x846A, 0x47A8, 0xC1DC, 0x133E, 0x753B, 0x565F, 0x8300 494 }; 495 496static const uint16_t ref_xor[23] = { 497 0x52A6, 0xECE7, 0xB563, 0x60CA, 0x1E07, 0x631B, 0x4DF3, 0xCDE0, 498 0xAF02, 0xFBA6, 0x036C, 0x74BB, 0xBD46, 0xBB8D, 0xD664, 0x97E9, 499 0xF172, 0x408B, 0x7B80, 0x159C, 0xC186, 0x1003, 0x0319 500 }; 501 502static const q15_t ref_clip1[263] = { 503 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 504 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 505 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 506 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 507 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 508 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 509 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 510 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC02F, 0xC103, 511 0xC1D7, 0xC2AC, 0xC380, 0xC454, 0xC528, 0xC5FC, 0xC6D0, 0xC7A5, 512 0xC879, 0xC94D, 0xCA21, 0xCAF5, 0xCBC9, 0xCC9E, 0xCD72, 0xCE46, 513 0xCF1A, 0xCFEE, 0xD0C2, 0xD197, 0xD26B, 0xD33F, 0xD413, 0xD4E7, 514 0xD5BB, 0xD690, 0xD764, 0xD838, 0xD90C, 0xD9E0, 0xDAB4, 0xDB89, 515 0xDC5D, 0xDD31, 0xDE05, 0xDED9, 0xDFAD, 0xE082, 0xE156, 0xE22A, 516 0xE2FE, 0xE3D2, 0xE4A6, 0xE57B, 0xE64F, 0xE723, 0xE7F7, 0xE8CB, 517 0xE99F, 0xEA74, 0xEB48, 0xEC1C, 0xECF0, 0xEDC4, 0xEE98, 0xEF6D, 518 0xF041, 0xF115, 0xF1E9, 0xF2BD, 0xF333, 0xF333, 0xF333, 0xF333, 519 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 520 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 521 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 522 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 523 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 524 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 525 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 526 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 527 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 528 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 529 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 530 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 531 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 532 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 533 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 534 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 535 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333 536 }; 537 538static const q15_t ref_clip2[272] = { 539 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 540 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 541 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 542 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 543 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 544 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 545 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 546 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC02F, 0xC103, 547 0xC1D7, 0xC2AC, 0xC380, 0xC454, 0xC528, 0xC5FC, 0xC6D0, 0xC7A5, 548 0xC879, 0xC94D, 0xCA21, 0xCAF5, 0xCBC9, 0xCC9E, 0xCD72, 0xCE46, 549 0xCF1A, 0xCFEE, 0xD0C2, 0xD197, 0xD26B, 0xD33F, 0xD413, 0xD4E7, 550 0xD5BB, 0xD690, 0xD764, 0xD838, 0xD90C, 0xD9E0, 0xDAB4, 0xDB89, 551 0xDC5D, 0xDD31, 0xDE05, 0xDED9, 0xDFAD, 0xE082, 0xE156, 0xE22A, 552 0xE2FE, 0xE3D2, 0xE4A6, 0xE57B, 0xE64F, 0xE723, 0xE7F7, 0xE8CB, 553 0xE99F, 0xEA74, 0xEB48, 0xEC1C, 0xECF0, 0xEDC4, 0xEE98, 0xEF6D, 554 0xF041, 0xF115, 0xF1E9, 0xF2BD, 0xF391, 0xF466, 0xF53A, 0xF60E, 555 0xF6E2, 0xF7B6, 0xF88A, 0xF95F, 0xFA33, 0xFB07, 0xFBDB, 0xFCAF, 556 0xFD83, 0xFE58, 0xFF2C, 0x0000, 0x00D4, 0x01A8, 0x027D, 0x0351, 557 0x0425, 0x04F9, 0x05CD, 0x06A1, 0x0776, 0x084A, 0x091E, 0x09F2, 558 0x0AC6, 0x0B9A, 0x0C6F, 0x0D43, 0x0E17, 0x0EEB, 0x0FBF, 0x1093, 559 0x1168, 0x123C, 0x1310, 0x13E4, 0x14B8, 0x158C, 0x1661, 0x1735, 560 0x1809, 0x18DD, 0x19B1, 0x1A85, 0x1B5A, 0x1C2E, 0x1D02, 0x1DD6, 561 0x1EAA, 0x1F7E, 0x2053, 0x2127, 0x21FB, 0x22CF, 0x23A3, 0x2477, 562 0x254C, 0x2620, 0x26F4, 0x27C8, 0x289C, 0x2970, 0x2A45, 0x2B19, 563 0x2BED, 0x2CC1, 0x2D95, 0x2E69, 0x2F3E, 0x3012, 0x30E6, 0x31BA, 564 0x328E, 0x3362, 0x3437, 0x350B, 0x35DF, 0x36B3, 0x3787, 0x385B, 565 0x3930, 0x3A04, 0x3AD8, 0x3BAC, 0x3C80, 0x3D54, 0x3E29, 0x3EFD, 566 0x3FD1, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 567 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 568 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 569 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 570 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 571 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 572 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000 573 }; 574 575static const q15_t ref_clip3[279] = { 576 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 577 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 578 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 579 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 580 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 581 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 582 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 583 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 584 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 585 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 586 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 587 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 588 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 589 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 590 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 591 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 592 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 593 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 594 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 595 0x0CCD, 0x0CCD, 0x0CCD, 0x0D43, 0x0E17, 0x0EEB, 0x0FBF, 0x1093, 596 0x1168, 0x123C, 0x1310, 0x13E4, 0x14B8, 0x158C, 0x1661, 0x1735, 597 0x1809, 0x18DD, 0x19B1, 0x1A85, 0x1B5A, 0x1C2E, 0x1D02, 0x1DD6, 598 0x1EAA, 0x1F7E, 0x2053, 0x2127, 0x21FB, 0x22CF, 0x23A3, 0x2477, 599 0x254C, 0x2620, 0x26F4, 0x27C8, 0x289C, 0x2970, 0x2A45, 0x2B19, 600 0x2BED, 0x2CC1, 0x2D95, 0x2E69, 0x2F3E, 0x3012, 0x30E6, 0x31BA, 601 0x328E, 0x3362, 0x3437, 0x350B, 0x35DF, 0x36B3, 0x3787, 0x385B, 602 0x3930, 0x3A04, 0x3AD8, 0x3BAC, 0x3C80, 0x3D54, 0x3E29, 0x3EFD, 603 0x3FD1, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 604 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 605 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 606 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 607 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 608 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 609 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 610 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000 611 }; 612 613