Changeset 3276 in Sophya
- Timestamp:
- Jul 6, 2007, 4:17:18 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaProg/Tests/tcmd.cc
r2615 r3276 12 12 #include "commander.h" 13 13 14 /* -------------- Programme test de SOPHYA tcmd.cc 15 Test des classes Timer , CExpressionEvaluator , 16 RPNExpressionEvaluator , Commander , 17 csh> tcmd commander 18 csh> tcmd cexptst 19 csh> tcmd rpntst 20 csh tcmd timer 21 ------ R. Ansari ---- 2003-2007 --------------- */ 14 22 15 23 class TCmdExecutor : public CmdExecutor { … … 53 61 int tst_cexpreval(); // Test de CExpressionEvaluator 54 62 int tst_rpneval(); // Test de RPNEvaluator 63 int tst_timer(); // Test de Timer 55 64 56 65 /* --Main-- */ … … 59 68 60 69 if (narg < 2) { 61 cout << " Usage: tcmd S=commander/cexptst/rpntst \n"70 cout << " Usage: tcmd S=commander/cexptst/rpntst/timer \n" 62 71 << " S= commander: Commader class test \n" 63 72 << " S= cexptst: CExpressionEvaluator class test \n" 64 << " S= rpntst: RPNExpressionEvaluator class test \n" << endl; 73 << " S= rpntst: RPNExpressionEvaluator class test \n" 74 << " S= timer: Timer class test \n" << endl; 65 75 return 0; 66 76 } … … 78 88 else if (opt == "cexptst") rc = tst_cexpreval(); 79 89 else if (opt == "rpntst") rc = tst_rpneval(); 90 else if (opt == "timer") rc = tst_timer(); 80 91 else { 81 92 cout << " tcmd/error: Unknown select option: " << opt << endl; … … 376 387 return 0; 377 388 } 389 390 /* --Fonction-- */ 391 int tst_timer() 392 { 393 TIMEF ; 394 cout << "**** tcmd.cc : Test class SOPHYA::Timer() **** " << endl; 395 Timer tm("tcmd::Timer", false); 396 int N = 10000000; 397 double * x = new double[N]; 398 for(int k=0; k<N; k++) x[k] = k*0.0001; 399 for(int k=0; k<N; k++) x[k] = sin(x[k]); 400 for(int k=0; k<N; k++) x[k] = cos(x[k]); 401 tm.Split(); 402 cout << " Step1: PARTIAL CPU=" << tm.PartialCPUTime() 403 << " Elapsed= " << tm.PartialElapsedTime() << endl; 404 cout << " Step1: TOTAL CPU=" << tm.TotalCPUTime() 405 << " Elapsed= " << tm.TotalElapsedTime() << endl; 406 407 for(int k=0; k<N; k++) x[k] *= 8.5; 408 for(int k=0; k<N; k++) x[k] = tan(x[k]); 409 410 tm.Split(); 411 cout << " Step2: PARTIAL CPU=" << tm.PartialCPUTime() 412 << " Elapsed= " << tm.PartialElapsedTime() << endl; 413 cout << " Step2: TOTAL CPU=" << tm.TotalCPUTime() 414 << " Elapsed= " << tm.TotalElapsedTime() << endl; 415 416 for(int k=0; k<N; k++) x[k] = sin(x[k]); 417 for(int k=0; k<N; k++) x[k] = cos(x[k]); 418 for(int k=0; k<N; k++) x[k] *= 15.5; 419 for(int k=0; k<N; k++) x[k] = sin(x[k]); 420 421 tm.Split(); 422 cout << " Step3: PARTIAL CPU=" << tm.PartialCPUTime() 423 << " Elapsed= " << tm.PartialElapsedTime() << endl; 424 cout << " Step3: TOTAL CPU=" << tm.TotalCPUTime() 425 << " Elapsed= " << tm.TotalElapsedTime() << endl; 426 427 428 delete x; 429 } 430
Note:
See TracChangeset
for help on using the changeset viewer.