gnu.math
Class Quantity

java.lang.Object
  extended by java.lang.Number
      extended by gnu.math.Numeric
          extended by gnu.math.Quantity
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
Complex, CQuantity, DateTime, DQuantity, Duration, Unit

public abstract class Quantity
extends Numeric

A quantity with a unit. This generalizes the DSSSL quantity type (to more than lengths).

See Also:
Serialized Form

Field Summary
 
Fields inherited from class gnu.math.Numeric
CEILING, FLOOR, ROUND, TRUNCATE
 
Constructor Summary
Quantity()
           
 
Method Summary
 Numeric abs()
           
 Numeric add(java.lang.Object y, int k)
          Return this + k * obj.
static Quantity add(Quantity x, Quantity y, int k)
           
 Numeric addReversed(Numeric x, int k)
          Calculate x+k&this.
 int compare(java.lang.Object obj)
          Return an integer for which of {# code this} or {#code obj} is larger.
static int compare(Quantity x, Quantity y)
           
 int compareReversed(Numeric x)
           
 Dimensions dimensions()
           
 Numeric div(java.lang.Object y)
           
static Quantity divide(Quantity x, Quantity y)
           
 Numeric divReversed(Numeric x)
           
 double doubleImagValue()
          The value of the imaginary component, as a double.
 double doubleValue()
          The value of the real component, as a double.
 RealNum im()
          The value of the imaginary component, as a RealNum.
 double imValue()
          The value of the imaginary component, as a double.
static Quantity make(Complex x, Unit u)
           
static Quantity make(double re, double im, Unit unit)
           
static Quantity make(RealNum re, RealNum im, Unit unit)
           
 Numeric mul(java.lang.Object y)
           
 Numeric mulReversed(Numeric x)
           
 Numeric neg()
           
abstract  Complex number()
           
 RealNum re()
          The value of the real component, as a RealNum.
 double reValue()
          The value of the real component, as a double.
static Quantity times(Quantity x, Quantity y)
           
 java.lang.String toString(int radix)
           
 Unit unit()
           
 
Methods inherited from class gnu.math.Numeric
add, div_inv, equals, floatValue, geq, grt, intValue, isExact, isZero, longValue, mul_ident, power, sub, toString
 
Methods inherited from class java.lang.Number
byteValue, shortValue
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Quantity

public Quantity()
Method Detail

unit

public Unit unit()

dimensions

public Dimensions dimensions()

number

public abstract Complex number()

re

public RealNum re()
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.


im

public RealNum im()
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.


reValue

public final double reValue()
The value of the real component, as a double. This is relative to the unit().dims - i.e. unit().doubleValue() is factored in. A final alias for the virtual doubleValue.


imValue

public final double imValue()
The value of the imaginary component, as a double. This is relative to the unit().dims - i.e. unit().doubleValue() is factored in. A final alias for the virtual doubleImagValue.


doubleValue

public double doubleValue()
The value of the real component, as a double. This is relative to the unit().dims - i.e. unit()/doubleValue() is factored in.

Specified by:
doubleValue in class java.lang.Number

doubleImagValue

public double doubleImagValue()
The value of the imaginary component, as a double. This is relative to the unit().dims - i.e. unit()/doubleValue() is factored in.


make

public static Quantity make(Complex x,
                            Unit u)

make

public static Quantity make(RealNum re,
                            RealNum im,
                            Unit unit)

make

public static Quantity make(double re,
                            double im,
                            Unit unit)

neg

public Numeric neg()
Specified by:
neg in class Numeric

abs

public Numeric abs()
Specified by:
abs in class Numeric

compare

public static int compare(Quantity x,
                          Quantity y)

compare

public int compare(java.lang.Object obj)
Description copied from class: Numeric
Return an integer for which of {# code this} or {#code obj} is larger. Return 1 if this>obj; 0 if this==obj; -1 if this<obj; -2 if this!=obj otherwise (for example if either is NaN); -3 if not comparable (incompatible types).

Overrides:
compare in class Numeric

compareReversed

public int compareReversed(Numeric x)
Overrides:
compareReversed in class Numeric

add

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

add

public Numeric add(java.lang.Object y,
                   int k)
Description copied from class: Numeric
Return this + k * obj.

Specified by:
add in class Numeric

addReversed

public Numeric addReversed(Numeric x,
                           int k)
Description copied from class: Numeric
Calculate x+k&this.

Overrides:
addReversed in class Numeric

times

public static Quantity times(Quantity x,
                             Quantity y)

mul

public Numeric mul(java.lang.Object y)
Specified by:
mul in class Numeric

mulReversed

public Numeric mulReversed(Numeric x)
Overrides:
mulReversed in class Numeric

divide

public static Quantity divide(Quantity x,
                              Quantity y)

div

public Numeric div(java.lang.Object y)
Specified by:
div in class Numeric

divReversed

public Numeric divReversed(Numeric x)
Overrides:
divReversed in class Numeric

toString

public java.lang.String toString(int radix)
Specified by:
toString in class Numeric