Arithmetic operations

Table of Contents

There are a few arithmetic operations are defined for certain types. It is mainly the syntactic sugar for map and merge operations, anyway can be useful sometimes to use therm instead.

Sample stream operations

Sample stream BeanStream<Sample> you can sum, subtract, multiply and divide with another sample stream:

sampleStream1 + sampleStream2
sampleStream1 - sampleStream2
sampleStream1 * sampleStream2
sampleStream1 / sampleStream2

That means both stream are going to be merged together and specified operation will be used as a merge operation.

Windowed sample stream operations

Windowed sample stream BeanStream<Window<Sample>> you canl sub, subtract, multiply and divide with another stream as well as with scalar value.

windowSampleStream1 + windowSampleStream2
windowSampleStream1 - windowSampleStream2
windowSampleStream1 * windowSampleStream2
windowSampleStream1 / windowSampleStream2

windowSampleStream1 + scalarValue
windowSampleStream1 - scalarValue
windowSampleStream1 * scalarValue
windowSampleStream1 / scalarValue

Arithmetic operation over two stream is a wrapper over merge operation, as limitation for merging windowed stream window should have similar characteristics. Operation with scalar is a wrapper over map operation.