PerformanceStatistics.h
Go to the documentation of this file.00001 #pragma once
00002
00003
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 ;
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;
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;
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;
00090 memRef=0;
00091 }
00092
00093 #endif