(left, right)
return sdc_unify_index_types_impl
For equal indexes of different dtypes produced index of common dtype
For equal indexes of different dtypes produced index of common dtype
For equal indexes of different dtypes produced index of common dtype
def sdc_unify_index_types_overload(left, right):
    """ For equal indexes of different dtypes produced index of common dtype """

    index_dtypes_match, numba_index_common_dtype = find_index_common_dtype(left, right)
    is_left_index_cached = not isinstance(left, sdc_indexes_wo_values_cache)
    is_left_index_array = isinstance(left, types.Array)
    is_right_index_cached = not isinstance(right, sdc_indexes_wo_values_cache)
    is_right_index_array = isinstance(right, types.Array)

    def sdc_unify_index_types_impl(left, right):
        if index_dtypes_match == True:  # noqa
            return left
        else:
            if is_left_index_cached == True:  # noqa
                index_data = left.values if is_left_index_array == False else left  # noqa
            elif is_right_index_cached == True:  # noqa
                index_data = right.values if is_right_index_array == False else right  # noqa
            else:
                # using numpy_like.astype but not index.astype since latter works differently
                index_data = numpy_like.astype(left, numba_index_common_dtype)

        return fix_df_index(index_data)

    return sdc_unify_index_types_impl
def sdc_unify_index_types_overload ( left , right ) : index_dtypes_match , numba_index_common_dtype = find_index_common_dtype ( left , right ) is_left_index_cached = not isinstance ( left , sdc_indexes_wo_values_cache ) is_left_index_array = isinstance ( left , types . Array ) is_right_index_cached = not isinstance ( right , sdc_indexes_wo_values_cache ) is_right_index_array = isinstance ( right , types . Array ) def sdc_unify_index_types_impl ( left , right ) : if index_dtypes_match == True : # noqa return left else : if is_left_index_cached == True : # noqa index_data = left . values if is_left_index_array == False else left # noqa elif is_right_index_cached == True : # noqa index_data = right . values if is_right_index_array == False else right # noqa else : # using numpy_like.astype but not index.astype since latter works differently index_data = numpy_like . astype ( left , numba_index_common_dtype ) return fix_df_index ( index_data ) return sdc_unify_index_types_impl