Loading...
Searching...
No Matches
ignition::math::IGNITION_MATH_VERSION_NAMESPACE Namespace Reference

Namespaces

namespace  graph
 

Classes

class  Angle
 An angle and related functions. More...
 
class  BiQuad
 Bi-quad filter base class. More...
 
class  BiQuadVector3
 BiQuad vector3 filter. More...
 
class  Box
 Mathematical representation of a box and related functions. More...
 
class  Color
 Defines a color using a red (R), green (G), blue (B), and alpha (A) component. More...
 
class  Filter
 Filter base class. More...
 
class  Frustum
 Mathematical representation of a frustum and related functions. More...
 
class  Inertial
 A class for inertial information about a rigid body consisting of the scalar mass, a 3x3 symmetric moment of inertia matrix, and center of mass reference frame pose. More...
 
class  Kmeans
 K-Means clustering algorithm. More...
 
class  Line2
 A two dimensional line segment. More...
 
class  Line3
 A three dimensional line segment. More...
 
class  MassMatrix3
 A class for inertial information about a rigid body consisting of the scalar mass and a 3x3 symmetric moment of inertia matrix stored as two Vector3's. More...
 
class  Matrix3
 A 3x3 matrix class. More...
 
class  Matrix4
 A 4x4 matrix class. More...
 
class  OnePole
 A one-pole DSP filter. More...
 
class  OnePoleQuaternion
 One-pole quaternion filter. More...
 
class  OnePoleVector3
 One-pole vector3 filter. More...
 
class  OrientedBox
 Mathematical representation of a box which can be arbitrarily positioned and rotated. More...
 
class  PID
 Generic PID controller class. More...
 
class  Plane
 A plane and related functions. More...
 
class  Pose3
 Encapsulates a position and rotation in three space. More...
 
class  Quaternion
 A quaternion class. More...
 
class  Rand
 Random number generator class. More...
 
class  RotationSpline
 Spline for rotations. More...
 
class  SemanticVersion
 ignition/math/SemanticVersion.hh More...
 
class  SignalMaxAbsoluteValue
 ignition/math/SignalStats.hh More...
 
class  SignalMaximum
 Computing the maximum value of a discretely sampled signal. More...
 
class  SignalMean
 Computing the mean value of a discretely sampled signal. More...
 
class  SignalMinimum
 Computing the minimum value of a discretely sampled signal. More...
 
class  SignalRootMeanSquare
 Computing the square root of the mean squared value of a discretely sampled signal. More...
 
class  SignalStatistic
 Statistical properties of a discrete time scalar signal. More...
 
class  SignalStats
 Collection of statistics for a scalar signal. More...
 
class  SignalVariance
 Computing the incremental variance of a discretely sampled signal. More...
 
class  SphericalCoordinates
 Convert spherical coordinates for planetary surfaces. More...
 
class  Spline
 Splines. More...
 
class  Temperature
 A class that stores temperature information, and allows conversion between different units. More...
 
class  Triangle
 Triangle class and related functions. More...
 
class  Triangle3
 A 3-dimensional triangle and related functions. More...
 
class  Vector2
 Two dimensional (x, y) vector. More...
 
class  Vector3
 The Vector3 class represents the generic vector containing 3 elements. More...
 
class  Vector3Stats
 Collection of statistics for a Vector3 signal. More...
 
class  Vector4
 T Generic x, y, z, w vector. More...
 

Typedefs

typedef std::mt19937 GeneratorType
 
typedef Inertial< double > Inertiald
 
typedef Inertial< float > Inertialf
 
typedef Line2< double > Line2d
 
typedef Line2< float > Line2f
 
typedef Line2< int > Line2i
 
typedef Line3< double > Line3d
 
typedef Line3< float > Line3f
 
typedef Line3< int > Line3i
 
typedef MassMatrix3< double > MassMatrix3d
 
typedef MassMatrix3< float > MassMatrix3f
 
typedef Matrix3< double > Matrix3d
 
typedef Matrix3< float > Matrix3f
 
typedef Matrix3< int > Matrix3i
 
typedef Matrix4< double > Matrix4d
 
typedef Matrix4< float > Matrix4f
 
typedef Matrix4< int > Matrix4i
 
typedef std::normal_distribution< double > NormalRealDist
 
