|
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...
|
|