Package gnu.math

Class RatNum

    • Field Detail

      • ten_exp_9

        public static final IntNum ten_exp_9
    • Constructor Detail

      • RatNum

        public RatNum()
    • Method Detail

      • numerator

        public abstract IntNum numerator()
      • denominator

        public abstract IntNum denominator()
      • classifyFinite

        public int classifyFinite()
        Description copied from class: Complex
        Check if value is finite, infinite, or NaN.
        Overrides:
        classifyFinite in class RealNum
        Returns:
        1 if finite; 0 if infinite; -1 if NaN.
      • asRatNumOrNull

        public static RatNum asRatNumOrNull​(Object value)
      • isExact

        public boolean isExact()
        Overrides:
        isExact in class Complex
      • isZero

        public boolean isZero()
        Overrides:
        isZero in class RealNum
      • infinity

        public static RatNum infinity​(int sign)
        Return exact "rational" infinity.
        Parameters:
        sign - either 1 or -1 for positive or negative infinity
      • compare

        public static int compare​(RatNum x,
                                  RatNum y)
      • equals

        public static boolean equals​(RatNum x,
                                     RatNum y)
      • power

        public Numeric power​(IntNum y)
        Description copied from class: Numeric
        Return this raised to an integer power. Implemented by repeated squaring and multiplication. If y < 0, returns div_inv of the result.
        Overrides:
        power in class Numeric
      • toExact

        public final RatNum toExact()
        Description copied from class: RealNum
        Convert to an exact number. Implements the Scheme inexact->exact (for real numbers).
        Overrides:
        toExact in class RealNum
      • toInt

        public RealNum toInt​(int rounding_mode)
        Description copied from class: RealNum
        Converts a real to an integer, according to a specified rounding mode. Note an inexact argument gives an inexact result, following Scheme. See also toExactInt.
        Overrides:
        toInt in class RealNum
      • toExactInt

        public IntNum toExactInt​(int rounding_mode)
        Description copied from class: RealNum
        Converts to an exact integer, with specified rounding mode.
        Overrides:
        toExactInt in class RealNum
      • rationalize

        public static RealNum rationalize​(RealNum x,
                                          RealNum y)
        Calcaulte the simplest rational between two reals.