From 709bbbded010b4be97f20164cc1eae211109933c Mon Sep 17 00:00:00 2001 From: Ahmet Inan Date: Mon, 29 Dec 2025 09:36:29 +0100 Subject: [PATCH] added Reed Muller rule construction --- polar_sequence.hh | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/polar_sequence.hh b/polar_sequence.hh index 90a3096..3c46905 100644 --- a/polar_sequence.hh +++ b/polar_sequence.hh @@ -36,5 +36,26 @@ public: } }; +template +class ReedMullerSequence +{ + MergeSort sort; +public: + void operator()(int *sequence, int level) + { + assert(level <= MAX_M); + int length = 1 << level; + for (int i = 0; i < length; ++i) + sequence[i] = i; + sort(sequence, length, [](int a, int b){ + int x = __builtin_popcount(a); + int y = __builtin_popcount(b); + if (x != y) + return x < y; + return a < b; + }); + } +}; + }