13 #include <faiss/IndexFlat.h>
14 #include <faiss/IndexIVFFlat.h>
22 float *xb =
new float[d * nb];
23 float *xq =
new float[d * nq];
25 for(
int i = 0; i < nb; i++) {
26 for(
int j = 0; j < d; j++)
27 xb[d * i + j] = drand48();
28 xb[d * i] += i / 1000.;
31 for(
int i = 0; i < nq; i++) {
32 for(
int j = 0; j < d; j++)
33 xq[d * i + j] = drand48();
34 xq[d * i] += i / 1000.;
44 assert(!index.is_trained);
46 assert(index.is_trained);
50 long *I =
new long[k * nq];
51 float *D =
new float[k * nq];
53 index.search(nq, xq, k, D, I);
56 for(
int i = nq - 5; i < nq; i++) {
57 for(
int j = 0; j < k; j++)
58 printf(
"%5ld ", I[i * k + j]);
63 index.search(nq, xq, k, D, I);
66 for(
int i = nq - 5; i < nq; i++) {
67 for(
int j = 0; j < k; j++)
68 printf(
"%5ld ", I[i * k + j]);