
    bi                        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y)    )annotationsNnumpy)coarsengetitemkeepdims_wrapperc                    dd} t        |       }|| k7  sJ t        j                  d      j                  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(  j                         sJ |j                  d
k(  sJ |j
                  t               k(  sJ |dk(  sJ y )Nc                &    | j                  |      S Naxissumar   s     V/home/cdr/jupyterlab/.venv/lib/python3.12/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(      s      &f-NV###
		"aAq)Aq	A	D	)B
U
+C66Q;;77eg8O877a<<88|####I??88q==99#::r   c                    dd} t        |       }|| k7  sJ t        j                  d      j                  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(  j                         sJ |j                  dk(  sJ |j
                  dk(  sJ |t        j                  g dgg dggg      k(  j                         sJ |j                  dk(  sJ |j
                  dk(  sJ |t        j                  g dg dgg      k(  j                         sJ y )Nc                &    | j                  |      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   *   sQ     &f-NV###
		"aAq)AqqA	D	1B
U
3C66Q;;77i,.>?@AAFFHHH77a<<88|###"((./2B1CDEFFKKMMM88q==99	!!!288.0@ABCCHHJJJr   c                    dd} t        |       }|| k7  sJ t        j                  d      j                  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(  j                         sJ |j                  dk(  sJ |j
                  dk(  sJ |t        j                  dgdgdgggg      k(  j                         sJ |j                  dk(  sJ |j
                  dk(  sJ |t        j                  g dg      k(  j                         sJ y )Nc                &    | j                  |      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   sD     &f-NV###
		"aAq)AqvA		6B
%
8C66Q;;77f=/**//11177a<<88|###"((rdRD3%0123388:::88q==99288]O,,11333r   c                     t         j                  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 y )	N
   )r   r   )sizer   r   )r   r   )r,      )r   r   )r   randomrandintr   r   r    )xys     r   test_coarsenrE   `   sn    
		"8,AqQ<(A77gT7bffQrr2A2vY''''r   c                     t         j                  j                  d      } t        j                  t        j                  | ddid      }|j
                  dk(  sJ y)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   sD    
		A
**RWWa!QT
:C::!!!r   c                 n    t        j                  dd      j                  d      j                  dk(  sJ y )N)r   r@   r   )rL   r   ))r   r   )r   r   )rJ   zerosrechunkrL    r   r   test_integer_inputrS   x   s-    88F1%--a077;KKKKr   c                    t         j                  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 y )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77???q%4.)//7777AuS#/Dzz!!!!5D>28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      sU    "    G     ? ?6K646("L	Ar   