Changeset 2702 in Sophya for trunk/SophyaProg/Tests/tnt.cc
- Timestamp:
- Apr 27, 2005, 1:55:57 PM (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaProg/Tests/tnt.cc
r2686 r2702 10 10 #include "xntuple.h" 11 11 #include "datatable.h" 12 #include "swppfdtable.h" 12 13 13 14 /* Programme test des classes DVList, NTuple,, XNTuple */ … … 20 21 void test_Xntuple() ; 21 22 void test_DataTable() ; 23 void test_SwPPFDataTable() ; 22 24 23 25 int main(int narg, char *arg[]) … … 25 27 SophyaInit(); 26 28 if (narg < 2) { 27 cout << " tnt/Erreur arg - Usage: tnt d/n/x/X/D B\n"28 << " d:DVList n:NTuple x/X:XNTuple D B: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; 29 31 exit(0); 30 32 } … … 35 37 else if (*arg[1] == 'x') test_xntuple(); 36 38 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(); 38 41 } 39 42 catch(PThrowable exc ) { … … 82 85 { 83 86 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); 91 94 } 92 95 … … 240 243 } 241 244 245 void 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 242 312 void test_Xntuple() 243 313 {
Note:
See TracChangeset
for help on using the changeset viewer.