Documentation
¶
Index ¶
- func CompareNumber[ValType Number](a, b ValType) int
- func CreateComparatorAny[V any]() func(v1, v2 V) int
- type ArrayData
- func (s *ArrayData[Data, Index]) First(idx Index) (*Data, error)
- func (s *ArrayData[Data, Index]) Get(periodStart, periodEnd Index) ([]Data, error)
- func (s *ArrayData[Data, Index]) GetEndOpen(periodStart, periodEnd Index) ([]Data, error)
- func (s *ArrayData[Data, Index]) Last(idx Index) (*Data, error)
- func (s *ArrayData[Data, Index]) Merge(data []Data) error
- func (s *ArrayData[Data, Index]) String() string
- type MissingPeriodError
- type Number
- type PeriodBounds
- type Series
- func (s *Series[Data, Index]) AddData(data []Data) error
- func (s *Series[Data, Index]) AddPeriod(periodStart, periodEnd Index, data []Data) error
- func (s *Series[Data, Index]) Get(periodStart, periodEnd Index) ([]Data, error)
- func (s *Series[Data, Index]) GetAllSegments() []*SeriesSegment[Data, Index]
- func (s *Series[Data, Index]) GetPeriod(periodStart, periodEnd Index) *SeriesSegment[Data, Index]
- func (s *Series[Data, Index]) GetPeriodClosestFromEnd(t Index, nonEmpty bool) *SeriesSegment[Data, Index]
- func (s *Series[Data, Index]) GetPeriodClosestFromStart(t Index, nonEmpty bool) *SeriesSegment[Data, Index]
- func (s *Series[Data, Index]) GetSegment(t Index) *SeriesSegment[Data, Index]
- func (s *Series[Data, Index]) Restore(state *SeriesState[Data, Index]) error
- func (s *Series[Data, Index]) Segments() []*SeriesSegment[Data, Index]
- func (s *Series[Data, Index]) SegmentsString() string
- type SeriesData
- type SeriesDataFactory
- type SeriesSegment
- func (e *SeriesSegment[Data, Index]) CanBeMergedWith(t Index) bool
- func (e *SeriesSegment[Data, Index]) ContainsPoint(t Index) bool
- func (e *SeriesSegment[Data, Index]) First() (*Data, error)
- func (e *SeriesSegment[Data, Index]) GetAll() ([]Data, error)
- func (e *SeriesSegment[Data, Index]) GetAllInRange(minPeriodStart, maxPeriodEnd Index) (fetchedPeriodStart, fetchedPeriodEnd Index, data []Data, _ error)
- func (e *SeriesSegment[Data, Index]) Last() (*Data, error)
- func (e *SeriesSegment[Data, Index]) MergeData(data []Data) error
- func (e *SeriesSegment[Data, Index]) MergePeriod(periodStart, periodEnd Index, data []Data) error
- func (e *SeriesSegment[Data, Index]) Restore(f *SeriesSegmentFields[Data, Index])
- type SeriesSegmentFields
- type SeriesState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CompareNumber ¶
func CreateComparatorAny ¶
Types ¶
type ArrayData ¶
func (*ArrayData[Data, Index]) GetEndOpen ¶
type MissingPeriodError ¶
type MissingPeriodError[Index any] struct { PeriodStart Index PeriodEnd Index }
func (*MissingPeriodError[Index]) Error ¶
func (e *MissingPeriodError[Index]) Error() string
type Number ¶
type Number interface { constraints.Integer | constraints.Float }
type PeriodBounds ¶
type PeriodBounds[Index any] struct { PeriodStart Index PeriodEnd Index }
type Series ¶
func (*Series[Data, Index]) GetAllSegments ¶ added in v1.0.1
func (s *Series[Data, Index]) GetAllSegments() []*SeriesSegment[Data, Index]
func (*Series[Data, Index]) GetPeriod ¶
func (s *Series[Data, Index]) GetPeriod(periodStart, periodEnd Index) *SeriesSegment[Data, Index]
func (*Series[Data, Index]) GetPeriodClosestFromEnd ¶
func (s *Series[Data, Index]) GetPeriodClosestFromEnd(t Index, nonEmpty bool) *SeriesSegment[Data, Index]
func (*Series[Data, Index]) GetPeriodClosestFromStart ¶
func (s *Series[Data, Index]) GetPeriodClosestFromStart(t Index, nonEmpty bool) *SeriesSegment[Data, Index]
func (*Series[Data, Index]) GetSegment ¶ added in v1.0.1
func (s *Series[Data, Index]) GetSegment(t Index) *SeriesSegment[Data, Index]
func (*Series[Data, Index]) Restore ¶
func (s *Series[Data, Index]) Restore(state *SeriesState[Data, Index]) error
func (*Series[Data, Index]) Segments ¶ added in v1.0.1
func (s *Series[Data, Index]) Segments() []*SeriesSegment[Data, Index]
func (*Series[Data, Index]) SegmentsString ¶ added in v1.0.1
For debugging purposes
type SeriesData ¶
type SeriesData[Data any, Index any] interface { Get(periodStart, periodEnd Index) ([]Data, error) GetEndOpen(periodStart, periodEnd Index) ([]Data, error) Merge(data []Data) error First(idx Index) (*Data, error) Last(idx Index) (*Data, error) }
func NewArrayData ¶
func NewArrayData[Data any, Index any]( getIdx func(data *Data) Index, idxCmp func(idx1, idx2 Index) int, periodStart, periodEnd Index, data []Data, ) (SeriesData[Data, Index], error)
type SeriesDataFactory ¶
type SeriesDataFactory[Data any, Index any] func( getIdx func(data *Data) Index, idxCmp func(idx1, idx2 Index) int, periodStart, periodEnd Index, data []Data, ) (SeriesData[Data, Index], error)
type SeriesSegment ¶ added in v1.0.1
type SeriesSegment[Data any, Index any] struct { SeriesSegmentFields[Data, Index] // contains filtered or unexported fields }
func NewSeriesSegment ¶ added in v1.0.1
func NewSeriesSegment[Data any, Index any]( storageFactory SeriesDataFactory[Data, Index], getIdx func(data *Data) Index, idxCmp func(idx1, idx2 Index) int, areContinuous func(smaller, bigger Index) bool, ) *SeriesSegment[Data, Index]
func (*SeriesSegment[Data, Index]) CanBeMergedWith ¶ added in v1.0.1
func (e *SeriesSegment[Data, Index]) CanBeMergedWith(t Index) bool
func (*SeriesSegment[Data, Index]) ContainsPoint ¶ added in v1.0.1
func (e *SeriesSegment[Data, Index]) ContainsPoint(t Index) bool
func (*SeriesSegment[Data, Index]) First ¶ added in v1.0.1
func (e *SeriesSegment[Data, Index]) First() (*Data, error)
func (*SeriesSegment[Data, Index]) GetAll ¶ added in v1.0.1
func (e *SeriesSegment[Data, Index]) GetAll() ([]Data, error)
func (*SeriesSegment[Data, Index]) GetAllInRange ¶ added in v1.0.1
func (e *SeriesSegment[Data, Index]) GetAllInRange(minPeriodStart, maxPeriodEnd Index) (fetchedPeriodStart, fetchedPeriodEnd Index, data []Data, _ error)
func (*SeriesSegment[Data, Index]) Last ¶ added in v1.0.1
func (e *SeriesSegment[Data, Index]) Last() (*Data, error)
func (*SeriesSegment[Data, Index]) MergeData ¶ added in v1.0.1
func (e *SeriesSegment[Data, Index]) MergeData(data []Data) error
func (*SeriesSegment[Data, Index]) MergePeriod ¶ added in v1.0.1
func (e *SeriesSegment[Data, Index]) MergePeriod(periodStart, periodEnd Index, data []Data) error
func (*SeriesSegment[Data, Index]) Restore ¶ added in v1.0.1
func (e *SeriesSegment[Data, Index]) Restore(f *SeriesSegmentFields[Data, Index])
type SeriesSegmentFields ¶ added in v1.0.1
type SeriesSegmentFields[Data any, Index any] struct { PeriodBounds[Index] Data SeriesData[Data, Index] Empty bool }
type SeriesState ¶ added in v1.0.1
type SeriesState[Data any, Index any] struct { Segments []*SeriesSegmentFields[Data, Index] }
Click to show internal directories.
Click to hide internal directories.