Changeset 12885 for trunk/FACT++/src


Ignore:
Timestamp:
02/09/12 18:43:38 (13 years ago)
Author:
tbretz
Message:
Fixed some shadow declarations.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/FACT++/src/fitsdump.cc

    r12884 r12885  
    132132}
    133133
    134 void FitsDumper::ListKeywords(ostream &out)
     134void FitsDumper::ListKeywords(ostream &fout)
    135135{
    136136    const fits::Table::Keys &fKeyMap = GetKeys();
    137137
    138138    for (auto it=fKeyMap.begin(); it != fKeyMap.end(); it++) {
    139         out << "## " << setw(8) << it->first << " = " << setw(10);
    140         out << "'" << it->second.value << "'" << " / " << it->second.comment << endl;
     139        fout << "## " << setw(8) << it->first << " = " << setw(10);
     140        fout << "'" << it->second.value << "'" << " / " << it->second.comment << endl;
    141141    }
    142142}
     
    144144void FitsDumper::ListHeader(const string& filename)
    145145{
    146     ofstream out(filename=="-"?"/dev/stdout":filename);
    147     if (!out)
     146    ofstream fout(filename=="-"?"/dev/stdout":filename);
     147    if (!fout)
    148148    {
    149149        cerr << "Cannot open file " << filename << ": " << strerror(errno) << endl;
     
    153153    const fits::Table::Keys &fKeyMap = GetKeys();
    154154
    155     out << "\nTable: " << fKeyMap.find("EXTNAME")->second.value << " (rows=" << fKeyMap.find("NAXIS2")->second.value << ")\n";
     155    fout << "\nTable: " << fKeyMap.find("EXTNAME")->second.value << " (rows=" << fKeyMap.find("NAXIS2")->second.value << ")\n";
    156156    if (fKeyMap.find("COMMENT") != fKeyMap.end())
    157         out << "Comment: \t" << fKeyMap.find("COMMENT")->second.value << "\n";
    158 
    159     ListKeywords(out);
    160     out << endl;
    161 
     157        fout << "Comment: \t" << fKeyMap.find("COMMENT")->second.value << "\n";
     158
     159    ListKeywords(fout);
     160    fout << endl;
    162161}
    163162
     
    235234//! Perform the actual dump, based on the current parameters
    236235//
    237 void FitsDumper::Dump(ofstream &out, const vector<MyColumn> &cols, const string &filename)
     236void FitsDumper::Dump(ofstream &fout, const vector<MyColumn> &cols, const string &filename)
    238237{
    239238    const fits::Table::Keys &fKeyMap = GetKeys();
    240239
    241     out << "## --------------------------------------------------------------------------\n";
    242     out << "## Fits file:\t" << fFilename << '\n';
     240    fout << "## --------------------------------------------------------------------------\n";
     241    fout << "## Fits file:\t" << fFilename << '\n';
    243242    if (filename!="-")
    244         out << "## File:    \t" << filename << '\n';
    245     out << "## Table:   \t" << fKeyMap.find("EXTNAME")->second.value << '\n';
    246     out << "## NumRows: \t" << GetInt("NAXIS2") << '\n';
    247     out << "## Comment: \t" << ((fKeyMap.find("COMMENT") != fKeyMap.end()) ? fKeyMap.find("COMMENT")->second.value : "") << '\n';
    248     out << "## --------------------------------------------------------------------------\n";
    249     ListKeywords(out);
    250     out << "## --------------------------------------------------------------------------\n";
    251     out << "#\n";
     243        fout << "## File:    \t" << filename << '\n';
     244    fout << "## Table:   \t" << fKeyMap.find("EXTNAME")->second.value << '\n';
     245    fout << "## NumRows: \t" << GetInt("NAXIS2") << '\n';
     246    fout << "## Comment: \t" << ((fKeyMap.find("COMMENT") != fKeyMap.end()) ? fKeyMap.find("COMMENT")->second.value : "") << '\n';
     247    fout << "## --------------------------------------------------------------------------\n";
     248    ListKeywords(fout);
     249    fout << "## --------------------------------------------------------------------------\n";
     250    fout << "#\n";
    252251
    253252    for (auto it=cols.begin(); it!=cols.end(); it++)
    254253    {
    255         out << "# " << it->name;
     254        fout << "# " << it->name;
    256255
    257256        if (it->first==it->last)
    258257        {
    259258            if (it->first!=0)
    260                 out << "[" << it->first << "]";
     259                fout << "[" << it->first << "]";
    261260        }
    262261        else
    263             out << "[" << it->first << ":" << it->last << "]";
    264 
    265         out << ": " << it->col.unit << '\n';
    266     }
    267     out << "#" << endl;
     262            fout << "[" << it->first << ":" << it->last << "]";
     263
     264        fout << ": " << it->col.unit << '\n';
     265    }
     266    fout << "#" << endl;
    268267
    269268    // -----------------------------------------------------------------
     
    286285                    break;
    287286                case 'B':
    288                     out << (unsigned int)reinterpret_cast<const unsigned char*>(it->ptr)[i] << " ";
     287                    fout << (unsigned int)reinterpret_cast<const unsigned char*>(it->ptr)[i] << " ";
    289288                    break;
    290289                case 'L':
    291                     out << reinterpret_cast<const bool*>(it->ptr)[i] << " ";
     290                    fout << reinterpret_cast<const bool*>(it->ptr)[i] << " ";
    292291                    break;
    293292                case 'I':
    294                     out << reinterpret_cast<const int16_t*>(it->ptr)[i] << " ";
     293                    fout << reinterpret_cast<const int16_t*>(it->ptr)[i] << " ";
    295294                    break;
    296295                case 'J':
    297                     out << reinterpret_cast<const int32_t*>(it->ptr)[i] << " ";
     296                    fout << reinterpret_cast<const int32_t*>(it->ptr)[i] << " ";
    298297                    break;
    299298                case 'K':
    300                     out << reinterpret_cast<const int64_t*>(it->ptr)[i] << " ";
     299                    fout << reinterpret_cast<const int64_t*>(it->ptr)[i] << " ";
    301300                    break;
    302301                case 'E':
    303                     out << reinterpret_cast<const float*>(it->ptr)[i] << " ";
     302                    fout << reinterpret_cast<const float*>(it->ptr)[i] << " ";
    304303                    break;
    305304                case 'D':
    306                     out << reinterpret_cast<const double*>(it->ptr)[i] << " ";
     305                    fout << reinterpret_cast<const double*>(it->ptr)[i] << " ";
    307306                    break;
    308307                default:
     
    312311
    313312            if (it->col.type=='A')
    314                 out << "'" << msg << "' ";
    315         }
    316         out << endl;
    317     }
    318 }
    319 
    320 void FitsDumper::DumpMinMax(ofstream &out, const vector<MyColumn> &cols, bool fNoZeroPlease)
     313                fout << "'" << msg << "' ";
     314        }
     315        fout << endl;
     316    }
     317}
     318
     319void FitsDumper::DumpMinMax(ofstream &fout, const vector<MyColumn> &cols, bool fNoZeroPlease)
    321320{
    322321    vector<minMaxStruct> statData(cols.size());
     
    331330        auto statsIt = statData.begin();
    332331
    333         for (auto in=cols.begin(); in!=cols.end(); in++, statsIt++)
    334         {
    335             if ((in->name=="UnixTimeUTC" || in->name=="PCTime") && in->first==0 && in->last==1)
     332        for (auto it=cols.begin(); it!=cols.end(); it++, statsIt++)
     333        {
     334            if ((it->name=="UnixTimeUTC" || it->name=="PCTime") && it->first==0 && it->last==1)
    336335            {
    337                 const uint32_t *val = reinterpret_cast<const uint32_t*>(in->ptr);
     336                const uint32_t *val = reinterpret_cast<const uint32_t*>(it->ptr);
    338337                if (fNoZeroPlease && val[0]==0 && val[1]==0)
    339338                    continue;
     
    343342            }
    344343
    345             for (uint32_t i=in->first; i<=in->last; i++)
     344            for (uint32_t i=it->first; i<=it->last; i++)
    346345            {
    347346                double cValue = 0;
    348                 switch (in->col.type)
     347                switch (it->col.type)
    349348                {
    350349                case 'L':
    351                         cValue = reinterpret_cast<const bool*>(in->ptr)[i];
     350                        cValue = reinterpret_cast<const bool*>(it->ptr)[i];
    352351                        break;
    353352                case 'B':
    354                         cValue = reinterpret_cast<const int8_t*>(in->ptr)[i];
     353                        cValue = reinterpret_cast<const int8_t*>(it->ptr)[i];
    355354                        break;
    356355                case 'I':
    357                         cValue = reinterpret_cast<const int16_t*>(in->ptr)[i];
     356                        cValue = reinterpret_cast<const int16_t*>(it->ptr)[i];
    358357                        break;
    359358                case 'J':
    360                         cValue = reinterpret_cast<const int32_t*>(in->ptr)[i];
     359                        cValue = reinterpret_cast<const int32_t*>(it->ptr)[i];
    361360                        break;
    362361                case 'K':
    363                         cValue = reinterpret_cast<const int64_t*>(in->ptr)[i];
     362                        cValue = reinterpret_cast<const int64_t*>(it->ptr)[i];
    364363                        break;
    365364                case 'E':
    366                         cValue = reinterpret_cast<const float*>(in->ptr)[i];
     365                        cValue = reinterpret_cast<const float*>(it->ptr)[i];
    367366                        break;
    368367                case 'D':
    369                         cValue = reinterpret_cast<const double*>(in->ptr)[i];
     368                        cValue = reinterpret_cast<const double*>(it->ptr)[i];
    370369                        break;
    371370                default:
     
    387386    for (auto it=cols.begin(); it!=cols.end(); it++, statsIt++)
    388387    {
    389         cout << "\n[" << it->name << ':' << it->first;
     388        fout << "\n[" << it->name << ':' << it->first;
    390389        if (it->first!=it->last)
    391             cout << ':' << it->last;
    392         cout << "]\n";
     390            fout << ':' << it->last;
     391        fout << "]\n";
    393392
    394393        if (statsIt->numValues == 0)
    395394        {
    396             out << "Min: -\nMax: -\nAvg: -\nRms: -" << endl;
     395            fout << "Min: -\nMax: -\nAvg: -\nRms: -" << endl;
    397396            continue;
    398397        }
     
    406405        rms  = sqrt(rms/num - avg*avg);
    407406
    408         out << "Min: " << statsIt->min << '\n';
    409         out << "Max: " << statsIt->max << '\n';
    410         out << "Avg: " << avg << '\n';
    411         out << "Rms: " << rms << endl;
     407        fout << "Min: " << statsIt->min << '\n';
     408        fout << "Max: " << statsIt->max << '\n';
     409        fout << "Avg: " << avg << '\n';
     410        fout << "Rms: " << rms << endl;
    412411    }
    413412}
     
    454453}
    455454
    456 void FitsDumper::DumpStats(ofstream &out, const vector<MyColumn> &cols)
     455void FitsDumper::DumpStats(ofstream &fout, const vector<MyColumn> &cols)
    457456{
    458457    // Loop over all columns in our list of requested columns
    459458    vector<vector<char>> statData;
    460459
    461     for (auto in=cols.begin(); in!=cols.end(); in++)
    462         statData.push_back(vector<char>(in->col.size*GetNumRows()*(in->last-in->first+1)));
     460    for (auto it=cols.begin(); it!=cols.end(); it++)
     461        statData.push_back(vector<char>(it->col.size*GetNumRows()*(it->last-it->first+1)));
    463462
    464463    while (GetNextRow())
     
    469468
    470469        auto statsIt = statData.begin();
    471         for (auto in=cols.begin(); in!=cols.end(); in++, statsIt++)
    472         {
    473             const char *src = reinterpret_cast<const char*>(in->ptr);
    474             const size_t sz = (in->last-in->first+1)*in->col.size;
    475             memcpy(statsIt->data()+row*sz, src+in->first*in->col.size, sz);
     470        for (auto it=cols.begin(); it!=cols.end(); it++, statsIt++)
     471        {
     472            const char *src = reinterpret_cast<const char*>(it->ptr);
     473            const size_t sz = (it->last-it->first+1)*it->col.size;
     474            memcpy(statsIt->data()+row*sz, src+it->first*it->col.size, sz);
    476475        }
    477476    }
    478477
    479478    auto statsIt = statData.begin();
    480     for (auto in=cols.begin(); in!=cols.end(); in++, statsIt++)
    481     {
    482         out << "\n[" << in->name << ':' << in->first;
    483         if (in->last!=in->first)
    484             out << ':' << in->last;
    485         out << "]\n";
    486 
    487         switch (in->col.type)
     479    for (auto it=cols.begin(); it!=cols.end(); it++, statsIt++)
     480    {
     481        fout << "\n[" << it->name << ':' << it->first;
     482        if (it->last!=it->first)
     483            fout << ':' << it->last;
     484        fout << "]\n";
     485
     486        switch (it->col.type)
    488487        {
    489488        case 'L':
    490             displayStats<bool>(*statsIt, out);
     489            displayStats<bool>(*statsIt, fout);
    491490            break;
    492491        case 'B':
    493             displayStats<char>(*statsIt, out);
     492            displayStats<char>(*statsIt, fout);
    494493            break;
    495494        case 'I':
    496             displayStats<int16_t>(*statsIt, out);
     495            displayStats<int16_t>(*statsIt, fout);
    497496            break;
    498497        case 'J':
    499             displayStats<int32_t>(*statsIt, out);
     498            displayStats<int32_t>(*statsIt, fout);
    500499            break;
    501500        case 'K':
    502             displayStats<int64_t>(*statsIt, out);
     501            displayStats<int64_t>(*statsIt, fout);
    503502            break;
    504503        case 'E':
    505             displayStats<float>(*statsIt, out);
     504            displayStats<float>(*statsIt, fout);
    506505            break;
    507506        case 'D':
    508             displayStats<double>(*statsIt, out);
     507            displayStats<double>(*statsIt, fout);
    509508            break;
    510509        default:
     
    555554    const string filename = conf.Get<string>("outfile");
    556555
    557     ofstream out(filename=="-"?"/dev/stdout":filename);
    558     if (!out)
     556    ofstream fout(filename=="-"?"/dev/stdout":filename);
     557    if (!fout)
    559558    {
    560559        cerr << "Cannot open file " << filename << ": " << strerror(errno) << endl;
    561560        return false;
    562561    }
    563     out.precision(conf.Get<int>("precision"));
     562    fout.precision(conf.Get<int>("precision"));
    564563
    565564    const vector<MyColumn> cols = InitColumns(conf.Vec<string>("col"));
     
    569568    if (conf.Get<bool>("minmax"))
    570569    {
    571         DumpMinMax(out, cols, conf.Get<bool>("nozero"));
     570        DumpMinMax(fout, cols, conf.Get<bool>("nozero"));
    572571        return 0;
    573572    }
     
    575574    if (conf.Get<bool>("stat"))
    576575    {
    577         DumpStats(out, cols);
     576        DumpStats(fout, cols);
    578577        return 0;
    579578    }
    580579
    581     Dump(out, cols, filename);
     580    Dump(fout, cols, filename);
    582581
    583582    return 0;
Note: See TracChangeset for help on using the changeset viewer.