diff --git a/src/TNL/Containers/Algorithms/VectorOperationsMIC_impl.h b/src/TNL/Containers/Algorithms/VectorOperationsMIC_impl.h
index 37aa369f358c651b772ab5eb1b54517eb9ef7ef5..7f936c52cc2a08f7b4cb7928473add101ae0eec4 100644
--- a/src/TNL/Containers/Algorithms/VectorOperationsMIC_impl.h
+++ b/src/TNL/Containers/Algorithms/VectorOperationsMIC_impl.h
@@ -606,6 +606,7 @@ addVectors( Vector1& v,
    }
 }
 
+/*
 template< typename Vector >
 void
 VectorOperations< Devices::MIC >::
@@ -661,6 +662,7 @@ computeExclusivePrefixSum( Vector& v,
       }
    }
 }
+*/
 
 } // namespace Algorithms
 } // namespace Containers
diff --git a/src/TNL/Containers/Vector.h b/src/TNL/Containers/Vector.h
index b0545a632423e6722980eb3c1c9e7ddfafdfc2b7..1d59face2f087eaa528ff0373020cf1498f0f101 100644
--- a/src/TNL/Containers/Vector.h
+++ b/src/TNL/Containers/Vector.h
@@ -310,20 +310,20 @@ public:
     * \param end Index of the element in this vector which to end with.
     */
    template< Algorithms::PrefixSumType Type = Algorithms::PrefixSumType::Inclusive >
-   void prefixSum( const IndexType begin = 0, const IndexType end = 0 );
+   void prefixSum( IndexType begin = 0, IndexType end = 0 );
 
    template< Algorithms::PrefixSumType Type = Algorithms::PrefixSumType::Inclusive,
              typename FlagsArray >
-   void segmentedPrefixSum( FlagsArray& flags, const IndexType begin = 0, const IndexType end = 0 );
+   void segmentedPrefixSum( FlagsArray& flags, IndexType begin = 0, IndexType end = 0 );
 
    template< Algorithms::PrefixSumType Type = Algorithms::PrefixSumType::Inclusive,
              typename VectorExpression >
-   void prefixSum( const VectorExpression& expression, const IndexType begin = 0, const IndexType end = 0 );
+   void prefixSum( const VectorExpression& expression, IndexType begin = 0, IndexType end = 0 );
 
    template< Algorithms::PrefixSumType Type = Algorithms::PrefixSumType::Inclusive,
              typename VectorExpression,
              typename FlagsArray >
-   void segmentedPrefixSum( const VectorExpression& expression, FlagsArray& flags, const IndexType begin = 0, const IndexType end = 0 );
+   void segmentedPrefixSum( const VectorExpression& expression, FlagsArray& flags, IndexType begin = 0, IndexType end = 0 );
 };
 
 } // namespace Containers
diff --git a/src/TNL/Containers/Vector.hpp b/src/TNL/Containers/Vector.hpp
index 855e3296f4d0de57e2fec2a6df7f2cd4c3df5d41..b436983c9541469ebcea696a4a240f4f853c6965 100644
--- a/src/TNL/Containers/Vector.hpp
+++ b/src/TNL/Containers/Vector.hpp
@@ -362,12 +362,11 @@ template< typename Real,
    template< Algorithms::PrefixSumType Type >
 void
 Vector< Real, Device, Index >::
-prefixSum( const IndexType begin, const IndexType end )
+prefixSum( IndexType begin, IndexType end )
 {
-   if( begin == 0 && end == 0 )
-      Algorithms::VectorOperations< Device >::template prefixSum< Type >( *this, 0, this->getSize() );
-   else
-      Algorithms::VectorOperations< Device >::template prefixSum< Type >( *this, begin, end );
+   if( end == 0 )
+      end = this->getSize();
+   Algorithms::VectorOperations< Device >::template prefixSum< Type >( *this, begin, end );
 }
 
 template< typename Real,
