PerformanceStatistics.h

Go to the documentation of this file.
00001 #pragma once
00002 
00003 // COUNT: for performance measurements!
00004 #ifdef COUNT
00005 struct Counters
00006 {
00007         long64 addCount ;
00008         long64 multCount ;
00009         long64 divCount ;
00010         long64 accMultCount ;
00011         
00012         long64 accMultf1 ;
00013         long64 accMultf2 ;
00014         
00015         long64 bitwiseShift ;
00016         long64 bitwiseOR ;
00017         long64 bitwiseAND ;
00018         
00019         long64 memAccess ; //memWrite or memRead
00020         long64 memRef ;
00021 
00022         Counters()
00023         {  
00024                 addCount=0;
00025                 multCount=0;
00026                 divCount=0;
00027                 accMultCount=0;
00028                 
00029                 accMultf1=0;
00030                 accMultf2=0;
00031                 
00032                 bitwiseShift=0;
00033                 bitwiseOR=0;
00034                 bitwiseAND=0;
00035                 
00036                 memAccess=0; //memWrite or memRead
00037                 memRef=0;
00038         }
00039 
00040         void print(std::ostream &os)
00041         {
00042                 os << "-- accMultCount " << accMultCount << std::endl;
00043                 os << "-- accMultf1 " << accMultf1 << std::endl;        
00044                 os << "-- accMultf2 " << accMultf2 << std::endl;        
00045         
00046                 os << "-- addCount " << addCount << std::endl;
00047                 os << "-- multCount " << multCount << std::endl;
00048                 os << "-- divCount " << divCount << std::endl;
00049                 os << "-- memAccess " << memAccess << std::endl;
00050                 os << "-- memRef " << memRef << std::endl;
00051                 os << "-- bitwiseAND " << bitwiseAND << std::endl;
00052                 os << "-- bitwiseOR " << bitwiseOR << std::endl;
00053                 os << "-- bitwiseShift " << bitwiseShift << std::endl;
00054         }
00055         
00056 };
00057 
00058         Counters operationCounter;
00059         
00060         long64 addCount ;
00061         long64 multCount ;
00062         long64 divCount ;
00063         long64 accMultCount;
00064         
00065         long64 accMultf1;
00066         long64 accMultf2;
00067         
00068         long64 bitwiseShift;
00069         long64 bitwiseOR;
00070         long64 bitwiseAND;
00071         
00072         long64 memAccess; //memWrite or memRead
00073         long64 memRef;
00074 
00075 void initCounters()
00076 {
00077           addCount=0;
00078           multCount=0;
00079           divCount=0;
00080           accMultCount=0;
00081         
00082           accMultf1=0;
00083           accMultf2=0;
00084         
00085           bitwiseShift=0;
00086           bitwiseOR=0;
00087           bitwiseAND=0;
00088         
00089           memAccess=0; //memWrite or memRead
00090           memRef=0;
00091 }
00092 //long64 currentDegree
00093 #endif
Generated on Tue Nov 23 13:10:52 2010 for centerfocus by  doxygen 1.6.3