diff --git a/src/TNL/Containers/ArrayView.h b/src/TNL/Containers/ArrayView.h index 05f00a418c289d900b90f6a3608d5ffd981e3e21..8b2b1ef33e64b1dbd2330d375594ada14d19eacc 100644 --- a/src/TNL/Containers/ArrayView.h +++ b/src/TNL/Containers/ArrayView.h @@ -52,7 +52,7 @@ public: // "Templated copy-constructor" accepting any cv-qualification of Value template< typename Value_ > __cuda_callable__ - ArrayView( ArrayView< Value_, Device, Index >& array ) + ArrayView( const ArrayView< Value_, Device, Index >& array ) : data(array.getData()), size(array.getSize()) {} // default move-constructor diff --git a/src/TNL/Containers/VectorView.h b/src/TNL/Containers/VectorView.h index c53a165d113d96e988129146cc6bdf4c0d27503a..4ef863aa90dc27c69aa14b119414f8fa0b0dddbd 100644 --- a/src/TNL/Containers/VectorView.h +++ b/src/TNL/Containers/VectorView.h @@ -109,7 +109,7 @@ public: //! Computes scalar dot product template< typename Vector > - NonConstReal scalarProduct( const Vector& v ); + NonConstReal scalarProduct( const Vector& v ) const; //! Computes this = thisMultiplicator * this + alpha * x. template< typename Vector > diff --git a/src/TNL/Containers/VectorView_impl.h b/src/TNL/Containers/VectorView_impl.h index 5e120b32c10a74d3f331be4b51a080e3efb19348..fed792ab330b22aaaf875c1d1e05c40068c2f735 100644 --- a/src/TNL/Containers/VectorView_impl.h +++ b/src/TNL/Containers/VectorView_impl.h @@ -243,7 +243,7 @@ template< typename Real, template< typename Vector > typename VectorView< Real, Device, Index >::NonConstReal VectorView< Real, Device, Index >:: -scalarProduct( const Vector& v ) +scalarProduct( const Vector& v ) const { return Algorithms::VectorOperations< Device >::template getScalarProduct< VectorView, Vector, NonConstReal >( *this, v ); }