From 43a0f7a5ece729c6064c7aa454344d007195ffc2 Mon Sep 17 00:00:00 2001 From: Ahmet Inan Date: Tue, 25 Apr 2023 09:48:34 +0200 Subject: [PATCH] less is more --- cauchy_reed_solomon_erasure_coding.hh | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/cauchy_reed_solomon_erasure_coding.hh b/cauchy_reed_solomon_erasure_coding.hh index 703d5c3..b7a1e65 100644 --- a/cauchy_reed_solomon_erasure_coding.hh +++ b/cauchy_reed_solomon_erasure_coding.hh @@ -54,23 +54,14 @@ struct CauchyReedSolomonDecoder IndexType inverse_cauchy_matrix(const ValueType *rows, int i, int j, int n) { ValueType col_i(ValueType::N - i); - IndexType prod_xy(0); + IndexType prod_xy(0), prod_x(0), prod_y(0); for (int k = 0; k < n; k++) { ValueType col_k(ValueType::N - k); prod_xy *= index(rows[j] + col_k) * index(rows[k] + col_i); - } - IndexType prod_x(0); - for (int k = 0; k < n; k++) { - if (k != j) { + if (k != j) prod_x *= index(rows[j] + rows[k]); - } - } - IndexType prod_y(0); - for (int k = 0; k < n; k++) { - if (k != i) { - ValueType col_k(ValueType::N - k); + if (k != i) prod_y *= index(col_i + col_k); - } } return prod_xy / (index(rows[j] + col_i) * prod_x * prod_y); }