99import numpy
1010
1111from numpy .testing import (
12+ assert_allclose ,
1213 assert_array_equal ,
1314 assert_raises
1415)
@@ -218,7 +219,7 @@ def test_array_creation_cross_device(func, args, kwargs, device_x, device_y):
218219
219220 dpnp_kwargs = dict (kwargs )
220221 dpnp_kwargs ['device' ] = device_y
221-
222+
222223 y = getattr (dpnp , func )(* dpnp_args , ** dpnp_kwargs )
223224 numpy .testing .assert_allclose (y_orig , y )
224225
@@ -279,6 +280,8 @@ def test_meshgrid(device_x, device_y):
279280 [1. , 2. ]),
280281 pytest .param ("sign" ,
281282 [- 5. , 4.5 ]),
283+ pytest .param ("sqrt" ,
284+ [1. , 3. , 9. ]),
282285 pytest .param ("sum" ,
283286 [1. , 2. ]),
284287 pytest .param ("trapz" ,
@@ -297,7 +300,7 @@ def test_1in_1out(func, data, device):
297300 x = dpnp .array (data , device = device )
298301 result = getattr (dpnp , func )(x )
299302
300- assert_array_equal (result , expected )
303+ assert_allclose (result , expected )
301304
302305 expected_queue = x .get_array ().sycl_queue
303306 result_queue = result .get_array ().sycl_queue
@@ -529,6 +532,33 @@ def test_random_state(func, args, kwargs, device, usm_type):
529532 assert_sycl_queue_equal (res_array .sycl_queue , sycl_queue )
530533
531534
535+ @pytest .mark .usefixtures ("allow_fall_back_on_numpy" )
536+ @pytest .mark .parametrize (
537+ "func,data" ,
538+ [
539+ pytest .param ("sqrt" ,
540+ [0. , 1. , 2. , 3. , 4. , 5. , 6. , 7. , 8. ]),
541+ ],
542+ )
543+ @pytest .mark .parametrize ("device" ,
544+ valid_devices ,
545+ ids = [device .filter_string for device in valid_devices ])
546+ def test_out_1in_1out (func , data , device ):
547+ x_orig = numpy .array (data )
548+ np_out = getattr (numpy , func )(x_orig )
549+ expected = numpy .empty_like (np_out )
550+ getattr (numpy , func )(x_orig , out = expected )
551+
552+ x = dpnp .array (data , device = device )
553+ dp_out = getattr (dpnp , func )(x )
554+ result = dpnp .empty_like (dp_out )
555+ getattr (dpnp , func )(x , out = result )
556+
557+ assert_allclose (result , expected )
558+
559+ assert_sycl_queue_equal (result .sycl_queue , x .sycl_queue )
560+
561+
532562@pytest .mark .usefixtures ("allow_fall_back_on_numpy" )
533563@pytest .mark .parametrize (
534564 "func,data1,data2" ,
@@ -574,7 +604,7 @@ def test_random_state(func, args, kwargs, device, usm_type):
574604@pytest .mark .parametrize ("device" ,
575605 valid_devices ,
576606 ids = [device .filter_string for device in valid_devices ])
577- def test_out (func , data1 , data2 , device ):
607+ def test_out_2in_1out (func , data1 , data2 , device ):
578608 x1_orig = numpy .array (data1 )
579609 x2_orig = numpy .array (data2 )
580610 np_out = getattr (numpy , func )(x1_orig , x2_orig )
0 commit comments