typedef OrientedBox< double > OrientedBoxd
 
typedef OrientedBox< float > OrientedBoxf
 
typedef OrientedBox< int > OrientedBoxi
 
using PairInput = uint32_t
 
using PairOutput = uint64_t
 
typedef Plane< double > Planed
 
typedef Plane< float > Planef
 
typedef Plane< int > Planei
 
typedef Pose3< double > Pose3d
 
typedef Pose3< float > Pose3f
 
typedef Pose3< int > Pose3i
 
typedef Quaternion< double > Quaterniond
 
typedef Quaternion< float > Quaternionf
 
typedef Quaternion< int > Quaternioni
 
typedef Triangle3< double > Triangle3d
 Double specialization of the Triangle class.
 
typedef Triangle3< float > Triangle3f
 Float specialization of the Triangle class.
 
typedef Triangle3< int > Triangle3i
 Integer specialization of the Triangle class.
 
typedef Triangle< double > Triangled
 Double specialization of the Triangle class.
 
typedef Triangle< float > Trianglef
 Float specialization of the Triangle class.
 
typedef Triangle< int > Trianglei
 Integer specialization of the Triangle class.
 
typedef std::uniform_int_distribution< int32_t > UniformIntDist
 
typedef std::uniform_real_distribution< double > UniformRealDist
 
typedef Vector2< double > Vector2d
 
typedef Vector2< float > Vector2f
 
typedef Vector2< int > Vector2i
 
typedef Vector3< double > Vector3d
 
typedef Vector3< float > Vector3f
 
typedef Vector3< int > Vector3i
 
typedef Vector4< double > Vector4d
 
typedef Vector4< float > Vector4f
 
typedef Vector4< int > Vector4i
 

Functions

template<typename T >
clamp (T _v, T _min, T _max)
 Simple clamping function.
 
template<typename T >
bool equal (const T &_a, const T &_b, const T &_epsilon=T(1e-6))
 check if two values are equal, within a tolerance
 
double fixnan (double _v)
 Fix a nan value.
 
float fixnan (float _v)
 Fix a nan value.
 
template<typename T >
bool greaterOrNearEqual (const T &_a, const T &_b, const T &_epsilon=1e-6)
 inequality test, within a tolerance
 
static const double IGN_DEPRECATED (3) DPRCT_MAX_D = MIN_D
 
bool isEven (const int _v)
 Check if parameter is even.
 
bool isEven (const unsigned int _v)
 Check if parameter is even.
 
bool isnan (double _v)
 check if a double is NaN
 
bool isnan (float _v)
 check if a float is NaN
 
bool isOdd (const int _v)
 Check if parameter is odd.
 
bool isOdd (const unsigned int _v)
 Check if parameter is odd.
 
bool isPowerOfTwo (unsigned int _x)
 Is this a power of 2?
 
template<typename T >
bool lessOrNearEqual (const T &_a, const T &_b, const T &_epsilon=1e-6)
 inequality test, within a tolerance
 
template<typename T >
max (const std::vector< T > &_values)
 get the maximum value of vector of values
 
template<typename T >
mean (const std::vector< T > &_values)
 get mean of vector of values
 
template<typename T >
min (const std::vector< T > &_values)
 get the minimum value of vector of values
 
PairOutput IGNITION_MATH_VISIBLE Pair (const PairInput _a, const PairInput _b)
 A pairing function that maps two values to a unique third value.
 
double parseFloat (const std::string &_input)
 parse string into float
 
int parseInt (const std::string &_input)
 parse string into an integer
 
template<typename T >
precision (const T &_a, const unsigned int &_precision)
 get value at a specified precision
 
unsigned int roundUpPowerOfTwo (unsigned int _x)
 Get the smallest power of two that is greater or equal to a given value.
 
template<typename T >
int sgn (T _value)
 The signum function.
 
template<typename T >
int signum (T _value)
 The signum function.
 
template<typename T >
void sort2 (T &_a, T &_b)
 Sort two numbers, such that _a <= _b.
 
template<typename T >
void sort3 (T &_a, T &_b, T &_c)
 Sort three numbers, such that _a <= _b <= _c.
 
std::tuple< PairInput, PairInput > IGNITION_MATH_VISIBLE Unpair (const PairOutput _key)
 The reverse of the Pair function.
 
