The concept RingNumberType defines the syntactic requirements a number type must meet in order to be used in CGAL as a ring type. This implies that CGAL::Number_type_traits<RingNumberType>::Has_division is not required to be CGAL::Tag_true. Unsigned numbers are excluded due to semantical limitations in the ordering.
CopyConstructible, Assignable
 
Declaration of a variable.
 
 
Declaration and initialization with a small integer
constant $$i, $$0 i 127. The neutral elements for addition
(zero) and multiplication (one) are needed quite often, but sometimes
other small constants are useful too. The value 127 was chosen such
that even signed 8 bit number types can fulfill this condition.

The comparison operators need to be provided.

















In addition, the comparisons with small values of type int are also required.
The arithmetic operators for the addition, subtraction and multiplication are required as well.




















And similarly, the mixed operators with small values of type int are also required.


























The following accessory functions are needed for special purposes :
C++ builtin number types
CGAL::Filtered_exact<RingNumberType, ET>
CGAL::Fixed_precision_nt
CGAL::Gmpq
CGAL::Gmpz
CGAL::Interval_nt
CGAL::Interval_nt_advanced
CGAL::Lazy_exact_nt<RingNumberType>
CGAL::MP_Float
CGAL::Quotient<RingNumberType>
leda_integer
leda_rational
leda_bigfloat
leda_real