The bliss C++ API
|
A simple wrapper class for non-negative big integers (or approximation of them). More...
#include <bignum.hh>
Public Member Functions | |
BigNum () | |
~BigNum () | |
void | assign (unsigned int n) |
void | multiply (unsigned int n) |
size_t | print (FILE *const fp) const |
const std::vector< unsigned int > & | get_factors () const |
std::string | to_string () const |
A simple wrapper class for non-negative big integers (or approximation of them).
If the compile time flag BLISS_USE_GMP is set, then the GNU Multiple Precision Arithmetic library (GMP) is used to obtain arbitrary precision. Otherwise, if the compile time flag BLISS_BIGNUM_APPROX is set, a "long double" is used to approximate a big integer. Otherwise, by default, a big integer is represented by a product of integer-sized factors.
|
inline |
Create a new big number and set it to zero.
|
inline |
Destroy the number.
|
inline |
Set the number to n.
|
inline |
Get a reference to the factors vector.
|
inline |
Multiply the number with n.
|
inline |
Print the number in the file stream fp. In the current version, the returned number of characters printed, is incorrect (either -1 or 0).
|
inline |
Get the tring representation of the number. Unoptimized, uses an elementary school algorithm to multiply the factors.