func()

in pkg/math/segments.go [37:51]


func (r Segments) All() chan Segment {
	ch := make(chan Segment)
	go func() {
		for i := AlignDown(r.offset, int64(r.step)); i < r.size; i += int64(r.step) {
			absOffset := Max64(i, r.offset)
			seg := Segment{Index: i, Offset: absOffset - i}
			seg.Count = int(Min64(i+int64(r.step), r.size) - absOffset)
			if seg.Count > 0 {
				ch <- seg
			}
		}
		close(ch)
	}()
	return ch
}