API Documentation
Loading...
Searching...
No Matches
VectorFunctions.hpp File Reference
#include <NDEVR/Vector.h>
#include <cmath>
Include dependency graph for VectorFunctions.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  VectorFunctions
 

Namespaces

namespace  NDEVR
 

Functions

template<class t_vector_type , uint01 t_dims, class t_type >
constexpr std::enable_if< std::is_base_of< Vector< t_dims, t_type >, t_vector_type >::value, t_vector_type >::type operator+ (const t_vector_type &vec_a, const Vector< t_dims, t_type > &vec_b)
 Addition operator.
 
template<uint01 t_dims, class t_type >
constexpr Vector< t_dims, t_type > operator+ (const t_type &scaler_a, const Vector< t_dims, t_type > &vec_b)
 
template<class t_vector_type , class t_type >
constexpr std::enable_if< IsVecType< t_vector_type, t_type >::value, t_vector_type >::type operator+ (const t_vector_type &vec_a, const t_type &scaler_b)
 
template<class t_vector_type , class t_type >
constexpr std::enable_if< IsVecType< t_vector_type, t_type >::value, t_vector_type >::type operator+ (const t_type &scaler_a, const t_vector_type &vec_b)
 
template<uint01 t_dims, class t_type >
constexpr Vector< t_dims, t_type > & operator+= (Vector< t_dims, t_type > &vec_a, const Vector< t_dims, t_type > &vec_b)
 
template<uint01 t_dims, class t_type >
constexpr Vector< t_dims, t_type > & operator+= (Vector< t_dims, t_type > &vec_a, t_type scaler_b)
 
template<class t_vector_type , uint01 t_dims, class t_type >
constexpr std::enable_if< std::is_base_of< Vector< t_dims, t_type >, t_vector_type >::value, t_vector_type >::type operator- (const t_vector_type &vec_a, const Vector< t_dims, t_type > &vec_b)
 
template<uint01 t_dims, class t_type >
constexpr Vector< t_dims, t_type > operator- (const t_type &value_a, const Vector< t_dims, t_type > &vec_b)
 
template<class t_vector_type , class t_type >
constexpr std::enable_if< IsVecType< t_vector_type, t_type >::value, t_vector_type >::type operator- (const t_vector_type &vec_a, const t_type &value_b)
 
template<uint01 t_dims, class t_type >
constexpr Vector< t_dims, t_type > & operator-= (Vector< t_dims, t_type > &vec_a, const Vector< t_dims, t_type > &vec_b)
 
template<uint01 t_dims, class t_type >
constexpr Vector< t_dims, t_type > operator-= (Vector< t_dims, t_type > &vec_a, t_type value_b)
 
template<uint01 t_dims, class t_type >
constexpr Vector< t_dims, t_type > operator* (const Vector< t_dims, t_type > &vec_a, const Vector< t_dims, t_type > &vec_b)
 
template<class t_vector_type , class t_type >
constexpr std::enable_if< IsVecType< t_vector_type, t_type >::value, t_vector_type >::type operator* (const t_type &value_a, const t_vector_type &vec_b)
 
template<class t_vector_type , class t_type >
constexpr std::enable_if< IsVecType< t_vector_type, t_type >::value, t_vector_type >::type operator* (const t_vector_type &vec_a, const t_type &value_b)
 
template<uint01 t_dims, class t_type >
constexpr Vector< t_dims, t_type > & operator*= (Vector< t_dims, t_type > &vec_a, const Vector< t_dims, t_type > &vec_b)
 
template<uint01 t_dims, class t_type >
constexpr Vector< t_dims, t_type > & operator*= (Vector< t_dims, t_type > &vec_a, t_type value_b)
 
template<uint01 t_dims, class t_type >
constexpr Vector< t_dims, t_type > operator/ (const Vector< t_dims, t_type > &vec_a, const Vector< t_dims, t_type > &vec_b)
 
template<class t_vector_type , class t_type >
constexpr std::enable_if< IsVecType< t_vector_type, t_type >::value, t_vector_type >::type operator/ (const t_type &value_a, const t_vector_type &vec_b)
 
template<class t_vector_type , class t_type >
constexpr std::enable_if< IsVecType< t_vector_type, t_type >::value, t_vector_type >::type operator/ (const t_vector_type &vec_a, const t_type &value_b)
 
template<uint01 t_dims, class t_type >
constexpr Vector< t_dims, t_type > operator% (const Vector< t_dims, t_type > &vec_a, const Vector< t_dims, t_type > &vec_b)
 
