35 #ifndef _BLAZE_MATH_EXPRESSIONS_VECTOR_H_
36 #define _BLAZE_MATH_EXPRESSIONS_VECTOR_H_
89 return *
static_cast<VectorType*
>( this );
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
175 return (~vector).begin();
186 template<
typename VT
190 return (~vector).begin();
201 template<
typename VT
205 return (~vector).begin();
216 template<
typename VT
220 return (~vector).end();
231 template<
typename VT
235 return (~vector).end();
246 template<
typename VT
250 return (~vector).end();
262 template<
typename VT
266 return (~vector).size();
278 template<
typename VT
282 return (~vector).capacity();
297 template<
typename VT
301 return (~vector).nonZeros();
320 template<
typename VT
323 resize_backend( Vector<VT,TF>& vector,
size_t n,
bool preserve )
327 if( (~vector).
size() != n )
328 throw std::invalid_argument(
"Vector cannot be resized" );
345 template<
typename VT
348 resize_backend( Vector<VT,TF>& vector,
size_t n,
bool preserve )
350 (~vector).
resize( n, preserve );
384 template<
typename VT
388 resize_backend( vector, n, preserve );
407 template<
typename VT1
435 template<
typename VT1
463 template<
typename VT1
491 template<
typename VT1
538 template<
typename VT1
545 reinterpret_cast<const void*>( &a ) == reinterpret_cast<const void*>( &b ) );
565 template<
typename VT
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.
Header file for basic type definitions.
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:264
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
VT VectorType
Type of the vector.
Definition: Vector.h:80
BLAZE_ALWAYS_INLINE VectorType & operator~()
Conversion operator for non-constant vectors.
Definition: Vector.h:88
Header file for the DisableIf class template.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
#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:2511
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.
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
Element * Iterator
Iterator over non-constant elements.
Definition: CompressedMatrix.h:2510
BLAZE_ALWAYS_INLINE const VectorType & operator~() const
Conversion operator for constant vectors.
Definition: Vector.h:98
Base class for N-dimensional vectors.The Vector class is a base class for all arbitrarily sized (N-di...
Definition: Forward.h:151
#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 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