@@ -685,14 +685,14 @@ def generate_all_false(self, dtype):
685
685
def set_and_check_flag (self , flag , dtype , arr ):
686
686
if dtype is None :
687
687
dtype = arr [1 ].dtype
688
- a_np = numpy .require (arr [0 ], dtype , [flag ])
689
- a_dp = dpnp .require (arr [1 ], dtype , [flag ])
690
- assert a_np .flags [flag ] == a_dp .flags [flag ]
691
- assert a_np .dtype == a_dp .dtype
688
+ result = numpy .require (arr [0 ], dtype , [flag ])
689
+ expected = dpnp .require (arr [1 ], dtype , [flag ])
690
+ assert result .flags [flag ] == expected .flags [flag ]
691
+ assert result .dtype == expected .dtype
692
692
693
693
# a further call to dpnp.require ought to return the same array
694
- c = dpnp .require (a_dp , None , [flag ])
695
- assert c is a_dp
694
+ c = dpnp .require (expected , None , [flag ])
695
+ assert c is expected
696
696
697
697
def test_require_each (self ):
698
698
id = ["f4" , "i4" ]
@@ -707,19 +707,30 @@ def test_unknown_requirement(self, xp):
707
707
assert_raises (KeyError , xp .require , a , None , "Q" )
708
708
709
709
def test_non_array_input (self ):
710
- a_np = numpy .require ([1 , 2 , 3 , 4 ], "i4" , ["C" , "W" ])
711
- a_dp = dpnp .require ([1 , 2 , 3 , 4 ], "i4" , ["C" , "W" ])
712
- assert a_np .flags ["C" ] == a_dp .flags ["C" ]
713
- assert a_np .flags ["F" ] == a_dp .flags ["F" ]
714
- assert a_np .flags ["W" ] == a_dp .flags ["W" ]
715
- assert a_np .dtype == a_dp .dtype
716
- assert_array_equal (a_np , a_dp )
710
+ expected = numpy .require ([1 , 2 , 3 , 4 ], "i4" , ["C" , "W" ])
711
+ result = dpnp .require ([1 , 2 , 3 , 4 ], "i4" , ["C" , "W" ])
712
+ assert expected .flags ["C" ] == result .flags ["C" ]
713
+ assert expected .flags ["F" ] == result .flags ["F" ]
714
+ assert expected .flags ["W" ] == result .flags ["W" ]
715
+ assert expected .dtype == result .dtype
716
+ assert_array_equal (expected , result )
717
717
718
718
@pytest .mark .parametrize ("xp" , [numpy , dpnp ])
719
719
def test_C_and_F_simul (self , xp ):
720
720
a = self .generate_all_false ("f4" )
721
721
assert_raises (ValueError , xp .require , a , None , ["C" , "F" ])
722
722
723
+ def test_copy (self ):
724
+ a_np = numpy .arange (6 ).reshape (2 , 3 )
725
+ a_dp = dpnp .arange (6 ).reshape (2 , 3 )
726
+ a_np .flags ["W" ] = False
727
+ a_dp .flags ["W" ] = False
728
+ expected = numpy .require (a_np , requirements = ["W" , "C" ])
729
+ result = dpnp .require (a_dp , requirements = ["W" , "C" ])
730
+ # copy is done
731
+ assert result is not a_dp
732
+ assert_array_equal (expected , result )
733
+
723
734
724
735
class TestTranspose :
725
736
@pytest .mark .parametrize ("axes" , [(0 , 1 ), (1 , 0 ), [0 , 1 ]])
0 commit comments