class
	RATIONAL

General
	cluster: mathmodels
	description: 
		"An arbitrary precision library for Rational numbers.
		
		Creation
		make,
		make_from_ints,
		make_from_string,
		make_from_real32,
		make_from_real64,
		
		Queries
		absolute: RATIONAL
		add (other: RATIONAL): RATIONAL
		as_real32: REAL_32
		as_real64: REAL_64
		divide alias %"//%" (other: RATIONAL): RATIONAL
		is_equal (other: RATIONAL): BOOLEAN
		is_greater alias %">%" (other: RATIONAL): BOOLEAN
		is_greater_equal alias %">=%" (other: RATIONAL): BOOLEAN
		is_less alias %"<%" (other: RATIONAL): BOOLEAN
		is_less_equal alias %"<=%" (other: RATIONAL): BOOLEAN
		is_valid_real_32: BOOLEAN
		is_valid_real_64: BOOLEAN
		max (other: [like Current] RATIONAL): RATIONAL
		min (other: [like Current] RATIONAL): RATIONAL
		minus alias %"-%" (other: RATIONAL): RATIONAL
		multiply (other: RATIONAL): RATIONAL
		negate: RATIONAL
		opposite alias %"-%": RATIONAL
		out: STRING_8
		plus alias %"+%" (other: RATIONAL): RATIONAL
		power alias %"^%" (other: INTEGER): RATIONAL
		product alias %"*%" (other: RATIONAL): RATIONAL
		quotient alias %"/%" (other: RATIONAL): RATIONAL
		reciprocal: RATIONAL
		round_to (digits: INTEGER): STRING
		square: RATIONAL
		string_is_float (s: STRING): BOOLEAN
		string_is_fraction (s: STRING): BOOLEAN
		string_is_rational (s: STRING): BOOLEAN
		subtract (other: RATIONAL): RATIONAL
		
		Commands
		canonicalize"
	create: make, make_from_ints, make_from_string, make_from_real32, make_from_real64, default_create

Ancestors
	ANY
	COMPARABLE*
	DEBUG_OUTPUT*

Queries
	abs: [like Current] RATIONAL
	absolute: [like Current] RATIONAL
	add (other: [like Current] RATIONAL): [like Current] RATIONAL
	as_real32: REAL_32
	as_real64: REAL_64
	debug_output: STRING_8
	divide alias "//" (other: [like Current] RATIONAL): [like Current] RATIONAL
	divisible (other: [like Current] RATIONAL): BOOLEAN
	exp (other: INTEGER_32): RATIONAL
	exponentiable (other: NUMERIC): BOOLEAN
	get_p_q (s: STRING_8): TUPLE [[like arg #1] STRING_8, [like arg #1] STRING_8]
	identity alias "+": [like Current] RATIONAL
	int_zero: BIG_INTEGER
	is_canonical: BOOLEAN
	is_equal (other: [like Current] RATIONAL): BOOLEAN
	is_greater alias ">" (other: [like Current] RATIONAL): BOOLEAN
	is_greater_equal alias ">=" (other: [like Current] RATIONAL): BOOLEAN
	is_less alias "<" (other: [like Current] RATIONAL): BOOLEAN
	is_less_equal alias "<=" (other: [like Current] RATIONAL): BOOLEAN
	is_valid_real_32: BOOLEAN
	is_valid_real_64: BOOLEAN
	max (other: [like Current] RATIONAL): [like Current] RATIONAL
	min (other: [like Current] RATIONAL): [like Current] RATIONAL
	minus alias "-" (other: [like Current] RATIONAL): [like Current] RATIONAL
	multiply (other: [like Current] RATIONAL): [like Current] RATIONAL
	negate: [like Current] RATIONAL
	one: [like Current] RATIONAL
	opposite alias "-": [like Current] RATIONAL
	out: STRING_8
	plus alias "+" (other: [like Current] RATIONAL): [like Current] RATIONAL
	power alias "^" (other: INTEGER_32): RATIONAL
	product alias "*" (other: [like Current] RATIONAL): [like Current] RATIONAL
	quotient alias "/" (other: [like Current] RATIONAL): [like Current] RATIONAL
	reciprocal: [like Current] RATIONAL
	round_to (digits: INTEGER_32): STRING_8
	square: RATIONAL
	string_is_float (s: STRING_8): BOOLEAN
	string_is_fraction (s: STRING_8): BOOLEAN
	string_is_rational (s: STRING_8): BOOLEAN
	subtract (other: [like Current] RATIONAL): [like Current] RATIONAL
	three_way_comparison (other: [like Current] RATIONAL): INTEGER_32
	zero: [like Current] RATIONAL

Commands
	canonicalize

Constraints
	well defined


Generated by ISE EiffelStudio