public final class BigInteger extends java.lang.Object implements GcdRingElem<BigInteger>, RingFactory<BigInteger>, java.lang.Iterable<BigInteger>, Rational
BigInteger
,
Serialized FormModifier and Type | Field and Description |
---|---|
static BigInteger |
ONE
The constant 1.
|
static BigInteger |
TWO
The constant 2.
|
java.math.BigInteger |
val
The data structure.
|
static BigInteger |
ZERO
The constant 0.
|
Constructor and Description |
---|
BigInteger()
Constructor for BigInteger without parameters.
|
BigInteger(java.math.BigInteger a)
Constructor for BigInteger from math.BigInteger.
|
BigInteger(long a)
Constructor for BigInteger from long.
|
BigInteger(java.lang.String s)
Constructor for BigInteger from String.
|
Modifier and Type | Method and Description |
---|---|
BigInteger |
abs()
Absolute value of this.
|
long |
bitLength()
Returns the number of bits in the representation of this BigInteger,
including a sign bit.
|
static long |
bitLength(long v)
Returns the number of bits in the representation of a Long, including a
sign bit.
|
java.math.BigInteger |
characteristic()
Characteristic of this ring.
|
int |
compareTo(BigInteger b)
Compare to BigInteger b.
|
BigInteger |
copy()
Clone this.
|
BigInteger |
copy(BigInteger c)
Copy BigInteger element c.
|
BigInteger |
divide(BigInteger S)
BigInteger divide.
|
BigInteger[] |
egcd(BigInteger S)
BigInteger extended greatest common divisor.
|
boolean |
equals(java.lang.Object b)
Comparison with any other object.
|
BigInteger |
factory()
Get the corresponding element factory.
|
BigInteger |
fromInteger(java.math.BigInteger a)
Get a BigInteger element from a math.BigInteger.
|
BigInteger |
fromInteger(long a)
Get a BigInteger element from long.
|
BigInteger |
gcd(BigInteger S)
BigInteger greatest common divisor.
|
java.util.List<BigInteger> |
generators()
Get a list of the generating elements.
|
BigInteger |
getONE()
Get the one element.
|
BigRational |
getRational()
Return a BigRational approximation of this Element.
|
java.math.BigInteger |
getVal()
Get the value.
|
BigInteger |
getZERO()
Get the zero element.
|
int |
hashCode()
Hash code for this BigInteger.
|
static BigInteger |
IABS(BigInteger A)
Absolute value.
|
static int |
ICOMP(BigInteger A,
BigInteger B)
Integer comparison.
|
static BigInteger |
IDIF(BigInteger A,
BigInteger B)
BigInteger subtract.
|
static BigInteger |
IGCD(BigInteger A,
BigInteger B)
BigInteger greatest common divisor.
|
static BigInteger |
INEG(BigInteger A)
Negative value.
|
BigInteger |
inverse()
Integer inverse.
|
static BigInteger |
IPROD(BigInteger A,
BigInteger B)
BigInteger multiply.
|
static BigInteger |
IQ(BigInteger A,
BigInteger B)
BigInteger divide.
|
static BigInteger[] |
IQR(BigInteger A,
BigInteger B)
Integer quotient and remainder.
|
static BigInteger |
IRAND(int NL)
BigInteger random.
|
static BigInteger |
IREM(BigInteger A,
BigInteger B)
BigInteger remainder.
|
boolean |
isAssociative()
Query if this ring is associative.
|
boolean |
isCommutative()
Query if this ring is commutative.
|
boolean |
isField()
Query if this ring is a field.
|
boolean |
isFinite()
Is this structure finite or infinite.
|
static int |
ISIGN(BigInteger A)
Integer signum.
|
boolean |
isONE()
Is BigInteger number one.
|
static BigInteger |
ISUM(BigInteger A,
BigInteger B)
BigInteger addition.
|
boolean |
isUnit()
Is BigInteger number unit.
|
boolean |
isZERO()
Is BigInteger number zero.
|
java.util.Iterator<BigInteger> |
iterator()
Get a BigInteger iterator.
|
long |
longValue()
Get the value as long.
|
BigInteger |
multiply(BigInteger S)
BigInteger multiply.
|
BigInteger |
negate()
Negate this.
|
BigInteger |
parse(java.io.Reader r)
BigInteger parse from Reader.
|
BigInteger |
parse(java.lang.String s)
BigInteger parse from String.
|
BigInteger[] |
quotientRemainder(BigInteger S)
BigInteger compute quotient and remainder.
|
BigInteger |
random(int n)
BigInteger random.
|
BigInteger |
random(int n,
java.util.Random rnd)
BigInteger random.
|
BigInteger |
remainder(BigInteger S)
BigInteger remainder.
|
void |
setAllIterator()
Set the iteration algorithm to all elements.
|
void |
setNonNegativeIterator()
Set the iteration algorithm to non-negative elements.
|
BigInteger |
shiftLeft(int n)
BigInteger shift left.
|
int |
signum()
signum.
|
BigInteger |
subtract(BigInteger S)
BigInteger subtract.
|
BigInteger |
sum(BigInteger S)
BigInteger summation.
|
java.lang.String |
toScript()
Get a scripting compatible string representation.
|
java.lang.String |
toScriptFactory()
Get a scripting compatible string representation of the factory.
|
java.lang.String |
toString()
Get the String representation.
|
static BigInteger |
valueOf(java.math.BigInteger a)
Get a BigInteger element from a math.BigInteger.
|
static BigInteger |
valueOf(long a)
Get a BigInteger element from long.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
leftDivide, leftRemainder, power, rightDivide, rightRemainder, twosidedDivide, twosidedRemainder
public final java.math.BigInteger val
public static final BigInteger ZERO
public static final BigInteger ONE
public static final BigInteger TWO
public BigInteger(java.math.BigInteger a)
a
- java.math.BigInteger.public BigInteger(long a)
a
- long.public BigInteger(java.lang.String s)
s
- String.public BigInteger()
public java.math.BigInteger getVal()
public long longValue()
public BigInteger factory()
factory
in interface Element<BigInteger>
Element.factory()
public java.util.List<BigInteger> generators()
generators
in interface ElemFactory<BigInteger>
ElemFactory.generators()
public boolean isFinite()
isFinite
in interface ElemFactory<BigInteger>
ElemFactory.isFinite()
public BigInteger copy()
copy
in interface Element<BigInteger>
Object.clone()
public BigInteger copy(BigInteger c)
copy
in interface ElemFactory<BigInteger>
c
- BigInteger.public BigInteger getZERO()
getZERO
in interface AbelianGroupFactory<BigInteger>
public BigInteger getONE()
getONE
in interface MonoidFactory<BigInteger>
public boolean isCommutative()
isCommutative
in interface MonoidFactory<BigInteger>
public boolean isAssociative()
isAssociative
in interface MonoidFactory<BigInteger>
public boolean isField()
isField
in interface RingFactory<BigInteger>
public java.math.BigInteger characteristic()
characteristic
in interface RingFactory<BigInteger>
public BigInteger fromInteger(java.math.BigInteger a)
fromInteger
in interface ElemFactory<BigInteger>
a
- math.BigInteger.public static BigInteger valueOf(java.math.BigInteger a)
a
- math.BigInteger.public BigInteger fromInteger(long a)
fromInteger
in interface ElemFactory<BigInteger>
a
- long.public static BigInteger valueOf(long a)
a
- long.public boolean isZERO()
isZERO
in interface AbelianGroupElem<BigInteger>
AbelianGroupElem.isZERO()
public boolean isONE()
isONE
in interface MonoidElem<BigInteger>
MonoidElem.isONE()
public boolean isUnit()
isUnit
in interface MonoidElem<BigInteger>
MonoidElem.isUnit()
public java.lang.String toString()
toString
in class java.lang.Object
Object.toString()
public java.lang.String toScript()
toScript
in interface Element<BigInteger>
toScript
in interface ElemFactory<BigInteger>
Element.toScript()
public java.lang.String toScriptFactory()
toScriptFactory
in interface Element<BigInteger>
Element.toScriptFactory()
public int compareTo(BigInteger b)
compareTo
in interface Element<BigInteger>
compareTo
in interface java.lang.Comparable<BigInteger>
b
- BigInteger.public static int ICOMP(BigInteger A, BigInteger B)
A
- BigInteger.B
- BigInteger.public boolean equals(java.lang.Object b)
equals
in interface Element<BigInteger>
equals
in class java.lang.Object
Object.equals(java.lang.Object)
public int hashCode()
hashCode
in interface Element<BigInteger>
hashCode
in class java.lang.Object
Object.hashCode()
public BigInteger abs()
abs
in interface AbelianGroupElem<BigInteger>
AbelianGroupElem.abs()
public static BigInteger IABS(BigInteger A)
A
- BigInteger.public BigInteger negate()
AbelianGroupElem
negate
in interface AbelianGroupElem<BigInteger>
public static BigInteger INEG(BigInteger A)
A
- BigInteger.public int signum()
signum
in interface AbelianGroupElem<BigInteger>
AbelianGroupElem.signum()
public static int ISIGN(BigInteger A)
A
- BigInteger.public BigInteger subtract(BigInteger S)
subtract
in interface AbelianGroupElem<BigInteger>
S
- BigInteger.public static BigInteger IDIF(BigInteger A, BigInteger B)
A
- BigInteger.B
- BigInteger.public BigInteger divide(BigInteger S)
divide
in interface MonoidElem<BigInteger>
S
- BigInteger.public static BigInteger IQ(BigInteger A, BigInteger B)
A
- BigInteger.B
- BigInteger.public BigInteger inverse()
inverse
in interface MonoidElem<BigInteger>
MonoidElem.inverse()
public BigInteger remainder(BigInteger S)
remainder
in interface MonoidElem<BigInteger>
S
- BigInteger.public static BigInteger IREM(BigInteger A, BigInteger B)
A
- BigInteger.B
- BigInteger.public BigInteger[] quotientRemainder(BigInteger S)
quotientRemainder
in interface MonoidElem<BigInteger>
S
- BigInteger.public static BigInteger[] IQR(BigInteger A, BigInteger B)
A
- BigInteger.B
- BigInteger.public BigInteger gcd(BigInteger S)
gcd
in interface RingElem<BigInteger>
S
- BigInteger.public BigInteger[] egcd(BigInteger S)
egcd
in interface RingElem<BigInteger>
S
- BigInteger.public static BigInteger IGCD(BigInteger A, BigInteger B)
A
- BigInteger.B
- BigInteger.public BigInteger random(int n)
random
in interface ElemFactory<BigInteger>
n
- such that 0 ≤ r ≤ (2n-1).public BigInteger random(int n, java.util.Random rnd)
random
in interface ElemFactory<BigInteger>
n
- such that 0 ≤ r ≤ (2n-1).rnd
- is a source for random bits.public static BigInteger IRAND(int NL)
NL
- such that 0 ≤ r ≤ (2n-1).public BigInteger multiply(BigInteger S)
multiply
in interface MonoidElem<BigInteger>
S
- BigInteger.public BigInteger shiftLeft(int n)
n
- bits to shift.public static BigInteger IPROD(BigInteger A, BigInteger B)
A
- BigInteger.B
- BigInteger.public BigInteger sum(BigInteger S)
sum
in interface AbelianGroupElem<BigInteger>
S
- BigInteger.public static BigInteger ISUM(BigInteger A, BigInteger B)
A
- BigInteger.B
- BigInteger.public BigInteger parse(java.lang.String s)
parse
in interface ElemFactory<BigInteger>
s
- String.public BigInteger parse(java.io.Reader r)
parse
in interface ElemFactory<BigInteger>
r
- Reader.public BigRational getRational()
getRational
in interface Rational
public long bitLength()
(ceil(log2(this+1))+1)
.)public static long bitLength(long v)
v
- value.public void setAllIterator()
public void setNonNegativeIterator()
public java.util.Iterator<BigInteger> iterator()
iterator
in interface java.lang.Iterable<BigInteger>