gnu.math

Class RealNum

Implemented Interfaces:
Comparable
Known Direct Subclasses:
DFloNum, RatNum

public abstract class RealNum
extends Complex
implements Comparable

Field Summary

Fields inherited from class gnu.math.Numeric

CEILING, FLOOR, ROUND, TRUNCATE

Method Summary

Numeric
abs()
abstract Numeric
add(Object obj, int k)
Return this + k * obj.
static RealNum
add(RealNum x, RealNum y, int k)
BigDecimal
asBigDecimal()
int
compareTo(Object o)
Implements the Comparable interface.
abstract Numeric
div(Object obj)
static RealNum
divide(RealNum x, RealNum y)
Complex
exp()
RealNum
im()
abstract boolean
isNegative()
boolean
isZero()
Complex
log()
RealNum
max(RealNum x)
RealNum
min(RealNum x)
abstract Numeric
mul(Object obj)
RealNum
re()
RealNum
rneg()
abstract int
sign()
Return 1 if >0; 0 if ==0; -1 if <0; -2 if NaN.
Complex
sin()
Complex
sqrt()
static RealNum
times(RealNum x, RealNum y)
RatNum
toExact()
Convert to an exact number.
static IntNum
toExactInt(double value)
Converts an integral double (such as a toInt result) to an IntNum.
static IntNum
toExactInt(double value, int rounding_mode)
Converts real to an exact integer, with specified rounding mode.
IntNum
toExactInt(int rounding_mode)
Converts to an exact integer, with specified rounding mode.
static double
toInt(double d, int rounding_mode)
Converts a real to an integer, according to a specified rounding mode.
RealNum
toInt(int rounding_mode)
Converts a real to an integer, according to a specified rounding mode.
static IntNum
toScaledInt(double f, int k)
Convert double to (rounded) integer, after multiplying by 10**k.
static IntNum
toScaledInt(RatNum r, int k)
Convert rational to (rounded) integer, after multiplying by 10**k.
IntNum
toScaledInt(int k)
Convert this to (rounded) integer, after multiplying by 10**k.
static String
toStringDecimal(String dstr)
static String
toStringScientific(String dstr)
Convert result of Double.toString or Float.toString to scientific notation.
static int
toStringScientific(String dstr, StringBuffer sbuf)
static String
toStringScientific(double d)
static String
toStringScientific(float d)

Methods inherited from class gnu.math.Complex

abs, add, add, addReversed, angle, compare, compare, div, divReversed, divide, doubleImagValue, doubleRealValue, doubleValue, equals, equals, exp, imMinusOne, imOne, isExact, isZero, log, longValue, make, make, mul, mulReversed, neg, neg, number, polar, polar, power, sqrt, times, toString

Methods inherited from class gnu.math.Quantity

abs, add, add, addReversed, compare, compare, compareReversed, dimensions, div, divReversed, divide, doubleImagValue, doubleValue, im, imValue, make, make, make, mul, mulReversed, neg, number, re, reValue, times, toString, unit

Methods inherited from class gnu.math.Numeric

abs, add, add, addReversed, compare, compareReversed, div, divReversed, div_inv, equals, floatValue, geq, grt, intValue, isExact, isZero, longValue, mul, mulReversed, mul_ident, neg, power, sub, toString, toString

Method Details

abs

public Numeric abs()
Overrides:
abs in interface Complex

add

public abstract Numeric add(Object obj,
                            int k)
Return this + k * obj.
Overrides:
add in interface Complex

add

public static RealNum add(RealNum x,
                          RealNum y,
                          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)
Overrides:
div in interface Complex

divide

public static RealNum divide(RealNum x,
                             RealNum y)

exp

public Complex exp()
Overrides:
exp in interface Complex

im

public final RealNum im()
Overrides:
im in interface Quantity

isNegative

public abstract boolean isNegative()

isZero

public boolean isZero()
Overrides:
isZero in interface Complex

log

public Complex log()
Overrides:
log in interface Complex

max

public RealNum max(RealNum x)

min

public RealNum min(RealNum x)

mul

public abstract Numeric mul(Object obj)
Overrides:
mul in interface Complex

re

public final RealNum re()
Overrides:
re in interface Quantity

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()
Overrides:
sqrt in interface Complex

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 static IntNum toExactInt(double value)
Converts an integral double (such as a toInt result) to an IntNum.

toExactInt

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

toExactInt

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

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(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)

toStringScientific

public static String toStringScientific(double d)

toStringScientific

public static String toStringScientific(float d)