root/doc/xml/loggers_8cpp.xml @ 212

Revision 187, 35.5 kB (checked in by smidl, 16 years ago)

doc

Line 
1<?xml version='1.0' encoding='UTF-8' standalone='no'?>
2<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.5.6">
3  <compounddef id="loggers_8cpp" kind="file">
4    <compoundname>loggers.cpp</compoundname>
5    <includes local="no">itpp/itbase.h</includes>
6    <includes refid="loggers_8h" local="yes">loggers.h</includes>
7    <includes refid="osutils_8h" local="yes">../osutils.h</includes>
8    <includes local="no">fcntl.h</includes>
9    <incdepgraph>
10      <node id="424">
11        <label>work/git/mixpp/bdm/stat/loggers.cpp</label>
12        <link refid="loggers.cpp"/>
13        <childnode refid="425" relation="include">
14        </childnode>
15        <childnode refid="426" relation="include">
16        </childnode>
17        <childnode refid="429" relation="include">
18        </childnode>
19        <childnode refid="430" relation="include">
20        </childnode>
21      </node>
22      <node id="426">
23        <label>loggers.h</label>
24        <link refid="loggers_8h"/>
25        <childnode refid="425" relation="include">
26        </childnode>
27        <childnode refid="427" relation="include">
28        </childnode>
29        <childnode refid="428" relation="include">
30        </childnode>
31      </node>
32      <node id="427">
33        <label>libBM.h</label>
34        <link refid="libBM_8h"/>
35        <childnode refid="425" relation="include">
36        </childnode>
37      </node>
38      <node id="430">
39        <label>fcntl.h</label>
40      </node>
41      <node id="428">
42        <label>../itpp_ext.h</label>
43        <link refid="itpp__ext_8h-source"/>
44        <childnode refid="425" relation="include">
45        </childnode>
46      </node>
47      <node id="425">
48        <label>itpp/itbase.h</label>
49      </node>
50      <node id="429">
51        <label>../osutils.h</label>
52        <link refid="osutils_8h-source"/>
53        <childnode refid="425" relation="include">
54        </childnode>
55      </node>
56    </incdepgraph>
57    <briefdescription>
58    </briefdescription>
59    <detaileddescription>
60    </detaileddescription>
61    <programlisting>
62<codeline lineno="1"><highlight class="preprocessor">#include<sp/>&lt;itpp/itbase.h&gt;</highlight><highlight class="normal"></highlight></codeline>
63<codeline lineno="2"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="loggers_8h" kindref="compound" tooltip="Loggers for storing results of experiments.">loggers.h</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
64<codeline lineno="3"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;../osutils.h&quot;</highlight><highlight class="normal"></highlight></codeline>
65<codeline lineno="4"><highlight class="normal"></highlight></codeline>
66<codeline lineno="5"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;fcntl.h&gt;</highlight><highlight class="normal"></highlight></codeline>
67<codeline lineno="6"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>WIN32</highlight></codeline>
68<codeline lineno="7"><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include<sp/>&lt;io.h&gt;</highlight><highlight class="normal"></highlight></codeline>
69<codeline lineno="8"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
70<codeline lineno="9"><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
71<codeline lineno="10" refid="classmemlog_165571ebbb16577b5211adbb27baf769c" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classmemlog_165571ebbb16577b5211adbb27baf769c" kindref="member" tooltip="Save values into an itfile named after fname.">memlog::itsave</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>fname<sp/>)<sp/>{</highlight></codeline>
72<codeline lineno="11"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>it_file<sp/>itf<sp/>(<sp/>fname<sp/>);</highlight></codeline>
73<codeline lineno="12"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i;</highlight></codeline>
74<codeline lineno="13"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(<sp/>i=0;<sp/>i&lt;<ref refid="classlogger_183eea0cf4fbca59474d015f751f128a7" kindref="member" tooltip="RVs of all logged variables.">entries</ref>.length();i++<sp/>)<sp/>{</highlight></codeline>
75<codeline lineno="14"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<sp/><ref refid="classlogger_139cb79e839ca8f8bb9dcbc8c5b9c7786" kindref="member" tooltip="Names of logged quantities, e.g. names of algorithm variants.">names</ref><sp/>(<sp/>i<sp/>).length()<sp/>&lt;1<sp/>)<sp/>{</highlight></codeline>
76<codeline lineno="15"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::ostringstream<sp/>o;</highlight></codeline>
77<codeline lineno="16"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>o&lt;&lt;</highlight><highlight class="stringliteral">&quot;Variable&quot;</highlight><highlight class="normal">&lt;&lt;i;</highlight></codeline>
78<codeline lineno="17"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>itf<sp/>&lt;&lt;<sp/>Name<sp/>(<sp/>o.str()<sp/>)<sp/>&lt;&lt;<sp/><ref refid="classmemlog_1f0f5bc7b83539ad102e8f65297852d91" kindref="member" tooltip="Storage.">vectors</ref><sp/>(<sp/>i<sp/>);</highlight></codeline>
79<codeline lineno="18"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
80<codeline lineno="19"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
81<codeline lineno="20"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>itf<sp/>&lt;&lt;<sp/>Name<sp/>(<sp/><ref refid="classlogger_139cb79e839ca8f8bb9dcbc8c5b9c7786" kindref="member" tooltip="Names of logged quantities, e.g. names of algorithm variants.">names</ref><sp/>(<sp/>i<sp/>)<sp/>)<sp/>&lt;&lt;<sp/><ref refid="classmemlog_1f0f5bc7b83539ad102e8f65297852d91" kindref="member" tooltip="Storage.">vectors</ref><sp/>(<sp/>i<sp/>);</highlight></codeline>
82<codeline lineno="21"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
83<codeline lineno="22"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
84<codeline lineno="23"><highlight class="normal">}</highlight></codeline>
85<codeline lineno="24"><highlight class="normal"></highlight></codeline>
86<codeline lineno="25" refid="classdirfilelog_1afeaebe003110f9db1ac43edf8e53a92" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classdirfilelog_1afeaebe003110f9db1ac43edf8e53a92" kindref="member" tooltip="Initialize storage.">dirfilelog::init</ref>()<sp/>{</highlight></codeline>
87<codeline lineno="26"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i,j,k;</highlight></codeline>
88<codeline lineno="27"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>nsc=0;</highlight></codeline>
89<codeline lineno="28"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(<sp/>i=0;i&lt;<ref refid="classlogger_183eea0cf4fbca59474d015f751f128a7" kindref="member" tooltip="RVs of all logged variables.">entries</ref>.length();i++<sp/>)<sp/>{nsc+=<ref refid="classlogger_183eea0cf4fbca59474d015f751f128a7" kindref="member" tooltip="RVs of all logged variables.">entries</ref><sp/>(<sp/>i<sp/>).count();}</highlight></codeline>
90<codeline lineno="29"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>;<sp/></highlight><highlight class="comment">//all<sp/>entries!!</highlight><highlight class="normal"></highlight></codeline>
91<codeline lineno="30"><highlight class="normal"></highlight></codeline>
92<codeline lineno="31"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>filename[200];</highlight></codeline>
93<codeline lineno="32"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>num[3];</highlight></codeline>
94<codeline lineno="33"><highlight class="normal"></highlight></codeline>
95<codeline lineno="34"><highlight class="normal"></highlight><highlight class="comment">//<sp/>Initialize<sp/>directory</highlight><highlight class="normal"></highlight></codeline>
96<codeline lineno="35"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>makedir<sp/>(<sp/><ref refid="classdirfilelog_1cba5ff1f74ed22910ed7d63aadf21771" kindref="member" tooltip="name of the directory">dirname</ref><sp/>);<sp/></highlight><highlight class="comment">//</highlight><highlight class="normal"></highlight></codeline>
97<codeline lineno="36"><highlight class="normal"></highlight></codeline>
98<codeline lineno="37"><highlight class="normal"></highlight><highlight class="comment">//<sp/>directory<sp/>OK,<sp/>or<sp/>it<sp/>can<sp/>be<sp/>overwritten</highlight><highlight class="normal"></highlight></codeline>
99<codeline lineno="38"><highlight class="normal"></highlight></codeline>
100<codeline lineno="39"><highlight class="normal"></highlight><highlight class="comment">//Create<sp/>filenames</highlight><highlight class="normal"></highlight></codeline>
101<codeline lineno="40"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classdirfilelog_1854b7e7cc4cb40542b4a3ea06d915772" kindref="member" tooltip="Automatically generated.">scalarnames</ref>.set_length<sp/>(<sp/>nsc<sp/>);</highlight></codeline>
102<codeline lineno="41"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>For<sp/>all<sp/>entries</highlight><highlight class="normal"></highlight></codeline>
103<codeline lineno="42"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>ii=0;</highlight></codeline>
104<codeline lineno="43"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(<sp/>i=0;i&lt;<ref refid="classlogger_183eea0cf4fbca59474d015f751f128a7" kindref="member" tooltip="RVs of all logged variables.">entries</ref>.length();i++<sp/>)<sp/>{<sp/></highlight><highlight class="comment">//for<sp/>entries</highlight><highlight class="normal"></highlight></codeline>
105<codeline lineno="44"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(<sp/>j=0;j&lt;<ref refid="classlogger_183eea0cf4fbca59474d015f751f128a7" kindref="member" tooltip="RVs of all logged variables.">entries</ref><sp/>(<sp/>i<sp/>).length();j++<sp/>)<sp/>{<sp/></highlight><highlight class="comment">//for<sp/>RVs<sp/>in<sp/>entries</highlight><highlight class="normal"></highlight></codeline>
106<codeline lineno="45"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>rvsize<sp/>=<sp/><ref refid="classlogger_183eea0cf4fbca59474d015f751f128a7" kindref="member" tooltip="RVs of all logged variables.">entries</ref><sp/>(<sp/>i<sp/>).size<sp/>(<sp/>j<sp/>);</highlight></codeline>
107<codeline lineno="46"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<sp/>rvsize<sp/>==1<sp/>)<sp/>{</highlight></codeline>
108<codeline lineno="47"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classdirfilelog_1854b7e7cc4cb40542b4a3ea06d915772" kindref="member" tooltip="Automatically generated.">scalarnames</ref><sp/>(<sp/>ii<sp/>)<sp/>=<sp/><ref refid="classlogger_139cb79e839ca8f8bb9dcbc8c5b9c7786" kindref="member" tooltip="Names of logged quantities, e.g. names of algorithm variants.">names</ref><sp/>(<sp/>i<sp/>)<sp/>+<sp/></highlight><highlight class="stringliteral">&quot;_&quot;</highlight><highlight class="normal"><sp/>+<sp/><ref refid="classlogger_183eea0cf4fbca59474d015f751f128a7" kindref="member" tooltip="RVs of all logged variables.">entries</ref><sp/>(<sp/>i<sp/>).name<sp/>(<sp/>j<sp/>);</highlight></codeline>
109<codeline lineno="48"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ii++;</highlight></codeline>
110<codeline lineno="49"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
111<codeline lineno="50"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
112<codeline lineno="51"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(<sp/>k=0;k&lt;rvsize;k++<sp/>)<sp/>{<sp/></highlight><highlight class="comment">//for<sp/>all<sp/>scalars<sp/>in<sp/>given<sp/>RV</highlight><highlight class="normal"></highlight></codeline>
113<codeline lineno="52"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sprintf<sp/>(<sp/>num,</highlight><highlight class="stringliteral">&quot;%d&quot;</highlight><highlight class="normal">,k<sp/>);</highlight></codeline>
114<codeline lineno="53"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classdirfilelog_1854b7e7cc4cb40542b4a3ea06d915772" kindref="member" tooltip="Automatically generated.">scalarnames</ref><sp/>(<sp/>ii<sp/>)<sp/>=<sp/><ref refid="classlogger_139cb79e839ca8f8bb9dcbc8c5b9c7786" kindref="member" tooltip="Names of logged quantities, e.g. names of algorithm variants.">names</ref><sp/>(<sp/>i<sp/>)<sp/>+<sp/></highlight><highlight class="stringliteral">&quot;_&quot;</highlight><highlight class="normal"><sp/>+<sp/><ref refid="classlogger_183eea0cf4fbca59474d015f751f128a7" kindref="member" tooltip="RVs of all logged variables.">entries</ref><sp/>(<sp/>i<sp/>).name<sp/>(<sp/>j<sp/>)<sp/>+<sp/></highlight><highlight class="stringliteral">&quot;_&quot;</highlight><highlight class="normal"><sp/>+<sp/>num;</highlight></codeline>
115<codeline lineno="54"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ii++;</highlight></codeline>
116<codeline lineno="55"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
117<codeline lineno="56"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
118<codeline lineno="57"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
119<codeline lineno="58"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
120<codeline lineno="59"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//Create<sp/>format</highlight><highlight class="normal"></highlight></codeline>
121<codeline lineno="60"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">string</highlight><highlight class="normal"><sp/>frm=</highlight><highlight class="stringliteral">&quot;format&quot;</highlight><highlight class="normal">;</highlight></codeline>
122<codeline lineno="61"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>get_fname<sp/>(<sp/>filename,<sp/><ref refid="classdirfilelog_1cba5ff1f74ed22910ed7d63aadf21771" kindref="member" tooltip="name of the directory">dirname</ref>,<sp/>frm<sp/>);</highlight></codeline>
123<codeline lineno="62"><highlight class="normal"></highlight></codeline>
124<codeline lineno="63"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>FILE*<sp/>fpf;</highlight></codeline>
125<codeline lineno="64"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>fpf<sp/>=<sp/>fopen<sp/>(<sp/>filename,<sp/></highlight><highlight class="stringliteral">&quot;w&quot;</highlight><highlight class="normal"><sp/>);</highlight></codeline>
126<codeline lineno="65"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(<sp/>i=0;i&lt;ii;i++<sp/>)<sp/>{</highlight></codeline>
127<codeline lineno="66"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>fprintf<sp/>(<sp/>fpf,<sp/></highlight><highlight class="stringliteral">&quot;%s<sp/>RAW<sp/>d<sp/>1\n&quot;</highlight><highlight class="normal">,<sp/><ref refid="classdirfilelog_1854b7e7cc4cb40542b4a3ea06d915772" kindref="member" tooltip="Automatically generated.">scalarnames</ref><sp/>(<sp/>i<sp/>).c_str()<sp/>);</highlight></codeline>
128<codeline lineno="67"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
129<codeline lineno="68"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>fclose<sp/>(<sp/>fpf<sp/>);</highlight></codeline>
130<codeline lineno="69"><highlight class="normal"></highlight></codeline>
131<codeline lineno="70"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classmemlog_1b081ef5acb4816e6b5fcb56c19cc7e47" kindref="member" tooltip="Initialize storage.">memlog::init</ref>();</highlight></codeline>
132<codeline lineno="71"><highlight class="normal"></highlight></codeline>
133<codeline lineno="72"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//Delete<sp/>old<sp/>data</highlight><highlight class="normal"></highlight></codeline>
134<codeline lineno="73"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classdirfilelog_1bd95cdb46af194245f88a7b4bf4c66c7" kindref="member" tooltip="Write memory storage to disk.">write_buffers</ref><sp/>(<sp/>0<sp/>);</highlight></codeline>
135<codeline lineno="74"><highlight class="normal">}</highlight></codeline>
136<codeline lineno="75"><highlight class="normal"></highlight></codeline>
137<codeline lineno="76"><highlight class="normal"></highlight></codeline>
138<codeline lineno="77" refid="classdirfilelog_1bd95cdb46af194245f88a7b4bf4c66c7" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classdirfilelog_1bd95cdb46af194245f88a7b4bf4c66c7" kindref="member" tooltip="Write memory storage to disk.">dirfilelog::write_buffers</ref><sp/>(<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>Len<sp/>)<sp/>{</highlight></codeline>
139<codeline lineno="78"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>fp;</highlight></codeline>
140<codeline lineno="79"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>nen=<ref refid="classlogger_183eea0cf4fbca59474d015f751f128a7" kindref="member" tooltip="RVs of all logged variables.">entries</ref>.length();<sp/></highlight><highlight class="comment">//all<sp/>entries!!</highlight><highlight class="normal"></highlight></codeline>
141<codeline lineno="80"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>*Dt;</highlight></codeline>
142<codeline lineno="81"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>DtRows;</highlight></codeline>
143<codeline lineno="82"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i,j,k;</highlight></codeline>
144<codeline lineno="83"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>ii;<sp/></highlight><highlight class="comment">//index<sp/>in<sp/>scalarnames;</highlight><highlight class="normal"></highlight></codeline>
145<codeline lineno="84"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>jj;<sp/></highlight><highlight class="comment">//index<sp/>in<sp/>vectors()</highlight><highlight class="normal"></highlight></codeline>
146<codeline lineno="85"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>filename[200];</highlight></codeline>
147<codeline lineno="86"><highlight class="normal"></highlight></codeline>
148<codeline lineno="87"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>it_assert_debug<sp/>(<sp/>Len&lt;=<ref refid="classmemlog_14195f322897ededdac66c404b848ced3" kindref="member" tooltip="Maximum length of vectors stored in memory.">maxlen</ref>,</highlight><highlight class="stringliteral">&quot;diffilelog&quot;</highlight><highlight class="normal"><sp/>);</highlight></codeline>
149<codeline lineno="88"><highlight class="normal"></highlight></codeline>
150<codeline lineno="89"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ii<sp/>=<sp/>0;</highlight></codeline>
151<codeline lineno="90"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(<sp/>i=0;i&lt;nen;i++<sp/>)<sp/>{<sp/></highlight><highlight class="comment">//for<sp/>entries</highlight><highlight class="normal"></highlight></codeline>
152<codeline lineno="91"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>Dt<sp/>=<sp/><ref refid="classmemlog_1f0f5bc7b83539ad102e8f65297852d91" kindref="member" tooltip="Storage.">vectors</ref><sp/>(<sp/>i<sp/>)._data();</highlight></codeline>
153<codeline lineno="92"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>DtRows<sp/>=<sp/><ref refid="classmemlog_1f0f5bc7b83539ad102e8f65297852d91" kindref="member" tooltip="Storage.">vectors</ref><sp/>(<sp/>i<sp/>).rows();</highlight></codeline>
154<codeline lineno="93"><highlight class="normal"></highlight></codeline>
155<codeline lineno="94"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>jj=0;</highlight></codeline>
156<codeline lineno="95"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(<sp/>j=0;j&lt;<ref refid="classlogger_183eea0cf4fbca59474d015f751f128a7" kindref="member" tooltip="RVs of all logged variables.">entries</ref><sp/>(<sp/>i<sp/>).length();j++<sp/>)<sp/>{<sp/></highlight><highlight class="comment">//for<sp/>RVs<sp/>in<sp/>entries</highlight><highlight class="normal"></highlight></codeline>
157<codeline lineno="96"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>rvsize<sp/>=<sp/><ref refid="classlogger_183eea0cf4fbca59474d015f751f128a7" kindref="member" tooltip="RVs of all logged variables.">entries</ref><sp/>(<sp/>i<sp/>).size<sp/>(<sp/>j<sp/>);</highlight></codeline>
158<codeline lineno="97"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(<sp/>k=0;k&lt;rvsize;k++<sp/>)<sp/>{<sp/>{<sp/></highlight><highlight class="comment">//for<sp/>all<sp/>scalars<sp/>in<sp/>given<sp/>RV</highlight><highlight class="normal"></highlight></codeline>
159<codeline lineno="98"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>get_fname<sp/>(<sp/>filename,<ref refid="classdirfilelog_1cba5ff1f74ed22910ed7d63aadf21771" kindref="member" tooltip="name of the directory">dirname</ref>,<ref refid="classdirfilelog_1854b7e7cc4cb40542b4a3ea06d915772" kindref="member" tooltip="Automatically generated.">scalarnames</ref><sp/>(<sp/>ii<sp/>)<sp/>);</highlight></codeline>
160<codeline lineno="99"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<sp/>Len==0<sp/>)<sp/></highlight><highlight class="comment">//initialization</highlight><highlight class="normal"></highlight></codeline>
161<codeline lineno="100"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>fp<sp/>=<sp/>open<sp/>(<sp/>filename,<sp/>O_CREAT<sp/>|<sp/>O_WRONLY<sp/>|<sp/>O_TRUNC,<sp/>00644<sp/>);</highlight></codeline>
162<codeline lineno="101"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
163<codeline lineno="102"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>fp<sp/>=<sp/>open<sp/>(<sp/>filename,<sp/>O_CREAT<sp/>|<sp/>O_WRONLY<sp/>|<sp/>O_APPEND,<sp/>00644<sp/>);</highlight></codeline>
164<codeline lineno="103"><highlight class="normal"></highlight></codeline>
165<codeline lineno="104"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>write<sp/>(<sp/>fp,&amp;Dt[jj*<sp/>(<sp/>DtRows<sp/>)<sp/>],<sp/>(<sp/>Len<sp/>)<sp/>*</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal"><sp/>(<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>)<sp/>);</highlight></codeline>
166<codeline lineno="105"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>close<sp/>(<sp/>fp<sp/>);</highlight></codeline>
167<codeline lineno="106"><highlight class="normal"></highlight></codeline>
168<codeline lineno="107"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//next<sp/>row<sp/>in<sp/>Dt</highlight><highlight class="normal"></highlight></codeline>
169<codeline lineno="108"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>jj++;</highlight></codeline>
170<codeline lineno="109"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//next<sp/>scalarname</highlight><highlight class="normal"></highlight></codeline>
171<codeline lineno="110"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ii++;</highlight></codeline>
172<codeline lineno="111"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
173<codeline lineno="112"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
174<codeline lineno="113"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
175<codeline lineno="114"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
176<codeline lineno="115"><highlight class="normal">}</highlight></codeline>
177<codeline lineno="116"><highlight class="normal"></highlight></codeline>
178<codeline lineno="117" refid="classdirfilelog_1f5fe9483a041591bfe6f3d6393b02aa7" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classdirfilelog_1f5fe9483a041591bfe6f3d6393b02aa7" kindref="member" tooltip="Shifts storage position for another time step.">dirfilelog::step</ref><sp/>(<sp/>)<sp/>{</highlight></codeline>
179<codeline lineno="118"><highlight class="normal"></highlight></codeline>
180<codeline lineno="119"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<sp/><ref refid="classmemlog_13410b4c002636508c43ddcba8d394520" kindref="member" tooltip="Currect record to be written.">ind</ref>==<sp/>(<sp/><ref refid="classmemlog_14195f322897ededdac66c404b848ced3" kindref="member" tooltip="Maximum length of vectors stored in memory.">maxlen</ref><sp/>-1<sp/>)<sp/>)<sp/>{</highlight></codeline>
181<codeline lineno="120"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classdirfilelog_1bd95cdb46af194245f88a7b4bf4c66c7" kindref="member" tooltip="Write memory storage to disk.">write_buffers</ref><sp/>(<sp/><ref refid="classmemlog_13410b4c002636508c43ddcba8d394520" kindref="member" tooltip="Currect record to be written.">ind</ref>+1<sp/>);</highlight></codeline>
182<codeline lineno="121"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classmemlog_13410b4c002636508c43ddcba8d394520" kindref="member" tooltip="Currect record to be written.">ind</ref><sp/>=<sp/>0;</highlight></codeline>
183<codeline lineno="122"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
184<codeline lineno="123"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
185<codeline lineno="124"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classmemlog_13410b4c002636508c43ddcba8d394520" kindref="member" tooltip="Currect record to be written.">ind</ref>++;</highlight></codeline>
186<codeline lineno="125"><highlight class="normal"></highlight></codeline>
187<codeline lineno="126"><highlight class="normal">}</highlight></codeline>
188<codeline lineno="127"><highlight class="normal"></highlight></codeline>
189<codeline lineno="128" refid="classdirfilelog_14d671baf6f88444d7fe25a5b8a80834a" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classdirfilelog_14d671baf6f88444d7fe25a5b8a80834a" kindref="member" tooltip="Finalize storing information.">dirfilelog::finalize</ref><sp/>(<sp/>)<sp/>{</highlight></codeline>
190<codeline lineno="129"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<sp/><ref refid="classmemlog_13410b4c002636508c43ddcba8d394520" kindref="member" tooltip="Currect record to be written.">ind</ref>&gt;0<sp/>)</highlight></codeline>
191<codeline lineno="130"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classdirfilelog_1bd95cdb46af194245f88a7b4bf4c66c7" kindref="member" tooltip="Write memory storage to disk.">write_buffers</ref><sp/>(<sp/><ref refid="classmemlog_13410b4c002636508c43ddcba8d394520" kindref="member" tooltip="Currect record to be written.">ind</ref><sp/>);<sp/></highlight><highlight class="comment">//assuming<sp/>here<sp/>that<sp/>i+1<sp/>was<sp/>not<sp/>filled</highlight><highlight class="normal"></highlight></codeline>
192<codeline lineno="131"><highlight class="normal">}</highlight></codeline>
193    </programlisting>
194    <location file="/home/smidl/work/git/mixpp/bdm/stat/loggers.cpp"/>
195  </compounddef>
196</doxygen>
Note: See TracBrowser for help on using the browser.