Open Search
    maxon Math

    Detailed Description

    Classes

    class  LIMIT< T >
     
    class  LIMIT< Int64 >
     
    class  LIMIT< UInt64 >
     
    class  LIMIT< Int32 >
     
    class  LIMIT< UInt32 >
     
    class  LIMIT< Int16 >
     
    class  LIMIT< UInt16 >
     
    class  LIMIT< Char >
     
    class  LIMIT< UChar >
     
    class  LIMIT< Float32 >
     
    class  LIMIT< Float64 >
     

    Macros

    #define SIZEOF(...)
     

    Functions

    Float32 Clamp01 (Float32 a)
     
    Float64 Clamp01 (Float64 a)
     
    Float32 Sin (Float32 val)
     
    Float64 Sin (Float64 val)
     
    Float32 Cos (Float32 val)
     
    Float64 Cos (Float64 val)
     
    Float32 Tan (Float32 val)
     
    Float64 Tan (Float64 val)
     
    Float32 ATan (Float32 val)
     
    Float64 ATan (Float64 val)
     
    Float32 ATan2 (Float32 valY, Float32 valX)
     
    Float64 ATan2 (Float64 valY, Float64 valX)
     
    Float32 Exp (Float32 val)
     
    Float64 Exp (Float64 val)
     
    Float32 Ln (Float32 val)
     
    Float64 Ln (Float64 val)
     
    Float32 Log10 (Float32 val)
     
    Float64 Log10 (Float64 val)
     
    Float32 Log2 (Float32 val)
     
    Float64 Log2 (Float64 val)
     
    Float32 Sqrt (Float32 val)
     
    Float64 Sqrt (Float64 val)
     
    Float32 Floor (Float32 val)
     
    Float64 Floor (Float64 val)
     
    Float32 Ceil (Float32 val)
     
    Float64 Ceil (Float64 val)
     
    Float32 Modf (Float32 val, Float32 *intpart)
     
    Float64 Modf (Float64 val, Float64 *intpart)
     
    Float32 Pow (Float32 v1, Float32 v2)
     
    Float64 Pow (Float64 v1, Float64 v2)
     
    Float32 Sinh (Float32 val)
     
    Float64 Sinh (Float64 val)
     
    Float32 Cosh (Float32 val)
     
    Float64 Cosh (Float64 val)
     
    Float32 Tanh (Float32 val)
     
    Float64 Tanh (Float64 val)
     
    Float32 FMod (Float32 v1, Float32 v2)
     
    Float64 FMod (Float64 v1, Float64 v2)
     
    Float32 Abs (Float32 val)
     
    Float64 Abs (Float64 val)
     
    Float32 Inverse (Float32 f)
     
    Float64 Inverse (Float64 f)
     
    Float32 Round (Float32 f)
     
    Float64 Round (Float64 f)
     
    template<typename X >
    Abs (X f)
     
    template<typename X >
    Min (X a, X b)
     
    template<typename X >
    Max (X a, X b)
     
    template<typename X >
    void Swap (X &a, X &b)
     
    template<typename X >
    ClampValue (X value, X lowerLimit, X upperLimit)
     
    Float32 Blend (Float32 value1, Float32 value2, Float32 blendValue)
     
    Float64 Blend (Float64 value1, Float64 value2, Float64 blendValue)
     
    template<typename X >
    Sqr (X a, X b)
     
    template<typename X >
    Sqr (X a)
     
    Float32 ASin (Float32 val)
     
    Float64 ASin (Float64 val)
     
    Float32 ACos (Float32 val)
     
    Float64 ACos (Float64 val)
     
    Float32 DegToRad (Float32 r)
     
    Float64 DegToRad (Float64 r)
     
    Float32 RadToDeg (Float32 r)
     
    Float64 RadToDeg (Float64 r)
     
    void SinCos (Float32 r, Float32 &sn, Float32 &cs)
     
    void SinCos (Float64 r, Float64 &sn, Float64 &cs)
     
    Int32 SAFEINT32 (Float32 x)
     
    Int32 SAFEINT32 (Float64 x)
     
    Int64 SAFEINT64 (Float32 x)
     
    Int64 SAFEINT64 (Float64 x)
     
    Int SAFEINT (Float64 x)
     
    Int SAFEINT (Float32 x)
     
    template<typename T >
    void SetMax (T &a, const T &b)
     
    template<typename T >
    void SetMin (T &a, const T &b)
     

    Variables

    static constexpr Float32 MINVALUE_FLOAT32
     
    static constexpr Float32 MAXVALUE_FLOAT32
     
    static constexpr Float64 MINVALUE_FLOAT64
     
    static constexpr Float64 MAXVALUE_FLOAT64
     
    static constexpr Float32 MINVALUE_INT32_FLOAT32
     
    static constexpr Float32 MAXVALUE_INT32_FLOAT32
     
    static constexpr Float64 MINVALUE_INT64_FLOAT64
     
    static constexpr Float64 MAXVALUE_INT64_FLOAT64
     
    static constexpr Float32 MINRANGE_FLOAT32
     
    static constexpr Float32 MAXRANGE_FLOAT32
     
    static constexpr Float64 MINRANGE_FLOAT64
     
    static constexpr Float64 MAXRANGE_FLOAT64
     
    static constexpr Float MINVALUE_FLOAT
     
    static constexpr Float MAXVALUE_FLOAT
     
    static constexpr Float MINRANGE_FLOAT
     
    static constexpr Float MAXRANGE_FLOAT
     
    static constexpr Int NOTOK
     
    static constexpr Float64 PI
     
    static constexpr Float64 PI_INV
     
    static constexpr Float64 PI2
     
    static constexpr Float64 PI2_INV
     
    static constexpr Float64 PI05
     
    static constexpr Float64 PI05_INV
     
    static constexpr Float64 PI15
     
    static constexpr Float64 PI15_INV
     

    Macro Definition Documentation

    ◆ SIZEOF

    #define SIZEOF (   ...)

    Calculates the size of a datatype or element.

    Function Documentation

    ◆ Clamp01() [1/2]

    Float32 Clamp01 ( Float32  a)

    Clip a floating point number against the lower limit 0 and the upper limit 1. The result will be returned.

    ◆ Clamp01() [2/2]

    Float64 Clamp01 ( Float64  a)

    Clip a floating point number against the lower limit 0 and the upper limit 1. The result will be returned.

    ◆ Sin() [1/2]

    Float32 Sin ( Float32  val)

    ◆ Sin() [2/2]

    Float64 Sin ( Float64  val)

    ◆ Cos() [1/2]

    Float32 Cos ( Float32  val)

    ◆ Cos() [2/2]

    Float64 Cos ( Float64  val)

    ◆ Tan() [1/2]

    Float32 Tan ( Float32  val)

    ◆ Tan() [2/2]

    Float64 Tan ( Float64  val)

    ◆ ATan() [1/2]

    Float32 ATan ( Float32  val)

    ◆ ATan() [2/2]

    Float64 ATan ( Float64  val)

    ◆ ATan2() [1/2]

    Float32 ATan2 ( Float32  valY,
    Float32  valX 
    )

    ◆ ATan2() [2/2]

    Float64 ATan2 ( Float64  valY,
    Float64  valX 
    )

    ◆ Exp() [1/2]

    Float32 Exp ( Float32  val)

    ◆ Exp() [2/2]

    Float64 Exp ( Float64  val)

    ◆ Ln() [1/2]

    Float32 Ln ( Float32  val)

    ◆ Ln() [2/2]

    Float64 Ln ( Float64  val)

    ◆ Log10() [1/2]

    Float32 Log10 ( Float32  val)

    ◆ Log10() [2/2]

    Float64 Log10 ( Float64  val)

    ◆ Log2() [1/2]

    Float32 Log2 ( Float32  val)

    ◆ Log2() [2/2]

    Float64 Log2 ( Float64  val)

    ◆ Sqrt() [1/2]

    Float32 Sqrt ( Float32  val)

    ◆ Sqrt() [2/2]

    Float64 Sqrt ( Float64  val)

    ◆ Floor() [1/2]

    Float32 Floor ( Float32  val)

    ◆ Floor() [2/2]

    Float64 Floor ( Float64  val)

    ◆ Ceil() [1/2]

    Float32 Ceil ( Float32  val)

    ◆ Ceil() [2/2]

    Float64 Ceil ( Float64  val)

    ◆ Modf() [1/2]

    Float32 Modf ( Float32  val,
    Float32 intpart 
    )

    ◆ Modf() [2/2]

    Float64 Modf ( Float64  val,
    Float64 intpart 
    )

    ◆ Pow() [1/2]

    Float32 Pow ( Float32  v1,
    Float32  v2 
    )

    ◆ Pow() [2/2]

    Float64 Pow ( Float64  v1,
    Float64  v2 
    )

    ◆ Sinh() [1/2]

    Float32 Sinh ( Float32  val)

    ◆ Sinh() [2/2]

    Float64 Sinh ( Float64  val)

    ◆ Cosh() [1/2]

    Float32 Cosh ( Float32  val)

    ◆ Cosh() [2/2]

    Float64 Cosh ( Float64  val)

    ◆ Tanh() [1/2]

    Float32 Tanh ( Float32  val)

    ◆ Tanh() [2/2]

    Float64 Tanh ( Float64  val)

    ◆ FMod() [1/2]

    Float32 FMod ( Float32  v1,
    Float32  v2 
    )

    ◆ FMod() [2/2]

    Float64 FMod ( Float64  v1,
    Float64  v2 
    )

    ◆ Abs() [1/3]

    Float32 Abs ( Float32  val)

    ◆ Abs() [2/3]

    Float64 Abs ( Float64  val)

    ◆ Inverse() [1/2]

    Float32 Inverse ( Float32  f)

    Calculates the reciprocal value (multiplicative inverse). If the input value is zero, zero will be returned for safety to avoid exceptions.

    ◆ Inverse() [2/2]

    Float64 Inverse ( Float64  f)

    Calculates the reciprocal value (multiplicative inverse). If the input value is zero, zero will be returned for safety to avoid exceptions.

    ◆ Round() [1/2]

    Float32 Round ( Float32  f)

    Rounds a floating point value

    Since
    R18

    ◆ Round() [2/2]

    Float64 Round ( Float64  f)

    Rounds a floating point value

    Since
    R18

    ◆ Abs() [3/3]

    X Abs ( f)

    Calculates the absolute value of any data type.

    ◆ Min()

    X Min ( a,
    b 
    )

    Calculates the minimum of two values and return it.

    ◆ Max()

    X Max ( a,
    b 
    )

    Calculates the maximum of two values and return it.

    ◆ Swap()

    void Swap ( X &  a,
    X &  b 
    )

    Swaps two values. If available, move semantics will be used.

    ◆ ClampValue()

    X ClampValue ( value,
    lowerLimit,
    upperLimit 
    )

    Clips a value against a lower and upper limit. The new value is returned.

    ◆ Blend() [1/2]

    Float32 Blend ( Float32  value1,
    Float32  value2,
    Float32  blendValue 
    )

    Clips a value against a lower and upper limit. The new value is returned.

    ◆ Blend() [2/2]

    Float64 Blend ( Float64  value1,
    Float64  value2,
    Float64  blendValue 
    )

    ◆ Sqr() [1/2]

    X Sqr ( a,
    b 
    )

    Calculates square difference of two values.

    ◆ Sqr() [2/2]

    X Sqr ( a)

    Calculates square of a value.

    ◆ ASin() [1/2]

    Float32 ASin ( Float32  val)

    Calculates arcsine. The input value is clipped for safety to avoid exceptions.

    ◆ ASin() [2/2]

    Float64 ASin ( Float64  val)

    Calculates arcsine. The input value is clipped for safety to avoid exceptions.

    ◆ ACos() [1/2]

    Float32 ACos ( Float32  val)

    Calculates arccosine. The input value is clipped for safety to avoid exceptions.

    ◆ ACos() [2/2]

    Float64 ACos ( Float64  val)

    Calculates arccosine. The input value is clipped for safety to avoid exceptions.

    ◆ DegToRad() [1/2]

    Float32 DegToRad ( Float32  r)

    Converts float value from degrees to radians.

    Since
    R18

    ◆ DegToRad() [2/2]

    Float64 DegToRad ( Float64  r)

    Converts float value from degrees to radians.

    Since
    R18

    ◆ RadToDeg() [1/2]

    Float32 RadToDeg ( Float32  r)

    Converts float value from radians to degrees.

    Since
    R18

    ◆ RadToDeg() [2/2]

    Float64 RadToDeg ( Float64  r)

    Converts float value from radians to degrees.

    Since
    R18

    ◆ SinCos() [1/2]

    void SinCos ( Float32  r,
    Float32 sn,
    Float32 cs 
    )

    ◆ SinCos() [2/2]

    void SinCos ( Float64  r,
    Float64 sn,
    Float64 cs 
    )

    ◆ SAFEINT32() [1/2]

    Int32 SAFEINT32 ( Float32  x)

    Safely converts a 32 bit float value into Int32. The resulting value will be clipped against the Int32 boundaries, without raising an exception.

    ◆ SAFEINT32() [2/2]

    Int32 SAFEINT32 ( Float64  x)

    Safely converts a 64 bit float value into Int32. The resulting value will be clipped against the Int32 boundaries, without raising an exception.

    ◆ SAFEINT64() [1/2]

    Int64 SAFEINT64 ( Float32  x)

    Safely converts a 32 bit float value into Int64. The resulting value will be clipped against the Int64 boundaries, without raising an exception.

    ◆ SAFEINT64() [2/2]

    Int64 SAFEINT64 ( Float64  x)

    Safely converts a 64 bit float value into Int64. The resulting value will be clipped against the Int64 boundaries, without raising an exception

    ◆ SAFEINT() [1/2]

    Int SAFEINT ( Float64  x)

    Safely converts a 64 bit float value into Int. The resulting value will be clipped against the Int boundaries, without raising an exception

    ◆ SAFEINT() [2/2]

    Int SAFEINT ( Float32  x)

    Safely converts a 32 bit float value into Int. The resulting value will be clipped against the Int boundaries, without raising an exception

    ◆ SetMax()

    void SetMax ( T &  a,
    const T &  b 
    )

    Assigns the maximum of two values to the first value.

    Parameters
    [in,out]aFirst value.
    [in]bSecond value.

    ◆ SetMin()

    void SetMin ( T &  a,
    const T &  b 
    )

    Assigns the minimum of two values to the first value.

    Parameters
    [in,out]aFirst value.
    [in]bSecond value.

    Variable Documentation

    ◆ MINVALUE_FLOAT32

    constexpr Float32 MINVALUE_FLOAT32
    staticconstexpr

    the minimum value a Float32 can represent

    ◆ MAXVALUE_FLOAT32

    constexpr Float32 MAXVALUE_FLOAT32
    staticconstexpr

    the maximum value a Float32 can represent

    ◆ MINVALUE_FLOAT64

    constexpr Float64 MINVALUE_FLOAT64
    staticconstexpr

    the minimum value a Float64 can represent

    ◆ MAXVALUE_FLOAT64

    constexpr Float64 MAXVALUE_FLOAT64
    staticconstexpr

    the maximum value a Float64 can represent

    ◆ MINVALUE_INT32_FLOAT32

    constexpr Float32 MINVALUE_INT32_FLOAT32
    staticconstexpr

    minimum Float32 value that can be represented by Int32 (-0x7FFFFF80). Lower values will results in an overflow

    ◆ MAXVALUE_INT32_FLOAT32

    constexpr Float32 MAXVALUE_INT32_FLOAT32
    staticconstexpr

    maximum Float32 value that can be represented by Int32 ( 0x7FFFFF80). Higher values will results in an overflow

    ◆ MINVALUE_INT64_FLOAT64

    constexpr Float64 MINVALUE_INT64_FLOAT64
    staticconstexpr

    minimum Float64 value that can be represented by Int64 (-0x7ffffffffffffdff). Lower values will results in an overflow

    ◆ MAXVALUE_INT64_FLOAT64

    constexpr Float64 MAXVALUE_INT64_FLOAT64
    staticconstexpr

    maximum Float64 value that can be represented by Int64 ( 0x7ffffffffffffdff). Higher values will results in an overflow

    ◆ MINRANGE_FLOAT32

    constexpr Float32 MINRANGE_FLOAT32
    staticconstexpr

    'safe' minimum range for Float32. Guarantees that multiplication of two numbers doesn't produce an overflow

    ◆ MAXRANGE_FLOAT32

    constexpr Float32 MAXRANGE_FLOAT32
    staticconstexpr

    'safe' maximum range for Float32. Guarantees that multiplication of two numbers doesn't produce an overflow

    ◆ MINRANGE_FLOAT64

    constexpr Float64 MINRANGE_FLOAT64
    staticconstexpr

    'safe' minimum range for Float. Guarantees that multiplication of two numbers doesn't produce an overflow

    ◆ MAXRANGE_FLOAT64

    constexpr Float64 MAXRANGE_FLOAT64
    staticconstexpr

    'safe' maximum range for Float. Guarantees that multiplication of two numbers doesn't produce an overflow

    ◆ MINVALUE_FLOAT

    constexpr Float MINVALUE_FLOAT
    staticconstexpr

    the minimum value a Float can represent

    ◆ MAXVALUE_FLOAT

    constexpr Float MAXVALUE_FLOAT
    staticconstexpr

    the maximum value a Float can represent

    ◆ MINRANGE_FLOAT

    constexpr Float MINRANGE_FLOAT
    staticconstexpr

    'safe' minimum range for Float64. Guarantees that multiplication of two numbers doesn't produce an overflow

    ◆ MAXRANGE_FLOAT

    constexpr Float MAXRANGE_FLOAT
    staticconstexpr

    'safe' maximum range for Float64. Guarantees that multiplication of two numbers doesn't produce an overflow

    ◆ NOTOK

    constexpr Int NOTOK
    staticconstexpr

    constant used for special cases

    ◆ PI

    constexpr Float64 PI
    staticconstexpr

    floating point constant: PI

    ◆ PI_INV

    constexpr Float64 PI_INV
    staticconstexpr

    floating point constant: 1.0 / PI

    ◆ PI2

    constexpr Float64 PI2
    staticconstexpr

    floating point constant: 2.0 * PI

    ◆ PI2_INV

    constexpr Float64 PI2_INV
    staticconstexpr

    floating point constant: 1.0 / (2.0 * PI)

    ◆ PI05

    constexpr Float64 PI05
    staticconstexpr

    floating point constant: 0.5 * PI

    ◆ PI05_INV

    constexpr Float64 PI05_INV
    staticconstexpr

    floating point constant: 1.0 / (0.5 * PI)

    ◆ PI15

    constexpr Float64 PI15
    staticconstexpr

    floating point constant: 1.5 * PI

    ◆ PI15_INV

    constexpr Float64 PI15_INV
    staticconstexpr

    floating point constant: 1.0 / (1.5 * PI)