BAM
Abstract Machine for Bottom-Up Evaluation with the Push Method
bench_tcff_1.h
Go to the documentation of this file.
1 // ============================================================================
2 // Project: Deductive Database
3 // Filename: bench_tcff_1.h
4 // Purpose: Bottom-Up Evaluation for Transitive Closure Example
5 // Last Change: 04.08.2017
6 // Language: C++
7 // EMail: brass@informatik.uni-halle.de
8 // WWW: http://www.informatik.uni-halle.de/~brass/
9 // Address: Feldschloesschen 15, D-06120 Halle (Saale), GERMANY
10 // Copyright: (c) 2016-2017 by Stefan Brass
11 // License: See file "LICENSE" for copying conditions.
12 // Note: There is no warranty at all - this code may contain bugs.
13 // ============================================================================
14 
15 
24 //=============================================================================
25 // Include File Frame:
26 //=============================================================================
27 
28 #ifndef BENCH_TCFF_1_INCLUDED
29 #define BENCH_TCFF_1_INCLUDED
30 
31 
32 //=============================================================================
33 // This Benchmark is optional:
34 //=============================================================================
35 
36 #ifndef VER_INCLUDED
37 #include "../base/ver.h"
38 #endif
39 
40 #if VER_BENCH_TCFF_1
41 
42 
43 //=============================================================================
44 // Used Types and Macros:
45 //=============================================================================
46 
47 
48 #ifndef STR_INCLUDED
49 #include "../base/str.h"
50 #endif
51 
52 #ifndef CHECK_INCLUDED
53 #include "../base/check.h"
54 #endif
55 
56 #ifndef PERF_INCLUDED
57 #include "../base/perf.h"
58 #endif
59 
60 
61 //=============================================================================
62 // Bottom-Up Evaluation (TC-ff Benchmark) - Class With Only Static Members:
63 //=============================================================================
64 
66  public:
67 
68 //-----------------------------------------------------------------------------
69 // Static Methods:
70 //-----------------------------------------------------------------------------
71 
72  // run: Load data file, do bottom-up evaluation.
73  static long run(str_t filename, perf_t timer_load, perf_t timer_eval);
74 
75  // name: Name of this benchmark.
76  static str_t name() {
77  return
78  "tc(X,Y), Ver. 1: Relations in local vars, hand-crafted loader";
79  }
80 
81  // file: List of data files.
82  static str_t file(int i);
83 
84  // result: List of correct results of eval method.
85  static long result(int i);
86 
87 
88 //-----------------------------------------------------------------------------
89 // This class has no objects:
90 //-----------------------------------------------------------------------------
91 
92  private:
93 
94  // Constructor:
95  bench_tcff_1_c(); // Not implemented
96 
97  // Destructor:
98  ~bench_tcff_1_c(); // Not implemented
99 
100 //-----------------------------------------------------------------------------
101 // Copy-constructor and assignment operator are not supported for this class:
102 //-----------------------------------------------------------------------------
103 
104  private:
105 
106  bench_tcff_1_c(const bench_tcff_1_c& obj); // Not implemented
107  bench_tcff_1_c& operator=(const bench_tcff_1_c& obj);// Not implemented
108 
109 
110 //=============================================================================
111 // End of Class:
112 //=============================================================================
113 
114 };
115 
116 
117 //=============================================================================
118 // End of Conditional Compilation of this Test (VER_BENCH_TCFF_1):
119 //=============================================================================
120 
121 #endif
122 
123 
124 //=============================================================================
125 // End of Include File:
126 //=============================================================================
127 
128 #endif
129 
Definition: perf.h:69
Definition: bench_tcff_1.h:65
const char * str_t
Definition: str.h:41