Commit Graph

35 Commits

Author SHA1 Message Date
Christopher Berner
eafdc58d0a Run cargo clippy --fix 2023-07-03 11:09:19 -07: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
Christopher Berner
83101d6a7c Fix cargo test compilation error 2021-03-18 20:16:19 -07:00
Christopher Berner
eb07e23208 Optimize HDPC generation with recursive calculation
Improves performance on large symbol counts by > 10%
2021-01-17 15:31:47 -08:00
Christopher Berner
f36bf73ca9 Reduce calls to rand() during HDPC generation
Small improvement to performance. Perhaps 1%
2021-01-17 13:09:52 -08:00
Christopher Berner
5d57d3751e Separate binary and octet matrix classes 2020-01-19 11:08:40 -08:00
Christopher Berner
7ad2d331dd Remove dense row support from sparse matrix 2020-01-19 11:08:40 -08:00
Christopher Berner
7f3477d3de Separate HDPC rows from A matrix in PI solver
The HDPC rows are only non-binary values, so store them separately
to allow for more optimizations in the future.
2020-01-19 11:08:40 -08:00
Christopher Berner
647e937c54 Optimize col index handling 2020-01-06 18:27:02 -08:00
Christopher Berner
2bad8466fa Optimize HDPC row storage in sparse matrix 2020-01-06 18:27:02 -08:00
Christopher Berner
5b7f1b7441 Fix remaining Clippy warnings 2019-12-25 12:02:54 -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
b7d921a78b Fix generation of constraint matrix for 1698 and 8837 source symbols
The gamma matrix was being generated incorrectly due to casting
(i - j) to u8 instead of wrapping it to 255 values
2019-12-22 22:48:29 -08:00
Christopher Berner
a0e304a59d Make assertions stricter in Enc[] implementation 2019-12-22 19:15:14 -08:00
Christopher Berner
0ba42236d1 Optimize systematic constant lookups 2019-04-14 13:40:43 -07:00
Christopher Berner
f57bca53bf Optimize constraint matrix generation 2019-04-08 18:15:21 -07:00
Christopher Berner
6c73ee267c Optimize sparse matrix with block dense right side 2019-04-07 15:31:00 -07:00
Christopher Berner
e53e82d785 Fix bad optimization in sparse matrix
Note: setting zero isn't a no-op, since there might be a non-zero value
already
2019-04-07 11:26:33 -07:00
Christopher Berner
5817ec9765 Refactor OctetMatrix into a trait 2019-04-05 21:18:25 -07:00
Luca Bruno
9fe45d6d76 decoder: avoid zero-symbols casts
This replaces zero-symbols casts with statically checked "Into" type
conversions.
2019-03-30 15:57:56 -07:00
Luca Bruno
38df97cce1 raptorq: rustfmt whole project 2019-03-28 21:57:30 -07:00
Christopher Berner
f288654525 Update to 2018 edition 2019-03-22 18:25:07 -07:00
Christopher Berner
a20f894c52 Support extra repair symbols when decoding 2019-02-18 10:34:43 -08:00
Christopher Berner
c5b70b66c7 Replace HashSet with Vec
Improves perf 6%
2019-02-14 21:54:23 -08:00
Christopher Berner
f20204d045 Require borrowing for matmul 2019-02-13 21:39:35 -08:00
Christopher Berner
e9dec4b6c8 Remove From and Into for Octet 2019-02-07 19:06:08 -08:00
Christopher Berner
5fe8ac022d Simplify OctetMatrix::set() 2019-02-07 19:01:22 -08:00
Christopher Berner
73d0419625 Start on more efficient intermediate decoder 2019-01-31 14:31:52 -08:00
Christopher Berner
31ff0bb49c Add additional constraint matrix test 2019-01-30 18:48:13 -08:00
Christopher Berner
33813fccb7 Implement decoding from repair symbols 2019-01-28 17:17:05 -08:00
Christopher Berner
5eeaa5c5cc Refactor constraint matrix for decoding 2019-01-27 10:51:36 -08:00
Christopher Berner
7ba50eb48b Fix various compiler warnings 2019-01-26 22:13:26 -08:00
Christopher Berner
ce04ceb1a8 Implement constraint matrix 2019-01-26 21:35:43 -08:00
Christopher Berner
ad44e2991b Implement octet matrix operations 2019-01-26 19:16:07 -08:00