Commit graph

11 commits

Author SHA1 Message Date
Ahmet Inan
c810d3fc84 hopefully these names are less confusing 2023-06-09 10:06:34 +02:00
Ahmet Inan
272440d749 better not to be clever here 2023-06-07 12:27:01 +02:00
Ahmet Inan
60b9dbf2c0 we have the - operator now 2023-06-06 23:06:12 +02:00
Ahmet Inan
fe25fb2a69 flatten hot functions 2023-06-05 12:18:27 +02:00
Ahmet Inan
6ec9fcba1a compute constant terms for same row only once 2023-06-05 10:56:41 +02:00
Ahmet Inan
8370e6a51c added SIMD acceleration for GF(2^8) and GF(2^16) 2023-05-09 16:04:32 +02:00
Ahmet Inan
5805246088 added multiply accumulate method 2023-05-08 08:49:14 +02:00
Ahmet Inan
078ae40d83 merged encoder and decoder 2023-05-08 08:12:17 +02:00
Ahmet Inan
f2ebaf4504 allow user to decode block by block 2023-04-28 10:55:46 +02:00
Ahmet Inan
43a0f7a5ec less is more 2023-04-25 09:48:34 +02:00
Ahmet Inan
eb6e002d52 added Cauchy Reed Solomon erasure coding
Read more about the Cauchy matrix:

https://en.wikipedia.org/wiki/Cauchy_matrix

The Art of Computer Programming
Volume 1: Fundamental Algorithms
Donald E. Knuth - 1997
Paragraph 1.2.3: Sums and Products

Page 37, Cauchy's matrix:
$a_{ij} = \frac{1}{x_i + y_j}$

Page 38, Exercise 41:
$b_{ij} = \frac{\prod_{k=1}^{n}{(x_j + y_k)(x_k + y_i)}}{(x_j + y_i)\prod_{k \ne j}^{n}{(x_j - x_k)}\prod_{k \ne i}^{n}{(y_i - y_k)}}$
2023-04-24 13:35:30 +02:00