Math
namespace Math
a collection of math utility functions
Summary
Properties from Math
number |
|
number |
|
number |
|
number |
|
number |
|
Public Properties
EPSILON: number = 0.000001
number
the difference between 1 and the smallest floating point number greater than 1
Public Methods
clamp(val: number, low: number, high: number) → {number}
clamp the given value
Name | Type | Description |
---|---|---|
val | number |
the value to clamp |
low | number |
lower limit |
high | number |
higher limit |
Type | Description |
---|---|
number |
clamped value |
degToRad(angle: number) → {number}
Converts an angle in degrees to an angle in radians
// convert a specific angle
me.Math.degToRad(60); // return 1.0471...
Name | Type | Description |
---|---|---|
angle | number |
angle in degrees |
Type | Description |
---|---|
number |
corresponding angle in radians |
isPowerOfTwo(val: number) → {boolean}
returns true if the given value is a power of two
Name | Type | Description |
---|---|---|
val | number |
Type | Description |
---|---|
boolean |
nextPowerOfTwo(val: number) → {boolean}
returns the next power of two for the given value
Name | Type | Description |
---|---|---|
val | number |
Type | Description |
---|---|
boolean |
pow(n: number) → {number}
Calculates the power of a number.
Name | Type | Description |
---|---|---|
n | number |
The number to be raised to the power of 2. |
Type | Description |
---|---|
number |
The result of raising the number to the power of 2. |
radToDeg(radians: number) → {number}
Converts an angle in radians to an angle in degrees.
// convert a specific angle
me.Math.radToDeg(1.0471975511965976); // return 60
Name | Type | Description |
---|---|---|
radians | number |
angle in radians |
Type | Description |
---|---|
number |
corresponding angle in degrees |
random(min: number, max: number) → {number}
return a random integer between min (included) and max (excluded)
// Print a random number; one of 5, 6, 7, 8, 9
console.log(me.Math.random(5, 10) );
Name | Type | Description |
---|---|---|
min | number |
minimum value. |
max | number |
maximum value. |
Type | Description |
---|---|
number |
random value |
randomFloat(min: number, max: number) → {number}
return a random float between min, max (exclusive)
// Print a random number; one of 5, 6, 7, 8, 9
console.log(me.Math.randomFloat(5, 10) );
Name | Type | Description |
---|---|---|
min | number |
minimum value. |
max | number |
maximum value. |
Type | Description |
---|---|
number |
random value |
round(num: number, dec: number) → {number}
round a value to the specified number of digit
// round a specific value to 2 digits
me.Math.round(10.33333, 2); // return 10.33
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
num | number |
value to be rounded. |
||
dec | number |
<optional> |
0 |
number of decimal digit to be rounded to. |
Type | Description |
---|---|
number |
rounded value |
toBeCloseTo(expected: number, actual: number, precision: number) → {boolean}
check if the given value is close to the expected one
// test if the given value is close to 10
if (me.Math.toBeCloseTo(10, value)) {
// do something
}
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
expected | number |
value to be compared with. |
||
actual | number |
actual value to compare |
||
precision | number |
<optional> |
2 |
float precision for the comparison |
Type | Description |
---|---|
boolean |
if close to |
weightedRandom(min: number, max: number) → {number}
return a weighted random between min, max (exclusive)
// Print a random number; one of 5, 6, 7, 8, 9
console.log(me.Math.weightedRandom(5, 10) );
Name | Type | Description |
---|---|---|
min | number |
minimum value. |
max | number |
maximum value. |
Type | Description |
---|---|
number |
random value |