process the remaining elements in scale channel

This commit is contained in:
francescomani
2025-09-25 14:50:37 +02:00
parent 89004ef241
commit c88b7bac72
@@ -445,10 +445,17 @@ void nr_scale_channel(int size, int ch_estimates_ext[][size], int symb, uint32_t
for (int l = 0; l < nrOfLayers; l++) {
for (int aarx = 0; aarx < nb_rx; aarx++) {
simde__m128i *ul_ch128 = (simde__m128i *)&ch_estimates_ext[l * nb_rx + aarx][symb * len];
for (int i = 0; i < len >> 2; i++) {
int loop_end = len >> 2;
for (int i = 0; i < loop_end; i++) {
ul_ch128[i] = simde_mm_mulhi_epi16(ul_ch128[i], ch_amp128);
ul_ch128[i] = simde_mm_slli_epi16(ul_ch128[i], b);
}
// loop for the remaining elements
int start_index = loop_end * 4;
for (int j = start_index; j < len; j++) {
c16_t *temp = ((c16_t *)ul_ch128) + j;
*temp = c16Shift(*temp, b);
}
}
}
}