Extended SWIG python interface (inspired by Kyle Ellrott): inference is possible...
[libdai.git] / include / dai / exactinf.h
index 7757f85..52268f4 100644 (file)
@@ -1,11 +1,8 @@
 /*  This file is part of libDAI - http://www.libdai.org/
  *
- *  libDAI is licensed under the terms of the GNU General Public License version
- *  2, or (at your option) any later version. libDAI is distributed without any
- *  warranty. See the file COPYING for more details.
+ *  Copyright (c) 2006-2011, The libDAI authors. All rights reserved.
  *
- *  Copyright (C) 2006-2009  Joris Mooij  [joris dot mooij at libdai dot org]
- *  Copyright (C) 2006-2007  Radboud University Nijmegen, The Netherlands
+ *  Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
  */
 
 
@@ -40,9 +37,6 @@ class ExactInf : public DAIAlgFG {
             size_t verbose;
         } props;
 
-        /// Name of this inference algorithm
-        static const char *Name;
-
     private:
         /// All single variable marginals
         std::vector<Factor> _beliefsV;
@@ -70,7 +64,8 @@ class ExactInf : public DAIAlgFG {
     /// \name General InfAlg interface
     //@{
         virtual ExactInf* clone() const { return new ExactInf(*this); }
-        virtual std::string identify() const;
+        virtual ExactInf* construct( const FactorGraph &fg, const PropertySet &opts ) const { return new ExactInf( fg, opts ); }
+        virtual std::string name() const { return "EXACT"; }
         virtual Factor belief( const Var &v ) const { return beliefV( findVar( v ) ); }
         virtual Factor belief( const VarSet &vs ) const;
         virtual Factor beliefV( size_t i ) const { return _beliefsV[i]; }
@@ -79,7 +74,7 @@ class ExactInf : public DAIAlgFG {
         virtual Real logZ() const { return _logZ; }
         /** \note The complexity of this calculation is exponential in the number of variables.
          */
-        std::vector<std::size_t> findMaximum() const;
+        std::vector<size_t> findMaximum() const;
         virtual void init();
         virtual void init( const VarSet &/*ns*/ ) {}
         virtual Real run();