Has classes representing all the types of numbers from MPIR(GMP), MPFR and MPC. Has a cluster named c_interface which contains classes that directly represent the C code interfaces. Modeled after the Eiffel Software number classes. Each number class has has an XXX_MATH class and an XXX_RANDOM class. The prefixes that replace XXX can be MPZ(integer), MPQ(rational), MPF(real), MPC(complex) and MPFR(real). I built this library using complete void safety. The library files are not included as I don't believe I can distribute them. If you are unable to build them I think I can provide the ones I am using to individuals. I have them built for Win32 and x64 on Windows and you can contact me personally at email@example.com. MPIR(), MPFR() and MPC() are available on the web and the library files can be built from these sources. I believe it would be possible to substitute the GMP library for the MPIR one with a few changes to any class that contains the line "C inline use %"mpir.h%"". You would need to use %"gmp.h%"" instead of %"mpir.h%"" and the MPIR library contains a couple of functions that are not included in GMP. GMP contains a couple of functions that are not in MPIR. MPIR can be built on all the platforms that GMP can be built on.