35 #ifndef _BLAZE_MATH_EXPRESSIONS_SVECREDUCEEXPR_H_ 36 #define _BLAZE_MATH_EXPRESSIONS_SVECREDUCEEXPR_H_ 99 if( (~sv).
size() == 0UL )
return ET{};
105 const auto end( tmp.end() );
106 auto element( tmp.begin() );
108 if( element ==
end )
return ET{};
110 ET redux( element->value() );
113 for( ; element!=
end; ++element ) {
114 redux = op( redux, element->value() );
140 template<
typename VT
168 template<
typename VT
200 template<
typename VT
232 template<
typename VT
260 template<
typename VT
264 if( (~sv).
size() < 2UL )
269 if( a.nonZeros() == 0UL )
272 const auto end( a.end() );
273 auto element( a.begin() );
274 size_t index( element->index() );
275 auto min( element->value() );
279 for( ; element!=
end; ++element ) {
280 auto cur( element->value() );
282 index = element->index();
283 min = std::move( cur );
309 template<
typename VT
313 if( (~sv).
size() < 2UL )
318 if( a.nonZeros() == 0UL )
321 const auto end( a.end() );
322 auto element( a.begin() );
323 size_t index( element->index() );
324 auto max( element->value() );
328 for( ; element!=
end; ++element ) {
329 auto cur( element->value() );
331 index = element->index();
332 max = std::move( cur );
Header file for auxiliary alias declarations.
Header file for basic type definitions.
Header file for the SparseVector base class.
Header file for the Add functor.
decltype(auto) prod(const DenseMatrix< MT, SO > &dm)
Reduces the given dense matrix by means of multiplication.
Definition: DMatReduceExpr.h:2220
Generic wrapper for the addition operator.
Definition: Add.h:83
typename T::ElementType ElementType_t
Alias declaration for nested ElementType type definitions.The ElementType_t alias declaration provide...
Definition: Aliases.h:170
size_t argmax(const DenseVector< VT, TF > &dv)
Returns the index of the first largest element of the dense vector.
Definition: DVecReduceExpr.h:582
decltype(auto) reduce(const DenseMatrix< MT, SO > &dm, OP op)
Performs a custom reduction operation on the given dense matrix.
Definition: DMatReduceExpr.h:2017
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
decltype(auto) min(const DenseMatrix< MT1, SO1 > &lhs, const DenseMatrix< MT2, SO2 > &rhs)
Computes the componentwise minimum of the dense matrices lhs and rhs.
Definition: DMatDMatMapExpr.h:1162
decltype(auto) sum(const DenseMatrix< MT, SO > &dm)
Reduces the given dense matrix by means of addition.
Definition: DMatReduceExpr.h:2147
Header file for the Mult functor.
decltype(auto) max(const DenseMatrix< MT1, SO1 > &lhs, const DenseMatrix< MT2, SO2 > &rhs)
Computes the componentwise maximum of the dense matrices lhs and rhs.
Definition: DMatDMatMapExpr.h:1198
MT::Iterator end(Matrix< MT, SO > &matrix, size_t i)
Returns an iterator just past the last element of row/column i.
Definition: Matrix.h:438
size_t argmin(const DenseVector< VT, TF > &dv)
Returns the index of the first smallest element of the dense vector.
Definition: DVecReduceExpr.h:540
Header file for run time assertion macros.
typename T::CompositeType CompositeType_t
Alias declaration for nested CompositeType type definitions.The CompositeType_t alias declaration pro...
Definition: Aliases.h:90
Generic wrapper for the max() function.
Definition: Max.h:80
#define BLAZE_FUNCTION_TRACE
Function trace macro.This macro can be used to reliably trace function calls. In case function tracin...
Definition: FunctionTrace.h:94
constexpr size_t size(const Matrix< MT, SO > &matrix) noexcept
Returns the total number of elements of the matrix.
Definition: Matrix.h:530
Generic wrapper for the min() function.
Definition: Min.h:80
Header file for the Min functor.
Generic wrapper for the multiplication operator.
Definition: Mult.h:80
Base class for sparse vectors.The SparseVector class is a base class for all arbitrarily sized (N-dim...
Definition: Forward.h:146
Header file for the Max functor.
#define BLAZE_INTERNAL_ASSERT(expr, msg)
Run time assertion macro for internal checks.In case of an invalid run time expression,...
Definition: Assert.h:101
Header file for the function trace functionality.