Changeset 16867 for trunk/Mars/mcore


Ignore:
Timestamp:
06/19/13 12:47:49 (11 years ago)
Author:
lyard
Message:
got rid of defines
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Mars/mcore/zfits.h

    r16856 r16867  
    1414#include "huffman.h"
    1515
     16/*
     17#define FACT_RAW       0x0
     18#define FACT_SMOOTHING 0x1
     19#define FACT_HUFFMAN16 0x2
     20
     21#define FACT_COL_MAJOR 'C'
     22#define FACT_ROW_MAJOR 'R'
     23*/
     24
    1625
    1726#ifndef __MARS__
     
    1928{
    2029#endif
     30
     31enum FACT_COMPRESSION_PROCESS
     32{
     33    FACT_RAW = 0x0,
     34    FACT_SMOOTHING = 0x1,
     35    FACT_HUFFMAN16 = 0x2
     36};
     37
     38enum FACT_ROW_ORDERING
     39{
     40    FACT_COL_MAJOR = 'C',
     41    FACT_ROW_MAJOR = 'R'
     42};
    2143
    2244class zfits : public fits
     
    5779        return true;
    5880    }
     81
    5982protected:
    6083
     
    99122
    100123        BlockHeader(uint64_t      s=0,
    101                     char          o='R'/*FACT_ROW_MAJOR*/,
     124                    char          o=FACT_ROW_MAJOR,
    102125                    unsigned char n=1) : size(s),
    103126                                         ordering(o),
     
    131154        fColumnOrdering.resize(fTable.sortedCols.size());
    132155        for (auto it=fColumnOrdering.begin(); it != fColumnOrdering.end(); it++)
    133             (*it) = 'R';//FACT_ROW_MAJOR;
    134 
     156            (*it) = FACT_ROW_MAJOR;
    135157        //Get compressed specific keywords
    136158        fNumTiles       = fTable.isCompressed ? GetInt("NAXIS2") : 0;
     
    272294            //skip to the beginning of the tile
    273295            seekg(fHeapOff+fCatalog[requestedTile][0].second - sizeof(TileHeader));
    274 
    275296            TileHeader tHead;
    276297            read((char*)(&tHead), sizeof(TileHeader));
     
    305326                switch (fColumnOrdering[i])
    306327                {
    307                 case 'R': //FACT_ROW_MAJOR:
     328                    case FACT_ROW_MAJOR:
    308329                        // regular, "semi-transposed" copy
    309330                        for (char *dest=buffer; dest<buffer+thisRoundNumRows*fTable.bytes_per_row; dest+=fTable.bytes_per_row) // row-by-row
     
    314335                    break;
    315336
    316                 case 'C'://FACT_COL_MAJOR:
     337                    case FACT_COL_MAJOR:
    317338                        // transposed copy
    318339                        for (char *elem=buffer; elem<buffer+it->bytes; elem+=it->size) // element-by-element (arrays)
     
    328349                        clear(rdstate()|ios::badbit);
    329350    #ifdef __EXCEPTIONS
    330                         throw runtime_error("Unkown column ordering scheme");
     351                        throw runtime_error("Unkown column ordering scheme found");
    331352    #else
    332353                        gLog << ___err___ << "ERROR - unkown column ordering scheme" << endl;
     
    410431            fColumnOrdering[i] = head->ordering;
    411432
    412             const uint32_t numRows = (head->ordering=='R'/*FACT_ROW_MAJOR*/) ? thisRoundNumRows : col.num;
    413             const uint32_t numCols = (head->ordering=='C'/*FACT_COL_MAJOR*/) ? thisRoundNumRows : col.num;
     433            const uint32_t numRows = (head->ordering==FACT_ROW_MAJOR) ? thisRoundNumRows : col.num;
     434            const uint32_t numCols = (head->ordering==FACT_COL_MAJOR) ? thisRoundNumRows : col.num;
    414435
    415436            const char *src = fCompressedBuffer.data()+compressedOffset+sizeof(BlockHeader)+sizeof(uint16_t)*head->numProcs;
     
    421442                switch (head->processings[j])
    422443                {
    423                 case 0x0://FACT_RAW:
     444                    case FACT_RAW:
    424445                            sizeWritten = UncompressUNCOMPRESSED(dest, src, numRows*numCols, col.size);
    425446                    break;
    426                 case 0x1://FACT_SMOOTHING:
     447                    case FACT_SMOOTHING:
    427448                            sizeWritten = UnApplySMOOTHING(reinterpret_cast<int16_t*>(dest), numRows*numCols);
    428449                    break;
    429                 case 0x2://FACT_HUFFMAN16:
     450                    case FACT_HUFFMAN16:
    430451                            sizeWritten = UncompressHUFFMAN16(dest, src, numRows);
    431452                    break;
     
    477498
    478499            //a new tile begins here
    479             catalog.emplace_back(0);//push_back(vector<pair<int64_t, int64_t> >(0));
     500            catalog.push_back(vector<pair<int64_t, int64_t> >(0));
    480501            offsetInHeap += sizeof(TileHeader);
    481502
     
    486507                if (fTable.sortedCols[i].num == 0)
    487508                {
    488                     catalog.back().emplace_back(0,0);
     509                    catalog.back().push_back(make_pair(0,0));
    489510                    continue;
    490511                }
     
    494515                if (!good())
    495516                    break;
    496                 catalog.back().emplace_back(int64_t(columnHead.size),offsetInHeap);
     517                catalog.back().emplace_back((int64_t)(columnHead.size),offsetInHeap);
    497518                offsetInHeap += columnHead.size;
    498519                seekg(fHeapOff+offsetInHeap);
Note: See TracChangeset for help on using the changeset viewer.