Changeset 3089 in Sophya for trunk/SophyaProg/Tests/tswfits.cc


Ignore:
Timestamp:
Oct 11, 2006, 12:58:10 PM (19 years ago)
Author:
ansari
Message:

prog tests: ajout test perfo multi-fft (tfft.cc) et amelioration test SwFits (tswfits.cc), Reza 11/10/2006

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaProg/Tests/tswfits.cc

    r2890 r3089  
    1111#include "swfitsdtable.h"
    1212
     13#include "datatable.h"
     14#include "fitshdtable.h"
     15
    1316void test_fdtable() ;
     17static long NROW = 64;
     18static long NPRT = 10;
    1419
    1520int main(int narg, char *arg[])
     
    1722  SophyaInit();
    1823  FitsIOServerInit();
     24  if (narg < 3) {
     25    cout << "Erreur arg/Usage: tswfits NRowTable NPRT" << endl;
     26    return 1;
     27  }
     28  NROW = atoi(arg[1]);
     29  NPRT = atoi(arg[2]);
    1930  try {
    20     /*
    21     if (*arg[1] == 'd')  test_dvl();
    22     else if (*arg[1] == 'n')  test_ntuple();
    23     //    else if (*arg[1] == 'x')  test_xntuple();
    24     else if (*arg[1] == 'X')  test_Xntuple();
    25     */
    2631    test_fdtable();
    2732  }
     
    3540    cerr << "tswfits-main() , Catched ... ! " << endl;
    3641  }
     42 
    3743}
    3844
     
    4046void test_fdtable()
    4147{
    42   cout << "======= test_fdtable:  simple DataTable+FITS test ======= " << endl;
     48  cout << "======= test_fdtable:  simple SwapOnFits test ======= " << endl;
    4349    int SWSEGSZ = 4;
    4450    vector<int_8> tags;
    4551    {
    46       cout << " Creation FITSDataSwapper<double> swout(so) avec swseg.fits " << endl;
     52      cout << "1/ Creation FITSDataSwapper<double> swout(so) avec swseg.fits " << endl;
    4753      vector<string> ttype, tform, tunit;
    4854      ttype.push_back("D-Col1");
     
    7480    }
    7581    {
    76       cout << "6/ Creation PPFDataSwapper<float> avec lecture depuis swseg.ppf " << endl;
     82      cout << "2/ Creation FITSDataSwapper<double> avec lecture depuis swseg.fits" << endl;
    7783      FitsInOutFile si("swseg.fits", FitsInOutFile::Fits_RO);
    7884      si.MoveAbsToHDU(2);
    7985      FITSDataSwapper<double> swin(si, 1);
    8086      SwSegDataBlock<double> swsd(swin, tags, SWSEGSZ);
    81       cout <<"7/ Recopie ds SegDataBlock<float> depuis SwSegDataBlock<float> et print" << endl;
     87      cout <<"2.b/ Recopie ds SegDataBlock<double> depuis SwSegDataBlock<double> et print" << endl;
    8288      SegDataBlock<double> segd;
    8389      segd = swsd;
     
    8692
    8793    {
    88       cout << "8/ Creation SwFitsDataTable sur myswtable.fits " << endl;
     94      cout << " ------------------------------------------------ " << endl;
     95      cout << "3/ Creation SwFitsDataTable sur myswtable.fits " << endl;
    8996      FitsInOutFile so("!myswtable.fits", FitsInOutFile::Fits_Create);
    90       SwFitsDataTable dt(so, 16);
     97      SwFitsDataTable dt(so, 45);
    9198      // define table columns
    9299      dt.AddFloatColumn("X0_f");
    93100      dt.AddFloatColumn("X1_f");
    94101      dt.AddDoubleColumn("X0X0pX1X1_d");
    95       cout << "8.b/ start fill " << endl;
     102      cout << "3.b/ start fill " << endl;
    96103      // Fill the table
    97104      r_8 x[5];
    98       for(int i=0; i<63; i++) {
    99         if (i < 5)  cout << " DBG - i= " << i << endl;
     105      int pmod = NROW/50;
     106      if (pmod < 10) pmod = 10;
     107      for(int i=0; i<NROW; i++) {
     108        //      if (i%pmod == 0)  cout << " DBG - i= " << i << endl;
    100109        x[0] = (i%9)-4.;  x[1] = (i/9)-3.;  x[2] = x[0]*x[0]+x[1]*x[1];
    101110        dt.AddLine(x);
    102111      }
    103       cout << "8.c/ End fill " << endl;
     112      cout << "3.c/ End fill " << endl;
    104113     
    105114      // Printing table info
    106115      cout << dt ;
     116      for(int k = 0; k<NPRT; k++)
     117        cout << "Line[" << k << "] " << dt.LineToString(k) << endl ;
     118     
    107119    }
     120    {
     121      cout << " ------------------------------------------------ " << endl;
     122      cout << "4/ Lecture SwFitsDataTable depuis myswtable.fits " << endl;
     123      FitsInOutFile si("myswtable.fits", FitsInOutFile::Fits_RO);
     124      si.SkipEmptyFirstHDU();
     125      SwFitsDataTable dt(si,40,false);
     126      //      si >> dt;
     127      // Printing table info
     128      cout << dt ;
     129      for(int k = 0; k<NPRT; k++)
     130        cout << "Line[" << k << "] " << dt.LineToString(k) << endl ;
     131    }
     132
    108133  cout << "============ FIN  test_fdtable ======== ======= " << endl; 
    109134}
Note: See TracChangeset for help on using the changeset viewer.