44import numpy
55import pytest
66from dpctl .tensor ._numpy_helper import AxisError
7- from numpy .lib ._arraypad_impl import _as_pairs as numpy_as_pairs
7+
8+ if numpy .lib .NumpyVersion (numpy .__version__ ) >= "2.0.0" :
9+ from numpy .lib ._arraypad_impl import _as_pairs as numpy_as_pairs
10+ else :
11+ from numpy .lib .arraypad import _as_pairs as numpy_as_pairs
12+
813from numpy .testing import assert_array_equal , assert_equal , assert_raises
914
1015import dpnp
@@ -464,13 +469,18 @@ class TestPad:
464469 "empty" : {},
465470 }
466471
467- @pytest .mark .parametrize ("mode" , _all_modes .keys () - { "empty" } )
472+ @pytest .mark .parametrize ("mode" , _all_modes .keys ())
468473 def test_basic (self , mode ):
469474 a_np = numpy .arange (100 )
470475 a_dp = dpnp .array (a_np )
471476 expected = numpy .pad (a_np , (25 , 20 ), mode = mode )
472477 result = dpnp .pad (a_dp , (25 , 20 ), mode = mode )
473- assert_array_equal (result , expected )
478+ if mode == "empty" :
479+ # omit uninitialized "empty" boundary from the comparison
480+ assert result .shape == expected .shape
481+ assert_equal (result [25 :- 20 ], expected [25 :- 20 ])
482+ else :
483+ assert_array_equal (result , expected )
474484
475485 @pytest .mark .parametrize ("mode" , _all_modes .keys ())
476486 def test_memory_layout_persistence (self , mode ):
@@ -493,7 +503,12 @@ def test_non_contiguous_array(self, mode):
493503 a_dp = dpnp .arange (24 ).reshape (4 , 6 )[::2 , ::2 ]
494504 expected = numpy .pad (a_np , (2 , 3 ), mode = mode )
495505 result = dpnp .pad (a_dp , (2 , 3 ), mode = mode )
496- assert_array_equal (result , expected )
506+ if mode == "empty" :
507+ # omit uninitialized "empty" boundary from the comparison
508+ assert result .shape == expected .shape
509+ assert_equal (result [2 :- 3 , 2 :- 3 ], expected [2 :- 3 , 2 :- 3 ])
510+ else :
511+ assert_array_equal (result , expected )
497512
498513 # TODO: include "linear_ramp" when dpnp issue gh-2084 is resolved
499514 @pytest .mark .parametrize ("pad_width" , [0 , (0 , 0 ), ((0 , 0 ), (0 , 0 ))])
@@ -850,7 +865,7 @@ def test_pad_empty_dim_valid(self, mode):
850865 a_dp = dpnp .array (a_np )
851866 expected = numpy .pad (a_np , [(0 ,), (2 ,), (1 ,)], mode )
852867 result = dpnp .pad (a_dp , [(0 ,), (2 ,), (1 ,)], mode )
853- assert_array_equal (result , expected )
868+ assert_dtype_allclose (result , expected )
854869
855870 @pytest .mark .parametrize (
856871 "mode" ,
0 commit comments