/* Copyright (C) 2004 Caltech Written by Lexing Ying */ #include "fdct_usfft.hpp" #include "fdct_usfft_inline.hpp" using namespace std; using namespace fdct_usfft_ns; int optionsCreate(const char* optfile, map& options) { options.clear(); ifstream fin(optfile); assert(fin.good()); string name; fin>>name; while(fin.good()) { char cont[100]; fin.getline(cont, 99); options[name] = string(cont); fin>>name; } fin.close(); return 0; } int main(int argc, char** argv) { clock_t ck0, ck1; srand48( (long)time(NULL) ); assert(argc==2); //get options map opts; optionsCreate(argv[1], opts); //get input data map::iterator mi; int m; mi = opts.find("-m"); assert(mi!=opts.end()); { istringstream ss((*mi).second); ss>>m; } int n; mi = opts.find("-n"); assert(mi!=opts.end()); { istringstream ss((*mi).second); ss>>n; } int nbscales; mi = opts.find("-nbscales"); assert(mi!=opts.end()); { istringstream ss((*mi).second); ss>>nbscales; } int nbangles_coarse; mi = opts.find("-nbangles_coarse"); assert(mi!=opts.end()); { istringstream ss((*mi).second); ss>>nbangles_coarse; } int ac; mi = opts.find("-ac"); assert(mi!=opts.end()); { istringstream ss((*mi).second); ss>>ac; } //generate mat srand48( (long)time(NULL) ); CpxNumMat x(m,n); for(int i=0; i > c; //c = Ax fdct_usfft(m, n, nbscales, nbangles_coarse, ac, x, c); ck1 = clock(); cout<<"FDCT_USFFT_ takes "<