Vector aggregates

Internal helpers for reduce-based aggregates.

pub fn sum_of(v: vector<integer>) -> integer

Sum of all integer elements. Returns 0 for an empty vector.

pub fn min_of<T: Ordered>(v: vector<T>) -> T

Smallest element in a non-empty vector. Works on any type satisfying Ordered (op <).

pub fn max_of<T: Ordered>(v: vector<T>) -> T

Largest element in a non-empty vector. Works on any type satisfying Ordered (op <).

pub fn sum<T: Addable>(v: vector<T>, init: T) -> T

Sum of vector elements with caller-supplied identity. Works on any Addable type. Example: sum([10, 20, 12], 0) == 42