## visad
Class DataImpl

    java.lang.Object
      visad.ThingImpl
          visad.DataImpl

All Implemented Interfaces:
  Cloneable, Data, Serializable, Thing

Direct Known Subclasses:
  FunctionImpl, Scalar, Set, Tuple, UserDummyDataImpl

public abstract class DataImpl
extends ThingImpl
implements Data

DataImpl is the superclass for VisAD's data hierarchy, inheriting the Data interface. Data objects are immutable except for the range values of Field objects.

VisAD Data objects are finite approximations to math objects that include scalars, tuples (i.e., n-dimensional vectors), functions, and certain forms of sets. Hence, all Data objects possess a MathType, which identifies the corresponding concept and is not a synonym for the Data class, even though the class names for a Data object and its corresponding MathType object (Set and SetType, e.g.) may be similar. In order to approximate their corresponding mathematical entities, Data objects may use text strings or finite representations of real numbers. Also, any Data object may take the value 'missing', and any sub-object of a Data object may take the value 'missing'.

All of the Java arithmetical operations are defined for Data objects, to the extent that they make sense for the types involved.

See Also:
  Serialized Form

Nested Class Summary
`class` `DataImpl.Syncher` class used to synchronize with TRANSFORM_DONE events from dummy DisplayImplJ2D used by computeRanges()

Nested classes inherited from class visad.ThingImpl
`ThingImpl.RemotePair`

Field Summary
`(package private) MathType` `Type` each VisAD data object has a VisAD mathematical type

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
`DataImpl(MathType type)` construct a DataImpl with given MathType

Method Summary
`Data` `__add__(Data data)` A wrapper around `add` for JPython
`Data` `__add__(double data)` A wrapper around `__add__` for JPython
`Data` `__div__(Data data)` A wrapper around `divide` for JPython
`Data` `__div__(double data)` A wrapper around `__div__` for JPython
`Data` `__mod__(Data data)` A wrapper around `remainder` for JPython
`Data` `__mod__(double data)` A wrapper around `__mod__` for JPython
`Data` `__mul__(Data data)` A wrapper around `multiply` for JPython
`Data` `__mul__(double data)` A wrapper around `__mul__` for JPython
`Data` `__neg__()` A wrapper around `negate` for JPython
`Data` `__pow__(Data data)` A wrapper around `pow` for JPython
`Data` `__pow__(double data)` A wrapper around `__pow__` for JPython For low powers, do the multiply directly to preserve units.
`Data` `__radd__(double data)` A wrapper around `__add__` for JPython
`Data` `__rdiv__(double data)` A wrapper around `__div__` for JPython
`Data` `__rmod__(double data)` A wrapper around `__mod__` for JPython
`Data` `__rmul__(double data)` A wrapper around `__mul__` for JPython
`Data` `__rpow__(double data)` A wrapper around `__pow__` for JPython
`Data` `__rsub__(double data)` A wrapper around `__sub__` for JPython
`Data` `__sub__(Data data)` A wrapper around `subtract` for JPython
`Data` `__sub__(double data)` A wrapper around `__sub__` for JPython
`Data` `abs()` call unary() to take the absolute value of this, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `abs(int sampling_mode, int error_mode)` call unary() to take the absolute value of this
`Data` `acos()` call unary() to take the arccos of this producing radian Units, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `acos(int sampling_mode, int error_mode)` call unary() to take the arccos of this producing radian Units
`Data` `acosDegrees()` call unary() to take the arccos of this producing degree Units, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `acosDegrees(int sampling_mode, int error_mode)` call unary() to take the arccos of this producing degree Units
`Data` `add(Data data)` call binary() to add data to this, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `add(Data data, int sampling_mode, int error_mode)` call binary() to add data to this
`Data` `adjustSamplingError(Data error, int error_mode)` return a clone of this, except with ErrorEstimates combined with values in error, according to error_mode
`Data` `asin()` call unary() to take the arcsin of this producing radian Units, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `asin(int sampling_mode, int error_mode)` call unary() to take the arcsin of this producing radian Units
`Data` `asinDegrees()` call unary() to take the arcsin of this producing degree Units, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `asinDegrees(int sampling_mode, int error_mode)` call unary() to take the arcsin of this producing degree Units
`Data` `atan()` call unary() to take the arctan of this producing radian Units, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `atan(int sampling_mode, int error_mode)` call unary() to take the arctan of this producing radian Units
`Data` `atan2(Data data)` call binary() to take the atan of this by data producing radian Units, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `atan2(Data data, int sampling_mode, int error_mode)` call binary() to take the atan of this by data producing radian Units
`Data` `atan2Degrees(Data data)` call binary() to take the atan of this by data producing degree Units, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `atan2Degrees(Data data, int sampling_mode, int error_mode)` call binary() to take the atan of this by data producing degree Units
`Data` `atanDegrees()` call unary() to take the arctan of this producing degree Units, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `atanDegrees(int sampling_mode, int error_mode)` call unary() to take the arctan of this producing degree Units
`Data` `binary(Data data, int op, int sampling_mode, int error_mode)` Pointwise binary operation between this and data.
`Data` `binary(Data data, int op, MathType new_type, int sampling_mode, int error_mode)` Pointwise binary operation between this and data.
`Data` `ceil()` call unary() to take the ceiling of this, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `ceil(int sampling_mode, int error_mode)` call unary() to take the ceiling of this
`Data` `changeMathType(MathType new_type)` call unary() to clone this except with a new MathType
`Object` `clone()` Clones this instance.
`double[][]` `computeRanges(RealType[] reals)` compute ranges of values in this of given RealTypes, using a dummy DisplayImplJ2D
`DataShadow` `computeRanges(ShadowType type, int n)` Compute ranges of values for each of 'n' RealTypes in DisplayImpl.RealTypeVector.

