Christopher Berner
36d8fe89d2
Remove wasm support
2023-11-26 07:57:22 -08:00
Christopher Berner
cd1df04d92
Only set no_std when built without the std feature
2023-11-26 07:32:07 -08:00
Slesarew
5a720829fa
feat: support no_std ( #143 )
...
* feat: support no_std
`metal` feature supports `no_std` in configuration `default-features = false, features = ["metal"]`.
Float calculation is done via `micromath` crate.
All previously available functionality remains under default `std` feature.
Some tweaking of `python` and `wasm` features was done to compile tests.
* feat: get rid of floats (#2 )
* feat: remove conversion to f64, fix features
* chore: uncomment symbols_required checker, fmt
* revert: add cdylib target for python support
* fix: generalize crate type
---------
Co-authored-by: varovainen <99664267+varovainen@users.noreply.github.com>
2023-02-02 18:07:41 -08:00
Pavel
02c80b595a
Added wasm build configuration ( #136 )
...
Co-authored-by: Christopher Berner <christopherberner@gmail.com>
2022-10-08 21:08:55 -07:00
Christopher Berner
9a47489160
Enable NEON optimized code path on aarch64
2022-05-16 08:31:45 -07:00
Christopher Berner
95286b9d0b
Make extended_source_block_symbols unconditionally public
2022-02-07 19:10:01 -08:00
Christopher Berner
e3e9d6dcc2
Add NEON optimized implementation for octets::add_assign()
2021-02-14 17:15:40 -08:00
Christopher Berner
3e88b065dd
Optimize graph substep
...
Use a union-find data structure which is incrementally updated, instead
of always recomputing the entire graph
This improves performance by 5-10%
2020-12-26 10:05:53 -08:00
Jonathan Nilsson
a81ca51f41
I need access to the partition function for my decoder and i want to create a encoder from a ObjectTransmissionInformation
2020-10-22 22:49:59 -07:00
Christopher Berner
69246f50b1
Add public function to calculate object to block splits
2020-03-20 22:58:09 -07:00
Christopher Berner
26e8b0e509
Add EncoderBuilder to allow more configuration of encoding
2020-02-24 19:09:23 -08:00
Christopher Berner
6eeeb67f70
Merge Python wrapper crate into main crate
2020-02-22 13:31:16 -08:00
Christopher Berner
ec54f3c838
Replace SourceBlockEncoderCache with SourceBlockEncodingPlan
2020-01-26 10:15:56 -08:00
Anders Martinsson
04786d26fd
Add operation vectors for better encoding performance
...
Using stored operation vectors when generating intermediate symbols make
encoding around three times faster (depends on block size).
Signed-off-by: Anders Martinsson <anders.martinsson@intinor.se>
2020-01-26 10:15:56 -08:00
Christopher Berner
d8d8bc33ec
Optimize dense binary matrix storage to use bitpacking
2020-01-19 11:08:40 -08:00
Christopher Berner
5d57d3751e
Separate binary and octet matrix classes
2020-01-19 11:08:40 -08:00
Christopher Berner
0cecda508c
Split sparse matrix into separate file
2020-01-04 16:12:56 -08:00
Christopher Berner
b42b84a746
Refactor iterators into separate file
2020-01-04 16:12:56 -08:00
Christopher Berner
8f8637be8a
Move SparseVec into separate file
2020-01-04 16:12:56 -08:00
Christopher Berner
ffd6160099
Fix various stylistic Clippy issues
2019-12-25 12:02:54 -08:00
Christopher Berner
c8fd9bcbff
Format code with rustfmt and add format check
2019-12-23 12:04:05 -08:00
Christopher Berner
1cc5502fe2
Expand matrix sparsity benchmark
2019-04-08 20:43:13 -07:00
Christopher Berner
5817ec9765
Refactor OctetMatrix into a trait
2019-04-05 21:18:25 -07:00
Luca Bruno
38df97cce1
raptorq: rustfmt whole project
2019-03-28 21:57:30 -07:00
Christopher Berner
91fa69a130
Gate some public functions with "benchmarking" feature
2019-03-23 14:42:19 -07:00
Christopher Berner
f288654525
Update to 2018 edition
2019-03-22 18:25:07 -07:00
Christopher Berner
91c6745257
Make EncodingPacket public
2019-03-20 17:45:28 -07:00
Christopher Berner
0644794488
Add Encoder and Decoder that can span multiple blocks
2019-02-20 20:52:44 -08:00
Christopher Berner
7c361d698e
Add Object Transmission Information struct
2019-02-18 23:25:56 -08:00
Christopher Berner
ca552aaa55
Move PI solver to separate file
2019-02-18 17:02:54 -08:00
Christopher Berner
2abaab93cb
Restructure bin targets
2019-02-15 21:14:10 -08:00
Christopher Berner
f85d6c5075
Remove excess clone()'ing
...
Improves performance by 15%
2019-02-12 23:04:30 -08:00
Christopher Berner
6853bda256
Add benchmark for first phase row selection
2019-02-10 23:06:19 -08:00
Christopher Berner
1e8ac28bfe
Add ArrayMap class
...
Makes offset code easier to understand, and is more reusable as a
HashMap replacement
2019-02-10 13:44:51 -08:00
Christopher Berner
16949d72b4
Refactor SIMD ops for Symbol to allow reuse
2019-02-07 18:38:51 -08:00
Christopher Berner
f944404b3c
Add Symbol benchmarks
2019-02-03 22:52:43 -08:00
Christopher Berner
d951e7c00c
Add Octet benchmarks
2019-02-03 22:37:30 -08:00
Christopher Berner
623e651615
Implement decoding phase 1
...
However, there are at least two potential bugs with the graph
construction and the calculation of "original degree"
2019-02-02 19:22:39 -08:00
Christopher Berner
ad44e2991b
Implement octet matrix operations
2019-01-26 19:16:07 -08:00
Christopher Berner
8773208cc1
Implement basic arithmetic on symbols
2019-01-24 18:50:46 -08:00
Christopher Berner
44f8a2e75e
Implement RNG and reorganize some code
2019-01-23 21:57:40 -08:00
Christopher Berner
f5e0c1ebe1
Add RNG constants and systematic indices
2019-01-23 21:21:48 -08:00
Christopher Berner
24632695ed
Initial interfaces
2019-01-22 22:53:23 -08:00