Basic Polynomial Algebra Subprograms (BPAS)
v. 1.791
|
An arbitrary-precision Integer. More...
#include <Integer.hpp>
Public Member Functions | |
Integer () | |
Get a zero integer. | |
Integer (int a) | |
Construct and Integer from an int. | |
Integer (const mpz_t &a) | |
Construct an integer form a GMP mpz_t. | |
Integer (const mpz_class &a) | |
Construct an integer from a GMP mpz_class. | |
Integer (const Integer &a) | |
Copy assignment from another Integer. | |
Integer (const RationalNumber &a) | |
Attempts to construct an Integer from a rational number. More... | |
Integer (const ComplexRationalNumber &a) | |
Attempts to construct an Integer from a complex rational number. More... | |
Integer (const SmallPrimeField &a) | |
Attempts to construct an Integer from a SmallPrimeField. More... | |
Integer (const BigPrimeField &a) | |
Attempts to construct an Integer from a BigPrimeField. More... | |
Integer (const GeneralizedFermatPrimeField &a) | |
Attempts to construct an Integer from a GeneralizedFermatPrimeField. More... | |
Integer (const DenseUnivariateIntegerPolynomial &a) | |
Attempts to construct an Integer from a DenseUnivariateIntegerPolynomial. More... | |
Integer (const DenseUnivariateRationalPolynomial &a) | |
Attempts to construct an Integer from a DenseUnivariateRationalPolynomial. More... | |
Integer (const SparseUnivariatePolynomial< Integer > &a) | |
Attempts to construct an Integer from a SparseUnivariatePolynomial<Integer>. More... | |
Integer (const SparseUnivariatePolynomial< RationalNumber > &a) | |
Attempts to construct an Integer from a SparseUnivariatePolynomial<RationalNumber>. More... | |
Integer (const SparseUnivariatePolynomial< ComplexRationalNumber > &a) | |
Attempts to construct an Integer from a SparseUnivariatePolynomial<ComplexRationalNumber>. More... | |
template<class Ring > | |
Integer (const SparseUnivariatePolynomial< Ring > &a) | |
Attempts to construct an Integer from a SparseUniveraitePolynomial<Ring> for a generic ring. More... | |
mpz_class & | get_mpz_ref () |
const mpz_class & | get_mpz_ref () const |
mpz_class | get_mpz () const |
mpz_ptr | get_mpz_t () |
mpz_srcptr | get_mpz_t () const |
double | get_d () const |
long int | get_si () const |
unsigned long int | get_ui () const |
bool | isZero () const |
Is a zero. More... | |
void | zero () |
Assign to zero. More... | |
bool | isOne () const |
Is a 1. More... | |
void | one () |
Assign to one. More... | |
bool | isNegativeOne () const |
Is a -1. More... | |
void | negativeOne () |
Assign to negative one. More... | |
int | isConstant () const |
Is a constant. More... | |
Integer | unitCanonical (Integer *u=NULL, Integer *v=NULL) const |
Obtain the unit normal (a.k.a canonical associate) of an element. More... | |
Integer & | operator= (const Integer &a) |
Copy assignment. | |
Integer | operator+ (const Integer &i) const |
Addition. | |
Integer & | operator+= (const Integer &i) |
Addition assignment. | |
Integer | operator- (const Integer &i) const |
Subtraction. | |
Integer & | operator-= (const Integer &i) |
Subtraction assignment. | |
Integer | operator- () const |
Negation. | |
Integer | operator* (const Integer &i) const |
Multiplication. | |
Integer & | operator*= (const Integer &i) |
Multiplication assignment. | |
Integer | operator^ (long long int e) const |
Exponentiation. | |
Integer & | operator^= (long long int e) |
Exponentiation assignment. | |
bool | operator== (const Integer &i) const |
Equality test,. More... | |
bool | operator!= (const Integer &i) const |
Inequality test,. More... | |
bool | operator< (const Integer &r) const |
bool | operator<= (const Integer &r) const |
bool | operator> (const Integer &r) const |
bool | operator>= (const Integer &r) const |
ExpressionTree | convertToExpressionTree () const |
Convert this to an expression tree. More... | |
Integer | operator/ (const Integer &i) const |
Exact division. | |
Integer & | operator/= (const Integer &i) |
Exact division assignment. | |
bool | divisible (unsigned long int i) |
Integer | operator% (const Integer &r) const |
Get the remainder of *this and b;. More... | |
Integer & | operator%= (const Integer &r) |
Assign *this to be the remainder of *this and b. More... | |
Integer | gcd (const Integer &other) const |
Get GCD of *this and other. | |
Factors< Integer > | squareFree () const |
Compute squarefree factorization of *this. | |
Integer | euclideanSize () const |
Get the euclidean size of *this. | |
Integer | euclideanDivision (const Integer &b, Integer *q=NULL) const |
Perform the eucldiean division of *this and b. More... | |
Integer | extendedEuclidean (const Integer &b, Integer *s=NULL, Integer *t=NULL) const |
Perform the extended euclidean division on *this and b. More... | |
Integer | quotient (const Integer &b) const |
Get the quotient of *this and b. | |
Integer | remainder (const Integer &b) const |
Get the remainder of *this and b. | |
Friends | |
Integer | operator+ (int a, const Integer &r) |
Integer | operator- (int a, const Integer &r) |
Integer | operator* (int a, const Integer &r) |
Integer | operator/ (int a, const Integer &r) |
bool | operator< (int a, const Integer &r) |
bool | operator<= (int a, const Integer &r) |
bool | operator> (int a, const Integer &r) |
bool | operator>= (int a, const Integer &r) |
Integer | operator+ (long int a, const Integer &r) |
Integer | operator- (long int a, const Integer &r) |
Integer | operator* (long int a, const Integer &r) |
Integer | operator/ (long int a, const Integer &r) |
Integer | abs (const Integer &i) |
bool | operator< (long int a, const Integer &r) |
bool | operator<= (long int a, const Integer &r) |
bool | operator> (long int a, const Integer &r) |
bool | operator>= (long int a, const Integer &r) |
An arbitrary-precision Integer.
|
explicit |
Attempts to construct an Integer from a rational number.
If the conversion is not exact, causes an error.
|
explicit |
Attempts to construct an Integer from a complex rational number.
If the conversion is not exact, causes an error.
|
explicit |
Attempts to construct an Integer from a SmallPrimeField.
If the conversion is not exact, causes an error.
|
explicit |
Attempts to construct an Integer from a BigPrimeField.
If the conversion is not exact, causes an error.
|
explicit |
Attempts to construct an Integer from a GeneralizedFermatPrimeField.
If the conversion is not exact, causes an error.
|
explicit |
Attempts to construct an Integer from a DenseUnivariateIntegerPolynomial.
If the conversion is not exact, causes an error.
|
explicit |
Attempts to construct an Integer from a DenseUnivariateRationalPolynomial.
If the conversion is not exact, causes an error.
|
explicit |
Attempts to construct an Integer from a SparseUnivariatePolynomial<Integer>.
If the conversion is not exact, causes an error.
|
explicit |
Attempts to construct an Integer from a SparseUnivariatePolynomial<RationalNumber>.
If the conversion is not exact, causes an error.
|
explicit |
Attempts to construct an Integer from a SparseUnivariatePolynomial<ComplexRationalNumber>.
If the conversion is not exact, causes an error.
|
explicit |
Attempts to construct an Integer from a SparseUniveraitePolynomial<Ring> for a generic ring.
If the conversion is not exact, causes an error.
|
inlinevirtual |
Convert this to an expression tree.
returns an expression tree describing *this.
Implements ExpressionTreeConvert.
Perform the eucldiean division of *this and b.
Returns the remainder. If q is not NULL, then returns the quotient in q.
Implements BPASEuclideanDomain< Integer >.
|
virtual |
Perform the extended euclidean division on *this and b.
Returns the GCD. If s and t are not NULL, returns the bezout coefficients in them.
Implements BPASEuclideanDomain< Integer >.
|
inline |
Is a constant.
|
inline |
Is a -1.
|
inlinevirtual |
|
inlinevirtual |
|
inline |
Assign to negative one.
|
inlinevirtual |
|
inlinevirtual |
Get the remainder of *this and b;.
b | the divisor |
Implements BPASEuclideanDomain< Integer >.
Assign *this to be the remainder of *this and b.
b | the divisor |
Implements BPASEuclideanDomain< Integer >.
|
inlinevirtual |
Obtain the unit normal (a.k.a canonical associate) of an element.
If either parameters u, v, are non-NULL then the units are returned such that b = ua, v = u^-1. Where b is the unit normal of a, and is the returned value.
Implements BPASRing< Integer >.
|
inlinevirtual |