diff --git a/include/aidge/operator/AvgPooling.hpp b/include/aidge/operator/AvgPooling.hpp index 603fa94ce7e23021dfb9ec027d30ab0fb08aa37e..f0f9f6c54ed1953ed31b713ce19edc7a8e594d4a 100644 --- a/include/aidge/operator/AvgPooling.hpp +++ b/include/aidge/operator/AvgPooling.hpp @@ -79,7 +79,7 @@ public: } if (!(getInput(0)->empty())) { std::array<DimSize_t, DIM + 2> outputDims; - const std::array<DimSize_t, DIM + 2> inputDims(getInput(0)->dims<DIM+2>()); + const std::array<DimSize_t, DIM + 2> inputDims(getInput(0)->template dims<DIM+2>()); outputDims[0] = inputDims[0]; outputDims[1] = inputDims[1]; @@ -104,7 +104,7 @@ public: // std::vector<DimSize_t> inputIdxDims = outputIdxDims; // for (DimIdx_t i = 0; i < (DIM+2); ++i) { - // if (((outputDims[i] + outputIdxDims[i]) > mOutput->dims<DIM+2>()[i]) || (outputDims[i] == 0)) { + // if (((outputDims[i] + outputIdxDims[i]) > mOutput->template dims<DIM+2>()[i]) || (outputDims[i] == 0)) { // AIDGE_THROW_OR_ABORT(std::runtime_error, "Given outputDim out of range for dimension %lu (%lu + %lu)", static_cast<std::size_t>(i), outputIdxDims[i], outputDims[i]); // } // } diff --git a/include/aidge/operator/Conv.hpp b/include/aidge/operator/Conv.hpp index 6c6e64db146b671e09e4549712e2a1e87c2c212a..4f0fb1ea2717c1fdf4443c450000ec3a56bb9b5b 100644 --- a/include/aidge/operator/Conv.hpp +++ b/include/aidge/operator/Conv.hpp @@ -100,7 +100,7 @@ public: } if (associated) { std::array<DimSize_t, DIM + 2> outputDims{}; - const std::array<DimSize_t, DIM + 2> inputDims(getInput(0)->dims<DIM+2>()); + const std::array<DimSize_t, DIM + 2> inputDims(getInput(0)->template dims<DIM+2>()); for (std::size_t dim = 0; dim < this->template getAttr<ConvAttr::KernelDims>().size() ; ++dim) { const DimSize_t kernelExtent = this->template getAttr<ConvAttr::DilationDims>()[dim] * @@ -130,7 +130,7 @@ public: // inputIdxDims[1] = 0; // each channel is used so start with the first one // for (DimIdx_t i = 0; i < (DIM+2); ++i) { - // if (((outputDims[i] + outputIdxDims[i]) > mOutput->dims<DIM+2>()[i]) || (outputDims[i] == 0)) { + // if (((outputDims[i] + outputIdxDims[i]) > mOutput->template dims<DIM+2>()[i]) || (outputDims[i] == 0)) { // AIDGE_THROW_OR_ABORT(std::runtime_error, "Given outputDim out of range for dimension %lu (%lu + %lu)", static_cast<std::size_t>(i), outputIdxDims[i], outputDims[i]); // } // } diff --git a/include/aidge/operator/ConvDepthWise.hpp b/include/aidge/operator/ConvDepthWise.hpp index e03456aaaf8ad277d679d156d818fc1a20cfdc1f..ca6401e0ed3ac888f12858853f0d8f494c226041 100644 --- a/include/aidge/operator/ConvDepthWise.hpp +++ b/include/aidge/operator/ConvDepthWise.hpp @@ -91,7 +91,7 @@ public: } if (associated) { std::array<DimSize_t, DIM + 2> outputDims = {}; - const std::array<DimSize_t, DIM + 2> inputDims(getInput(0)->dims<DIM+2>()); + const std::array<DimSize_t, DIM + 2> inputDims(getInput(0)->template dims<DIM+2>()); for (std::size_t dim = 0; dim < this->template getAttr<ConvDepthWiseAttr::KernelDims>().size() ; ++dim) { const DimSize_t kernelExtent = this->template getAttr<ConvDepthWiseAttr::DilationDims>()[dim] * @@ -125,7 +125,7 @@ public: // auto inputIdxDims = outputIdxDims; // batch idx is the same // for (DimIdx_t i = 0; i < (DIM+2); ++i) { - // if (((outputDims[i] + outputIdxDims[i]) > mOutput->dims<DIM+2>()[i]) || (outputDims[i] == 0)) { + // if (((outputDims[i] + outputIdxDims[i]) > mOutput->template dims<DIM+2>()[i]) || (outputDims[i] == 0)) { // AIDGE_THROW_OR_ABORT(std::runtime_error, "Given outputDim out of range for dimension %lu (%lu + %lu)", static_cast<std::size_t>(i), outputIdxDims[i], outputDims[i]); // } // } diff --git a/include/aidge/operator/MaxPooling.hpp b/include/aidge/operator/MaxPooling.hpp index 45aec34c1a6577896ca17aae6d055efc2c31f671..ad50a27a94a2217c94445fb556c84ec7f121c6b9 100644 --- a/include/aidge/operator/MaxPooling.hpp +++ b/include/aidge/operator/MaxPooling.hpp @@ -82,7 +82,7 @@ public: } if (!(getInput(0)->empty())) { std::array<DimSize_t, DIM + 2> outputDims{}; - const std::array<DimSize_t, DIM + 2> inputDims(getInput(0)->dims<DIM+2>()); + const std::array<DimSize_t, DIM + 2> inputDims(getInput(0)->template dims<DIM+2>()); std::function<float(float)> roundingFunction; if (this->template getAttr<MaxPoolingAttr::CeilMode>()) { diff --git a/include/aidge/operator/Pad.hpp b/include/aidge/operator/Pad.hpp index 3fa6fa097d60c30a694d05e8097d1b3685241227..279b8b3d2c173d18c65c17e50385954a88fde77e 100644 --- a/include/aidge/operator/Pad.hpp +++ b/include/aidge/operator/Pad.hpp @@ -84,7 +84,7 @@ public: } if (associated) { std::array<DimSize_t, DIM + 2> outputDims{}; - const std::array<DimSize_t, DIM + 2> inputDims = getInput(0)->dims<DIM+2>(); + const std::array<DimSize_t, DIM + 2> inputDims = getInput(0)->template dims<DIM+2>(); for (std::size_t dim = 0; dim < DIM; ++dim) { outputDims[dim+2] = this->template getAttr<PadAttr::BeginEndBorders>()[2*dim] diff --git a/include/aidge/operator/Slice.hpp b/include/aidge/operator/Slice.hpp index f12afafabc534dff6d6a8d0eed2ba16021b92cc1..7bdbd8099ab79c9f1714989dc41cfc0893427bc9 100644 --- a/include/aidge/operator/Slice.hpp +++ b/include/aidge/operator/Slice.hpp @@ -75,7 +75,7 @@ public: AIDGE_THROW_OR_ABORT(std::runtime_error, "Error: input and slice dimensions are not the same size."); } std::array<DimSize_t, DIM> outputDims; - const std::array<DimSize_t, DIM> inputDims = getInput(0)->dims<DIM>(); + const std::array<DimSize_t, DIM> inputDims = getInput(0)->template dims<DIM>(); // Check that the sliced Tensor is actually part of the input Tensor // For a 5*5 tensor ('x') and a 3*3 slice kernel ('o'):