error uint/int mixed in loops

This commit is contained in:
Laurent THOMAS
2025-04-04 16:04:05 +02:00
committed by Robert Schmidt
parent 5cabc74527
commit 990414572a
@@ -292,42 +292,33 @@ static inline void nr_polar_deinterleaver(uint8_t *input, uint8_t *output, uint1
* De-interleaving of coded bits implementation * De-interleaving of coded bits implementation
* TS 138.212: Section 5.4.1.3 - Interleaving of coded bits * TS 138.212: Section 5.4.1.3 - Interleaving of coded bits
*/ */
static inline void nr_polar_rm_deinterleaving_lut(uint16_t *out, const int E) static inline void nr_polar_rm_deinterleaving_lut(uint16_t *out, const uint E)
{ {
int16_t in[E]; uint T = ceil((sqrt(8 * E + 1) - 1) / 2);
for (uint i = 0; i < E; i++)
in[i] = i; bool v_tab[T][T];
int T = ceil((sqrt(8 * E + 1) - 1) / 2); memset(v_tab, false, sizeof(v_tab));
int v_tab[T][T]; for (uint i = 0, k = 0; i < T; i++) {
memset(v_tab, 0, sizeof(v_tab)); for (uint j = 0; j < T - i; j++, k++) {
uint k = 0; v_tab[i][j] = k < E;
for (int i = 0; i < T; i++) {
for (int j = 0; j < T - i; j++) {
if (k < E) {
v_tab[i][j] = k + 1;
}
k++;
} }
} }
int v[T][T]; int v[T][T];
k = 0; memset(v, -1, sizeof(v));
for (int j = 0; j < T; j++) { for (uint j = 0, k = 0; j < T; j++) {
for (int i = 0; i < T - j; i++) { for (uint i = 0; i < T - j; i++) {
if (k < E && v_tab[i][j] != 0) { if (k < E && v_tab[i][j]) {
v[i][j] = in[k]; v[i][j] = k;
k++; k++;
} else {
v[i][j] = INT_MAX;
} }
} }
} }
k = 0;
memset(out, 0, E * sizeof(*out)); memset(out, 0, E * sizeof(*out));
for (int i = 0; i < T; i++) { for (uint i = 0, k = 0; i < T; i++) {
for (int j = 0; j < T - i; j++) { for (uint j = 0; j < T - i; j++) {
if (v[i][j] != INT_MAX) { if (v[i][j] != -1) {
out[k] = v[i][j]; out[k] = v[i][j];
k++; k++;
} }