-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsqlite_vec.hpp
More file actions
63 lines (50 loc) · 1.68 KB
/
Copy pathsqlite_vec.hpp
File metadata and controls
63 lines (50 loc) · 1.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#pragma once
// Main public API header for sqlite-vec-cpp
// Core concepts
#include "concepts/distance_metric.hpp"
#include "concepts/vector_element.hpp"
// Vector abstractions
#include "vector_view.hpp"
// Utilities
#include "utils/array.hpp"
#include "utils/error.hpp"
// Distance metrics
#include "distances/cosine.hpp"
#include "distances/hamming.hpp"
#include "distances/l1.hpp"
#include "distances/l2.hpp"
// SQLite integration
#include "sqlite/column_defs.hpp"
#include "sqlite/context.hpp"
#include "sqlite/enhanced_functions.hpp"
#include "sqlite/functions.hpp"
#include "sqlite/parsers.hpp"
#include "sqlite/registration.hpp"
#include "sqlite/utility_functions.hpp"
#include "sqlite/value.hpp"
#include "sqlite/vtab.hpp"
// C API compatibility (to be implemented)
extern "C" {
// Forward declaration - will be defined in src/sqlite_vec_c_api.cpp
struct sqlite3;
struct sqlite3_api_routines;
// Main entry point (maintains compatibility with original sqlite-vec)
#ifdef _WIN32
__declspec(dllexport)
#endif
int sqlite3_vec_init(sqlite3* db, char** pzErrMsg, const sqlite3_api_routines* pApi);
// Additional C API functions
int sqlite3_vec_distance_l2(const void* vec1, size_t size1, const void* vec2, size_t size2,
float* result);
int sqlite3_vec_distance_cosine(const void* vec1, size_t size1, const void* vec2, size_t size2,
float* result);
}
namespace sqlite_vec_cpp {
// Version information
constexpr const char* VERSION = "0.1.0-cpp";
constexpr const char* SOURCE = "sqlite-vec-cpp";
// Version components
constexpr int VERSION_MAJOR = 0;
constexpr int VERSION_MINOR = 1;
constexpr int VERSION_PATCH = 0;
} // namespace sqlite_vec_cpp