(A, B)
Checks 1D sequences A and B of comparable dtypes are equal
Checks 1D sequences A and B of comparable dtypes are equal
Checks 1D sequences A and B of comparable dtypes are equal
def sdc_array_equal_overload(A, B):
    """ Checks 1D sequences A and B of comparable dtypes are equal """

    valid_arg_types = sdc_pandas_df_column_types
    if not (isinstance(A, valid_arg_types) or isinstance(B, valid_arg_types)):
        return None

    _func_name = "numpy-like 'array_equal'"
    if not check_types_comparable(A, B):
        msg = '{} Not comparable arguments. Given: A={}, B={}'
        raise TypingError(msg.format(_func_name, A, B))

    if (A == string_array_type and A == B):
        def sdc_array_equal_str_arr_impl(A, B):
            if A is B:
                return True

            is_index_equal = (len(A) == len(B)
                              and num_total_chars(A) == num_total_chars(B))
            for i in numpy.arange(len(A)):
                if (A[i] != B[i]
                        or str_arr_is_na(A, i) is not str_arr_is_na(B, i)):
                    return False
            return is_index_equal

        return sdc_array_equal_str_arr_impl
    else:

        def sdc_array_equal_impl(A, B):
            if A is B:
                return True

            if len(A) != len(B):
                return False
            # FIXME_Numba#5157: change to simple A == B when issue is resolved
            eq_res_size = len(A)
            eq_res = numpy.empty(eq_res_size, dtype=types.bool_)
            for i in numba.prange(eq_res_size):
                eq_res[i] = A[i] == B[i]
            return numpy.all(eq_res)

        return sdc_array_equal_impl
def sdc_array_equal_overload ( A , B ) : valid_arg_types = sdc_pandas_df_column_types if not ( isinstance ( A , valid_arg_types ) or isinstance ( B , valid_arg_types ) ) : return None _func_name = "numpy-like 'array_equal'" if not check_types_comparable ( A , B ) : msg = '{} Not comparable arguments. Given: A={}, B={}' raise TypingError ( msg . format ( _func_name , A , B ) ) if ( A == string_array_type and A == B ) : def sdc_array_equal_str_arr_impl ( A , B ) : if A is B : return True is_index_equal = ( len ( A ) == len ( B ) and num_total_chars ( A ) == num_total_chars ( B ) ) for i in numpy . arange ( len ( A ) ) : if ( A [ i ] != B [ i ] or str_arr_is_na ( A , i ) is not str_arr_is_na ( B , i ) ) : return False return is_index_equal return sdc_array_equal_str_arr_impl else : def sdc_array_equal_impl ( A , B ) : if A is B : return True if len ( A ) != len ( B ) : return False # FIXME_Numba#5157: change to simple A == B when issue is resolved eq_res_size = len ( A ) eq_res = numpy . empty ( eq_res_size , dtype = types . bool_ ) for i in numba . prange ( eq_res_size ) : eq_res [ i ] = A [ i ] == B [ i ] return numpy . all ( eq_res ) return sdc_array_equal_impl