14 #include "AutoTune_c.h"
15 #include "macros_impl.h"
24 int faiss_index_factory(FaissIndex** p_index,
int d,
const char* description, FaissMetricType metric) {
27 d, description, static_cast<faiss::MetricType>(metric)));
31 const char* faiss_ParameterRange_name(
const FaissParameterRange* range) {
32 return reinterpret_cast<const ParameterRange*
>(range)->name.c_str();
35 void faiss_ParameterRange_values(FaissParameterRange* range,
double** p_values,
size_t* p_size) {
37 *p_values = values.data();
38 *p_size = values.size();
41 int faiss_ParameterSpace_new(FaissParameterSpace** space) {
44 *space =
reinterpret_cast<FaissParameterSpace*
>(new_space);
50 size_t faiss_ParameterSpace_n_combinations(const FaissParameterSpace* space) {
51 return reinterpret_cast<const ParameterSpace*
>(space)->n_combinations();
54 int faiss_ParameterSpace_combination_name(
const FaissParameterSpace* space,
size_t cno,
char* char_buffer,
size_t size) {
56 auto rep =
reinterpret_cast<const ParameterSpace*
>(space)->combination_name(cno);
57 strncpy(char_buffer, rep.c_str(), size);
61 int faiss_ParameterSpace_set_index_parameters(
const FaissParameterSpace* space, FaissIndex* cindex,
const char* param_string) {
63 auto index =
reinterpret_cast<Index*
>(cindex);
64 reinterpret_cast<const ParameterSpace*
>(space)->set_index_parameters(index, param_string);
69 int faiss_ParameterSpace_set_index_parameters_cno(
const FaissParameterSpace* space, FaissIndex* cindex,
size_t cno) {
71 auto index =
reinterpret_cast<Index*
>(cindex);
72 reinterpret_cast<const ParameterSpace*
>(space)->set_index_parameters(index, cno);
76 int faiss_ParameterSpace_set_index_parameter(
const FaissParameterSpace* space, FaissIndex* cindex,
const char * name,
double value) {
78 auto index =
reinterpret_cast<Index*
>(cindex);
79 reinterpret_cast<const ParameterSpace*
>(space)->set_index_parameter(index, name, value);
83 void faiss_ParameterSpace_display(
const FaissParameterSpace* space) {
87 int faiss_ParameterSpace_add_range(FaissParameterSpace* space,
const char* name, FaissParameterRange** p_range) {
91 *p_range =
reinterpret_cast<FaissParameterRange*
>(&range);
possible values of a parameter, sorted from least to most expensive/accurate
Index * index_factory(int d, const char *description_in, MetricType metric)