Merge branch 'pletscher'
[libdai.git] / src / weightedgraph.cpp
index 78d2069..c29b471 100644 (file)
@@ -1,29 +1,18 @@
-/*  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
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    libDAI is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with libDAI; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-*/
+/*  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-2009  Joris Mooij  [joris dot mooij at libdai dot org]
+ *  Copyright (C) 2006-2007  Radboud University Nijmegen, The Netherlands
+ */
 
 
 #include <algorithm>
-#include <cassert>
 #include <dai/weightedgraph.h>
 #include <dai/util.h>
+#include <dai/exceptions.h>
 
 
 namespace dai {
@@ -32,7 +21,6 @@ namespace dai {
 using namespace std;
 
 
-/// Calculate rooted tree from a tree T and a root
 DEdgeVec GrowRootedTree( const Graph & T, size_t Root ) {
     DEdgeVec result;
     if( T.size() == 0 )
@@ -46,13 +34,13 @@ DEdgeVec GrowRootedTree( const Graph & T, size_t Root ) {
 
         // Start with the root
         treeV.insert( Root );
-        
+
         // Keep adding edges until done
         while( !(Gr.empty()) )
             for( Graph::iterator e = Gr.begin(); e != Gr.end(); ) {
                 bool e1_in_treeV = treeV.count( e->n1 );
                 bool e2_in_treeV = treeV.count( e->n2 );
-                assert( !(e1_in_treeV && e2_in_treeV) );
+                DAI_ASSERT( !(e1_in_treeV && e2_in_treeV) );
                 if( e1_in_treeV ) {
                     // Add directed edge, pointing away from the root
                     result.push_back( DEdge( e->n1, e->n2 ) );
@@ -81,8 +69,8 @@ UEdgeVec RandomDRegularGraph( size_t N, size_t d ) {
     // from an almost uniform probability distribution over these graphs
     // (which becomes uniform in the limit that d is small and N goes
     // to infinity).
-    
-    assert( (N * d) % 2 == 0 );
+
+    DAI_ASSERT( (N * d) % 2 == 0 );
 
     bool ready = false;
     UEdgeVec G;