cc.redberry.core.number
Class Rational
- java.lang.Object
-
- cc.redberry.core.number.Real
-
- cc.redberry.core.number.Rational
-
- All Implemented Interfaces:
- Number<Real>, java.io.Serializable, java.lang.Comparable<Real>, org.apache.commons.math3.FieldElement<Real>
public final class Rational extends Real implements java.io.Serializable
Representation of a rational number without any overflow. This class is a wrapper ofBigInteger.This class implements mathematical operations declared in
Numberas operations with in the following way. If argument isNumeric, the result will beNumerictoo. For example, 2 / 3 +1.0 will give 1.666666 and so on. If argument isRationalnumber, the result will beRationaltoo.- See Also:
Number,Numeric,BigFraction, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field and Description static org.apache.commons.math3.fraction.BigFractionBIG_FRACTION_MAX_DOUBLEstatic org.apache.commons.math3.fraction.BigFractionBIG_FRACTION_MAX_INTEGERstatic org.apache.commons.math3.fraction.BigFractionBIG_FRACTION_MAX_LONGstatic org.apache.commons.math3.fraction.BigFractionBIG_FRACTION_MIN_DOUBLEstatic org.apache.commons.math3.fraction.BigFractionBIG_FRACTION_MIN_INTEGERstatic org.apache.commons.math3.fraction.BigFractionBIG_FRACTION_MIN_LONGstatic RationalFOURA fraction representing "4 / 1".static RationalFOUR_FIFTHSA fraction representing "4/5".static RationalMINUS_ONEA fraction representing "-1 / 1".static RationalMINUS_TWOA fraction representing "-2 / 1".static RationalMINUSE_ONE_HALFA fraction representing "1/2".static RationalONEA fraction representing "1".static RationalONE_FIFTHA fraction representing "1/5".static RationalONE_HALFA fraction representing "1/2".static RationalONE_QUARTERA fraction representing "1/4".static RationalONE_THIRDA fraction representing "1/3".static RationalTHREE_FIFTHSA fraction representing "3/5".static RationalTHREE_QUARTERSA fraction representing "3/4".static RationalTWOA fraction representing "2 / 1".static RationalTWO_FIFTHSA fraction representing "2/5".static RationalTWO_THIRDSA fraction representing "2/3".static RationalZEROA fraction representing "0".
-
Constructor Summary
Constructors Constructor and Description Rational(org.apache.commons.math3.fraction.BigFraction fraction)Rational(java.math.BigInteger num)Rational(java.math.BigInteger num, java.math.BigInteger den)Rational(double value)Rational(double value, double epsilon, int maxIterations)Rational(double value, int maxDenominator)Rational(int num)Rational(int num, int den)Rational(long num)Rational(long num, long den)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description Rationalabs()Rationaladd(org.apache.commons.math3.fraction.BigFraction fraction)Rationaladd(java.math.BigInteger bg)Realadd(double d)Rationaladd(int i)Rationaladd(long l)Realadd(Real arg0)java.math.BigIntegerbigIntValue()intcompareTo(Real o)Rationaldivide(org.apache.commons.math3.fraction.BigFraction fraction)Rationaldivide(java.math.BigInteger bg)Realdivide(double d)Rationaldivide(int i)Rationaldivide(long l)Realdivide(Real arg0)doubledoubleValue()booleanequals(java.lang.Object obj)floatfloatValue()org.apache.commons.math3.fraction.BigFractiongetBigFraction()java.math.BigIntegergetDenominator()intgetDenominatorAsInt()longgetDenominatorAsLong()java.math.BigIntegergetNumerator()intgetNumeratorAsInt()longgetNumeratorAsLong()NumericgetNumericValue()inthashCode()intintValue()booleanisInfinite()booleanisInteger()booleanisMinusOne()booleanisNaN()booleanisNatural()booleanisNumeric()booleanisOne()booleanisZero()longlongValue()Rationalmultiply(org.apache.commons.math3.fraction.BigFraction fraction)Rationalmultiply(java.math.BigInteger bg)Realmultiply(double d)Rationalmultiply(int arg0)Rationalmultiply(long l)Rationalmultiply(Rational arg0)Realmultiply(Real arg0)Rationalnegate()doublepercentageValue()Rationalpow(java.math.BigInteger exponent)Numericpow(double exponent)Rationalpow(int exponent)Rationalpow(long exponent)Rationalreciprocal()Rationalreduce()intsignum()Returns signum of this.Rationalsubtract(org.apache.commons.math3.fraction.BigFraction fraction)Rationalsubtract(java.math.BigInteger bg)Realsubtract(double d)Rationalsubtract(int i)Rationalsubtract(long l)Realsubtract(Real arg0)java.lang.StringtoString()
-
-
-
Field Detail
-
TWO
public static final Rational TWO
A fraction representing "2 / 1".
-
FOUR
public static final Rational FOUR
A fraction representing "4 / 1".
-
MINUS_TWO
public static final Rational MINUS_TWO
A fraction representing "-2 / 1".
-
ONE
public static final Rational ONE
A fraction representing "1".
-
ZERO
public static final Rational ZERO
A fraction representing "0".
-
MINUS_ONE
public static final Rational MINUS_ONE
A fraction representing "-1 / 1".
-
FOUR_FIFTHS
public static final Rational FOUR_FIFTHS
A fraction representing "4/5".
-
ONE_FIFTH
public static final Rational ONE_FIFTH
A fraction representing "1/5".
-
ONE_HALF
public static final Rational ONE_HALF
A fraction representing "1/2".
-
MINUSE_ONE_HALF
public static final Rational MINUSE_ONE_HALF
A fraction representing "1/2".
-
ONE_QUARTER
public static final Rational ONE_QUARTER
A fraction representing "1/4".
-
ONE_THIRD
public static final Rational ONE_THIRD
A fraction representing "1/3".
-
THREE_FIFTHS
public static final Rational THREE_FIFTHS
A fraction representing "3/5".
-
THREE_QUARTERS
public static final Rational THREE_QUARTERS
A fraction representing "3/4".
-
TWO_FIFTHS
public static final Rational TWO_FIFTHS
A fraction representing "2/5".
-
TWO_THIRDS
public static final Rational TWO_THIRDS
A fraction representing "2/3".
-
BIG_FRACTION_MAX_DOUBLE
public static final org.apache.commons.math3.fraction.BigFraction BIG_FRACTION_MAX_DOUBLE
-
BIG_FRACTION_MIN_DOUBLE
public static final org.apache.commons.math3.fraction.BigFraction BIG_FRACTION_MIN_DOUBLE
-
BIG_FRACTION_MAX_INTEGER
public static final org.apache.commons.math3.fraction.BigFraction BIG_FRACTION_MAX_INTEGER
-
BIG_FRACTION_MIN_INTEGER
public static final org.apache.commons.math3.fraction.BigFraction BIG_FRACTION_MIN_INTEGER
-
BIG_FRACTION_MAX_LONG
public static final org.apache.commons.math3.fraction.BigFraction BIG_FRACTION_MAX_LONG
-
BIG_FRACTION_MIN_LONG
public static final org.apache.commons.math3.fraction.BigFraction BIG_FRACTION_MIN_LONG
-
-
Constructor Detail
-
Rational
public Rational(org.apache.commons.math3.fraction.BigFraction fraction)
-
Rational
public Rational(java.math.BigInteger num)
- See Also:
BigFraction.BigFraction(java.math.BigInteger)
-
Rational
public Rational(java.math.BigInteger num, java.math.BigInteger den)- See Also:
BigFraction.BigFraction(java.math.BigInteger, java.math.BigInteger)
-
Rational
public Rational(double value) throws org.apache.commons.math3.exception.MathIllegalArgumentException- Throws:
org.apache.commons.math3.exception.MathIllegalArgumentException- See Also:
BigFraction.BigFraction(double)
-
Rational
public Rational(double value, double epsilon, int maxIterations) throws org.apache.commons.math3.fraction.FractionConversionException- Throws:
org.apache.commons.math3.fraction.FractionConversionException- See Also:
BigFraction.BigFraction(double, double, int)
-
Rational
public Rational(double value, int maxDenominator) throws org.apache.commons.math3.fraction.FractionConversionException- Throws:
org.apache.commons.math3.fraction.FractionConversionException- See Also:
BigFraction.BigFraction(double, int)
-
Rational
public Rational(int num)
- See Also:
BigFraction.BigFraction(int)
-
Rational
public Rational(int num, int den)- See Also:
BigFraction.BigFraction(int, int)
-
Rational
public Rational(long num)
- See Also:
BigFraction.BigFraction(long)
-
Rational
public Rational(long num, long den)- See Also:
BigFraction.BigFraction(long, long)
-
-
Method Detail
-
getBigFraction
public org.apache.commons.math3.fraction.BigFraction getBigFraction()
-
bigIntValue
public java.math.BigInteger bigIntValue()
- Specified by:
bigIntValuein interfaceNumber<Real>
-
floatValue
public float floatValue()
- Specified by:
floatValuein interfaceNumber<Real>
-
doubleValue
public double doubleValue()
- Specified by:
doubleValuein interfaceNumber<Real>
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
isInfinite
public boolean isInfinite()
- Specified by:
isInfinitein interfaceNumber<Real>
-
add
public Real add(Real arg0)
- Specified by:
addin interfaceorg.apache.commons.math3.FieldElement<Real>
-
divide
public Real divide(Real arg0)
- Specified by:
dividein interfaceorg.apache.commons.math3.FieldElement<Real>
-
multiply
public Rational multiply(int arg0)
- Specified by:
multiplyin interfaceorg.apache.commons.math3.FieldElement<Real>
-
multiply
public Real multiply(Real arg0)
- Specified by:
multiplyin interfaceorg.apache.commons.math3.FieldElement<Real>
-
negate
public Rational negate()
- Specified by:
negatein interfaceorg.apache.commons.math3.FieldElement<Real>
-
reciprocal
public Rational reciprocal()
- Specified by:
reciprocalin interfaceorg.apache.commons.math3.FieldElement<Real>
-
subtract
public Real subtract(Real arg0)
- Specified by:
subtractin interfaceorg.apache.commons.math3.FieldElement<Real>
-
subtract
public Rational subtract(org.apache.commons.math3.fraction.BigFraction fraction)
-
subtract
public Rational subtract(java.math.BigInteger bg)
-
reduce
public Rational reduce()
-
percentageValue
public double percentageValue()
-
multiply
public Rational multiply(org.apache.commons.math3.fraction.BigFraction fraction)
-
multiply
public Rational multiply(java.math.BigInteger bg)
-
getNumeratorAsLong
public long getNumeratorAsLong()
-
getNumeratorAsInt
public int getNumeratorAsInt()
-
getNumerator
public java.math.BigInteger getNumerator()
-
getDenominatorAsLong
public long getDenominatorAsLong()
-
getDenominatorAsInt
public int getDenominatorAsInt()
-
getDenominator
public java.math.BigInteger getDenominator()
-
divide
public Rational divide(org.apache.commons.math3.fraction.BigFraction fraction)
-
divide
public Rational divide(java.math.BigInteger bg)
-
add
public Rational add(org.apache.commons.math3.fraction.BigFraction fraction)
-
getNumericValue
public Numeric getNumericValue()
- Specified by:
getNumericValuein interfaceNumber<Real>
-
compareTo
public int compareTo(Real o)
- Specified by:
compareToin interfacejava.lang.Comparable<Real>
-
isMinusOne
public boolean isMinusOne()
- Specified by:
isMinusOnein interfaceNumber<Real>
-
signum
public int signum()
Description copied from class:RealReturns signum of this.
-
-
DataMelt 3.0 © DataMelt by jWork.ORG