LSSTApplications
18.0.0+106,18.0.0+50,19.0.0,19.0.0+1,19.0.0+10,19.0.0+11,19.0.0+13,19.0.0+17,19.0.0+2,19.0.0-1-g20d9b18+6,19.0.0-1-g425ff20,19.0.0-1-g5549ca4,19.0.0-1-g580fafe+6,19.0.0-1-g6fe20d0+1,19.0.0-1-g7011481+9,19.0.0-1-g8c57eb9+6,19.0.0-1-gb5175dc+11,19.0.0-1-gdc0e4a7+9,19.0.0-1-ge272bc4+6,19.0.0-1-ge3aa853,19.0.0-10-g448f008b,19.0.0-12-g6990b2c,19.0.0-2-g0d9f9cd+11,19.0.0-2-g3d9e4fb2+11,19.0.0-2-g5037de4,19.0.0-2-gb96a1c4+3,19.0.0-2-gd955cfd+15,19.0.0-3-g2d13df8,19.0.0-3-g6f3c7dc,19.0.0-4-g725f80e+11,19.0.0-4-ga671dab3b+1,19.0.0-4-gad373c5+3,19.0.0-5-ga2acb9c+2,19.0.0-5-gfe96e6c+2,w.2020.01
LSSTDataManagementBasePackage
|
BigInteger
is an arbitrary precision signed integer class.
More...
#include <BigInteger.h>
Public Member Functions | |
BigInteger (uint32_t *digits, unsigned capacity) | |
This constructor creates a zero-valued integer with the given digit array. More... | |
BigInteger & | operator= (BigInteger const &b) |
int | getSign () const |
getSign returns -1, 0 or 1 if this integer is negative, zero or positive. More... | |
unsigned | getSize () const |
getSize returns the number of digits in the value of this integer. More... | |
unsigned | getCapacity () const |
getCapacity returns the number of digits in the underlying digit array. More... | |
uint32_t const * | getDigits () const |
getDigits returns the underlying digit array. More... | |
void | setToZero () |
setToZero sets this integer to zero. More... | |
void | setTo (int64_t x) |
setTo sets this integer to the given signed 64 bit integer value. More... | |
void | setTo (uint64_t x) |
setTo sets this integer to the given unsigned 64 bit integer value. More... | |
void | negate () |
negate multiplies this integer by -1. More... | |
BigInteger & | add (BigInteger const &b) |
add adds b to this integer. More... | |
BigInteger & | subtract (BigInteger const &b) |
subtract subtracts b from this integer. More... | |
BigInteger & | multiplyPow2 (unsigned n) |
multiplyPow2 multiplies this integer by 2ⁿ. More... | |
BigInteger & | multiply (BigInteger const &b) |
multiply multiplies this integer by b. More... | |
BigInteger
is an arbitrary precision signed integer class.
It is intended to be used in applications which need relatively small integers, and only supports addition, subtraction and multiplication.
Internally, a BigInteger consists of a sign and an unsigned magnitude. The magnitude is represented by an array of 32 bit digits, stored from least to most significant. All non-zero integers have at least one digit, the most significant of which is non-zero. Zero is defined to have no digits.
Definition at line 45 of file BigInteger.h.
|
inline |
This constructor creates a zero-valued integer with the given digit array.
Definition at line 49 of file BigInteger.h.
BigInteger & lsst::sphgeom::BigInteger::add | ( | BigInteger const & | b | ) |
add
adds b to this integer.
Definition at line 156 of file BigInteger.cc.
|
inline |
getCapacity
returns the number of digits in the underlying digit array.
Definition at line 75 of file BigInteger.h.
|
inline |
getDigits
returns the underlying digit array.
Definition at line 78 of file BigInteger.h.
|
inline |
getSign
returns -1, 0 or 1 if this integer is negative, zero or positive.
Definition at line 68 of file BigInteger.h.
|
inline |
getSize
returns the number of digits in the value of this integer.
Definition at line 71 of file BigInteger.h.
BigInteger & lsst::sphgeom::BigInteger::multiply | ( | BigInteger const & | b | ) |
BigInteger & lsst::sphgeom::BigInteger::multiplyPow2 | ( | unsigned | n | ) |
|
inline |
negate
multiplies this integer by -1.
Definition at line 103 of file BigInteger.h.
|
inline |
Definition at line 56 of file BigInteger.h.
|
inline |
setTo
sets this integer to the given signed 64 bit integer value.
Definition at line 84 of file BigInteger.h.
|
inline |
setTo
sets this integer to the given unsigned 64 bit integer value.
Definition at line 94 of file BigInteger.h.
|
inline |
setToZero
sets this integer to zero.
Definition at line 81 of file BigInteger.h.
BigInteger & lsst::sphgeom::BigInteger::subtract | ( | BigInteger const & | b | ) |
subtract
subtracts b from this integer.
Definition at line 201 of file BigInteger.cc.