VaneDB 0.1.0
Embeddable vector database for edge AI
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
vanedb Namespace Reference

Namespaces

namespace  detail
 
namespace  gpu
 
namespace  logging
 

Classes

class  DistanceComputer
 
class  HNSWIndex
 
struct  HNSWSearchResult
 
class  MMapVectorStore
 
class  MMapVectorStoreBuilder
 
struct  SearchResult
 
class  VectorStore
 

Typedefs

using HNSWDistanceMetric = DistanceMetric
 

Enumerations

enum class  DistanceMetric { L2 = 0 , COSINE = 1 , DOT = 2 }
 

Functions

float hsum (float32x4_t v) noexcept
 
float hsum (__m256 v) noexcept
 
float l2_sq (const float *__restrict__ a, const float *__restrict__ b, size_t n) noexcept
 
float dot_product (const float *__restrict__ a, const float *__restrict__ b, size_t n) noexcept
 
float cosine_distance (const float *__restrict__ a, const float *__restrict__ b, size_t n) noexcept
 
constexpr int version_number ()
 Returns the version as a single integer for comparison.
 

Variables

constexpr float COSINE_EPSILON = 1e-12f
 
constexpr int VERSION_MAJOR = 0
 Major version number.
 
constexpr int VERSION_MINOR = 1
 Minor version number.
 
constexpr int VERSION_PATCH = 0
 Patch version number.
 
constexpr const char * VERSION_STRING = "0.1.0"
 Full version string.
 

Typedef Documentation

◆ HNSWDistanceMetric

Definition at line 12 of file distance_strategy.h.

Enumeration Type Documentation

◆ DistanceMetric

enum class vanedb::DistanceMetric
strong
Enumerator
L2 
COSINE 
DOT 

Definition at line 10 of file distance_strategy.h.

Function Documentation

◆ cosine_distance()

float vanedb::cosine_distance ( const float *__restrict__  a,
const float *__restrict__  b,
size_t  n 
)
inlinenoexcept

Definition at line 99 of file distance.h.

References COSINE_EPSILON, and hsum().

Referenced by vanedb::DistanceComputer::operator()().

◆ dot_product()

float vanedb::dot_product ( const float *__restrict__  a,
const float *__restrict__  b,
size_t  n 
)
inlinenoexcept

Definition at line 77 of file distance.h.

References hsum().

Referenced by vanedb::DistanceComputer::operator()().

◆ hsum() [1/2]

float vanedb::hsum ( __m256  v)
inlinenoexcept

Definition at line 39 of file distance.h.

◆ hsum() [2/2]

float vanedb::hsum ( float32x4_t  v)
inlinenoexcept

Definition at line 28 of file distance.h.

Referenced by cosine_distance(), dot_product(), and l2_sq().

◆ l2_sq()

float vanedb::l2_sq ( const float *__restrict__  a,
const float *__restrict__  b,
size_t  n 
)
inlinenoexcept

Definition at line 49 of file distance.h.

References hsum().

Referenced by vanedb::DistanceComputer::operator()().

◆ version_number()

constexpr int vanedb::version_number ( )
constexpr

Returns the version as a single integer for comparison.

Format: MAJOR * 10000 + MINOR * 100 + PATCH Example: 0.1.0 = 100

Definition at line 26 of file version.h.

References VERSION_MAJOR, VERSION_MINOR, and VERSION_PATCH.

Variable Documentation

◆ COSINE_EPSILON

constexpr float vanedb::COSINE_EPSILON = 1e-12f
inlineconstexpr

Definition at line 25 of file distance.h.

Referenced by cosine_distance().

◆ VERSION_MAJOR

constexpr int vanedb::VERSION_MAJOR = 0
constexpr

Major version number.

Definition at line 11 of file version.h.

Referenced by version_number().

◆ VERSION_MINOR

constexpr int vanedb::VERSION_MINOR = 1
constexpr

Minor version number.

Definition at line 13 of file version.h.

Referenced by version_number().

◆ VERSION_PATCH

constexpr int vanedb::VERSION_PATCH = 0
constexpr

Patch version number.

Definition at line 15 of file version.h.

Referenced by version_number().

◆ VERSION_STRING

constexpr const char* vanedb::VERSION_STRING = "0.1.0"
constexpr

Full version string.

Definition at line 18 of file version.h.