Ignore:
Timestamp:
Dec 19, 2000, 12:27:39 PM (25 years ago)
Author:
lemeur
Message:

extension bntblLineRW aux long et byte

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaExt/FitsIOServer/fitsfile.cc

    r1354 r1359  
    88
    99
    10 void BnTblLine::setFormat(int dc, int fc, int ic, int cc, vector<string> names)
     10void BnTblLine::setFormat(int dc, int fc, int ic,  int lc, int bc,int cc, vector<string> names)
    1111   {
    12     int nbcols = dc + fc + ic + cc;
     12    int nbcols = dc + fc + ic + cc + lc + bc;
    1313    int maxName = names.size();
    1414    if (nbcols != maxName)
     
    2323    if (ic >0) idata_ = vector<int>(fc);
    2424    if (cc >0) cdata_ = vector<string>(fc);
     25    if (lc >0) ldata_ = vector<long>(lc);
     26    if (bc >0) bdata_ = vector<unsigned char>(bc);
    2527   }
    2628
    2729bool BnTblLine::sameFormat(const BnTblLine& btl) const
    2830   {
    29      if (btl.ddata_.size() == ddata_.size() && btl.fdata_.size() == fdata_.size() && btl.idata_.size() == idata_.size() && btl.cdata_.size() == cdata_.size()) return true;
     31     if (btl.ddata_.size() == ddata_.size() && btl.fdata_.size() == fdata_.size() && btl.idata_.size() == idata_.size() && btl.cdata_.size() == cdata_.size() &&  btl.ldata_.size() == ldata_.size() &&  btl.bdata_.size() == bdata_.size()) return true;
    3032     else return false;
    3133   }
     
    4951     cout << " *** variables string  " << endl;
    5052     for (k=0; k < cdata_.size(); k++) cout << cdata_[k] << " ";
     53     cout << endl;
     54     cout << " *** variables long  " << endl;
     55     for (k=0; k < ldata_.size(); k++) cout << ldata_[k] << " ";
     56     cout << endl;
     57     cout << " *** variables byte  " << endl;
     58     for (k=0; k < bdata_.size(); k++) cout << (int)bdata_[k] << " ";
    5159     cout << endl;
    5260     cout << " ***************************** " << endl;
     
    721729          break;
    722730        case FitsDataType_int :
    723           fits_read_col(fptr_,TINT,ncol+1,NoLine+1,1,1,&inull,&ligne.idata_[icount++],
    724                         &anull,&status);
     731          fits_read_col(fptr_,TINT,ncol+1,NoLine+1,1,1,&inull,&ligne.idata_[icount++], &anull,&status);
     732          break;
     733        case FitsDataType_long :
     734          fits_read_col(fptr_,TLONG,ncol+1,NoLine+1,1,1,&inull,&ligne.ldata_[icount++], &anull,&status);
     735          break;
     736        case FitsDataType_byte :
     737          fits_read_col(fptr_,TBYTE,ncol+1,NoLine+1,1,1,&inull,&ligne.bdata_[icount++], &anull,&status);
    725738          break;
    726739        case FitsDataType_char :
     
    10741087              break;
    10751088            case TLONG :
    1076               types.push_back(FitsDataType_int);
     1089              types.push_back(FitsDataType_long);
    10771090              break;
    10781091            case TSHORT :
     
    11111124              break;
    11121125            case TLONG :
    1113               types.push_back(FitsDataType_int);
     1126              types.push_back(FitsDataType_long);
    11141127              break;
    11151128            case TINT :
     
    11251138              break;
    11261139            case TBYTE :
    1127               types.push_back(FitsDataType_char);
    1128               taille_des_chaines.push_back(width);
    1129               rept/=width;
     1140              types.push_back(FitsDataType_byte);
    11301141              break;
    11311142            default :
     
    16941705      fits_write_col(fptr_,TINT,ncol+1,NoLine+1,1,1, &ligne.idata_[k] ,&status);
    16951706      if( status ) printerror( status, "PutBinTabLine : erreur ecriture entier"  );
     1707    }
     1708  for (k=0; k<ligne.ldata_.size(); k++, ncol++)
     1709    {
     1710      fits_write_col(fptr_,TLONG,ncol+1,NoLine+1,1,1, &ligne.ldata_[k] ,&status);
     1711      if( status ) printerror( status, "PutBinTabLine : erreur ecriture entier long"  );
     1712    }
     1713  for (k=0; k<ligne.bdata_.size(); k++, ncol++)
     1714    {
     1715      fits_write_col(fptr_,TBYTE,ncol+1,NoLine+1,1,1, &ligne.bdata_[k] ,&status);
     1716      if( status ) printerror( status, "PutBinTabLine : erreur ecriture byte"  );
    16961717    }
    16971718 
Note: See TracChangeset for help on using the changeset viewer.