[opengm] 299/386: most certainly fixed bugs

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Wed Aug 31 08:38:15 UTC 2016


This is an automated email from the git hooks/post-receive script.

ghisvail-guest pushed a commit to branch debian/master
in repository opengm.

commit 909a05073f6b6f190de89cd9d0c37664bef628dd
Author: DerThorsten <thorsten.beier at iwr.uni-heidelberg.de>
Date:   Thu Dec 10 17:26:04 2015 -0300

    most certainly fixed bugs
---
 .../opengm/functions/learnable/lsum_of_experts.hxx | 261 ---------------------
 include/opengm/learning/dataset/testdatasets.hxx   |   8 +-
 .../learning/maximum-likelihood-learning.hxx       |   4 +-
 src/unittest/learning/test_dataset.cxx             |   4 +-
 src/unittest/learning/test_dataset_io.cxx          |   4 +-
 src/unittest/learning/test_gridsearch_learner.cxx  |   4 +-
 src/unittest/learning/test_learning.cxx            |   4 +-
 .../learning/test_maximum_likelihood_learner.cxx   |   2 +-
 src/unittest/learning/test_subgradient_ssvm.cxx    |   4 +-
 src/unittest/test_linear_constraint.cxx            |   1 +
 10 files changed, 18 insertions(+), 278 deletions(-)

