Decoding bug fixes #42

This commit is contained in:
Harshavardhana
2014-11-29 14:58:40 -08:00
parent 5e0c5089e6
commit 4d7c1e3b68
8 changed files with 116 additions and 85 deletions

View File

@@ -13,37 +13,36 @@
//
// Encoding data may be performed in 3 steps.
//
// 1. Create a validated set of encoder parameters
// 1. Create a parse set of encoder parameters
// 2. Create a new encoder
// 3. Encode data
//
// Decoding data is also performed in 3 steps.
//
// 1. Create a validated set of encoder parameters
// 1. Create a parse set of encoder parameters for validation
// 2. Create a new encoder
// 3. Decode data
//
// Encoder parameters contain four configurable elements:
// ValidateParams(k, m, w, technique int) (EncoderParams, error)
// ParseEncoderParams(k, m, technique int) (EncoderParams, error)
// k - Number of rows in matrix
// m - Number of colums in matrix
// w - Word size, typically 8 or aligned by 8.
// technique - Matrix type, can be either CAUCHY (recommended) or VANDERMONDE
// constraints: k + m < 256
// constraints: k + m < Galois Field (2^8)
//
// Example
//
//
// Creating and using an encoder
// var bytes []byte
// params := erasure.ValidateParams(10,5, 8, erasure.CAUCHY)
// params := erasure.ParseEncoderParams(10, 5, erasure.CAUCHY)
// encoder := erasure.NewEncoder(params)
// encodedData, length := encoder.Encode(bytes)
//
// Creating and using a decoder
// var encodedData [][]byte
// var length int
// params := erasure.ValidateParams(10,5, 8, erasure.CAUCHY)
// params := erasure.ParseEncoderParams(10, 5, erasure.CAUCHY)
// encoder := erasure.NewEncoder(params)
// originalData, err := encoder.Decode(encodedData, length)
package erasure