NAME

MDK::Common::Math - miscellaneous math functions

SYNOPSIS

use MDK::Common::Math qw(:all);

EXPORTS

$PI

the well-known constant

even(INT)
odd(INT)

is the number even or odd?

sqr(FLOAT)

sqr(3) gives 9

sign(FLOAT)

returns a value in { -1, 0, 1 }

round(FLOAT)

round(1.2) gives 1, round(1.6) gives 2

round_up(FLOAT, INT)

returns the number rounded up to the modulo: round_up(11,10) gives 20

round_down(FLOAT, INT)

returns the number rounded down to the modulo: round_down(11,10) gives 10

divide(INT, INT)

integer division (which is lacking in perl). In array context, also returns the remainder: ($a, $b) = divide(10,3) gives $a is 3 and $b is 1

min(LIST)
max(LIST)

returns the minimum/maximum number in the list

or_(LIST)

is there a true value in the list?

and_(LIST)

are all values true in the list?

sum(LIST)
product(LIST)

returns the sum/product of all the element in the list

factorial(INT)

factorial(4) gives 24 (4*3*2)

OTHER

the following functions are provided, but not exported:

factorize(INT)

factorize(40) gives ([2,3], [5,1]) as 40 = 2^3 + 5^1

decimal2fraction(FLOAT)

decimal2fraction(1.3333333333) gives (4, 3) ($PRECISION is used to decide which precision to use)

poly2(a,b,c)

Solves the a*x2+b*x+c=0 polynomial: poly2(1,0,-1) gives (1, -1)

permutations(n,p)

A(n,p)

combinaisons(n,p)

C(n,p)

SEE ALSO

MDK::Common