From 8f5d8d42aeb688a22533e9bc8538cdcddbbc63e4 Mon Sep 17 00:00:00 2001 From: Ahmet Inan Date: Mon, 23 Sep 2019 13:07:38 +0200 Subject: [PATCH] renamed finalp() to cnp() and changed args --- ldpc_decoder.hh | 18 +++++++++--------- ldpc_decoder2.hh | 18 +++++++++--------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/ldpc_decoder.hh b/ldpc_decoder.hh index bd47d0a..f767a7e 100644 --- a/ldpc_decoder.hh +++ b/ldpc_decoder.hh @@ -64,12 +64,12 @@ class LDPCDecoder { return orr(eor(a, b), vdup(127)); } - static void finalp(TYPE *links, int cnt) + static void cnp(TYPE *out, const TYPE *inp, int cnt) { auto beta = vunsigned(vdup(BETA)); TYPE mags[cnt]; for (int i = 0; i < cnt; ++i) - mags[i] = vsigned(vqsub(vunsigned(vqabs(links[i])), beta)); + mags[i] = vsigned(vqsub(vunsigned(vqabs(inp[i])), beta)); TYPE mins[2]; mins[0] = vmin(mags[0], mags[1]); @@ -79,12 +79,12 @@ class LDPCDecoder mins[0] = vmin(mins[0], mags[i]); } - TYPE signs = links[0]; + TYPE signs = inp[0]; for (int i = 1; i < cnt; ++i) - signs = eor(signs, links[i]); + signs = eor(signs, inp[i]); for (int i = 0; i < cnt; ++i) - links[i] = vsign(other(mags[i], mins[0], mins[1]), mine(signs, links[i])); + out[i] = vsign(other(mags[i], mins[0], mins[1]), mine(signs, inp[i])); } static TYPE rotate(TYPE a, int s) { @@ -166,10 +166,10 @@ class LDPCDecoder mes[c] = rotate(msg[offset[c]/D+shift[c]%W], -shift[c]/W); TYPE inp[deg], out[deg]; for (int c = 0; c < cnt; ++c) - inp[c] = out[c] = vqsub(mes[c], bl[c]); - inp[cnt] = out[cnt] = vqsub(par[0], bl[cnt]); - inp[cnt+1] = out[cnt+1] = vqsub(par[1], bl[cnt+1]); - finalp(out, deg); + inp[c] = vqsub(mes[c], bl[c]); + inp[cnt] = vqsub(par[0], bl[cnt]); + inp[cnt+1] = vqsub(par[1], bl[cnt+1]); + cnp(out, inp, deg); for (int c = 0; c < cnt; ++c) mes[c] = vqadd(inp[c], out[c]); par[0] = vqadd(inp[cnt], out[cnt]); diff --git a/ldpc_decoder2.hh b/ldpc_decoder2.hh index bc81ee5..5a7f6d4 100644 --- a/ldpc_decoder2.hh +++ b/ldpc_decoder2.hh @@ -66,12 +66,12 @@ class LDPCDecoder { return orr(eor(a, b), vdup(127)); } - static void finalp(TYPE *links, int cnt) + static void cnp(TYPE *out, const TYPE *inp, int cnt) { auto beta = vunsigned(vdup(BETA)); TYPE mags[cnt]; for (int i = 0; i < cnt; ++i) - mags[i] = vsigned(vqsub(vunsigned(vqabs(links[i])), beta)); + mags[i] = vsigned(vqsub(vunsigned(vqabs(inp[i])), beta)); TYPE mins[2]; mins[0] = vmin(mags[0], mags[1]); @@ -81,12 +81,12 @@ class LDPCDecoder mins[0] = vmin(mins[0], mags[i]); } - TYPE signs = links[0]; + TYPE signs = inp[0]; for (int i = 1; i < cnt; ++i) - signs = eor(signs, links[i]); + signs = eor(signs, inp[i]); for (int i = 0; i < cnt; ++i) - links[i] = vsign(other(mags[i], mins[0], mins[1]), mine(signs, links[i])); + out[i] = vsign(other(mags[i], mins[0], mins[1]), mine(signs, inp[i])); } static TYPE rotate(TYPE a, int s) { @@ -162,10 +162,10 @@ class LDPCDecoder mes[c] = rotate(msg[of[c]], -sh[c]); TYPE inp[deg], out[deg]; for (int c = 0; c < cnt; ++c) - inp[c] = out[c] = vqsub(mes[c], bl[c]); - inp[cnt] = out[cnt] = vqsub(par[0], bl[cnt]); - inp[cnt+1] = out[cnt+1] = vqsub(par[1], bl[cnt+1]); - finalp(out, deg); + inp[c] = vqsub(mes[c], bl[c]); + inp[cnt] = vqsub(par[0], bl[cnt]); + inp[cnt+1] = vqsub(par[1], bl[cnt+1]); + cnp(out, inp, deg); for (int c = 0; c < cnt; ++c) mes[c] = vqadd(inp[c], out[c]); par[0] = vqadd(inp[cnt], out[cnt]);