16alignas(
__m128i)
const uint8_t MASK[16] = {0x03, 0x02, 0x01, 0x00, 0x07, 0x06,
17 0x05, 0x04, 0x0b, 0x0a, 0x09, 0x08,
18 0x0f, 0x0e, 0x0d, 0x0c};
20 0x0e, 0x51, 0x85, 0xae, 0x67, 0xbb,
21 0x67, 0xe6, 0x09, 0x6a};
23 0x83, 0x1f, 0x3a, 0xf5, 0x4f, 0xa5,
24 0x72, 0xf3, 0x6e, 0x3c};
79#pragma GCC diagnostic push
80#pragma GCC diagnostic ignored "-Wcast-align"
98#pragma GCC diagnostic pop
201 bm3 = Load(
in + 112);
static const uint8_t k1[32]
void Transform(uint32_t *s, const uint8_t *chunk, size_t blocks)
void Transform_2way(uint8_t *out, const uint8_t *in)
void Shuffle(I first, I last, R &&rng)
More efficient than using std::shuffle on a FastRandomContext.
T GetRand(T nMax=std::numeric_limits< T >::max()) noexcept
Generate a uniform random integer of type T in the range [0..nMax) nMax defaults to std::numeric_limi...