public final class Rational extends Number implements manifold.collections.api.range.Sequential<Rational,Rational,Void>, manifold.ext.rt.api.ComparableUsing<Rational>, Serializable
BigInteger to maintain arbitrary precision. Note as a
performance measure this class does not maintain its value in reduced form. You must call reduce()
to get a separate instance for the reduced form. Call isReduced() to determine if an instance is in reduced
form.
This class implements arithmetic, negation, and relational operators via operator overloading provided by the
manifold-ext dependency.
Use the CoercionConstants and MetricScaleUnit classes to conveniently use literal
values as Rational numbers:
import static manifold.science.measures.MetricScaleUnit.M;
import static manifold.science.util.CoercionConstants.r;
...
Rational pi = 3.14r;
Rational oneThird = 1r/3;
Rational yocto = "1/1000000000000000000000000"r;
Rational fiveMillion = 5M;
WARNING: this class is under development and should be considered experimental.| Modifier and Type | Field and Description |
|---|---|
static Rational |
HALF |
static Rational |
ONE |
static Rational |
TEN |
static Rational |
ZERO |
byteValue, shortValuepublic static final Rational ZERO
public static final Rational ONE
public static final Rational TEN
public static final Rational HALF
public static Rational get(int numerator)
public static Rational get(int numerator, int denominator)
public static Rational get(long numerator)
public static Rational get(long numerator, long denominator)
public static Rational get(float f)
public static Rational get(double d)
public static Rational get(BigInteger numerator)
public static Rational get(BigDecimal bd)
public static Rational get(BigInteger numerator, BigInteger denominator)
public boolean isReduced()
true if this instance is in reduced form.public Rational reduce()
public BigInteger getNumerator()
public BigInteger getDenominator()
public BigInteger wholePart()
public Rational fractionPart()
public double doubleValue()
doubleValue in class Numberpublic float floatValue()
floatValue in class Numberpublic BigInteger toBigInteger()
public BigDecimal toBigDecimal()
public BigDecimal toBigDecimal(MathContext mc)
public Rational plus(int i)
public Rational plus(long l)
public Rational plus(float f)
public Rational plus(double d)
public Rational plus(BigInteger bg)
public Rational plus(BigDecimal bd)
public Rational minus(int i)
public Rational minus(long l)
public Rational minus(float f)
public Rational minus(double d)
public Rational minus(BigInteger bi)
public Rational minus(BigDecimal bd)
public Rational times(int i)
public Rational times(long l)
public Rational times(float f)
public Rational times(double d)
public Rational times(BigInteger bi)
public Rational times(BigDecimal bd)
public Rational div(int i)
public Rational div(long l)
public Rational div(float f)
public Rational div(double d)
public Rational div(BigInteger bi)
public Rational div(BigDecimal bd)
public Rational rem(int i)
public Rational rem(long l)
public Rational rem(float f)
public Rational rem(double d)
public Rational rem(BigInteger bi)
public Rational rem(BigDecimal bd)
public Rational unaryMinus()
public Rational inc()
++public Rational dec()
--public Rational invert()
public Rational abs()
public Rational pow(int exponent)
@Deprecated public Rational sqrt()
public boolean isInteger()
public int signum()
public int compareTo(Rational that)
compareTo in interface Comparable<Rational>public manifold.ext.rt.api.ComparableUsing.EqualityMode equalityMode()
compareTo() for == and != operators.equalityMode in interface manifold.ext.rt.api.ComparableUsing<Rational>public String toFractionString()
public String toMixedString()
public String toDecimalString()
BigDecimal and calls BigDecimal.toString()public String toPlainDecimalString()
BigDecimal and calls BigDecimal.toPlainString()public String toEngineeringString()
BigDecimal and calls BigDecimal.toEngineeringString()Copyright © 2024. All rights reserved.