CG_Gen::NumOperationsGenerator class

Base classes

class SimpleGenerator

Constructors, destructors, conversion operators

NumOperationsGenerator()
NumOperationsGenerator(uint_fast32_t i_seed)
NumOperationsGenerator(const GenerationParameters& i_param)

Public functions

auto generatorNumOperation(uint32_t i_input, uint32_t i_output, std::map<Gates, int32_t> i_logicOper, bool i_leaveEmptyOut = true) -> GraphPtr
generatorNumOperation
auto generatorNumOperation(const GenerationParameters& i_param) -> GraphPtr
auto generatorNumOperation() -> GraphPtr
template<typename T>
auto randomGenerator(const std::map<T, int32_t>& i_map) -> T

Function documentation

GraphPtr CG_Gen::NumOperationsGenerator::generatorNumOperation(uint32_t i_input, uint32_t i_output, std::map<Gates, int32_t> i_logicOper, bool i_leaveEmptyOut = true)

generatorNumOperation

Parameters
i_input The number of input vertices (variables) in the graph
i_output The number of output vertices (functions) in the graph
i_logicOper A dictionary containing a set of logical operations (gates) and their numbers that can be used to generate a graph
i_leaveEmptyOut A Boolean flag indicating whether to leave the output vertices empty if the number of output vertices is greater than the number of logical operations in the graph. If true, the remaining output vertices will remain empty, if false, they will be deleted
Returns the created OrientedGraph