template<typename T >
variance (const std::vector< T > &_values)
 get variance of vector of values
 

Variables

static const size_t IGN_EIGHT_SIZE_T = 8u
 size_t type with a value of 8
 
static const size_t IGN_FIVE_SIZE_T = 5u
 size_t type with a value of 5
 
static const size_t IGN_FOUR_SIZE_T = 4u
 size_t type with a value of 4
 
static const size_t IGN_NINE_SIZE_T = 9u
 size_t type with a value of 9
 
static const size_t IGN_ONE_SIZE_T = 1u
 size_t type with a value of 1
 
static const size_t IGN_SEVEN_SIZE_T = 7u
 size_t type with a value of 7
 
static const size_t IGN_SIX_SIZE_T = 6u
 size_t type with a value of 6
 
static const size_t IGN_THREE_SIZE_T = 3u
 size_t type with a value of 3
 
static const size_t IGN_TWO_SIZE_T = 2u
 size_t type with a value of 2
 
static const size_t IGN_ZERO_SIZE_T = 0u
 size_t type with a value of 0
 
static const double INF_D = std::numeric_limits<double>::infinity()
 Double positive infinite value.
 
static const float INF_F = std::numeric_limits<float>::infinity()
 float positive infinite value
 
static const int16_t INF_I16 = std::numeric_limits<int16_t>::infinity()
 16-bit unsigned integer positive infinite value
 
static const int32_t INF_I32 = std::numeric_limits<int32_t>::infinity()
 32-bit unsigned integer positive infinite value
 
static const int64_t INF_I64 = std::numeric_limits<int64_t>::infinity()
 64-bit unsigned integer positive infinite value
 
static const uint16_t INF_UI16 = std::numeric_limits<uint16_t>::infinity()
 16-bit unsigned integer positive infinite value
 
static const uint32_t INF_UI32 = std::numeric_limits<uint32_t>::infinity()
 32-bit unsigned integer positive infinite value
 
static const uint64_t INF_UI64 = std::numeric_limits<uint64_t>::infinity()
 64-bit unsigned integer positive infinite value
 
static const double LOW_D = std::numeric_limits<double>::lowest()
 Double low value, equivalent to -MAX_D.
 
static const float LOW_F = std::numeric_limits<float>::lowest()
 Float low value, equivalent to -MAX_F.
 
static const int16_t LOW_I16 = std::numeric_limits<int16_t>::lowest()
 16bit unsigned integer lowest value.
 
static const int32_t LOW_I32 = std::numeric_limits<int32_t>::lowest()
 32bit unsigned integer lowest value.
 
static const int64_t LOW_I64 = std::numeric_limits<int64_t>::lowest()
 64bit unsigned integer lowest value.
 
static const uint16_t LOW_UI16 = std::numeric_limits<uint16_t>::lowest()
 16bit unsigned integer lowest value.
 
static const uint32_t LOW_UI32 = std::numeric_limits<uint32_t>::lowest()
 32bit unsigned integer lowest value.
 
static const uint64_t LOW_UI64 = std::numeric_limits<uint64_t>::lowest()
 64bit unsigned integer lowest value.
 
static const double MAX_D = std::numeric_limits<double>::max()
 Double maximum value. This value will be similar to 1.79769e+308.
 
static const float MAX_F = std::numeric_limits<float>::max()
 Float maximum value. This value will be similar to 3.40282e+38.
 
static const int16_t MAX_I16 = std::numeric_limits<int16_t>::max()
 16bit unsigned integer maximum value
 
static const int32_t MAX_I32 = std::numeric_limits<int32_t>::max()
 32bit unsigned integer maximum value
 
static const int64_t MAX_I64 = std::numeric_limits<int64_t>::max()
 64bit unsigned integer maximum value
 
static const uint16_t MAX_UI16 = std::numeric_limits<uint16_t>::max()
 16bit unsigned integer maximum value
 
static const uint32_t MAX_UI32 = std::numeric_limits<uint32_t>::max()
 32bit unsigned integer maximum value
 
static const uint64_t MAX_UI64 = std::numeric_limits<uint64_t>::max()
 64bit unsigned integer maximum value
 
static const double MIN_D = std::numeric_limits<double>::min()
 Double min value. This value will be similar to 2.22507e-308.
 
