class_docstr: Estimation of a value based on one or multiple evaluations.
  This class provides easy access to:
  - count: how many times the point was evaluated
  - mean: the mean value.
  - square: the mean square value
  - variance: the variance
  - parameter: the corresponding Parameter
  
  
  It also provides access to optimistic and pessimistic bounds for the value.
  
  Parameter
  ---------
  parameter: Parameter
      the parameter for one of the evaluations
  y: float
      the first evaluation of the value
docstr: Adds a new evaluation of the value
  
  Parameter
  ---------
  y: float
      the new evaluation
docstr_tok: ["Adds","a","new","evaluation","of","the","value","Parameter","--","--","--","--","-","y",":","float","the","new","evaluation"]
code: def add_evaluation(self, y: float) -> None:
      """Adds a new evaluation of the value
  
      Parameter
      ---------
      y: float
          the new evaluation
      """
      if y > 1e10:
          y = 1e10
      elif y < -1e10:
          y = -1e10
      self._minimum = min(self._minimum, y)
      ratio = self.count / (self.count + 1)
      self.mean = ratio * self.mean + (y / float(self.count + 1))
      self.square = (self.count * self.square + y * y) / float(
          self.count + 1
      )
      self.count += 1
      try:
          self.square = max(self.square, self.mean**2)
          factor = math.sqrt(
              float(self.count) / float(self.count - 1.0)
          )
          self.variance = factor * (self.square - self.mean**2)
      except OverflowError:
          self.variance = 1e10
  
imports: import math
  import operator
  import numpy
  from nevergrad.parametrization import parameter
  from nevergrad.parametrization.utils import float_penalty
  import nevergrad.common.typing
  from nevergrad.common.tools import OrderedSet
label_desc: Use image node_id 6 for calling the MultiValue obj's underlying member method code with example usage: obj.add_evaluation(y) without return types