flat

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Feb 11, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FlatIndex

type FlatIndex struct {
	// contains filtered or unexported fields
}

FlatIndex is a simple flat index for exact search

func NewFlatIndex

func NewFlatIndex(capacity int) *FlatIndex

NewFlatIndex creates a new flat index

func (*FlatIndex) Add

func (idx *FlatIndex) Add(vec simd.Vec512, scale float32, id int)

Add adds a vector to the index

func (*FlatIndex) AddBatch

func (idx *FlatIndex) AddBatch(vecs []simd.Vec512, scales []float32, ids []int)

AddBatch adds multiple vectors at once

func (*FlatIndex) SearchTopK

func (idx *FlatIndex) SearchTopK(query *simd.Vec512, K int) []SearchResult

SearchTopK performs exact search and returns top K results

func (*FlatIndex) SearchTopKBatch

func (idx *FlatIndex) SearchTopKBatch(queries []*simd.Vec512, K int) [][]SearchResult

SearchTopKBatch processes multiple queries in batch for better cache utilization

func (*FlatIndex) SearchTopKParallel

func (idx *FlatIndex) SearchTopKParallel(query *simd.Vec512, K int) []SearchResult

SearchTopKParallel performs parallel exact search for better throughput

func (*FlatIndex) SearchTopKTiled

func (idx *FlatIndex) SearchTopKTiled(query *simd.Vec512, K int) []SearchResult

Optimized version with cache tiling

func (*FlatIndex) Size

func (idx *FlatIndex) Size() int

Size returns the number of vectors in the index

type SearchResult

type SearchResult struct {
	ID    int
	Score int32
}

SearchResult represents a search result with ID and score

Jump to

Keyboard shortcuts

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