Struct irreducible_gf3_t

Struct Documentation

struct irreducible_gf3_t

From “Quad-Optimized Low-Discrepancy Sequences”, Victor Ostromoukhov, Nicolas Bonneel, David Coeurjolly, Jean-Claude Iehl, 2024 https://github.com/liris-origami/Quad-Optimized-LDS.

Public Types

using digit_t = std::int64_t

Public Functions

inline irreducible_gf3_t(const std::filesystem::path &path)

Public Static Functions

static inline void to_digit_array(digit_t *digits, digit_t val, const int base, const int len) noexcept

digits is preallocated output buffer of length len.

static inline digit_t from_digit_array(const digit_t *digits, const int base, const int len) noexcept

digits is input of length len.

template<std::size_t len = sobolld_gfn_seq_length>
static inline digit_t multiply_by_factor_in_gfn(const digit_t x, const digit_t factor, const int base) noexcept
static inline digit_t bit_xor_gfn(digit_t *data, const int base, const digit_t *lst, const int len, const int polynomial_degree) noexcept

data must be a preallocated buffer of length len. lst is input of length polynomial_degree+1.

static inline void generate_mkgf3(const digit_t ipolynomial, const digit_t polynomial_degree, digit_t *msobol, const int base) noexcept

Public Static Attributes

static constexpr auto sobolld_gfn_seq_length = 11
static constexpr auto sobolld_irreducible_entries = 48