
    >ie                        d dl mZ d dlZ ej        d           d dlZd dlZd dlmZ	 d dl
mZmZmZ d Zd Zd Zd Zd	 Z	 d
 Zd ZdS )    )annotationsNnumpy)coarsengetitemkeepdims_wrapperc                    dd} t          |           }|| k    sJ t          j        d                              dddd          } | |          } ||d          } ||d	          }|j        d
k    sJ |j        t                      k    sJ |dk    sJ |j        dk    sJ |j        dk    sJ |dk                                    sJ |j        d
k    sJ |j        t                      k    sJ |dk    sJ d S )Nc                .    |                      |          S Naxissumar   s     ;lib/python3.11/site-packages/dask/array/tests/test_chunk.pysummerz-test_keepdims_wrapper_no_axis.<locals>.summer       uu$u                   T)keepdimsFr   i  )r   r   r   r   N)r   nparangereshapendimshapetupleallr   summer_wrappedr   rrwrwfs         r   test_keepdims_wrapper_no_axisr(      s2           &f--NV####
	"aAq))Aq		A	D	)	)	)B
.U
+
+
+C6Q;;;;7egg88887a<<<<8|#####I??8q====9#::::::r   c                    dd} t          |           }|| k    sJ t          j        d                              dddd          } | |d          } ||dd	          } ||dd
	          }|j        dk    sJ |j        dk    sJ |t          j        g dg dgg          k                                    sJ |j        dk    sJ |j        dk    sJ |t          j        g dgg dggg          k                                    sJ |j        dk    sJ |j        dk    sJ |t          j        g dg dgg          k                                    sJ d S )Nc                .    |                      |          S r
   r   r   s     r   r   z.test_keepdims_wrapper_one_axis.<locals>.summer+   r   r   r   r   r   r   r   r   Tr   r   F)r   r   r   )            )0   3   6   9   )r   r   r   r   r   r   r   r   r   r   r    arrayr"   r#   s         r   test_keepdims_wrapper_one_axisr6   *   s           &f--NV####
	"aAq))AqqA	D	1	1	1B
.U
3
3
3C6Q;;;;7i,,,.>.>.>?@AAAFFHHHHH7a<<<<8|####"(.../2B2B2B1CDEFFFKKMMMMM8q====9	!!!!28...0@0@0@ABCCCHHJJJJJJJr   c                    dd} t          |           }|| k    sJ t          j        d                              dddd          } | |d          } ||dd	
          } ||dd
          }|j        dk    sJ |j        dk    sJ |t          j        g dg          k                                    sJ |j        dk    sJ |j        dk    sJ |t          j        dgdgdgggg          k                                    sJ |j        dk    sJ |j        dk    sJ |t          j        g dg          k                                    sJ d S )Nc                .    |                      |          S r
   r   r   s     r   r   z.test_keepdims_wrapper_two_axes.<locals>.summerF   r   r   r   r   r   r   r   )r   r   r   Tr+   F)<   \   |   )r   r   r   r   r9   r:   r;   r   r4   r#   s         r   test_keepdims_wrapper_two_axesr<   E   s           &f--NV####
	"aAq))AqvA		6	6	6B
.%
8
8
8C6Q;;;;7f===/***//111117a<<<<8|####"(rdRD3%01233388:::::8q====928]]]O,,,113333333r   c                     t           j                            dd          } t          t           j        | ddd          }|j        dk    sJ |d         t          j        | d dd df                   k    sJ d S )	N
   )r   r   )sizer   r   )r   r   )r,      )r   r   )r   randomrandintr   r   r    )xys     r   test_coarsenrE   `   s}    
	"8,,AqQ<<((A7gT7bfQrr2A2vY''''''''r   c                     t           j                            d          } t          j        t          j        | ddid          }|j        dk    sJ dS )z)https://github.com/dask/dask/issues/10274d   r   r   T)trim_excess))!   N)darA   r   r   meanchunks)rC   ress     r   test_coarsen_unaligned_shaperN   g   sN    
	A
*RWa!QT
:
:
:C:!!!!!!r   c                 n    t          j        dd                              d          j        dk    sJ d S )N)r   r@   r   )rL   r   ))r   r   )r   r   )rJ   zerosrechunkrL    r   r   test_integer_inputrS   x   s:    8F1%%%--a007;KKKKKKKr   c                    t           j                            d          } t          | t	          dd                    }|j        j        sJ t          | t	          dd                     j        j        rJ t          j        | t	          dd                    }|j        j        rJ t          j        | t	          dd                     j        j        rJ d S )Ni@B x   z   r   )r   rA   randr   sliceflagsowndataoperator)rC   rD   y_ops      r   test_getitemr]   |   s    
	y!!A5c??##A7?q%4..))/7777AuS#//Dz!!!!5D>>228@@@@@@r   )
__future__r   pytestimportorskipr[   r   r   
dask.arrayr5   rJ   dask.array.chunkr   r   r   r(   r6   r<   rE   rN   rS   r]   rR   r   r   <module>rc      s    " " " " " "   G               ? ? ? ? ? ? ? ? ? ?  6K K K64 4 46( ( (" " "L L L	A 	A 	A 	A 	Ar   