diff --git a/src/TNL/Containers/Algorithms/PrefixSum.hpp b/src/TNL/Containers/Algorithms/PrefixSum.hpp index 7b6ced47a7be550353227c2505f24b03f4a82f99..d3c3b3071928e89a284bf1db4acea1e8c30ccf3e 100644 --- a/src/TNL/Containers/Algorithms/PrefixSum.hpp +++ b/src/TNL/Containers/Algorithms/PrefixSum.hpp @@ -21,6 +21,7 @@ #include <TNL/Containers/Algorithms/ReductionOperations.h> #include <TNL/Containers/Algorithms/ArrayOperations.h> #include <TNL/Containers/Algorithms/CudaPrefixSumKernel.h> +#include <TNL/Exceptions/NotImplementedError.h> #ifdef CUDA_REDUCTION_PROFILING #include <iostream> @@ -167,7 +168,7 @@ perform( Vector& v, using IndexType = typename Vector::IndexType; using IndexType = typename Vector::IndexType; #ifdef HAVE_CUDA - throw 0; // NOT IMPLEMENTED YET + throw Exceptions::NotImplementedError( "Segmented prefix sum is not implemented for CUDA." ); // NOT IMPLEMENTED YET /*CudaPrefixSumKernelLauncher< Type, RealType, IndexType >::start( ( IndexType ) ( end - begin ), ( IndexType ) 256, @@ -179,8 +180,6 @@ perform( Vector& v, #endif } - - } // namespace Algorithms } // namespace Containers } // namespace TNL diff --git a/src/TNL/Containers/Vector.hpp b/src/TNL/Containers/Vector.hpp index eca2eba9640c2e25afd98ae64fa826cdc6af1a8f..855e3296f4d0de57e2fec2a6df7f2cd4c3df5d41 100644 --- a/src/TNL/Containers/Vector.hpp +++ b/src/TNL/Containers/Vector.hpp @@ -11,6 +11,7 @@ #pragma once #include <TNL/Containers/Vector.h> +#include <TNL/Exceptions/NotImplementedError.h> namespace TNL { namespace Containers { @@ -394,7 +395,7 @@ void Vector< Real, Device, Index >:: prefixSum( const VectorExpression& expression, const IndexType begin, const IndexType end ) { - + throw Exceptions::NotImplementedError( "Prefix sum with vector expressions is not implemented." ); } template< typename Real, @@ -407,7 +408,7 @@ void Vector< Real, Device, Index >:: segmentedPrefixSum( const VectorExpression& expression, FlagsArray& flags, const IndexType begin, const IndexType end ) { - + throw Exceptions::NotImplementedError( "Prefix sum with vector expressions is not implemented." ); } } // namespace Containers diff --git a/src/TNL/Containers/VectorView.hpp b/src/TNL/Containers/VectorView.hpp index 7c7fe5a96280e4b9fcf7609b95d69070e4e54ac8..a0142d59697e350aeb1f94298581fb2854cda735 100644 --- a/src/TNL/Containers/VectorView.hpp +++ b/src/TNL/Containers/VectorView.hpp @@ -14,6 +14,7 @@ #include <TNL/Containers/Algorithms/VectorOperations.h> #include <TNL/Containers/VectorViewExpressions.h> #include <TNL/Containers/Algorithms/VectorAssignment.h> +#include <TNL/Exceptions/NotImplementedError.h> namespace TNL { namespace Containers { @@ -411,7 +412,7 @@ void VectorView< Real, Device, Index >:: prefixSum( const VectorExpression& expression, const IndexType begin, const IndexType end ) { - + throw Exceptions::NotImplementedError( "Prefix sum with vector expressions is not implemented." ); } template< typename Real, @@ -424,7 +425,7 @@ void VectorView< Real, Device, Index >:: segmentedPrefixSum( const VectorExpression& expression, FlagsArray& flags, const IndexType begin, const IndexType end ) { - + throw Exceptions::NotImplementedError( "Prefix sum with vector expressions is not implemented." ); } } // namespace Containers