`(package private) DataShadow`

`computeReferenceRanges(ShadowRealTupleType shad_type, CoordinateSystem coord_in, Unit[] units_in, DataShadow shadow, ShadowRealTupleType shad_ref, double[][] ranges)`
called by computeRanges() from RealTuple, SampledSet and FlatField (used for range RealTuple in FlatField, domain is handled by recursive domain Set call computeRanges()) to recursively compute ranges of reference RealTupleType

`Data` `cos()` call unary() to take the cos of this assuming radian Units unless this actual Units are degrees, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `cos(int sampling_mode, int error_mode)` call unary() to take the cos of this assuming radian Units unless this actual Units are degrees
`Data` `cosDegrees()` call unary() to take the cos of this assuming degree Units unless this actual Units are radians, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `cosDegrees(int sampling_mode, int error_mode)` call unary() to take the cos of this assuming degree Units unless this actual Units are radians
`Object` `dataClone()` A VisAD adaptation of clone that works for local or remote Data.
`Data` `divide(Data data)` call binary() to divide this by data, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `divide(Data data, int sampling_mode, int error_mode)` call binary() to divide this by data
`Data` `exp()` call unary() to take the exponent of this, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `exp(int sampling_mode, int error_mode)` call unary() to take the exponent of this
`Data` `floor()` call unary() to take the floor of this, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `floor(int sampling_mode, int error_mode)` call unary() to take the floor of this
`MathType` `getType()`
`(package private) static int` `invertOp(int op)` returns new binary operator equivalent to op with order of operands reversed
`DataImpl` `local()`
`Data` `log()` call unary() to take the log of this, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `log(int sampling_mode, int error_mode)` call unary() to take the log of this
`String` `longString()`
`String` `longString(String pre)`
`static void` `main(String[] args)` Simple DataImpl test, invoked as 'java visad.DataImpl'.
`Data` `max(Data data)` call binary() to take the max of this and data, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `max(Data data, int sampling_mode, int error_mode)` call binary() to take the max of this and data
`Data` `min(Data data)` call binary() to take the min of this and data, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `min(Data data, int sampling_mode, int error_mode)` call binary() to take the min of this and data
`Data` `multiply(Data data)` call binary() to multiply this by data, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `multiply(Data data, int sampling_mode, int error_mode)` call binary() to multiply this by data
`Data` `negate()` call unary() to negate this, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `negate(int sampling_mode, int error_mode)` call unary() to negate this
`void` `notifyReferences()` notify local DataReferenceImpl-s that this DataImpl has changed; incTick in RemoteDataImpl for RemoteDataReferenceImpl-s; declared public because it is defined in the Data interface
`Data` `pow(Data data)` call binary() to raise this to data power, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `pow(Data data, int sampling_mode, int error_mode)` call binary() to raise this to data power
`Data` `remainder(Data data)` call binary() to take the remainder of this divided by data, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `remainder(Data data, int sampling_mode, int error_mode)` call binary() to take the remainder of this divided by data
`Data` `rint()` call unary() to take the rint (essentially round) of this, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `rint(int sampling_mode, int error_mode)` call unary() to take the rint (essentially round) of this
`Data` `round()` call unary() to take the round of this, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `round(int sampling_mode, int error_mode)` call unary() to take the round of this
`(package private) void` `setParent(DataImpl p)` set the parent (i.e., containing Tuple or Field) of this DataImpl
`Data` `sin()` call unary() to take the sin of this assuming radian Units unless this actual Units are degrees, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `sin(int sampling_mode, int error_mode)` call unary() to take the sin of this assuming radian Units unless this actual Units are degrees
`Data` `sinDegrees()` call unary() to take the sin of this assuming degree Units unless this actual Units are radians, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `sinDegrees(int sampling_mode, int error_mode)` call unary() to take the sin of this assuming degree Units unless this actual Units are radians
`Data` `sqrt()` call unary() to take the square root of this, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `sqrt(int sampling_mode, int error_mode)` call unary() to take the square root of this
`Data` `subtract(Data data)` call binary() to subtract data from this, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `subtract(Data data, int sampling_mode, int error_mode)` call binary() to subtract data from this
`Data` `tan()` call unary() to take the tan of this assuming radian Units unless this actual Units are degrees, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `tan(int sampling_mode, int error_mode)` call unary() to take the tan of this assuming radian Units unless this actual Units are degrees
`Data` `tanDegrees()` call unary() to take the tan of this assuming degree Units unless this actual Units are radians, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)
`Data` `tanDegrees(int sampling_mode, int error_mode)` call unary() to take the tan of this assuming degree Units unless this actual Units are radians
`String` `toString()`
`Data` `unary(int op, int sampling_mode, int error_mode)` Pointwise unary operation applied to this.
`Data` `unary(int op, MathType new_type, int sampling_mode, int error_mode)` Pointwise unary operation applied to this.