@@ -377,13 +376,11 @@ template< typename Real,
              typename FlagsArray >
 void
 Vector< Real, Device, Index >::
-segmentedPrefixSum( FlagsArray& flags, const IndexType begin, const IndexType end )
+segmentedPrefixSum( FlagsArray& flags, IndexType begin, IndexType end )
 {
-   if( begin == 0 && end == 0 )
-      Algorithms::VectorOperations< Device >::template segmentedPrefixSum< Type >( *this, flags, 0, this->getSize() );
-   else
-      Algorithms::VectorOperations< Device >::template SegmentedPrefixSum< Type >( *this, flags, begin, end );
-
+   if( end == 0 )
+      end = this->getSize();
+   Algorithms::VectorOperations< Device >::template segmentedPrefixSum< Type >( *this, flags, begin, end );
 }
 
 template< typename Real,
@@ -393,7 +390,7 @@ template< typename Real,
              typename VectorExpression >
 void
 Vector< Real, Device, Index >::
-prefixSum( const VectorExpression& expression, const IndexType begin, const IndexType end )
+prefixSum( const VectorExpression& expression, IndexType begin, IndexType end )
 {
    throw Exceptions::NotImplementedError( "Prefix sum with vector expressions is not implemented." );
 }
@@ -406,7 +403,7 @@ template< typename Real,
              typename FlagsArray >
 void
 Vector< Real, Device, Index >::
-segmentedPrefixSum( const VectorExpression& expression, FlagsArray& flags, const IndexType begin, const IndexType end )
+segmentedPrefixSum( const VectorExpression& expression, FlagsArray& flags, IndexType begin, IndexType end )
 {
    throw Exceptions::NotImplementedError( "Prefix sum with vector expressions is not implemented." );
 }
diff --git a/src/TNL/Containers/VectorView.h b/src/TNL/Containers/VectorView.h
index 7c627d334b1217506c3a95230d7a8f677f5fd803..85fdf4dae52c28c6b55a2d2f309bc7fcdfea3dd0 100644
--- a/src/TNL/Containers/VectorView.h
+++ b/src/TNL/Containers/VectorView.h
@@ -80,7 +80,7 @@ public:
     * however, replaced with the VectorView size.
     */
    __cuda_callable__
-   ViewType getView( const IndexType begin = 0, IndexType end = 0 );
+   ViewType getView( IndexType begin = 0, IndexType end = 0 );
 
    /**
     * \brief Returns a non-modifiable view of the vector view.
@@ -93,7 +93,7 @@ public:
     * however, replaced with the VectorView size.
     */
    __cuda_callable__
-   ConstViewType getConstView( const IndexType begin = 0, IndexType end = 0 ) const;
+   ConstViewType getConstView( IndexType begin = 0, IndexType end = 0 ) const;
 
 
    static String getType();
@@ -197,20 +197,20 @@ public:
                     Scalar3 thisMultiplicator = 1.0 );
 
    template< Algorithms::PrefixSumType Type = Algorithms::PrefixSumType::Inclusive >
-   void prefixSum( const IndexType begin = 0, const IndexType end = 0 );
+   void prefixSum( IndexType begin = 0, IndexType end = 0 );
 
    template< Algorithms::PrefixSumType Type = Algorithms::PrefixSumType::Inclusive,
              typename FlagsArray >
-   void segmentedPrefixSum( FlagsArray& flags, const IndexType begin = 0, const IndexType end = 0 );
+   void segmentedPrefixSum( FlagsArray& flags, IndexType begin = 0, IndexType end = 0 );
 
    template< Algorithms::PrefixSumType Type = Algorithms::PrefixSumType::Inclusive,
              typename VectorExpression >
-   void prefixSum( const VectorExpression& expression, const IndexType begin = 0, const IndexType end = 0 );
+   void prefixSum( const VectorExpression& expression, IndexType begin = 0, IndexType end = 0 );
 
    template< Algorithms::PrefixSumType Type = Algorithms::PrefixSumType::Inclusive,
              typename VectorExpression,
              typename FlagsArray >
