Class Rational

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static Rational ONE
      The Rational representing the multiplicative identity.
      static Rational ZERO
      The Rational representing the additive identity.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Rational abs()
      Returns the absolute value of this rational number.
      int compareTo​(Rational that)
      Compares two rational number numerically.
      Rational copy()
      Returns a copy of this number allocated by the calling thread (possibly on the stack).
      Rational divide​(Rational that)
      Returns this rational number divided by the one specified.
      double doubleValue()
      Returns the value of this rational number as a double.
      boolean equals​(java.lang.Object that)
      Compares this rational number against the specified object.
      LargeInteger getDividend()
      Returns the smallest dividend of the fraction representing this rational number.
      LargeInteger getDivisor()
      Returns the smallest divisor of the fraction representing this rational (always positive).
      int hashCode()
      Returns the hash code for this rational number.
      Rational inverse()
      Returns the inverse of this rational number.
      boolean isLargerThan​(Rational that)
      Compares the absolute value of two rational numbers.
      boolean isNegative()
      Indicates if this rational number is less than zero.
      boolean isPositive()
      Indicates if this rational number is greater than zero.
      boolean isZero()
      Indicates if this rational number is equal to zero.
      long longValue()
      Returns the value of this rational number as a long.
      Rational minus​(Rational that)
      Returns the difference between this rational number and the one specified.
      Rational opposite()
      Returns the opposite of this rational number.
      Rational plus​(Rational that)
      Returns the sum of this rational number with the one specified.
      LargeInteger round()
      Returns the closest integer value to this rational number.
      Rational times​(long multiplier)
      Returns the product of this rational number with the specified long multiplier.
      Rational times​(Rational that)
      Returns the product of this rational number with the one specified.
      javolution.text.Text toText()
      Returns the decimal text representation of this number.
      static Rational valueOf​(long dividend, long divisor)
      Returns the rational number for the specified integer dividend and divisor.
      static Rational valueOf​(java.lang.CharSequence chars)
      Returns the rational number for the specified character sequence.
      static Rational valueOf​(LargeInteger dividend, LargeInteger divisor)
      Returns the rational number for the specified large integer dividend and divisor.
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • 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:
        java.lang.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:
        java.lang.ArithmeticException - if divisor.isZero()
      • valueOf

        public static Rational valueOf​(java.lang.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:
        java.lang.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​(java.lang.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 java.lang.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.