From 459c16ca9976bec5368da29feb3c01a899847e08 Mon Sep 17 00:00:00 2001 From: Alex Leontiev <alozz1991@gmail.com> Date: Fri, 19 Jul 2013 03:09:39 +0300 Subject: [PATCH] Minor fixes In request to the comments for the pull request. --- modules/optim/include/opencv2/optim.hpp | 5 ++-- modules/optim/src/lpsolver.cpp | 36 ++++++++++++++----------- modules/optim/src/precomp.hpp | 2 -- modules/optim/test/test_precomp.hpp | 2 -- 4 files changed, 24 insertions(+), 21 deletions(-) diff --git a/modules/optim/include/opencv2/optim.hpp b/modules/optim/include/opencv2/optim.hpp index 2e225e805..84430361c 100644 --- a/modules/optim/include/opencv2/optim.hpp +++ b/modules/optim/include/opencv2/optim.hpp @@ -43,11 +43,12 @@ #ifndef __OPENCV_OPTIM_HPP__ #define __OPENCV_OPTIM_HPP__ -//uncomment the next line to print the debug info -//#define ALEX_DEBUG +#include "opencv2/core.hpp" +#include <iostream> namespace cv{namespace optim { + using namespace std; //!the return codes for solveLP() function enum { diff --git a/modules/optim/src/lpsolver.cpp b/modules/optim/src/lpsolver.cpp index 8377e5c06..909794ab0 100644 --- a/modules/optim/src/lpsolver.cpp +++ b/modules/optim/src/lpsolver.cpp @@ -1,51 +1,59 @@ -#include "opencv2/ts.hpp" #include "precomp.hpp" #include <climits> #include <algorithm> #include <cstdarg> +#define ALEX_DEBUG + namespace cv{namespace optim{ using std::vector; +using namespace std; #ifdef ALEX_DEBUG #define dprintf(x) printf x static void print_matrix(const Mat& x){ - printf("\ttype:%d vs %d,\tsize: %d-on-%d\n",(x).type(),CV_64FC1,(x).rows,(x).cols); - for(int i=0;i<(x).rows;i++){ + printf("\ttype:%d vs %d,\tsize: %d-on-%d\n",x.type(),CV_64FC1,x.rows,x.cols); + if(!true){ + //cout<<x; + } + else{ + + for(int i=0;i<x.rows;i++){ printf("\t["); - for(int j=0;j<(x).cols;j++){ - printf("%g, ",(x).at<double>(i,j)); + for(int j=0;j<x.cols;j++){ + printf("%g, ",x.at<double>(i,j)); } printf("]\n"); } + } } static void print_simplex_state(const Mat& c,const Mat& b,double v,const std::vector<int> N,const std::vector<int> B){ printf("\tprint simplex state\n"); - printf("v=%g\n",(v)); + printf("v=%g\n",v); printf("here c goes\n"); - print_matrix((c)); + print_matrix(c); printf("non-basic: "); - for (std::vector<int>::const_iterator it = (N).begin() ; it != (N).end(); ++it){ + for (std::vector<int>::const_iterator it = N.begin() ; it != N.end(); ++it){ printf("%d, ",*it); } printf("\n"); printf("here b goes\n"); - print_matrix((b)); + print_matrix(b); printf("basic: "); - for (std::vector<int>::const_iterator it = (B).begin() ; it != (B).end(); ++it){ + for (std::vector<int>::const_iterator it = B.begin() ; it != B.end(); ++it){ printf("%d, ",*it); } printf("\n"); } #else -#define dprintf(x) do {} while (0) -#define print_matrix(x) do {} while (0) -#define print_simplex_state(c,b,v,N,B) do {} while (0) +#define dprintf(x) +#define print_matrix(x) +#define print_simplex_state(c,b,v,N,B) #endif /**Due to technical considerations, the format of input b and c is somewhat special: @@ -199,13 +207,11 @@ static int initialize_simplex(Mat_<double>& c, Mat_<double>& b,double& v,vector< for(int I=1;I<old_c.cols;I++){ if((iterator=std::find(N.begin(),N.end(),I))!=N.end()){ dprintf(("I=%d from nonbasic\n",I)); - fflush(stdout); int iterator_offset=iterator-N.begin(); c(0,iterator_offset)+=old_c(0,I); print_matrix(c); }else{ dprintf(("I=%d from basic\n",I)); - fflush(stdout); int iterator_offset=std::find(B.begin(),B.end(),I)-B.begin(); c-=old_c(0,I)*b.row(iterator_offset).colRange(0,b.cols-1); v+=old_c(0,I)*b(iterator_offset,b.cols-1); diff --git a/modules/optim/src/precomp.hpp b/modules/optim/src/precomp.hpp index 60d2b5b2f..7aab572f8 100644 --- a/modules/optim/src/precomp.hpp +++ b/modules/optim/src/precomp.hpp @@ -43,8 +43,6 @@ #ifndef __OPENCV_PRECOMP_H__ #define __OPENCV_PRECOMP_H__ -#include "opencv2/core.hpp" -#include "opencv2/core/mat.hpp" #include "opencv2/optim.hpp" #endif diff --git a/modules/optim/test/test_precomp.hpp b/modules/optim/test/test_precomp.hpp index b344d13c7..9a86cab4b 100644 --- a/modules/optim/test/test_precomp.hpp +++ b/modules/optim/test/test_precomp.hpp @@ -9,8 +9,6 @@ #ifndef __OPENCV_TEST_PRECOMP_HPP__ #define __OPENCV_TEST_PRECOMP_HPP__ -#include "opencv2/core.hpp" -#include "opencv2/core/mat.hpp" #include "opencv2/ts.hpp" #include "opencv2/optim.hpp"