-   void segmentedPrefixSum( const VectorExpression& expression, FlagsArray& flags, const IndexType begin = 0, const IndexType end = 0 );
+   void segmentedPrefixSum( const VectorExpression& expression, FlagsArray& flags, IndexType begin = 0, IndexType end = 0 );
 };
 
 } // namespace Containers
diff --git a/src/TNL/Containers/VectorView.hpp b/src/TNL/Containers/VectorView.hpp
index a0142d59697e350aeb1f94298581fb2854cda735..57c1cc2ec524b9e4199c82bb0a99b54cbfaf62c6 100644
--- a/src/TNL/Containers/VectorView.hpp
+++ b/src/TNL/Containers/VectorView.hpp
@@ -47,7 +47,7 @@ template< typename Real,
 __cuda_callable__
 typename VectorView< Real, Device, Index >::ViewType
 VectorView< Real, Device, Index >::
-getView( const IndexType begin, IndexType end )
+getView( IndexType begin, IndexType end )
 {
    if( end == 0 )
       end = this->getSize();
@@ -60,7 +60,7 @@ template< typename Real,
 __cuda_callable__
 typename VectorView< Real, Device, Index >::ConstViewType
 VectorView< Real, Device, Index >::
-getConstView( const IndexType begin, IndexType end ) const
+getConstView( IndexType begin, IndexType end ) const
 {
    if( end == 0 )
       end = this->getSize();
@@ -380,12 +380,11 @@ template< typename Real,
    template< Algorithms::PrefixSumType Type >
 void
 VectorView< Real, Device, Index >::
-prefixSum( const IndexType begin, const IndexType end )
+prefixSum( IndexType begin, IndexType end )
 {
-   if( begin == 0 && end == 0 )
-      Algorithms::VectorOperations< Device >::template prefixSum< Type >( *this, 0, this->getSize() );
-   else
-      Algorithms::VectorOperations< Device >::template prefixSum< Type >( *this, begin, end );
+   if( end == 0 )
+      end = this->getSize();
+   Algorithms::VectorOperations< Device >::template prefixSum< Type >( *this, begin, end );
 }
 
 template< typename Real,
@@ -395,12 +394,11 @@ template< typename Real,
              typename FlagsArray >
 void
 VectorView< Real, Device, Index >::
-segmentedPrefixSum( FlagsArray& flags, const IndexType begin, const IndexType end )
+segmentedPrefixSum( FlagsArray& flags, IndexType begin, IndexType end )
 {
-   if( begin == 0 && end == 0 )
-      Algorithms::VectorOperations< Device >::template segmentedPrefixSum< Type >( *this, flags, 0, this->getSize() );
-   else
-      Algorithms::VectorOperations< Device >::template segmentedPrefixSum< Type >( *this, flags, begin, end );
+   if( end == 0 )
+      end = this->getSize();
+   Algorithms::VectorOperations< Device >::template segmentedPrefixSum< Type >( *this, flags, begin, end );
 }
 
 template< typename Real,
@@ -410,7 +408,7 @@ template< typename Real,
              typename VectorExpression >
 void
 VectorView< Real, Device, Index >::
-prefixSum( const VectorExpression& expression, const IndexType begin, const IndexType end )
+prefixSum( const VectorExpression& expression, IndexType begin, IndexType end )
 {
    throw Exceptions::NotImplementedError( "Prefix sum with vector expressions is not implemented." );
 }
@@ -423,7 +421,7 @@ template< typename Real,
              typename FlagsArray >
 void
 VectorView< Real, Device, Index >::
-segmentedPrefixSum( const VectorExpression& expression, FlagsArray& flags, const IndexType begin, const IndexType end )
+segmentedPrefixSum( const VectorExpression& expression, FlagsArray& flags, IndexType begin, IndexType end )
 {
    throw Exceptions::NotImplementedError( "Prefix sum with vector expressions is not implemented." );
 }