Skip to main content

class MathEx

(Niantic.Lightship.Maps.Core.Utilities.MathEx)

Overview

Utility class for mathematical functions

class MathEx {
public:
// fields

static const double PI = Math.PI;
static const double HALF_PI = PI / 2.0;
static const double TWO_PI = 2.0* PI;
static const double DEGREES_PER_RADIAN = 180.0 / PI;
static const double RADIANS_PER_DEGREE = PI / 180.0;

// methods

static double DegToRad(double deg);
static double RadToDeg(double rad);
static double Clamp(double var, double min, double max);
static int Clamp(int var, int min, int max);
static double WrapInclusive(double value, double min, double max);
static int WrapInclusive(int value, int min, int max);
static double WrapExclusive(double value, double min, double max);
static int WrapExclusive(int value, int min, int max);
static bool IsBetween(int value, int min, int max);
static bool IsBetween(float value, float min, float max);
static bool IsBetween(double value, double min, double max);
static bool IsBetweenMaxExclusive(int value, int min, int max);
static bool IsBetweenMaxExclusive(float value, float min, float max);
static bool IsBetweenMaxExclusive(double value, double min, double max);

static bool AlmostEqual(
float value1,
float value2,
float tolerance = float.Epsilon
);

static bool AlmostEqual(
double value1,
double value2,
double tolerance = double.Epsilon
);
};

Detailed Documentation

Utility class for mathematical functions

Methods

DegToRad

static double DegToRad(double deg)

Converts between degrees and radians

    Parameters:

    deg -

    Returns:

    

RadToDeg

static double RadToDeg(double rad)

Converts between radians and degrees

    Parameters:

    rad -

    Returns:

    

Clamp

static double Clamp(double var, double min, double max)

Clamps the first number within the input range.

    Parameters:

    var -

    min -

    max -

    Returns:

    

Clamp

static int Clamp(int var, int min, int max)

Clamps the first number within the input range.

    Parameters:

    var -

    min -

    max -

    Returns:

    

WrapInclusive

static double WrapInclusive(double value, double min, double max)

Wraps a value to within [min, max] (inclusive of max).

    Parameters:

    value - The value to wrap

    min - The minimum value

    max - The maximum value

    Returns:

    A value wrapped to within [min, max]

WrapInclusive

static int WrapInclusive(int value, int min, int max)

Wraps a value to within [min, max] (inclusive of max).

    Parameters:

    value - The value to wrap

    min - The minimum value

    max - The maximum value

    Returns:

    A value wrapped to within [min, max]

WrapExclusive

static double WrapExclusive(double value, double min, double max)

Wraps a value to within [min, max) (not inclusive of max).

    Parameters:

    value - The value to wrap

    min - The minimum value

    max - The maximum value

    Returns:

    A value wrapped to within [min, max)

WrapExclusive

static int WrapExclusive(int value, int min, int max)

Wraps a value to within [min, max) (not inclusive of max).

    Parameters:

    value - The value to wrap

    min - The minimum value

    max - The maximum value

    Returns:

    A value wrapped to within [min, max)

IsBetween

static bool IsBetween(int value, int min, int max)

Checks whether a value is within a given range of [min, max] (inclusive of min and max).

    Parameters:

    value - The value to check

    min - The minimum value

    max - The maximum value

    Returns:

    True if the value is in [min, max]

IsBetween

static bool IsBetween(float value, float min, float max)

Checks whether a value is within a given range of [min, max] (inclusive of min and max).

    Parameters:

    value - The value to check

    min - The minimum value

    max - The maximum value

    Returns:

    True if the value is in [min, max]

IsBetween

static bool IsBetween(double value, double min, double max)

Checks whether a value is within a given range of [min, max] (inclusive of min and max).

    Parameters:

    value - The value to check

    min - The minimum value

    max - The maximum value

    Returns:

    True if the value is in [min, max]

IsBetweenMaxExclusive

static bool IsBetweenMaxExclusive(int value, int min, int max)

Checks whether a value is within a given range of [min, max) (not inclusive of max).

    Parameters:

    value - The value to check

    min - The minimum value

    max - The maximum value

    Returns:

    True if the value is in [min, max)

IsBetweenMaxExclusive

static bool IsBetweenMaxExclusive(float value, float min, float max)

Checks whether a value is within a given range of [min, max) (not inclusive of max).

    Parameters:

    value - The value to check

    min - The minimum value

    max - The maximum value

    Returns:

    True if the value is in [min, max)

IsBetweenMaxExclusive

static bool IsBetweenMaxExclusive(double value, double min, double max)

Checks whether a value is within a given range of [min, max) (not inclusive of max).

    Parameters:

    value - The value to check

    min - The minimum value

    max - The maximum value

    Returns:

    True if the value is in [min, max)

AlmostEqual

static bool AlmostEqual(
float value1,
float value2,
float tolerance = float.Epsilon
)

Checks whether two floating-point values are almost equal, to within a certain degree of tolerance.

    Parameters:

    value1 - The first value to check

    value2 - The second value to check

    tolerance - The amount of tolerance between the two values to be considered equal.

    Returns:

    True if the two values are close enough to be considered equal

AlmostEqual

static bool AlmostEqual(
double value1,
double value2,
double tolerance = double.Epsilon
)

Checks whether two floating-point values are almost equal, to within a certain degree of tolerance.

    Parameters:

    value1 - The first value to check

    value2 - The second value to check

    tolerance - The amount of tolerance between the two values to be considered equal.

    Returns:

    True if the two values are close enough to be considered equal