@@ -260,14 +260,22 @@ def test_unique_values(x):
260260
261261
262262@given (
263- hh .arrays (dtype = hh .int_dtypes , shape = hh .shapes ()),
264- hh .arrays (dtype = hh .int_dtypes , shape = hh .shapes ()),
263+ hh .arrays (dtype = hh .all_int_dtypes , shape = hh .shapes ()),
264+ hh .arrays (dtype = hh .all_int_dtypes , shape = hh .shapes ()),
265265 hh .kwargs (invert = st .booleans ())
266266)
267267def test_isin (x1 , x2 , kw ):
268268 # print("\nx1 = ", type(x1))
269269 print (x1 .shape , x2 .shape , x1 .dtype , x2 .dtype , kw )
270270
271+ # uint64 promotion with signed integers is prohibited in the spec, but many
272+ # array libraries allow it in an implementation-defined way
273+ is_mixed_int_promotion = (
274+ (x1 .dtype == xp .uint64 and x2 .dtype in dh .int_dtypes ) or
275+ (x2 .dtype == xp .uint64 and x1 .dtype in dh .int_dtypes )
276+ )
277+ assume (not is_mixed_int_promotion )
278+
271279 repro_snippet = ph .format_snippet (f"xp.isin({ x1 !r} , { x2 !r} , **kw) with { kw = } " )
272280 try :
273281 out = xp .isin (x1 , x2 , ** kw )
0 commit comments