Restored TProb<T>::makeZero, TProb<T>::makePositive, TFactor<T>::makeZero, TFactor...
[libdai.git] / include / dai / factor.h
index 4ac9640..7fe40e9 100644 (file)
@@ -12,6 +12,7 @@
 
 /// \file
 /// \brief Defines TFactor<T> and Factor classes
+/// \todo Improve documentation
 
 
 #ifndef __defined_libdai_factor_h
@@ -282,14 +283,19 @@ template <typename T> class TFactor {
             return pointwiseOp(*this,f,std::minus<T>());
         }
 
-
+        // OBSOLETE
         /// Sets all values that are smaller than epsilon to 0
+        /** \note Obsolete, to be removed soon
+         */
         TFactor<T>& makeZero( T epsilon ) {
             _p.makeZero( epsilon );
             return *this;
         }
 
+        // OBSOLETE
         /// Sets all values that are smaller than epsilon to epsilon
+        /** \note Obsolete, to be removed soon
+         */
         TFactor<T>& makePositive( T epsilon ) {
             _p.makePositive( epsilon );
             return *this;
@@ -355,7 +361,7 @@ template <typename T> class TFactor {
          *  defined by \f$g(\{x_l\}_{l\in L \setminus M}) = f(\{x_l\}_{l\in L \setminus M}, \{s(x_m)\}_{m\in M})\f$.
          */
         TFactor<T> slice( const VarSet& ns, size_t nsState ) const {
-            assert( ns << _vs );
+            DAI_ASSERT( ns << _vs );
             VarSet nsrem = _vs / ns;
             TFactor<T> result( nsrem, T(0) );
 
@@ -382,7 +388,7 @@ template <typename T> class TFactor {
          *  the embedded factor corresponds with \f$g : \prod_{m\in M} X_m \to [0,\infty) : x \mapsto f(x_L)\f$.
          */
         TFactor<T> embed(const VarSet & ns) const {
-            assert( ns >> _vs );
+            DAI_ASSERT( ns >> _vs );
             if( _vs == ns )
                 return *this;
             else
@@ -529,7 +535,7 @@ template<typename T> Real dist( const TFactor<T> &f, const TFactor<T> &g, Prob::
  *  \pre f.vars() == g.vars()
  */
 template<typename T> TFactor<T> max( const TFactor<T> &f, const TFactor<T> &g ) {
-    assert( f._vs == g._vs );
+    DAI_ASSERT( f._vs == g._vs );
     return TFactor<T>( f._vs, min( f.p(), g.p() ) );
 }
 
@@ -539,7 +545,7 @@ template<typename T> TFactor<T> max( const TFactor<T> &f, const TFactor<T> &g )
  *  \pre f.vars() == g.vars()
  */
 template<typename T> TFactor<T> min( const TFactor<T> &f, const TFactor<T> &g ) {
-    assert( f._vs == g._vs );
+    DAI_ASSERT( f._vs == g._vs );
     return TFactor<T>( f._vs, max( f.p(), g.p() ) );
 }
 
@@ -549,7 +555,7 @@ template<typename T> TFactor<T> min( const TFactor<T> &f, const TFactor<T> &g )
  *  \pre f.vars().size() == 2
  */
 template<typename T> Real MutualInfo(const TFactor<T> &f) {
-    assert( f.vars().size() == 2 );
+    DAI_ASSERT( f.vars().size() == 2 );
     VarSet::const_iterator it = f.vars().begin();
     Var i = *it; it++; Var j = *it;
     TFactor<T> projection = f.marginal(i) * f.marginal(j);