<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def check_int_param(self, param, low, high, name):
 """ Check if the value of the given parameter is in the given range and an int. 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 (int or similar) * `low` : lowest allowed value (int), or None * `high` : highest allowed value (int), or None * `name` : name of the parameter (string), it is used for an error message **Returns:** * `param` : checked parameter converted to float """

        try:
            param = int(param)            
        except:
            raise ValueError(
                'Parameter {} is not int 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