34 static constexpr
int size() {
41 for (
int i = 0;
i <
size();
i++) {
51 for (
int i = 0;
i <
size();
i++) {
59 for (
int i =
size() - 1;
i >= 0;
i--) {
91 bool needXOR = (
val_[0] & (1ULL << 63));
92 val_[0] &= ~(1ULL << 63);
101 for (
int i = 0;
i <
k;
i++) {
108 int word_offset = (DEG -
k) / 64;
109 int bit_offset = 63 - (DEG -
k) % 64;
110 val_[word_offset] ^= (1ULL << bit_offset);
118 for (
int i = 1;
i <
size();
i++) {
constexpr void add(const FingerprintPolynomial< DEG > &other)
constexpr void setHigh8Bits(uint8_t val)
constexpr void mulXmod(const FingerprintPolynomial< DEG > &p)
constexpr FingerprintPolynomial()
constexpr FingerprintPolynomial(const uint64_t(&vals)[size()])
—— Concurrent Priority Queue Implementation ——
constexpr void addXk(int k)
static constexpr int size()
constexpr void mulXkmod(int k, const FingerprintPolynomial< DEG > &p)