13 #include <faiss/IndexFlat.h>
14 #include <faiss/IndexIVFPQ.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.;
48 long *I =
new long[k * 5];
49 float *D =
new float[k * 5];
51 index.search(5, xb, k, D, I);
54 for(
int i = 0; i < 5; i++) {
55 for(
int j = 0; j < k; j++)
56 printf(
"%5ld ", I[i * k + j]);
61 for(
int i = 0; i < 5; i++) {
62 for(
int j = 0; j < k; j++)
63 printf(
"%7g ", D[i * k + j]);
72 long *I =
new long[k * nq];
73 float *D =
new float[k * nq];
76 index.search(nq, xq, k, D, I);
79 for(
int i = nq - 5; i < nq; i++) {
80 for(
int j = 0; j < k; j++)
81 printf(
"%5ld ", I[i * k + j]);