Skip to content
Snippets Groups Projects

Node attributes are not cloned

Merged Olivier BICHLER requested to merge fix_attr_clone into dev
+ 3
3
@@ -407,18 +407,18 @@ void Aidge::Node::resetConnections(bool includeLearnableParam) {
@@ -407,18 +407,18 @@ void Aidge::Node::resetConnections(bool includeLearnableParam) {
///////////////////////////////////////////////////////
///////////////////////////////////////////////////////
Aidge::NodePtr Aidge::Node::cloneSharedOperators() const {
Aidge::NodePtr Aidge::Node::cloneSharedOperators() const {
return std::make_shared<Node>(mOperator, mAttrs);
return std::make_shared<Node>(mOperator, std::make_shared<DynamicAttributes>(*mAttrs));
}
}
Aidge::NodePtr Aidge::Node::cloneSharedProducers() const {
Aidge::NodePtr Aidge::Node::cloneSharedProducers() const {
std::shared_ptr<Operator> op =
std::shared_ptr<Operator> op =
(mOperator->type() == Producer_Op::Type) ? mOperator : mOperator->clone();
(mOperator->type() == Producer_Op::Type) ? mOperator : mOperator->clone();
return std::make_shared<Node>(op, mAttrs);
return std::make_shared<Node>(op, std::make_shared<DynamicAttributes>(*mAttrs));
}
}
Aidge::NodePtr Aidge::Node::clone() const {
Aidge::NodePtr Aidge::Node::clone() const {
return std::make_shared<Node>(mOperator->clone(), mAttrs);
return std::make_shared<Node>(mOperator->clone(), std::make_shared<DynamicAttributes>(*mAttrs));
}
}
std::set<Aidge::NodePtr> Aidge::Node::getNodeDelta(int delta, std::set<Aidge::NodePtr> nodeSee) {
std::set<Aidge::NodePtr> Aidge::Node::getNodeDelta(int delta, std::set<Aidge::NodePtr> nodeSee) {
Loading