|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.jas.arith.BigRational
public final class BigRational
Immutable arbitrary-precision rational numbers. BigRational class based on BigInteger implementing the RingElem interface and with the familiar SAC static method names. BigInteger is from java.math in the implementation.
Field Summary | |
---|---|
protected java.math.BigInteger |
den
Denominator part of the data structure. |
protected java.math.BigInteger |
num
Numerator part of the data structure. |
static BigRational |
ONE
The Constant 1. |
static BigRational |
ZERO
The Constant 0. |
Constructor Summary | |
---|---|
|
BigRational()
Constructor for a BigRational with no arguments. |
|
BigRational(java.math.BigInteger n)
Constructor for a BigRational from math.BigIntegers. |
|
BigRational(BigInteger n)
Constructor for a BigRational from jas.arith.BigIntegers. |
protected |
BigRational(java.math.BigInteger n,
java.math.BigInteger d)
Constructor for a BigRational from math.BigIntegers. |
|
BigRational(long n)
Constructor for a BigRational from longs. |
|
BigRational(long n,
long d)
Constructor for a BigRational from longs. |
|
BigRational(java.lang.String s)
Constructor for a BigRational from String. |
Method Summary | |
---|---|
BigRational |
abs()
Rational number absolute value. |
java.math.BigInteger |
characteristic()
Characteristic of this ring. |
BigRational |
clone()
Clone this. |
int |
compareTo(BigRational S)
Rational number comparison. |
BigRational |
copy(BigRational c)
Copy BigRational element c. |
java.math.BigInteger |
denominator()
Get the denominator. |
BigRational |
divide(BigRational S)
Rational number quotient. |
BigRational[] |
egcd(BigRational S)
BigRational extended greatest common divisor. |
boolean |
equals(java.lang.Object b)
Comparison with any other object. |
BigRational |
factory()
Get the corresponding element factory. |
BigRational |
fromInteger(java.math.BigInteger a)
Get a BigRational element from a math.BigInteger. |
BigRational |
fromInteger(long a)
Get a BigRational element from a long. |
BigRational |
gcd(BigRational S)
Rational number greatest common divisor. |
java.util.List<BigRational> |
generators()
Get a list of the generating elements. |
BigRational |
getONE()
Get the one element. |
BigRational |
getRational()
Return a BigRational approximation of this Element. |
BigRational |
getZERO()
Get the zero element. |
int |
hashCode()
Hash code for this BigRational. |
BigRational |
inverse()
Rational number inverse. |
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. |
boolean |
isONE()
Is BigRational one. |
boolean |
isUnit()
Is BigRational unit. |
boolean |
isZERO()
Is BigRational zero. |
java.util.Iterator<BigRational> |
iterator()
Get a BigInteger iterator. |
BigRational |
multiply(BigRational S)
Rational number product. |
BigRational |
negate()
Rational number negative. |
java.math.BigInteger |
numerator()
Get the numerator. |
BigRational |
parse(java.io.Reader r)
Parse rational number from Reader. |
BigRational |
parse(java.lang.String s)
Parse rational number from String. |
BigRational |
random(int n)
Rational number, random. |
BigRational |
random(int n,
java.util.Random rnd)
Rational number, random. |
static BigRational |
reduction(java.math.BigInteger n,
java.math.BigInteger d)
Rational number reduction to lowest terms. |
BigRational |
remainder(BigRational S)
Rational number remainder. |
static BigRational |
RNABS(BigRational R)
Rational number absolute value. |
static int |
RNCOMP(BigRational R,
BigRational S)
Rational number comparison. |
static java.math.BigInteger |
RNDEN(BigRational R)
Rational number denominator. |
static BigRational |
RNDIF(BigRational R,
BigRational S)
Rational number difference. |
static void |
RNDWR(BigRational R,
int NL)
Rational number decimal write. |
static BigRational |
RNINT(java.math.BigInteger A)
Rational number from integer. |
static BigRational |
RNINV(BigRational R)
Rational number inverse. |
static BigRational |
RNNEG(BigRational R)
Rational number negative. |
static java.math.BigInteger |
RNNUM(BigRational R)
Rational number numerator. |
static BigRational |
RNPROD(BigRational R,
BigRational S)
Rational number product. |
static BigRational |
RNQ(BigRational R,
BigRational S)
Rational number quotient. |
static BigRational |
RNRAND(int NL)
Rational number, random. |
static BigRational |
RNRED(java.math.BigInteger n,
java.math.BigInteger d)
Rational number reduction to lowest terms. |
static int |
RNSIGN(BigRational R)
Rational number sign. |
static BigRational |
RNSUM(BigRational R,
BigRational S)
Rational number sum. |
void |
setAllIterator()
Set the iteration algorithm to all elements. |
void |
setDuplicatesIterator()
Set the iteration algorithm to allow duplicate elements. |
void |
setNoDuplicatesIterator()
Set the iteration algorithm to no duplicate elements. |
void |
setNonNegativeIterator()
Set the iteration algorithm to non-negative elements. |
int |
signum()
Rational number sign. |
BigRational |
subtract(BigRational S)
Rational number difference. |
BigRational |
sum(BigRational S)
Rational number sum. |
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. |
java.lang.String |
toString(int n)
Get the decimal string representation with given precision. |
java.util.Iterator<BigRational> |
uniqueIterator()
Get a BigInteger iterator with no duplicates. |
static BigRational |
valueOf(java.math.BigInteger a)
Get a BigRational element from a math.BigInteger. |
static BigRational |
valueOf(long a)
Get a BigRational element from a long. |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected final java.math.BigInteger num
protected final java.math.BigInteger den
public static final BigRational ZERO
public static final BigRational ONE
Constructor Detail |
---|
protected BigRational(java.math.BigInteger n, java.math.BigInteger d)
n
- math.BigInteger.d
- math.BigInteger.public BigRational(java.math.BigInteger n)
n
- math.BigInteger.public BigRational(BigInteger n)
n
- edu.jas.arith.BigInteger.public BigRational(long n, long d)
n
- long.d
- long.public BigRational(long n)
n
- long.public BigRational()
public BigRational(java.lang.String s) throws java.lang.NumberFormatException
s
- String.
java.lang.NumberFormatException
Method Detail |
---|
public BigRational factory()
factory
in interface Element<BigRational>
Element.factory()
public java.util.List<BigRational> generators()
generators
in interface ElemFactory<BigRational>
ElemFactory.generators()
public boolean isFinite()
isFinite
in interface ElemFactory<BigRational>
ElemFactory.isFinite()
public BigRational clone()
clone
in class java.lang.Object
Object.clone()
public BigRational copy(BigRational c)
copy
in interface ElemFactory<BigRational>
c
- BigRational.
public BigRational getRational()
getRational
in interface Rational
Rational.getRational()
public java.math.BigInteger numerator()
public java.math.BigInteger denominator()
public java.lang.String toString()
toString
in class java.lang.Object
Object.toString()
public java.lang.String toString(int n)
n
- precission.
public java.lang.String toScript()
toScript
in interface Element<BigRational>
toScript
in interface ElemFactory<BigRational>
Element.toScript()
public java.lang.String toScriptFactory()
toScriptFactory
in interface Element<BigRational>
Element.toScriptFactory()
public BigRational getZERO()
getZERO
in interface AbelianGroupFactory<BigRational>
public BigRational getONE()
getONE
in interface MonoidFactory<BigRational>
public boolean isCommutative()
isCommutative
in interface MonoidFactory<BigRational>
public boolean isAssociative()
isAssociative
in interface MonoidFactory<BigRational>
public boolean isField()
isField
in interface RingFactory<BigRational>
public java.math.BigInteger characteristic()
characteristic
in interface RingFactory<BigRational>
public BigRational fromInteger(java.math.BigInteger a)
fromInteger
in interface ElemFactory<BigRational>
a
- math.BigInteger.
public static BigRational valueOf(java.math.BigInteger a)
a
- math.BigInteger.
public BigRational fromInteger(long a)
fromInteger
in interface ElemFactory<BigRational>
a
- long.
public static BigRational valueOf(long a)
a
- long.
public boolean isZERO()
isZERO
in interface AbelianGroupElem<BigRational>
AbelianGroupElem.isZERO()
public boolean isONE()
isONE
in interface MonoidElem<BigRational>
MonoidElem.isONE()
public boolean isUnit()
isUnit
in interface MonoidElem<BigRational>
MonoidElem.isUnit()
public boolean equals(java.lang.Object b)
equals
in interface Element<BigRational>
equals
in class java.lang.Object
Object.equals(java.lang.Object)
public int hashCode()
hashCode
in interface Element<BigRational>
hashCode
in class java.lang.Object
Object.hashCode()
public static BigRational RNRED(java.math.BigInteger n, java.math.BigInteger d)
n
- BigInteger.d
- BigInteger.
public static BigRational reduction(java.math.BigInteger n, java.math.BigInteger d)
n
- BigInteger.d
- BigInteger.
public BigRational abs()
abs
in interface AbelianGroupElem<BigRational>
AbelianGroupElem.abs()
public static BigRational RNABS(BigRational R)
R
- is a rational number.
public int compareTo(BigRational S)
compareTo
in interface Element<BigRational>
compareTo
in interface java.lang.Comparable<BigRational>
S
- BigRational.
public static int RNCOMP(BigRational R, BigRational S)
R
- BigRational.S
- BigRational.
public static java.math.BigInteger RNDEN(BigRational R)
R
- BigRational.
public BigRational subtract(BigRational S)
subtract
in interface AbelianGroupElem<BigRational>
S
- BigRational.
public static BigRational RNDIF(BigRational R, BigRational S)
R
- BigRational.S
- BigRational.
public static void RNDWR(BigRational R, int NL)
R
- NL
- public static BigRational RNINT(java.math.BigInteger A)
A
- BigInteger.
public BigRational inverse()
inverse
in interface MonoidElem<BigRational>
MonoidElem.inverse()
public static BigRational RNINV(BigRational R)
R
- BigRational.
public BigRational negate()
negate
in interface AbelianGroupElem<BigRational>
AbelianGroupElem.negate()
public static BigRational RNNEG(BigRational R)
R
- BigRational.
public static java.math.BigInteger RNNUM(BigRational R)
R
- BigRational.
public BigRational multiply(BigRational S)
multiply
in interface MonoidElem<BigRational>
S
- BigRational.
public static BigRational RNPROD(BigRational R, BigRational S)
R
- BigRational.S
- BigRational.
public BigRational divide(BigRational S)
divide
in interface MonoidElem<BigRational>
S
- BigRational.
public static BigRational RNQ(BigRational R, BigRational S)
R
- BigRational.S
- BigRational.
public BigRational remainder(BigRational S)
remainder
in interface MonoidElem<BigRational>
S
- BigRational.
public BigRational random(int n)
random
in interface ElemFactory<BigRational>
n
- such that 0 ≤ A, B ≤ (2n-1).
public BigRational random(int n, java.util.Random rnd)
random
in interface ElemFactory<BigRational>
n
- such that 0 ≤ A, B ≤ (2n-1).rnd
- is a source for random bits.
public static BigRational RNRAND(int NL)
NL
- such that 0 ≤ A, B ≤ (2n-1).
public int signum()
signum
in interface AbelianGroupElem<BigRational>
AbelianGroupElem.signum()
public static int RNSIGN(BigRational R)
R
- BigRational.
public BigRational sum(BigRational S)
sum
in interface AbelianGroupElem<BigRational>
S
- BigRational.
public static BigRational RNSUM(BigRational R, BigRational S)
R
- BigRational.S
- BigRational.
public BigRational parse(java.lang.String s)
parse
in interface ElemFactory<BigRational>
s
- String.
public BigRational parse(java.io.Reader r)
parse
in interface ElemFactory<BigRational>
r
- Reader.
public BigRational gcd(BigRational S)
gcd
in interface RingElem<BigRational>
S
- BigRational.
public BigRational[] egcd(BigRational S)
egcd
in interface RingElem<BigRational>
S
- BigRational.
public void setAllIterator()
public void setNonNegativeIterator()
public void setNoDuplicatesIterator()
public void setDuplicatesIterator()
public java.util.Iterator<BigRational> iterator()
iterator
in interface java.lang.Iterable<BigRational>
public java.util.Iterator<BigRational> uniqueIterator()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |