ham-fisted.spliterator

Support for spliterator reduction and parallel reduction.

->spliterator

(->spliterator ii)

deref-consumer

macro

(deref-consumer varname accept-code deref-code)

Create a Consumer with support for IDeref

deref-double-consumer

macro

(deref-double-consumer varname accept-code deref-code)

Create a DoubleConsumer with support for IDeref

deref-long-consumer

macro

(deref-long-consumer varname accept-code deref-code)

Create a LongConsumer with support for IDeref

elements

(elements data)

Return all the elements referenced by this spliterator as a persistent list

psum

(psum vv)

spliterator based parallel summation - does not account for Double/NaN

split-parallel-reduce

(split-parallel-reduce executor-service split ideal-split init-fn rfn merge-fn)

Perform a parallel reduction of a spliterator using the provided ExecutorService

split-reduce

(split-reduce rfn split)(split-reduce rfn acc split)

Reduce over a spliterator. Special support exists for IFn$LLL and IFn$DDD

split-to-max-size

(split-to-max-size split max-size op)

sum-fast

(sum-fast vv)

spliterator based serial summation