35 #ifndef _BLAZE_MATH_EXPRESSIONS_VECTOR_H_
36 #define _BLAZE_MATH_EXPRESSIONS_VECTOR_H_
99 return *
static_cast<const VectorType*
>( this );
117 template<
typename VT,
bool TF >
120 template<
typename VT,
bool TF >
123 template<
typename VT,
bool TF >
126 template<
typename VT,
bool TF >
129 template<
typename VT,
bool TF >
132 template<
typename VT,
bool TF >
135 template<
typename VT,
bool TF >
138 template<
typename VT,
bool TF >
141 template<
typename VT,
bool TF >
144 template<
typename VT,
bool TF >
147 template<
typename VT1,
bool TF1,
typename VT2,
bool TF2 >
150 template<
typename VT1,
bool TF1,
typename VT2,
bool TF2 >
153 template<
typename VT1,
bool TF1,
typename VT2,
bool TF2 >
156 template<
typename VT1,
bool TF1,
typename VT2,
bool TF2 >
159 template<
typename VT1,
bool TF1,
typename VT2,
bool TF2 >
171 template<
typename VT,
bool TF >
174 return (~vector).begin();
185 template<
typename VT,
bool TF >
188 return (~vector).begin();
199 template<
typename VT,
bool TF >
202 return (~vector).begin();
213 template<
typename VT,
bool TF >
216 return (~vector).end();
227 template<
typename VT,
bool TF >
230 return (~vector).end();
241 template<
typename VT,
bool TF >
244 return (~vector).end();
256 template<
typename VT
260 return (~vector).size();
272 template<
typename VT
276 return (~vector).capacity();
291 template<
typename VT
295 return (~vector).nonZeros();
314 template<
typename VT
317 resize_backend( Vector<VT,TF>& vector,
size_t n,
bool preserve )
321 if( (~vector).
size() != n )
322 throw std::invalid_argument(
"Vector cannot be resized" );
339 template<
typename VT
342 resize_backend( Vector<VT,TF>& vector,
size_t n,
bool preserve )
344 (~vector).
resize( n, preserve );
378 template<
typename VT
382 resize_backend( vector, n, preserve );
401 template<
typename VT1
429 template<
typename VT1
457 template<
typename VT1
485 template<
typename VT1
532 template<
typename VT1
539 reinterpret_cast<const void*>( &a ) == reinterpret_cast<const void*>( &b ) );
BLAZE_ALWAYS_INLINE void multAssign(Matrix< MT1, SO1 > &lhs, const Matrix< MT2, SO2 > &rhs)
Default implementation of the multiplication assignment of a matrix to a matrix.
Definition: Matrix.h:879
Header file for the UNUSED_PARAMETER function template.
BLAZE_ALWAYS_INLINE MT::ConstIterator cbegin(const Matrix< MT, SO > &matrix, size_t i)
Returns an iterator to the first element of row/column i.
Definition: Matrix.h:237
BLAZE_ALWAYS_INLINE size_t size(const Vector< VT, TF > &vector)
Returns the current size/dimension of the vector.
Definition: Vector.h:258
BLAZE_ALWAYS_INLINE MT::ConstIterator cend(const Matrix< MT, SO > &matrix, size_t i)
Returns an iterator just past the last element of row/column i.
Definition: Matrix.h:300
BLAZE_ALWAYS_INLINE 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:258
BLAZE_ALWAYS_INLINE bool isSame(const Matrix< MT1, SO1 > &a, const Matrix< MT2, SO2 > &b)
Returns whether the two given matrices represent the same observable state.
Definition: Matrix.h:946
Header file for the IsSame and IsStrictlySame type traits.
BLAZE_ALWAYS_INLINE size_t capacity(const Matrix< MT, SO > &matrix)
Returns the maximum capacity of the matrix.
Definition: Matrix.h:348
void UNUSED_PARAMETER(const T1 &)
Suppression of unused parameter warnings.
Definition: Unused.h:81
BLAZE_ALWAYS_INLINE size_t nonZeros(const Matrix< MT, SO > &matrix)
Returns the total number of non-zero elements in the matrix.
Definition: Matrix.h:386
Type relationship analysis.This class tests if the two data types A and B are equal. For this type comparison, the cv-qualifiers of both data types are ignored. If A and B are the same data type (ignoring the cv-qualifiers), then the value member enumeration is set to 1, the nested type definition Type is TrueType, and the class derives from TrueType. Otherwise value is set to 0, Type is FalseType, and the class derives from FalseType.
Definition: IsSame.h:158
Header file for the DisableIf class template.
#define BLAZE_ALWAYS_INLINE
Platform dependent setup of an enforced inline keyword.
Definition: Inline.h:85
const Element * ConstIterator
Iterator over constant elements.
Definition: CompressedMatrix.h:2482
BLAZE_ALWAYS_INLINE void assign(Matrix< MT1, SO1 > &lhs, const Matrix< MT2, SO2 > &rhs)
Default implementation of the assignment of a matrix to a matrix.
Definition: Matrix.h:635
BLAZE_ALWAYS_INLINE MT::Iterator begin(Matrix< MT, SO > &matrix, size_t i)
Returns an iterator to the first element of row/column i.
Definition: Matrix.h:195
BLAZE_ALWAYS_INLINE void resize(Matrix< MT, SO > &matrix, size_t rows, size_t columns, bool preserve=true)
Changing the size of the matrix.
Definition: Matrix.h:535
Header file for the EnableIf class template.
BLAZE_ALWAYS_INLINE VectorType & operator~()
Conversion operator for non-constant vectors.
Definition: Vector.h:88
Header file for run time assertion macros.
BLAZE_ALWAYS_INLINE void addAssign(Matrix< MT1, SO1 > &lhs, const Matrix< MT2, SO2 > &rhs)
Default implementation of the addition assignment of a matrix to a matrix.
Definition: Matrix.h:742
BLAZE_ALWAYS_INLINE const VectorType & operator~() const
Conversion operator for constant vectors.
Definition: Vector.h:98
Element * Iterator
Iterator over non-constant elements.
Definition: CompressedMatrix.h:2481
VT VectorType
Type of the vector.
Definition: Vector.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:157
Header file for basic type definitions.
Header file for the IsResizable type trait.
System settings for the inline keywords.
#define BLAZE_INTERNAL_ASSERT(expr, msg)
Run time assertion macro for internal checks.In case of an invalid run time expression, the program execution is terminated. The BLAZE_INTERNAL_ASSERT macro can be disabled by setting the BLAZE_USER_ASSERTION flag to zero or by defining NDEBUG during the compilation.
Definition: Assert.h:101
Header file for the FunctionTrace class.
BLAZE_ALWAYS_INLINE void subAssign(Matrix< MT1, SO1 > &lhs, const Matrix< MT2, SO2 > &rhs)
Default implementation of the subtraction assignment of a matrix to matrix.
Definition: Matrix.h:849