//
// interface for some rational number operations
//

abstype rat_t

fun rat_make_int_int (numer: int, denom: int): rat_t

fun print_rat (r: rat_t): void // stdout
fun prerr_rat (r: rat_t): void // stderr

fun add_rat_rat (r1: rat_t, r2: rat_t): rat_t
fun sub_rat_rat (r1: rat_t, r2: rat_t): rat_t
fun mul_rat_rat (r1: rat_t, r2: rat_t): rat_t
fun div_rat_rat (r1: rat_t, r2: rat_t): rat_t

(* end of [rational.sats] *)