30#include "../base/Evaluator.h"
31#include "../base/FunctionMap.h"
32#include "../base/grammar.tab.hpp"
33#include "../base/Loader.h"
35#include "../base/PComplexData.h"
36#include "../base/PList.h"
37#include "../base/PNode.h"
39#include "../base/Variant.h"
40#include "../base/VariableMap.h"
43#include "../devices/PEventLoop.h"
45#include "../libs/PEBLObjects.h"
47#include "../utility/PError.h"
48#include "../utility/PEBLPath.h"
49#include "../utility/PEBLUtility.h"
50#include "../utility/rc_ptrs.h"
71int main(
int argc,
char **argv)
76 cout <<
"%%%%%%%%%%%%%%%%%%%%%%%%%%%\n";
78 cout <<
"%%%%%%%%%%%%%%%%%%%%%%%%%%%\n";
79 cout <<
"=========================Real test\n";
80 cout <<
"========================="<< myVMap.
RetrieveValue(
"one") << endl;
83 cout <<
"========================="<< v2 << endl;
90 cout <<
"%%%%%%%%%%%%%%%%%%%%%%%%%%%\n";
92 cout <<
"%%%%%%%%%%%%%%%%%%%%%%%%%%%\n";
94 cout <<
"Copied variant:" << v4;
98 cout <<
"Extracted: " << myVMap.
RetrieveValue(
"image") << endl;;
100 cout <<
"Extracted/assigned variant: " << v5 << endl;
106 long double b = 3352.9933;
108 cout <<
"\n\n\n==========================================================\n";
109 cout <<
"Testing the VariableMap Class\n";
110 cout <<
"==========================================================\n";
113 cout <<
"\n\n\n==========================================================\n";
114 cout <<
"Testing basic encoding\n";
115 cout <<
"==========================================================\n";
119 Variant myVariant1(34); cout <<
"." << flush;
120 Variant myVariant2(33.5252); cout <<
"." << flush;
121 Variant myVariant3(0); cout <<
"." << flush;
124 myVMap.
AddVariable(
"one", myVariant1); cout <<
"." << flush;
125 myVMap.
AddVariable(
"two", myVariant2); cout <<
"." << flush;
126 myVMap.
AddVariable(
"three", myVariant3); cout <<
"." << flush;
127 myVMap.
AddVariable(
"four", myVariant1); cout <<
"." << flush;
130 cout <<
"\n\n\n==========================================================\n";
131 cout <<
"Testing basic retreival\n";
132 cout <<
"==========================================================\n";
135 cout <<
" Retrieved one: " << myVariant3 << endl;
137 cout <<
" Retrieved two: " << myVariant3 << endl;
139 cout <<
" Retrieved three: " << myVariant3 << endl;
141 cout <<
" Retrieved four: " << myVariant3 << endl;
144 cout <<
"\n\n\n==========================================================\n";
145 cout <<
"Testing overwriting\n";
146 cout <<
"==========================================================\n";
152 myVMap.
AddVariable(
"four", myVariant2+ myVariant1);
156 cout <<
" Retrieved one: " << myVariant3 << endl;
158 cout <<
" Retrieved two: " << myVariant3 << endl;
160 cout <<
" Retrieved three: " << myVariant3 << endl;
162 cout <<
" Retrieved four: " << myVariant3 << endl;
166 cout <<
"\n\n\n==========================================================\n";
167 cout <<
"Testing retrieval of undefined\n";
168 cout <<
"==========================================================\n";
171 cout <<
" Retrieved oney: " << myVariant3 << endl;
173 cout <<
" Retrieved TWO: " << myVariant3 << endl;
175 cout <<
" Retrieved about: " << myVariant3 << endl;
177 cout <<
" Retrieved something: " << myVariant3 << endl;
179 cout <<
"\n\n\n==========================================================\n";
180 cout <<
"Testing DumpValues Method\n";
181 cout <<
"==========================================================\n";
186 cout <<
"\n\n\n==========================================================\n";
187 cout <<
"Performance test: 1000000 reencodings\n";
188 cout <<
"==========================================================\n";
190 for(i = 0; i<1000000; i++)
193 if(i%1000==0) cout <<
"." << flush;
195 cout <<
"Finished 1000000 reencodings" << endl;
200 cout <<
"\n\n\n==========================================================\n";
201 cout <<
"Performance test: 1000000 reencodings with creation of new Variant\n";
202 cout <<
"==========================================================\n";
204 for(i = 0; i<1000000; i++)
207 if(i%1000==0) cout <<
"." << flush;
209 cout <<
"Finished 1000000 reencodings" << endl;
213 cout <<
"\n\n\n==========================================================\n";
214 cout <<
"Performance test: 1000000 retrievals\n";
215 cout <<
"==========================================================\n";
217 for(i = 0; i<1000000; i++)
220 if(i%1000==0) cout <<
"." << flush;
222 cout <<
"Finished 1000000 retrievals" << endl;
226 cout <<
"\n\n\n==========================================================\n";
227 cout <<
"Performance test: 1000000 Unique encodings\n";
228 cout <<
"==========================================================\n";
231 for(i = 0; i<1000000; i++)
234 sprintf(name,
"%10d",i);
237 if(i%1000==0) cout <<
"." << flush;
239 cout <<
"Finished 1000000 Unique encodings" << endl;
243 cout <<
"\n\n\n==========================================================\n";
244 cout <<
"Performance test: 1000000 Unique retrievals\n";
245 cout <<
"==========================================================\n";
248 for(i = 999999; i>=0; i--)
250 sprintf(name,
"%10d",i);
252 if(i%1000==0) cout <<
"." << flush;
254 cout <<
"Finished 1000000 Unique retrievals" << endl;
257 cout <<
"\n\n\n==========================================================\n";
258 cout <<
"Performance test: 100000 Unique erases\n";
259 cout <<
"==========================================================\n";
262 for(i = 999999; i>=0; i--)
264 sprintf(name,
"%10d",i);
266 if(i%1000==0) cout <<
"." << flush;
268 cout <<
"Finished 1000000 Unique retrievals" << endl;
271 cout <<
"==========================================================\n";
272 cout <<
"Dumping Remaining Values:" << endl;
273 cout <<
"==========================================================\n";
279 cout <<
"\n\n\n==========================================================\n";
280 cout <<
"Testing basic retrieval Again\n";
281 cout <<
"==========================================================\n";
284 cout <<
" Retrieved one: " << myVariant3 << endl;
286 cout <<
" Retrieved two: " << myVariant3 << endl;
288 cout <<
" Retrieved three: " << myVariant3 << endl;
290 cout <<
" Retrieved four: " << myVariant3 << endl;
295 cout <<
"==========================================================\n";
296 cout <<
"Finished Variable Map Tests" << endl;
297 cout <<
"==========================================================\n";
298 cout <<
"==========================================================\n";
299 cout <<
"==========================================================\n";
300 cout <<
"==========================================================\n";
301 cout <<
"==========================================================\n";
int main(int argc, char **argv)
static const PNode * gEvalNode
static PEventLoop * mEventLoop
static VariableMap gGlobalVariableMap
static FunctionMap mFunctionMap
Initiate some static member data.
void Erase(const std::string &varname)
void AddVariable(const std::string &varname, const Variant &val)
Variant RetrieveValue(const std::string &varname)