## org.das2.qds.ops.OpsParl

## applyBinaryOp

applyBinaryOp( QDataSet ds1, QDataSet ds2, org.das2.qds.ops.OpsParl.BinaryOp op ) → org.das2.qds.MutablePropertyDataSet

apply the binary operator element-for-element of the two datasets, minding dataset geometry, fill values, etc. The two datasets are coerced to compatible geometry, if possible (e.g.Temperature[Time]+2deg), using CoerceUtil.coerce. Structural metadata such as DEPEND_0 are preserved where this is reasonable, and dimensional metadata such as UNITS are dropped.

### Parameters

ds1 - the first argument
ds2 - the second argument
op - binary operation for each pair of elements

### Returns:

the result with the same geometry as the pair.
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## applyBinaryOpNoIter

applyBinaryOpNoIter( QDataSet ds1, QDataSet ds2, org.das2.qds.ops.OpsParl.BinaryOp op ) → org.das2.qds.MutablePropertyDataSet

apply the binary operator element-for-element of the two datasets, minding dataset geometry, fill values, etc. The two datasets are coerced to compatible geometry, if possible (e.g.Temperature[Time]+2deg), using CoerceUtil.coerce. Structural metadata such as DEPEND_0 are preserved where this is reasonable, and dimensional metadata such as UNITS are dropped. This implementation avoids the use of DataSetIterators, which have been shown to be slow. (But it's not known why.)

### Parameters

ds1 - the first argument
ds2 - the second argument
op - binary operation for each pair of elements

### Returns:

the result with the same geometry as the pair.
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## applyBinaryOpParl

applyBinaryOpParl( QDataSet ds1, QDataSet ds2, org.das2.qds.ops.OpsParl.BinaryOp op ) → org.das2.qds.MutablePropertyDataSet

apply the binary operator element-for-element of the two datasets, minding dataset geometry, fill values, etc. The two datasets are coerced to compatible geometry, if possible (e.g.Temperature[Time]+2deg), using CoerceUtil.coerce. Structural metadata such as DEPEND_0 are preserved where this is reasonable, and dimensional metadata such as UNITS are dropped. This implementation runs the trivially parallelizable task on separate threads.

### Parameters

ds1 - the first argument
ds2 - the second argument
op - binary operation for each pair of elements

### Returns:

the result with the same geometry as the pair.
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## eq

eq( QDataSet ds1, QDataSet ds2 ) → QDataSet

element-wise equality test. 1.0 is returned where the two datasets are equal. Fill is returned where either measurement is invalid.

### Parameters

ds1 - rank n dataset
ds2 - rank m dataset with compatible geometry.

### Returns:

rank n or m dataset.
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## eq_noiter

eq_noiter( QDataSet ds1, QDataSet ds2 ) → QDataSet

element-wise equality test. 1.0 is returned where the two datasets are equal. Fill is returned where either measurement is invalid.

### Parameters

ds1 - rank n dataset
ds2 - rank m dataset with compatible geometry.

### Returns:

rank n or m dataset.
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## eq_parl

eq_parl( QDataSet ds1, QDataSet ds2 ) → QDataSet

element-wise equality test. 1.0 is returned where the two datasets are equal. Fill is returned where either measurement is invalid.

### Parameters

ds1 - rank n dataset
ds2 - rank m dataset with compatible geometry.

### Returns:

rank n or m dataset.
[search for examples] [view on GitHub] [view on old javadoc] [view source]