Methods inherited from class visad.ThingImpl
`adaptedAddReference, adaptedRemoveReference, addReference, removeReference`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface visad.Data
`computeRanges, isMissing`

Methods inherited from interface visad.Thing
`addReference, removeReference`

Field Detail

### Type

    MathType Type

  each VisAD data object has a VisAD mathematical type

Constructor Detail

### DataImpl

    public DataImpl(MathType type)

  construct a DataImpl with given MathType

Parameters:
  `type` - MathType

Method Detail

### local

    public DataImpl local()

  Specified by:
    `local` in interface `Data`
  Returns:
    this (returns a local copy for RemoteData)

### setParent

    void setParent(DataImpl p)

  set the parent (i.e., containing Tuple or Field) of this DataImpl

  Parameters:
    `p` - parent DataImpl

### getType

    public MathType getType()

  Specified by:
    `getType` in interface `Data`
  Returns:
    MathType of this Data

### notifyReferences

    public void notifyReferences()
                          throws VisADException,
                                 RemoteException

  notify local DataReferenceImpl-s that this DataImpl has changed; incTick in RemoteDataImpl for RemoteDataReferenceImpl-s; declared public because it is defined in the Data interface

  Overrides:
    `notifyReferences` in class `ThingImpl`
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### binary

    public Data binary(Data data,
                       int op,
                       int sampling_mode,
                       int error_mode)
                throws VisADException,
                       RemoteException

  Pointwise binary operation between this and data. Applies to Reals, Tuples (recursively to components), and to Field ranges (Field domains implicitly resampled if necessary). Does not apply to Field domains or Sets (regarded as domains of Fields wthout ranges). Data.ADD is only op defined for Text, interpreted as concatenate. MathTypes of this and data must match, or one may match the range of the other if it is a FunctionType.

  Specified by:
    `binary` in interface `Data`
  Parameters:
    `data` - other Data operand for binary operation
    `op` - may be Data.ADD, Data.SUBTRACT, etc; these include all binary operations defined for Java primitive data types
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result, which takes the MathType of this unless the default Units of that MathType conflict with Units of the result, in which case a generic MathType with appropriate Units is constructed
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### binary

    public Data binary(Data data,
                       int op,
                       MathType new_type,
                       int sampling_mode,
                       int error_mode)
                throws VisADException,
                       RemoteException

  Pointwise binary operation between this and data. Applies to Reals, Tuples (recursively to components), and to Field ranges (Field domains implicitly resampled if necessary). Does not apply to Field domains or Sets (regarded as domains of Fields wthout ranges). Data.ADD is only op defined for Text, interpreted as concatenate. MathTypes of this and data must match, or one may match the range of the other if it is a FunctionType.

  Specified by:
    `binary` in interface `Data`
  Parameters:
    `data` - other Data operand for binary operation
    `op` - may be Data.ADD, Data.SUBTRACT, etc; these include all binary operations defined for Java primitive data types
    `new_type` - 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;
  Returns:
    result, with MathType = new_type
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### add

    public Data add(Data data)
             throws VisADException,
                    RemoteException

  call binary() to add data to this, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `add` in interface `Data`
  Parameters:
    `data` - other Data operand for binary operation
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### subtract

    public Data subtract(Data data)
                  throws VisADException,
                         RemoteException

  call binary() to subtract data from this, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `subtract` in interface `Data`
  Parameters:
    `data` - other Data operand for binary operation
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### multiply

    public Data multiply(Data data)
                  throws VisADException,
                         RemoteException

  call binary() to multiply this by data, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `multiply` in interface `Data`
  Parameters:
    `data` - other Data operand for binary operation
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### divide

    public Data divide(Data data)
                throws VisADException,
                       RemoteException

  call binary() to divide this by data, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `divide` in interface `Data`
  Parameters:
    `data` - other Data operand for binary operation
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### pow

    public Data pow(Data data)
             throws VisADException,
                    RemoteException

  call binary() to raise this to data power, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `pow` in interface `Data`
  Parameters:
    `data` - other Data operand for binary operation
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### max

    public Data max(Data data)
             throws VisADException,
                    RemoteException

  call binary() to take the max of this and data, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `max` in interface `Data`
  Parameters:
    `data` - other Data operand for binary operation
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### min

    public Data min(Data data)
             throws VisADException,
                    RemoteException

  call binary() to take the min of this and data, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `min` in interface `Data`
  Parameters:
    `data` - other Data operand for binary operation
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### atan2

    public Data atan2(Data data)
               throws VisADException,
                      RemoteException

  call binary() to take the atan of this by data producing radian Units, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `atan2` in interface `Data`
  Parameters:
    `data` - other Data operand for binary operation
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### atan2Degrees

    public Data atan2Degrees(Data data)
                      throws VisADException,
                             RemoteException

  call binary() to take the atan of this by data producing degree Units, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `atan2Degrees` in interface `Data`
  Parameters:
    `data` - other Data operand for binary operation
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### remainder

    public Data remainder(Data data)
                   throws VisADException,
                          RemoteException

  call binary() to take the remainder of this divided by data, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `remainder` in interface `Data`
  Parameters:
    `data` - other Data operand for binary operation
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### add

    public Data add(Data data,
                    int sampling_mode,
                    int error_mode)
             throws VisADException,
                    RemoteException

  call binary() to add data to this

  Specified by:
    `add` in interface `Data`
  Parameters:
    `data` - other Data operand for binary operation
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### subtract

    public Data subtract(Data data,
                         int sampling_mode,
                         int error_mode)
                  throws VisADException,
                         RemoteException

  call binary() to subtract data from this

  Specified by:
    `subtract` in interface `Data`
  Parameters:
    `data` - other Data operand for binary operation
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### multiply

    public Data multiply(Data data,
                         int sampling_mode,
                         int error_mode)
                  throws VisADException,
                         RemoteException

  call binary() to multiply this by data

  Specified by:
    `multiply` in interface `Data`
  Parameters:
    `data` - other Data operand for binary operation
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### divide

    public Data divide(Data data,
                       int sampling_mode,
                       int error_mode)
                throws VisADException,
                       RemoteException

  call binary() to divide this by data

  Specified by:
    `divide` in interface `Data`
  Parameters:
    `data` - other Data operand for binary operation
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### pow

    public Data pow(Data data,
                    int sampling_mode,
                    int error_mode)
             throws VisADException,
                    RemoteException

  call binary() to raise this to data power

  Specified by:
    `pow` in interface `Data`
  Parameters:
    `data` - other Data operand for binary operation
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### max

    public Data max(Data data,
                    int sampling_mode,
                    int error_mode)
             throws VisADException,
                    RemoteException

  call binary() to take the max of this and data

  Specified by:
    `max` in interface `Data`
  Parameters:
    `data` - other Data operand for binary operation
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### min

    public Data min(Data data,
                    int sampling_mode,
                    int error_mode)
             throws VisADException,
                    RemoteException

  call binary() to take the min of this and data

  Specified by:
    `min` in interface `Data`
  Parameters:
    `data` - other Data operand for binary operation
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### atan2

    public Data atan2(Data data,
                      int sampling_mode,
                      int error_mode)
               throws VisADException,
                      RemoteException

  call binary() to take the atan of this by data producing radian Units

  Specified by:
    `atan2` in interface `Data`
  Parameters:
    `data` - other Data operand for binary operation
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### atan2Degrees

    public Data atan2Degrees(Data data,
                             int sampling_mode,
                             int error_mode)
                      throws VisADException,
                             RemoteException

  call binary() to take the atan of this by data producing degree Units

  Specified by:
    `atan2Degrees` in interface `Data`
  Parameters:
    `data` - other Data operand for binary operation
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### remainder

    public Data remainder(Data data,
                          int sampling_mode,
                          int error_mode)
                   throws VisADException,
                          RemoteException

  call binary() to take the remainder of this divided by data

  Specified by:
    `remainder` in interface `Data`
  Parameters:
    `data` - other Data operand for binary operation
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### unary

    public Data unary(int op,
                      int sampling_mode,
                      int error_mode)
               throws VisADException,
                      RemoteException

  Pointwise unary operation applied to this. Applies to Reals, Tuples (recursively to components), and to Field ranges (Field domains implicitly resampled if necessary). Does not apply to Field domains, Sets (regarded as domains of Fields wthout ranges) or Text.

  Specified by:
    `unary` in interface `Data`
  Parameters:
    `op` - may be Data.ABS, Data.ACOS, etc; these include all unary operations defined for Java primitive data types
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation, which takes the MathType of this unless the default Units of that MathType conflict with Units of the result, in which case a generic MathType with appropriate Units is constructed
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### unary

    public Data unary(int op,
                      MathType new_type,
                      int sampling_mode,
                      int error_mode)
               throws VisADException,
                      RemoteException

  Pointwise unary operation applied to this. Applies to Reals, Tuples (recursively to components), and to Field ranges (Field domains implicitly resampled if necessary). Does not apply to Field domains, Sets (regarded as domains of Fields wthout ranges) or Text.

  Specified by:
    `unary` in interface `Data`
  Parameters:
    `op` - may be Data.ABS, Data.ACOS, etc; these include all unary operations defined for Java primitive data types
    `new_type` - 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;
  Returns:
    result, with MathType = new_type
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### changeMathType

    public Data changeMathType(MathType new_type)
                        throws VisADException,
                               RemoteException

  call unary() to clone this except with a new MathType

  Specified by:
    `changeMathType` in interface `Data`
  Parameters:
    `new_type` - MathType of returned Data object
  Returns:
    clone of this Data object except with new MathType
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### abs

    public Data abs()
             throws VisADException,
                    RemoteException

  call unary() to take the absolute value of this, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `abs` in interface `Data`
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### acos

    public Data acos()
              throws VisADException,
                     RemoteException

  call unary() to take the arccos of this producing radian Units, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `acos` in interface `Data`
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### acosDegrees

    public Data acosDegrees()
                     throws VisADException,
                            RemoteException

  call unary() to take the arccos of this producing degree Units, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `acosDegrees` in interface `Data`
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### asin

    public Data asin()
              throws VisADException,
                     RemoteException

  call unary() to take the arcsin of this producing radian Units, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `asin` in interface `Data`
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### asinDegrees

    public Data asinDegrees()
                     throws VisADException,
                            RemoteException

  call unary() to take the arcsin of this producing degree Units, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `asinDegrees` in interface `Data`
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### atan

    public Data atan()
              throws VisADException,
                     RemoteException

  call unary() to take the arctan of this producing radian Units, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `atan` in interface `Data`
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### atanDegrees

    public Data atanDegrees()
                     throws VisADException,
                            RemoteException

  call unary() to take the arctan of this producing degree Units, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `atanDegrees` in interface `Data`
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### ceil

    public Data ceil()
              throws VisADException,
                     RemoteException

  call unary() to take the ceiling of this, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `ceil` in interface `Data`
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### cos

    public Data cos()
             throws VisADException,
                    RemoteException

  call unary() to take the cos of this assuming radian Units unless this actual Units are degrees, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `cos` in interface `Data`
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### cosDegrees

    public Data cosDegrees()
                    throws VisADException,
                           RemoteException

  call unary() to take the cos of this assuming degree Units unless this actual Units are radians, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `cosDegrees` in interface `Data`
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### exp

    public Data exp()
             throws VisADException,
                    RemoteException

  call unary() to take the exponent of this, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `exp` in interface `Data`
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### floor

    public Data floor()
               throws VisADException,
                      RemoteException

  call unary() to take the floor of this, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `floor` in interface `Data`
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### log

    public Data log()
             throws VisADException,
                    RemoteException

  call unary() to take the log of this, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `log` in interface `Data`
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### rint

    public Data rint()
              throws VisADException,
                     RemoteException

  call unary() to take the rint (essentially round) of this, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `rint` in interface `Data`
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### round

    public Data round()
               throws VisADException,
                      RemoteException

  call unary() to take the round of this, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `round` in interface `Data`
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### sin

    public Data sin()
             throws VisADException,
                    RemoteException

  call unary() to take the sin of this assuming radian Units unless this actual Units are degrees, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `sin` in interface `Data`
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### sinDegrees

    public Data sinDegrees()
                    throws VisADException,
                           RemoteException

  call unary() to take the sin of this assuming degree Units unless this actual Units are radians, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `sinDegrees` in interface `Data`
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### sqrt

    public Data sqrt()
              throws VisADException,
                     RemoteException

  call unary() to take the square root of this, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `sqrt` in interface `Data`
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### tan

    public Data tan()
             throws VisADException,
                    RemoteException

  call unary() to take the tan of this assuming radian Units unless this actual Units are degrees, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `tan` in interface `Data`
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### tanDegrees

    public Data tanDegrees()
                    throws VisADException,
                           RemoteException

  call unary() to take the tan of this assuming degree Units unless this actual Units are radians, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `tanDegrees` in interface `Data`
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### negate

    public Data negate()
                throws VisADException,
                       RemoteException

  call unary() to negate this, using default modes for sampling (Data.NEAREST_NEIGHBOR) and error estimation (Data.NO_ERRORS)

  Specified by:
    `negate` in interface `Data`
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### abs

    public Data abs(int sampling_mode,
                    int error_mode)
             throws VisADException,
                    RemoteException

  call unary() to take the absolute value of this

  Specified by:
    `abs` in interface `Data`
  Parameters:
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### acos

    public Data acos(int sampling_mode,
                     int error_mode)
              throws VisADException,
                     RemoteException

  call unary() to take the arccos of this producing radian Units

  Specified by:
    `acos` in interface `Data`
  Parameters:
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### acosDegrees

    public Data acosDegrees(int sampling_mode,
                            int error_mode)
                     throws VisADException,
                            RemoteException

  call unary() to take the arccos of this producing degree Units

  Specified by:
    `acosDegrees` in interface `Data`
  Parameters:
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### asin

    public Data asin(int sampling_mode,
                     int error_mode)
              throws VisADException,
                     RemoteException

  call unary() to take the arcsin of this producing radian Units

  Specified by:
    `asin` in interface `Data`
  Parameters:
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### asinDegrees

    public Data asinDegrees(int sampling_mode,
                            int error_mode)
                     throws VisADException,
                            RemoteException

  call unary() to take the arcsin of this producing degree Units

  Specified by:
    `asinDegrees` in interface `Data`
  Parameters:
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### atan

    public Data atan(int sampling_mode,
                     int error_mode)
              throws VisADException,
                     RemoteException

  call unary() to take the arctan of this producing radian Units

  Specified by:
    `atan` in interface `Data`
  Parameters:
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### atanDegrees

    public Data atanDegrees(int sampling_mode,
                            int error_mode)
                     throws VisADException,
                            RemoteException

  call unary() to take the arctan of this producing degree Units

  Specified by:
    `atanDegrees` in interface `Data`
  Parameters:
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### ceil

    public Data ceil(int sampling_mode,
                     int error_mode)
              throws VisADException,
                     RemoteException

  call unary() to take the ceiling of this

  Specified by:
    `ceil` in interface `Data`
  Parameters:
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### cos

    public Data cos(int sampling_mode,
                    int error_mode)
             throws VisADException,
                    RemoteException

  call unary() to take the cos of this assuming radian Units unless this actual Units are degrees

  Specified by:
    `cos` in interface `Data`
  Parameters:
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### cosDegrees

    public Data cosDegrees(int sampling_mode,
                           int error_mode)
                    throws VisADException,
                           RemoteException

  call unary() to take the cos of this assuming degree Units unless this actual Units are radians

  Specified by:
    `cosDegrees` in interface `Data`
  Parameters:
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### exp

    public Data exp(int sampling_mode,
                    int error_mode)
             throws VisADException,
                    RemoteException

  call unary() to take the exponent of this

  Specified by:
    `exp` in interface `Data`
  Parameters:
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### floor

    public Data floor(int sampling_mode,
                      int error_mode)
               throws VisADException,
                      RemoteException

  call unary() to take the floor of this

  Specified by:
    `floor` in interface `Data`
  Parameters:
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### log

    public Data log(int sampling_mode,
                    int error_mode)
             throws VisADException,
                    RemoteException

  call unary() to take the log of this

  Specified by:
    `log` in interface `Data`
  Parameters:
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### rint

    public Data rint(int sampling_mode,
                     int error_mode)
              throws VisADException,
                     RemoteException

  call unary() to take the rint (essentially round) of this

  Specified by:
    `rint` in interface `Data`
  Parameters:
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### round

    public Data round(int sampling_mode,
                      int error_mode)
               throws VisADException,
                      RemoteException

  call unary() to take the round of this

  Specified by:
    `round` in interface `Data`
  Parameters:
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### sin

    public Data sin(int sampling_mode,
                    int error_mode)
             throws VisADException,
                    RemoteException

  call unary() to take the sin of this assuming radian Units unless this actual Units are degrees

  Specified by:
    `sin` in interface `Data`
  Parameters:
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### sinDegrees

    public Data sinDegrees(int sampling_mode,
                           int error_mode)
                    throws VisADException,
                           RemoteException

  call unary() to take the sin of this assuming degree Units unless this actual Units are radians

  Specified by:
    `sinDegrees` in interface `Data`
  Parameters:
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### sqrt

    public Data sqrt(int sampling_mode,
                     int error_mode)
              throws VisADException,
                     RemoteException

  call unary() to take the square root of this

  Specified by:
    `sqrt` in interface `Data`
  Parameters:
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### tan

    public Data tan(int sampling_mode,
                    int error_mode)
             throws VisADException,
                    RemoteException

  call unary() to take the tan of this assuming radian Units unless this actual Units are degrees

  Specified by:
    `tan` in interface `Data`
  Parameters:
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### tanDegrees

    public Data tanDegrees(int sampling_mode,
                           int error_mode)
                    throws VisADException,
                           RemoteException

  call unary() to take the tan of this assuming degree Units unless this actual Units are radians

  Specified by:
    `tanDegrees` in interface `Data`
  Parameters:
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### negate

    public Data negate(int sampling_mode,
                       int error_mode)
                throws VisADException,
                       RemoteException

  call unary() to negate this

  Specified by:
    `negate` in interface `Data`
  Parameters:
    `sampling_mode` - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    result of operation
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### invertOp

    static int invertOp(int op)
                 throws VisADException

  returns new binary operator equivalent to op with order of operands reversed

  Parameters:
    `op` - an integer interpreted as an 'op' argument to binary()
  Returns:
    an 'op' argument to binary() with order of operands reversed
  Throws:
    `VisADException` - a VisAD error occurred

