/* * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ // -*- c++ -*- // I/O code for indexes #include "clone_index_c.h" #include #include "macros_impl.h" using faiss::Index; using faiss::IndexBinary; int faiss_clone_index(const FaissIndex* idx, FaissIndex** p_out) { try { auto out = faiss::clone_index(reinterpret_cast(idx)); *p_out = reinterpret_cast(out); } CATCH_AND_HANDLE } int faiss_clone_index_binary( const FaissIndexBinary* idx, FaissIndexBinary** p_out) { try { auto out = faiss::clone_binary_index( reinterpret_cast(idx)); *p_out = reinterpret_cast(out); } CATCH_AND_HANDLE }