#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include std::unique_ptr build_algorithm(int algId, const string &ruleId, const string &name, const mix_cc::json &rule_json, const double padding_low, const double padding_up) { LOG d("build_algorithm"); switch (algId) { case 1: return std::make_unique(name, rule_json, ruleId); break; case 2: return std::make_unique(name, rule_json, ruleId); break; case 3: return std::make_unique(name, rule_json, ruleId, algId); break; case 4: return std::make_unique(name, rule_json, ruleId, algId); break; case 5: return std::make_unique(name, rule_json, ruleId); break; case 6: case 7: return std::make_unique(name, rule_json, ruleId, algId); break; case 8: return std::make_unique(name, rule_json, ruleId); break; case 9: return std::make_unique(name, rule_json, ruleId, -1); break; case 10: case 11: return std::make_unique(name, rule_json, ruleId, algId - 10); break; case 12: case 13: return std::make_unique(name, rule_json, ruleId, algId); break; case 14: return std::make_unique(name, rule_json, ruleId); break; case 15: return std::make_unique(name, rule_json, ruleId); break; case 16: case 18: return std::make_unique(name, rule_json, ruleId, algId); break; case 17: return std::make_unique(name, rule_json, ruleId, algId); break; default: d.Warn() << "undefined algorithm" << endl; return std::make_unique(name, rule_json, ruleId); } d.Warn() << "out of control flow" << endl; return std::make_unique(name, rule_json, ruleId); }