pypet/utils/comparisons.py
def parameters_equal(a, b):
    """Compares two parameter instances

    Checks full name, data, and ranges. Does not consider the comment.

    :return: True or False

    :raises: ValueError if both inputs are no parameter instances

    """
    if (not b.v_is_parameter and
            not a.v_is_parameter):
        raise ValueError('Both inputs are not parameters')

    if (not b.v_is_parameter or
            not a.v_is_parameter):
        return False

    if a.v_full_name != b.v_full_name:
        return False

    if a.f_is_empty() and b.f_is_empty():
        return True

    if a.f_is_empty() != b.f_is_empty():
        return False

    if not a._values_of_same_type(a.f_get(), b.f_get()):
        return False

    if not a._equal_values(a.f_get(), b.f_get()):
        return False

    if a.f_has_range() != b.f_has_range():
        return False

    if a.f_has_range():
        if a.f_get_range_length() != b.f_get_range_length():
            return False

        for myitem, bitem in zip(a.f_get_range(copy=False), b.f_get_range(copy=False)):
            if not a._values_of_same_type(myitem, bitem):
                return False
            if not a._equal_values(myitem, bitem):
                return False

    return True
def parameters_equal(a, b):
    if (not b.v_is_parameter and
            not a.v_is_parameter):
        raise ValueError('Both inputs are not parameters')

    if (not b.v_is_parameter or
            not a.v_is_parameter):
        return False

    if a.v_full_name != b.v_full_name:
        return False

    if a.f_is_empty() and b.f_is_empty():
        return True

    if a.f_is_empty() != b.f_is_empty():
        return False

    if not a._values_of_same_type(a.f_get(), b.f_get()):
        return False

    if not a._equal_values(a.f_get(), b.f_get()):
        return False

    if a.f_has_range() != b.f_has_range():
        return False

    if a.f_has_range():
        if a.f_get_range_length() != b.f_get_range_length():
            return False

        for myitem, bitem in zip(a.f_get_range(copy=False), b.f_get_range(copy=False)):
            if not a._values_of_same_type(myitem, bitem):
                return False
            if not a._equal_values(myitem, bitem):
                return False

    return True
def parameters_equal ( a , b ) : if ( not b . v_is_parameter and not a . v_is_parameter ) : raise ValueError ( 'Both inputs are not parameters' ) if ( not b . v_is_parameter or not a . v_is_parameter ) : return False if a . v_full_name != b . v_full_name : return False if a . f_is_empty ( ) and b . f_is_empty ( ) : return True if a . f_is_empty ( ) != b . f_is_empty ( ) : return False if not a . _values_of_same_type ( a . f_get ( ) , b . f_get ( ) ) : return False if not a . _equal_values ( a . f_get ( ) , b . f_get ( ) ) : return False if a . f_has_range ( ) != b . f_has_range ( ) : return False if a . f_has_range ( ) : if a . f_get_range_length ( ) != b . f_get_range_length ( ) : return False for myitem , bitem in zip ( a . f_get_range ( copy = False ) , b . f_get_range ( copy = False ) ) : if not a . _values_of_same_type ( myitem , bitem ) : return False if not a . _equal_values ( myitem , bitem ) : return False return True
Compares two parameter instances

    Checks full name, data, and ranges. Does not consider the comment.

    :return: True or False

    :raises: ValueError if both inputs are no parameter instances
Compares two parameter instances