872a7b5aceb28514c09ad10578db934a94cbc83b
1 /* Copyright (C) 2006-2008 Joris Mooij [j dot mooij at science dot ru dot nl]
2 Radboud University Nijmegen, The Netherlands
4 This file is part of libDAI.
6 libDAI is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 libDAI is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with libDAI; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
23 #include <dai/alldai.h>
32 InfAlg
*newInfAlg( const string
&name
, const FactorGraph
&fg
, const Properties
&opts
) {
33 if( name
== BP::Name
)
34 return new BP (fg
, opts
);
35 else if( name
== MF::Name
)
36 return new MF (fg
, opts
);
37 else if( name
== HAK::Name
)
38 return new HAK (fg
, opts
);
39 else if( name
== LC::Name
)
40 return new LC (fg
, opts
);
41 else if( name
== TreeEP::Name
)
42 return new TreeEP (fg
, opts
);
43 else if( name
== MR::Name
)
44 return new MR (fg
, opts
);
45 else if( name
== JTree::Name
)
46 return new JTree (fg
, opts
);
48 throw "Unknown inference algorithm";
52 } // end of namespace dai