Template Struct Spec

Struct Documentation

template<typename Library = sgpl::CompleteOpLibrary, typename Peripheral = sgpl::EmptyType>
struct sgpl::Spec

Public Types

using library_t = Library
using peripheral_t = Peripheral
using global_matching_t = uit_emp::MatchDepository<unsigned short, uit_emp::OptimizedApproxDualStreakMetric<64>, uit_emp::statics::RankedSelector<std::ratio<1, 5>>, uit_emp::PlusCountdownRegulator<std::deci, std::ratio<1, 4>, std::deci, 2>, true, 8>

What matching implementation should we use for global jump tables?

using local_matching_t = uit_emp::MatchDepository<unsigned short, uit_emp::OptimizedApproxDualStreakMetric<64>, uit_emp::statics::RankedSelector<std::ratio<1, 2>>, uit_emp::PlusCountdownRegulator<std::deci, std::ratio<1, 4>, std::deci, 2>, false, 0>

What matching datastructure implementation should we use for local jump tables?

using tag_t = typename global_matching_t::tag_t

Public Static Attributes

constexpr size_t num_cores = {16}

How many virtual cores should a virtual CPU be able to support?

constexpr size_t num_fork_requests = {3}

How many fork requests can a virtual core make at most?

constexpr size_t num_registers = {8}

How many registers should each virtual core contain?

constexpr size_t switch_steps = {8}

Maximum num steps executed on one core before next core is executed.

constexpr std::array<size_t, 2> global_jump_table_inclusion_mods = {1, 2}
constexpr size_t num_global_jump_tables = global_jump_table_inclusion_mods.size()