Package gw.util
Class Rational
- java.lang.Object
-
- java.lang.Number
-
- gw.util.Rational
-
- All Implemented Interfaces:
ISequenceable<Rational,Rational,java.lang.Void>,java.io.Serializable,java.lang.Comparable<Rational>
public final class Rational extends java.lang.Number implements ISequenceable<Rational,Rational,java.lang.Void>, java.io.Serializable
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classRational.Serializer
-
Field Summary
Fields Modifier and Type Field Description private java.math.BigInteger_denominatorprivate java.math.BigInteger_numeratorprivate boolean_reducedstatic RationalONEprivate static intVERSION_1static RationalZERO
-
Constructor Summary
Constructors Modifier Constructor Description privateRational(java.math.BigInteger numerator, java.math.BigInteger denominator, boolean reduced)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Rationalabs()Rationaladd(double d)Rationaladd(float f)Rationaladd(int i)Rationaladd(long l)Rationaladd(Rational rational)Rationaladd(java.math.BigDecimal bd)Rationaladd(java.math.BigInteger bg)intcompareTo(Rational that)Rationaldivide(double d)Rationaldivide(float f)Rationaldivide(int i)Rationaldivide(long l)Rationaldivide(Rational rational)Rationaldivide(java.math.BigDecimal bd)Rationaldivide(java.math.BigInteger bi)doubledoubleValue()booleanequals(java.lang.Object that)floatfloatValue()RationalfractionPart()static Rationalget(double d)static Rationalget(float f)static Rationalget(int numerator)static Rationalget(int numerator, int denominator)static Rationalget(long numerator)static Rationalget(long numerator, long denominator)static Rationalget(java.lang.String decimal)static Rationalget(java.math.BigDecimal bd)static Rationalget(java.math.BigInteger numerator)static Rationalget(java.math.BigInteger numerator, java.math.BigInteger denominator)private static Rationalget(java.math.BigInteger numerator, java.math.BigInteger denominator, boolean reduced)java.math.BigIntegergetDenominator()java.math.BigIntegergetNumerator()inthashCode()intintValue()Rationalinvert()private static booleanisDecimalString(java.lang.String decimal)booleanisInteger()longlongValue()Rationalmodulo(double d)Rationalmodulo(float f)Rationalmodulo(int i)Rationalmodulo(long l)Rationalmodulo(Rational rational)Rationalmodulo(java.math.BigDecimal bd)Rationalmodulo(java.math.BigInteger bi)Rationalmultiply(double d)Rationalmultiply(float f)Rationalmultiply(int i)Rationalmultiply(long l)Rationalmultiply(Rational rational)Rationalmultiply(java.math.BigDecimal bd)Rationalmultiply(java.math.BigInteger bi)Rationalnegate()RationalnextInSequence(Rational step, java.lang.Void unit)RationalnextNthInSequence(Rational step, java.lang.Void unit, int iIndex)Rationalpow(int exponent)RationalpreviousInSequence(Rational step, java.lang.Void unit)RationalpreviousNthInSequence(Rational step, java.lang.Void unit, int iIndex)Rationalreduce()Rationalroot(int iRoot)Rationalroot(int n, int scale)intsignum()Rationalsqrt()Rationalsubtract(double d)Rationalsubtract(float f)Rationalsubtract(int i)Rationalsubtract(long l)Rationalsubtract(Rational rational)Rationalsubtract(java.math.BigDecimal bd)Rationalsubtract(java.math.BigInteger bi)java.math.BigDecimaltoBigDecimal()java.math.BigDecimaltoBigDecimal(java.math.MathContext mc)java.math.BigIntegertoBigInteger()java.lang.StringtoDecimalString()java.lang.StringtoFractionString()java.lang.StringtoMixedString()java.lang.StringtoPlainDecimalString()java.lang.StringtoString()java.math.BigIntegerwholePart()private java.lang.ObjectwriteReplace()
-
-
-
Field Detail
-
ZERO
public static final Rational ZERO
-
ONE
public static final Rational ONE
-
VERSION_1
private static final int VERSION_1
- See Also:
- Constant Field Values
-
_numerator
private final java.math.BigInteger _numerator
-
_denominator
private final java.math.BigInteger _denominator
-
_reduced
private boolean _reduced
-
-
Method Detail
-
get
public static Rational get(int numerator)
-
get
public static Rational get(int numerator, int denominator)
-
get
public static Rational get(long numerator)
-
get
public static Rational get(long numerator, long denominator)
-
get
public static Rational get(float f)
-
get
public static Rational get(double d)
-
get
public static Rational get(java.math.BigInteger numerator)
-
get
public static Rational get(java.lang.String decimal)
-
isDecimalString
private static boolean isDecimalString(java.lang.String decimal)
-
get
public static Rational get(java.math.BigDecimal bd)
-
get
public static Rational get(java.math.BigInteger numerator, java.math.BigInteger denominator)
-
get
private static Rational get(java.math.BigInteger numerator, java.math.BigInteger denominator, boolean reduced)
-
reduce
public Rational reduce()
-
getNumerator
public java.math.BigInteger getNumerator()
-
getDenominator
public java.math.BigInteger getDenominator()
-
wholePart
public java.math.BigInteger wholePart()
-
fractionPart
public Rational fractionPart()
-
intValue
public int intValue()
- Specified by:
intValuein classjava.lang.Number
-
longValue
public long longValue()
- Specified by:
longValuein classjava.lang.Number
-
doubleValue
public double doubleValue()
- Specified by:
doubleValuein classjava.lang.Number
-
floatValue
public float floatValue()
- Specified by:
floatValuein classjava.lang.Number
-
toBigInteger
public java.math.BigInteger toBigInteger()
-
toBigDecimal
public java.math.BigDecimal toBigDecimal()
-
toBigDecimal
public java.math.BigDecimal toBigDecimal(java.math.MathContext mc)
-
isInteger
public boolean isInteger()
-
add
public Rational add(int i)
-
add
public Rational add(long l)
-
add
public Rational add(float f)
-
add
public Rational add(double d)
-
add
public Rational add(java.math.BigInteger bg)
-
add
public Rational add(java.math.BigDecimal bd)
-
subtract
public Rational subtract(int i)
-
subtract
public Rational subtract(long l)
-
subtract
public Rational subtract(float f)
-
subtract
public Rational subtract(double d)
-
subtract
public Rational subtract(java.math.BigInteger bi)
-
subtract
public Rational subtract(java.math.BigDecimal bd)
-
multiply
public Rational multiply(int i)
-
multiply
public Rational multiply(long l)
-
multiply
public Rational multiply(float f)
-
multiply
public Rational multiply(double d)
-
multiply
public Rational multiply(java.math.BigInteger bi)
-
multiply
public Rational multiply(java.math.BigDecimal bd)
-
divide
public Rational divide(int i)
-
divide
public Rational divide(long l)
-
divide
public Rational divide(float f)
-
divide
public Rational divide(double d)
-
divide
public Rational divide(java.math.BigInteger bi)
-
divide
public Rational divide(java.math.BigDecimal bd)
-
modulo
public Rational modulo(int i)
-
modulo
public Rational modulo(long l)
-
modulo
public Rational modulo(float f)
-
modulo
public Rational modulo(double d)
-
modulo
public Rational modulo(java.math.BigInteger bi)
-
modulo
public Rational modulo(java.math.BigDecimal bd)
-
negate
public Rational negate()
-
invert
public Rational invert()
-
abs
public Rational abs()
-
pow
public Rational pow(int exponent)
-
root
public Rational root(int iRoot)
-
root
public Rational root(int n, int scale)
-
sqrt
public Rational sqrt()
-
nextInSequence
public Rational nextInSequence(Rational step, java.lang.Void unit)
- Specified by:
nextInSequencein interfaceISequenceable<Rational,Rational,java.lang.Void>
-
nextNthInSequence
public Rational nextNthInSequence(Rational step, java.lang.Void unit, int iIndex)
- Specified by:
nextNthInSequencein interfaceISequenceable<Rational,Rational,java.lang.Void>
-
previousInSequence
public Rational previousInSequence(Rational step, java.lang.Void unit)
- Specified by:
previousInSequencein interfaceISequenceable<Rational,Rational,java.lang.Void>
-
previousNthInSequence
public Rational previousNthInSequence(Rational step, java.lang.Void unit, int iIndex)
- Specified by:
previousNthInSequencein interfaceISequenceable<Rational,Rational,java.lang.Void>
-
compareTo
public int compareTo(Rational that)
- Specified by:
compareToin interfacejava.lang.Comparable<Rational>
-
signum
public int signum()
-
equals
public boolean equals(java.lang.Object that)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toFractionString
public java.lang.String toFractionString()
-
toMixedString
public java.lang.String toMixedString()
-
toDecimalString
public java.lang.String toDecimalString()
-
toPlainDecimalString
public java.lang.String toPlainDecimalString()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
writeReplace
private java.lang.Object writeReplace()
-
-