summaryrefslogtreecommitdiff
path: root/src/intersim/statwraper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/intersim/statwraper.cpp')
-rw-r--r--src/intersim/statwraper.cpp64
1 files changed, 64 insertions, 0 deletions
diff --git a/src/intersim/statwraper.cpp b/src/intersim/statwraper.cpp
new file mode 100644
index 0000000..9590f6f
--- /dev/null
+++ b/src/intersim/statwraper.cpp
@@ -0,0 +1,64 @@
+//a Wraper function for stats class
+#include "stats.hpp"
+#include <stdio.h>
+
+void* StatCreate (const char * name, double bin_size, int num_bins) {
+ Stats* newstat = new Stats(NULL,name,bin_size,num_bins);
+ newstat->Clear ();
+ return(void *) newstat;
+}
+
+void StatClear(void * st)
+{
+ ((Stats *)st)->Clear();
+}
+
+void StatAddSample (void * st, int val)
+{
+ ((Stats *)st)->AddSample(val);
+}
+
+double StatAverage(void * st)
+{
+ return((Stats *)st)->Average();
+}
+
+double StatMax(void * st)
+{
+ return((Stats *)st)->Max();
+}
+
+double StatMin(void * st)
+{
+ return((Stats *)st)->Min();
+}
+
+void StatDisp (void * st)
+{
+ printf ("Stats for ");
+ ((Stats *)st)->DisplayHierarchy();
+ if (((Stats *)st)->NeverUsed()) {
+ printf (" was never updated!\n");
+ } else {
+ printf("Min %f Max %f Average %f \n",((Stats *)st)->Min(),((Stats *)st)->Max(),StatAverage(st));
+ ((Stats *)st)->Display();
+ }
+}
+
+void StatDumptofile (void * st, FILE *f)
+{
+
+}
+
+#if 0
+int main ()
+{
+ void * mytest = StatCreate("Test",1,5);
+ StatAddSample(mytest,4);
+ StatAddSample(mytest,4);StatAddSample(mytest,4);
+ StatAddSample(mytest,2);
+ StatDisp(mytest);
+}
+#endif
+
+