bdmbase.h File Reference
Basic structures of probability calculus: random variables, probability densities, Bayes rule. More...
#include <map>
#include "../itpp_ext.h"
#include "../bdmroot.h"
#include "../shared_ptr.h"
#include "user_info.h"
Go to the source code of this file.
Namespaces | |
namespace | bdm |
namespace | std |
Classes | |
class | bdm::str |
Structure of RV, i.e. RVs expanded into a flat list of IDs, used for debugging. More... | |
class | bdm::RV |
Class representing variables, most often random variables. More... | |
class | bdm::log_level_intermediate< T > |
class | bdm::logger |
Class for storing results (and semi-results) of an experiment. More... | |
class | bdm::log_level_template< T > |
This class stores a details that will be logged to a logger. More... | |
class | bdm::fnc |
Class representing function of variable represented by rv . More... | |
class | bdm::pdf |
Conditional probability density, e.g. modeling , where is random variable, rv , and is conditioning variable, rvc . More... | |
class | bdm::epdf |
Abstract class representing probability density function with numerical statistics, e.g. posterior density. More... | |
class | bdm::pdf_internal< EPDF > |
pdf with internal epdf that is modified by function condition More... | |
class | bdm::datalink |
DataLink is a connection between two data vectors Up and Down. More... | |
class | bdm::datalink_part |
class | bdm::datalink_buffered |
Datalink that buffers delayed values - do not forget to call step(). More... | |
class | bdm::vec_from_vec |
class | bdm::vec_from_2vec |
class | bdm::datalink_2to1_buffered |
buffered datalink from 2 vectors to 1 More... | |
class | bdm::datalink_m2e |
Data link with a condition. More... | |
class | bdm::datalink_m2m |
class | bdm::DS |
Abstract class for discrete-time sources of data. More... | |
class | bdm::BM |
Bayesian Model of a system, i.e. all uncertainty is modeled by probabilities. More... | |
Defines | |
#define | LOG_LEVEL(classname,) public: enum log_level_enums { __VA_ARGS__ }; log_level_template<classname> log_level; private: friend class log_level_intermediate<classname>; static const Array<string> &log_level_names() { static const Array<string> log_level_names = log_level_template<classname>::string2Array( #__VA_ARGS__ ); return log_level_names; } |
Macro for defining a log_level attribute with a specific set of enumerations related to a specific class. | |
Typedefs | |
typedef Array< shared_ptr< epdf > > | bdm::epdf_array |
array of pointers to epdf | |
typedef Array< shared_ptr< pdf > > | bdm::pdf_array |
array of pointers to pdf | |
Functions | |
bdm::UIREGISTER (RV) | |
bdm::SHAREDPTR (RV) | |
RV | bdm::concat (const RV &rv1, const RV &rv2) |
Concat two random variables. | |
bdm::SHAREDPTR (pdf) | |
bdm::SHAREDPTR (epdf) | |
RV | bdm::get_composite_rv (const Array< shared_ptr< pdf > > &pdfs, bool checkoverlap=false) |
Combines RVs from a list of pdfs to a single one. |
Detailed Description
Basic structures of probability calculus: random variables, probability densities, Bayes rule.
- Author:
- Vaclav Smidl.
Using IT++ for numerical operations -----------------------------------
Define Documentation
#define LOG_LEVEL | ( | classname | ) | public: enum log_level_enums { __VA_ARGS__ }; log_level_template<classname> log_level; private: friend class log_level_intermediate<classname>; static const Array<string> &log_level_names() { static const Array<string> log_level_names = log_level_template<classname>::string2Array( #__VA_ARGS__ ); return log_level_names; } |
Macro for defining a log_level attribute with a specific set of enumerations related to a specific class.
This macro has to be called within a class declaration. Its argument classname has to correspond to that wrapping class. This macro defines a log_level instance which can be modified either directly or by the means of bdm::UI class.
One of the main purposes of this macro is to allow variability in using enumerations. By relating them to their names through an array of strings, we are no more dependant on their precise ordering. What is more, we can add or remove any without harming any applications which are using this library.
- Todo:
- Write a more detailed explanation including also examples
Generated on 2 Dec 2013 for mixpp by 1.4.7