
    >ie                       d dl mZ d dlZd dlZd dlZej        j        Zd dl	Z	d dl
mZ d dlmZ  ej        d          Zej                            ddgej        ej        fej        ej        fej        ej        fej        ej        fg          d             Zej                            ddgej        ej        fej        ej        fg          d             Zej                            dej        ej        g          d	             ZdS )
    )annotationsN)	assert_eqcupydfuncfuncc                    t           j                                                            d          }t          j        |d          t                       ||                     t            d           ||d                     t            d           ||d                     t            d           ||d                     t          j                            d          5  t                       ||                     t            d           ||d                     t            d           ||d                     t            d           ||d                     d d d            n# 1 swxY w Y   t          j
        t           fd           t          j
        t           fd	           t                               d
          }t          j        |d          }t            |           ||                     t            |d           ||d                     t            |dd           ||d                     d S )N
   r
   r
            chunksr         )split_everyc                       d          S )Nr    ar   s   Elib/python3.11/site-packages/dask/array/tests/test_cupy_reductions.py<lambda>z%test_arg_reductions.<locals>.<lambda>(   s    eeAqkk     c                       d          S )N)r   r   r   r   s   r   r   z%test_arg_reductions.<locals>.<lambda>)   s    UU1f%5%5 r   r
   r   )r   randomdefault_rngda
from_arrayr   daskconfigsetpytestraises
ValueError	TypeErrorarange)r   r   xx2a2r   s   `    @r   test_arg_reductionsr+      s    	!!((66A
a	***AeeAhhQ   eeAqkk441::&&&eeAqkk441::&&&eeAqkk441::&&&	Q	'	' + +%%((DDGG$$$%%1++ttAqzz***%%1++ttAqzz***%%1++ttAqzz***	+ + + + + + + + + + + + + + + M*11111222
M)55555666	RB	r!	$	$	$BeeBiib"""eeBllDDQKK(((eeBq)))44A;;77777s   8BFFFc                   t           j                                                            d          }t           j        |d<   t	          j        |d          }t           | |           ||                     t           | |d           ||d                     t          j                    5  t          j	        dt                     t          j        t                    5   | |d                                           d d d            n# 1 swxY w Y   t          j        t                    5   | |d                                           d d d            n# 1 swxY w Y   t           j        |d d <   t	          j        |d          }t          j        t                    5   | |                                           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )	Nr	   r   r   r   r   ignorer   r   )r   r   r   nanr   r   r   warningscatch_warningssimplefilterRuntimeWarningr#   r$   r%   compute)r   r   r(   r   s       r   test_nanarg_reductionsr4   2   s    	!!((66A8AaD
a	***AeeAhhQ   eeAqkk441::&&&		 	"	"  h777]:&& 	" 	"E!QKK!!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" ]:&& 	" 	"E!QKK!!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" x!!!M!I...]:&& 	 	E!HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	                 s   04G+$DG+D	G+D	G+3EG+E"	"G+%E"	&AG+)GG+G	G+G	G++G/2G/c                    t                               d          }t          j        |d          } | |d          }t	          | | |d                     d S )N)r
   r
   )r   r   r   r   )axis)r   onesr   r   r   )r   r   bresults       r   test_cumreduction_with_cupyr:   J   sZ    		(A
a'''AT!!___Ffdd11ooo&&&&&r   )
__future__r   r/   numpynpr#   markgpu
pytestmarkr    
dask.arrayarrayr   dask.array.utilsr   importorskipr   parametrizeargminargmax	nanargmin	nanargmaxr+   r4   cumsumcumprodr:   r   r   r   <module>rL      s|   " " " " " "      [_
        & & & & & &v6"" f	BI	BI	r|$	r|$	 8 8 80 fr|4r|R\6RS   * ")RZ!899' ' :9' ' 'r   