13#if !defined(ULTRA_HGA_PRIMITIVE_H)
14#define ULTRA_HGA_PRIMITIVE_H
52 [[nodiscard]]
constexpr int min() const noexcept {
return interval_.min; }
53 [[nodiscard]]
constexpr int sup() const noexcept {
return interval_.sup; }
77 std::iota(base_.begin(), base_.end(), 0);
80 [[nodiscard]] std::size_t length() const noexcept
81 {
return base_.size(); }
integer(interval< int > interval={-1000, 1000}, symbol::category_t category=symbol::undefined_category)
Definition hga/primitive.h:46
value_t instance() const final
Definition hga/primitive.h:55
permutation(std::size_t length, symbol::category_t category=symbol::undefined_category)
Definition hga/primitive.h:72
value_t instance() const final
Definition hga/primitive.h:83
static constexpr category_t undefined_category
Sentinel value indicating that the category has not yet been assigned.
Definition symbol.h:61
category_t category() const noexcept
Definition symbol.cc:79
unsigned category_t
Definition symbol.h:55
std::variant< D_VOID, D_INT, D_DOUBLE, D_STRING, const D_NULLARY *, D_ADDRESS, const D_VARIABLE *, D_IVECTOR > value_t
Definition value.h:54
engine_t & engine()
Definition random.cc:83
std::ranges::range_reference_t< const C > element(const C &c)
Definition random.h:114