-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SSP] Support multi-step-size configuration #435
Comments
Some brainstorming is required to figure out how to best go about this. Ideally we need to implement a plugin based system. This should be synchronized with the |
This PR also relates to #427 |
The following is a prototype of a plugin solution for parsing the algorithms. std::unique_ptr<cse::algorithm> fixed_step_algorithm_parser::parse(const boost::property_tree::ptree& tree) {
for (const auto& node : tree) {
if (node.first == "osp:FixedStepAlgorithm") {
auto stepSize = get_attribute<double>(node.second, "stepSize");
std::unique_ptr<cse::algorithm> algorithm = std::make_unique<cse::fixed_step_algorithm>(stepSize);
if (const auto stepSizes = tree.get_child_optional("osp:StepSizes")) {
for (const auto& stepSizeNode : *stepSizes) {
auto component = get_attribute<std::string>(stepSizeNode.second, "component");
auto multipleOf = get_attribute<unsigned int>(stepSizeNode.second, "multipleOf");
}
}
return algorithm;
}
}
return nullptr;
} This particular code is able to create a |
I have a suspicion that this will be easier to implement once PR #427 is merged, where the flow is:
This means your above code could create something like a |
In case it was unclear: #427 is by no means complete. I posted it as a request for comments, not as a finished solution. I've just been completely swamped with other work in the past two weeks and haven't had a chance to follow up and complete it yet.
Once the |
I'd like to add support for multi-step-size configurations also when using SSP.
The XML could look something like:
This uses the suggested XML change proposed in #426
The xsd for this looks like
Note that the
xsd
is not tied to a particularAlgorithm
. The multiple step-size configuration is tied directly against theosp:FixedStepAlgorithm
element.The text was updated successfully, but these errors were encountered: