https://mrdcvlsc.github.io/APA
A C++ library for big integers and dynamic precision floating points (big numbers), pure c/c++ implementation, no handwritten inline-assembly.
Version 0.4.8 Status : [WIP - Work In Progress]
This branch (version 0.4.8) is an ongoing rewrite of the whole library.
Visit branch version 0.3.9 for the latest previous working version.
-
Documentation - learn how to use the library.
-
Quick-Tutorial - learn how this library works internally.
-
Performance Comparison - performance was compared with other light-weight popular C++ big integer libraries.
Byte Order | little-endian |
OS | Windows, Linux |
Architecture | x86, x64, x86-64 |
Compilers | clang, GCC |
If your system does not have these requirements, it might produce wrong results (on other system this could still work, but the chances of the tests failing will be higher).
This is a C++ Arbitrary Precision Arithmetic library. Used to compute
big integers and real numbers/floating point numbers. If you need to compute numbers that
is greater than the max value of long long int
, int64_t
or
__int128_t
this library can do it for you.
This repository started as a personal hobby project not intended to replace big number libraries like boost multiprecision and gmplib and is only for didactic purposes. Though performance is still a priority, meaning this library will... as much as possible, use the fastest and the most efficient algorithms and implementations THAT THE AUTHOR(s) KNOW OF.