diff --git a/src/operator/Concat.cpp b/src/operator/Concat.cpp index 55efdd51d56f7db4f64880b967def661e5354af5..27b9d1cf151c1d12aa4395a3b24673a2f2a4ad3c 100644 --- a/src/operator/Concat.cpp +++ b/src/operator/Concat.cpp @@ -49,7 +49,9 @@ std::shared_ptr<Aidge::Operator> Aidge::Concat_Op::clone() const { void Aidge::Concat_OpImpl::forward() { const Concat_Op& op = dynamic_cast<const Concat_Op&>(mOp); - const DimSize_t axis = op.axis(); + auto axis = op.axis(); + const auto nbDimsInput0 = op.getInput(0)->nbDims(); + axis = (axis < 0) ? axis + static_cast<std::int32_t>(nbDimsInput0) : axis; assert(op.getInput(0) && "missing input in Concat operator"); for (IOIndex_t i = 1; i < mOp.nbInputs(); ++i) {