35#ifndef _BLAZE_MATH_VECTOR_H_
36#define _BLAZE_MATH_VECTOR_H_
67template<
typename VT,
bool TF >
70template<
typename VT,
bool TF >
71decltype(
auto)
pow2(
const Vector<VT,TF>& v );
73template<
typename VT,
bool TF >
74decltype(
auto)
pow3(
const Vector<VT,TF>& v );
76template<
typename VT,
bool TF >
77decltype(
auto)
pow4(
const Vector<VT,TF>& v );
79template<
typename VT1,
bool TF1,
typename VT2,
bool TF2 >
80decltype(
auto)
inner(
const Vector<VT1,TF1>& lhs,
const Vector<VT2,TF2>& rhs );
82template<
typename VT1,
bool TF1,
typename VT2,
bool TF2 >
83decltype(
auto)
dot(
const Vector<VT1,TF1>& lhs,
const Vector<VT2,TF2>& rhs );
85template<
typename VT1,
bool TF1,
typename VT2,
bool TF2 >
86decltype(
auto)
operator,(
const Vector<VT1,TF1>& lhs,
const Vector<VT2,TF2>& rhs );
88template<
typename VT1,
bool TF1,
typename VT2,
bool TF2 >
89decltype(
auto)
outer(
const Vector<VT1,TF1>& lhs,
const Vector<VT2,TF2>& rhs );
91template<
typename VT1,
typename VT2,
bool TF >
92decltype(
auto)
cross(
const Vector<VT1,TF>& lhs,
const Vector<VT2,TF>& rhs );
94template<
typename VT >
95decltype(
auto)
reverse( VT&& v );
137 return isUniform<relaxed>( *v );
189 return (*v) * (*v) * (*v);
244template<
typename VT1
250 return transTo<rowVector>( *lhs ) * transTo<columnVector>( *rhs );
279template<
typename VT1
285 return inner( *lhs, *rhs );
314template<
typename VT1
320 return inner( *lhs, *rhs );
348template<
typename VT1
354 return transTo<columnVector>( *lhs ) * transTo<rowVector>( *rhs );
384template<
typename VT1
389 return (*lhs) % (*rhs);
411template<
typename VT >
414 return elements( *v, [
max=(*v).size()-1UL](
size_t i ){ return max - i; }, (*v).size() );
430template<
typename VT,
bool TF >
431std::ostream&
operator<<( std::ostream& os,
const Vector<VT,TF>& v );
450 if( tmp.size() == 0UL ) {
455 for(
size_t i=0UL; i<tmp.size(); ++i )
460 for(
size_t i=0UL; i<tmp.size(); ++i )
461 os <<
"( " << std::setw( 11UL ) << tmp[i] <<
" )\n";
Header file for auxiliary alias declarations.
typename T::CompositeType CompositeType_t
Alias declaration for nested CompositeType type definitions.
Definition: Aliases.h:110
Base class for N-dimensional vectors.
Definition: Vector.h:82
Header file for the Vector CRTP base class.
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) elements(Vector< VT, TF > &vector, REAs... args)
Creating a view on a selection of elements of the given vector.
Definition: Elements.h:143
decltype(auto) pow2(const Vector< VT, TF > &v)
Computes the square for each single element of the vector v.
Definition: Vector.h:161
decltype(auto) pow4(const Vector< VT, TF > &v)
Computes the quadruple for each single element of the vector v.
Definition: Vector.h:213
bool isUniform(const Vector< VT, TF > &v)
Checks if the given vector is a uniform vector.
Definition: Vector.h:135
decltype(auto) inner(const Vector< VT1, TF1 > &lhs, const Vector< VT2, TF2 > &rhs)
Scalar product (dot/inner product) of two vectors ( ).
Definition: Vector.h:248
std::ostream & operator<<(std::ostream &os, const Vector< VT, TF > &v)
Global output operator for dense and sparse vectors.
Definition: Vector.h:446
decltype(auto) pow3(const Vector< VT, TF > &v)
Computes the cube for each single element of the vector v.
Definition: Vector.h:187
decltype(auto) outer(const Vector< VT1, TF1 > &lhs, const Vector< VT2, TF2 > &rhs)
Outer product of two vectors ( ).
Definition: Vector.h:352
decltype(auto) dot(const Vector< VT1, TF1 > &lhs, const Vector< VT2, TF2 > &rhs)
Scalar product (dot/inner product) of two vectors ( ).
Definition: Vector.h:283
decltype(auto) cross(const Vector< VT1, TF > &lhs, const Vector< VT2, TF > &rhs)
Cross product of two vectors ( ).
Definition: Vector.h:387
decltype(auto) reverse(VT &&v)
Reverse the elements of a vector.
Definition: Vector.h:412
Header file for the vector transpose flag types.
constexpr bool rowVector
Transpose flag for row vectors.
Definition: TransposeFlag.h:73
Header file for all forward declarations for expression class templates.
Header file for the add shim.
Header file for the div shim.
Header file for the mult shim.
Header file for the sub shim.
Header file for the implementation of the Elements view.