Package gnu.math

Class RealNum

All Implemented Interfaces:
Serializable, Comparable
Direct Known Subclasses:
DFloNum, RatNum

public abstract class RealNum extends Complex implements Comparable
See Also:
  • Constructor Details

    • RealNum

      public RealNum()
  • Method Details

    • re

      public final RealNum re()
      Description copied from class: Quantity
      The value of the real component, as a RealNum. The unit() is not factored in, so you actually need to multiply by unit() to get the true real component.
      Overrides:
      re in class Quantity
    • im

      public final RealNum im()
      Description copied from class: Quantity
      The value of the imaginary component, as a RealNum. The unit() is not factored in, so you actually need to multiply by unit() to get the true imaginary component.
      Overrides:
      im in class Quantity
    • angle

      public final RealNum angle()
      Overrides:
      angle in class Complex
    • vectorPart

      public final Quaternion vectorPart()
      Overrides:
      vectorPart in class Complex
    • unitVector

      public final Quaternion unitVector()
      Overrides:
      unitVector in class Complex
    • unitQuaternion

      public final Quaternion unitQuaternion()
      Overrides:
      unitQuaternion in class Complex
    • conjugate

      public final Quaternion conjugate()
      Overrides:
      conjugate in class Complex
    • isReal

      public static boolean isReal(Object value)
    • asRealNumOrNull

      public static RealNum asRealNumOrNull(Object value)
    • isNegative

      public abstract boolean isNegative()
    • classifyFinite

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

      public abstract int sign()
      Return 1 if >0; 0 if ==0; -1 if <0; -2 if NaN.
    • max

      public RealNum max(RealNum x)
    • min

      public RealNum min(RealNum x)
    • add

      public static RealNum add(RealNum x, RealNum y, int k)
    • times

      public static RealNum times(RealNum x, RealNum y)
    • divide

      public static RealNum divide(RealNum x, RealNum y)
    • add

      public abstract Numeric add(Object obj, int k)
      Description copied from class: Numeric
      Return this + k * obj.
      Overrides:
      add in class Complex
    • mul

      public abstract Numeric mul(Object obj)
      Overrides:
      mul in class Complex
    • div

      public abstract Numeric div(Object obj)
      Overrides:
      div in class Complex
    • abs

      public Numeric abs()
      Overrides:
      abs in class Complex
    • rneg

      public RealNum rneg()
    • isZero

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

      public RatNum toExact()
      Convert to an exact number. Implements the Scheme inexact->exact (for real numbers).
      Overrides:
      toExact in class Complex
    • toInexact

      public RealNum toInexact()
      Overrides:
      toInexact in class Complex
    • toInt

      public static double toInt(double d, int rounding_mode)
      Converts a real to an integer, according to a specified rounding mode. Note an inexact argument gives an inexact result, following Scheme. See also RatNum.toExactInt.
    • toInt

      public RealNum toInt(int rounding_mode)
      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.
    • toExactInt

      public IntNum toExactInt(int rounding_mode)
      Converts to an exact integer, with specified rounding mode.
    • toExactInt

      public static IntNum toExactInt(double value, int rounding_mode)
      Converts real to an exact integer, with specified rounding mode.
    • toExactInt

      public static IntNum toExactInt(double value)
      Converts an integral double (such as a toInt result) to an IntNum.
    • exp

      public Complex exp()
      Overrides:
      exp in class Complex
    • log

      public Complex log()
      Overrides:
      log in class Complex
    • sin

      public final RealNum sin()
      Overrides:
      sin in class Complex
    • cos

      public final RealNum cos()
      Overrides:
      cos in class Complex
    • tan

      public final RealNum tan()
      Overrides:
      tan in class Complex
    • sqrt

      public final Complex sqrt()
      Overrides:
      sqrt in class Complex
    • toScaledInt

      public static IntNum toScaledInt(double f, int k)
      Convert double to (rounded) integer, after multiplying by 10**k.
    • toScaledInt

      public static IntNum toScaledInt(RatNum r, int k)
      Convert rational to (rounded) integer, after multiplying by 10**k.
    • toScaledInt

      public IntNum toScaledInt(int k)
      Convert this to (rounded) integer, after multiplying by 10**k.
    • compareTo

      public int compareTo(Object o)
      Implements the Comparable interface. This ordering isn't fully consistent with equals, since say it returns 0 when comparing 1.5 and 3/2, though they are not equals.
      Specified by:
      compareTo in interface Comparable
    • asBigDecimal

      public BigDecimal asBigDecimal()
    • toStringScientific

      public static String toStringScientific(float d)
    • toStringScientific

      public static String toStringScientific(double d)
    • toStringScientific

      public static String toStringScientific(String dstr)
      Convert result of Double.toString or Float.toString to scientific notation. Does not validate the input.
    • toStringScientific

      public static int toStringScientific(String dstr, StringBuffer sbuf)
    • toStringDecimal

      public static String toStringDecimal(String dstr)