gnu.math

Class RealNum

public abstract class RealNum extends Complex implements Comparable

Method Summary
Numericabs()
static RealNumadd(RealNum x, RealNum y, int k)
abstract Numericadd(Object obj, int k)
BigDecimalasBigDecimal()
intcompareTo(Object o)
Implements the Comparable interface.
abstract Numericdiv(Object obj)
static RealNumdivide(RealNum x, RealNum y)
Complexexp()
RealNumim()
abstract booleanisNegative()
booleanisZero()
Complexlog()
RealNummax(RealNum x)
RealNummin(RealNum x)
abstract Numericmul(Object obj)
RealNumre()
RealNumrneg()
abstract intsign()
Return 1 if >0; 0 if ==0; -1 if <0; -2 if NaN.
Complexsin()
Complexsqrt()
static RealNumtimes(RealNum x, RealNum y)
RatNumtoExact()
Convert to an exact number.
IntNumtoExactInt(int rounding_mode)
Converts to an exact integer, with specified rounding mode.
static IntNumtoExactInt(double value, int rounding_mode)
Converts real to an exact integer, with specified rounding mode.
static IntNumtoExactInt(double value)
Converts an integral double (such as a toInt result) to an IntNum.
static doubletoInt(double d, int rounding_mode)
Converts a real to an integer, according to a specified rounding mode.
RealNumtoInt(int rounding_mode)
Converts a real to an integer, according to a specified rounding mode.
static IntNumtoScaledInt(double f, int k)
Convert double to (rounded) integer, after multiplying by 10**k.
static IntNumtoScaledInt(RatNum r, int k)
Convert rational to (rounded) integer, after multiplying by 10**k.
IntNumtoScaledInt(int k)
Convert this to (rounded) integer, after multiplying by 10**k.
static StringtoStringDecimal(String dstr)
static StringtoStringScientific(float d)
static StringtoStringScientific(double d)
static StringtoStringScientific(String dstr)
Convert result of Double.toString or Float.toString to scientific notation.
static inttoStringScientific(String dstr, StringBuffer sbuf)

Method Detail

abs

public Numeric abs()

add

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

add

public abstract Numeric add(Object obj, int k)

asBigDecimal

public BigDecimal asBigDecimal()

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.

div

public abstract Numeric div(Object obj)

divide

public static RealNum divide(RealNum x, RealNum y)

exp

public Complex exp()

im

public final RealNum im()

isNegative

public abstract boolean isNegative()

isZero

public boolean isZero()

log

public Complex log()

max

public RealNum max(RealNum x)

min

public RealNum min(RealNum x)

mul

public abstract Numeric mul(Object obj)

re

public final RealNum re()

rneg

public final RealNum rneg()

sign

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

sin

public final Complex sin()

sqrt

public final Complex sqrt()

times

public static RealNum times(RealNum x, RealNum y)

toExact

public RatNum toExact()
Convert to an exact number. Implements the Scheme inexact->exact (for real numbers).

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.

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.

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.

toStringDecimal

public static String toStringDecimal(String dstr)

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)