Commit graph

283 commits

Author SHA1 Message Date
Ahmet Inan
9e085cc2fd convolve message bits only for now 2025-12-22 23:37:25 +01:00
Ahmet Inan
fbd253aff4 prepare for Polarization-Adjusted Convolutional codes 2025-12-22 12:54:26 +01:00
Ahmet Inan
2f4d090a57 moved parity aided polar regression test to own file 2025-12-22 12:35:42 +01:00
Ahmet Inan
e55a701789 added support for int16_t 2025-07-01 22:39:07 +02:00
Ahmet Inan
8982e7843a also print bit transition count 2025-06-14 10:40:29 +02:00
Ahmet Inan
2e29eda8a2 added xorshift test 2025-06-14 09:40:45 +02:00
Ahmet Inan
d4bab41d15 added XorShiftMask 2025-06-14 09:16:31 +02:00
Ahmet Inan
51a56dcbf6 oops 2025-06-14 09:12:32 +02:00
Ahmet Inan
25059e17a9 optionally print sequence 2025-06-14 08:45:50 +02:00
Ahmet Inan
31458c0f56 added tool to find xorshift parameters 2025-06-14 08:20:28 +02:00
Ahmet Inan
7f0bdda536 added length() method 2025-06-13 16:22:53 +02:00
Ahmet Inan
1188defd08 added next() method 2025-06-13 12:14:00 +02:00
Ahmet Inan
c73cc186a2 used larger type and replaced literals with constants v1.1 2024-03-30 10:12:03 +01:00
Ahmet Inan
86f1020d54 skip reduction with multiplication 2024-03-28 16:28:04 +01:00
Ahmet Inan
455bc95a24 pack used flags 2024-03-28 08:39:26 +01:00
Ahmet Inan
c17ca2f674 added more asserts for block length 2024-03-26 20:21:48 +01:00
Ahmet Inan
270519aa79 simpler is better 2024-03-26 19:15:45 +01:00
Ahmet Inan
7f492e9d21 improved usability of the new erasure code 2024-03-26 18:10:29 +01:00
Ahmet Inan
8970b8c053 removed testing code 2024-03-26 09:13:45 +01:00
Ahmet Inan
10fd35cfa3 reduce only every third multiplication 2024-03-26 08:59:31 +01:00
Ahmet Inan
c2977efb49 only add prime if needed 2024-03-26 08:52:24 +01:00
Ahmet Inan
df6aeff840 skip every other reduction step 2024-03-26 07:45:23 +01:00
Ahmet Inan
c87fcdb29b skip reduction with addition and subtraction 2024-03-25 12:11:29 +01:00
Ahmet Inan
b5fc0ae664 reduce only at the last addition 2024-03-25 12:00:10 +01:00
Ahmet Inan
35451540ca added prime field based Cauchy Reed Solomon erasure coding 2024-03-25 11:56:41 +01:00
Ahmet Inan
485f6afe42 moved TYPE checks to tests 2024-03-24 11:10:49 +01:00
Ahmet Inan
f5cd82db8c compute inverse using Fermat's little theorem 2024-03-24 10:51:28 +01:00
Ahmet Inan
fbbc655589 added prime field arithmetic 2024-03-24 10:21:47 +01:00
Ahmet Inan
55bd3302d8 changed back to int 2024-03-08 14:27:28 +01:00
Ahmet Inan
ba688ab23b use merge sort 2024-03-08 14:02:17 +01:00
Ahmet Inan
389fcc3bd8 added comp argument and test for stability 2024-03-08 13:00:40 +01:00
Ahmet Inan
ac5fc8deea start with insertion sort for better speed 2024-03-08 11:01:38 +01:00
Ahmet Inan
2d5e782135 made random seeding optional 2024-03-08 10:08:21 +01:00
Ahmet Inan
d319189d7a added merge sort 2024-03-08 09:53:28 +01:00
Ahmet Inan
957eb6f784 use the new sorting functions 2024-03-07 22:04:09 +01:00
Ahmet Inan
524571e6fb added insertion sort and regression test 2024-03-07 21:21:32 +01:00
Ahmet Inan
6372a965cf renamed sort.hh to simd_sort.hh 2024-03-07 18:31:52 +01:00
Ahmet Inan
a80f5cd532 avoid indirection when getting the metrics ordered 2024-03-07 18:13:15 +01:00
Ahmet Inan
d4b836fb4e replaced nth_element with insertion sort 2024-03-06 12:31:19 +01:00
Ahmet Inan
44ed48ab84 use larger number to disable paths 2024-03-05 22:04:30 +01:00
Ahmet Inan
ae0a749d08 added insertion sort and regression test 2024-03-05 14:27:15 +01:00
Ahmet Inan
b038399c90 use the new SIMD sorting wrappers 2024-03-05 09:41:04 +01:00
Ahmet Inan
178ee52e7d added sorting for SIMD types 2024-03-05 09:38:34 +01:00
Ahmet Inan
54be63f1ce remade with improved decoders 2024-03-03 20:54:53 +01:00
Ahmet Inan
af3e1f0367 do the pruning before sorting 2024-03-03 16:49:30 +01:00
Ahmet Inan
bef1bdd7a8 metrics are kept sorted now 2024-03-03 08:44:50 +01:00
Ahmet Inan
ed9521ba4b reordered forked metrics to benefit from a stable sort
nth_element does not honor the established order, so previously good
candidates can still be thrown out when the scores are the same.
Using a stable_sort keeps the order but is more costly.
We don't have a stable_partial_sort unfortunately and the one
provided as example, implemented using partial_sort and two aditional
comparisions to make it stable, is slower than a stable_sort.
2024-03-02 12:12:46 +01:00
Ahmet Inan
7d71b00d59 print ambiguity errors 2024-02-28 11:31:34 +01:00
Ahmet Inan
332eb9caf7 removed SCALE constant 2024-02-23 16:48:50 +01:00
Ahmet Inan
b6452a100f its a 0.7-rate code optimized for 30% erasures 2024-02-23 14:30:05 +01:00