@@ -1884,7 +1884,9 @@ class TestLogSumExp:
1884
1884
def test_logsumexp (self , dtype , axis , keepdims ):
1885
1885
a = dpnp .ones ((3 , 4 , 5 , 6 , 7 ), dtype = dtype )
1886
1886
res = dpnp .logsumexp (a , axis = axis , keepdims = keepdims )
1887
- exp_dtype = dpnp .default_float_type (a .device )
1887
+ exp_dtype = (
1888
+ dpnp .default_float_type (a .device ) if dtype == dpnp .bool else None
1889
+ )
1888
1890
exp = numpy .logaddexp .reduce (
1889
1891
dpnp .asnumpy (a ), axis = axis , keepdims = keepdims , dtype = exp_dtype
1890
1892
)
@@ -1896,11 +1898,17 @@ def test_logsumexp(self, dtype, axis, keepdims):
1896
1898
@pytest .mark .parametrize ("keepdims" , [True , False ])
1897
1899
def test_logsumexp_out (self , dtype , axis , keepdims ):
1898
1900
a = dpnp .ones ((3 , 4 , 5 , 6 , 7 ), dtype = dtype )
1899
- exp_dtype = dpnp .default_float_type (a .device )
1901
+ exp_dtype = (
1902
+ dpnp .default_float_type (a .device ) if dtype == dpnp .bool else None
1903
+ )
1900
1904
exp = numpy .logaddexp .reduce (
1901
1905
dpnp .asnumpy (a ), axis = axis , keepdims = keepdims , dtype = exp_dtype
1902
1906
)
1903
- dpnp_out = dpnp .empty (exp .shape , dtype = exp_dtype )
1907
+
1908
+ exp_dtype = exp .dtype
1909
+ if exp_dtype == numpy .float64 and not has_support_aspect64 ():
1910
+ exp_dtype = numpy .float32
1911
+ dpnp_out = dpnp .empty_like (a , shape = exp .shape , dtype = exp_dtype )
1904
1912
res = dpnp .logsumexp (a , axis = axis , out = dpnp_out , keepdims = keepdims )
1905
1913
1906
1914
assert res is dpnp_out
@@ -1926,7 +1934,9 @@ class TestReduceHypot:
1926
1934
def test_reduce_hypot (self , dtype , axis , keepdims ):
1927
1935
a = dpnp .ones ((3 , 4 , 5 , 6 , 7 ), dtype = dtype )
1928
1936
res = dpnp .reduce_hypot (a , axis = axis , keepdims = keepdims )
1929
- exp_dtype = dpnp .default_float_type (a .device )
1937
+ exp_dtype = (
1938
+ dpnp .default_float_type (a .device ) if dtype == dpnp .bool else None
1939
+ )
1930
1940
exp = numpy .hypot .reduce (
1931
1941
dpnp .asnumpy (a ), axis = axis , keepdims = keepdims , dtype = exp_dtype
1932
1942
)
@@ -1938,11 +1948,17 @@ def test_reduce_hypot(self, dtype, axis, keepdims):
1938
1948
@pytest .mark .parametrize ("keepdims" , [True , False ])
1939
1949
def test_reduce_hypot_out (self , dtype , axis , keepdims ):
1940
1950
a = dpnp .ones ((3 , 4 , 5 , 6 , 7 ), dtype = dtype )
1941
- exp_dtype = dpnp .default_float_type (a .device )
1951
+ exp_dtype = (
1952
+ dpnp .default_float_type (a .device ) if dtype == dpnp .bool else None
1953
+ )
1942
1954
exp = numpy .hypot .reduce (
1943
1955
dpnp .asnumpy (a ), axis = axis , keepdims = keepdims , dtype = exp_dtype
1944
1956
)
1945
- dpnp_out = dpnp .empty (exp .shape , dtype = exp_dtype )
1957
+
1958
+ exp_dtype = exp .dtype
1959
+ if exp_dtype == numpy .float64 and not has_support_aspect64 ():
1960
+ exp_dtype = numpy .float32
1961
+ dpnp_out = dpnp .empty_like (a , shape = exp .shape , dtype = exp_dtype )
1946
1962
res = dpnp .reduce_hypot (a , axis = axis , out = dpnp_out , keepdims = keepdims )
1947
1963
1948
1964
assert res is dpnp_out
0 commit comments