faiss/c_api
Matthijs Douze c0052c1533 IndexFlatCodes: a single parent for all flat codecs (#2132)
Summary:
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/2132

This diff adds the class IndexFlatCodes that becomes the parent of all "flat" encodings.
IndexPQ
IndexFlat
IndexAdditiveQuantizer
IndexScalarQuantizer
IndexLSH
Index2Layer

The other changes are:
- for IndexFlat, there is no vector<float> with the data anymore. It is replaced with a `get_xb()` function. This broke quite a few external codes, that this diff also attempts to fix.
- I/O functions needed to be adapted. This is done without changing the I/O format for any index.
- added a small contrib function to get the data from the IndexFlat
- the functionality has been made uniform, for example remove_ids and add are now in the parent class.

Eventually, we may support generic storage for flat indexes, similar to `InvertedLists`, eg to memmap the data, but this will again require a big change.

Reviewed By: wickedfoo

Differential Revision: D32646769

fbshipit-source-id: 04a1659173fd51b130ae45d345176b72183cae40
2021-12-07 01:31:07 -08:00
..
gpu Remove redundant c_api headers while installing (#1841) 2021-04-26 02:20:23 -07:00
impl Enable clang-format + autofix. 2021-02-25 04:46:10 -08:00
utils Add faiss_pairwise_L2sqr_with_defaults into C_API (#2067) 2021-10-07 03:43:57 -07:00
AutoTune_c.cpp Enable clang-format + autofix. 2021-02-25 04:46:10 -08:00
AutoTune_c.h Enable clang-format + autofix. 2021-02-25 04:46:10 -08:00
CMakeLists.txt Improve meta indexes (#1982) 2021-09-08 10:02:47 -07:00
Clustering_c.cpp C_API: Improve PreTransformIndex (#1945) 2021-06-23 07:06:20 -07:00
Clustering_c.h C_API: Improve PreTransformIndex (#1945) 2021-06-23 07:06:20 -07:00
INSTALL.md
IndexFlat_c.cpp IndexFlatCodes: a single parent for all flat codecs (#2132) 2021-12-07 01:31:07 -08:00
IndexFlat_c.h C_API: Improve PreTransformIndex (#1945) 2021-06-23 07:06:20 -07:00
IndexIVFFlat_c.cpp Add setters for IndexIVF* indexes (#1827) 2021-04-22 05:22:40 -07:00
IndexIVFFlat_c.h Add setters for IndexIVF* indexes (#1827) 2021-04-22 05:22:40 -07:00
IndexIVF_c.cpp Cover more types for C_API (#1917) 2021-06-08 15:34:05 -07:00
IndexIVF_c.h Cover more types for C_API (#1917) 2021-06-08 15:34:05 -07:00
IndexLSH_c.cpp IndexFlatCodes: a single parent for all flat codecs (#2132) 2021-12-07 01:31:07 -08:00
IndexLSH_c.h IndexFlatCodes: a single parent for all flat codecs (#2132) 2021-12-07 01:31:07 -08:00
IndexPreTransform_c.cpp C_API: Improve PreTransformIndex (#1945) 2021-06-23 07:06:20 -07:00
IndexPreTransform_c.h C_API: Improve PreTransformIndex (#1945) 2021-06-23 07:06:20 -07:00
IndexReplicas_c.cpp Improve meta indexes (#1982) 2021-09-08 10:02:47 -07:00
IndexReplicas_c.h Improve meta indexes (#1982) 2021-09-08 10:02:47 -07:00
IndexScalarQuantizer_c.cpp Add IndexIVFScalarQuantizer for c_api (#1829) 2021-04-22 05:19:42 -07:00
IndexScalarQuantizer_c.h Add IndexIVFScalarQuantizer for c_api (#1829) 2021-04-22 05:19:42 -07:00
IndexShards_c.cpp Improve meta indexes (#1982) 2021-09-08 10:02:47 -07:00
IndexShards_c.h Improve meta indexes (#1982) 2021-09-08 10:02:47 -07:00
Index_c.cpp Add get,set verbose for Index in c_api (#1790) 2021-04-22 05:16:55 -07:00
Index_c.h Cover more types for C_API (#1917) 2021-06-08 15:34:05 -07:00
MetaIndexes_c.cpp Improve meta indexes (#1982) 2021-09-08 10:02:47 -07:00
MetaIndexes_c.h Improve meta indexes (#1982) 2021-09-08 10:02:47 -07:00
VectorTransform_c.cpp Impl IndexPreTransform for c_api (#1816) 2021-04-22 05:27:36 -07:00
VectorTransform_c.h Classes inherited from VectorTransform for c_api (#1869) 2021-05-12 07:34:39 -07:00
clone_index_c.cpp Enable clang-format + autofix. 2021-02-25 04:46:10 -08:00
clone_index_c.h Enable clang-format + autofix. 2021-02-25 04:46:10 -08:00
error_c.h Enable clang-format + autofix. 2021-02-25 04:46:10 -08:00
error_impl.cpp Enable clang-format + autofix. 2021-02-25 04:46:10 -08:00
error_impl.h [C API] Update for compatibility with v1.5 (#858) 2019-06-12 15:46:08 +02:00
example_c.c Enable clang-format + autofix. 2021-02-25 04:46:10 -08:00
faiss_c.h Enable clang-format + autofix. 2021-02-25 04:46:10 -08:00
index_factory_c.cpp Enable clang-format + autofix. 2021-02-25 04:46:10 -08:00
index_factory_c.h Enable clang-format + autofix. 2021-02-25 04:46:10 -08:00
index_io_c.cpp Enable clang-format + autofix. 2021-02-25 04:46:10 -08:00
index_io_c.h Enable clang-format + autofix. 2021-02-25 04:46:10 -08:00
macros_impl.h Enable clang-format + autofix. 2021-02-25 04:46:10 -08:00