Versions in this module Expand all Collapse all v0 v0.1.0 Jul 28, 2026 Changes in this version + func BitwiseAnd[T Integer](left, right T) T + func BitwiseOr[T Integer](left, right T) T + func BitwiseXor[T Integer](left, right T) T + func Max[T Number](left, right T) T + func Min[T Number](left, right T) T + func Product[T Number](left, right T) T + func Sum[T Number](left, right T) T + type ApplyFunc func(update U, aggregate T, length int) T + type CombineFunc func(left, right T) T + type ComposeFunc func(newer, older U) U + type DynamicTree struct + func NewDynamic[T any](lower, upper int64, identity T, combine CombineFunc[T]) *DynamicTree[T] + func (t *DynamicTree[T]) All() T + func (t *DynamicTree[T]) Allocated() int + func (t *DynamicTree[T]) At(index int64) T + func (t *DynamicTree[T]) Bounds() (lower, upper int64) + func (t *DynamicTree[T]) MaxRight(left int64, predicate func(T) bool) int64 + func (t *DynamicTree[T]) MinLeft(right int64, predicate func(T) bool) int64 + func (t *DynamicTree[T]) Query(left, right int64) T + func (t *DynamicTree[T]) Set(index int64, value T) + type Float interface + type Integer interface + type LazyTree struct + func NewLazySize[T, U any](n int, identity T, combine CombineFunc[T], updateIdentity U, ...) *LazyTree[T, U] + func NewLazy[T, U any](values []T, identity T, combine CombineFunc[T], updateIdentity U, ...) *LazyTree[T, U] + func (t *LazyTree[T, U]) All() T + func (t *LazyTree[T, U]) At(i int) T + func (t *LazyTree[T, U]) Len() int + func (t *LazyTree[T, U]) MaxRight(left int, predicate func(T) bool) int + func (t *LazyTree[T, U]) MinLeft(right int, predicate func(T) bool) int + func (t *LazyTree[T, U]) Query(left, right int) T + func (t *LazyTree[T, U]) RangeApply(left, right int, update U) + func (t *LazyTree[T, U]) Set(i int, value T) + type Number interface + type Tree struct + func NewSize[T any](n int, identity T, combine CombineFunc[T]) *Tree[T] + func New[T any](values []T, identity T, combine CombineFunc[T]) *Tree[T] + func (t *Tree[T]) All() T + func (t *Tree[T]) At(i int) T + func (t *Tree[T]) Len() int + func (t *Tree[T]) MaxRight(left int, predicate func(T) bool) int + func (t *Tree[T]) MinLeft(right int, predicate func(T) bool) int + func (t *Tree[T]) Query(left, right int) T + func (t *Tree[T]) Set(i int, value T)