Updated copyrights
[libdai.git] / include / dai / alldai.h
1 /* Copyright (C) 2006-2008 Joris Mooij [joris dot mooij at tuebingen dot mpg dot de]
2 Radboud University Nijmegen, The Netherlands /
3 Max Planck Institute for Biological Cybernetics, Germany
4
5 This file is part of libDAI.
6
7 libDAI is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
11
12 libDAI is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with libDAI; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20 */
21
22
23 #ifndef __defined_libdai_alldai_h
24 #define __defined_libdai_alldai_h
25
26
27 #include <string>
28 #include <dai/daialg.h>
29 #include <dai/properties.h>
30 #include <dai/exactinf.h>
31 #ifdef WITH_BP
32 #include <dai/bp.h>
33 #endif
34 #ifdef WITH_MF
35 #include <dai/mf.h>
36 #endif
37 #ifdef WITH_HAK
38 #include <dai/hak.h>
39 #endif
40 #ifdef WITH_LC
41 #include <dai/lc.h>
42 #endif
43 #ifdef WITH_TREEEP
44 #include <dai/treeep.h>
45 #endif
46 #ifdef WITH_JTREE
47 #include <dai/jtree.h>
48 #endif
49 #ifdef WITH_MR
50 #include <dai/mr.h>
51 #endif
52
53
54 namespace dai {
55
56
57 /// newInfAlg constructs a new approximate inference algorithm named name for the
58 /// FactorGraph fg with optionts opts and returns a pointer to the new object.
59 /// The caller needs to delete it (maybe some sort of smart_ptr might be useful here).
60 InfAlg *newInfAlg( const std::string &name, const FactorGraph &fg, const PropertySet &opts );
61
62
63 /// DAINames contains the names of all approximate inference algorithms
64
65 static const char* DAINames[] = {
66 ExactInf::Name,
67 #ifdef WITH_BP
68 BP::Name,
69 #endif
70 #ifdef WITH_MF
71 MF::Name,
72 #endif
73 #ifdef WITH_HAK
74 HAK::Name,
75 #endif
76 #ifdef WITH_LC
77 LC::Name,
78 #endif
79 #ifdef WITH_TREEEP
80 TreeEP::Name,
81 #endif
82 #ifdef WITH_JTREE
83 JTree::Name,
84 #endif
85 #ifdef WITH_MR
86 MR::Name,
87 #endif
88 ""
89 };
90
91
92 } // end of namespace dai
93
94
95 #endif