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 >
160 template<
typename VT
164 return (~vector).begin();
176 template<
typename VT
180 return (~vector).begin();
192 template<
typename VT
196 return (~vector).begin();
208 template<
typename VT
212 return (~vector).end();
224 template<
typename VT
228 return (~vector).end();
240 template<
typename VT
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 ) {
341 template<
typename VT
344 resize_backend( Vector<VT,TF>& vector,
size_t n,
bool preserve )
346 (~vector).
resize( n, preserve );
380 template<
typename VT
384 resize_backend( vector, n, preserve );
422 template<
typename VT1
429 reinterpret_cast<const void*>( &a ) == reinterpret_cast<const void*>( &b ) );
449 template<
typename VT1
458 (~lhs).assign( ~rhs );
479 template<
typename VT1
488 (~lhs).addAssign( ~rhs );
509 template<
typename VT1
518 (~lhs).subAssign( ~rhs );
539 template<
typename VT1
548 (~lhs).multAssign( ~rhs );
569 template<
typename VT1
578 (~lhs).divAssign( ~rhs );
599 template<
typename VT1
603 BLAZE_ALWAYS_INLINE bool tryAssign(
const Vector<VT1,TF1>& lhs,
const Vector<VT2,TF2>& rhs,
size_t index )
631 template<
typename VT1
635 BLAZE_ALWAYS_INLINE bool tryAddAssign(
const Vector<VT1,TF1>& lhs,
const Vector<VT2,TF2>& rhs,
size_t index )
663 template<
typename VT1
667 BLAZE_ALWAYS_INLINE bool trySubAssign(
const Vector<VT1,TF1>& lhs,
const Vector<VT2,TF2>& rhs,
size_t index )
695 template<
typename VT1
699 BLAZE_ALWAYS_INLINE bool tryMultAssign(
const Vector<VT1,TF1>& lhs,
const Vector<VT2,TF2>& rhs,
size_t index )
727 template<
typename VT1
731 BLAZE_ALWAYS_INLINE bool tryDivAssign(
const Vector<VT1,TF1>& lhs,
const Vector<VT2,TF2>& rhs,
size_t index )
759 template<
typename VT
#define BLAZE_THROW_INVALID_ARGUMENT(MESSAGE)
Macro for the emission of a std::invalid_argument exception.This macro encapsulates the default way o...
Definition: Exception.h:235
Header file for the UNUSED_PARAMETER function template.
BLAZE_ALWAYS_INLINE size_t capacity(const Matrix< MT, SO > &matrix) noexcept
Returns the maximum capacity of the matrix.
Definition: Matrix.h:346
BLAZE_ALWAYS_INLINE bool isSame(const Matrix< MT1, SO1 > &a, const Matrix< MT2, SO2 > &b) noexcept
Returns whether the two given matrices represent the same observable state.
Definition: Matrix.h:653
Header file for basic type definitions.
BLAZE_ALWAYS_INLINE size_t size(const Vector< VT, TF > &vector) noexcept
Returns the current size/dimension of the vector.
Definition: Vector.h:258
Header file for the IsSame and IsStrictlySame type traits.
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:188
BLAZE_ALWAYS_INLINE const VectorType & operator~() const noexcept
Conversion operator for constant vectors.
Definition: Vector.h:98
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:384
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 constant is set to true, the nested type definition Type is TrueType, and the class derives from TrueType. Otherwise value is set to false, Type is FalseType, and the class derives from FalseType.
Definition: IsSame.h:138
VT VectorType
Type of the vector.
Definition: Vector.h:80
BLAZE_ALWAYS_INLINE VectorType & operator~() noexcept
Conversion operator for non-constant vectors.
Definition: Vector.h:88
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:298
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:232
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:2647
Header file for the exception macros of the math module.
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:538
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:254
Header file for the EnableIf class template.
Header file for run time assertion macros.
Element * Iterator
Iterator over non-constant elements.
Definition: CompressedMatrix.h:2646
Base class for N-dimensional vectors.The Vector class is a base class for all arbitrarily sized (N-di...
Definition: Forward.h:154
#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
void UNUSED_PARAMETER(const Args &...)
Suppression of unused parameter warnings.
Definition: Unused.h:81
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.