1open testutils 2open ratLib ratReduce 3 4fun mkt s c (t1, t2) i = 5 (s ^ "(" ^ StringCvt.padLeft #"0" 2 (Int.toString i) ^ ")", c, t1, t2) 6 7val rmc = mkt "RAT_MUL_CONV" RAT_MUL_CONV 8val rac = mkt "RAT_ADD_CONV" RAT_ADD_CONV 9 10val _ = Lib.appi (fn i => fn p => convtest (rmc p i)) [ 11 (���2q * 3���, ���6q���), 12 (���2q * -3���, ���-6q���), 13 (���-2q * 3���, ���-6q���), 14 (���-2q * -3���, ���6q���), 15 (���2q/3 * 10���, ���20q/3���), 16 (���2q/3 * -10���, ���-20q/3���), 17 (���2q/3 * 9���, ���6q���), 18 (���2q/3 * -9���, ���-6q���), 19 (���2q/3 * -9���, ���-6q���), 20 (���2q/3 * (3/4)���, ���1q/2���), 21 (���2q/-3 * (3/4)���, ���-1q/2���), 22 (���2q/-3 * 0���, ���0q���) 23] 24 25val _ = Lib.appi (fn i => fn p => convtest (rac p i)) [ 26 (���1q + 2���, ���3q���), 27 (���1q + -2���, ���-1q���), 28 (���-1q + 2���, ���1q���), 29 (���-1q + -2���, ���-3q���), 30 (���1q + 2/3���, ���5/3q���), 31 (���1q + -2/3���, ���1/3q���), 32 (���-1q + 2/3���, ���-1/3q���), 33 (���-1q + -2/3���, ���-5/3q���), 34 (���2/3q + 4���, ���14/3q���), 35 (���2/3q + -4/6���, ���0q���) 36] 37