Package gnu.math
Class RealNum
- java.lang.Object
-
- java.lang.Number
-
- gnu.math.Numeric
-
- gnu.math.Quantity
-
- gnu.math.Quaternion
-
- gnu.math.Complex
-
- gnu.math.RealNum
-
- All Implemented Interfaces:
Serializable,Comparable
public abstract class RealNum extends Complex implements Comparable
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description RealNum()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Numericabs()static RealNumadd(RealNum x, RealNum y, int k)abstract Numericadd(Object obj, int k)Return this + k * obj.RealNumangle()BigDecimalasBigDecimal()static RealNumasRealNumOrNull(Object value)intclassifyFinite()Check if value is finite, infinite, or NaN.intcompareTo(Object o)Implements the Comparable interface.Quaternionconjugate()RealNumcos()abstract Numericdiv(Object obj)static RealNumdivide(RealNum x, RealNum y)Complexexp()RealNumim()The value of the imaginary component, as a RealNum.abstract booleanisNegative()static booleanisReal(Object value)booleanisZero()Complexlog()RealNummax(RealNum x)RealNummin(RealNum x)abstract Numericmul(Object obj)RealNumre()The value of the real component, as a RealNum.RealNumrneg()abstract intsign()Return 1 if>0; 0 if==0; -1 if<0; -2 ifNaN.RealNumsin()Complexsqrt()RealNumtan()static RealNumtimes(RealNum x, RealNum y)RatNumtoExact()Convert to an exact number.static IntNumtoExactInt(double value)Converts an integral double (such as a toInt result) to an IntNum.static IntNumtoExactInt(double value, int rounding_mode)Converts real to an exact integer, with specified rounding mode.IntNumtoExactInt(int rounding_mode)Converts to an exact integer, with specified rounding mode.RealNumtoInexact()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.IntNumtoScaledInt(int k)Convert this to (rounded) integer, after multiplying by 10**k.static IntNumtoScaledInt(RatNum r, int k)Convert rational to (rounded) integer, after multiplying by 10**k.static StringtoStringDecimal(String dstr)static StringtoStringScientific(double d)static StringtoStringScientific(float d)static StringtoStringScientific(String dstr)Convert result of Double.toString or Float.toString to scientific notation.static inttoStringScientific(String dstr, StringBuffer sbuf)QuaternionunitQuaternion()QuaternionunitVector()QuaternionvectorPart()-
Methods inherited from class gnu.math.Complex
add, addReversed, colatitude, compare, compare, complexPart, divide, divReversed, equals, equals, imMinusOne, imOne, isExact, jm, km, longitude, make, make, mulReversed, neg, neg, polar, polar, power, times, toString
-
Methods inherited from class gnu.math.Quaternion
add, compare, divide, doubleImagValue, doubleJmagValue, doubleKmagValue, doubleRealValue, doubleValue, equals, jmMinusOne, jmOne, kmMinusOne, kmOne, longValue, make, make, neg, number, polar, polar, power, times
-
Methods inherited from class gnu.math.Quantity
add, compare, compareReversed, dimensions, divide, imValue, jmValue, kmValue, make, make, make, reValue, times, unit
-
Methods inherited from class gnu.math.Numeric
add, asNumericOrNull, div_inv, floatValue, geq, grt, intValue, mul_ident, power, sub, toString
-
Methods inherited from class java.lang.Number
byteValue, shortValue
-
-
-
-
Method Detail
-
re
public final RealNum re()
Description copied from class:QuantityThe 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.
-
im
public final RealNum im()
Description copied from class:QuantityThe 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.
-
vectorPart
public final Quaternion vectorPart()
- Overrides:
vectorPartin classComplex
-
unitVector
public final Quaternion unitVector()
- Overrides:
unitVectorin classComplex
-
unitQuaternion
public final Quaternion unitQuaternion()
- Overrides:
unitQuaternionin classComplex
-
conjugate
public final Quaternion conjugate()
-
isReal
public static boolean isReal(Object value)
-
isNegative
public abstract boolean isNegative()
-
classifyFinite
public int classifyFinite()
Description copied from class:ComplexCheck if value is finite, infinite, or NaN.- Overrides:
classifyFinitein classComplex- 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 ifNaN.
-
add
public abstract Numeric add(Object obj, int k)
Description copied from class:NumericReturn this + k * obj.
-
rneg
public RealNum rneg()
-
toExact
public RatNum toExact()
Convert to an exact number. Implements the Schemeinexact->exact(for real numbers).
-
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.
-
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:
compareToin interfaceComparable
-
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)
-
-