Package org.jscience.mathematics.number
Class Number<T extends Number<T>>
- java.lang.Object
-
- java.lang.Number
-
- org.jscience.mathematics.number.Number<T>
-
- All Implemented Interfaces:
Serializable
,Comparable<T>
,javolution.lang.Immutable
,javolution.lang.Realtime
,javolution.lang.ValueType
,javolution.xml.XMLSerializable
,GroupAdditive<T>
,Ring<T>
,Structure<T>
- Direct Known Subclasses:
Complex
,Float64
,FloatingPoint
,Integer64
,LargeInteger
,ModuloInteger
,Rational
,Real
public abstract class Number<T extends Number<T>> extends Number implements Ring<T>, Comparable<T>, javolution.lang.Realtime, javolution.xml.XMLSerializable
This class represents a
value-type
number.- See Also:
- Wikipedia: Number, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description Number()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description byte
byteValue()
Returns the value of this number as abyte
.abstract int
compareTo(T that)
Compares this number with the specified number for order.abstract Number<T>
copy()
Returns a copy of this numberallocated
by the calling thread (possibly on the stack).abstract double
doubleValue()
Returns the value of this number as adouble
.abstract boolean
equals(Object obj)
Indicates if this number is equals to the specified object.float
floatValue()
Returns the value of this number as afloat
.abstract int
hashCode()
Returns the hash code for this number (consistent withequals(Object)
.int
intValue()
Returns the value of this number as anint
.boolean
isGreaterThan(T that)
Indicates if this number is ordered after that number (convenience method).abstract boolean
isLargerThan(T that)
Compares the magnitude of this number with that number.boolean
isLessThan(T that)
Indicates if this number is ordered before that number (convenience method).abstract long
longValue()
Returns the value of this number as along
.T
minus(T that)
Returns the difference between this number and the one specified.T
pow(int exp)
Returns this number raised at the specified positive exponent.short
shortValue()
Returns the value of this number as ashort
.String
toString()
Returns the text representation of this number as ajava.lang.String
.abstract javolution.text.Text
toText()
Returns the textual representation of this real-time object (equivalent totoString
except that the returned value can be allocated from the local context space).-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.jscience.mathematics.structure.GroupAdditive
opposite, plus
-
-
-
-
Method Detail
-
isLargerThan
public abstract boolean isLargerThan(T that)
Compares the magnitude of this number with that number.- Returns:
|this| > |that|
-
longValue
public abstract long longValue()
Returns the value of this number as along
.
-
doubleValue
public abstract double doubleValue()
Returns the value of this number as adouble
.- Specified by:
doubleValue
in classNumber
- Returns:
- the numeric value represented by this object after conversion
to type
double
.
-
compareTo
public abstract int compareTo(T that)
Compares this number with the specified number for order. Returns a negative integer, zero, or a positive integer as this number is less than, equal to, or greater than the specified number. Implementation must ensure that this method is consistent with equals(x.compareTo(y)==0) == (x.equals(y))
,- Specified by:
compareTo
in interfaceComparable<T extends Number<T>>
- Parameters:
that
- the number to be compared.- Returns:
- a negative integer, zero, or a positive integer as this number is less than, equal to, or greater than the specified number.
-
isLessThan
public final boolean isLessThan(T that)
Indicates if this number is ordered before that number (convenience method).- Parameters:
that
- the number to compare with.- Returns:
this.compareTo(that) < 0
.
-
isGreaterThan
public final boolean isGreaterThan(T that)
Indicates if this number is ordered after that number (convenience method).- Parameters:
that
- the number to compare with.- Returns:
this.compareTo(that) > 0
.
-
minus
public T minus(T that)
Returns the difference between this number and the one specified.- Parameters:
that
- the number to be subtracted.- Returns:
this - that
.
-
pow
public T pow(int exp)
Returns this number raised at the specified positive exponent.- Parameters:
exp
- the positive exponent.- Returns:
thisexp
- Throws:
IllegalArgumentException
- ifexp <= 0
-
byteValue
public final byte byteValue()
Returns the value of this number as abyte
. This may involve rounding or truncation.
-
shortValue
public final short shortValue()
Returns the value of this number as ashort
. This may involve rounding or truncation.- Overrides:
shortValue
in classNumber
- Returns:
- the numeric value represented by this object after conversion
to type
short
.
-
intValue
public final int intValue()
Returns the value of this number as anint
. This may involve rounding or truncation.
-
floatValue
public final float floatValue()
Returns the value of this number as afloat
. This may involve rounding.- Specified by:
floatValue
in classNumber
- Returns:
- the numeric value represented by this object after conversion
to type
float
.
-
equals
public abstract boolean equals(Object obj)
Indicates if this number is equals to the specified object.
-
hashCode
public abstract int hashCode()
Returns the hash code for this number (consistent withequals(Object)
.
-
toText
public abstract javolution.text.Text toText()
Returns the textual representation of this real-time object (equivalent totoString
except that the returned value can be allocated from the local context space).- Specified by:
toText
in interfacejavolution.lang.Realtime
- Returns:
- this object's textual representation.
-
copy
public abstract Number<T> copy()
Returns a copy of this numberallocated
by the calling thread (possibly on the stack).- Specified by:
copy
in interfacejavolution.lang.ValueType
- Returns:
- an identical and independant copy of this number.
-
-