
    bi`                       d dl mZ d dlZd dlZej
                  j                  Zd dlm	Z
 d dlmZ d dlmZ d dlmZ  ej"                  d      Zd Zd Zej
                  j+                  d	d
dddi fd
dddddifd
dddddifddddddifd
dddi fd
dddi fd
ddddd ifddddddifddddi fddddi fddddi fd
dddd d!ifdddd"d d#ifd
ddd$d difd
ddd%i fg      d&        Zej
                  j+                  d'ee
g      ej
                  j+                  d(ddd ed)fd*dd ed)fdd*d ed)fddded)fddded)fdddedfd+d,d-ed.fd+d,d ed/fg      d0               Zd1 Zy)2    )annotationsN)config)	AxisError)	assert_eqcupyc                 b   t         j                  d      } t        j                  | dd      }t	        |j
                        t         j                  k(  sJ t        ||       t        t        j                  |      t         j                  |              | | z   dz   } ||z   dz   }t        j                  |      }t         j                  |       }t	        |j
                        t         j                  k(  sJ t        ||       t        ||       t         j                  d      j                  d      }t        j                  |dd      }t	        |j
                        t         j                  k(  sJ t        ||       t        t        j                  |      t         j                  |             y )	N      Fchunksasarray   @   )   r   )r   r   )
r   arangeda
from_arraytype_metandarrayr   diagreshape)vdvdarrcupyarrxdxs         ^/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/dask/array/tests/test_cupy_creation.py	test_diagr!      s*   BA	qu	5B>T\\)))b"bggbk499Q<(	A	A	b1B772;DiilG

t||+++dDdGB'A	q	7B>T\\)))b"bggbk499Q<(    c            	     	   t         j                  d      } t        j                  t              5  t        j                  |        d d d        t         j                  d      j                  d      } t        j                  t              5  t        j                  | dd       d d d        t        j                  t              5  t        j                  | d       d d d        t        j                  t              5  t        j                  | d       d d d        t         j                  d	      j                  d
      } t        j                  | dd      } t        t        j                  |       t        j                  |              t        t        j                  | d      t        j                  | d             t        t        j                  | d      t        j                  | d             t        t        j                  |       j                         t         j                        sJ t        j                  t              5  t        j                  | d       d d d        t        t        j                  | d      t        j                  | d             t        t        j                  | dd      t        j                  | dd             t         j                  d      j                  d      } t        j                  | dd      } t        t        j                  |       t        j                  |              t        t        j                  | ddd      t        j                  | ddd             t        t        j                  | ddd      t        j                  | ddd             t        t        j                  | ddd      t        j                  | ddd             t        t        j                  | d      t        j                  | d             t        t        j                  | d      t        j                  | d             t        t        j                  | ddd      t        j                  | ddd             y # 1 sw Y   UxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ixY w)Nr	   r   )   r$   r   )axis1axis2)r%   )r&   x   )r         r$   Fr   
   )offseti   )r,   r%   i  )r$   r   r   r)   r*   )r/   r/   r$   )r/   r$   r/   )r$   r/   r$   )r)   r/   r   )r,   r%   r&   )r   r   pytestraises
ValueErrorr   diagonalr   r   r   r   np
isinstancecomputer   )r   s    r    test_diagonalr8   &   sK   BA	z	" 
A 	Av&A	z	" )
AQa() 
y	! !
AR ! 
y	! !
AR ! 	I&&y1A
a51Abkk!nbkk!n-bkk!B'Qr)BCbkk!C("++a*DEbkk!n,,.===	z	" !
AR ! bkk!2&AR(@Abkk!AR0"++aQS2TU 	%&..?A
	;U	A bkk!nbkk!n-
Aaq2
Aaq2
 
Ab3
Ab3
 
Ab3
Ab3
 bkk!QQ!23bkk!R "++a"45bkk!Q1%r{{1aA'>?k ) )! !! !! !s;   R
R%R2=R?SR"%R/2R<?S	Sz&shape, chunks, pad_width, mode, kwargs)r+   )r   r/   constantr$   constant_valuesr.   r$   r   r.   r-   )r+   r	   )r   r)   ))r/   r   r;   )r<   r$   r/   r   edgelinear_ramp
end_values)r<   )r   r   reflect	symmetricwrapmaximumstat_lengthr0   mean)r   r   r=   minimumemptyc                   t         j                  j                         j                  |       }t        j                  t
        j                  |      |      }t        j                  |||fi |}t        j                  |||fi |}t        |j                  t
        j                        sJ t        |j                         t
        j                        sJ |dk(  rt        |||  |||  d       y t        ||d       y )Nr   rI   F
check_type)r5   randomdefault_rngr   r   r   arraypadr6   r   r   r7   r   )	shaper   	pad_widthmodekwargsnp_ada_anp_rda_rs	            r    test_padrZ   `   s    B 99  "))%0D==D)&9D66$	4262D66$	4262Ddjj$,,///dllndll333wI:&Y	z(Bu	
 	$/r"   xpzN, M, k, dtype, chunksautor   r*   r   r-   rG   )r   r\   c           	         ||||g}t        j                  | }| t        u r|j                  |        | j                  |dt        j                  t         j                  d            i}t        ||       y )Nlike )r   trir   appendr   rP   r   )	r[   NMkdtyper   argscp_axp_as	            r    test_tri_likeri      sb     q!UD88T?D	RxF2664<bmmDJJrN;<DdDr"   c                 z   t        j                  ddi      5  t        j                  t        j                  d      d      } t        | j                  t        j                        sJ | j                         }t        |j                  t        j                        sJ | j                  d      }t        |j                  t        j                        sJ t        j                  ddi      5  | j                  d      }t        |j                  t        j                        sJ | j                         }t        |j                  t        j                        sJ 	 d d d        d d d        t         | j                  d      d       t        | | j                  d             y # 1 sw Y   JxY w# 1 sw Y   NxY w)	Nzarray.backendnumpyr	   r
   rK   r   FrL   )r   setr   r   r   r   r6   r   r   
to_backendr5   r   )r   x_news     r    test_to_backend_cupyro      sD   	_g.	/ 9MM$++b/$7!''4<<000 %++rzz222 V$%++t||444 ZZ&12 		9 LL)Eekk2::666 LLNEekk4<<888		9!96 ag&59af%&		9 		9!9 9s%   CF1-A.F%F1%F.	*F11F:)
__future__r   rk   r5   r1   markgpu
pytestmark
dask.arrayrP   r   daskr   dask.array.numpy_compatr   dask.array.utilsr   importorskipr   r!   r8   parametrizerZ   floatboolintri   ro   r_   r"   r    <module>r}      sC   "  [[__
   - &v6"),7@t ,	aR(	a&7%<=	v
->,IJ 23	
 
a$	a+	aq(9:-.	
 
6+Y;	6+["=	6+VR8	v	M6+BC	6+VmEU5VW	v	M6+BC	a"%7@0A@0& Bx(	
D!UF#	
D!UF#	
Aq$	
D!S&!	
D"c6"	
D!S!	
Ar3	
Aq#{#		 )	'r"   