Peano
Loading...
Searching...
No Matches
VectorVectorOperations.h File Reference
Include dependency graph for VectorVectorOperations.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  tarch
 Have to include this header, as I need access to the SYCL_EXTERNAL keyword.
 
namespace  tarch::la
 My collection of tiny vector operations.
 

Functions

template<int Size, typename Scalar >
Vector< Size, Scalar > & tarch::la::operator+= (Vector< Size, Scalar > &lhs, const Vector< Size, Scalar > &rhs)
 Adds rVector to lVector and assigns the result to lVector.
 
template<int Size, typename Scalar >
Vector< Size, Scalar > & tarch::la::operator-= (Vector< Size, Scalar > &lhs, const Vector< Size, Scalar > &rhs)
 Subtracts rVector from lVector and assigns the result to lVector.
 
template<int Size, typename Scalar >
Vector< Size, Scalar > tarch::la::operator+ (const Vector< Size, Scalar > &lhs, const Vector< Size, Scalar > &rhs)
 Adds rVector to lVector.
 
template<int Size, typename Scalar >
Vector< Size, Scalar > tarch::la::operator- (const Vector< Size, Scalar > &lhs, const Vector< Size, Scalar > &rhs)
 Subtracts rVector from lVector.
 
template<int Size, typename Scalar >
Vector< Size, Scalar > tarch::la::multiplyComponents (const Vector< Size, Scalar > &lhs, const Vector< Size, Scalar > &rhs)
 Multiplies every component of the vectors with each other and writes the results into result.
 
template<int Size, typename Scalar >
Scalar tarch::la::operator* (const Vector< Size, Scalar > &lhs, const Vector< Size, Scalar > &rhs)
 Performs the dot (=inner) product of two vectors.
 
template<int Size, typename Scalar >
Scalar tarch::la::dot (const Vector< Size, Scalar > &lhs, const Vector< Size, Scalar > &rhs)
 Performs the dot (=inner) product of two vectors.
 
template<int Size, typename Scalar >
Scalar tarch::la::innerDot (const Vector< Size, Scalar > &lhs, const Vector< Size, Scalar > &rhs)
 Performs the dot (=inner) product of two vectors.
 
template<typename Scalar >
Vector< 3, Scalar > tarch::la::cross (const Vector< 3, Scalar > &lhs, const Vector< 3, Scalar > &rhs)
 Performs the cross product of two 3D vectors into result.
 
template<int Size, typename Scalar >
bool tarch::la::equals (const Vector< Size, Scalar > &lhs, const Vector< Size, Scalar > &rhs, const Scalar tolerance=NUMERICAL_ZERO_DIFFERENCE)
 Compares to vectors on equality by means of a numerical accuracy.
 
template<int Size, typename Scalar >
bool tarch::la::firstGreater (const Vector< Size, Scalar > &lhs, const Vector< Size, Scalar > &rhs, const Scalar tolerance=NUMERICAL_ZERO_DIFFERENCE)
 Compares sequentially every component pair of lVector and rVector, and stops as soon as one is greater than the other.
 
template<int Size, typename Scalar >
bool tarch::la::oneGreater (const Vector< Size, Scalar > &lhs, const Vector< Size, Scalar > &rhs, const Scalar tolerance=NUMERICAL_ZERO_DIFFERENCE)
 Returns true, if one component of lVector is greater than the corresponding component in rVector up to numerical accuracy.
 
template<int Size, typename Scalar >
bool tarch::la::oneGreaterEquals (const Vector< Size, Scalar > &lhs, const Vector< Size, Scalar > &rhs, const Scalar tolerance=NUMERICAL_ZERO_DIFFERENCE)
 Returns true, if one component of lVector is greater or equals than the corresponding component in rVector up to numerical accuracy.
 
template<int Size, typename Scalar >
bool tarch::la::allGreater (const Vector< Size, Scalar > &lhs, const Vector< Size, Scalar > &rhs, const Scalar tolerance=NUMERICAL_ZERO_DIFFERENCE)
 Returns true, if all components of lVector are greater than the corresponding components in rVector up to numerical accuracy.
 
template<int Size, typename Scalar >
bool tarch::la::allGreaterEquals (const Vector< Size, Scalar > &lhs, const Vector< Size, Scalar > &rhs, const Scalar tolerance=NUMERICAL_ZERO_DIFFERENCE)
 Returns true, if all components of lVector are greater or equals than the corresponding components in rVector up to numerical accuracy.
 
template<int Size, typename Scalar >
bool tarch::la::allSmaller (const Vector< Size, Scalar > &lhs, const Vector< Size, Scalar > &rhs, const Scalar tolerance=NUMERICAL_ZERO_DIFFERENCE)
 
template<int Size, typename Scalar >
bool tarch::la::allSmallerEquals (const Vector< Size, Scalar > &lhs, const Vector< Size, Scalar > &rhs, const Scalar tolerance=NUMERICAL_ZERO_DIFFERENCE)
 
template<int Size, typename Scalar >
bool tarch::la::oneSmaller (const Vector< Size, Scalar > &lhs, const Vector< Size, Scalar > &rhs, const Scalar tolerance=NUMERICAL_ZERO_DIFFERENCE)
 
template<int Size, typename Scalar >
bool tarch::la::oneSmallerEquals (const Vector< Size, Scalar > &lhs, const Vector< Size, Scalar > &rhs, const Scalar tolerance=NUMERICAL_ZERO_DIFFERENCE)
 
template<int Size, typename Scalar >
Vector< Size, Scalar > tarch::la::max (const Vector< Size, Scalar > &lhs, const Vector< Size, Scalar > &rhs)
 Component-wise max evaluation.
 
template<int Size, typename Scalar >
Vector< Size, Scalar > tarch::la::min (const Vector< Size, Scalar > &lhs, const Vector< Size, Scalar > &rhs)
 Component-wise min evaluation.
 
template<int Size, typename Scalar >
bool tarch::la::operator== (const Vector< Size, Scalar > &lhs, const Vector< Size, Scalar > &rhs)
 Bit-wise comparison of the components of two vectors for equality.
 
template<int Size, typename Scalar >
bool tarch::la::operator!= (const Vector< Size, Scalar > &lhs, const Vector< Size, Scalar > &rhs)
 Bit-wise comparison of the components of two vectors for inequality.
 
template<int Size, typename Scalar >
int tarch::la::equalsReturnIndex (const Vector< Size, Scalar > &lhs, const Vector< Size, Scalar > &rhs, const Scalar tolerance=NUMERICAL_ZERO_DIFFERENCE)
 Return Index of element which is not equals.
 
template<int Size>
int tarch::la::equalsReturnIndex (const Vector< Size, int > &lhs, const Vector< Size, int > &rhs)
 
template<int Size>
int tarch::la::countEqualEntries (const Vector< Size, int > &lhs, const Vector< Size, int > &rhs)
 Run through both vectors and count how many entries are the same.
 
template<int Size, typename Scalar >
int tarch::la::countEqualEntries (const Vector< Size, Scalar > &lhs, const Vector< Size, Scalar > &rhs, const Scalar tolerance=NUMERICAL_ZERO_DIFFERENCE)