diff --git a/include/aidge/operator/Slice.hpp b/include/aidge/operator/Slice.hpp index 839d873a0035474b4f21114d794cf09db710b64e..6b1077c8d383b1fd4c1ebe6f64a4cad8135c594e 100644 --- a/include/aidge/operator/Slice.hpp +++ b/include/aidge/operator/Slice.hpp @@ -102,7 +102,7 @@ public: // xxooo xxxoo std::vector<std::size_t> beginningCoords = mInput->getCoord(this->template getAttr<SliceAttr::Beginning>()); for (std::size_t i = 0; i < DIM; ++i) { - if (beginningCoords[i] + this->template getAttr<SliceAttr::SliceDims>()[i] >= mInput->dims()[i]) { + if (beginningCoords[i] + this->template getAttr<SliceAttr::SliceDims>()[i] > mInput->dims()[i]) { printf("ROI of Slice operator out of bounds"); exit(-1); } else { @@ -164,7 +164,7 @@ public: inline IOIndex_t nbOutputs() const noexcept override final { return 1; } }; -template <DimIdx_t DIM> +template <std::size_t DIM> inline std::shared_ptr<Node> Slice(std::size_t beginningPos, std::array<DimSize_t, DIM> sliceDims, const std::string &name = "") { // FIXME: properly handle default w&b initialization in every cases