14 #include <faiss/IndexFlat.h>
15 #include <faiss/IndexIVF.h>
23 float *xb =
new float[d * nb];
24 float *xq =
new float[d * nq];
26 for(
int i = 0; i < nb; i++) {
27 for(
int j = 0; j < d; j++)
28 xb[d * i + j] = drand48();
29 xb[d * i] += i / 1000.;
32 for(
int i = 0; i < nq; i++) {
33 for(
int j = 0; j < d; j++)
34 xq[d * i + j] = drand48();
35 xq[d * i] += i / 1000.;
45 assert(!index.is_trained);
47 assert(index.is_trained);
51 long *I =
new long[k * nq];
52 float *D =
new float[k * nq];
54 index.search(nq, xq, k, D, I);
57 for(
int i = nq - 5; i < nq; i++) {
58 for(
int j = 0; j < k; j++)
59 printf(
"%5ld ", I[i * k + j]);
64 index.search(nq, xq, k, D, I);
67 for(
int i = nq - 5; i < nq; i++) {
68 for(
int j = 0; j < k; j++)
69 printf(
"%5ld ", I[i * k + j]);