📄 easylocal_cpp-source.html
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>EasyLocal++ Documentation</title>
<link href="local.css" rel="stylesheet" type="text/css">
</head>
<body lang="en">
<table width="100%" border="0">
<tbody>
<tr>
<td colspan="2"><h1 class="nojustify">EasyLocal++ Documentation</h1>
<hr>
</td>
</tr>
<tr>
<td width="30" align="center"> </td>
<td>
<!-- Generated by Doxygen 1.2.5 on Sat Jun 9 18:59:15 2001 -->
<center>
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="namespacemembers.html">Namespace Members</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> <a class="qindex" href="pages.html">Related Pages</a> </center>
<hr><h1>EasyLocal.cpp</h1><a href="EasyLocal_cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001
00020 <font class="preprocessor">#include <ctime></font>
00021 <font class="preprocessor">#include <cstdlib></font>
00022 <font class="preprocessor">#include <iostream></font>
00023 <font class="preprocessor">#include <FlexLexer.h></font>
00024
00025 <font class="preprocessor">#include "<a class="code" href="EasyLocal_h.html">EasyLocal.h</a>"</font>
00026
<a name="l00027"></a><a class="code" href="namespace_easylocal.html">00027</a> <font class="keyword">namespace </font>easylocal {
00028
<a name="l00037"></a><a class="code" href="namespace_easylocal.html#a3">00037</a> <font class="keywordtype">int</font> <a class="code" href="namespace_easylocal.html#a3">Random</a>(<font class="keywordtype">int</font> i, <font class="keywordtype">int</font> j)<font class="keyword"></font>
00038 <font class="keyword"> </font>{
00039 <font class="keyword">static</font> <font class="keywordtype">bool</font> init = <font class="keyword">false</font>;
00040 <font class="keywordflow">if</font> (init == <font class="keyword">false</font>) <font class="comment">// if the random source has not been </font>
00041 { <font class="comment">// initialized yet</font>
00042 srand(time(0)); <font class="comment">// let's initialize it</font>
00043 init = <font class="keyword">true</font>;
00044 }
00045 <font class="keywordflow">return</font> (rand() % (j - i + 1)) + i; <font class="comment">// return the randomly picked value</font>
00046 }
00047
<a name="l00056"></a><a class="code" href="namespace_easylocal.html#a4">00056</a> <font class="keyword">inline</font> <font class="keywordtype">double</font> <a class="code" href="namespace_easylocal.html#a4">distance</a>(fvalue x, fvalue y)<font class="keyword"></font>
00057 <font class="keyword"> </font>{
00058 <font class="keywordflow">return</font> x > y ? x-y : y-x;
00059 }
00060
<a name="l00066"></a><a class="code" href="class_easylocal__AbstractTester.html#a3">00066</a> <font class="keywordtype">void</font> AbstractTester::SetSolverTrials(<font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> t)<font class="keyword"></font>
00067 <font class="keyword"> </font>{ trials = t; }
00068
<a name="l00075"></a><a class="code" href="class_easylocal__AbstractTester.html#a4">00075</a> <font class="keywordtype">void</font> AbstractTester::SetLogFile(std::string s)<font class="keyword"></font>
00076 <font class="keyword"> </font>{ logstream = <font class="keyword">new</font> std::ofstream(s.c_str()); }
00077
<a name="l00085"></a><a class="code" href="class_easylocal__AbstractTester.html#a5">00085</a> <font class="keywordtype">void</font> AbstractTester::SetOutputPrefix(std::string s)<font class="keyword"></font>
00086 <font class="keyword"> </font>{ output_file_prefix = s; }
00087
<a name="l00094"></a><a class="code" href="class_easylocal__AbstractTester.html#a6">00094</a> <font class="keywordtype">void</font> AbstractTester::SetPlotPrefix(std::string s)<font class="keyword"></font>
00095 <font class="keyword"> </font>{ plot_file_prefix = s; }
00096
00097 <font class="comment">//</font>
00098 <font class="comment">// Actual Runner Parameters Classes related methods</font>
00099 <font class="comment">//</font>
00100
<a name="l00108"></a><a class="code" href="class_easylocal__ParameterData.html#a0">00108</a> ParameterData::ParameterData(std::string n, std::string t, ValueType v)
00109 : name(n), type(t), value(v)
00110 {}
00111
<a name="l00117"></a><a class="code" href="class_easylocal__ParameterData.html#a1">00117</a> std::string ParameterData::Name()<font class="keyword"> const</font>
00118 <font class="keyword"> </font>{ <font class="keywordflow">return</font> name; }
00119
<a name="l00125"></a><a class="code" href="class_easylocal__ParameterData.html#a2">00125</a> std::string ParameterData::Type()<font class="keyword"> const</font>
00126 <font class="keyword"> </font>{ <font class="keywordflow">return</font> type; }
00127
<a name="l00133"></a><a class="code" href="class_easylocal__ParameterData.html#a3">00133</a> ValueType ParameterData::Value()<font class="keyword"> const</font>
00134 <font class="keyword"> </font>{ <font class="keywordflow">return</font> value; }
00135
00136
<a name="l00144"></a><a class="code" href="class_easylocal__ParameterBox.html#a0">00144</a> <font class="keywordtype">void</font> ParameterBox::Put(std::string name, std::string type, ValueType value)<font class="keyword"> </font>
00145 <font class="keyword"> </font>{ parameters.push_back(ParameterData(name,type,value)); }
00146
<a name="l00153"></a><a class="code" href="class_easylocal__ParameterBox.html#a1">00153</a> <font class="keywordtype">void</font> ParameterBox::Put(std::string name, <font class="keywordtype">unsigned</font> <font class="keywordtype">long</font> value)<font class="keyword"></font>
00154 <font class="keyword"> </font>{
00155 ValueType tmp;
00156 tmp.natural = value;
00157 parameters.push_back(ParameterData(name,<font class="stringliteral">"ulong"</font>,tmp));
00158 }
00159
<a name="l00166"></a><a class="code" href="class_easylocal__ParameterBox.html#a2">00166</a> <font class="keywordtype">void</font> ParameterBox::Put(std::string name, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> value)<font class="keyword"></font>
00167 <font class="keyword"> </font>{
00168 ValueType tmp;
00169 tmp.short_natural = value;
00170 parameters.push_back(ParameterData(name,<font class="stringliteral">"uint"</font>,tmp));
00171 }
00172
<a name="l00179"></a><a class="code" href="class_easylocal__ParameterBox.html#a3">00179</a> <font class="keywordtype">void</font> ParameterBox::Put(std::string name, <font class="keywordtype">double</font> value)<font class="keyword"> </font>
00180 <font class="keyword"> </font>{
00181 ValueType tmp;
00182 tmp.real = value;
00183 parameters.push_back(ParameterData(name,<font class="stringliteral">"double"</font>,tmp));
00184 }
00185
<a name="l00194"></a><a class="code" href="class_easylocal__ParameterBox.html#a4">00194</a> <font class="keywordtype">void</font> ParameterBox::Get(std::string name, std::string type, ValueType& value)<font class="keyword"> const</font>
00195 <font class="keyword"> </font>{
00196 <font class="keywordtype">bool</font> found = <font class="keyword">false</font>;
00197 <font class="keywordflow">for</font> (std::list<ParameterData>::const_iterator i = parameters.begin(); i != parameters.end(); i++)
00198 <font class="keywordflow">if</font> (i->Name() == name) {
00199 found = <font class="keyword">true</font>;
00200 assert(type == i->Type());
00201 value = i->Value();
00202 <font class="keywordflow">break</font>;
00203 }
00204 assert(found);
00205 }
00206
<a name="l00213"></a><a class="code" href="class_easylocal__ParameterBox.html#a5">00213</a> <font class="keywordtype">void</font> ParameterBox::Get(std::string name, <font class="keywordtype">unsigned</font> <font class="keywordtype">long</font>& value)<font class="keyword"> const</font>
00214 <font class="keyword"> </font>{
00215 <font class="keywordtype">bool</font> found = <font class="keyword">false</font>;
00216 <font class="keywordflow">for</font> (std::list<ParameterData>::const_iterator i = parameters.begin(); i != parameters.end(); i++)
00217 <font class="keywordflow">if</font> (i->Name() == name) {
00218 found = <font class="keyword">true</font>;
00219 assert(<font class="stringliteral">"ulong"</font> == i->Type());
00220 value = i->Value().natural;
00221 <font class="keywordflow">break</font>;
00222 }
00223 assert(found);
00224 }
00225
<a name="l00232"></a><a class="code" href="class_easylocal__ParameterBox.html#a6">00232</a> <font class="keywordtype">void</font> ParameterBox::Get(std::string name, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font>& value)<font class="keyword"> const</font>
00233 <font class="keyword"> </font>{
00234 <font class="keywordtype">bool</font> found = <font class="keyword">false</font>;
00235 <font class="keywordflow">for</font> (std::list<ParameterData>::const_iterator i = parameters.begin(); i != parameters.end(); i++)
00236 <font class="keywordflow">if</font> (i->Name() == name) {
00237 found = <font class="keyword">true</font>;
00238 assert(<font class="stringliteral">"uint"</font> == i->Type());
00239 value = i->Value().short_natural;
00240 <font class="keywordflow">break</font>;
00241 }
00242 assert(found);
00243 }
00244
<a name="l00251"></a><a class="code" href="class_easylocal__ParameterBox.html#a7">00251</a> <font class="keywordtype">void</font> ParameterBox::Get(std::string name, <font class="keywordtype">double</font>& value)<font class="keyword"> const</font>
00252 <font class="keyword"> </font>{
00253 <font class="keywordtype">bool</font> found = <font class="keyword">false</font>;
00254 <font class="keywordflow">for</font> (std::list<ParameterData>::const_iterator i = parameters.begin(); i != parameters.end(); i++)
00255 <font class="keywordflow">if</font> (i->Name() == name) {
00256 found = <font class="keyword">true</font>;
00257 assert(<font class="stringliteral">"double"</font> == i->Type());
00258 value = i->Value().real;
00259 <font class="keywordflow">break</font>;
00260 }
00261 assert(found);
00262 }
00263
<a name="l00267"></a><a class="code" href="class_easylocal__ParameterBox.html#a8">00267</a> <font class="keywordtype">void</font> ParameterBox::Clear()<font class="keyword"></font>
00268 <font class="keyword"> </font>{ parameters.clear(); }
00269 }; <font class="comment">// end of namespace easylocal</font>
</div></pre> </td>
</tr>
<tr>
<td> </td>
<td><hr>
<span class="mark">Go to:</span> the <a href="index.html">Main Page</a> of the documentation.
</td>
</tr>
</tbody>
</table>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -