Changeset 2702 in Sophya for trunk/SophyaProg/Tests/tnt.cc


Ignore:
Timestamp:
Apr 27, 2005, 1:55:57 PM (20 years ago)
Author:
ansari
Message:

Ajout test SwPPFDataTable ds tnt.cc , Reza 27/04/2005

File:
1 edited

Legend:

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

    r2686 r2702  
    1010#include "xntuple.h"
    1111#include "datatable.h"
     12#include "swppfdtable.h"
    1213
    1314/*  Programme test des classes  DVList, NTuple,, XNTuple          */
     
    2021void test_Xntuple() ;
    2122void test_DataTable() ;
     23void test_SwPPFDataTable() ;
    2224
    2325int main(int narg, char *arg[])
     
    2527  SophyaInit();
    2628  if (narg < 2) {
    27     cout << " tnt/Erreur arg - Usage: tnt d/n/x/X/DB \n"
    28          << " d:DVList n:NTuple x/X:XNTuple DB: DataTable test \n" << endl;
     29    cout << " tnt/Erreur arg - Usage: tnt d/n/x/X/DT/SWDT \n"
     30         << " d:DVList n:NTuple x/X:XNTuple DT,SWDT: SwPPF/DataTable test \n" << endl;
    2931    exit(0);
    3032  }
     
    3537    else if (*arg[1] == 'x')  test_xntuple();
    3638    else if (*arg[1] == 'X')  test_Xntuple();
    37     else if (strcmp(arg[1],"DB") == 0)  test_DataTable();
     39    else if (strcmp(arg[1],"DT") == 0)  test_DataTable();
     40    else if (strcmp(arg[1],"SWDT") == 0)  test_SwPPFDataTable();
    3841  }
    3942  catch(PThrowable exc ) {
     
    8285 {
    8386   cout << "Lecture NTuple (nt2) ds nt.ppf ... \n" << endl;
    84 
    85    ObjFileIO<NTuple> fio(fn);
    86    NTuple* nt2 = (NTuple*)fio.DataObj();
    87    nt2->Show(cout);
    88    nt2->Print(0, 5);
    89    nt2->Print(18, 5);
    90    nt2->Print(94, 5);
     87   PInPersist fsi(fn);
     88   NTuple nt2;
     89   fsi >> nt2;
     90   nt2.Show(cout);
     91   nt2.Print(0, 5);
     92   nt2.Print(18, 5);
     93   nt2.Print(94, 5);
    9194 }
    9295
     
    240243}
    241244
     245void test_SwPPFDataTable()
     246{
     247  cout << "======= test_SwPPFDataTable():  simple SwPPFDataTable test ======= " << endl;
     248  {
     249    POutPersist po("swdtable.ppf");
     250    SwPPFDataTable dt(po, 64);
     251    dt.AddIntegerColumn("line");
     252    dt.AddDoubleColumn("x");
     253    dt.AddFloatColumn("f_sin");
     254    dt.AddFloatColumn("f_cos");
     255    dt.AddDoubleColumn("f_sinxcos");
     256    dt.AddDoubleColumn("f_x2");
     257    MuTyV rec[10];
     258    cout << " 1/ First 1000 lines .... " << endl;
     259    for(int k = 0; k<1000; k++) {
     260      rec[0] = k;
     261      double x = M_PI*k/100.;
     262      double fx = sin(x)*cos(x);
     263      rec[1] = x;
     264      rec[2] = sin(x);
     265      rec[3] = cos(x);
     266      rec[4] = fx;
     267      rec[5] = x*x;
     268      dt.AddLine(rec);
     269    }
     270    cout << "1.b/ Use of = operator to make copy of dt " << endl;
     271    SwPPFDataTable dtc1;
     272    dtc1 = dt;
     273    dt.Show();
     274    cout << " 2/ Lines 1000-2000  .... " << endl;
     275    for(int k = 1000; k<2000; k++) {
     276      rec[0] = k;
     277      double x = M_PI*k/100.;
     278      double fx = sin(x)*cos(x);
     279      rec[1] = x;
     280      rec[2] = sin(x);
     281      rec[3] = cos(x);
     282      rec[4] = fx;
     283      rec[5] = x*x;
     284      dt.AddLine(rec);
     285    }
     286    cout << "2.b/ dt.Show();  : " << endl;
     287    dt.Show(); 
     288    cout << "2.c/ dtc1.Show();  : " << endl;
     289    dtc1.Show(); 
     290    cout << "3/ Writing SwPPFDataTable dt to PPF stream swdtable.ppf " << endl;
     291    po << dt;
     292  }
     293  {
     294    cout << "4/ Reading SwPPFDataTable dtr from PPF stream swdtable.ppf " << endl;
     295    PInPersist pi("swdtable.ppf");
     296    SwPPFDataTable dtr;
     297    pi >> dtr;
     298    cout << "4.b/ cout << dtr; " << endl;
     299    cout << dtr;
     300    cout << "4.c/  dtr.LineHeaderToString() dtr.LineToString(k)   : " << endl;
     301    cout << dtr.LineHeaderToString() ;
     302    for(int k = 0; k<1500; k+=75)
     303      cout << "Line[" << k << "] " << dtr.LineToString(k) << endl ;     
     304  }
     305
     306  cout << "============ FIN  test_SwPPFDataTable() ======== ======= " << endl; 
     307}
     308
     309
     310
     311
    242312void test_Xntuple()
    243313{
Note: See TracChangeset for help on using the changeset viewer.