AutoPas  3.0.0
Loading...
Searching...
No Matches
CrispSet.h
Go to the documentation of this file.
1
7#pragma once
8
9#include <map>
10#include <memory>
11#include <string>
12
13namespace autopas::FuzzyLogic {
14
20class CrispSet {
21 public:
25 CrispSet() = default;
26
32 CrispSet(const std::string &name, const std::pair<double, double> &range);
33
40 std::shared_ptr<CrispSet> operator*(CrispSet &rhs) const;
41
46 [[nodiscard]] std::map<std::string, std::pair<double, double>> &getDimensions();
47
51 explicit operator std::string() const;
52
53 private:
58 std::map<std::string, std::pair<double, double>> _dimensions;
59};
60
61} // namespace autopas::FuzzyLogic
Used to represent arbitrary Crisp-Sets, on which Fuzzy-Sets can be defined.
Definition: CrispSet.h:20
std::shared_ptr< CrispSet > operator*(CrispSet &rhs) const
Overload of the operator* to calculate the "cartesian" product of two CrispSets.
Definition: CrispSet.cpp:15
std::map< std::string, std::pair< double, double > > & getDimensions()
Returns the dimensions of the CrispSet.
Definition: CrispSet.cpp:24
CrispSet()=default
Constructs a CrispSet with empty dimensions.
Namespace that contains the fuzzy logic framework used by the FuzzyTuning-strategy.
Definition: namespaces.h:112