All real numbers have the same class, RR, but the rings they belong to depends on the number of binary digits of precision used to represent them. Similarly for complex numbers, which all belong to the class CC. Thus RR and CC are regarded not as inexact fields, but as families of inexact fields.
i1 : x = 1/3. o1 = .333333333333333 o1 : RR (of precision 53) |
i2 : class x o2 = RR o2 : InexactFieldFamily |
i3 : ring x o3 = RR 53 o3 : RealField |
i4 : x = 1/3.p200 o4 = .333333333333333333333333333333333333333333333333333333333333 o4 : RR (of precision 200) |
i5 : class x o5 = RR o5 : InexactFieldFamily |
i6 : ring x o6 = RR 200 o6 : RealField |
The object InexactFieldFamily is a type, with ancestor classes RingFamily < Type < MutableHashTable < HashTable < Thing.