diff --git a/include/opengm/functions/learnable/lsum_of_experts.hxx b/include/opengm/functions/learnable/lsum_of_experts.hxx
deleted file mode 100644
index b86dedb..0000000
--- a/include/opengm/functions/learnable/lsum_of_experts.hxx
+++ /dev/null
@@ -1,261 +0,0 @@
-#pragma once
-#ifndef OPENGM_LEARNABLE_LSUM_OF_EXPERTS_FUNCTION_HXX
-#define OPENGM_LEARNABLE_LSUM_OF_EXPERTS_FUNCTION_HXX
-#warning Due to an ambiguity in the class name this header is obsolet! Please use lweightedsum_of_functions.hxx instead.
-
-#include <algorithm>
-#include <vector>
-#include <cmath>
-
-#include "opengm/opengm.hxx"
-#include "opengm/functions/function_registration.hxx"
-#include "opengm/functions/function_properties_base.hxx"
-#include "opengm/datastructures/marray/marray.hxx"
-#include "opengm/graphicalmodel/weights.hxx"
-
-namespace opengm {
-namespace functions {
-namespace learnable {
-
-/// Learnable feature function for two variables
-///
-/// f(x) = \sum_i w(i) * feat(i)(x)
-///  - w    = parameter vector
-///  - feat = feature vector
-///
-///  
-/// \ingroup functions
-template<class T, class I = size_t, class L = size_t>
-class LSumOfExperts
-   : public opengm::FunctionBase<opengm::functions::learnable::LSumOfExperts<T, I, L>, T, I, L>
-{
-public:
-   typedef T ValueType;
-   typedef L LabelType;
-   typedef I IndexType;
- 
-   LSumOfExperts();
-   LSumOfExperts(const std::vector<L>& shape,
-      const opengm::learning::Weights<T>& weights,
-      const std::vector<size_t>& weightIDs,
-      const std::vector<marray::Marray<T> >& feat
-      );
- 
-   L shape(const size_t) const;
-   size_t size() const;
-   size_t dimension() const;
-   template<class ITERATOR> T operator()(ITERATOR) const;
- 
-   // parameters
-   void setWeights(const opengm::learning::Weights<T>& weights) const
-      {weights_ = &weights;}
-   size_t numberOfWeights()const
-     {return weightIDs_.size();}
-   I weightIndex(const size_t weightNumber) const
-     {return weightIDs_[weightNumber];} //dummy
-   template<class ITERATOR> 
-   T weightGradient(size_t,ITERATOR) const;
-
-protected:
-   mutable const opengm::learning::Weights<T>* weights_;
-   std::vector<L>                          shape_;
-   std::vector<size_t>                     weightIDs_;
-   std::vector<marray::Marray<T> >         feat_;
-
-   friend class opengm::FunctionSerialization<opengm::functions::learnable::LSumOfExperts<T, I, L> >;
-};
-
-
-template <class T, class I, class L>
-inline
-LSumOfExperts<T, I, L>::LSumOfExperts
-( 
-   const std::vector<L>&                           shape,
-   const opengm::learning::Weights<T>&             weights,
-   const std::vector<size_t>&                      weightIDs,
-   const std::vector<marray::Marray<T> >&          feat
-   )
-   :   shape_(shape), weights_(&weights), weightIDs_(weightIDs),feat_(feat)
-{
-   OPENGM_ASSERT( size() == feat_[0].size() );
-   OPENGM_ASSERT( weightIDs_.size() == feat_.size() );
-}
-
-template <class T, class I, class L>
-inline
-LSumOfExperts<T, I, L>::LSumOfExperts()
-   : shape_(std::vector<L>(0)), weightIDs_(std::vector<size_t>(0)), feat_(std::vector<marray::Marray<T> >(0))
-{
-   ;
-}
-
-
-template <class T, class I, class L>
-template <class ITERATOR>
-inline T
-LSumOfExperts<T, I, L>::weightGradient
-(
-   size_t weightNumber,
-   ITERATOR begin
-) const {
-  OPENGM_ASSERT(weightNumber< numberOfWeights());
-  return feat_[weightNumber](*begin);
-}
-
-template <class T, class I, class L>
-template <class ITERATOR>
-inline T
-LSumOfExperts<T, I, L>::operator()
-(
-   ITERATOR begin
-) const {
-   T val = 0;
-   for(size_t i=0;i<numberOfWeights();++i){
-      val += weights_->getWeight(weightIDs_[i]) * weightGradient(i,begin);
-   }
-   return val;
-}
-
-
-template <class T, class I, class L>
-inline L
-LSumOfExperts<T, I, L>::shape
-(
-   const size_t i
-) const {
-   return shape_[i];
-}
-
-template <class T, class I, class L>
-inline size_t
-LSumOfExperts<T, I, L>::dimension() const {
-   return shape_.size();
-}
-
-template <class T, class I, class L>
-inline size_t
-LSumOfExperts<T, I, L>::size() const {
-   size_t s = 1;
-   for(size_t i=0; i<dimension(); ++i)
-      s *=shape_[i];
-   return s;
-}
-
-} // namespace learnable
-} // namespace functions
-
-
-/// FunctionSerialization
-template<class T, class I, class L>
-class FunctionSerialization<opengm::functions::learnable::LSumOfExperts<T, I, L> > {
-public:
-   typedef typename opengm::functions::learnable::LSumOfExperts<T, I, L>::ValueType ValueType;
-
-   static size_t indexSequenceSize(const opengm::functions::learnable::LSumOfExperts<T, I, L>&);
-   static size_t valueSequenceSize(const opengm::functions::learnable::LSumOfExperts<T, I, L>&);
-   template<class INDEX_OUTPUT_ITERATOR, class VALUE_OUTPUT_ITERATOR>
-      static void serialize(const opengm::functions::learnable::LSumOfExperts<T, I, L>&, INDEX_OUTPUT_ITERATOR, VALUE_OUTPUT_ITERATOR);
-   template<class INDEX_INPUT_ITERATOR, class VALUE_INPUT_ITERATOR>
-      static void deserialize( INDEX_INPUT_ITERATOR, VALUE_INPUT_ITERATOR, opengm::functions::learnable::LSumOfExperts<T, I, L>&);
-};
-
-template<class T, class I, class L>
-struct FunctionRegistration<opengm::functions::learnable::LSumOfExperts<T, I, L> > {
-   enum ID {
-      Id = opengm::FUNCTION_TYPE_ID_OFFSET + 100 + 67
-   };
-};
-
-template<class T, class I, class L>
-inline size_t
-FunctionSerialization<opengm::functions::learnable::LSumOfExperts<T, I, L> >::indexSequenceSize
-(
-   const opengm::functions::learnable::LSumOfExperts<T, I, L> & src
-) {
-   return 1+src.shape_.size()+1+src.weightIDs_.size();
-}
-
-template<class T, class I, class L>
-inline size_t
-FunctionSerialization<opengm::functions::learnable::LSumOfExperts<T, I, L> >::valueSequenceSize
-(
-   const opengm::functions::learnable::LSumOfExperts<T, I, L> & src
-) {
-   return src.feat_.size()*src.size();
-}
-
-template<class T, class I, class L>
-template<class INDEX_OUTPUT_ITERATOR, class VALUE_OUTPUT_ITERATOR >
-inline void
-FunctionSerialization<opengm::functions::learnable::LSumOfExperts<T, I, L> >::serialize
-(
-   const opengm::functions::learnable::LSumOfExperts<T, I, L> & src,
-   INDEX_OUTPUT_ITERATOR indexOutIterator,
-   VALUE_OUTPUT_ITERATOR valueOutIterator
-) {
-   // save shape
-   *indexOutIterator = src.shape_.size();
-   ++indexOutIterator; 
-   for(size_t i=0; i<src.shape_.size();++i){
-      *indexOutIterator = src.shape_[i];
-      ++indexOutIterator; 
-   }
-   //save parameter ids
-   *indexOutIterator = src.weightIDs_.size();
-   ++indexOutIterator; 
-   for(size_t i=0; i<src.weightIDs_.size();++i){
-      *indexOutIterator = src.weightIDs_[i];
-      ++indexOutIterator; 
-   }
-
-   OPENGM_ASSERT_OP(src.weightIDs_.size(), ==, src.feat_.size());
-
-   // save features  
-   for(size_t i=0; i<src.weightIDs_.size();++i){
-      for(size_t j=0; j<src.feat_[i].size();++j){
-         *valueOutIterator = src.feat_[i](j);
-         ++valueOutIterator;
-      }
-   }
-}
-
-template<class T, class I, class L>
-template<class INDEX_INPUT_ITERATOR, class VALUE_INPUT_ITERATOR >
-inline void
-FunctionSerialization<opengm::functions::learnable::LSumOfExperts<T, I, L> >::deserialize
-(
-   INDEX_INPUT_ITERATOR indexInIterator,
-   VALUE_INPUT_ITERATOR valueInIterator,
-   opengm::functions::learnable::LSumOfExperts<T, I, L> & dst
-) { 
-   //read shape
-   size_t dim  = *indexInIterator;
-   size_t size = 1;
-   ++indexInIterator;
-   std::vector<L> shape(dim);
-   for(size_t i=0; i<dim;++i){
-      shape[i] = *indexInIterator;
-      size    *= *indexInIterator; 
-      ++indexInIterator;
-   }
-   //read parameter ids
-   size_t numW =*indexInIterator;
-   ++indexInIterator;
-   std::vector<size_t> parameterIDs(numW);
-   for(size_t i=0; i<numW;++i){ 
-      parameterIDs[i] = *indexInIterator;
-      ++indexInIterator;
-   }
-   //read features
-   std::vector<marray::Marray<T> > feat(numW,marray::Marray<T>(shape.begin(),shape.end()));
-   for(size_t i=0; i<numW;++i){   
-      for(size_t j=0; j<size;++j){
-         feat[i](j)=*valueInIterator;
-         ++valueInIterator;
-      }
-   }   
-}
-
-} // namespace opengm
-
-#endif // #ifndef OPENGM_LEARNABLE_FUNCTION_HXX
diff --git a/include/opengm/learning/dataset/testdatasets.hxx b/include/opengm/learning/dataset/testdatasets.hxx
index c5f20f8..e2f1e85 100644
--- a/include/opengm/learning/dataset/testdatasets.hxx
+++ b/include/opengm/learning/dataset/testdatasets.hxx
@@ -8,7 +8,7 @@
 #include <opengm/learning/dataset/dataset.hxx>
 #include <opengm/learning/dataset/editabledataset.hxx>
 #include <opengm/functions/learnable/lpotts.hxx>