### computeRanges

    public double[][] computeRanges(RealType[] reals)
                             throws VisADException,
                                    RemoteException

  compute ranges of values in this of given RealTypes, using a dummy DisplayImplJ2D

  Specified by:
    `computeRanges` in interface `Data`
  Returns:
    double[reals.length][2] giving the low and high value in this for each RealType in reals
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### computeRanges

    public DataShadow computeRanges(ShadowType type,
                                    int n)
                             throws VisADException,
                                    RemoteException

  Compute ranges of values for each of 'n' RealTypes in DisplayImpl.RealTypeVector. Called from DataRenderer with n = DisplayImpl.getScalarCount().

  Specified by:
    `computeRanges` in interface `Data`
  Parameters:
    `type` - ShadowType generated for MathType of this
    `n` - number of RealTypes in DisplayImpl.RealTypeVector
  Returns:
    DataShadow instance containing double[][] array of RealType ranges, and an animation sampling Set
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### computeReferenceRanges

    DataShadow computeReferenceRanges(ShadowRealTupleType shad_type,
                                      CoordinateSystem coord_in,
                                      Unit[] units_in,
                                      DataShadow shadow,
                                      ShadowRealTupleType shad_ref,
                                      double[][] ranges)
                                throws VisADException

  called by computeRanges() from RealTuple, SampledSet and FlatField (used for range RealTuple in FlatField, domain is handled by recursive domain Set call computeRanges()) to recursively compute ranges of reference RealTupleType

  Parameters:
    `shad_type` - ShadowRealTupleType of refering RealTuple (refering RealTuple is implicit in cases of SampledSet and FlatField)
    `coord_in` - CoordinateSystem connecting refering and reference RealTuples
    `units_in` - default Units for RealTypes in refering RealTuple
    `shadow` - DataShadow instance whose contained double[][] array and animation sampling Set are modified according to RealType values in reference RealTupleType, and used as return value
    `shad_ref` - ShadowRealTupleType of reference RealTupleType
    `ranges` - RealType value ranges in refering RealTuple
  Returns:
    DataShadow instance containing double[][] array of RealType ranges, and an animation sampling Set
  Throws:
    `VisADException` - a VisAD error occurred

