13 #include "index_io_c.h"
15 #include "macros_impl.h"
19 int faiss_write_index(
const FaissIndex *idx, FILE *f) {
21 faiss::write_index(reinterpret_cast<const Index*>(idx), f);
25 int faiss_write_index_fname(
const FaissIndex *idx,
const char *fname) {
27 faiss::write_index(reinterpret_cast<const Index*>(idx), fname);
31 int faiss_read_index(FILE *f,
int io_flags, FaissIndex **p_out) {
33 auto out = faiss::read_index(f, io_flags);
34 *p_out =
reinterpret_cast<FaissIndex*
>(out);
38 int faiss_read_index_fname(
const char *fname,
int io_flags, FaissIndex **p_out) {
40 auto out = faiss::read_index(fname, io_flags);
41 *p_out =
reinterpret_cast<FaissIndex*
>(out);
45 int faiss_clone_index (
const FaissIndex *idx, FaissIndex **p_out) {
47 auto out = faiss::clone_index(reinterpret_cast<const Index*>(idx));
48 *p_out =
reinterpret_cast<FaissIndex*
>(out);