static const float MIN_F = std::numeric_limits<float>::min()
 Float minimum value. This value will be similar to 1.17549e-38.
 
static const int16_t MIN_I16 = std::numeric_limits<int16_t>::min()
 16bit unsigned integer minimum value
 
static const int32_t MIN_I32 = std::numeric_limits<int32_t>::min()
 32bit unsigned integer minimum value
 
static const int64_t MIN_I64 = std::numeric_limits<int64_t>::min()
 64bit unsigned integer minimum value
 
static const uint16_t MIN_UI16 = std::numeric_limits<uint16_t>::min()
 16bit unsigned integer minimum value
 
static const uint32_t MIN_UI32 = std::numeric_limits<uint32_t>::min()
 32bit unsigned integer minimum value
 
static const uint64_t MIN_UI64 = std::numeric_limits<uint64_t>::min()
 64bit unsigned integer minimum value
 
static const double NAN_D = std::numeric_limits<double>::quiet_NaN()
 Returns the representation of a quiet not a number (NAN)
 
static const float NAN_F = std::numeric_limits<float>::quiet_NaN()
 Returns the representation of a quiet not a number (NAN)
 
static const int NAN_I = std::numeric_limits<int>::quiet_NaN()
 Returns the representation of a quiet not a number (NAN)
 

Typedef Documentation

◆ GeneratorType

◆ Inertiald

◆ Inertialf

◆ Line2d

◆ Line2f

◆ Line2i

◆ Line3d

◆ Line3f

◆ Line3i

◆ MassMatrix3d

◆ MassMatrix3f

◆ Matrix3d

◆ Matrix3f

◆ Matrix3i

◆ Matrix4d

◆ Matrix4f

◆ Matrix4i

◆ NormalRealDist

typedef std::normal_distribution<double> ignition::math::IGNITION_MATH_VERSION_NAMESPACE::NormalRealDist

◆ OrientedBoxd

◆ OrientedBoxf

◆ OrientedBoxi

◆ PairInput

◆ PairOutput

◆ Planed

◆ Planef

◆ Planei

◆ Pose3d

◆ Pose3f

◆ Pose3i

◆ Quaterniond

◆ Quaternionf

◆ Quaternioni

◆ Triangle3d

Double specialization of the Triangle class.

◆ Triangle3f

Float specialization of the Triangle class.

◆ Triangle3i

Integer specialization of the Triangle class.

◆ Triangled

Double specialization of the Triangle class.

◆ Trianglef

Float specialization of the Triangle class.

◆ Trianglei

Integer specialization of the Triangle class.

◆ UniformIntDist

typedef std::uniform_int_distribution<int32_t> ignition::math::IGNITION_MATH_VERSION_NAMESPACE::UniformIntDist

◆ UniformRealDist

typedef std::uniform_real_distribution<double> ignition::math::IGNITION_MATH_VERSION_NAMESPACE::UniformRealDist

◆ Vector2d

◆ Vector2f

◆ Vector2i

◆ Vector3d

◆ Vector3f

◆ Vector3i

◆ Vector4d

◆ Vector4f

◆ Vector4i

Function Documentation

◆ clamp()

template<typename T >
T ignition::math::IGNITION_MATH_VERSION_NAMESPACE::clamp ( T _v,
T _min,
T _max )
inline

Simple clamping function.

Parameters
[in]_vvalue
[in]_minminimum
[in]_maxmaximum

Referenced by ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Matrix3< T >::Col(), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Line3< T >::Distance(), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Matrix3< T >::operator()(), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Matrix3< T >::operator()(), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Matrix4< T >::operator()(), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Matrix4< T >::operator()(), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Line2< T >::operator[](), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Line3< T >::operator[](), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Triangle3< T >::operator[](), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Triangle< T >::operator[](), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Vector2< T >::operator[](), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Vector2< T >::operator[](), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Vector3< T >::operator[](), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Vector3< T >::operator[](), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Vector4< T >::operator[](), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Vector4< T >::operator[](), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::MassMatrix3< T >::PrincipalAxesOffset(), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::MassMatrix3< T >::PrincipalMoments(), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Triangle3< T >::Set(), and ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Triangle< T >::Set().

◆ equal()

template<typename T >
bool ignition::math::IGNITION_MATH_VERSION_NAMESPACE::equal ( const T & _a,
const T & _b,
const T & _epsilon = T(1e-6) )
inline

