avoid rescales when scale value is in allowed range

This commit is contained in:
Stefan Tröger 2013-12-25 17:15:54 +01:00
parent 0f1ae0d95b
commit fce34e05fc

View File

@ -107,7 +107,11 @@ SystemSolver<Sys>::Rescaler::Rescaler(boost::shared_ptr<Cluster> c, Mes& m) : cl
template<typename Sys> template<typename Sys>
void SystemSolver<Sys>::Rescaler::operator()() { void SystemSolver<Sys>::Rescaler::operator()() {
mes.Scaling = scaleClusters(calculateScale()); const Scalar sc = calculateScale();
if(sc<MINFAKTOR || sc>MAXFAKTOR)
mes.Scaling = scaleClusters(sc);
rescales++; rescales++;
}; };
@ -428,9 +432,6 @@ void SystemSolver<Sys>::solveCluster(boost::shared_ptr<Cluster> cluster, Sys& sy
Rescaler re(cluster, mes); Rescaler re(cluster, mes);
re(); re();
re();
re();
re();
sys.kernel().solve(mes, re); sys.kernel().solve(mes, re);
#ifdef USE_LOGGING #ifdef USE_LOGGING
BOOST_LOG(log)<< "Numbers of rescale: "<<re.rescales; BOOST_LOG(log)<< "Numbers of rescale: "<<re.rescales;