#include <loggers.h>
Public Member Functions | |
dirfilelog (std::string dirname0, int maxlen0) | |
Default constructor. | |
void | init () |
Initialize storage. | |
void | step () |
Shifts storage position for another time step. | |
void | finalize () |
Finalize storing information. | |
void | write_buffers (int Len) |
Write memory storage to disk. | |
void | logit (int id, const vec &v) |
log this vector | |
void | itsave (const char *fname) |
Save values into an itfile named after fname . | |
virtual int | add (const RV &rv, string name="") |
Protected Attributes | |
string | dirname |
name of the directory | |
Array< string > | scalarnames |
Automatically generated. | |
int | maxlen |
Maximum length of vectors stored in memory. | |
int | ind |
Currect record to be written. | |
Array< mat > | vectors |
Storage. | |
Array< RV > | entries |
RVs of all logged variables. | |
Array< string > | names |
Names of logged quantities, e.g. names of algorithm variants. |
Dirfile is a special format used by the kst program. See documentation of kst for description.
This format is used to store scalars, hence multivariate RVs must be separated.
bdm::dirfilelog::dirfilelog | ( | std::string | dirname0, | |
int | maxlen0 | |||
) | [inline] |
Default constructor.
dirname0 | name of the directory in which to store the results | |
maxlen0 | length of the memory buffers, when full the buffers will be dumped to HDD and returned to the beginning. |
virtual int bdm::logger::add | ( | const RV & | rv, | |
string | name = "" | |||
) | [inline, virtual, inherited] |
returns an identifier which will be later needed for calling the logit()
function For empty RV it returns -1, this entry will be ignored by logit()
.
References bdm::RV::_dsize(), bdm::logger::entries, and bdm::logger::names.
Referenced by pmsmDS::log_add(), bdm::ArxDS::log_add(), bdm::BM::log_add(), and bdm::DS::log_add().
void bdm::dirfilelog::write_buffers | ( | int | Len | ) |
Write memory storage to disk.
Len | length of buffer to be written, if 0 the file is truncated at 0. |
References dirname, bdm::logger::entries, bdm::memlog::maxlen, scalarnames, and bdm::memlog::vectors.
Referenced by finalize(), init(), and step().