diff --git a/common/Array.hpp b/common/Array.hpp index 048e83e3..1bdb33a5 100644 --- a/common/Array.hpp +++ b/common/Array.hpp @@ -1064,10 +1064,11 @@ Array Array::reverseDim() const template Array Array::coarsen( const Array &filter ) const { - size_t S2 = size(); + auto S2 = size(); for ( size_t i = 0; i < S2.size(); i++ ) { - S2[i] /= filter.size( i ); - if ( S2[i] * filter.size( i ) != size( i ) ) + size_t S2_i=S2[i]; + S2_i /= filter.size( i ); + if ( S2_i * filter.size( i ) != size( i ) ) throw std::invalid_argument( "Array must be multiple of filter size" ); } Array y( S2 );