add TODO for usage

This commit is contained in:
Dmitriy Ryajov 2022-03-27 14:46:42 -06:00
parent 1f0861815f
commit 16818fcd3b
No known key found for this signature in database
GPG Key ID: DA8C680CE7C657A4

View File

@ -76,57 +76,7 @@ So, on macOS, when running `nimble test` of nim-leopard or compiling a project t
## Usage
```nim
import leopard
# Initialize Leopard-RS
leoInit()
var
N: Positive
data: seq[seq[byte]]
# RS(256,239) :: 239 data symbols, 17 parity symbols
assert RS(256,239).data == 239
assert RS(256,239).parity == 17
# Choose some N for symbolBytes
N = 1
# For RS(256,239) fill data such that
assert data.len == 239
for i in data: assert i.len == N * 64
# Encode
let
parityData = RS(256,239).encode data
assert parityData.isOk
assert parityData.get.len == 17
# Poke up to 17 holes total in data and parityData
var
daWithHoles = data
paWithHoles = parityData.get
daWithHoles[9] = @[]
daWithHoles[53] = @[]
daWithHoles[208] = @[]
# ...
paWithHoles[1] = @[]
paWithHoles[4] = @[]
# ...
# Decode
let
recoveredData = RS(256,239).decode(daWithHoles, paWithHoles, (N * 64).uint)
if recoveredData.isOk:
assert recoveredData.get == data
assert recoveredData.get != daWithHoles
else:
# More than 17 holes were poked
assert recoveredData.error.code == LeopardNeedMoreData
```
TODO
### OpenMP