Logo Mibo

ReduceNode<'T> Type

Specialized adaptive node that reduces N dependencies using a binary operation. Optimized for aggregation patterns like sum, product, min, max.

Performance characteristics:

  • Single node instead of O(N) nodes from chained operations
  • No intermediate array allocation (unlike MapNNode)
  • 3-100× faster than equivalent map2 chains for 10-500 inputs
  • Constant memory overhead regardless of input count

Empty array behavior: Returns the init value when there are no dependencies.

Reduction semantics: Values are reduced left-to-right: reduce(reduce(reduce(init, v0), v1), v2) ... For associative operations (addition, multiplication), order doesn't matter.

Internal implementation detail: Created via AVal.reduce or AVal.sum.

Constructors

Constructor Description

ReduceNode(deps, init, reduce)

Full Usage: ReduceNode(deps, init, reduce)

Parameters:
Returns: ReduceNode<'T>
deps : IAdaptiveValue<'T>[]
init : 'T
reduce : 'T -> 'T -> 'T
Returns: ReduceNode<'T>

Type something to start searching.