Skip to content

A naive, shitty rust implementation of the Reed-Solomon erasure codes algorithm

Notifications You must be signed in to change notification settings

lonerapier/shittyrs-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ShittyRS-rs

Implementation of the Reed-Solomon erasure codes algorithm in the most shittiest, wrong way possible. Don't read this, implement it yourself, it's surprisingly easy (not decoding bruh) and that's the beauty of this algorithm.

Warning

This might be the worst rust code you ever read, so proceed forward with caution. Kind reader, if you want to scold me anytime about this shitty code, please open an issue.

This is an attempt to understand one of the most widely used algorithm in the history and learn some Abstract algebra, number theory and rust along the way. It's a toy port of the amazing python implementation. This blog post from Russ Cox, and wikiversity article are one of the best resources out there to understand this legendary algorithm. I'll try to write my own post sometime in the future.

There are much performat and mature implementations out there, if you need it for production purposes. (I'm honored you arrived here).

TODO

  • Implement Field and Polynomial traits.
  • create a struct of field::elem and then implement traits on that, eg: addassign, subassign, etc.
  • write tests for traits
  • implement gf_16 backend
  • Implement Berklemassamp decoding algorithm
  • Implement FFT based encoding/decoding
  • Implement montgomery backend

Acknowledgments

About

A naive, shitty rust implementation of the Reed-Solomon erasure codes algorithm

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages