X-Git-Url: http://git.tuebingen.mpg.de/?p=libdai.git;a=blobdiff_plain;f=include%2Fdai%2Falldai.h;h=c0010ca1dfcf0f7cc43d65e67ff2ea8ea25c76df;hp=87bb1d8a6e81a32e54a065688728b4eb287f219a;hb=87c6827445f8fd67801efb6e818771e16229313b;hpb=7e77161d381c0062fb7159276d09633a0cce6a63 diff --git a/include/dai/alldai.h b/include/dai/alldai.h index 87bb1d8..c0010ca 100644 --- a/include/dai/alldai.h +++ b/include/dai/alldai.h @@ -1,6 +1,7 @@ -/* Copyright (C) 2006-2008 Joris Mooij [j dot mooij at science dot ru dot nl] - Radboud University Nijmegen, The Netherlands - +/* Copyright (C) 2006-2008 Joris Mooij [joris dot mooij at tuebingen dot mpg dot de] + Radboud University Nijmegen, The Netherlands / + Max Planck Institute for Biological Cybernetics, Germany + This file is part of libDAI. libDAI is free software; you can redistribute it and/or modify @@ -19,67 +20,86 @@ */ +/// \file +/// \brief Main libDAI header file +/// \todo Improve documentation + + #ifndef __defined_libdai_alldai_h #define __defined_libdai_alldai_h #include #include -#ifdef WITH_BP +#include +#include +#include +#include +#ifdef DAI_WITH_BP #include #endif -#ifdef WITH_MF +#ifdef DAI_WITH_MF #include #endif -#ifdef WITH_HAK +#ifdef DAI_WITH_HAK #include #endif -#ifdef WITH_LC +#ifdef DAI_WITH_LC #include #endif -#ifdef WITH_TREEEP +#ifdef DAI_WITH_TREEEP #include #endif -#ifdef WITH_JTREE +#ifdef DAI_WITH_JTREE #include #endif -#ifdef WITH_MR +#ifdef DAI_WITH_MR #include #endif +#ifdef DAI_WITH_GIBBS + #include +#endif +/// Namespace for libDAI namespace dai { -/// newInfAlg constructs a new approximate inference algorithm named name for the -/// FactorGraph fg with optionts opts and returns a pointer to the new object. -/// The caller needs to delete it (maybe some sort of smart_ptr might be useful here). -InfAlg *newInfAlg( const std::string &name, const FactorGraph &fg, const Properties &opts ); - +/// Constructs a new approximate inference algorithm. +/** \param name The name of the approximate inference algorithm (should be one of the names in DAINames). + * \param fg The FactorGraph that the algorithm should be applied to. + * \param opts A PropertySet specifying the options for the algorithm. + * \return Returns a pointer to the new InfAlg object; it is the responsibility of the caller to delete it later. + */ +InfAlg *newInfAlg( const std::string &name, const FactorGraph &fg, const PropertySet &opts ); -/// DAINames contains the names of all approximate inference algorithms +/// Contains the names of all approximate inference algorithms compiled into libDAI. static const char* DAINames[] = { -#ifdef WITH_BP + ExactInf::Name, +#ifdef DAI_WITH_BP BP::Name, #endif -#ifdef WITH_MF +#ifdef DAI_WITH_MF MF::Name, #endif -#ifdef WITH_HAK +#ifdef DAI_WITH_HAK HAK::Name, #endif -#ifdef WITH_LC +#ifdef DAI_WITH_LC LC::Name, #endif -#ifdef WITH_TREEEP +#ifdef DAI_WITH_TREEEP TreeEP::Name, #endif -#ifdef WITH_JTREE +#ifdef DAI_WITH_JTREE JTree::Name, #endif -#ifdef WITH_MR +#ifdef DAI_WITH_MR MR::Name, +#endif +#ifdef DAI_WITH_GIBBS + Gibbs::Name, #endif "" };