### adjustSamplingError

    public Data adjustSamplingError(Data error,
                                    int error_mode)
                             throws VisADException,
                                    RemoteException

  return a clone of this, except with ErrorEstimates combined with values in error, according to error_mode

  Specified by:
    `adjustSamplingError` in interface `Data`
  Parameters:
    `error` -
    `error_mode` - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
  Returns:
    clone of this, except with ErrorEstimates set according to values in error
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### __add__

    public Data __add__(Data data)
                 throws VisADException,
                        RemoteException

  A wrapper around `add` for JPython

  Throws:
    `VisADException`
    `RemoteException`

### __sub__

    public Data __sub__(Data data)
                 throws VisADException,
                        RemoteException

  A wrapper around `subtract` for JPython

  Throws:
    `VisADException`
    `RemoteException`

### __mul__

    public Data __mul__(Data data)
                 throws VisADException,
                        RemoteException

  A wrapper around `multiply` for JPython

  Throws:
    `VisADException`
    `RemoteException`

### __div__

    public Data __div__(Data data)
                 throws VisADException,
                        RemoteException

  A wrapper around `divide` for JPython

  Throws:
    `VisADException`
    `RemoteException`

### __pow__

    public Data __pow__(Data data)
                 throws VisADException,
                        RemoteException

  A wrapper around `pow` for JPython

  Throws:
    `VisADException`
    `RemoteException`

