35 #ifndef _BLAZE_MATH_VECTOR_H_ 36 #define _BLAZE_MATH_VECTOR_H_ 63 template<
typename VT,
bool TF >
66 template<
typename T1,
typename T2 >
67 decltype(
auto)
inner( const Vector<T1,false>& lhs, const Vector<T2,false>& rhs );
69 template< typename T1, typename T2 >
70 decltype(auto)
inner( const Vector<T1,false>& lhs, const Vector<T2,true>& rhs );
72 template< typename T1, typename T2 >
73 decltype(auto)
inner( const Vector<T1,true>& lhs, const Vector<T2,false>& rhs );
75 template< typename T1, typename T2 >
76 decltype(auto)
inner( const Vector<T1,true>& lhs, const Vector<T2,true>& rhs );
78 template< typename T1,
bool TF1, typename T2,
bool TF2 >
79 decltype(auto)
dot( const Vector<T1,TF1>& lhs, const Vector<T2,TF2>& rhs );
81 template< typename T1,
bool TF1, typename T2,
bool TF2 >
82 decltype(auto) operator,( const Vector<T1,TF1>& lhs, const Vector<T2,TF2>& rhs );
84 template< typename T1, typename T2 >
85 decltype(auto)
outer( const Vector<T1,false>& lhs, const Vector<T2,false>& rhs );
87 template< typename T1, typename T2 >
88 decltype(auto)
outer( const Vector<T1,false>& lhs, const Vector<T2,true>& rhs );
90 template< typename T1, typename T2 >
91 decltype(auto)
outer( const Vector<T1,true>& lhs, const Vector<T2,false>& rhs );
93 template< typename T1, typename T2 >
94 decltype(auto)
outer( const Vector<T1,true>& lhs, const Vector<T2,true>& rhs );
96 template< typename VT,
bool TF >
97 decltype(auto)
reverse( const Vector<VT,TF>& v );
135 template< typename VT
139 return isUniform<relaxed>( ~v );
153 template<
typename T1
157 return trans(~lhs) * (~rhs);
171 template<
typename T1
189 template<
typename T1
193 return (~lhs) * (~rhs);
207 template<
typename T1
211 return (~lhs) *
trans(~rhs);
225 template<
typename T1
231 return inner( ~lhs, ~rhs );
245 template<
typename T1
249 inline decltype(
auto) operator,( const
Vector<T1,TF1>& lhs, const
Vector<T2,TF2>& rhs )
251 return inner( ~lhs, ~rhs );
265 template<
typename T1
269 return (~lhs) *
trans(~rhs);
283 template<
typename T1
287 return (~lhs) * (~rhs);
301 template<
typename T1
319 template<
typename T1
323 return trans(~lhs) * (~rhs);
345 template<
typename VT
365 template<
typename VT,
bool TF >
366 std::ostream&
operator<<( std::ostream& os,
const Vector<VT,TF>& v );
379 template<
typename VT
385 if( tmp.size() == 0UL ) {
390 for(
size_t i=0UL; i<tmp.size(); ++i )
395 for(
size_t i=0UL; i<tmp.size(); ++i )
396 os <<
"( " << std::setw( 11UL ) << tmp[i] <<
" )\n";
decltype(auto) inner(const Vector< T1, false > &lhs, const Vector< T2, false > &rhs)
Multiplication operator for the scalar product (dot/inner product) of two vectors ( ).
Definition: Vector.h:155
Header file for auxiliary alias declarations.
decltype(auto) dot(const Vector< T1, TF1 > &lhs, const Vector< T2, TF2 > &rhs)
Multiplication operator for the scalar product (dot/inner product) of two vectors ( ).
Definition: Vector.h:229
constexpr bool rowVector
Transpose flag for row vectors.
Definition: TransposeFlag.h:73
Header file for the vector transpose flag types.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
decltype(auto) outer(const Vector< T1, false > &lhs, const Vector< T2, false > &rhs)
Multiplication operator for the outer product of two vectors ( ).
Definition: Vector.h:267
decltype(auto) reverse(const Matrix< MT, SO > &m)
Reverse the rows or columns of a matrix.
Definition: Matrix.h:755
decltype(auto) elements(Vector< VT, TF > &vector, REAs... args)
Creating a view on a selection of elements of the given vector.
Definition: Elements.h:139
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
bool isUniform(const DenseMatrix< MT, SO > &dm)
Checks if the given dense matrix is a uniform matrix.
Definition: DenseMatrix.h:1638
Header file for the relaxation flag types.
typename T::CompositeType CompositeType_t
Alias declaration for nested CompositeType type definitions.The CompositeType_t alias declaration pro...
Definition: Aliases.h:90
decltype(auto) operator<<(const DenseMatrix< MT1, SO1 > &lhs, const DenseMatrix< MT2, SO2 > &rhs)
Left-shift operator for the elementwise left-shift of a dense matrix.
Definition: DMatDMatMapExpr.h:1349
constexpr size_t size(const Matrix< MT, SO > &matrix) noexcept
Returns the total number of elements of the matrix.
Definition: Matrix.h:530
decltype(auto) trans(const DenseMatrix< MT, SO > &dm)
Calculation of the transpose of the given dense matrix.
Definition: DMatTransExpr.h:765
Header file for the implementation of the Elements view.
Base class for N-dimensional vectors.The Vector class is a base class for all arbitrarily sized (N-di...
Definition: Forward.h:198
Header file for the Vector CRTP base class.