diff --git a/LeopardFF16.cpp b/LeopardFF16.cpp index f861803..3d78ea3 100644 --- a/LeopardFF16.cpp +++ b/LeopardFF16.cpp @@ -936,7 +936,7 @@ static void FFTInitialize() } } - for (unsigned i = 0; i < kOrder; ++i) + for (unsigned i = 0; i < kModulus; ++i) FFTSkew[i] = LogLUT[FFTSkew[i]]; // Precalculate FWHT(Log[i]): @@ -1057,6 +1057,7 @@ void ReedSolomonEncode( } } + const unsigned last_count = original_count % m; if (m >= original_count) goto skip_body; @@ -1100,7 +1101,6 @@ void ReedSolomonEncode( temp); } - const unsigned last_count = original_count % m; if (last_count != 0) { const unsigned i = original_count - last_count; diff --git a/LeopardFF16.h b/LeopardFF16.h index b36ad84..5695f4a 100644 --- a/LeopardFF16.h +++ b/LeopardFF16.h @@ -67,7 +67,7 @@ static const unsigned kPolynomial = 0x1002D; // Fast Walsh-Hadamard Transform (FWHT) (mod kModulus) // Transform for a variable number of bits (up to kOrder) -void FWHT(ffe_t* data, const unsigned bits); +//void FWHT(ffe_t* data, const unsigned bits); // Transform specialized for the finite field order void FWHT(ffe_t data[kOrder]); diff --git a/LeopardFF8.cpp b/LeopardFF8.cpp index 263bdb8..2a5100d 100644 --- a/LeopardFF8.cpp +++ b/LeopardFF8.cpp @@ -416,7 +416,7 @@ static void FFTInitialize() } } - for (unsigned i = 0; i < kOrder; ++i) + for (unsigned i = 0; i < kModulus; ++i) FFTSkew[i] = LogLUT[FFTSkew[i]]; // Precalculate FWHT(Log[i]): @@ -1421,6 +1421,7 @@ void ReedSolomonEncode( m, skewLUT); + const unsigned last_count = original_count % m; if (m >= original_count) goto skip_body; @@ -1443,7 +1444,6 @@ void ReedSolomonEncode( } // Handle final partial set of m pieces: - const unsigned last_count = original_count % m; if (last_count != 0) { const unsigned i = original_count - last_count; diff --git a/LeopardFF8.h b/LeopardFF8.h index 03d4e06..b520509 100644 --- a/LeopardFF8.h +++ b/LeopardFF8.h @@ -68,7 +68,7 @@ static const unsigned kPolynomial = 0x11D; // Transform for a variable number of elements // m_truncated: Number of elements that are non-zero at the front of data -void FWHT(ffe_t* data, const unsigned m, const unsigned m_truncated); +//void FWHT(ffe_t* data, const unsigned m, const unsigned m_truncated); //------------------------------------------------------------------------------