template<uint01 t_dims, class t_type >
constexpr Vector< t_dims, t_type > operator% (const Vector< t_dims, t_type > &vec_a, const t_type &value_b)
 
template<uint01 t_dims, class t_type >
constexpr Vector< t_dims, t_type > operator/= (Vector< t_dims, t_type > &vec_a, const Vector< t_dims, t_type > &vec_b)
 
template<uint01 t_dims, class t_type >
constexpr Vector< t_dims, t_type > & operator/= (Vector< t_dims, t_type > &vec_a, t_type value_b)
 
template<class t_vector_type , class t_type >
constexpr std::enable_if< IsVecType< t_vector_type, t_type >::value, bool >::type operator== (const t_vector_type &v, const t_type &s)
 
template<class t_vector_type , class t_type >
constexpr std::enable_if< IsVecType< t_vector_type, t_type >::value, bool >::type operator== (const t_type &s, const t_vector_type &v)
 
template<class t_vector_type >
constexpr std::enable_if< IsVec< t_vector_type >::value, bool >::type operator== (const t_vector_type &v_a, const t_vector_type &v_b)
 
template<class t_type >
constexpr std::enable_if<!IsVec< t_type >::value, bool >::type AreSame (const t_type &a, const t_type &b)
 
template<class t_type >
constexpr std::enable_if<!IsVec< t_type >::value, bool >::type AreSame (const t_type &a, const t_type &b, const t_type &epsilon)
 
template<class t_vector_type >
constexpr std::enable_if< IsVec< t_vector_type >::value, bool >::type AreSame (const t_vector_type &v_a, const t_vector_type &v_b)
 
template<class t_vector_type , class t_type >
constexpr std::enable_if< IsVec< t_vector_type >::value, bool >::type AreSame (const t_vector_type &v_a, const t_vector_type &v_b, const t_type &epsilon)
 
template<class t_vector_type >
constexpr std::enable_if< IsVec< t_vector_type >::value, bool >::type operator!= (const t_vector_type &v_a, const t_vector_type &v_b)
 
template<class t_vector_type , class t_type >
constexpr std::enable_if< IsVecType< t_vector_type, t_type >::value, bool >::type operator!= (const t_vector_type &v, const t_type &s)
 
template<class t_vector_type , class t_type >
constexpr std::enable_if< IsVecType< t_vector_type, t_type >::value, bool >::type operator!= (const t_type &s, const t_vector_type &v)
 
template<uint01 vec_1_size, uint01 vec_2_size, class t_type >
constexpr bool operator>= (const Vector< vec_1_size, t_type > &v1, const Vector< vec_2_size, t_type > &v2)
 
template<uint01 t_dims, class t_type >
constexpr bool operator>= (const Vector< t_dims, t_type > &v1, const t_type &s)
 
template<uint01 vec_1_size, uint01 vec_2_size, class t_type >
constexpr bool operator> (const Vector< vec_1_size, t_type > &v1, const Vector< vec_2_size, t_type > &v2)
 
template<uint01 vec_1_size, uint01 vec_2_size, class t_type >
constexpr bool operator< (const Vector< vec_1_size, t_type > &v1, const Vector< vec_2_size, t_type > &v2)
 
template<uint01 vec_1_size, uint01 vec_2_size, class t_type >
constexpr bool operator<= (const Vector< vec_1_size, t_type > &v1, const Vector< vec_2_size, t_type > &v2)
 
template<uint01 t_dims, class t_type >
constexpr bool operator>= (const Vector< t_dims, t_type > &v1, const Vector< t_dims, t_type > &v2)
 
template<uint01 t_dims, class t_type >
constexpr bool operator> (const Vector< t_dims, t_type > &v1, const Vector< t_dims, t_type > &v2)
 
template<uint01 t_dims, class t_type >
constexpr bool operator< (const Vector< t_dims, t_type > &v1, const Vector< t_dims, t_type > &v2)
 
template<class t_vector_type , class t_type >
constexpr std::enable_if< IsVecType< t_vector_type, t_type >::value, bool >::type operator< (const t_vector_type &v, const t_type &s)
 
template<class t_vector_type , class t_type >
constexpr std::enable_if< IsVecType< t_vector_type, t_type >::value, bool >::type operator< (const t_type &s, const t_vector_type &v)
 
