Class Rational

    • Field Detail

      • ZERO

        public static final Rational ZERO
        The Rational representing the additive identity.
      • ONE

        public static final Rational ONE
        The Rational representing the multiplicative identity.
    • Method Detail

      • valueOf

        public static Rational valueOf​(long dividend,
                                       long divisor)
        Returns the rational number for the specified integer dividend and divisor.
        Parameters:
        dividend - the dividend value.
        divisor - the divisor value.
        Returns:
        dividend / divisor
        Throws:
        ArithmeticException - if divisor == 0
      • valueOf

        public static Rational valueOf​(LargeInteger dividend,
                                       LargeInteger divisor)
        Returns the rational number for the specified large integer dividend and divisor.
        Parameters:
        dividend - the dividend value.
        divisor - the divisor value.
        Returns:
        dividend / divisor
        Throws:
        ArithmeticException - if divisor.isZero()
      • valueOf

        public static Rational valueOf​(CharSequence chars)
        Returns the rational number for the specified character sequence.
        Parameters:
        chars - the character sequence.
        Returns:
        the corresponding rational number.
      • getDividend

        public LargeInteger getDividend()
        Returns the smallest dividend of the fraction representing this rational number.
        Returns:
        this rational dividend.
      • getDivisor

        public LargeInteger getDivisor()
        Returns the smallest divisor of the fraction representing this rational (always positive).
        Returns:
        this rational divisor.
      • round

        public LargeInteger round()
        Returns the closest integer value to this rational number.
        Returns:
        this rational rounded to the nearest integer.
      • plus

        public Rational plus​(Rational that)
        Returns the sum of this rational number with the one specified.
        Specified by:
        plus in interface GroupAdditive<Rational>
        Parameters:
        that - the rational number to be added.
        Returns:
        this + that.
      • minus

        public Rational minus​(Rational that)
        Returns the difference between this rational number and the one specified.
        Overrides:
        minus in class Number<Rational>
        Parameters:
        that - the rational number to be subtracted.
        Returns:
        this - that.
      • times

        public Rational times​(long multiplier)
        Returns the product of this rational number with the specified long multiplier.
        Parameters:
        multiplier - the long multiplier.
        Returns:
        this · multiplier.
      • divide

        public Rational divide​(Rational that)
        Returns this rational number divided by the one specified.
        Parameters:
        that - the rational number divisor.
        Returns:
        this / that.
        Throws:
        ArithmeticException - if that.equals(ZERO)
      • abs

        public Rational abs()
        Returns the absolute value of this rational number.
        Returns:
        |this|.
      • isZero

        public boolean isZero()
        Indicates if this rational number is equal to zero.
        Returns:
        this == 0
      • isPositive

        public boolean isPositive()
        Indicates if this rational number is greater than zero.
        Returns:
        this > 0
      • isNegative

        public boolean isNegative()
        Indicates if this rational number is less than zero.
        Returns:
        this < 0
      • isLargerThan

        public boolean isLargerThan​(Rational that)
        Compares the absolute value of two rational numbers.
        Specified by:
        isLargerThan in class Number<Rational>
        Parameters:
        that - the rational number to be compared with.
        Returns:
        |this| > |that|
      • toText

        public javolution.text.Text toText()
        Returns the decimal text representation of this number.
        Specified by:
        toText in interface javolution.lang.Realtime
        Specified by:
        toText in class Number<Rational>
        Returns:
        the text representation of this number.
      • equals

        public boolean equals​(Object that)
        Compares this rational number against the specified object.
        Specified by:
        equals in class Number<Rational>
        Parameters:
        that - the object to compare with.
        Returns:
        true if the objects are the same; false otherwise.
      • hashCode

        public int hashCode()
        Returns the hash code for this rational number.
        Specified by:
        hashCode in class Number<Rational>
        Returns:
        the hash code value.
      • longValue

        public long longValue()
        Returns the value of this rational number as a long.
        Specified by:
        longValue in class Number<Rational>
        Returns:
        the numeric value represented by this rational after conversion to type long.
      • doubleValue

        public double doubleValue()
        Returns the value of this rational number as a double.
        Specified by:
        doubleValue in class Number<Rational>
        Returns:
        the numeric value represented by this rational after conversion to type double.
      • compareTo

        public int compareTo​(Rational that)
        Compares two rational number numerically.
        Specified by:
        compareTo in interface Comparable<Rational>
        Specified by:
        compareTo in class Number<Rational>
        Parameters:
        that - the rational number to compare with.
        Returns:
        -1, 0 or 1 as this rational number is numerically less than, equal to, or greater than that.
      • copy

        public Rational copy()
        Description copied from class: Number
        Returns a copy of this number allocated by the calling thread (possibly on the stack).
        Specified by:
        copy in interface javolution.lang.ValueType
        Specified by:
        copy in class Number<Rational>
        Returns:
        an identical and independant copy of this number.