|
| template<class... T> |
| | sl::vec::Vector (T &&...) -> Vector< std::common_type_t< T... >, sizeof...(T)> |
| | Vector deduction guide to make aggregate-like construction easier. More...
|
| |
| template<vectorial TVector, add_assignable< TVector > T2> |
| constexpr TVector | sl::vec::operator+ (TVector lhs, T2 &&rhs) |
| | Sum operator. More...
|
| |
| template<vectorial TVector, sub_assignable< TVector > T2> |
| constexpr TVector | sl::vec::operator- (TVector lhs, T2 &&rhs) |
| | Minus operator. More...
|
| |
| template<vectorial TVector, mul_assignable< TVector > T2> |
| constexpr TVector | sl::vec::operator* (TVector lhs, T2 &&rhs) |
| | Multiplication operator. More...
|
| |
| template<vectorial TVector, mul_assignable< TVector > T2> |
| constexpr TVector | sl::vec::operator* (T2 &&lhs, TVector rhs) |
| | Commutative multiplication operator. More...
|
| |
| template<vectorial TVector, div_assignable< TVector > T2> |
| constexpr TVector | sl::vec::operator/ (TVector lhs, T2 &&rhs) |
| | Division operator. More...
|
| |
| template<vectorial TVector, mod_assignable< TVector > T2> |
| constexpr TVector | sl::vec::operator% (TVector lhs, T2 &&rhs) |
| | Modulo operator. More...
|
| |
template<vectorial TVector1, vectorial TVector2>
requires mulable<vector_value_t<TVector2>, vector_value_t<TVector1>> |
| constexpr vector_value_t< TVector1 > | sl::vec::dot_product (const TVector1 &lhs, const TVector2 &rhs) |
| | Calculates the dot product of to Vectors. More...
|
| |
| template<vectorial TVector> |
| constexpr vector_value_t< TVector > | sl::vec::length_squared (const TVector &vector) |
| | Calculates the squared length of a Vector. More...
|
| |
| template<vectorial TVector> |
| constexpr auto | sl::vec::length (const TVector &vector) |
| | Calculates the length of a Vector. More...
|
| |
template<vectorial TVector>
requires std::floating_point<vector_value_t<TVector>> |
| constexpr TVector | sl::vec::normalized (TVector vec) |
| | Calculates the normalization of a Vector. More...
|
| |
| template<vectorial TVector> |
| constexpr TVector | sl::vec::projected (const TVector &vector, TVector target) |
| | Projects vector onto the target Vector. More...
|
| |
template<vectorial TVector, class T >
requires std::is_arithmetic_v<T> |
| constexpr TVector | sl::vec::lerp (TVector vector1, const TVector &vector2, T t) |
| | Computes the linear interpolation between both vectors for the parameter t (or extrapolation, when t is outside the range [0,1]). More...
|
| |
template<vectorial TVector>
requires std::floating_point<vector_value_t<TVector>> |
| constexpr TVector | sl::vec::inversed (TVector vector) |
| | Computes the inverse of the vector (1./v[0], 1./v[1], ...). More...
|
| |