
    >ieW              
      v   d dl mZ d dlZd dlZd dlmZ d dlm	Z	 d dl
mZmZ d dlmZ ej        gZ	 d dlZe                    ej        j                   n# e$ r Y nw xY w	 d dlZe                    ej                   n# e$ r Y nw xY wej                            de          d             Zej                            dg d	          ej                            d
g d          d                         Zd Zej                            d ej        dg          df ej        ddg          ddgf ej        ddg           ej        ddg          fg          d             Zej                            ddddgddgf ej        ddg           ej        ddg          fg          d             ZdS )    )annotationsN)Array)	assert_eqmeta_from_arrayget_syncasarrayc                   t          j        d          }t          |d          j        dk    sJ t          j        dd          } | |          }t          |          j        dk    sJ t          |          j        dk    sJ t          t          |                    t          |          u sJ t          |d          j        d	k    sJ t          |d
          j        dk    sJ t          |d          j        dk    sJ t          |t                    j        dk    sJ t          j        d          }t          t          |          t           j
                  sJ t          d          dk    sJ t          d          dk    sJ t          t          j        d                    t          j        d          k    sJ d S )N   )ndim)r   )r         float32dtype)r   r   r   r   )r   r      )r   r   r   r   float64)r   {   foo)nparrayr   shapeonesr   typefloatda
isinstancendarray)r	   xs     Alib/python3.11/site-packages/dask/array/tests/test_array_utils.pytest_meta_from_arrayr!      s   
A11%%%+t3333
	+++A

A1#y00001#y0000""##tAww....11%%%+v555511%%%+|;;;;1I...4	AAAA1E***0I====
Aoa(("*5555533&&&&5!!U****28I..//28I3F3FFFFFFF    meta) strr$   r%   r"   s   strr   )Nboolintr   c                    |!t          | |          j        j        dv sJ d S t          | |          j        t          j        g |          j        k    sJ d S )Nr   SU)r   r   kindr   r   )r#   r   s     r    test_meta_from_array_literalr+   5   sn     }t51117<DDDDDD D...458Q8Q8Q8WWWWWWWr"   c                 (   t          t          j        dt          j                  } t	          | t          j                  sJ | j        dk    sJ | j        t          j        k    sJ t          j        dt          j	        dfidddt          j        t                    } t          | |            t          j        t          j	        d                              t          j                  t          j                  j        t          j        k    sJ d S )	Nr   )r   r   )r   r   r   )   r-   r   )namechunksr   r#   r   r-   )r#   )r   r   r   r   r   r   r   r   r   r   r   r   
from_arrayastypeint32)r   s    r     test_meta_from_array_type_inputsr3   @   s    
"*===Aa$$$$$6Q;;;;7bj    
	rw'(Z	 	 	A aOOO=**28442:FFFLPRPXXXXXXXr"   za,br         ?r   c                    t          j        t          d          5  t          | |           d d d            d S # 1 swxY w Y   d S )Nza and b have different dtypes)match)pytestraisesAssertionErrorr   )abs     r    test_assert_eq_checks_dtyper<   S   s     
~-L	M	M	M  !Q                 s   :>>)r4   r4   c                    dfd}t          | |           dk    sJ t          | ||           t          d | |fD                       dz  }|k    sJ d S )Nr   c                 &    dz  t          | i |S )Nr   r   )argskwargscounters     r    custom_schedulerz2test_assert_eq_scheduler.<locals>.custom_schedulerk   s    1((((r"   )	schedulerc                <    g | ]}t          |t                    |S  )r   r   ).0r   s     r    
<listcomp>z,test_assert_eq_scheduler.<locals>.<listcomp>v   s'    AAAQJq%,@,@AqAAAr"   r   )r   len)r:   r;   rB   n_da_arraysrA   s       @r    test_assert_eq_schedulerrJ   `   s     G) ) ) ) )
 aOOOa<<<<a.//// AA1a&AAABBQFKk!!!!!!r"   )
__future__r   numpyr   r7   
dask.arrayr   r   dask.array.corer   dask.array.utilsr   r   
dask.localr   r	   asarrayssparseappendCOO
from_numpyImportErrorcupymarkparametrizer!   r+   r3   r<   rJ   rE   r"   r    <module>rZ      s   " " " " " "            ! ! ! ! ! ! 7 7 7 7 7 7 7 7      J<	MMMOOFJ)**** 	 	 	D		KKKOODL!!!! 	 	 	D	 H--G G .-G0 !D!D!DEE"@"@"@AA
 
 BA FE
Y Y Y& 		1#	1a&		C8$	1a&		828S!H--.   
 	
Q!Q	1a&		828QF++, " " " " "s#   #A AA"B B	B	