%% basicCD.sm1
(basicCD.sm1 : plus2, plus1, times, minus2, minus1, over, power ) message
( integer_quotient, integer_remainder, integer_gcd ) message
( equal, unequal, less, lessequal, greater, greaterequal ) message
/plus2 { add } def
/plus1 { } def
/times { mul } def
/minus2 { sub } def
/minus1 { (0).. 2 -1 roll sub } def
/over { div } def
/integer_quotient { idiv } def
/integer_remainder {
/basicCD.B set
/basicCD.A set
[(tdiv_qr) basicCD.A basicCD.B] mpzext 1 get
} def
/integer_gcd {
/basicCD.B set
/basicCD.A set
[(gcd) basicCD.A basicCD.B] mpzext
} def
/equal { eq } def
/unequal { eq not } def
/less { lt } def
/lessequal { le } def
/greater { gt } def
/greaterequal{ ge } def