1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-08-14 23:43:43 -04:00

ldpctool: Remove VLAs from LogDomainSPA

Replace variable length arrays in LogDomainSPA::finalp() with
std::vector buffers.

This removes reliance on compiler VLA extensions while preserving the
existing contiguous temporary buffer layout.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
This commit is contained in:
Robin Getz
2026-08-01 13:53:10 -04:00
parent 7e26f86aa6
commit e4561aeb77
@@ -589,13 +589,15 @@ struct LogDomainSPA
}
static void finalp(TYPE *links, int cnt)
{
TYPE mags[cnt], sums[cnt];
std::vector<TYPE> mags(cnt);
std::vector<TYPE> sums(cnt);
std::vector<TYPE> signs(cnt);
for (int i = 0; i < cnt; ++i)
mags[i] = phi(std::abs(links[i]));
CODE::exclusive_reduce(mags, sums, cnt, add);
TYPE signs[cnt];
CODE::exclusive_reduce(links, signs, cnt, sign);
CODE::exclusive_reduce(mags.data(), sums.data(), cnt, add);
CODE::exclusive_reduce(links, signs.data(), cnt, sign);
for (int i = 0; i < cnt; ++i)
links[i] = sign(phi(sums[i]), signs[i]);