Skip to content
Dave Hudson edited this page Feb 2, 2017 · 30 revisions

c8 is designed as an easy-to-use big number (unlimited precision) library that has no dependencies other than the standard C++ libraries provided with gcc or clang.

Number Types

c8 provides supports for three primary classes of numbers:

  • c8::natural provides natural numbers.
  • c8::integer provides integers.
  • c8::rational provides rational numbers.

Between these 3 it's possible to represent all of the interesting numbers that a computer can directly represent, with floating point numbers are a subset of the set of rational numbers. By using rationals instead of floating point it's also much easier to avoid some types of computational error.

FAQ

Some questions and answers about the project. See FAQ

License

The code is licensed under a 3-clause BSD license.

Implementation

It is written in C++14. There is no intention to formally support earlier versions.

Development Notes

Part of the aim of this library project is to document the development process. See: Dev Notes

Contact

Please feel free to raise issues via the issue tracker, or tweet the author (Dave Hudson) via @hashingitcom

Clone this wiki locally