### __mod__

    public Data __mod__(Data data)
                 throws VisADException,
                        RemoteException

  A wrapper around `remainder` for JPython

  Throws:
    `VisADException`
    `RemoteException`

### __neg__

    public Data __neg__()
                 throws VisADException,
                        RemoteException

  A wrapper around `negate` for JPython

  Throws:
    `VisADException`
    `RemoteException`

### __add__

    public Data __add__(double data)
                 throws VisADException,
                        RemoteException

  A wrapper around `__add__` for JPython

  Throws:
    `VisADException`
    `RemoteException`

### __radd__

    public Data __radd__(double data)
                  throws VisADException,
                         RemoteException

  A wrapper around `__add__` for JPython

  Throws:
    `VisADException`
    `RemoteException`

### __sub__

    public Data __sub__(double data)
                 throws VisADException,
                        RemoteException

  A wrapper around `__sub__` for JPython

  Throws:
    `VisADException`
    `RemoteException`

### __rsub__

    public Data __rsub__(double data)
                  throws VisADException,
                         RemoteException

  A wrapper around `__sub__` for JPython

  Throws:
    `VisADException`
    `RemoteException`

### __mul__

    public Data __mul__(double data)
                 throws VisADException,
                        RemoteException

  A wrapper around `__mul__` for JPython

  Throws:
    `VisADException`
    `RemoteException`

