Commit graph

231 commits

Author SHA1 Message Date
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
Ahmet Inan
60b9dbf2c0 we have the - operator now 2023-06-06 23:06:12 +02:00
Ahmet Inan
fe25fb2a69 flatten hot functions 2023-06-05 12:18:27 +02:00
Ahmet Inan
6ec9fcba1a compute constant terms for same row only once 2023-06-05 10:56:41 +02:00
Ahmet Inan
ebb989ce50 wait for more errors to get a better estimation 2023-06-01 07:28:17 +02:00
Ahmet Inan
7ec6a47c89 added code that might be faster on smaller CPUs 2023-05-18 15:55:11 +02:00
Ahmet Inan
e96e4abe0e oops 2023-05-11 13:41:19 +02:00
Ahmet Inan
9e32042df8 removed block shuffle 2023-05-11 09:01:08 +02:00
Ahmet Inan
8a055ac2b2 split reversible Fisher Yates shuffle into two 2023-05-11 09:00:27 +02:00
Ahmet Inan
8370e6a51c added SIMD acceleration for GF(2^8) and GF(2^16) 2023-05-09 16:04:32 +02:00
Ahmet Inan
5805246088 added multiply accumulate method 2023-05-08 08:49:14 +02:00
Ahmet Inan
078ae40d83 merged encoder and decoder 2023-05-08 08:12:17 +02:00
Ahmet Inan
26e83f13d6 optimize for Raspberry Pi 4 2023-05-05 14:20:00 +02:00
Ahmet Inan
2b7645ced3 use faster vqtbl1q_u8 on ARM64 2023-05-05 08:53:56 +02:00
Ahmet Inan
986059694e added support for aarch64
__ARM_NEON__ is not defined on gcc anymore ..
2023-05-05 08:06:59 +02:00
Ahmet Inan
f2ebaf4504 allow user to decode block by block 2023-04-28 10:55:46 +02:00
Ahmet Inan
43a0f7a5ec less is more 2023-04-25 09:48:34 +02:00