-#include <opengm/functions/learnable/lsum_of_experts.hxx>
+#include <opengm/functions/learnable/lweightedsum_of_functions.hxx>
 
 namespace opengm {
    namespace datasets{
@@ -230,7 +230,7 @@ namespace opengm {
                   feat[1](1) = std::fabs(val1-1);
                   std::vector<size_t> wID(2);
                   wID[0]=1;  wID[1]=2;
-                  opengm::functions::learnable::LSumOfExperts<ValueType,IndexType,LabelType> f(shape,this->weights_, wID, feat);
+                  opengm::functions::learnable::LWeightedSumOfFunctions<ValueType,IndexType,LabelType> f(shape,this->weights_, wID, feat);
                   typename GM::FunctionIdentifier fid =  this->gms_[m].addFunction(f);
 
                   // factor
@@ -292,7 +292,7 @@ namespace opengm {
             feat[1](1) = val1-1;
             std::vector<size_t> wID(2);
             wID[0]=0;  wID[1]=1;
-            opengm::functions::learnable::LSumOfExperts<ValueType,IndexType,LabelType> f(shape,this->weights_, wID, feat);
+            opengm::functions::learnable::LWeightedSumOfFunctions<ValueType,IndexType,LabelType> f(shape,this->weights_, wID, feat);
             typename GM::FunctionIdentifier fid =  this->gms_[m].addFunction(f);
 
 			// factor
@@ -339,7 +339,7 @@ namespace opengm {
                   feat[1](1) = std::fabs(val1-1);
                   std::vector<size_t> wID(2);
                   wID[0]=1;  wID[1]=2;
-                  opengm::functions::learnable::LSumOfExperts<ValueType,IndexType,LabelType> f(shape,this->weights_, wID, feat);
+                  opengm::functions::learnable::LWeightedSumOfFunctions<ValueType,IndexType,LabelType> f(shape,this->weights_, wID, feat);
                   typename GM::FunctionIdentifier fid =  this->gms_[m].addFunction(f);
 
                   // factor
diff --git a/include/opengm/learning/maximum-likelihood-learning.hxx b/include/opengm/learning/maximum-likelihood-learning.hxx
index 15cf819..3bac158 100644
--- a/include/opengm/learning/maximum-likelihood-learning.hxx
+++ b/include/opengm/learning/maximum-likelihood-learning.hxx
@@ -8,7 +8,7 @@
 //#include <opengm/functions/explicit_function.hxx>
 #include <opengm/functions/view_convert_function.hxx>
 //#include <opengm/functions/learnable/lpotts.hxx>
-//#include <opengm/functions/learnable/lsum_of_experts.hxx>
+//#include <opengm/functions/learnable/lweightedsum_of_functions.hxx>
 #include <opengm/graphicalmodel/graphicalmodel.hxx>
 //#include <opengm/inference/icm.hxx>
 //
@@ -18,7 +18,7 @@
 //typedef opengm::meta::TypeListGenerator<
 //    opengm::ExplicitFunction<ValueType,IndexType,LabelType>,
 //    opengm::functions::learnable::LPotts<ValueType,IndexType,LabelType>,
-//    opengm::functions::learnable::LSumOfExperts<ValueType,IndexType,LabelType>
+//    opengm::functions::learnable::LWeightedSumOfFunctions<ValueType,IndexType,LabelType>
 //>::type FunctionListType;
 //
 //typedef opengm::GraphicalModel<
diff --git a/src/unittest/learning/test_dataset.cxx b/src/unittest/learning/test_dataset.cxx
index f4d5367..b84e2ec 100644
--- a/src/unittest/learning/test_dataset.cxx
+++ b/src/unittest/learning/test_dataset.cxx
@@ -9,7 +9,7 @@
 #include <opengm/utilities/metaprogramming.hxx>
 
 #include <opengm/functions/learnable/lpotts.hxx>
-#include <opengm/functions/learnable/lsum_of_experts.hxx>
+#include <opengm/functions/learnable/lweightedsum_of_functions.hxx>
 //#include <opengm/learning/dataset/testdataset.hxx>
 //#include <opengm/learning/dataset/testdataset2.hxx>
 #include <opengm/learning/dataset/dataset_io.hxx>
@@ -23,7 +23,7 @@
 typedef double ValueType;
 typedef size_t IndexType;
 typedef size_t LabelType; 
-typedef opengm::meta::TypeListGenerator<opengm::ExplicitFunction<ValueType,IndexType,LabelType>, opengm::functions::learnable::LPotts<ValueType,IndexType,LabelType>, opengm::functions::learnable::LSumOfExperts<ValueType,IndexType,LabelType> >::type FunctionListType;
+typedef opengm::meta::TypeListGenerator<opengm::ExplicitFunction<ValueType,IndexType,LabelType>, opengm::functions::learnable::LPotts<ValueType,IndexType,LabelType>, opengm::functions::learnable::LWeightedSumOfFunctions<ValueType,IndexType,LabelType> >::type FunctionListType;
 typedef opengm::GraphicalModel<ValueType,opengm::Adder, FunctionListType, opengm::DiscreteSpace<IndexType,LabelType> > GM; 
 //typedef opengm::datasets::TestDataset<GM>  DS1;
 //typedef opengm::datasets::Dataset<GM>      DS;
diff --git a/src/unittest/learning/test_dataset_io.cxx b/src/unittest/learning/test_dataset_io.cxx
index aa2a2a5..4df5471 100644
--- a/src/unittest/learning/test_dataset_io.cxx
+++ b/src/unittest/learning/test_dataset_io.cxx
@@ -9,7 +9,7 @@
 #include <opengm/utilities/metaprogramming.hxx>
 
 #include <opengm/functions/learnable/lpotts.hxx>
-#include <opengm/functions/learnable/lsum_of_experts.hxx>
+#include <opengm/functions/learnable/lweightedsum_of_functions.hxx>
 //#include <opengm/learning/dataset/testdataset.hxx>
 //#include <opengm/learning/dataset/testdataset2.hxx>
 #include <opengm/learning/dataset/dataset_io.hxx>
@@ -24,7 +24,7 @@
 typedef double ValueType;
 typedef size_t IndexType;
 typedef size_t LabelType; 
-typedef opengm::meta::TypeListGenerator<opengm::ExplicitFunction<ValueType,IndexType,LabelType>, opengm::functions::learnable::LPotts<ValueType,IndexType,LabelType>, opengm::functions::learnable::LSumOfExperts<ValueType,IndexType,LabelType> >::type FunctionListType;
+typedef opengm::meta::TypeListGenerator<opengm::ExplicitFunction<ValueType,IndexType,LabelType>, opengm::functions::learnable::LPotts<ValueType,IndexType,LabelType>, opengm::functions::learnable::LWeightedSumOfFunctions<ValueType,IndexType,LabelType> >::type FunctionListType;
 typedef opengm::GraphicalModel<ValueType,opengm::Adder, FunctionListType, opengm::DiscreteSpace<IndexType,LabelType> > GM; 
 typedef opengm::learning::NoLoss                 LOSS1;
 typedef opengm::learning::HammingLoss            LOSS2;
diff --git a/src/unittest/learning/test_gridsearch_learner.cxx b/src/unittest/learning/test_gridsearch_learner.cxx
index cef54d8..3684cc2 100644
--- a/src/unittest/learning/test_gridsearch_learner.cxx
+++ b/src/unittest/learning/test_gridsearch_learner.cxx
@@ -9,7 +9,7 @@
 #include <opengm/utilities/metaprogramming.hxx>
 
 #include <opengm/functions/learnable/lpotts.hxx>
-#include <opengm/functions/learnable/lsum_of_experts.hxx>
+#include <opengm/functions/learnable/lweightedsum_of_functions.hxx>
 #include <opengm/learning/gridsearch-learning.hxx>
 #include <opengm/learning/loss/hammingloss.hxx>
 //#include <opengm/learning/dataset/testdataset.hxx>
@@ -21,7 +21,7 @@
 typedef double ValueType;
 typedef size_t IndexType;
 typedef size_t LabelType; 
-typedef opengm::meta::TypeListGenerator<opengm::ExplicitFunction<ValueType,IndexType,LabelType>, opengm::functions::learnable::LPotts<ValueType,IndexType,LabelType>, opengm::functions::learnable::LSumOfExperts<ValueType,IndexType,LabelType> >::type FunctionListType;
+typedef opengm::meta::TypeListGenerator<opengm::ExplicitFunction<ValueType,IndexType,LabelType>, opengm::functions::learnable::LPotts<ValueType,IndexType,LabelType>, opengm::functions::learnable::LWeightedSumOfFunctions<ValueType,IndexType,LabelType> >::type FunctionListType;
 typedef opengm::GraphicalModel<ValueType,opengm::Adder, FunctionListType, opengm::DiscreteSpace<IndexType,LabelType> > GM; 
 //typedef opengm::datasets::TestDataset<GM>  DS;
 //typedef opengm::datasets::TestDataset2<GM> DS2;
diff --git a/src/unittest/learning/test_learning.cxx b/src/unittest/learning/test_learning.cxx
index 24b7ecb..289dfdc 100644
--- a/src/unittest/learning/test_learning.cxx
+++ b/src/unittest/learning/test_learning.cxx
@@ -16,7 +16,7 @@
 
 
 #include <opengm/functions/learnable/lpotts.hxx>
-#include <opengm/functions/learnable/lsum_of_experts.hxx>
+#include <opengm/functions/learnable/lweightedsum_of_functions.hxx>
 #include <opengm/learning/struct-max-margin.hxx>
 #include <opengm/learning/loss/hammingloss.hxx>
 //#include <opengm/learning/dataset/testdataset.hxx>
@@ -29,7 +29,7 @@
 typedef double ValueType;
 typedef size_t IndexType;
 typedef size_t LabelType; 
-typedef opengm::meta::TypeListGenerator<opengm::ExplicitFunction<ValueType,IndexType,LabelType>, opengm::functions::learnable::LPotts<ValueType,IndexType,LabelType>, opengm::functions::learnable::LSumOfExperts<ValueType,IndexType,LabelType> >::type FunctionListType;
+typedef opengm::meta::TypeListGenerator<opengm::ExplicitFunction<ValueType,IndexType,LabelType>, opengm::functions::learnable::LPotts<ValueType,IndexType,LabelType>, opengm::functions::learnable::LWeightedSumOfFunctions<ValueType,IndexType,LabelType> >::type FunctionListType;
 typedef opengm::GraphicalModel<ValueType,opengm::Adder, FunctionListType, opengm::DiscreteSpace<IndexType,LabelType> > GM; 
 typedef opengm::learning::HammingLoss     LOSS;
 
diff --git a/src/unittest/learning/test_maximum_likelihood_learner.cxx b/src/unittest/learning/test_maximum_likelihood_learner.cxx
index 2530849..58b2862 100644
--- a/src/unittest/learning/test_maximum_likelihood_learner.cxx
+++ b/src/unittest/learning/test_maximum_likelihood_learner.cxx
@@ -23,7 +23,7 @@ typedef size_t LabelType;
 typedef opengm::meta::TypeListGenerator<
     opengm::ExplicitFunction<ValueType,IndexType,LabelType>,
     opengm::functions::learnable::LPotts<ValueType,IndexType,LabelType>,
-    opengm::functions::learnable::LSumOfExperts<ValueType,IndexType,LabelType>
+    opengm::functions::learnable::LWeightedSumOfFunctions<ValueType,IndexType,LabelType>
 >::type FunctionListType;
 
 typedef opengm::GraphicalModel<
diff --git a/src/unittest/learning/test_subgradient_ssvm.cxx b/src/unittest/learning/test_subgradient_ssvm.cxx
index 11ddfc5..fd009a0 100644
--- a/src/unittest/learning/test_subgradient_ssvm.cxx
+++ b/src/unittest/learning/test_subgradient_ssvm.cxx
@@ -14,7 +14,7 @@
 
 
 #include <opengm/functions/learnable/lpotts.hxx>
-#include <opengm/functions/learnable/lsum_of_experts.hxx>
+#include <opengm/functions/learnable/lweightedsum_of_functions.hxx>
 #include <opengm/learning/subgradient_ssvm.hxx>
 #include <opengm/learning/loss/hammingloss.hxx>
 //#include <opengm/learning/dataset/testdataset.hxx>
@@ -27,7 +27,7 @@
 typedef double ValueType;
 typedef size_t IndexType;
 typedef size_t LabelType; 
-typedef opengm::meta::TypeListGenerator<opengm::ExplicitFunction<ValueType,IndexType,LabelType>, opengm::functions::learnable::LPotts<ValueType,IndexType,LabelType>, opengm::functions::learnable::LSumOfExperts<ValueType,IndexType,LabelType> >::type FunctionListType;
+typedef opengm::meta::TypeListGenerator<opengm::ExplicitFunction<ValueType,IndexType,LabelType>, opengm::functions::learnable::LPotts<ValueType,IndexType,LabelType>, opengm::functions::learnable::LWeightedSumOfFunctions<ValueType,IndexType,LabelType> >::type FunctionListType;
 typedef opengm::GraphicalModel<ValueType,opengm::Adder, FunctionListType, opengm::DiscreteSpace<IndexType,LabelType> > GM; 
 typedef opengm::learning::HammingLoss     LOSS;
 
diff --git a/src/unittest/test_linear_constraint.cxx b/src/unittest/test_linear_constraint.cxx
index aa7a09f..7521458 100644
--- a/src/unittest/test_linear_constraint.cxx
+++ b/src/unittest/test_linear_constraint.cxx
@@ -36,6 +36,7 @@ int main(int argc, char** argv){
 
    std::cout << "done..." << std::endl;
    return 0;
+   
 }
 
 template<class VALUE_TYPE, class INDEX_TYPE, class LABEL_TYPE>

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/opengm.git



More information about the debian-science-commits mailing list