%% 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