visad
Class Real

java.lang.Object
  extended by visad.ThingImpl
      extended by visad.DataImpl
          extended by visad.Scalar
              extended by visad.Real
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Comparable, Data, RealIface, ScalarIface, Thing
Direct Known Subclasses:
DateTime

public class Real
extends Scalar
implements RealIface

Real is the class of VisAD scalar data for real numbers represented as double precision floating point values. Double.NaN is used to indicate missing values, because it has the appropriate arithmetic semantics. Real objects are immutable.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class visad.DataImpl
DataImpl.Syncher
 
Field Summary
 
Fields inherited from interface visad.Data
ABS, ACOS, ACOS_DEGREES, ADD, ASIN, ASIN_DEGREES, ATAN, ATAN_DEGREES, ATAN2, ATAN2_DEGREES, CEIL, COS, COS_DEGREES, DEGREES_TO_RADIANS, DEPENDENT, DIVIDE, EXP, FLOOR, INDEPENDENT, INV_ATAN2, INV_ATAN2_DEGREES, INV_DIVIDE, INV_POW, INV_REMAINDER, INV_SUBTRACT, LOG, MAX, MIN, MULTIPLY, NEAREST_NEIGHBOR, NEGATE, NO_ERRORS, NOP, POW, RADIANS_TO_DEGREES, REMAINDER, RINT, ROUND, SIN, SIN_DEGREES, SQRT, SUBTRACT, TAN, TAN_DEGREES, WEIGHTED_AVERAGE
 
Constructor Summary
Real(double value)
          Constructs a generic Real object.
Real(double value, double error)
          Constructs a generic Real object.
Real(RealType type)
          Constructs a Real object.
Real(RealType type, double value)
          Constructs a Real object.
Real(RealType type, double value, Unit u)
          Constructs a Real object.
Real(RealType type, double value, Unit u, double error)
          Constructs a Real object.
Real(RealType type, double value, Unit u, ErrorEstimate error)
          Constructs a Real object.
 
Method Summary
 Data adjustSamplingError(Data error, int error_mode)
          return a Real that clones this, except its ErrorEstimate is adjusted for the sampling error in error
 Data binary(Data data, int op, MathType new_type, int sampling_mode, int error_mode)
          general binary operation between this and data; op may be Data.ADD, Data.SUBTRACT, etc; these include all binary operations defined for Java primitive data types; new_type is the MathType of the result; sampling_mode may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE; error_mode may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS
 Real cloneButUnit(Unit u)
          clone this, but with a new Unit
 Real cloneButValue(double value)
          clone this, but with a new value
 int compareTo(java.lang.Object object)
          Compares this Real to another.
 DataShadow computeRanges(ShadowType type, DataShadow shadow)
          recursive version of computeRanges; would like 'default' visibility here, but must be declared 'public' because it is defined in the Data interface
 boolean equals(java.lang.Object obj)
          Indicates if this Real is semantically identical to an object.
 ErrorEstimate getError()
          Returns the uncertainty in the numeric value of this instance.
 Unit getUnit()
          Returns the unit of this instance.
 double getValue()
          Returns the numeric value in the unit of RealIface.getUnit().
 double getValue(Unit unit_out)
          get double value converted to unit_out
 int hashCode()
          Returns the hash code of this Real.
 boolean isMissing()
          a method to tell whether data object has a missing value
 java.lang.String longString(java.lang.String pre)
          generates a longer string than generated by toString, indented by pre (a string of blanks)
