Class Common
Contains general-purpose mathematical operations.
Inherited Members
Namespace: TheXDS.MCART.Math
Assembly: MCART.dll
Syntax
public static class Common
Methods
| Edit this page View SourceClamp(in double, in double)
Limits the range of an expression to prevent overflow.
Declaration
public static double Clamp(this in double expression, in double max)
Parameters
| Type | Name | Description |
|---|---|---|
| double | expression | The expression to evaluate. |
| double | max | The upper bound of the output range, inclusive. |
Returns
| Type | Description |
|---|---|
| double | The evaluated value within the specified range. |
Remarks
This implementation is included to allow parameters of type NaN, NegativeInfinity, and PositiveInfinity.
Clamp(in double, in double, in double)
Limits the range of an expression to prevent overflow.
Declaration
public static double Clamp(this in double expression, in double min, in double max)
Parameters
| Type | Name | Description |
|---|---|---|
| double | expression | The expression to evaluate. |
| double | min | The lower bound of the output range, inclusive. |
| double | max | The upper bound of the output range, inclusive. |
Returns
| Type | Description |
|---|---|
| double | The evaluated value within the specified range. |
Remarks
This implementation is included to allow parameters of type NaN, NegativeInfinity, and PositiveInfinity.
Clamp(in float, in float)
Limits the range of an expression to prevent overflow.
Declaration
public static float Clamp(this in float expression, in float max)
Parameters
| Type | Name | Description |
|---|---|---|
| float | expression | The expression to evaluate. |
| float | max | The upper bound of the output range, inclusive. |
Returns
| Type | Description |
|---|---|
| float | The evaluated value within the specified range. |
Remarks
This implementation is included to allow parameters of type NaN, NegativeInfinity, and PositiveInfinity.
Clamp(in float, in float, in float)
Limits the range of an expression to prevent overflow.
Declaration
public static float Clamp(this in float expression, in float min, in float max)
Parameters
| Type | Name | Description |
|---|---|---|
| float | expression | The expression to evaluate. |
| float | min | The lower bound of the output range, inclusive. |
| float | max | The upper bound of the output range, inclusive. |
Returns
| Type | Description |
|---|---|
| float | The evaluated value within the specified range. |
Remarks
This implementation is included to allow parameters of type NaN, NegativeInfinity, and PositiveInfinity.
Clamp<T>(T, in T)
Limits the range of an expression to prevent overflow.
Declaration
public static T Clamp<T>(this T expression, in T max) where T : struct, IComparable<T>
Parameters
| Type | Name | Description |
|---|---|---|
| T | expression | The expression to evaluate. |
| T | max | The upper bound of the output range, inclusive. |
Returns
| Type | Description |
|---|---|
| T | The evaluated value between 0 and |
Type Parameters
| Name | Description |
|---|---|
| T | The type of expression to limit. |
Clamp<T>(T, in T, in T)
Limits the range of an expression to prevent overflow.
Declaration
public static T Clamp<T>(this T expression, in T min, in T max) where T : IComparable<T>
Parameters
| Type | Name | Description |
|---|---|---|
| T | expression | The expression to evaluate. |
| T | min | The lower bound of the output range, inclusive. |
| T | max | The upper bound of the output range, inclusive. |
Returns
| Type | Description |
|---|---|
| T | The evaluated value that falls within the specified range. |
Type Parameters
| Name | Description |
|---|---|
| T | The type of expression to limit. |
OrIfInvalid(in double, in double)
Checks if a value is a valid, operable double-precision number. Returns the value if valid; otherwise, returns an alternate value.
Declaration
public static double OrIfInvalid(this in double value, in double alternateValue)
Parameters
| Type | Name | Description |
|---|---|---|
| double | value | Value to check. |
| double | alternateValue | Value to return if |
Returns
| Type | Description |
|---|---|
| double |
|
OrIfInvalid(in double, Func<double>)
Checks if a value is a valid, operable double-precision number. Returns the value if valid; otherwise, returns an alternate value.
Declaration
public static double OrIfInvalid(this in double value, Func<double> alternateFunc)
Parameters
| Type | Name | Description |
|---|---|---|
| double | value | Value to check. |
| Func<double> | alternateFunc | Function that returns the value to return if |
Returns
| Type | Description |
|---|---|
| double |
|
OrIfInvalid(in float, Func<float>)
Checks if a value is a valid, operable floating-point number. Returns the value if valid; otherwise, returns an alternate value.
Declaration
public static float OrIfInvalid(this in float value, Func<float> alternateFunc)
Parameters
| Type | Name | Description |
|---|---|---|
| float | value | Value to check. |
| Func<float> | alternateFunc | Function that returns the value to return if |
Returns
| Type | Description |
|---|---|
| float |
|
OrIfInvalid(in float, in float)
Checks if a value is a valid, operable floating-point number. Returns the value if valid; otherwise, returns an alternate value.
Declaration
public static float OrIfInvalid(this in float value, in float alternateValue)
Parameters
| Type | Name | Description |
|---|---|---|
| float | value | Value to check. |
| float | alternateValue | Value to return if |
Returns
| Type | Description |
|---|---|
| float |
|
Wrap(in byte, in byte, in byte)
Intentionally sets overflow points to evaluate an expression.
Declaration
public static byte Wrap(this in byte expression, in byte min, in byte max)
Parameters
| Type | Name | Description |
|---|---|---|
| byte | expression | Expression to evaluate. |
| byte | min | Lower bound of the output range, inclusive. |
| byte | max | Upper bound of the output range, inclusive. |
Returns
| Type | Description |
|---|---|
| byte | The evaluated value that is within the specified range. |
Wrap(in char, in char, in char)
Intentionally sets overflow points to evaluate an expression.
Declaration
public static int Wrap(this in char expression, in char min, in char max)
Parameters
| Type | Name | Description |
|---|---|---|
| char | expression | Expression to evaluate. |
| char | min | Lower bound of the output range, inclusive. |
| char | max | Upper bound of the output range, inclusive. |
Returns
| Type | Description |
|---|---|
| int | The evaluated value that is within the specified range. |
Wrap(in decimal, in decimal, in decimal)
Intentionally sets overflow points to evaluate an expression.
Declaration
public static decimal Wrap(this in decimal expression, in decimal min, in decimal max)
Parameters
| Type | Name | Description |
|---|---|---|
| decimal | expression | Expression to evaluate. |
| decimal | min | Lower bound of the output range, inclusive. |
| decimal | max | Upper bound of the output range, inclusive. |
Returns
| Type | Description |
|---|---|
| decimal | The evaluated value that is within the specified range. |
Wrap(in double, in double, in double)
Intentionally sets overflow points to evaluate an expression.
Declaration
public static double Wrap(this in double expression, in double min, in double max)
Parameters
| Type | Name | Description |
|---|---|---|
| double | expression | Expression to evaluate. |
| double | min | Lower bound of the output range, inclusive. |
| double | max | Upper bound of the output range, inclusive. |
Returns
| Type | Description |
|---|---|
| double | The evaluated value that is within the specified range. |
Wrap(in short, in short, in short)
Intentionally sets overflow points to evaluate an expression.
Declaration
public static int Wrap(this in short expression, in short min, in short max)
Parameters
| Type | Name | Description |
|---|---|---|
| short | expression | Expression to evaluate. |
| short | min | Lower bound of the output range, inclusive. |
| short | max | Upper bound of the output range, inclusive. |
Returns
| Type | Description |
|---|---|
| int | The evaluated value that is within the specified range. |
Wrap(in int, in int, in int)
Intentionally sets overflow points to evaluate an expression.
Declaration
public static int Wrap(this in int expression, in int min, in int max)
Parameters
| Type | Name | Description |
|---|---|---|
| int | expression | Expression to evaluate. |
| int | min | Lower bound of the output range, inclusive. |
| int | max | Upper bound of the output range, inclusive. |
Returns
| Type | Description |
|---|---|
| int | The evaluated value that is within the specified range. |
Wrap(in long, in long, in long)
Intentionally sets overflow points to evaluate an expression.
Declaration
public static long Wrap(this in long expression, in long min, in long max)
Parameters
| Type | Name | Description |
|---|---|---|
| long | expression | Expression to evaluate. |
| long | min | Lower bound of the output range, inclusive. |
| long | max | Upper bound of the output range, inclusive. |
Returns
| Type | Description |
|---|---|
| long | The evaluated value that is within the specified range. |
Wrap(in sbyte, in sbyte, in sbyte)
Intentionally sets overflow points to evaluate an expression.
Declaration
[CLSCompliant(false)]
public static int Wrap(this in sbyte expression, in sbyte min, in sbyte max)
Parameters
| Type | Name | Description |
|---|---|---|
| sbyte | expression | Expression to evaluate. |
| sbyte | min | Lower bound of the output range, inclusive. |
| sbyte | max | Upper bound of the output range, inclusive. |
Returns
| Type | Description |
|---|---|
| int | The evaluated value that is within the specified range. |
Wrap(in float, in float, in float)
Intentionally sets overflow points to evaluate an expression.
Declaration
public static float Wrap(this in float expression, in float min, in float max)
Parameters
| Type | Name | Description |
|---|---|---|
| float | expression | Expression to evaluate. |
| float | min | Lower bound of the output range, inclusive. |
| float | max | Upper bound of the output range, inclusive. |
Returns
| Type | Description |
|---|---|
| float | The evaluated value that is within the specified range. |
Wrap(in ushort, in ushort, in ushort)
Intentionally sets overflow points to evaluate an expression.
Declaration
[CLSCompliant(false)]
public static int Wrap(this in ushort expression, in ushort min, in ushort max)
Parameters
| Type | Name | Description |
|---|---|---|
| ushort | expression | Expression to evaluate. |
| ushort | min | Lower bound of the output range, inclusive. |
| ushort | max | Upper bound of the output range, inclusive. |
Returns
| Type | Description |
|---|---|
| int | The evaluated value that is within the specified range. |
Wrap(in uint, in uint, in uint)
Intentionally sets overflow points to evaluate an expression.
Declaration
[CLSCompliant(false)]
public static uint Wrap(this in uint expression, in uint min, in uint max)
Parameters
| Type | Name | Description |
|---|---|---|
| uint | expression | Expression to evaluate. |
| uint | min | Lower bound of the output range, inclusive. |
| uint | max | Upper bound of the output range, inclusive. |
Returns
| Type | Description |
|---|---|
| uint | The evaluated value that is within the specified range. |
Wrap(in ulong, in ulong, in ulong)
Intentionally sets overflow points to evaluate an expression.
Declaration
[CLSCompliant(false)]
public static ulong Wrap(this in ulong expression, in ulong min, in ulong max)
Parameters
| Type | Name | Description |
|---|---|---|
| ulong | expression | Expression to evaluate. |
| ulong | min | Lower bound of the output range, inclusive. |
| ulong | max | Upper bound of the output range, inclusive. |
Returns
| Type | Description |
|---|---|
| ulong | The evaluated value that is within the specified range. |