CG_Gen namespace
class RandomGeneratorWithSeed The Random Generator With Seed class is a C++ class designed to generate random numbers using a specified seed value
Contents
- Reference
class TruthTable Represents a truth table for a combinational logic circuit This class encapsulates the functionality to generate, manipulate, and analyze truth tables for combinational logic circuits.
Namespaces
- namespace AuxMethods
- namespace AuxMethods It was created to organize a set of auxiliary functions and methods that can be used in various parts of a software project Functions: Random number generation, Reading files, Data sorting and processing (includes methods for sorting dictionaries by their values and for working with spaces in strings) TO DO: list the other functions
- namespace FilesTools
- namespace FilesTools The Files Tools namespace contains a set of functions designed to work with the file system */
- namespace MutationTruthTable
- namespace RecombinationsTruthTable
- namespace SelectionsTruthTable
Classes
- class ALUGenerator
- class ArithmeticGenerator
- class CascadeGenerator
- class ChiselProject
- class ChiselProject This class is for temporary Chisel project management.
-
template<typename T>class Chromosome
-
template<typename Type, typename ParametersTypes>class ChromosomeType
- class Circuit
- class Circuit
- struct CircuitArgs
- class CircuitParameters
- class CNNFromTruthTableParameters
- class CNNFromTruthTableParameters
- class CoderGenerator
- class ComparisonGenerator
- class DataBaseGenerator
- class DataBaseGenerator
- class DataBaseGeneratorParameters
- class DataBaseGeneratorParameters
- class DotGenerator
- class FromTruthTableGenerator
- class GenerationParameters
- class GeneratorALUParameters
- class GeneratorCascadeParameters
- class GeneratorCascadeParameters
- class GeneratorComparisonParameters
- class GeneratorComparisonParameters
- class GeneratorDotToGraphParameters
- class GeneratorDotToGraphParameters
- class GeneratorMealyMooreParameters
- class GeneratorMealyMooreParameters
- class GeneratorNumOperationParameters
- class GeneratorNumOperationParameters
- class GeneratorRandLevelParameters
- class GeneratorRandLevelParameters
- class GeneratorSubtractorParameters
- class GeneratorSummatorParameters
- GeneratorSummatorParameters.
-
template<typename Type, typename ParametersType>class GeneticGenerator
- GeneticGenerator Template class for generating genetic populations.
- class GeneticParameters
- class MealyMooreGenerator
- struct ModuleInfo
- class MutationParameters
- class NumOperationsGenerator
- class OrientedGraphParameters
- class ParentsParameters
- class ParityGenerator
- class Parser
- class Parser
- class PlexerGenerator
- class RandLevelGenerator
- class RandomGeneratorWithSeed
- class RecombinationParameters
- class SelectionParameters
- class Settings
- class SimpleGenerator
- class TempProjectDir
- class TempProjectDir This class is for temporary project directory creation and management
- class TruthTable
- class TruthTableParameters
- Parameters for generating truth tables The class provides the parameters needed to generate truth tables.
- class zhegalkinFromTruthTableParameters
- zhegalkinFromTruthTableParameters
Enums
- enum GenotypeParametersTypes { TruthTableEnum }
- enum ReturnType { DEFAULT, GRAPH, PATH, FUNCTION }
- enum class BasisType { AIG, NOR }
- enum MutationTypes { Binary, Density, AccessionDel, InsertDel, Exchange, Delete }
- enum ParentsTypes { Panmixia, Inbringing, Outbrinding, Tournament, Roulette }
- enum RecombinationTypes { CrossingEachExitInTurnMany, CrossingUniform, CrossingTriadic, CrossingReducedReplacement, CrossingShuffling }
- enum SelectionTypes { Base }
- enum LibrariesTypes { SKY_LIB }
- enum GenerationTypes { FromRandomTruthTable, RandLevel, RandLevelExperimental, NumOperation, Comparison, Summator, Multiplier, Subtractor, Multiplexer, Demultiplexer, Encoder, Decoder, Genetic, Parity, ALU, MealyMoore, DotToGraph, Cascade }
- GenerationTypes Enumeration of the types of digital circuit generation.
Functions
- auto deleteExtraSpace(const std::string& i_s) -> std::string
-
auto convertGraphToBasis(GraphPtr graph,
GenerationParameters::
GatesInputsInfo gatesInputsInfo) -> GraphPtr -
template<>auto MutationType(MutationParameters i_mutationParameters, std::vector<ChromosomeType<TruthTable, TruthTableParameters>> i_population) -> std::vector<ChromosomeType<TruthTable, TruthTableParameters>>
-
template<typename Type, typename ParametersType>auto MutationType(MutationParameters i_mutationParameters, std::vector<ChromosomeType<Type, ParametersType>> i_population) -> std::vector<ChromosomeType<Type, ParametersType>>
-
template<>auto MutationType(MutationParameters i_mutationParameters, std::vector<ChromosomeType<TruthTable, TruthTableParameters>> i_population) -> std::vector<ChromosomeType<TruthTable, TruthTableParameters>>
-
template<typename Type, typename ParametersType>auto ParentsTypesWorker(ParentsParameters i_parentsParameters, std::vector<ChromosomeType<Type, ParametersType>> i_population) -> std::vector<int32_t>
-
template<>auto ParentsTypesWorker(ParentsParameters i_parentsParameters, std::vector<ChromosomeType<TruthTable, TruthTableParameters>> i_population) -> std::vector<int32_t>
- auto GenerateContent(DotReturn d_dot) -> std::string
- auto sanitizeName(std::string name) -> std::string
- void parseDotContent(GraphPtr graph, const std::string& content, bool isMoore)
-
template<>auto MutationType(MutationParameters i_mutationParameters, std::vector<ChromosomeType<TruthTable, TruthTableParameters>> i_population) -> std::vector<ChromosomeType<TruthTable, TruthTableParameters>>
- auto GetHemming(int32_t i_t, std::vector<ChromosomeType<TruthTable, TruthTableParameters>> i_population) -> std::vector<int32_t>
- auto ParentsPanmixia(ParentsParameters i_parentsParameters, std::vector<ChromosomeType<TruthTable, TruthTableParameters>> i_population) -> std::vector<int32_t>
- auto ParentsInbrinding(ParentsParameters i_parentsParameters, std::vector<ChromosomeType<TruthTable, TruthTableParameters>> i_population) -> std::vector<int32_t>
- auto ParentsOutbrinding(ParentsParameters i_parentsParameters, std::vector<ChromosomeType<TruthTable, TruthTableParameters>> i_population) -> std::vector<int32_t>
- auto ParentsTournament(ParentsParameters i_parentsParameters, std::vector<ChromosomeType<TruthTable, TruthTableParameters>> i_population) -> std::vector<int32_t>
- auto ParentsRoulette(ParentsParameters i_parentsParameters, std::vector<ChromosomeType<TruthTable, TruthTableParameters>> i_population) -> std::vector<int32_t>
-
template<typename Type, typename ParametersType>auto RecombinationType(RecombinationParameters i_recombinationParameters, std::vector<ChromosomeType<Type, ParametersType>> i_population) -> std::vector<ChromosomeType<Type, ParametersType>>
-
template<>auto RecombinationType(RecombinationParameters i_recombinationParameters, std::vector<ChromosomeType<TruthTable, TruthTableParameters>> i_population) -> std::vector<ChromosomeType<TruthTable, TruthTableParameters>>
-
template<typename Type, typename ParametersType>auto SelectionType(SelectionParameters i_selectionParameters, std::vector<ChromosomeType<Type, ParametersType>> i_population) -> std::vector<ChromosomeType<Type, ParametersType>>
-
template<>auto SelectionType(SelectionParameters i_selectionParameters, std::vector<ChromosomeType<TruthTable, TruthTableParameters>> i_population) -> std::vector<ChromosomeType<TruthTable, TruthTableParameters>>
Variables
- static const std::map<std::string, GenotypeParametersTypes> GenotypeParametersType2Name
- static const std::map<std::string, MutationTypes> MutationType2Name
- static const std::map<std::string, ParentsTypes> ParentsType2Name
- static const std::map<std::string, RecombinationTypes> RecombinationType2Name
- static const std::map<std::string, SelectionTypes> SelectionType2Name
- static const std::map<std::string, GenerationTypes> GenerationTypes2Name
Enum documentation
enum CG_ Gen:: GenotypeParametersTypes
enum CG_ Gen:: ReturnType
enum class CG_ Gen:: BasisType
enum CG_ Gen:: MutationTypes
enum CG_ Gen:: ParentsTypes
enum CG_ Gen:: SelectionTypes
enum CG_ Gen:: LibrariesTypes
#include <src/settings/Settings.hpp>
enum CG_ Gen:: GenerationTypes
#include <src/settings/Settings.hpp>
GenerationTypes Enumeration of the types of digital circuit generation.
This enumeration defines the various types of digital circuit generation that can be used to create a variety of logic circuits.
| Enumerators | |
|---|---|
| FromRandomTruthTable |
|
| RandLevel |
Generating a circuit from a random truth table. |
| RandLevelExperimental |
Random level (experimental) |
| NumOperation |
Experimental random level generation. |
| Comparison |
Generating a circuit with numerical operations. |
| Summator |
The comparison block. |
| Multiplier |
Adder. |
| Subtractor |
Multiplier. |
| Multiplexer |
Subtractor. |
| Demultiplexer |
Multiplexer. |
| Encoder |
Demultiplexer. |
| Decoder |
Encoder. |
| Genetic |
Decoder. |
| Parity |
Genetic generation of the circuit. |
| ALU |
Parity. |
| MealyMoore |
Arithmetic Logic Unit (ALU) |
| DotToGraph |
Mealy and Moore. |
| Cascade |
Dot to graph converter (Mealy and Moore only for now) Cascade |
Function documentation
std::string CG_ Gen:: deleteExtraSpace(const std::string& i_s)
GraphPtr CG_ Gen:: convertGraphToBasis(GraphPtr graph,
GenerationParameters:: GatesInputsInfo gatesInputsInfo)
template<>
std::vector<ChromosomeType<TruthTable, TruthTableParameters>> CG_ Gen:: MutationType(MutationParameters i_mutationParameters,
std::vector<ChromosomeType<TruthTable, TruthTableParameters>> i_population)
template<typename Type, typename ParametersType>
std::vector<ChromosomeType<Type, ParametersType>> CG_ Gen:: MutationType(MutationParameters i_mutationParameters,
std::vector<ChromosomeType<Type, ParametersType>> i_population)
template<>
std::vector<ChromosomeType<TruthTable, TruthTableParameters>> CG_ Gen:: MutationType(MutationParameters i_mutationParameters,
std::vector<ChromosomeType<TruthTable, TruthTableParameters>> i_population)
template<typename Type, typename ParametersType>
std::vector<int32_t> CG_ Gen:: ParentsTypesWorker(ParentsParameters i_parentsParameters,
std::vector<ChromosomeType<Type, ParametersType>> i_population)
template<>
std::vector<int32_t> CG_ Gen:: ParentsTypesWorker(ParentsParameters i_parentsParameters,
std::vector<ChromosomeType<TruthTable, TruthTableParameters>> i_population)
std::string CG_ Gen:: GenerateContent(DotReturn d_dot)
std::string CG_ Gen:: sanitizeName(std::string name)
void CG_ Gen:: parseDotContent(GraphPtr graph,
const std::string& content,
bool isMoore)
template<>
std::vector<ChromosomeType<TruthTable, TruthTableParameters>> CG_ Gen:: MutationType(MutationParameters i_mutationParameters,
std::vector<ChromosomeType<TruthTable, TruthTableParameters>> i_population)
std::vector<int32_t> CG_ Gen:: GetHemming(int32_t i_t,
std::vector<ChromosomeType<TruthTable, TruthTableParameters>> i_population)
std::vector<int32_t> CG_ Gen:: ParentsPanmixia(ParentsParameters i_parentsParameters,
std::vector<ChromosomeType<TruthTable, TruthTableParameters>> i_population)
std::vector<int32_t> CG_ Gen:: ParentsInbrinding(ParentsParameters i_parentsParameters,
std::vector<ChromosomeType<TruthTable, TruthTableParameters>> i_population)
std::vector<int32_t> CG_ Gen:: ParentsOutbrinding(ParentsParameters i_parentsParameters,
std::vector<ChromosomeType<TruthTable, TruthTableParameters>> i_population)
std::vector<int32_t> CG_ Gen:: ParentsTournament(ParentsParameters i_parentsParameters,
std::vector<ChromosomeType<TruthTable, TruthTableParameters>> i_population)
std::vector<int32_t> CG_ Gen:: ParentsRoulette(ParentsParameters i_parentsParameters,
std::vector<ChromosomeType<TruthTable, TruthTableParameters>> i_population)
template<typename Type, typename ParametersType>
std::vector<ChromosomeType<Type, ParametersType>> CG_ Gen:: RecombinationType(RecombinationParameters i_recombinationParameters,
std::vector<ChromosomeType<Type, ParametersType>> i_population)
template<>
std::vector<ChromosomeType<TruthTable, TruthTableParameters>> CG_ Gen:: RecombinationType(RecombinationParameters i_recombinationParameters,
std::vector<ChromosomeType<TruthTable, TruthTableParameters>> i_population)
template<typename Type, typename ParametersType>
std::vector<ChromosomeType<Type, ParametersType>> CG_ Gen:: SelectionType(SelectionParameters i_selectionParameters,
std::vector<ChromosomeType<Type, ParametersType>> i_population)
template<>
std::vector<ChromosomeType<TruthTable, TruthTableParameters>> CG_ Gen:: SelectionType(SelectionParameters i_selectionParameters,
std::vector<ChromosomeType<TruthTable, TruthTableParameters>> i_population)
Variable documentation
static const std::map<std::string, GenotypeParametersTypes> CG_ Gen:: GenotypeParametersType2Name
static const std::map<std::string, MutationTypes> CG_ Gen:: MutationType2Name
static const std::map<std::string, ParentsTypes> CG_ Gen:: ParentsType2Name
static const std::map<std::string, RecombinationTypes> CG_ Gen:: RecombinationType2Name
static const std::map<std::string, SelectionTypes> CG_ Gen:: SelectionType2Name
static const std::map<std::string, GenerationTypes> CG_ Gen:: GenerationTypes2Name
#include <src/settings/Settings.hpp>