check if two values are equal, within a tolerance

Parameters
[in]_athe first value
[in]_bthe second value
[in]_epsilonthe tolerance

Referenced by ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Quaternion< T >::Axis(), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Quaternion< T >::Correct(), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Matrix3< T >::Equal(), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Matrix4< T >::Equal(), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Vector2< T >::Equal(), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Vector3< T >::Equal(), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Vector3< T >::Equal(), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Vector4< T >::Equal(), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Quaternion< T >::Inverse(), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Matrix4< T >::IsAffine(), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Quaternion< T >::Normalize(), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Vector2< T >::Normalize(), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Vector3< T >::Normalize(), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Vector4< T >::Normalize(), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Quaternion< T >::operator!=(), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::MassMatrix3< T >::operator==(), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Quaternion< T >::operator==(), ignition::math::IGNITION_MATH_VERSION_NAMESPACE::MassMatrix3< T >::PrincipalAxesOffset(), and ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Quaternion< T >::ToAxis().

◆ fixnan() [1/2]

double ignition::math::IGNITION_MATH_VERSION_NAMESPACE::fixnan ( double _v)
inline

Fix a nan value.

Parameters
[in]_vValue to correct.
Returns
0 if _v is NaN, _v otherwise.

◆ fixnan() [2/2]

float ignition::math::IGNITION_MATH_VERSION_NAMESPACE::fixnan ( float _v)
inline

Fix a nan value.

Parameters
[in]_vValue to correct.
Returns
0 if _v is NaN, _v otherwise.

◆ greaterOrNearEqual()

template<typename T >
bool ignition::math::IGNITION_MATH_VERSION_NAMESPACE::greaterOrNearEqual ( const T & _a,
const T & _b,
const T & _epsilon = 1e-6 )
inline

inequality test, within a tolerance

Parameters
[in]_athe first value
[in]_bthe second value
[in]_epsilonthe tolerance

◆ IGN_DEPRECATED()

static const int64_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::IGN_DEPRECATED ( 3 ) = MIN_D
static

◆ isEven() [1/2]

bool ignition::math::IGNITION_MATH_VERSION_NAMESPACE::isEven ( const int _v)
inline

Check if parameter is even.

Parameters
[in]_vValue to check.
Returns
True if _v is even.

◆ isEven() [2/2]

bool ignition::math::IGNITION_MATH_VERSION_NAMESPACE::isEven ( const unsigned int _v)
inline

Check if parameter is even.

Parameters
[in]_vValue to check.
Returns
True if _v is even.

◆ isnan() [1/2]

bool ignition::math::IGNITION_MATH_VERSION_NAMESPACE::isnan ( double _v)
inline

check if a double is NaN

Parameters
[in]_vthe value
Returns
true if _v is not a number, false otherwise

◆ isnan() [2/2]

bool ignition::math::IGNITION_MATH_VERSION_NAMESPACE::isnan ( float _v)
inline

check if a float is NaN

Parameters
[in]_vthe value
Returns
true if _v is not a number, false otherwise

◆ isOdd() [1/2]

bool ignition::math::IGNITION_MATH_VERSION_NAMESPACE::isOdd ( const int _v)
inline

Check if parameter is odd.

Parameters
[in]_vValue to check.
Returns
True if _v is odd.

◆ isOdd() [2/2]

bool ignition::math::IGNITION_MATH_VERSION_NAMESPACE::isOdd ( const unsigned int _v)
inline

Check if parameter is odd.

Parameters
[in]_vValue to check.
Returns
True if _v is odd.

◆ isPowerOfTwo()

bool ignition::math::IGNITION_MATH_VERSION_NAMESPACE::isPowerOfTwo ( unsigned int _x)
inline

Is this a power of 2?

Parameters
[in]_xthe number
Returns
true if _x is a power of 2, false otherwise

◆ lessOrNearEqual()

template<typename T >
bool ignition::math::IGNITION_MATH_VERSION_NAMESPACE::lessOrNearEqual ( const T & _a,
const T & _b,
const T & _epsilon = 1e-6 )
inline

inequality test, within a tolerance

Parameters
[in]_athe first value
[in]_bthe second value
[in]_epsilonthe tolerance

