Description
Collaboration diagram for Math utilities:
Classes | |
class | chrono::real2 |
Chrono::Multicore pair (2-dimensional vector). More... | |
class | chrono::real3 |
Chrono::Multicore triplet (3-dimensional vector). More... | |
class | chrono::real4 |
Chrono::Multicore qudruple (4-dimensional array). More... | |
class | chrono::quaternion |
Chrono::Multicore quaternion class. More... | |
Typedefs | |
typedef double | chrono::real |
Functions | |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::operator* (const Mat33 &M, const real3 &v) |
CUDA_HOST_DEVICE CH_MULTICORE_API Mat33 | chrono::operator* (const Mat33 &N, const real scale) |
CUDA_HOST_DEVICE CH_MULTICORE_API Mat33 | chrono::operator* (const Mat33 &M, const Mat33 &N) |
CUDA_HOST_DEVICE CH_MULTICORE_API Mat33 | chrono::operator+ (const Mat33 &M, const Mat33 &N) |
CUDA_HOST_DEVICE CH_MULTICORE_API Mat33 | chrono::operator- (const Mat33 &M, const Mat33 &N) |
CUDA_HOST_DEVICE CH_MULTICORE_API OPERATOR_EQUALSALT_PROTO real CUDA_HOST_DEVICE CH_MULTICORE_API OPERATOR_EQUALSALT_PROTO Mat33 CUDA_HOST_DEVICE CH_MULTICORE_API | chrono::OPERATOR_EQUALSALT_PROTO (+, Mat33, Mat33) CUDA_HOST_DEVICE CH_MULTICORE_API OPERATOR_EQUALSALT_PROTO(- |
CUDA_HOST_DEVICE CH_MULTICORE_API OPERATOR_EQUALSALT real CUDA_HOST_DEVICE CH_MULTICORE_API OPERATOR_EQUALSALT Mat33 CUDA_HOST_DEVICE CH_MULTICORE_API Mat33 CUDA_HOST_DEVICE CH_MULTICORE_API Mat33 | chrono::operator- (const Mat33 &M) |
CUDA_HOST_DEVICE CH_MULTICORE_API Mat33 | chrono::operator* (const real s, const Mat33 &a) |
CUDA_HOST_DEVICE CH_MULTICORE_API Mat33 | chrono::SkewSymmetric (const real3 &r) |
CUDA_HOST_DEVICE CH_MULTICORE_API Mat33 | chrono::SkewSymmetricAlt (const real3 &r) |
CUDA_HOST_DEVICE CH_MULTICORE_API real | chrono::Determinant (const Mat33 &m) |
CUDA_HOST_DEVICE CH_MULTICORE_API Mat33 | chrono::Abs (const Mat33 &m) |
CUDA_HOST_DEVICE CH_MULTICORE_API Mat33 | chrono::Transpose (const Mat33 &a) |
CUDA_HOST_DEVICE CH_MULTICORE_API Mat33 | chrono::MultTranspose (const Mat33 &M, const Mat33 &N) |
CUDA_HOST_DEVICE CH_MULTICORE_API Mat33 | chrono::TransposeMult (const Mat33 &M, const Mat33 &N) |
CUDA_HOST_DEVICE CH_MULTICORE_API real | chrono::Trace (const Mat33 &m) |
CUDA_HOST_DEVICE CH_MULTICORE_API Mat33 | chrono::OuterProduct (const real3 &a, const real3 &b) |
CUDA_HOST_DEVICE CH_MULTICORE_API real | chrono::InnerProduct (const Mat33 &A, const Mat33 &B) |
CUDA_HOST_DEVICE CH_MULTICORE_API Mat33 | chrono::Adjoint (const Mat33 &A) |
CUDA_HOST_DEVICE CH_MULTICORE_API Mat33 | chrono::AdjointTranspose (const Mat33 &A) |
CUDA_HOST_DEVICE CH_MULTICORE_API Mat33 | chrono::Inverse (const Mat33 &A) |
CUDA_HOST_DEVICE CH_MULTICORE_API Mat33 | chrono::InverseTranspose (const Mat33 &A) |
CUDA_HOST_DEVICE CH_MULTICORE_API real | chrono::Norm (const Mat33 &A) |
CUDA_HOST_DEVICE CH_MULTICORE_API real | chrono::NormSq (const Mat33 &A) |
CUDA_HOST_DEVICE CH_MULTICORE_API real | chrono::DoubleDot (const Mat33 &A, const Mat33 &B) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::LargestColumnNormalized (const Mat33 &A) |
CUDA_HOST_DEVICE CH_MULTICORE_API Mat33 | chrono::operator* (const DiagMat33 &M, const Mat33 &N) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::operator* (const DiagMat33 &M, const real3 &v) |
CUDA_HOST_DEVICE CH_MULTICORE_API SymMat33 | chrono::operator- (const SymMat33 &M, const real &v) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::operator* (const Mat32 &M, const real2 &v) |
CUDA_HOST_DEVICE CH_MULTICORE_API SymMat22 | chrono::operator- (const SymMat22 &M, const real &v) |
CUDA_HOST_DEVICE CH_MULTICORE_API SymMat22 | chrono::CofactorMatrix (const SymMat22 &A) |
CUDA_HOST_DEVICE CH_MULTICORE_API real2 | chrono::LargestColumnNormalized (const SymMat22 &A) |
CUDA_HOST_DEVICE CH_MULTICORE_API SymMat33 | chrono::NormalEquationsMatrix (const Mat33 &A) |
CUDA_HOST_DEVICE CH_MULTICORE_API SymMat33 | chrono::CofactorMatrix (const SymMat33 &A) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::LargestColumnNormalized (const SymMat33 &A) |
CUDA_HOST_DEVICE CH_MULTICORE_API Mat32 | chrono::operator* (const SymMat33 &M, const Mat32 &N) |
CUDA_HOST_DEVICE CH_MULTICORE_API SymMat22 | chrono::TransposeTimesWithSymmetricResult (const Mat32 &A, const Mat32 &B) |
CUDA_HOST_DEVICE CH_MULTICORE_API SymMat22 | chrono::ConjugateWithTranspose (const Mat32 &A, const SymMat33 &B) |
CUDA_HOST_DEVICE CH_MULTICORE_API void | chrono::Print (const Mat33 &A, const char *name) |
CUDA_HOST_DEVICE CH_MULTICORE_API void | chrono::Print (const Mat32 &A, const char *name) |
CUDA_HOST_DEVICE CH_MULTICORE_API void | chrono::Print (const SymMat33 &A, const char *name) |
CUDA_HOST_DEVICE CH_MULTICORE_API void | chrono::Print (const SymMat22 &A, const char *name) |
CUDA_HOST_DEVICE CH_MULTICORE_API void | chrono::PrintLine (const Mat33 &A, const char *name) |
CUDA_HOST_DEVICE CH_MULTICORE_API void | chrono::PrintLine (const Mat32 &A, const char *name) |
CUDA_HOST_DEVICE CH_MULTICORE_API void | chrono::PrintLine (const SymMat33 &A, const char *name) |
CUDA_HOST_DEVICE CH_MULTICORE_API void | chrono::PrintLine (const SymMat22 &A, const char *name) |
CUDA_HOST_DEVICE real | chrono::Lerp (const real &start, const real &end, const real &t) |
template<typename T > | |
CUDA_HOST_DEVICE void | chrono::Swap (T &a, T &b) |
template<typename T > | |
CUDA_HOST_DEVICE void | chrono::Sort (T &a, T &b, T &c) |
template<typename T > | |
CUDA_HOST_DEVICE void | chrono::SwapIfGreater (T &a, T &b) |
CUDA_HOST_DEVICE real | chrono::Clamp (real x, real low, real high) |
Clamps a given value a between user specified minimum and maximum values. | |
CUDA_HOST_DEVICE real | chrono::ClampMin (real x, real low) |
CUDA_HOST_DEVICE real | chrono::ClampMax (real x, real high) |
CUDA_HOST_DEVICE real2 | chrono::operator+ (const real2 &a, real b) |
CUDA_HOST_DEVICE real2 | chrono::operator- (const real2 &a, real b) |
CUDA_HOST_DEVICE real2 | chrono::operator* (const real2 &a, real b) |
CUDA_HOST_DEVICE real2 | chrono::operator/ (const real2 &a, real b) |
CUDA_HOST_DEVICE real2 | chrono::operator+ (const real2 &a, const real2 &b) |
CUDA_HOST_DEVICE real2 | chrono::operator- (const real2 &a, const real2 &b) |
CUDA_HOST_DEVICE real2 | chrono::operator* (const real2 &a, const real2 &b) |
CUDA_HOST_DEVICE real2 | chrono::operator/ (const real2 &a, const real2 &b) |
CUDA_HOST_DEVICE real2 | chrono::operator- (const real2 &a) |
CUDA_HOST_DEVICE | chrono::OPERATOR_EQUALS_PROTO (/, real, real2) |
CUDA_HOST_DEVICE | chrono::OPERATOR_EQUALS_PROTO (+, real, real2) |
CUDA_HOST_DEVICE | chrono::OPERATOR_EQUALS_PROTO (-, real, real2) |
CUDA_HOST_DEVICE | chrono::OPERATOR_EQUALS_PROTO (/, real2, real2) |
CUDA_HOST_DEVICE | chrono::OPERATOR_EQUALS_PROTO (+, real2, real2) |
CUDA_HOST_DEVICE | chrono::OPERATOR_EQUALS_PROTO (-, real2, real2) |
CUDA_HOST_DEVICE real2 | chrono::operator* (real lhs, const real2 &rhs) |
CUDA_HOST_DEVICE bool | chrono::operator== (const real2 &lhs, const real2 &rhs) |
CUDA_HOST_DEVICE real2 | chrono::Max (const real2 &a, const real2 &b) |
CUDA_HOST_DEVICE real2 | chrono::Min (const real2 &a, const real2 &b) |
CUDA_HOST_DEVICE real | chrono::Dot (const real2 &v1, const real2 &v2) |
CUDA_HOST_DEVICE real | chrono::Dot (const real2 &v) |
CUDA_HOST_DEVICE real | chrono::Length2 (const real2 &v1) |
CUDA_HOST_DEVICE real2 | chrono::Normalize (const real2 &v1) |
CUDA_HOST_DEVICE void | chrono::Print (real2 v, const char *name) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::Set3 (real x) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::Set3 (real x, real y, real z) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::operator+ (const real3 &a, real b) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::operator- (const real3 &a, real b) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::operator* (const real3 &a, real b) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::operator/ (const real3 &a, real b) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::operator+ (const real3 &a, const real3 &b) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::operator- (const real3 &a, const real3 &b) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::operator* (const real3 &a, const real3 &b) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::operator/ (const real3 &a, const real3 &b) |
CUDA_HOST_DEVICE CH_MULTICORE_API | chrono::OPERATOR_EQUALS_PROTO (/, real, real3) |
CUDA_HOST_DEVICE CH_MULTICORE_API | chrono::OPERATOR_EQUALS_PROTO (+, real, real3) |
CUDA_HOST_DEVICE CH_MULTICORE_API | chrono::OPERATOR_EQUALS_PROTO (-, real, real3) |
CUDA_HOST_DEVICE CH_MULTICORE_API | chrono::OPERATOR_EQUALS_PROTO (/, real3, real3) |
CUDA_HOST_DEVICE CH_MULTICORE_API | chrono::OPERATOR_EQUALS_PROTO (+, real3, real3) |
CUDA_HOST_DEVICE CH_MULTICORE_API | chrono::OPERATOR_EQUALS_PROTO (-, real3, real3) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::operator- (const real3 &a) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::operator* (real lhs, const real3 &rhs) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::operator/ (real lhs, const real3 &rhs) |
CUDA_HOST_DEVICE CH_MULTICORE_API bool | chrono::operator< (const real3 &a, const real3 &b) |
CUDA_HOST_DEVICE CH_MULTICORE_API bool | chrono::operator> (const real3 &a, const real3 &b) |
CUDA_HOST_DEVICE CH_MULTICORE_API bool | chrono::operator== (const real3 &a, const real3 &b) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::Cross (const real3 &b, const real3 &c) |
CUDA_HOST_DEVICE CH_MULTICORE_API real | chrono::Dot (const real3 &v1, const real3 &v2) |
CUDA_HOST_DEVICE CH_MULTICORE_API real | chrono::Dot (const real3 &v) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::Normalize (const real3 &v) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::Sqrt (const real3 &v) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::Round (const real3 &v) |
CUDA_HOST_DEVICE CH_MULTICORE_API real | chrono::Length (const real3 &v) |
CUDA_HOST_DEVICE CH_MULTICORE_API real | chrono::Length2 (const real3 &v1) |
CUDA_HOST_DEVICE CH_MULTICORE_API real | chrono::SafeLength (const real3 &v) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::SafeNormalize (const real3 &v, const real3 &safe) |
CUDA_HOST_DEVICE CH_MULTICORE_API real | chrono::Max (const real3 &a) |
CUDA_HOST_DEVICE CH_MULTICORE_API real | chrono::Min (const real3 &a) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::Max (const real3 &a, const real3 &b) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::Min (const real3 &a, const real3 &b) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::Max (const real3 &a, const real &b) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::Min (const real3 &a, const real &b) |
CUDA_HOST_DEVICE CH_MULTICORE_API bool | chrono::IsZero (const real3 &v) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::Abs (const real3 &v) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::Sign (const real3 &v) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::Clamp (const real3 &v, real max_length) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::Clamp (const real3 &a, const real3 &clamp_min, const real3 &clamp_max) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::OrthogonalVector (const real3 &v) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::UnitOrthogonalVector (const real3 &v) |
CUDA_HOST_DEVICE CH_MULTICORE_API void | chrono::Sort (real &a, real &b, real &c) |
CUDA_HOST_DEVICE CH_MULTICORE_API void | chrono::Print (real3 v, const char *name) |
CUDA_HOST_DEVICE CH_MULTICORE_API real4 | chrono::Set4 (real x) |
CUDA_HOST_DEVICE CH_MULTICORE_API real4 | chrono::Set4 (real x, real y, real z, real w) |
CUDA_HOST_DEVICE CH_MULTICORE_API real4 | chrono::operator+ (const real4 &a, const real4 &b) |
CUDA_HOST_DEVICE CH_MULTICORE_API real4 | chrono::operator- (const real4 &a, const real4 &b) |
CUDA_HOST_DEVICE CH_MULTICORE_API real4 | chrono::operator* (const real4 &a, const real4 &b) |
CUDA_HOST_DEVICE CH_MULTICORE_API real4 | chrono::operator/ (const real4 &a, const real4 &b) |
CUDA_HOST_DEVICE CH_MULTICORE_API real4 | chrono::operator+ (const real4 &a, real b) |
CUDA_HOST_DEVICE CH_MULTICORE_API real4 | chrono::operator- (const real4 &a, real b) |
CUDA_HOST_DEVICE CH_MULTICORE_API real4 | chrono::operator* (const real4 &a, real b) |
CUDA_HOST_DEVICE CH_MULTICORE_API real4 | chrono::operator/ (const real4 &a, real b) |
CUDA_HOST_DEVICE CH_MULTICORE_API | chrono::OPERATOR_EQUALS_PROTO (/, real, real4) |
CUDA_HOST_DEVICE CH_MULTICORE_API | chrono::OPERATOR_EQUALS_PROTO (+, real, real4) |
CUDA_HOST_DEVICE CH_MULTICORE_API | chrono::OPERATOR_EQUALS_PROTO (-, real, real4) |
CUDA_HOST_DEVICE CH_MULTICORE_API | chrono::OPERATOR_EQUALS_PROTO (/, real4, real4) |
CUDA_HOST_DEVICE CH_MULTICORE_API | chrono::OPERATOR_EQUALS_PROTO (+, real4, real4) |
CUDA_HOST_DEVICE CH_MULTICORE_API | chrono::OPERATOR_EQUALS_PROTO (-, real4, real4) |
CUDA_HOST_DEVICE CH_MULTICORE_API real4 | chrono::operator- (const real4 &a) |
CUDA_HOST_DEVICE CH_MULTICORE_API real4 | chrono::Dot4 (const real3 &v, const real3 &v1, const real3 &v2, const real3 &v3, const real3 &v4) |
CUDA_HOST_DEVICE CH_MULTICORE_API quaternion | chrono::SetQ (real x) |
CUDA_HOST_DEVICE CH_MULTICORE_API quaternion | chrono::SetQ (real w, real x, real y, real z) |
CUDA_HOST_DEVICE CH_MULTICORE_API quaternion | chrono::operator+ (const quaternion &a, real b) |
CUDA_HOST_DEVICE CH_MULTICORE_API quaternion | chrono::operator- (const quaternion &a, real b) |
CUDA_HOST_DEVICE CH_MULTICORE_API quaternion | chrono::operator* (const quaternion &a, real b) |
CUDA_HOST_DEVICE CH_MULTICORE_API quaternion | chrono::operator/ (const quaternion &a, real b) |
CUDA_HOST_DEVICE CH_MULTICORE_API quaternion | chrono::operator~ (const quaternion &a) |
CUDA_HOST_DEVICE CH_MULTICORE_API quaternion | chrono::Inv (const quaternion &a) |
CUDA_HOST_DEVICE CH_MULTICORE_API real | chrono::Dot (const quaternion &v1, const quaternion &v2) |
CUDA_HOST_DEVICE CH_MULTICORE_API real | chrono::Dot (const quaternion &v) |
CUDA_HOST_DEVICE CH_MULTICORE_API quaternion | chrono::Mult (const quaternion &a, const quaternion &b) |
CUDA_HOST_DEVICE CH_MULTICORE_API quaternion | chrono::Normalize (const quaternion &v) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::Rotate (const real3 &v, const quaternion &q) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::RotateT (const real3 &v, const quaternion &q) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::AbsRotate (const quaternion &q, const real3 &v) |
CUDA_HOST_DEVICE CH_MULTICORE_API quaternion | chrono::Q_from_AngAxis (const real &angle, const real3 &axis) |
CUDA_HOST_DEVICE CH_MULTICORE_API real3 | chrono::AMatV (const quaternion &q) |
CUDA_HOST_DEVICE CH_MULTICORE_API void | chrono::Print (quaternion v, const char *name) |
Macro Definition Documentation
◆ OPERATOR_EQUALS
#define OPERATOR_EQUALS | ( | op, | |
tin, | |||
tout | |||
) |
Value:
inline tout& operator op##=(tin scale) { \
*this = *this op scale; \
return *this; \
}
◆ OPERATOR_EQUALS_IMPL
#define OPERATOR_EQUALS_IMPL | ( | op, | |
tin, | |||
tout | |||
) |
Value:
tout& operator op##=(tout& a, const tin& scale) { \
a = a op scale; \
return a; \
}
◆ OPERATOR_EQUALSALT
#define OPERATOR_EQUALSALT | ( | op, | |
tin, | |||
tout | |||
) |
Value:
tout& operator op##=(tout& a, const tin& scale) { \
a = a op scale; \
return a; \
}