EXPORT effective_rate(nominal, compound)
// Finite (simplex) compounding
// nominal = nominal rate (i.e. 0.05), compound = number of compounding period per year (i.e. 12)
BEGIN
local effective;
effective:= ((1+ nominal/compound)^compound - 1);
return effective;
END;

EXPORT eff_cont__rate(nominal)
// Continous compounding
// nominal = nominal rate (i.e. 0.05)
BEGIN
local effective;
effective:= ((e^nominal) - 1);
return effective;
END;

EXPORT nominal_rate(effective, compound)
// Finite (simplex) compounding
// effective = effective rate (i.e. 0.05), compound = number of compounding period per year (i.e. 12)
BEGIN
local nominal;
nominal:= ((effective + 1)^(1/compound)-1)*compound;
return nominal;
END;

EXPORT nominal_cont__rate(effective)
// Continous compounding
// effective = effective rate (i.e. 0.05)
BEGIN
local nominal;
nominal:= LN(effective + 1);
return nominal;
END;

EXPORT simp_comp(sint,t)
// Simple inerest (i.e. 0.05) to compound interest, t = period
BEGIN
local cint;
cint:= ((1+sint*t)^(1/t))-1;
RETURN cint;
END;

EXPORT comp_simp(cint, t)
// Compound  interest (i.e. 0.05) to simple, t = period
BEGIN
local sint;
sint:= ((1+cint)^t-1)/t;
RETURN sint;
END;