-- rational_in() tests select rational('1') AS one; select rational('-1') AS minus_one; select rational('0/0') AS undef; select rational('0/1') AS zero; select rational('0/2') AS zero; select rational('1/0') AS undef; select rational('1/2') AS half; select rational('4/6') AS two_third; select rational('-0/0') AS undef; select rational('-0/1') AS zero; select rational('-0/2') AS zero; select rational('-1/0') AS undef; select rational('-1/2') AS minus_half; select rational('-4/6') AS minus_two_third; -- arith tests select rational('0/1') + rational('1/2') AS half; select rational('1/2') + rational('1/2') AS one; select rational('1/2') + rational('-1/2') AS zero; select rational('-1/2') + rational('-1/2') AS minus_one_ERR; select rational('1/2') - rational('-1/2') AS one; select rational('1/2') - rational('1/2') AS zero; select rational('2/1') - rational('-1/1') AS minus_one_ERR; select rational('2/1') - rational('1/1') AS minus_three_ERR; select rational('2/1') * rational('1/2') AS one; select rational('-1/2') * rational('-1/2') AS one_fourth; select rational('1/2') * rational('-1/2') AS minus_one_fourth; select rational('-1/2') * rational('1/2') AS minus_one_fourth; select rational('2/3') / rational('2/3') AS one; select rational('2/3') / rational('-3/2') AS minus_four_nineths; select rational('-2/3') / rational('3/2') AS minus_four_nineths; -- comparisions tests select rational('0/1') = rational('1/2') AS false; select rational('-1/2') > rational('1/2') AS false; select rational('0/0') != rational('0/1') AS true;