data

package
v0.0.21 Latest Latest
Warning

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

Go to latest
Published: Aug 9, 2019 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const K_MAX = 512 // 32 // 7200

This is set in compile time for optimization const k = 7200 // 1024

View Source
const RefreshPeriod = 30 * time.Second

Variables

This section is empty.

Functions

func CalculateAverage

func CalculateAverage(avg []float64, p []float64, n float64) []float64

func FeatureFromEuclideanKeyValue

func FeatureFromEuclideanKeyValue(key *EuclideanPointKey, value *EuclideanPointValue) *pb.Feature

func FeatureToEuclideanPointKeyValue

func FeatureToEuclideanPointKeyValue(feature *pb.Feature) (*EuclideanPointKey, *EuclideanPointValue)

func InsertionRequestToEuclideanPointKeyValue

func InsertionRequestToEuclideanPointKeyValue(in *pb.InsertionRequest) (*EuclideanPointKey, *EuclideanPointValue)

func NewFeatureFromEuclideanPoint

func NewFeatureFromEuclideanPoint(point *EuclideanPoint) *pb.Feature

func NewFeatureFromPoint

func NewFeatureFromPoint(point kdtree.Point) *pb.Feature

func NewInsertionRequestFromPoint

func NewInsertionRequestFromPoint(point kdtree.Point) *pb.InsertionRequest

func SearchVectorDistance

func SearchVectorDistance(arr1 []float64, arr2 []float64, distance_mode int) float64

func VectorDistance

func VectorDistance(arr1 []float64, arr2 []float64) float64

Types

type Data

type Data struct {
	K           int64
	D           int64
	Avg         []float64
	N           int64
	MaxDistance float64
	Hist        []float64

	IsEvictable bool
	// contains filtered or unexported fields
}

func NewData

func NewData() *Data

func NewTempData

func NewTempData() *Data

func (*Data) Delete

func (dt *Data) Delete(key EuclideanPointKey)

func (*Data) GetAll

func (dt *Data) GetAll(stream pb.VeriService_GetLocalDataServer) error

func (*Data) GetKnn

func (dt *Data) GetKnn(queryK int64, point *EuclideanPoint) ([]*EuclideanPoint, error)

func (*Data) GetKnnBasic

func (dt *Data) GetKnnBasic(queryK int64, vals ...float64) ([]*EuclideanPoint, error)

func (*Data) GetKnnBasicLinear

func (dt *Data) GetKnnBasicLinear(queryK int64, vals ...float64) ([]*EuclideanPoint, error)

func (*Data) GetKnnLinear

func (dt *Data) GetKnnLinear(queryK int64, point *EuclideanPoint) ([]*EuclideanPoint, error)

func (*Data) GetRandomPoints

func (dt *Data) GetRandomPoints(limit int) []kdtree.Point

func (*Data) GetStats

func (dt *Data) GetStats() *Stats

func (*Data) Insert

func (dt *Data) Insert(key *EuclideanPointKey, value *EuclideanPointValue)

Insert entry into the data

func (*Data) InsertBasic

func (dt *Data) InsertBasic(label string, vals ...float64)

func (*Data) Process

func (dt *Data) Process(force bool) error

func (*Data) Run

func (dt *Data) Run() error

func (*Data) SetupRun added in v0.0.20

func (dt *Data) SetupRun()

type DataPoint

type DataPoint struct {
	Distance float64
	Point    *EuclideanPoint
}

type EuclideanPoint

type EuclideanPoint struct {
	kdtree.PointBase
	// contains filtered or unexported fields
}

func NewEuclideanPoint

func NewEuclideanPoint(vals ...float64) *EuclideanPoint

func NewEuclideanPointArr

func NewEuclideanPointArr(vals []float64) *EuclideanPoint

func NewEuclideanPointArrWithLabel

func NewEuclideanPointArrWithLabel(vals [K_MAX]float64,
	timestamp int64,
	label string,
	groupLabel string,
	sequenceLengthOne int64,
	sequenceLengthTwo int64,
	sequenceDimOne int64,
	sequenceDimTwo int64) *EuclideanPoint

func NewEuclideanPointFromFeature

func NewEuclideanPointFromFeature(feature *pb.Feature) *EuclideanPoint

func NewEuclideanPointFromKeyValue

func NewEuclideanPointFromKeyValue(key *EuclideanPointKey, value *EuclideanPointValue) *EuclideanPoint

func NewEuclideanPointFromPoint

func NewEuclideanPointFromPoint(point kdtree.Point) *EuclideanPoint

func NewEuclideanPointWithLabel

func NewEuclideanPointWithLabel(timestamp int64, label string, vals ...float64) *EuclideanPoint

func (*EuclideanPoint) Distance

func (p *EuclideanPoint) Distance(other kdtree.Point) float64

func (*EuclideanPoint) GetGroupLabel

func (p *EuclideanPoint) GetGroupLabel() string

Return the grouplabel

func (*EuclideanPoint) GetLabel

func (p *EuclideanPoint) GetLabel() string

Return the label

func (*EuclideanPoint) GetSequenceDimOne

func (p *EuclideanPoint) GetSequenceDimOne() int64

Return the sequenceDimOne

func (*EuclideanPoint) GetSequenceDimTwo

func (p *EuclideanPoint) GetSequenceDimTwo() int64

Return the sequenceDimTwo

func (*EuclideanPoint) GetSequenceLengthOne

func (p *EuclideanPoint) GetSequenceLengthOne() int64

Return the sequenceLengthOne

func (*EuclideanPoint) GetSequenceLengthTwo

func (p *EuclideanPoint) GetSequenceLengthTwo() int64

Return the sequenceLengthTwo

func (*EuclideanPoint) GetTimestamp

func (p *EuclideanPoint) GetTimestamp() int64

Return the timestamp

func (*EuclideanPoint) GetValue

func (p *EuclideanPoint) GetValue(dim int) float64

Return the label

func (*EuclideanPoint) PlaneDistance

func (p *EuclideanPoint) PlaneDistance(val float64, dim int) float64

type EuclideanPointKey

type EuclideanPointKey struct {
	Feature           [K_MAX]float64
	SequenceLengthOne int64
	SequenceLengthTwo int64
	SequenceDimOne    int64
	SequenceDimTwo    int64
	GroupLabel        string
}

func NewEuclideanPointKeyFromPoint

func NewEuclideanPointKeyFromPoint(point kdtree.Point) *EuclideanPointKey

type EuclideanPointValue

type EuclideanPointValue struct {
	Timestamp  int64
	Label      string
	GroupLabel string
}

type SortByDistance

type SortByDistance []*DataPoint

func (SortByDistance) Len

func (e SortByDistance) Len() int

func (SortByDistance) Less

func (e SortByDistance) Less(i, j int) bool

func (SortByDistance) Swap

func (e SortByDistance) Swap(i, j int)

type Stats

type Stats struct {
	K                int64
	D                int64
	Avg              []float64
	N                int64
	MaxDistance      float64
	Hist             []float64
	Timestamp        int64
	AverageTimestamp int64
}

Jump to

Keyboard shortcuts

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