+
+ /**
+ * 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;
+ }