tech.v3.datatype.reductions

High performance reductions based on tech.v3.datatype concepts as well as java stream concepts.

checked-binary-merge

macro

(checked-binary-merge lvar rvar code)

commutative-binary-double

(commutative-binary-double op options rdr)(commutative-binary-double op rdr)

Perform a commutative reduction using a binary operator to perform the reduction. The operator needs to be both commutative and associative.

commutative-binary-long

(commutative-binary-long op rdr)

Perform a commutative reduction in int64 space using a binary operator. The operator needs to be both commutative and associative.

commutative-binary-reduce

(commutative-binary-reduce op data)

double-summation

(double-summation options rdr)(double-summation rdr)

Double sum of data using Kahan compensated summation.

nan-strategies

reducer-value->consumer-fn

(reducer-value->consumer-fn reducer-value)

Produce a consumer from a generic reducer value.

staged-double-consumer-reduction

(staged-double-consumer-reduction staged-consumer-fn options rdr)(staged-double-consumer-reduction staged-consumer-fn rdr)

A staged consumer is a consumer can be used in a map-reduce pathway where during the map portion .consume is called and then during produces a 'result' on which .combine is called during the reduce pathway.

See options for ham-fisted/preduce.

unary-double-summation

(unary-double-summation op options rdr)(unary-double-summation op rdr)

Perform a double summation using a unary operator to transform the input stream into a new double stream.