35#ifndef _BLAZE_MATH_ELEMENTS_H_
36#define _BLAZE_MATH_ELEMENTS_H_
73class Rand< Elements<VT,TF,true,CEAs...> >
82 template<
typename ET >
87 using ElementsType = RemoveReference_t<ET>;
92 for(
size_t i=0UL; i<
elements.size(); ++i ) {
106 template<
typename ET
112 using ElementsType = RemoveReference_t<ET>;
117 for(
size_t i=0UL; i<
elements.size(); ++i ) {
145class Rand< Elements<VT,TF,false,CEAs...> >
154 template<
typename ET >
157 using ElementsType = RemoveReference_t<ET>;
158 using ElementType = ElementType_t<ElementsType>;
165 if(
size == 0UL )
return;
167 const size_t nonzeros( rand<size_t>( 1UL,
std::ceil( 0.5*
size ) ) );
172 while(
elements.nonZeros() < nonzeros ) {
173 elements[ rand<size_t>( 0UL,
size-1UL ) ] = rand<ElementType>();
186 template<
typename ET >
189 using ElementsType = RemoveReference_t<ET>;
190 using ElementType = ElementType_t<ElementsType>;
197 if( nonzeros >
size ) {
201 if(
size == 0UL )
return;
206 while(
elements.nonZeros() < nonzeros ) {
207 elements[ rand<size_t>( 0UL,
size-1UL ) ] = rand<ElementType>();
220 template<
typename ET
224 using ElementsType = RemoveReference_t<ET>;
225 using ElementType = ElementType_t<ElementsType>;
232 if(
size == 0UL )
return;
234 const size_t nonzeros( rand<size_t>( 1UL,
std::ceil( 0.5*
size ) ) );
239 while(
elements.nonZeros() < nonzeros ) {
255 template<
typename ET
259 using ElementsType = RemoveReference_t<ET>;
260 using ElementType = ElementType_t<ElementsType>;
267 if( nonzeros >
size ) {
271 if(
size == 0UL )
return;
276 while(
elements.nonZeros() < nonzeros ) {
Header file for auxiliary alias declarations.
Header file for the RemoveReference type trait.
Constraint on the data type.
Constraint on the data type.
Constraint on the data type.
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:1339
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:1375
decltype(auto) ceil(const DenseMatrix< MT, SO > &dm)
Applies the ceil() function to each single element of the dense matrix dm.
Definition: DMatMapExpr.h:1380
decltype(auto) elements(VT &&vector, const SmallArray< T, N > &indices, REAs... args)
Creating a view on a selection of elements of the given vector.
Definition: Elements.h:741
#define BLAZE_CONSTRAINT_MUST_BE_ELEMENTS_TYPE(T)
Constraint on the data type.
Definition: Elements.h:61
#define BLAZE_CONSTRAINT_MUST_BE_SPARSE_VECTOR_TYPE(T)
Constraint on the data type.
Definition: SparseVector.h:61
#define BLAZE_CONSTRAINT_MUST_BE_DENSE_VECTOR_TYPE(T)
Constraint on the data type.
Definition: DenseVector.h:61
constexpr size_t size(const Matrix< MT, SO > &matrix) noexcept
Returns the total number of elements of the matrix.
Definition: Matrix.h:676
void randomize(T &&value)
Randomization of a given variable.
Definition: Random.h:626
#define BLAZE_THROW_INVALID_ARGUMENT(MESSAGE)
Macro for the emission of a std::invalid_argument exception.
Definition: Exception.h:235
Header file for the exception macros of the math module.
Header file for the dense vector SMP implementation.
Header file for the sparse vector SMP implementation.
Implementation of a random number generator.
Header file for the implementation of the Elements view.