### __rmul__

    public Data __rmul__(double data)
                  throws VisADException,
                         RemoteException

  A wrapper around `__mul__` for JPython

  Throws:
    `VisADException`
    `RemoteException`

### __div__

    public Data __div__(double data)
                 throws VisADException,
                        RemoteException

  A wrapper around `__div__` for JPython

  Throws:
    `VisADException`
    `RemoteException`

### __rdiv__

    public Data __rdiv__(double data)
                  throws VisADException,
                         RemoteException

  A wrapper around `__div__` for JPython

  Throws:
    `VisADException`
    `RemoteException`

### __pow__

    public Data __pow__(double data)
                 throws VisADException,
                        RemoteException

  A wrapper around `__pow__` for JPython For low powers, do the multiply directly to preserve units.

  Throws:
    `VisADException`
    `RemoteException`

### __rpow__

    public Data __rpow__(double data)
                  throws VisADException,
                         RemoteException

  A wrapper around `__pow__` for JPython

  Throws:
    `VisADException`
    `RemoteException`

### __mod__

    public Data __mod__(double data)
                 throws VisADException,
                        RemoteException

  A wrapper around `__mod__` for JPython

  Throws:
    `VisADException`
    `RemoteException`

### __rmod__

    public Data __rmod__(double data)
                  throws VisADException,
                         RemoteException

  A wrapper around `__mod__` for JPython

  Throws:
    `VisADException`
    `RemoteException`

