int b2fvecs_read (const char *fname, int d, int n, float *v) { int n_new; int d_new; bvecs_fsize (fname, &d_new, &n_new); assert (d_new == d); assert (n <= n_new); FILE * f = fopen (fname, "r"); assert (f || "b2fvecs_read: Unable to open the file"); b2fvecs_fread (f, v, n); fclose (f); return n; }
int b2fvecs_new_read (const char *fname, int *d_out, float **v_out) { int n; int d; bvecs_fsize (fname, &d, &n); float * v = fvec_new ((long) n * (long) d); FILE * f = fopen (fname, "r"); assert (f || "bvecs_new_read: Unable to open the file"); b2fvecs_fread (f, v, n); fclose (f); v_out = &v; return n; }