◆ max()

template<typename T >
T ignition::math::IGNITION_MATH_VERSION_NAMESPACE::max ( const std::vector< T > & _values)
inline

get the maximum value of vector of values

Parameters
[in]_valuesthe vector of values
Returns
maximum

◆ mean()

template<typename T >
T ignition::math::IGNITION_MATH_VERSION_NAMESPACE::mean ( const std::vector< T > & _values)
inline

get mean of vector of values

Parameters
[in]_valuesthe vector of values
Returns
the mean

◆ min()

template<typename T >
T ignition::math::IGNITION_MATH_VERSION_NAMESPACE::min ( const std::vector< T > & _values)
inline

get the minimum value of vector of values

Parameters
[in]_valuesthe vector of values
Returns
minimum

◆ Pair()

PairOutput IGNITION_MATH_VISIBLE ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Pair ( const PairInput _a,
const PairInput _b )

A pairing function that maps two values to a unique third value.

This is an implement of Szudzik's function.

Parameters
[in]_aFirst value, must be a non-negative integer. On Windows this value is uint16_t. On Linux/OSX this value is uint32_t.
[in]_bSecond value, must be a non-negative integer. On Windows this value is uint16_t. On Linux/OSX this value is uint32_t.
Returns
A unique non-negative integer value. On Windows the return value is uint32_t. On Linux/OSX the return value is uint64_t
See also
Unpair

◆ parseFloat()

double ignition::math::IGNITION_MATH_VERSION_NAMESPACE::parseFloat ( const std::string & _input)
inline

parse string into float

Parameters
_inputthe string
Returns
a floating point number (can be NaN) or 0 with a message in the error stream

◆ parseInt()

int ignition::math::IGNITION_MATH_VERSION_NAMESPACE::parseInt ( const std::string & _input)
inline

parse string into an integer

Parameters
[in]_inputthe string
Returns
an integer, 0 or 0 and a message in the error stream

◆ precision()

template<typename T >
T ignition::math::IGNITION_MATH_VERSION_NAMESPACE::precision ( const T & _a,
const unsigned int & _precision )
inline

get value at a specified precision

Parameters
[in]_athe number
[in]_precisionthe precision
Returns
the value for the specified precision

Referenced by ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Quaternion< T >::Round(), and ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Vector3< T >::Round().

◆ roundUpPowerOfTwo()

unsigned int ignition::math::IGNITION_MATH_VERSION_NAMESPACE::roundUpPowerOfTwo ( unsigned int _x)
inline

Get the smallest power of two that is greater or equal to a given value.

Parameters
[in]_xthe number
Returns
the same value if _x is already a power of two. Otherwise, it returns the smallest power of two that is greater than _x

◆ sgn()

template<typename T >
int ignition::math::IGNITION_MATH_VERSION_NAMESPACE::sgn ( T _value)
inline

The signum function.

Returns 0 for zero values, -1 for negative values, +1 for positive values.

Parameters
[in]_valueThe value.
Returns
The signum of the value.

◆ signum()

template<typename T >
int ignition::math::IGNITION_MATH_VERSION_NAMESPACE::signum ( T _value)
inline

The signum function.

Returns 0 for zero values, -1 for negative values, +1 for positive values.

Parameters
[in]_valueThe value.
Returns
The signum of the value.

◆ sort2()

template<typename T >
void ignition::math::IGNITION_MATH_VERSION_NAMESPACE::sort2 ( T & _a,
T & _b )
inline

Sort two numbers, such that _a <= _b.

Parameters
[out]_athe first number
[out]_bthe second number

◆ sort3()

template<typename T >
void ignition::math::IGNITION_MATH_VERSION_NAMESPACE::sort3 ( T & _a,
T & _b,
T & _c )
inline

Sort three numbers, such that _a <= _b <= _c.

Parameters
[out]_athe first number
[out]_bthe second number
[out]_cthe third number

Referenced by ignition::math::IGNITION_MATH_VERSION_NAMESPACE::MassMatrix3< T >::PrincipalMoments().

◆ Unpair()

std::tuple< PairInput, PairInput > IGNITION_MATH_VISIBLE ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Unpair ( const PairOutput _key)

The reverse of the Pair function.

Accepts a key, produced from the Pair function, and returns a tuple consisting of the two non-negative integer values used to create the _key.

