Class MathUtils
Provides math-related utility functions.
public static class MathUtils
- Inheritance
-
objectMathUtils
Methods
Clamp(double, double, double)
Makes a value stay within a certain range.
[Pure]
public static double Clamp(this double value, double min = 0, double max = 1)
Parameters
valuedoubleThe number to clamp.
mindoubleThe minimum number to return.
maxdoubleThe maximum number to return.
Returns
- double
The
valueif it was in range, otherwiseminormax.
Clamp(int, int, int)
Makes a value stay within a certain range.
[Pure]
public static int Clamp(this int value, int min = 0, int max = 1)
Parameters
valueintThe number to clamp.
minintThe minimum number to return.
maxintThe maximum number to return.
Returns
- int
The
valueif it was in range, otherwiseminormax.
Clamp(long, long, long)
Makes a value stay within a certain range.
[Pure]
public static long Clamp(this long value, long min = 0, long max = 1)
Parameters
valuelongThe number to clamp.
minlongThe minimum number to return.
maxlongThe maximum number to return.
Returns
- long
The
valueif it was in range, otherwiseminormax.
Clamp(float, float, float)
Makes a value stay within a certain range.
[Pure]
public static float Clamp(this float value, float min = 0, float max = 1)
Parameters
valuefloatThe number to clamp.
minfloatThe minimum number to return.
maxfloatThe maximum number to return.
Returns
- float
The
valueif it was in range, otherwiseminormax.
DegreeToRadian(double)
Converts an angle in degrees to radians.
[Pure]
public static double DegreeToRadian(this double value)
Parameters
valuedoubleThe angle in degrees.
Returns
- double
The angle in radians.
DegreeToRadian(float)
Converts an angle in degrees to radians.
[Pure]
public static float DegreeToRadian(this float value)
Parameters
valuefloatThe angle in degrees.
Returns
- float
The angle in radians.
EqualsTolerance(double, double, double)
Compares two floating-point values for equality, allowing for a certain tolerance.
[Pure]
public static bool EqualsTolerance(this double a, double b, double tolerance = 1E-05)
Parameters
adoublebdoubletolerancedouble
Returns
- bool
EqualsTolerance(float, float, float)
Compares two floating-point values for equality, allowing for a certain tolerance.
[Pure]
public static bool EqualsTolerance(this float a, float b, float tolerance = 1E-05)
Parameters
afloatbfloattolerancefloat
Returns
- bool
GaussKernel(double, int)
Generates a Gaussian kernel.
[Pure]
public static double[] GaussKernel(double sigma, int kernelSize)
Parameters
sigmadoubleThe standard deviation of the Gaussian distribution.
kernelSizeintThe size of the kernel. Should be an uneven number.
Returns
- double[]
InterpolateTrigonometric(double, params double[])
Performs smooth (trigonometric) interpolation between two or more values.
[Pure]
public static double InterpolateTrigonometric(double factor, params double[] values)
Parameters
factordoubleA factor between 0 and
values.Length.valuesdouble[]The value checkpoints.
Returns
- double
InterpolateTrigonometric(float, params float[])
Performs smooth (trigonometric) interpolation between two or more values.
[Pure]
public static float InterpolateTrigonometric(this float factor, params float[] values)
Parameters
factorfloatA factor between 0 and
values.Length.valuesfloat[]The value checkpoints.
Returns
- float
Modulo(double, double)
Calculates the mathematical modulo of a value.
[Pure]
public static double Modulo(this double value, double modulo)
Parameters
valuedoublemodulodouble
Returns
- double
Modulo(int, int)
Calculates the mathematical modulo of a value.
[Pure]
public static int Modulo(this int value, int modulo)
Parameters
valueintmoduloint
Returns
- int
Modulo(long, long)
Calculates the mathematical modulo of a value.
[Pure]
public static long Modulo(this long value, long modulo)
Parameters
valuelongmodulolong
Returns
- long
Modulo(float, float)
Calculates the mathematical modulo of a value.
[Pure]
public static float Modulo(this float value, float modulo)
Parameters
valuefloatmodulofloat
Returns
- float
MultiplyAndRound(Size, SizeF)
Multiplies a System.Drawing.Size with a System.Drawing.SizeF and then rounds the components to integer values.
[Pure]
public static Size MultiplyAndRound(this Size size, SizeF factor)
Parameters
sizeSizefactorSizeF
Returns
- Size
RadianToDegree(double)
Converts an angle in radians to degrees.
[Pure]
public static double RadianToDegree(this double value)
Parameters
valuedoubleThe angle in radians.
Returns
- double
The angle in degrees.
RadianToDegree(float)
Converts an angle in radians to degrees.
[Pure]
public static float RadianToDegree(this float value)
Parameters
valuefloatThe angle in radians.
Returns
- float
The angle in degrees.