|
| template<typename T , typename U > |
| PLAYRHO_CONSTEXPR U | playrho::Secant (T target, U a1, T s1, U a2, T s2) noexcept |
| | Secant method. More...
|
| |
| template<typename T > |
| PLAYRHO_CONSTEXPR T | playrho::Bisect (T a1, T a2) noexcept |
| | Bisection method. More...
|
| |
| template<typename T > |
| PLAYRHO_CONSTEXPR bool | playrho::IsOdd (T val) noexcept |
| | Is-odd. More...
|
| |
| template<class TYPE > |
| PLAYRHO_CONSTEXPR auto | playrho::Square (TYPE t) noexcept |
| | Squares the given value. More...
|
| |
| template<typename T > |
| auto | playrho::Atan2 (T y, T x) |
| | Computes the arc-tangent of the given y and x values. More...
|
| |
| template<typename T , typename = std::enable_if_t< IsIterable<T>::value && IsAddable<decltype(*begin(std::declval<T>()))>::value> |
| auto | playrho::Average (const T &span) |
| | Computes the average of the given values. More...
|
| |
| template<typename T > |
| std::enable_if_t< IsArithmetic< T >::value, T > | playrho::RoundOff (T value, unsigned precision=100000) |
| | Computes the rounded value of the given value. More...
|
| |
| Vec2 | playrho::RoundOff (Vec2 value, std::uint32_t precision=100000) |
| | Computes the rounded value of the given value. More...
|
| |
| template<typename T , std::size_t N> |
| PLAYRHO_CONSTEXPR Vector< T, N > | playrho::abs (const Vector< T, N > &v) noexcept |
| | Absolute value function for vectors. More...
|
| |
| d2::UnitVec | playrho::abs (const d2::UnitVec &v) noexcept |
| | Gets the absolute value of the given value. More...
|
| |
| template<typename T > |
| PLAYRHO_CONSTEXPR std::enable_if_t< std::is_arithmetic< T >::value, bool > | playrho::AlmostZero (T value) |
| | Gets whether a given value is almost zero. More...
|
| |
| template<typename T > |
| PLAYRHO_CONSTEXPR std::enable_if_t< std::is_floating_point< T >::value, bool > | playrho::AlmostEqual (T x, T y, int ulp=2) |
| | Determines whether the given two values are "almost equal". More...
|
| |
| template<typename T > |
| auto | playrho::ModuloViaFmod (T dividend, T divisor) noexcept |
| | Modulo operation using std::fmod. More...
|
| |
| template<typename T > |
| auto | playrho::ModuloViaTrunc (T dividend, T divisor) noexcept |
| | Modulo operation using std::trunc. More...
|
| |
| Angle | playrho::GetNormalized (Angle value) noexcept |
| | Gets the "normalized" value of the given angle. More...
|
| |
| template<class T > |
| Angle | playrho::GetAngle (const Vector2< T > value) |
| | Gets the angle. More...
|
| |
| template<typename T > |
| PLAYRHO_CONSTEXPR auto | playrho::GetMagnitudeSquared (T value) noexcept |
| | Gets the square of the magnitude of the given iterable value. More...
|
| |
| template<typename T > |
| auto | playrho::GetMagnitude (T value) |
| | Gets the magnitude of the given value. More...
|
| |
| template<typename T1 , typename T2 > |
| PLAYRHO_CONSTEXPR auto | playrho::Dot (const T1 a, const T2 b) noexcept |
| | Performs the dot product on two vectors (A and B). More...
|
| |
| template<class T1 , class T2 , std::enable_if_t< std::tuple_size< T1 >::value==2 &&std::tuple_size< T2 >::value==2, int > = 0> |
| PLAYRHO_CONSTEXPR auto | playrho::Cross (T1 a, T2 b) noexcept |
| | Performs the 2-element analog of the cross product of two vectors. More...
|
| |
| template<typename T , typename U > |
| PLAYRHO_CONSTEXPR auto | playrho::Solve (const Matrix22< U > mat, const Vector2< T > b) noexcept |
| | Solves A * x = b, where b is a column vector. More...
|
| |
| template<class IN_TYPE > |
| PLAYRHO_CONSTEXPR auto | playrho::Invert (const Matrix22< IN_TYPE > value) noexcept |
| | Inverts the given value. More...
|
| |
| PLAYRHO_CONSTEXPR Vec3 | playrho::Solve33 (const Mat33 &mat, const Vec3 b) noexcept |
| | Solves A * x = b, where b is a column vector. More...
|
| |
| template<typename T > |
| PLAYRHO_CONSTEXPR T | playrho::Solve22 (const Mat33 &mat, const T b) noexcept |
| | Solves A * x = b, where b is a column vector. More...
|
| |
| PLAYRHO_CONSTEXPR Mat33 | playrho::GetInverse22 (const Mat33 &value) noexcept |
| | Gets the inverse of the given matrix as a 2-by-2. More...
|
| |
| PLAYRHO_CONSTEXPR Mat33 | playrho::GetSymInverse33 (const Mat33 &value) noexcept |
| | Gets the symmetric inverse of this matrix as a 3-by-3. More...
|
| |
| template<class T > |
| PLAYRHO_CONSTEXPR auto | playrho::GetRevPerpendicular (const T vector) noexcept |
| | Gets a vector counter-clockwise (reverse-clockwise) perpendicular to the given vector. More...
|
| |
| template<class T > |
| PLAYRHO_CONSTEXPR auto | playrho::GetFwdPerpendicular (const T vector) noexcept |
| | Gets a vector clockwise (forward-clockwise) perpendicular to the given vector. More...
|
| |
| template<std::size_t M, typename T1 , std::size_t N, typename T2 > |
| PLAYRHO_CONSTEXPR auto | playrho::Transform (const Vector< T1, M > v, const Matrix< T2, M, N > &m) noexcept |
| | Multiplies an M-element vector by an M-by-N matrix. More...
|
| |
| PLAYRHO_CONSTEXPR Vec2 | playrho::Transform (const Vec2 v, const Mat33 &A) noexcept |
| | Multiplies a vector by a matrix. More...
|
| |
| PLAYRHO_CONSTEXPR Vec2 | playrho::InverseTransform (const Vec2 v, const Mat22 &A) noexcept |
| |
| PLAYRHO_CONSTEXPR Mat22 | playrho::MulT (const Mat22 &A, const Mat22 &B) noexcept |
| | Computes A^T * B. More...
|
| |
| Mat22 | playrho::abs (const Mat22 &A) |
| | Gets the absolute value of the given value. More...
|
| |
| std::uint64_t | playrho::NextPowerOfTwo (std::uint64_t x) |
| | Gets the next largest power of 2. More...
|
| |
| Real | playrho::Normalize (Vec2 &vector) |
| | Converts the given vector into a unit vector and returns its original length. More...
|
| |
| Length2 | playrho::ComputeCentroid (const Span< const Length2 > &vertices) |
| | Computes the centroid of a counter-clockwise array of 3 or more vertices. More...
|
| |
| template<typename T > |
| PLAYRHO_CONSTEXPR T | playrho::GetModuloNext (T value, T count) noexcept |
| | Gets the modulo next value. More...
|
| |
| template<typename T > |
| PLAYRHO_CONSTEXPR T | playrho::GetModuloPrev (T value, T count) noexcept |
| | Gets the modulo previous value. More...
|
| |
| Angle | playrho::GetDelta (Angle a1, Angle a2) noexcept |
| | Gets the shortest angular distance to go from angle 1 to angle 2. More...
|
| |
| PLAYRHO_CONSTEXPR Angle | playrho::GetRevRotationalAngle (Angle a1, Angle a2) noexcept |
| |
| std::vector< Length2 > | playrho::GetCircleVertices (Length radius, unsigned slices, Angle start=0_deg, Real turns=Real{1}) |
| | Gets the vertices for a circle described by the given parameters. More...
|
| |
| NonNegative< Area > | playrho::GetAreaOfCircle (Length radius) |
| | Gets the area of a circle. More...
|
| |
| NonNegative< Area > | playrho::GetAreaOfPolygon (Span< const Length2 > vertices) |
| | Gets the area of a polygon. More...
|
| |
| SecondMomentOfArea | playrho::GetPolarMoment (Span< const Length2 > vertices) |
| | Gets the polar moment of the area enclosed by the given vertices. More...
|
| |
| template<typename T , std::size_t N> |
| PLAYRHO_CONSTEXPR Vector< T, N > | abs (const Vector< T, N > &v) noexcept |
| | Absolute value function for vectors. More...
|
| |
Additional functions for common mathematical operations.
These are non-member non-friend functions for mathematical operations especially those with mixed input and output types.