/* * ============================================================================ * * Authors: Prashant Pandey * Rob Johnson * Rob Patro (rob.patro@cs.stonybrook.edu) * * ============================================================================ */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include "clipp.h" #include "ProgOpts.h" #include "gqf_cpp.h" /* * === FUNCTION ====================================================================== * Name: main * Description: * ===================================================================================== */ int inner_prod_main(InnerProdOpts& opts) { uint64_t inner_prod; struct timeval start, end; struct timezone tzp; srand(time(NULL)); spdlog::logger* console = opts.console.get(); //Initialize the QF console->info("Mmaping Squeakr files from disk."); CQF cfa(opts.squeakr_filea, FREAD); CQF cfb(opts.squeakr_fileb, FREAD); if (cfa.seed() != cfb.seed()) { console->error("Input CQFs do not have the same seed."); return 1; } console->info("Performing inner product querries."); gettimeofday(&start, &tzp); inner_prod = cfa.inner_prod(cfb); gettimeofday(&end, &tzp); console->info("Inner product: {}", inner_prod); print_time_elapsed("", &start, &end, console); return EXIT_SUCCESS; } /* ---------- end of function main ---------- */