diff --git a/src/abstract_index.cpp b/src/abstract_index.cpp index 92665825f..7550bda3a 100644 --- a/src/abstract_index.cpp +++ b/src/abstract_index.cpp @@ -140,6 +140,15 @@ template DISKANN_DLLEXPORT void AbstractIndex::build(const int template DISKANN_DLLEXPORT void AbstractIndex::build(const uint8_t *data, const size_t num_points_to_load, const std::vector &tags); +template DISKANN_DLLEXPORT void AbstractIndex::build(const float* data, + const size_t num_points_to_load, + const std::vector& tags); +template DISKANN_DLLEXPORT void AbstractIndex::build(const int8_t* data, + const size_t num_points_to_load, + const std::vector& tags); +template DISKANN_DLLEXPORT void AbstractIndex::build(const uint8_t* data, + const size_t num_points_to_load, + const std::vector& tags); template DISKANN_DLLEXPORT std::pair AbstractIndex::search( const float *query, const size_t K, const uint32_t L, uint32_t *indices, float *distances); @@ -211,6 +220,18 @@ template DISKANN_DLLEXPORT size_t AbstractIndex::search_with_tags &res_vectors, bool use_filters, const std::string filter_label); +template DISKANN_DLLEXPORT size_t AbstractIndex::search_with_tags( + const float* query, const uint64_t K, const uint32_t L, tag_uint128* tags, float* distances, + std::vector& res_vectors, bool use_filters, const std::string filter_label); + +template DISKANN_DLLEXPORT size_t AbstractIndex::search_with_tags( + const uint8_t* query, const uint64_t K, const uint32_t L, tag_uint128* tags, float* distances, + std::vector& res_vectors, bool use_filters, const std::string filter_label); + +template DISKANN_DLLEXPORT size_t AbstractIndex::search_with_tags( + const int8_t* query, const uint64_t K, const uint32_t L, tag_uint128* tags, float* distances, + std::vector& res_vectors, bool use_filters, const std::string filter_label); + template DISKANN_DLLEXPORT void AbstractIndex::search_with_optimized_layout(const float *query, size_t K, size_t L, uint32_t *indices); template DISKANN_DLLEXPORT void AbstractIndex::search_with_optimized_layout(const uint8_t *query, size_t K, @@ -234,6 +255,10 @@ template DISKANN_DLLEXPORT int AbstractIndex::insert_point(cons template DISKANN_DLLEXPORT int AbstractIndex::insert_point(const uint8_t *point, const uint64_t tag); template DISKANN_DLLEXPORT int AbstractIndex::insert_point(const int8_t *point, const uint64_t tag); +template DISKANN_DLLEXPORT int AbstractIndex::insert_point(const float* point, const tag_uint128 tag); +template DISKANN_DLLEXPORT int AbstractIndex::insert_point(const uint8_t* point, const tag_uint128 tag); +template DISKANN_DLLEXPORT int AbstractIndex::insert_point(const int8_t* point, const tag_uint128 tag); + template DISKANN_DLLEXPORT int AbstractIndex::insert_point( const float *point, const int32_t tag, const std::vector &labels); template DISKANN_DLLEXPORT int AbstractIndex::insert_point( @@ -262,6 +287,13 @@ template DISKANN_DLLEXPORT int AbstractIndex::insert_point( const int8_t *point, const uint64_t tag, const std::vector &labels); +template DISKANN_DLLEXPORT int AbstractIndex::insert_point( + const float* point, const tag_uint128 tag, const std::vector& labels); +template DISKANN_DLLEXPORT int AbstractIndex::insert_point( + const uint8_t* point, const tag_uint128 tag, const std::vector& labels); +template DISKANN_DLLEXPORT int AbstractIndex::insert_point( + const int8_t* point, const tag_uint128 tag, const std::vector& labels); + template DISKANN_DLLEXPORT int AbstractIndex::insert_point( const float *point, const int32_t tag, const std::vector &labels); template DISKANN_DLLEXPORT int AbstractIndex::insert_point( @@ -290,10 +322,18 @@ template DISKANN_DLLEXPORT int AbstractIndex::insert_point( const int8_t *point, const uint64_t tag, const std::vector &labels); +template DISKANN_DLLEXPORT int AbstractIndex::insert_point( + const float* point, const tag_uint128 tag, const std::vector& labels); +template DISKANN_DLLEXPORT int AbstractIndex::insert_point( + const uint8_t* point, const tag_uint128 tag, const std::vector& labels); +template DISKANN_DLLEXPORT int AbstractIndex::insert_point( + const int8_t* point, const tag_uint128 tag, const std::vector& labels); + template DISKANN_DLLEXPORT int AbstractIndex::lazy_delete(const int32_t &tag); template DISKANN_DLLEXPORT int AbstractIndex::lazy_delete(const uint32_t &tag); template DISKANN_DLLEXPORT int AbstractIndex::lazy_delete(const int64_t &tag); template DISKANN_DLLEXPORT int AbstractIndex::lazy_delete(const uint64_t &tag); +template DISKANN_DLLEXPORT int AbstractIndex::lazy_delete(const tag_uint128& tag); template DISKANN_DLLEXPORT void AbstractIndex::lazy_delete(const std::vector &tags, std::vector &failed_tags); @@ -303,11 +343,14 @@ template DISKANN_DLLEXPORT void AbstractIndex::lazy_delete(const std::v std::vector &failed_tags); template DISKANN_DLLEXPORT void AbstractIndex::lazy_delete(const std::vector &tags, std::vector &failed_tags); +template DISKANN_DLLEXPORT void AbstractIndex::lazy_delete(const std::vector& tags, + std::vector& failed_tags); template DISKANN_DLLEXPORT void AbstractIndex::get_active_tags(tsl::robin_set &active_tags); template DISKANN_DLLEXPORT void AbstractIndex::get_active_tags(tsl::robin_set &active_tags); template DISKANN_DLLEXPORT void AbstractIndex::get_active_tags(tsl::robin_set &active_tags); template DISKANN_DLLEXPORT void AbstractIndex::get_active_tags(tsl::robin_set &active_tags); +template DISKANN_DLLEXPORT void AbstractIndex::get_active_tags(tsl::robin_set& active_tags); template DISKANN_DLLEXPORT void AbstractIndex::set_start_points_at_random(float radius, uint32_t random_seed); template DISKANN_DLLEXPORT void AbstractIndex::set_start_points_at_random(uint8_t radius, @@ -328,6 +371,10 @@ template DISKANN_DLLEXPORT int AbstractIndex::get_vector_by_tag template DISKANN_DLLEXPORT int AbstractIndex::get_vector_by_tag(uint64_t &tag, uint8_t *vec); template DISKANN_DLLEXPORT int AbstractIndex::get_vector_by_tag(uint64_t &tag, int8_t *vec); +template DISKANN_DLLEXPORT int AbstractIndex::get_vector_by_tag(tag_uint128& tag, float* vec); +template DISKANN_DLLEXPORT int AbstractIndex::get_vector_by_tag(tag_uint128& tag, uint8_t* vec); +template DISKANN_DLLEXPORT int AbstractIndex::get_vector_by_tag(tag_uint128& tag, int8_t* vec); + template DISKANN_DLLEXPORT void AbstractIndex::set_universal_label(const uint16_t label); template DISKANN_DLLEXPORT void AbstractIndex::set_universal_label(const uint32_t label);