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