code: def _update_general_statistics(a_float, dist):
      
      if not dist.count:
          dist.count = 1
          dist.maximum = a_float
          dist.minimum = a_float
          dist.mean = a_float
          dist.sumOfSquaredDeviation = 0
      else:
          old_count = dist.count
          old_mean = dist.mean
          new_mean = ((old_count * old_mean) + a_float) / (old_count + 1)
          delta_sum_squares = (a_float - old_mean) * (a_float - new_mean)
          dist.count += 1
          dist.mean = new_mean
          dist.maximum = max(a_float, dist.maximum)
          dist.minimum = min(a_float, dist.minimum)
          dist.sumOfSquaredDeviation += delta_sum_squares
docs: Adds a_float to distribution, updating the statistics fields.
  
      Args:
        a_float (float): a new value
        dist (:class:`endpoints_management.gen.servicecontrol_v1_messages.Distribution`):
          the Distribution being updated