Parameters
[in]_keyA non-negative integer generated from the Pair function. On Windows this value is uint32_t. On Linux/OSX, this value is uint64_t.
Returns
A tuple that consists of the two non-negative integers that will generate _key when used with the Pair function. On Windows the tuple contains two uint16_t values. On Linux/OSX the tuple contains two uint32_t values.
See also
Pair

◆ variance()

template<typename T >
T ignition::math::IGNITION_MATH_VERSION_NAMESPACE::variance ( const std::vector< T > & _values)
inline

get variance of vector of values

Parameters
[in]_valuesthe vector of values
Returns
the squared deviation

Variable Documentation

◆ IGN_EIGHT_SIZE_T

const size_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::IGN_EIGHT_SIZE_T = 8u
static

size_t type with a value of 8

◆ IGN_FIVE_SIZE_T

const size_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::IGN_FIVE_SIZE_T = 5u
static

size_t type with a value of 5

◆ IGN_FOUR_SIZE_T

const size_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::IGN_FOUR_SIZE_T = 4u
static

size_t type with a value of 4

◆ IGN_NINE_SIZE_T

const size_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::IGN_NINE_SIZE_T = 9u
static

size_t type with a value of 9

◆ IGN_ONE_SIZE_T

◆ IGN_SEVEN_SIZE_T

const size_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::IGN_SEVEN_SIZE_T = 7u
static

size_t type with a value of 7

◆ IGN_SIX_SIZE_T

const size_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::IGN_SIX_SIZE_T = 6u
static

size_t type with a value of 6

◆ IGN_THREE_SIZE_T

◆ IGN_TWO_SIZE_T

◆ IGN_ZERO_SIZE_T

◆ INF_D

const double ignition::math::IGNITION_MATH_VERSION_NAMESPACE::INF_D = std::numeric_limits<double>::infinity()
static

Double positive infinite value.

◆ INF_F

const float ignition::math::IGNITION_MATH_VERSION_NAMESPACE::INF_F = std::numeric_limits<float>::infinity()
static

float positive infinite value

◆ INF_I16

const int16_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::INF_I16 = std::numeric_limits<int16_t>::infinity()
static

16-bit unsigned integer positive infinite value

◆ INF_I32

const int32_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::INF_I32 = std::numeric_limits<int32_t>::infinity()
static

32-bit unsigned integer positive infinite value

◆ INF_I64

const int64_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::INF_I64 = std::numeric_limits<int64_t>::infinity()
static

64-bit unsigned integer positive infinite value

◆ INF_UI16

const uint16_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::INF_UI16 = std::numeric_limits<uint16_t>::infinity()
static

16-bit unsigned integer positive infinite value

◆ INF_UI32

const uint32_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::INF_UI32 = std::numeric_limits<uint32_t>::infinity()
static

32-bit unsigned integer positive infinite value

◆ INF_UI64

const uint64_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::INF_UI64 = std::numeric_limits<uint64_t>::infinity()
static

64-bit unsigned integer positive infinite value

◆ LOW_D

const double ignition::math::IGNITION_MATH_VERSION_NAMESPACE::LOW_D = std::numeric_limits<double>::lowest()
static

Double low value, equivalent to -MAX_D.

◆ LOW_F

const float ignition::math::IGNITION_MATH_VERSION_NAMESPACE::LOW_F = std::numeric_limits<float>::lowest()
static

Float low value, equivalent to -MAX_F.

◆ LOW_I16

const int16_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::LOW_I16 = std::numeric_limits<int16_t>::lowest()
static

16bit unsigned integer lowest value.

This is equivalent to IGN_INT16_MIN, and is defined here for completeness.

◆ LOW_I32

const int32_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::LOW_I32 = std::numeric_limits<int32_t>::lowest()
static

32bit unsigned integer lowest value.

This is equivalent to IGN_INT32_MIN, and is defined here for completeness.

◆ LOW_I64

const int64_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::LOW_I64 = std::numeric_limits<int64_t>::lowest()
static

64bit unsigned integer lowest value.

This is equivalent to IGN_INT64_MIN, and is defined here for completeness.

◆ LOW_UI16

const uint16_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::LOW_UI16 = std::numeric_limits<uint16_t>::lowest()
static

16bit unsigned integer lowest value.

