Class com.sekati.math.MathBase

Description

Static class wrapping various Math utilities.

Method Index

constrain(), factorial(), floor(), fuzzyEval(), getDivisors(), isEven(), isInteger(), isNatural(), isNegative(), isOdd(), isPositive(), isPrime(), max(), maxArray(), min(), minArray(), proportion(), rnd(), round(), roundHalf(), sanitizeFloat()

Method Detail

max

static public function max():Number

Returns the highest value of all passed arguments Like Math.max() but supports any number of args passed to it

Return

Number

min

static public function min():Number

Returns the lowest value of all passed arguments Like Math.min() but supports any number of args passed to it

Return

Number

maxArray

static public function maxArray(a:Array):Number

Returns the highest value of all items in array Like Math.max() but supports any number of items

Parameters

a(Array)

Return

Number

minArray

static public function minArray(a:Array):Number

Returns the lowest value of all items in array Like Math.min() but supports any number of items

Parameters

a(Array)

Return

Number

floor

static public function floor(val:Number, decimal:Number):Number

Same as Math.foor with extra argument to specify number of decimals

Parameters

val(Number)
decimal(Number)

Return

Number

round

static public function round(val:Number, decimal:Number):Number

Round to a given amount of decimals

Parameters

val(Number)
decimal(Number)

Return

Number

roundHalf

static public function roundHalf(val:Number):Number

Round to nearest .5

Parameters

val(Number)

Return

Number

 Example:
 	trace(MathBase.roundHalf(4.47)); // returns 4.5
 

constrain

static public function constrain(val:Number, min:Number, max:Number):Number

Will constrain a value to the defined boundaries

Parameters

val(Number)
min(Number)
max(Number)

Return

Number

 Examples:
 val: 20, 2 to 5    this will give back 5 since 5 is the top boundary
 val: 3, 2 to 5     this will give back 3
 

proportion

static public function proportion(x1:Number, x2:Number, y1:Number, y2:Number, x:Number):Number

Return the proportional value of two pairs of numbers.

Parameters

x1(Number)
x2(Number)
y1(Number)
y2(Number)
x(Number) optional

Return

Number

isPositive

static public function isPositive(n:Number):Boolean

Check if number is positive (zero is considered positive)

Parameters

n(Number)

Return

Boolean

isNegative

static public function isNegative(n:Number):Boolean

Check if number is negative

Parameters

n(Number)

Return

Boolean

isOdd

static public function isOdd(n:Number):Boolean

Check if number is Odd (convert to Integer if necessary)

Parameters

n(Number)

Return

Boolean

isEven

static public function isEven(n:Number):Boolean

Check if number is Even (convert to Integer if necessary)

Parameters

n(Number)

Return

Boolean

isPrime

static public function isPrime(n:Number):Boolean

Check if number is Prime (divisible only itself and one)

Parameters

n(Number)

Return

Boolean

factorial

static public function factorial(n:Number):Number

Calculate the factorial of the integer.

Parameters

n(Number)

Return

Number

getDivisors

static public function getDivisors(n:Number):Array

Return an array of divisors of the integer.

Parameters

n(Number)

Return

Number

isInteger

static public function isInteger(n:Number):Boolean

Check if number is an Integer

Parameters

n(Number)

Return

Boolean

isNatural

static public function isNatural(n:Number):Boolean

Check if number is Natural (positive Integer)

Parameters

n(Number)

Return

Boolean

rnd

static public function rnd(start:Number, end:Number):Number

Returns a random number inside a specific range

Parameters

start(Number)
end(Number)

Return

Number

sanitizeFloat

static public function sanitizeFloat(n:Number, precision:Number):Number

Correct "roundoff errors" in floating point math.

Parameters

n(Number)
precision(Number) - optional [default: returns (10000 * number) / 10000]

Return

Number

See Also

  • http://www.zeuslabs.us/2007/01/30/flash-floating-point-number-errors/

fuzzyEval

static public function fuzzyEval(n1:Number, n2:Number, precision:Number):Boolean

Evaluate if two numbers are nearly equal

Parameters

n1(Number)
n2(Number)
precision(Number) - optional [default: 0.00001 -0.00001]

Return

Boolean

See Also

  • http://www.zeuslabs.us/2007/01/30/flash-floating-point-number-errors/