Documentation
¶
Index ¶
- Constants
- func CalculateAverage(avg []float64, p []float64, n float64) []float64
- func FeatureFromEuclideanKeyValue(key *EuclideanPointKey, value *EuclideanPointValue) *pb.Feature
- func FeatureToEuclideanPointKeyValue(feature *pb.Feature) (*EuclideanPointKey, *EuclideanPointValue)
- func InsertionRequestToEuclideanPointKeyValue(in *pb.InsertionRequest) (*EuclideanPointKey, *EuclideanPointValue)
- func NewFeatureFromEuclideanPoint(point *EuclideanPoint) *pb.Feature
- func NewFeatureFromPoint(point kdtree.Point) *pb.Feature
- func NewInsertionRequestFromPoint(point kdtree.Point) *pb.InsertionRequest
- func SearchVectorDistance(arr1 []float64, arr2 []float64, distance_mode int) float64
- func VectorDistance(arr1 []float64, arr2 []float64) float64
- type Data
- func (dt *Data) Delete(key EuclideanPointKey)
- func (dt *Data) GetAll(stream pb.VeriService_GetLocalDataServer) error
- func (dt *Data) GetKnn(queryK int64, point *EuclideanPoint) ([]*EuclideanPoint, error)
- func (dt *Data) GetKnnBasic(queryK int64, vals ...float64) ([]*EuclideanPoint, error)
- func (dt *Data) GetKnnBasicLinear(queryK int64, vals ...float64) ([]*EuclideanPoint, error)
- func (dt *Data) GetKnnLinear(queryK int64, point *EuclideanPoint) ([]*EuclideanPoint, error)
- func (dt *Data) GetRandomPoints(limit int) []kdtree.Point
- func (dt *Data) GetStats() *Stats
- func (dt *Data) Insert(key *EuclideanPointKey, value *EuclideanPointValue)
- func (dt *Data) InsertBasic(label string, vals ...float64)
- func (dt *Data) Process(force bool) error
- func (dt *Data) Run() error
- func (dt *Data) SetupRun()
- type DataPoint
- type EuclideanPoint
- func NewEuclideanPoint(vals ...float64) *EuclideanPoint
- func NewEuclideanPointArr(vals []float64) *EuclideanPoint
- func NewEuclideanPointArrWithLabel(vals [K_MAX]float64, timestamp int64, label string, groupLabel string, ...) *EuclideanPoint
- func NewEuclideanPointFromFeature(feature *pb.Feature) *EuclideanPoint
- func NewEuclideanPointFromKeyValue(key *EuclideanPointKey, value *EuclideanPointValue) *EuclideanPoint
- func NewEuclideanPointFromPoint(point kdtree.Point) *EuclideanPoint
- func NewEuclideanPointWithLabel(timestamp int64, label string, vals ...float64) *EuclideanPoint
- func (p *EuclideanPoint) Distance(other kdtree.Point) float64
- func (p *EuclideanPoint) GetGroupLabel() string
- func (p *EuclideanPoint) GetLabel() string
- func (p *EuclideanPoint) GetSequenceDimOne() int64
- func (p *EuclideanPoint) GetSequenceDimTwo() int64
- func (p *EuclideanPoint) GetSequenceLengthOne() int64
- func (p *EuclideanPoint) GetSequenceLengthTwo() int64
- func (p *EuclideanPoint) GetTimestamp() int64
- func (p *EuclideanPoint) GetValue(dim int) float64
- func (p *EuclideanPoint) PlaneDistance(val float64, dim int) float64
- type EuclideanPointKey
- type EuclideanPointValue
- type SortByDistance
- type Stats
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 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 NewInsertionRequestFromPoint ¶
func NewInsertionRequestFromPoint(point kdtree.Point) *pb.InsertionRequest
func SearchVectorDistance ¶
func VectorDistance ¶
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 NewTempData ¶
func NewTempData() *Data
func (*Data) Delete ¶
func (dt *Data) Delete(key EuclideanPointKey)
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) Insert ¶
func (dt *Data) Insert(key *EuclideanPointKey, value *EuclideanPointValue)
Insert entry into the data
func (*Data) InsertBasic ¶
type DataPoint ¶
type DataPoint struct { Distance float64 Point *EuclideanPoint }
type EuclideanPoint ¶
func NewEuclideanPoint ¶
func NewEuclideanPoint(vals ...float64) *EuclideanPoint
func NewEuclideanPointArr ¶
func NewEuclideanPointArr(vals []float64) *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) GetGroupLabel ¶
func (p *EuclideanPoint) GetGroupLabel() string
Return the grouplabel
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 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)
Click to show internal directories.
Click to hide internal directories.