This is equivalent to IGN_UINT16_MIN, and is defined here for completeness.

◆ LOW_UI32

const uint32_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::LOW_UI32 = std::numeric_limits<uint32_t>::lowest()
static

32bit unsigned integer lowest value.

This is equivalent to IGN_UINT32_MIN, and is defined here for completeness.

◆ LOW_UI64

const uint64_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::LOW_UI64 = std::numeric_limits<uint64_t>::lowest()
static

64bit unsigned integer lowest value.

This is equivalent to IGN_UINT64_MIN, and is defined here for completeness.

◆ MAX_D

const double ignition::math::IGNITION_MATH_VERSION_NAMESPACE::MAX_D = std::numeric_limits<double>::max()
static

Double maximum value. This value will be similar to 1.79769e+308.

Referenced by ignition::math::IGNITION_MATH_VERSION_NAMESPACE::graph::Dijkstra().

◆ MAX_F

const float ignition::math::IGNITION_MATH_VERSION_NAMESPACE::MAX_F = std::numeric_limits<float>::max()
static

Float maximum value. This value will be similar to 3.40282e+38.

◆ MAX_I16

const int16_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::MAX_I16 = std::numeric_limits<int16_t>::max()
static

16bit unsigned integer maximum value

◆ MAX_I32

const int32_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::MAX_I32 = std::numeric_limits<int32_t>::max()
static

32bit unsigned integer maximum value

◆ MAX_I64

const int64_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::MAX_I64 = std::numeric_limits<int64_t>::max()
static

64bit unsigned integer maximum value

◆ MAX_UI16

const uint16_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::MAX_UI16 = std::numeric_limits<uint16_t>::max()
static

16bit unsigned integer maximum value

◆ MAX_UI32

const uint32_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::MAX_UI32 = std::numeric_limits<uint32_t>::max()
static

32bit unsigned integer maximum value

◆ MAX_UI64

const uint64_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::MAX_UI64 = std::numeric_limits<uint64_t>::max()
static

64bit unsigned integer maximum value

◆ MIN_D

const double ignition::math::IGNITION_MATH_VERSION_NAMESPACE::MIN_D = std::numeric_limits<double>::min()
static

Double min value. This value will be similar to 2.22507e-308.

Referenced by ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Quaternion< T >::Integrate().

◆ MIN_F

const float ignition::math::IGNITION_MATH_VERSION_NAMESPACE::MIN_F = std::numeric_limits<float>::min()
static

Float minimum value. This value will be similar to 1.17549e-38.

◆ MIN_I16

const int16_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::MIN_I16 = std::numeric_limits<int16_t>::min()
static

16bit unsigned integer minimum value

◆ MIN_I32

const int32_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::MIN_I32 = std::numeric_limits<int32_t>::min()
static

32bit unsigned integer minimum value

◆ MIN_I64

const int64_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::MIN_I64 = std::numeric_limits<int64_t>::min()
static

64bit unsigned integer minimum value

◆ MIN_UI16

const uint16_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::MIN_UI16 = std::numeric_limits<uint16_t>::min()
static

16bit unsigned integer minimum value

◆ MIN_UI32

const uint32_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::MIN_UI32 = std::numeric_limits<uint32_t>::min()
static

32bit unsigned integer minimum value

◆ MIN_UI64

const uint64_t ignition::math::IGNITION_MATH_VERSION_NAMESPACE::MIN_UI64 = std::numeric_limits<uint64_t>::min()
static

64bit unsigned integer minimum value

◆ NAN_D

const double ignition::math::IGNITION_MATH_VERSION_NAMESPACE::NAN_D = std::numeric_limits<double>::quiet_NaN()
static

Returns the representation of a quiet not a number (NAN)

Referenced by ignition::math::IGNITION_MATH_VERSION_NAMESPACE::Line2< T >::Slope().

◆ NAN_F

const float ignition::math::IGNITION_MATH_VERSION_NAMESPACE::NAN_F = std::numeric_limits<float>::quiet_NaN()
static

Returns the representation of a quiet not a number (NAN)

◆ NAN_I

const int ignition::math::IGNITION_MATH_VERSION_NAMESPACE::NAN_I = std::numeric_limits<int>::quiet_NaN()
static

Returns the representation of a quiet not a number (NAN)