code: def check_float_param(self, param, low, high, name):
          
          try:
              param = float(param)            
          except:
              raise ValueError(
                  'Parameter {} is not float or similar'.format(name)
                  )
          if low != None or high != None:
              if not low <= param <= high:
                  raise ValueError('Parameter {} is not in range <{}, {}>'
                      .format(name, low, high))    
          return param
docs: Check if the value of the given parameter is in the given range
          and a float.
          Designed for testing parameters like `mu` and `eps`.
          To pass this function the variable `param` must be able to be converted
          into a float with a value between `low` and `high`.
  
          **Args:**
  
          * `param` : parameter to check (float or similar)
  
          * `low` : lowest allowed value (float), or None
  
          * `high` : highest allowed value (float), or None
  
          * `name` : name of the parameter (string), it is used for an error message
              
          **Returns:**
  
          * `param` : checked parameter converted to float