intervals

package
v0.0.25 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 18, 2024 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FindCover

func FindCover[T Number](intervals [][2]T) []T

func FindCover1

func FindCover1[T Number](intervals [][2]T) []T

func FindCover2

func FindCover2[T Number](intervals [][2]T) []T

func FindCover3

func FindCover3[T Number](intervals [][2]T) []T

func FindCover4

func FindCover4[T Number](intervals [][2]T) []T

func Growths

func Growths[T Number](gf GrowFlags, leftBound, leftEdge, growth, rightEdge, rightBound T) (T, T)

Types

type GrowFlags

type GrowFlags int
const (
	GROW_BOTH_OVERFLOW_RIGHT GrowFlags = 0
	GROW_LEFT_OVERFLOW_RIGHT GrowFlags = 1
	GROW_RIGHT_OVERFLOW_LEFT GrowFlags = 2
	GROW_BOTH_OVERFLOW_LEFT  GrowFlags = 3
	GROW_NO_OVERFLOW         GrowFlags = 4
)

type Interval

type Interval[T Number] interface {
	Min() T
	Max() T
	Len() T

	IsEmpty() bool
	IsSingleton() bool
	IsCompound() bool

	Enumerate(step T) []T
	Intervals() []Interval[T]

	Contains(value T) bool
	Overlaps(other Interval[T]) bool
	Equals(other Interval[T]) bool

	Union(other Interval[T]) Interval[T]
	Intersection(other Interval[T]) Interval[T]
	Difference(other Interval[T]) Interval[T]

	Resize(newSize T, growMode GrowFlags) Interval[T]
	Scale(scale float64, growMode GrowFlags) Interval[T]
	Translate(offset T, back bool) Interval[T]
}

func NewClosed

func NewClosed[T Number](min, max T) Interval[T]

func NewEmpty

func NewEmpty[T Number]() Interval[T]

func NewInterval

func NewInterval[T Number](min T, includeMin bool, max T, includeMax bool) Interval[T]

func NewMerged

func NewMerged[T Number](intervals ...Interval[T]) Interval[T]

func NewSingleton

func NewSingleton[T Number](v T) Interval[T]

func RawMerged

func RawMerged[T Number](intervals ...Interval[T]) Interval[T]

type Number

type Number = constraints.Integer

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL