diff --git a/pub/lib/curve.cpp b/pub/lib/curve.cpp index 4830a65dd80772dfb16c603396be1592fa9db09e..0b27b7cb056b2f42eff69c6625160a7af529b67e 100644 --- a/pub/lib/curve.cpp +++ b/pub/lib/curve.cpp @@ -37,7 +37,7 @@ using boost::format; void NCurveFile::create_fitcurve() { - IterateO fiter(NSel::selD()); + FileIterator fiter(NSel::selD()); POlc fc( new COlc ); fc->curve_query( "Curve definition" ); @@ -101,7 +101,7 @@ void NCurveFile::change_expr() POlc ftmp( new COlc ); ftmp->curve_query( "Replace curve definition by" ); - IterateO fiter(NSel::selC()); + FileIterator fiter(NSel::selC()); while( POlc fc = fiter.getC() ) { int nPold = fc->nP; @@ -129,7 +129,7 @@ void NCurveFile::set_file_reference( const string& which ) // "v" set convolution file // "v-" switch convolution off { - IterateO fiter(NSel::selC()); + FileIterator fiter(NSel::selC()); string expr; RNode T; @@ -177,7 +177,7 @@ void NCurveFile::set_file_reference( const string& which ) void NCurveFile::set_par_attr( char attr ) { - IterateO fiter(NSel::selC()); + FileIterator fiter(NSel::selC()); static string sel; sel = wask( S("Set parameter status to '")+attr+"' for which parameters", sel ); @@ -204,7 +204,7 @@ void NCurveFile::set_par_attr( char attr ) void NCurveFile::change_range() { - IterateO fiter(NSel::selC()); + FileIterator fiter(NSel::selC()); string expr = sask( "Expression restricting the fit range" ); @@ -224,7 +224,7 @@ void NCurveFile::change_range() void NCurveFile::set_properties( string which ) { - IterateO fiter(NSel::selC()); + FileIterator fiter(NSel::selC()); while ( POlc fc = fiter.getC() ) { if (which=="wc") @@ -256,7 +256,7 @@ void NCurveFile::set_properties( string which ) void NCurveFile::pars_query() { - IterateO fiter(NSel::selC()); + FileIterator fiter(NSel::selC()); while( ROlc fc = fiter.getC() ) { for( int ip=0; ip<fc->nP; ++ip ) NOperate::Pointwise( "p" + S(ip) ); @@ -274,7 +274,7 @@ void NCurveFile::pars_abs() return; RNode Tsel = user_xaxparse( sel.c_str() ); - IterateO fiter(NSel::selC()); + FileIterator fiter(NSel::selC()); while( POlc fc = fiter.getC() ) { RObjVecInt vsel = Tsel->to_index_list( fc->nP ); if (!vsel) @@ -303,7 +303,7 @@ void NCurveFile::pars_copy() return; RNode Tsel = user_xaxparse( sel.c_str() ); - IterateO fiter(NSel::selC()); + FileIterator fiter(NSel::selC()); while( POlc fc = fiter.getC() ) { RObjVecInt vsel = Tsel->to_index_list( fc->nP ); if (!vsel) @@ -330,7 +330,7 @@ void NCurveFile::pars_copy() void NCurveFile::show_pars() { - IterateO fiter(NSel::selC()); + FileIterator fiter(NSel::selC()); while( ROlc fc = fiter.getC() ) fc->print_info_table(); } diff --git a/pub/lib/edif.cpp b/pub/lib/edif.cpp index 0250c54d9357322fdc8be599f71f8b3ce48c5493..07a9c1435e1a34c472da442964d60f7bc931d168 100644 --- a/pub/lib/edif.cpp +++ b/pub/lib/edif.cpp @@ -36,7 +36,7 @@ using boost::format; void NEdif::show_files() { - IterateO fiter( IterateO::IterALL | IterateO::IterTOL ); + FileIterator fiter( NOlm::all_file_indices(), true ); POlo f; while( f = fiter.get() ) { POlc fc = P2C( f ); @@ -90,7 +90,7 @@ void NEdif::show_files() void NEdif::show_spectra() { - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); while( POlo f = fiter.get() ) { cout << "file " << fiter.k() << ":\n"; if ( POld fd = P2D( f ) ) { @@ -117,7 +117,7 @@ void NEdif::show_spectra() void NEdif::show_coord() { - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); while( POlo f = fiter.get() ) { string out = str( format( "%3i" ) % fiter.k() ); out += " x: " + f->xco.str_compact(); @@ -134,7 +134,7 @@ void NEdif::show_coord() void NEdif::show_coordZ() { - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); POlo f = fiter.get(); // Get current coordinates: vector<CCoord> ZCo = f->ZCo;; @@ -161,7 +161,7 @@ void NEdif::show_coordZ() void NEdif::show_numpars() { - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); while ( POlo f = fiter.get() ) { cout << "# file " << fiter.k() << ":\n"; for ( int m=0; m<f->RPar.size(); m++ ) { @@ -176,7 +176,7 @@ void NEdif::show_numpars() void NEdif::show_doc() { - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); while( POlo f = fiter.get() ) { if( fiter.size()>1 ) cout << "# file " << fiter.k() << ":\n"; @@ -195,7 +195,7 @@ void NEdif::show_doc() void NEdif::edit_fnam() { - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); while( POlo f = fiter.get() ) { string fnam = wask( ("Rename " + f->name).c_str(), f->name ); if ( fnam != f->name ){ @@ -211,7 +211,7 @@ void NEdif::edit_coord( string which ) { // EMBEDDED_DIALOG CGenus genus( which ); - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); // check whether all files have the same coordinate: POlo fin = fiter.get(); CCoord old_co = fin->coord( genus ); @@ -261,7 +261,7 @@ void NEdif::edit_coord( string which ) void NEdif::edit_doc() { - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); POlo f; // obtain unused tmp file name: @@ -317,7 +317,7 @@ void NEdif::edit_doc() void NEdif::del_numpar() { int iN = zask( "Index of numeric parameter to delete" ); - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); while ( POlo f = fiter.get() ) { if( iN>=f->RPar.size() ) throw "file " + S( fiter.k() ) + " has no numpar n" + S(iN); diff --git a/pub/lib/file_out.cpp b/pub/lib/file_out.cpp index 097bcde243a6dac588a0f367c27c28ca131cd9cd..8bccf2ac2f2a7bddd81f13094599339af4c184fe 100644 --- a/pub/lib/file_out.cpp +++ b/pub/lib/file_out.cpp @@ -37,7 +37,7 @@ namespace NFileOut { void NFileOut::save( string fmt, bool allow_overwrite ) { // EMBEDDED_DIALOG string outfnam; - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); while( POlo f = fiter.get() ) { // query output file name outfnam = wask( "Save as (."+fmt+")", f->name); diff --git a/pub/lib/fit.cpp b/pub/lib/fit.cpp index 782bfd11bfa7b4792fc4b71cd5b77d094d6f8bd7..74ca982c8ae4bc4b07e6edaee28947e5099a0d5e 100644 --- a/pub/lib/fit.cpp +++ b/pub/lib/fit.cpp @@ -503,7 +503,7 @@ void NCurveFit::fit( bool _allow_slow_conv ) allow_slow_conv = _allow_slow_conv; NOlm::mem_backup_store(); - IterateO fiter(NSel::selC()); + FileIterator fiter(NSel::selC()); while ( POlc fc = fiter.getC() ) { diff --git a/pub/lib/jsel.cpp b/pub/lib/jsel.cpp index cf369d9e351c8c21cb818c87636bca414784c514..c3aa18be92d972cfaa0e25cfe55d7cd1f7e143f3 100644 --- a/pub/lib/jsel.cpp +++ b/pub/lib/jsel.cpp @@ -27,7 +27,7 @@ void JSelAsk( string quest, vector<int>& jLis ) { // EMBEDDED_DIALOG - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); int nJmax = 0; while ( POlo f=fiter.get() ) nJmax = std::max( nJmax, f->nJ() ); diff --git a/pub/lib/loop.cpp b/pub/lib/loop.cpp index 4a916e4243c40f40efa993163fe3d39bfdb53720..175d451a8d841e5b876561d2a62f6b8a222a155f 100644 --- a/pub/lib/loop.cpp +++ b/pub/lib/loop.cpp @@ -16,23 +16,7 @@ #include "fsel.hpp" #include "loop.hpp" -IterateO::IterateO( int mode ) -{ - if ( mode & IterALL ) { - Sel.resize( NOlm::mem_size() ); - iota( Sel.begin(), Sel.end(), 0 ); - } else { - Sel = NSel::sel(); - for( int k: Sel ) - if( k<0 || k>=NOlm::mem_size() ) - throw "invalid entry " + S(k) + " in file selection"; - } - if ( !(mode & IterTOL) && !size() ) - throw S("empty file selection"); - reset(); -} - -IterateO::IterateO( const vector<int>& _Sel, bool tolerate_empty ) +FileIterator::FileIterator( const vector<int>& _Sel, bool tolerate_empty ) { Sel = _Sel; for( int k: Sel ) @@ -43,7 +27,7 @@ IterateO::IterateO( const vector<int>& _Sel, bool tolerate_empty ) reset(); } -POlo IterateO::get() +POlo FileIterator::get() { if ( !going() ) return POlo(); int k=Sel[iV]; @@ -55,14 +39,14 @@ POlo IterateO::get() return NOlm::mem_get(k); } -POld IterateO::getD() +POld FileIterator::getD() { if( POld ret = P2D(get()) ) return ret; throw S("BUG: non-D file found by D iterator"); } -POlc IterateO::getC() +POlc FileIterator::getC() { if( POlc ret = P2C(get()) ) return ret; diff --git a/pub/lib/loop.hpp b/pub/lib/loop.hpp index a813b3ac5f2233b0a616d5f1674c1b9922bc3f5e..2d6492215244118606c0530c357ff752b514a052 100644 --- a/pub/lib/loop.hpp +++ b/pub/lib/loop.hpp @@ -10,17 +10,13 @@ //! Iterate over all files in selection. -class IterateO { +class FileIterator { private: int iV; vector<int> Sel; bool going() const { return iV<Sel.size(); } public: - // Bit values of 'mode' parameter in IterateO constructor: - static const int IterALL = 1; ///< select all online files - static const int IterTOL = 2; ///< tolerate empty selection - IterateO( int mode=0 ); - IterateO( const vector<int>& _Sel, bool tolerate_empty=false ); + FileIterator( const vector<int>& _Sel, bool tolerate_empty=false ); void reset() { iV = 0; } int k() const { return Sel[iV-1]; } int iteration() const { return iV-1; } diff --git a/pub/lib/manip.cpp b/pub/lib/manip.cpp index bff10d411b0531ea6ff5097b91dbe7855fe74464..9e3961de59f3c81577e5c45f1df61aa918b049bf 100644 --- a/pub/lib/manip.cpp +++ b/pub/lib/manip.cpp @@ -41,7 +41,7 @@ namespace NManip { void NManip::freeze_slices() { - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); string sel; sel = wask( "Protect which spectra from forthcoming operations" ); if ( sel=="" ) @@ -61,7 +61,7 @@ void NManip::freeze_slices() void NManip::unfreeze_all_slices() { - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); while ( POlo fio = fiter.get() ) { for ( int j=0; j<fio->nJ(); ++j ) fio->V[j]->frozen = false; @@ -78,7 +78,7 @@ void NManip::unfreeze_all_slices() void NManip::points_select( bool sel_del ) { - IterateO fiter(NSel::selD()); + FileIterator fiter(NSel::selD()); static string sel = ""; sel = wask( string( sel_del ? "Delete" : "Retain" ) + " which points", sel ); if ( sel=="" ) @@ -117,7 +117,7 @@ void NManip::points_select( bool sel_del ) void NManip::points_rebin() { - IterateO fiter(NSel::selD()); + FileIterator fiter(NSel::selD()); static string sel; sel = wask( "Start bins at points", sel ); @@ -154,7 +154,7 @@ void NManip::points_rebin() void NManip::points_rebin_by_factor() { - IterateO fiter(NSel::selD()); + FileIterator fiter(NSel::selD()); static int ng=2; ng = iask( "Number of points per bin", ng ); if ( ng<1 ) @@ -187,7 +187,7 @@ void NManip::points_rebin_by_factor() void NManip::points_rebin_by_err( const string& subcmd ) { - IterateO fiter(NSel::selD()); + FileIterator fiter(NSel::selD()); bool mode_abs; if ( subcmd=="a" ) mode_abs = true; @@ -245,7 +245,7 @@ void NManip::points_rebin_by_err( const string& subcmd ) void NManip::points_sort() { - IterateO fiter(NSel::selD()); + FileIterator fiter(NSel::selD()); string expr = sask("Sort points according to"); if (expr=="") return; RNode T = user_xaxparse( expr.c_str() ); @@ -284,7 +284,7 @@ void NManip::points_sort() void NManip::points_rebin_duplicates() { - IterateO fiter(NSel::selD()); + FileIterator fiter(NSel::selD()); COld fout; while ( ROld fin = fiter.getD() ) { POld fout( fin->new_old() ); @@ -327,7 +327,7 @@ void NManip::points_rebin_duplicates() void NManip::points_symmetrize() { - IterateO fiter(NSel::selD()); + FileIterator fiter(NSel::selD()); static string expr = "0"; expr = sask( "Assume symmetry with mirror positioned at", expr ); if ( expr=="" ) return; @@ -389,7 +389,7 @@ void NManip::points_symmetrize() void NManip::points_remove_err() { - IterateO fiter(NSel::selD()); + FileIterator fiter(NSel::selD()); while ( ROld fin = fiter.getD() ) { POld fout( fin->new_old() ); fout->lDoc.push_back("mpe-"); @@ -442,7 +442,7 @@ void NManip::slices_select( bool sel_del ) static string jSel = ""; JSelAsk( string( sel_del ? "Delete" : "Retain" ) + " which spectra", JSel ); - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); while ( ROlo fin = fiter.get() ) { POlo fout( fin->new_olo() ); // JSel.evaluate( 0, fin->nJ()-1 ); @@ -463,7 +463,7 @@ void NManip::slices_select( bool sel_del ) void NManip::slices_rebin() { - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); vector<int> JSel; static string jSel = ""; JSelAsk( "Start groups at spectra", JSel ); @@ -577,7 +577,7 @@ void NManip::slices_rebin() void NManip::slices_merge() { - IterateO fiter(NSel::selD()); + FileIterator fiter(NSel::selD()); vector<int> JSel; static string jSel = ""; JSelAsk( "Start groups at spectra", JSel ); @@ -616,7 +616,7 @@ void NManip::slices_merge() void NManip::slices_spawn() { - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); static int njj = 2; int njjIn = iask("output will have how many copies of input spectrum", njj); if (njjIn<1) return; @@ -644,7 +644,7 @@ void NManip::slices_spawn() void NManip::exchange_x_z() { - IterateO fiter(NSel::selD()); + FileIterator fiter(NSel::selD()); while ( ROld fin = fiter.getD() ) { POld fout( fin->new_old() ); @@ -727,7 +727,7 @@ void NManip::exchange_x_z() void NManip::slices_sort() { - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); string expr = sask("Sort spectra according to"); if (expr=="") return; RNode T = user_xaxparse( expr.c_str() ); @@ -754,7 +754,7 @@ void NManip::slices_sort() void NManip::slices_sort_by_z() { - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); while ( ROlo fin = fiter.get() ) { POlo fout( fin->new_olo() ); for (int j=0; j<fin->nJ(); j++) @@ -780,7 +780,7 @@ void NManip::slices_sort_by_z() void NManip::zcoords_reorder() { // EMBEDDED_DIALOG - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); int nzmin, nzmax = 0; char mod; string com; @@ -882,7 +882,7 @@ void NManip::zcoords_reorder() void NManip::zcoord_delete() { - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); string sel; sel = wask( "List of z coordinates to be removed" ); if ( sel=="" ) @@ -929,7 +929,7 @@ void NManip::zcoord_delete() void NManip::slices_break() { - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); while ( ROlo fin = fiter.get() ) { if ( !(fin->ZCo.size()) ) throw S("no z coordinate"); @@ -971,7 +971,7 @@ void NManip::files_merge( const string& opts ) if ( NSel::sel().size()<=1 ) throw S("won't merge less than 2 files"); - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); // parse options: bool add_zk = false; if ( opts=="+" ) @@ -1125,7 +1125,7 @@ void NManip::files_merge( const string& opts ) void NManip::files_merge_pointwise() { - IterateO fiter(NSel::selD()); + FileIterator fiter(NSel::selD()); // Copy first input file: ROld fin = fiter.getD(); POld fout( fin->new_old() ); @@ -1176,7 +1176,7 @@ void NManip::interpolate() return; RNode T = user_xaxparse( expr.c_str() ); - IterateO fiter(NSel::selD()); + FileIterator fiter(NSel::selD()); while ( ROld fin = fiter.getD() ) { int k = fiter.k(); POld fout( fin->new_old() ); @@ -1232,7 +1232,7 @@ void NManip::make_histogram() // Determine range: double xmin=0, xmax=0; // initialized to prevent warning int npts = 0; - IterateO fiter(NSel::selD()); + FileIterator fiter(NSel::selD()); while ( ROld fin = fiter.getD() ) { for ( int j=0; j<fin->nJ(); j++ ) { RSpec sin = fin ->VS(j); diff --git a/pub/lib/mem.cpp b/pub/lib/mem.cpp index 10cb44a5e9fbe13d9545e073c48b60ab3da0183f..52fc49a3e00cc01e1b836b84c2e2f5b072ee6251 100644 --- a/pub/lib/mem.cpp +++ b/pub/lib/mem.cpp @@ -10,6 +10,7 @@ #include "defs.hpp" #include "../trivia/vector_ops.hpp" #include <cmath> +#include <algorithm> #include "olf.hpp" #include "ptr.hpp" @@ -68,6 +69,15 @@ namespace NOlm { return ret; } + //! Returns list of all file indices. + const vector<int> all_file_indices() + { + vector<int> ret( NOlm::mem_size() ); + iota( ret.begin(), ret.end(), 0 ); + return ret; + } + + //************************************************************************************************** //* Modify online memory, and adapt file NSel::selection //************************************************************************************************** @@ -101,7 +111,7 @@ namespace NOlm { //! Append copy of NSel::selected files to online memory. void mem_copy() { - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); while ( ROlo fin=fiter.get() ){ POlo fout( fin->new_olo( false ) ); fout->copy_mainvec( fin ); @@ -125,7 +135,7 @@ namespace NOlm { void mem_backup_store() { BAK.clear(); - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); while ( ROlo fin=fiter.get() ){ POlo fout( fin->new_olo( false ) ); fout->copy_mainvec( fin ); diff --git a/pub/lib/mem.hpp b/pub/lib/mem.hpp index a0bec5f378a3f4e4318672351079527e613c1383..24d7419e3e5990330f9a259ebc8e81d86ba4178a 100644 --- a/pub/lib/mem.hpp +++ b/pub/lib/mem.hpp @@ -16,6 +16,7 @@ namespace NOlm { const POld mem_get_D( int k ); const POlc mem_get_C( int k ); const int mem_size(); + const vector<int> all_file_indices(); // Modify online memory (file selection is changed accordingly): void mem_store( POlo olo, int k=-1 ); diff --git a/pub/lib/opr.cpp b/pub/lib/opr.cpp index d35ca754cf2df16baeb3017c373f591f237b13a4..bc378d583c5fec5c257d301804ef22747adf75fc 100644 --- a/pub/lib/opr.cpp +++ b/pub/lib/opr.cpp @@ -38,7 +38,7 @@ using boost::format; void NOperate::show( const string& subcmd ) { - IterateO fiter(NSel::selD()); + FileIterator fiter(NSel::selD()); static string expr = "1"; expr = sask( "Show if", expr); @@ -97,7 +97,7 @@ void NOperate::show( const string& subcmd ) void NOperate::select( bool sel_del ) { - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); static string expr; expr = sask((sel_del ? "Delete if" : "Retain if"), expr); if (expr=="") @@ -148,7 +148,7 @@ void NOperate::select( bool sel_del ) void NOperate::Pointwise( string llabel ) { - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); CGenus lref(llabel); @@ -259,7 +259,7 @@ void NOperate::Pointwise( string llabel ) void NOperate::Integral() { - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); static string expr; expr = sask( "Functional", expr ); @@ -326,7 +326,7 @@ void NOperate::Integral() void NOperate::IntXY( string mode ) { // EMBEDDED_DIALOG - IterateO fiter(NSel::selD()); + FileIterator fiter(NSel::selD()); bool with_d; if ( mode=="xy" ) @@ -396,7 +396,7 @@ void NOperate::IntXY( string mode ) void NOperate::Functional( const string& subcmd ) { - IterateO fiter(NSel::selD()); + FileIterator fiter(NSel::selD()); while ( ROld fin = fiter.getD() ) { POld fout( fin->new_old() ); fout->lDoc.push_back( "of"+subcmd ); diff --git a/pub/lib/plot.cpp b/pub/lib/plot.cpp index a83e65f2eb897e585f52e715c4129748e07aaf50..2c0ae252e043eca4ba51cbfb9e297d1166ce43aa 100644 --- a/pub/lib/plot.cpp +++ b/pub/lib/plot.cpp @@ -35,7 +35,7 @@ void determine_Xrange( CPlot* plot, vector<int>& JSel ) { double inf, sup; - IterateO fiter(NSel::selD()); + FileIterator fiter(NSel::selD()); const vector<double> *vx; bool first = true; while( ROld fd = fiter.getD() ) { @@ -67,7 +67,7 @@ void determine_Xrange( CPlot* plot, vector<int>& JSel ) void determine_Yrange( CPlot* plot, vector<int>& JSel ) { double inf=INFINITY, sup=-INFINITY; - IterateO fiter; + FileIterator fiter(NSel::sel()); while( ROlo f = fiter.get() ){ int k = fiter.k(); ROlc fc = R2C( f ); @@ -413,7 +413,7 @@ int plot_curve_refine( CPlot* plot, ROlc fc, int k, int j, int cstyle ) void NPlot::plot( class CPlot *plot, bool add, const string& mode ) { - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); static vector<int> JSel; static int pstyle=1, cstyle=1; diff --git a/pub/lib/special.cpp b/pub/lib/special.cpp index 0779a2336fb52e955d89c2d91c919f87b8aac605..48cd9e1844895bec3f8fdc4255f7e90dc10e21c7 100644 --- a/pub/lib/special.cpp +++ b/pub/lib/special.cpp @@ -35,7 +35,7 @@ void NSpecial::FourierCosine() fftw_plan plan; int n; - IterateO fiter(NSel::selD()); + FileIterator fiter(NSel::selD()); while( ROld fin = fiter.getD() ) { POld fout( fin->new_old() ); fout->lDoc.push_back("Fourier Cosine"); diff --git a/pub/lib/toplevel.cpp b/pub/lib/toplevel.cpp index 75b09d8be91e2f59265bd957696498ded4dee863..87187134d9f9d6fda00c2c5929b491f22219503c 100644 --- a/pub/lib/toplevel.cpp +++ b/pub/lib/toplevel.cpp @@ -106,7 +106,7 @@ void CFrida::execute_cmd( const string cmdline ) if( T->has_dummy() ) throw S("dummy argument t not allowed outside curve definitions"); if( T->k_dependent() ) { - IterateO fiter(NSel::sel()); + FileIterator fiter(NSel::sel()); while ( (fiter.get()) ) { int k = fiter.k(); if ( fiter.size()>1 )