Commit Graph

475 Commits

Author SHA1 Message Date
Christopher Berner
8b462f5c83 Optimize processing of U matrix
Optimize Phases 2-5 to avoid writes to the first i columns.
Additionally, use pre-computed ops from first phase to implement third &
fifth phases

This improves encoding performance by ~15%, especially on large symbol
counts
2020-11-27 21:36:17 -08:00
Christopher Berner
ebe5404d14 Document additional errata
These can be used to optimize the third and fifth phases
2020-11-27 21:36:17 -08:00
Christopher Berner
a3fc1500b5 Switch to Github CI 2020-11-26 08:23:44 -08:00
Christopher Berner
a96272a0c7 Remove useless cfg guard 2020-11-23 20:00:42 -08:00
AnthonyMikh
4a6ddf1c26 Avoid bounds checking in loop
Slicing `src` checks bounds only once instead of on every iteration of loop.
2020-10-26 19:33:34 -07:00
Christopher Berner
4bf46ec16b Upgrade primal and pyo3 dependencies 2020-10-24 11:26:33 -07:00
Christopher Berner
30bfeaf273 Add deps.rs badge 2020-10-24 10:42:02 -07:00
Christopher Berner
dd628addeb Always update docker image for Python package building
This ensures that we always release for the latest Python versions
2020-10-23 23:07:16 -07:00
Christopher Berner
44fc25db99 Release version 1.6.0 2020-10-23 22:54:31 -07:00
Jonathan Nilsson
ab75fc1b6d OIT is copy 2020-10-22 22:49:59 -07: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
c59a33343c Release version 1.5.0 2020-10-16 22:50:59 -07:00
Christopher Berner
fd4813236c Pin version of cargo-deny 2020-10-16 22:15:10 -07:00
Jonathan Nilsson
a788b14bac Remove some clones and removed some allocations 2020-10-16 22:03:36 -07:00
Christopher Berner
dbbcf16efd Document required Rust version 2020-09-29 20:03:47 -07:00
Christopher Berner
57bbcdb673 Improve formating and completeness of Errata 2 proof 2020-09-13 17:42:12 -07:00
Christopher Berner
95b6b5ae91 Make serde support optional 2020-08-30 09:39:39 -07:00
Christopher Berner
3ae2f9fa6e Upgrade to pyo3
This removes the dependency on nightly for building python bindings
2020-08-29 21:23:40 -07:00
Christopher Berner
6330f94c4c Simplify multiplication table initialization
Replace unrolled loops with const fn while which is new in Rust 1.46
2020-08-29 21:23:40 -07:00
Christopher Berner
92ac710111 Bump version to 1.4.2 2020-06-23 21:25:45 -07:00
Christopher Berner
6502e79b0f Remove broken deps_rs badge 2020-06-23 21:25:45 -07:00
Christopher Berner
f8240da5b5 Fix incorrect symbol calculation assertion 2020-06-23 21:07:16 -07:00
Christopher Berner
dca2ad8b7c Fix Clippy warnings 2020-06-23 20:50:03 -07:00
Christopher Berner
e08c78a800 Avoid allocating excess memory 2020-05-07 10:16:43 -07:00
Christopher Berner
48a9dcc2c0 Remove dead code 2020-05-07 10:16:43 -07:00
Christopher Berner
a3a199085e Bump version to 1.4.1 2020-03-28 14:54:37 -07:00
Christopher Berner
0973b5970d Add PyPi badge to README 2020-03-28 14:53:34 -07:00
Christopher Berner
97aa0b5003 Fix crash in Decoder when decoding large numbers of blocks 2020-03-28 14:53:34 -07:00
Christopher Berner
414a02eb4b Bump version to 1.4.0 2020-03-21 23:17:21 -07:00
Christopher Berner
88a9d6d582 Fix Clippy style warning 2020-03-20 23:32:45 -07:00
Christopher Berner
642396b9b5 Update to latest pyo3 2020-03-20 23:32:45 -07:00
Christopher Berner
69246f50b1 Add public function to calculate object to block splits 2020-03-20 22:58:09 -07:00
Christopher Berner
5532c6e5bd More complete metadata for maturin 2020-03-14 10:38:42 -07:00
Christopher Berner
7f9a627f08 Bump version to 1.3.1 2020-03-14 08:39:57 -07:00
Christopher Berner
7847099cd7 Fix source block numbering with uneven blocks
This fixes a critical bug where blocks with ids after ZL, see section
4.4.1.2. in RFC, were incorrectly numbered during encoding
2020-03-14 08:38:52 -07:00
Christopher Berner
e12085c195 Add assertation from RFC to parameter calculation 2020-03-14 08:38:52 -07:00
Christopher Berner
a5ec4cffe1 Pin nightly Rust version used by Travis maturin tests 2020-03-12 23:20:45 -07:00
Christopher Berner
a209748702 Update Makefile to publish Python package for all recent 3.x versions 2020-03-12 23:20:45 -07:00
Christopher Berner
70c7987d39 Update instructions for building with Maturin 2020-03-11 09:24:05 -07:00
Christopher Berner
2923066242 Update version to 1.3.0 2020-03-05 18:36:13 -08:00
Christopher Berner
329598c48b Implement sub block support 2020-02-25 22:50:29 -08:00
Christopher Berner
26e8b0e509 Add EncoderBuilder to allow more configuration of encoding 2020-02-24 19:09:23 -08:00
Christopher Berner
82f9ee9d5b Always use nightly toolchain for maturin 2020-02-22 15:27:29 -08:00
Christopher Berner
2a1d506829 Bump version to v1.2.1 2020-02-22 14:59:30 -08:00
Christopher Berner
04149b42ff Fix max length assertion
The maximum value in RFC6330 of 946270874880 is incorrect as
documented in errata id 5548
2020-02-22 14:36:06 -08:00
Christopher Berner
6eeeb67f70 Merge Python wrapper crate into main crate 2020-02-22 13:31:16 -08:00
Christopher Berner
f8b3ccd28e Fix Python wrapper tests 2020-02-15 11:09:19 -08:00
Christopher Berner
4d7bd86b7a Replace lichking with cargo-deny 2020-02-15 11:09:19 -08:00
Christopher Berner
62671df23f Release version 1.2.0 2020-02-03 09:10:47 -08:00
Christopher Berner
9a46e91f9c Set 'nice' on extended tests
This avoids monopolizing the CPU, since these tests use many threads and
run for hours
2020-02-02 11:55:26 -08:00