Skip to content

Commit ed57051

Browse files
committed
rearranged layered decoder to make SCMS work
1 parent 163fdc9 commit ed57051

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

layered_decoder.hh

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,15 +59,16 @@ class LDPCDecoder
5959
else if (j)
6060
inp[cnt+1] = out[cnt+1] = alg.sub(parity[j+(q-1)*M-1], bl[cnt+1]);
6161
alg.finalp(out, deg);
62+
for (int d = 0; d < deg; ++d)
63+
alg.update(bl+d, out[d]);
6264
for (int c = 0; c < cnt; ++c)
63-
data[pos[CNL*(M*i+j)+c]] = alg.add(inp[c], out[c]);
64-
parity[M*i+j] = alg.add(inp[cnt], out[cnt]);
65+
data[pos[CNL*(M*i+j)+c]] = alg.add(inp[c], bl[c]);
66+
parity[M*i+j] = alg.add(inp[cnt], bl[cnt]);
6567
if (i)
66-
parity[M*(i-1)+j] = alg.add(inp[cnt+1], out[cnt+1]);
68+
parity[M*(i-1)+j] = alg.add(inp[cnt+1], bl[cnt+1]);
6769
else if (j)
68-
parity[j+(q-1)*M-1] = alg.add(inp[cnt+1], out[cnt+1]);
69-
for (int d = 0; d < deg; ++d)
70-
alg.update(bl++, out[d]);
70+
parity[j+(q-1)*M-1] = alg.add(inp[cnt+1], bl[cnt+1]);
71+
bl += deg;
7172
}
7273
}
7374
}

0 commit comments

Comments
 (0)