12 #include <faiss/IndexFlat.h>
13 #include <faiss/IndexIVFPQ.h>
21 float *xb =
new float[d * nb];
22 float *xq =
new float[d * nq];
24 for(
int i = 0; i < nb; i++) {
25 for(
int j = 0; j < d; j++)
26 xb[d * i + j] = drand48();
27 xb[d * i] += i / 1000.;
30 for(
int i = 0; i < nq; i++) {
31 for(
int j = 0; j < d; j++)
32 xq[d * i + j] = drand48();
33 xq[d * i] += i / 1000.;
47 long *I =
new long[k * 5];
48 float *D =
new float[k * 5];
50 index.search(5, xb, k, D, I);
53 for(
int i = 0; i < 5; i++) {
54 for(
int j = 0; j < k; j++)
55 printf(
"%5ld ", I[i * k + j]);
60 for(
int i = 0; i < 5; i++) {
61 for(
int j = 0; j < k; j++)
62 printf(
"%7g ", D[i * k + j]);
71 long *I =
new long[k * nq];
72 float *D =
new float[k * nq];
75 index.search(nq, xq, k, D, I);
78 for(
int i = nq - 5; i < nq; i++) {
79 for(
int j = 0; j < k; j++)
80 printf(
"%5ld ", I[i * k + j]);