static void main(java.lang.String[] args)
          run 'java visad.Real' to test the Real class
 java.lang.String toString()
           
 java.lang.String toValueString()
          Gets a string that represents just the value portion of this Real -- but with full semantics (e.g.
 Data unary(int op, MathType new_type, int sampling_mode, int error_mode)
          unary function on a Real; override some trig functions based on Unit; transcental functions destroy dimensionfull Unit
 
Methods inherited from class visad.Scalar
addReference, clone, removeReference
 
Methods inherited from class visad.DataImpl
__add__, __add__, __div__, __div__, __mod__, __mod__, __mul__, __mul__, __neg__, __pow__, __pow__, __sub__, __sub__, abs, abs, acos, acos, acosDegrees, acosDegrees, add, add, asin, asin, asinDegrees, asinDegrees, atan, atan, atan2, atan2, atan2Degrees, atan2Degrees, atanDegrees, atanDegrees, binary, ceil, ceil, changeMathType, computeRanges, computeRanges, cos, cos, cosDegrees, cosDegrees, dataClone, divide, divide, exp, exp, floor, floor, getType, local, log, log, longString, max, max, min, min, multiply, multiply, negate, negate, notifyReferences, pow, pow, remainder, remainder, rint, rint, round, round, sin, sin, sinDegrees, sinDegrees, sqrt, sqrt, subtract, subtract, tan, tan, tanDegrees, tanDegrees, unary
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface visad.Data
abs, abs, acos, acos, acosDegrees, acosDegrees, add, add, asin, asin, asinDegrees, asinDegrees, atan, atan, atan2, atan2, atan2Degrees, atan2Degrees, atanDegrees, atanDegrees, binary, ceil, ceil, changeMathType, computeRanges, computeRanges, cos, cos, cosDegrees, cosDegrees, dataClone, divide, divide, exp, exp, floor, floor, getType, local, log, log, longString, max, max, min, min, multiply, multiply, negate, negate, pow, pow, remainder, remainder, rint, rint, round, round, sin, sin, sinDegrees, sinDegrees, sqrt, sqrt, subtract, subtract, tan, tan, tanDegrees, tanDegrees, unary
 
Methods inherited from interface visad.Thing
addReference, removeReference
 

Constructor Detail

Real

public Real(RealType type,
            double value,
            Unit u,
            ErrorEstimate error)
     throws VisADException
Constructs a Real object. This is the most general constructor.

Parameters:
type - The type of the Real.
value - The value of the Real. May be Double.NaN.
u - The unit of the Real. May be null. If non-null and type.isInterval() returns true, then the unit will actually be u.getAbsoluteUnit().
error - Error estimate of the Real. May be null.
Throws:
UnitException - if the default unit of the type is inconvertible with the unit argument (i.e. if Unit.canConvert(u, type.getDefaultUnit()) returns false).
VisADException - Couldn't create necessary VisAD object.

Real

public Real(RealType type,
            double value,
            Unit u,
            double error)
     throws VisADException
Constructs a Real object. The error estimate will be based on a numeric value.

Parameters:
type - The type of the Real.
value - The value of the Real. May be Double.NaN.
u - The unit of the Real. May be null. If non-null and type.isInterval() returns true, then the unit will actually be u.getAbsoluteUnit().
error - Value for constructing an error estimate for the Real in units of u != null && type.isInterval() ? u.getAbsoluteUnit() : u.
Throws:
VisADException - Couldn't create necessary VisAD object.

Real

public Real(RealType type,
            double value,
            Unit u)
     throws VisADException
Constructs a Real object. The error estimate will be null.

Parameters:
type - The type of the Real.
value - The value of the Real. May be Double.NaN.
u - The unit of the Real. May be null. If non-null and type.isInterval() returns true, then the unit will actually be u.getAbsoluteUnit().
Throws:
VisADException - Couldn't create necessary VisAD object.

Real

public Real(RealType type,
            double value)
Constructs a Real object. The unit of the Real will be the default unit of the RealType and the error estimate will be null.

Parameters:
type - The type of the Real.
value - The value of the Real in units of type.getDefaultUnit(). May be Double.NaN.

Real

public Real(RealType type)
Constructs a Real object. The value will be missing, the unit of the Real will be the default unit of the RealType, and the error estimate will be null.

Parameters:
type - The type of the Real.

Real

public Real(double value,
            double error)
Constructs a generic Real object. The RealType of the Real will be RealType.Generic, the unit of the Real will be RealType.Generic.getDefaultUnit(), and the error estimate will be based on a numeric value.

Parameters:
value - The value of the Real. May be Double.NaN.
error - Value for constructing an error estimate for the Real in units of RealType.Generic.getDefaultUnit().

Real

public Real(double value)
Constructs a generic Real object. The RealType of the Real will be RealType.Generic, the unit of the Real will be RealType.Generic.getDefaultUnit(), and the error estimate will be 0.0.

Parameters:
value - The value of the Real. May be Double.NaN.
Method Detail

getValue

public final double getValue()
Description copied from interface: RealIface
Returns the numeric value in the unit of RealIface.getUnit().

Specified by:
getValue in interface RealIface
Returns:
The numeric value in the unit of RealIface.getUnit().

getValue

public final double getValue(Unit unit_out)
                      throws VisADException
get double value converted to unit_out

Specified by:
getValue in interface RealIface
Returns:
The numeric value in the given unit.
Throws:
VisADException

isMissing

public boolean isMissing()
Description copied from interface: Data
a method to tell whether data object has a missing value

Specified by:
isMissing in interface Data

binary

public Data binary(Data data,
                   int op,
                   MathType new_type,
                   int sampling_mode,
                   int error_mode)
            throws VisADException,
                   java.rmi.RemoteException
Description copied from interface: Data
general binary operation between this and data; op may be Data.ADD, Data.SUBTRACT, etc; these include all binary operations defined for Java primitive data types; new_type is the MathType of the result; sampling_mode may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE; error_mode may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS

Specified by:
binary in interface Data
Overrides:
binary in class DataImpl
Throws:
VisADException
java.rmi.RemoteException

unary

public Data unary(int op,
                  MathType new_type,
                  int sampling_mode,
                  int error_mode)
           throws VisADException
unary function on a Real; override some trig functions based on Unit; transcental functions destroy dimensionfull Unit

Specified by:
unary in interface Data
Overrides:
unary in class DataImpl
Throws:
VisADException

computeRanges

public DataShadow computeRanges(ShadowType type,
                                DataShadow shadow)
                         throws VisADException,
                                java.rmi.RemoteException
Description copied from interface: Data
recursive version of computeRanges; would like 'default' visibility here, but must be declared 'public' because it is defined in the Data interface

Specified by:
computeRanges in interface Data
Throws:
VisADException
java.rmi.RemoteException

getUnit

public Unit getUnit()
Description copied from interface: RealIface
Returns the unit of this instance.

Specified by:
getUnit in interface RealIface
Returns:
The unit of this instance.

getError

public ErrorEstimate getError()
Description copied from interface: RealIface
Returns the uncertainty in the numeric value of this instance.

Specified by:
getError in interface RealIface
Returns:
The uncertainty in the numeric value of this instance.

adjustSamplingError

public Data adjustSamplingError(Data error,
                                int error_mode)
                         throws VisADException,
                                java.rmi.RemoteException
return a Real that clones this, except its ErrorEstimate is adjusted for the sampling error in error

Specified by:
adjustSamplingError in interface Data
Specified by:
adjustSamplingError in interface RealIface
Overrides:
adjustSamplingError in class DataImpl
Parameters:
error - The uncertainty by which to adjust the clone.
error_mode - The mode for propagating errors. See Data.
Returns:
A clone of this instance with a modified uncertainty.
Throws:
VisADException - VisAD failure.
java.rmi.RemoteException - Java RMI failure.

cloneButValue

public Real cloneButValue(double value)
                   throws VisADException
clone this, but with a new value

Specified by:
cloneButValue in interface RealIface
Parameters:
value - The numeric value for the clone.
Returns:
A clone of this nstance with the given numeric value.
Throws:
VisADException - VisAD failure.

cloneButUnit

public Real cloneButUnit(Unit u)
                  throws VisADException
clone this, but with a new Unit

Specified by:
cloneButUnit in interface RealIface
Parameters:
u - The unit for the clone.
Returns:
A clone of this instance but with the given unit.
Throws:
VisADException

toString

public java.lang.String toString()
Specified by:
toString in interface RealIface
Overrides:
toString in class DataImpl

toValueString

public java.lang.String toValueString()
Gets a string that represents just the value portion of this Real -- but with full semantics (e.g. numeric value and unit).

Specified by:
toValueString in interface RealIface
Returns:
A string representation of just the value portion of this Real.

longString

public java.lang.String longString(java.lang.String pre)
                            throws VisADException
Description copied from class: DataImpl
generates a longer string than generated by toString, indented by pre (a string of blanks)

Specified by:
longString in interface Data
Overrides:
longString in class DataImpl
Throws:
VisADException

compareTo

public int compareTo(java.lang.Object object)
Compares this Real to another.

Specified by:
compareTo in interface java.lang.Comparable
Specified by:
compareTo in interface RealIface
Parameters:
object - The other Real to compare against. It shall be a Real with a compatible (i.e. convertible) unit.
Returns:
A negative integer, zero, or a positive integer depending on whether this Real is considered less than, equal to, or greater than the other Real, respectively. If the values of the Real-s in the default unit are equal, then the ErrorEstimate.compareTo() method is used to break the tie.

equals

public boolean equals(java.lang.Object obj)
Indicates if this Real is semantically identical to an object.

Specified by:
equals in interface ScalarIface
Specified by:
equals in class Scalar
Parameters:
obj - The object.
Returns:
true if and only if this Real is semantically identical to the object.

hashCode

public int hashCode()
Returns the hash code of this Real.

Specified by:
hashCode in interface RealIface
Overrides:
hashCode in class java.lang.Object
Returns:
The hash code of this Real. If two Real-s are semantically identical, then their hash codes are equal.

main

public static void main(java.lang.String[] args)
                 throws VisADException,
                        java.rmi.RemoteException
run 'java visad.Real' to test the Real class

Throws:
VisADException
java.rmi.RemoteException