From 278ba25f43b885a3fd8da55cff33fc8c6a957960 Mon Sep 17 00:00:00 2001 From: Klaus Post Date: Fri, 16 Nov 2018 00:23:56 +0100 Subject: [PATCH] Pre-slice input. --- reedsolomon.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/reedsolomon.go b/reedsolomon.go index 213d0b4..706c437 100644 --- a/reedsolomon.go +++ b/reedsolomon.go @@ -471,12 +471,12 @@ func (r reedSolomon) codeSomeShardsP(matrixRows, inputs, outputs [][]byte, outpu wg.Add(1) go func(start, stop int) { for c := 0; c < r.DataShards; c++ { - in := inputs[c] + in := inputs[c][start:stop] for iRow := 0; iRow < outputCount; iRow++ { if c == 0 { - galMulSlice(matrixRows[iRow][c], in[start:stop], outputs[iRow][start:stop], r.o.useSSSE3, r.o.useAVX2) + galMulSlice(matrixRows[iRow][c], in, outputs[iRow][start:stop], r.o.useSSSE3, r.o.useAVX2) } else { - galMulSliceXor(matrixRows[iRow][c], in[start:stop], outputs[iRow][start:stop], r.o.useSSSE3, r.o.useAVX2) + galMulSliceXor(matrixRows[iRow][c], in, outputs[iRow][start:stop], r.o.useSSSE3, r.o.useAVX2) } } }