home *** CD-ROM | disk | FTP | other *** search
- ! ><HopeProgs$Dir>.SimpleInt !
- ! !
- !------------------------------------------!
- ! !
- ! This is a collection of simple Hope !
- ! functions over integers. !
- ! !
- !------------------------------------------!
-
-
-
-
-
- dec AddDigit : num # num -> num;
- --- AddDigit(Number,Digit) <= (Number * 10) + Digit;
-
-
-
- infix cat : 4;
- dec cat : num # num -> num;
- --- Number cat Digit <= (Number * 10) + Digit;
-
-
-
- dec fact : num -> num;
- --- fact 0 <= 1;
- --- fact m <= m * fact(m-1);
-
-
-
- dec gcd : num # num -> num;
- --- gcd (first , second)
- <= if (first mod second) = 0
- then second
- else gcd ( second , (first mod second) );
-
-
-
- dec ChangeBase : num # num -> num;
- --- ChangeBase ( Number , Base )
- <= if (Number div Base) = 0
- then Number
- else ChangeBase((Number div Base),Base) cat (Number mod Base);
-
-
- infix perm : 7;
- dec perm : num # num -> num;
- --- n perm r
- <= (fact n) div fact(n-r);
-
-
-
- infix combl: 6;
- dec combl : num # num -> num;
- --- n combl r
- <= (fact n) div ( (n - r) * fact r );
-
-
-
- infix combe: 7;
- dec combe : num # num -> num;
- --- n combe r
- <= (fact n) div ( (n - r) * fact r );
-
-
-
- infix combg: 8;
- dec combg : num # num -> num;
- --- n combg r
- <= (fact n) div ( (n - r) * fact r );
-