### dataClone

    public Object dataClone()

  A VisAD adaptation of clone that works for local or remote Data. Catches CloneNotSupportedException and throws message in a RuntimeException.

  Specified by:
    `dataClone` in interface `Data`
  Returns:
    for DataImpl return clone(), and for RemoteDataImpl return clone() inherited from UnicastRemoteObject

### clone

    public Object clone()
                 throws CloneNotSupportedException

  Clones this instance. Information on the parent object of this instance is not cloned, so -- following the general contract of the `clone()` method -- subclasses should not test for equality of the parent object in any `equals(Object)` method.

  This implementation never throws `CloneNotSupportedException`.

  Overrides:
    `clone` in class `ThingImpl`
  Returns:
    A clone of this instance.
  Throws:
    `CloneNotSupportedException` - if cloning isn't supported.

### toString

    public String toString()

  Returns:
    a String representation of this

### longString

    public String longString()
                      throws VisADException,
                             RemoteException

  Specified by:
    `longString` in interface `Data`
  Returns:
    a longer String than returned by toString()
  Throws:
    `VisADException`
    `RemoteException`

### longString

    public String longString(String pre)
                      throws VisADException,
                             RemoteException

  Specified by:
    `longString` in interface `Data`
  Parameters:
    `pre` - String added to start of each line
  Returns:
    a longer String than returned by toString(), indented by pre (a string of blanks)
  Throws:
    `VisADException`
    `RemoteException`

### main

    public static void main(String[] args)
                     throws VisADException,
                            RemoteException

  Simple DataImpl test, invoked as 'java visad.DataImpl'.

  Parameters:
    `args` - array of command line arguments (not used)
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred