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
impl
utils Add faiss_pairwise_L2sqr_with_defaults into C_API (#2067) 2021-10-07 03:43:57 -07:00
AutoTune_c.cpp
AutoTune_c.h
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
IndexIVFFlat_c.h
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
IndexScalarQuantizer_c.h
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
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
VectorTransform_c.h
clone_index_c.cpp
clone_index_c.h
error_c.h
error_impl.cpp
error_impl.h
example_c.c
faiss_c.h
index_factory_c.cpp
index_factory_c.h
index_io_c.cpp
index_io_c.h
macros_impl.h