'proceed with noise measurement, set anew attributes ``evaluations``
(proposed number of evaluations to "treat" noise) and ``evaluations_just_done``
and return a factor for increasing sigma.
Parameters
`X`
a list/sequence/vector of solutions
`fit`
the respective list of function values
`func`
the objective function, ``fit[i]`` corresponds to ``func(X[i], *args)``
`ask`
a method to generate a new, slightly disturbed solution. The argument
is mandatory if ``epsilon`` is not zero, see `__init__()`.
`args`
optional additional arguments to `func`
Details
Calls the methods ``reeval()``, ``update_measure()`` and ``treat()`` in this order.
``self.evaluations`` is adapted within the method `treat()`.'

def __call__(self, X, fit, func, ask=None, args=()):

    self.evaluations_just_done = 0
    if ((not self.maxevals) or (self.lam_reeval == 0)):
        return 1.0
    res = self.reeval(X, fit, func, ask, args)
    if (not len(res)):
        return 1.0
    self.update_measure()
    return self.treat()
