Inconsistent boundary conditions in function stereo_dft_dequantize_res_gains()
# Basic info - Float reference: - Encoder (float): 9a10acdb8466f56d9f53e21963bd96e32638d6ac - Decoder (float): 9a10acdb8466f56d9f53e21963bd96e32638d6ac - Fixed point: - Encoder (fixed): 8a5f5598741d3f9aa20d0cbb2861be6091fc8ac1 - Decoder (fixed): 8a5f5598741d3f9aa20d0cbb2861be6091fc8ac1 # Issue description In function `stereo_dft_dequantize_res_gains()` two comparisons take place that differ on the boundary value from that of fixed point. In floating point we have: ``` index = ( ( ind1[i] < 15 ? 15 - ind1[i] : ind1[i] - 15 ) << 3 ) + ind2[i]; gout[i] = ind1[i] < 15 ? -dft_res_gains_q[index][0] : dft_res_gains_q[index][0]; ``` but in fixed point: ``` IF( LE_16( ind1[i], 15 ) ) ... IF( LE_16( ind1[i], 15 ) ) ... ``` both implementations should agree on the boundary value `ind1[i] = 15`. Please fix this.
issue