}
public:
/**
- * Class constructor. Initializes class with requied values.
+ * Class constructor. Initializes class with required values.
+ *
+ * @param _chromosome Chromosome, for which value will be calculated
+ */
+ WSTI(_Chromosome& _chromosome)
+ : Fitness<_Chromosome>(_chromosome) {
+ }
+
+ /**
+ * Class constructor. Initializes class with required values.
*
* @param start begining of the Fitness function domain
* @param end end of the Fitness function domain
}
/**
- * Class constructor. Initializes class with requied values.
+ * Class constructor. Initializes class with required values.
*
* @param _chromosome Chromosome, for which value will be calculated
* @param start begining of the Fitness function domain
WSTI(_Chromosome& _chromosome, float start, float end)
: Fitness<_Chromosome>(_chromosome), span_start(start), span_end(end) {
}
+
+ /**
+ * Method used to pass additional arguments needed by the function to
+ * run correctly.
+ * Required map keys are:
+ * - _span_start_ - with value equal to begining of the Fitness function domain
+ * - _span_end_ - with value equal to end of the Fitness function domain
+ * Their values should be floats.
+ *
+ * @param args map containing span_start and span_end as a keys and
+ * their values (_double_) passed as strings
+ */
+ virtual void parseArguments(std::map<string, string> args) {
+ std::map<string, string>::iterator it;
+ for (it = args.begin(); it != args.end(); it++) {
+ if (it->first == "span_start") {
+ this->span_start = std::stod(it->second);
+ }
+ else if (it->first == "span_end") {
+ this->span_end = std::stod(it->second);
+ }
+ }
+ }
+
+ /**
+ * Method used to get additional arguments needed by the function to
+ * run correctly.
+ *
+ * @return map containing span_start and span_end as a map keys, with
+ * their values passed as string
+ */
+ std::map<string, string> getArguments() {
+ std::map<string, string> fit_args;
+ fit_args.insert(std::pair<string, string>("span_start", std::to_string(span_start)));
+ fit_args.insert(std::pair<string, string>("span_end", std::to_string(span_end)));
+ return fit_args;
+ }
};
}