Move SimulatedAnnealingSolver::Impl in cpp file. Fix some typos.
authorcatree <catree.catreus@outlook.com>
Fri, 15 Dec 2017 13:09:59 +0000 (14:09 +0100)
committercatree <catree.catreus@outlook.com>
Fri, 15 Dec 2017 13:09:59 +0000 (14:09 +0100)
modules/ml/include/opencv2/ml.hpp
modules/ml/src/ann_mlp.cpp

index 35a5a62..1ea79f2 100644 (file)
@@ -1920,7 +1920,7 @@ public:
 class CV_EXPORTS SimulatedAnnealingSolver : public Algorithm
 {
 public:
-    SimulatedAnnealingSolver() { init(); };
+    SimulatedAnnealingSolver() { init(); }
     ~SimulatedAnnealingSolver();
     /** Give energy value for  a state of system.*/
     virtual double energy() =0;
@@ -1947,31 +1947,14 @@ public:
     * @param ite number of iteration per temperature step ite \> 0
     */
     void setIterPerStep(int ite);
-    struct Impl;
-protected :
+
+protected:
     void init();
+
+private:
+    struct Impl;
     Impl* impl;
 };
-struct SimulatedAnnealingSolver::Impl
-{
-    RNG rEnergy;
-    double coolingRatio;
-    double initialT;
-    double finalT;
-    int iterPerStep;
-    Impl()
-    {
-        initialT = 2;
-        finalT = 0.1;
-        coolingRatio = 0.95;
-        iterPerStep = 100;
-        refcount = 1;
-    }
-    int refcount;
-    ~Impl() { refcount--;CV_Assert(refcount==0); }
-};
-
-
 //! @} ml
 
 }
index fddc0ae..2ab0537 100644 (file)
 
 namespace cv { namespace ml {
 
+struct SimulatedAnnealingSolver::Impl
+{
+    RNG rEnergy;
+    double coolingRatio;
+    double initialT;
+    double finalT;
+    int iterPerStep;
+    Impl()
+    {
+        initialT = 2;
+        finalT = 0.1;
+        coolingRatio = 0.95;
+        iterPerStep = 100;
+        refcount = 1;
+    }
+    int refcount;
+    ~Impl() { refcount--;CV_Assert(refcount==0); }
+};
 
 struct AnnParams
 {
@@ -135,24 +153,24 @@ void SimulatedAnnealingSolver::setInitialTemperature(double x)
 {
     CV_Assert(x>0);
     impl->initialT = x;
-};
+}
 
 void SimulatedAnnealingSolver::setFinalTemperature(double x)
 {
     CV_Assert(x>0);
     impl->finalT = x;
-};
+}
 
 double SimulatedAnnealingSolver::getFinalTemperature()
 {
     return impl->finalT;
-};
+}
 
 void SimulatedAnnealingSolver::setCoolingRatio(double x)
 {
     CV_Assert(x>0 && x<1);
     impl->coolingRatio = x;
-};
+}
 
 class SimulatedAnnealingANN_MLP : public ml::SimulatedAnnealingSolver
 {
@@ -169,19 +187,23 @@ public:
     SimulatedAnnealingANN_MLP(ml::ANN_MLP *x, Ptr<ml::TrainData> d) : nn(x), data(d)
     {
         initVarMap();
-    };
+    }
+
     void changedState()
     {
         index = rIndex.uniform(0, nbVariables);
         double dv = rVar.uniform(-1.0, 1.0);
         varTmp = *adrVariables[index];
         *adrVariables[index] = dv;
-    };
+    }
+
     void reverseChangedState()
     {
         *adrVariables[index] = varTmp;
-    };
+    }
+
     double energy() { return nn->calcError(data, false, noArray()); }
+
 protected:
     void initVarMap()
     {