template<class t_vector_type , class t_type >
constexpr std::enable_if< IsVecType< t_vector_type, t_type >::value, bool >::type operator<= (const t_type &s, const t_vector_type &v)
 
template<class t_vector_type , class t_type >
constexpr std::enable_if< IsVecType< t_vector_type, t_type >::value, bool >::type operator<= (const t_vector_type &v, const t_type &s)
 
template<class t_vector_type , class t_type >
constexpr std::enable_if< IsVecType< t_vector_type, t_type >::value, bool >::type operator> (const t_vector_type &v, const t_type &s)
 
template<class t_vector_type , class t_type >
constexpr std::enable_if< IsVecType< t_vector_type, t_type >::value, bool >::type operator> (const t_type &s, const t_vector_type &v)
 
template<uint01 t_dims, class t_type >
constexpr bool operator<= (const Vector< t_dims, t_type > &v1, const Vector< t_dims, t_type > &v2)
 
template<class t_type >
constexpr Vector< 1, t_type > cross (const Vector< 1, t_type > &, const Vector< 1, t_type > &)
 
template<class t_type >
constexpr t_type cross (const Vector< 2, t_type > &v1, const Vector< 2, t_type > &v2)
 
template<class t_type >
constexpr Vector< 2, t_type > cross (const Vector< 2, t_type > &v1, const t_type &v2)
 
template<class t_type >
constexpr Vector< 3, t_type > cross (const Vector< 3, t_type > &v1, const Vector< 3, t_type > &v2)
 
template<uint01 t_dims, class t_type >
constexpr Vector< t_dims, t_type > getMax (const Vector< t_dims, t_type > &v1, const Vector< t_dims, t_type > &v2)
 
template<uint01 t_dims, class t_type >
constexpr Vector< t_dims, t_type > getMin (const Vector< t_dims, t_type > &v1, const Vector< t_dims, t_type > &v2)
 
template<uint01 t_dims, class t_type >
t_type determinate (const Vector< t_dims, t_type > &v1, const Vector< t_dims, t_type > &v2)
 
template<uint01 t_dims, class t_type >
t_type determinate (const Vector< t_dims, t_type > &v1, const Vector< t_dims, t_type > &v2, const Vector< t_dims, t_type > &v3)
 
template<uint01 t_dims, class t_type >
t_type dot (const Vector< t_dims, t_type > &v1, const Vector< t_dims, t_type > &v2)
 
template<uint01 t_dims, class t_type >
bool areParallel (const Vector< t_dims, t_type > &v1, const Vector< t_dims, t_type > &v2)
 
template<uint01 t_dims, class t_type >
constexpr bool equals (const Vector< t_dims, t_type > &left, const Vector< t_dims, t_type > &right, const t_type &epsilon=cast< t_type >(0))
 
template<class t_type >
constexpr std::enable_if<!IsVec< t_type >::value, t_type >::type abs (const t_type &value)
 
template<class t_type >
constexpr std::enable_if< IsVec< t_type >::value, t_type >::type abs (const t_type &value)
 
template<class t_to , class t_from >
constexpr t_to cast (Vector< 1, t_from > &value)
 
template<>
constexpr uint01 abs (const uint01 &value)
 
template<>
constexpr uint02 abs (const uint02 &value)
 
template<>
constexpr uint04 abs (const uint04 &value)
 
template<>
constexpr uint08 abs (const uint08 &value)
 
template<uint01 t_dims, class t_type >
constexpr Vector< t_dims, t_type > abs (const Vector< t_dims, t_type > &vector)
 
template<class t_type >
t_type sqrt (const t_type &value)
 
template<uint01 t_dims, class t_type >
Vector< t_dims, t_type > sqrt (const Vector< t_dims, t_type > &vector)
 
template<uint01 t_dims, class t_type >
t_type distanceSquared (const Vector< t_dims, t_type > &v1, const Vector< t_dims, t_type > &v2)
 
template<uint01 t_dims, class t_type >
t_type distance (const Vector< t_dims, t_type > &v1, const Vector< t_dims, t_type > &v2)
 
template<class t_distance_type , uint01 t_dims, class t_type >
t_distance_type distance (const Vector< t_dims, t_type > &v1, const Vector< t_dims, t_type > &v2)
 
template<uint01 t_dims, typename t_type >
constexpr Vector< t_dims, t_type > clip (const Vector< t_dims, t_type > &value, const Vector< t_dims, t_type > &lower_bound, const Vector< t_dims, t_type > &upper_bound)