def METHOD_NAME(
    initial_value: float, step_constant: int, step_max_value: int, max_value: float, current_step: int
) -> float:
    """
    Keeps the parameter value to zero until step_zero steps passed and then linearly increases it to 1 until an
    additional step_one steps passed. Continues the trend until it reaches max_value.
    Args:
        initial_value (float): Starting value of the parameter.
        step_constant (int): Step index until parameter's value is kept constant.
        step_max_value (int): Step index at which parameter's value becomes max_value.
        max_value (float): Max parameter value.
        current_step (int): Current step index.
    Returns:
        float: new parameter value
    """
    if current_step <= step_constant:
        delta = 0.0
    elif current_step > step_max_value:
        delta = max_value - initial_value
    else:
        delta = (max_value - initial_value) / (step_max_value - step_constant) * (current_step - step_constant)
    return initial_value + delta