code: def random_get_float_mean(
      rnd: Optional[tcod.random.Random], mi: float, ma: float, mean: float
  ) -> float:
      
      return float(
          lib.TCOD_random_get_double_mean(
              rnd.random_c if rnd else ffi.NULL, mi, ma, mean
          )
      )
docs: Return a random weighted float in the range: ``mi`` <= n <= ``ma``.
  
      The result is affacted by calls to :any:`random_set_distribution`.
  
      Args:
          rnd (Optional[Random]): A Random instance, or None to use the default.
          low (float): The lower bound of the random range, inclusive.
          high (float): The upper bound of the random range, inclusive.
          mean (float): The mean return value.
  
      Returns:
          float: A random weighted double precision float
                 in the range ``mi`` <= n <= ``ma``.