Commit graph

247 commits

Author SHA1 Message Date
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
Ahmet Inan
350ec59037 use a higher order but less loops 2024-02-22 11:15:44 +01:00
Ahmet Inan
019adfa609 make gnu compiler happy 2024-02-21 07:54:44 +01:00
Ahmet Inan
3e91ae52d3 keep range symmetric 2024-02-20 17:57:09 +01:00
Ahmet Inan
41b8abaf83 added more shuffle operations for AVX2 2024-02-14 10:48:45 +01:00
Ahmet Inan
f1aae95d34 forgot to change those 2024-02-14 09:53:04 +01:00
Ahmet Inan
2a20850635 added doubled versions of vshuf for AVX2 2024-02-13 14:04:50 +01:00
Ahmet Inan
5721da8bf7 added vshuf versions for SSE 2024-02-13 13:27:55 +01:00
Ahmet Inan
cd320b447f added double, triple and quadruple versions for SSE 2024-02-13 12:37:38 +01:00
Ahmet Inan
7fb1d671f4 base list size on constant L 2024-02-13 12:35:49 +01:00
Ahmet Inan
a0d1775ce9 added doubled version for AVX2 2024-02-13 12:03:13 +01:00
Ahmet Inan
56903fc707 removed negz constants for consistency 2024-02-13 11:59:44 +01:00
Ahmet Inan
992c83933d added tripled and quadrupled versions 2024-02-13 11:30:11 +01:00
Ahmet Inan
b7bce346ff use loops 2024-02-13 10:57:38 +01:00
Ahmet Inan
e29e3a161d added doubled vshuf for aarch64 2024-02-12 20:26:21 +01:00
Ahmet Inan
9c11c2ff03 added doubled NEON wrappers 2024-02-12 16:17:51 +01:00
Ahmet Inan
ca2e77b282 keep the result symmetric 2024-02-11 09:48:40 +01:00
Ahmet Inan
7e589c85ef keep ranges symmetric 2024-02-10 19:46:25 +01:00
Ahmet Inan
b146d9739a print frame error rate 2024-02-10 10:51:29 +01:00
Ahmet Inan
73ba005015 candidates are now sorted 2024-02-09 13:36:25 +01:00
Ahmet Inan
f839292d92 rank can be nullptr 2024-02-09 13:33:59 +01:00
Ahmet Inan
2f42744db7 expose sorted rank instead of the metric 2024-02-09 13:20:44 +01:00
Ahmet Inan
4b4ee7ae7a print frame error rate 2024-02-09 09:20:32 +01:00
Ahmet Inan
60efc56473 updated ber plot 2024-02-04 08:51:56 +01:00
Ahmet Inan
33052aae8d experimenting with list decoding 2024-02-03 13:59:19 +01:00
Ahmet Inan
f3d3afbe01 align parity bits accordingly
if we want to use a crc aid at the end, we should move the start of the
first parity bit as far as possible to the front, otherwise we want the
last bit to be a parity bit
2024-01-21 11:07:52 +01:00
Ahmet Inan
e83dbce91f added ber plot 2024-01-20 15:33:00 +01:00
Ahmet Inan
0bb0eaf5a9 added parity check aided SCL decoding 2024-01-20 15:33:00 +01:00
Ahmet Inan
37ba4b64ef forward error corrections, mostly 2023-09-18 15:01:01 +02:00
Ahmet Inan
47b520638b make a quicker, coarser test 2023-07-25 11:50:53 +02:00
Ahmet Inan
ea89a27e92 limit polar to order 20 and list decoder to 16 2023-07-25 11:48:23 +02:00
Ahmet Inan
01878fc81a use 3/10-rate sequence from TwoInt project 2023-07-14 10:29:39 +02:00
Ahmet Inan
55ddae0c6f do not rely on long double
see this project if more precision is needed:

https://github.com/xdsopl/TwoInt/blob/main/polar.cc
2023-07-07 10:29:58 +02:00
Ahmet Inan
cb7271c85f added polar code reliability sequence constructor 2023-07-07 10:24:32 +02:00
Ahmet Inan
b9d074adcf set frozen bits from a reliability sequence 2023-06-18 09:41:46 +02:00
Ahmet Inan
c810d3fc84 hopefully these names are less confusing 2023-06-09 10:06:34 +02:00
Ahmet Inan
272440d749 better not to be clever here 2023-06-07 12:27:01 +02:00