
    |Le                       d dl mZ d dlZd dlmZ d dlZd dlZd dlZ	d dl
mZ d dlZ	 d dlZn# e$ r dZY nw xY w e e ej        dd                               Z ej         ej        dgdz  dgdz  z             d ej         ej        d	gdz  d
gdz  z             d           ej         ej        d	gdz  d
gdz  z   d gdz  z   d
gdz  z             d           ej         ej        dd          d           ej         ej        dd          d           ej         ej        dd          d           ej         ej        dd          d          d          Zej        ej        d<   ej        ej        d<   e                    d                              ddg          Ze                    d          Ze                    d          Z e	j        dddd          Z e	j!        "                                Z#e#$                    e#%                    dd          d          Z&e&e&gZ'ddgZ(d  Z)ej*        +                    d!eeeeg          d"             Z, ej        d          Z- ej        d          Z.d#d$gZ/d%d&gZ0 ej        g d'g d(gej1                  Z2 ej3         e4d)e2j5        6                                fd*e/fd*e0f+           e4d*e.fde-f,          -          Z7 ej3         e4d,e2fd*e/fd*e0f+           e4d*e.fde-f,          -          Z8e7e8gZ9ej*        +                    d.e9          ej*        +                    d/d0d1g          ej*        +                    d2d e4dd)           e4dd
)           e4d3d)           e4d3d
)          g          d4                                     Z:dS )5    )annotationsN)nan)assert_eq_ndarrayDATASHADER_TEST_GPUg      ?
   recordg           )dims      i4dtypei8f4f8)xyi32i64f32f64)datar
   coords   value)namer   r   )names)chunksr   r	   )
plot_widthplot_heightx_rangey_ranger   r   c                4    |                      |          sJ d S )N)equals)aggbs     <lib/python3.11/site-packages/datashader/tests/test_xarray.py	assert_eqr*   -   s    ::a==    sourcec           
     d   t          j        t          j        ddgddggd          t          t
                    }t          t                              | ddt          j
        d                    |           t          t                              | ddt          j
        d                    |           t          t                              | ddt          j
                              |           t          t                              | ddt          j
        d	                    |           t          j        t          j        d
dgddggd          t          t
                    }t          t                              | ddt          j
        d                    |           t                              | ddt          j
        d                    }t          ||           t          j                            |j        d           t          j                            |j        d           d S )Nr   r   r   )r   r
   r   r   r   r   r      r   r   r    )xr	DataArraynparrayr   r
   r*   cpointsdscounttestingassert_array_almost_equalr#   r$   )r,   outr'   s      r)   
test_countr:   1   s    ,rx!Q!Q 0===$41 1 1CahhvsC%993???ahhvsC%993???ahhvsC44c:::ahhvsC'):):;;SAAA
,rx!Q!Q 0===$41 1 1CahhvsC%993???
((63RXe__
5
5Cc3J((f===J((f=====r+   g@g?)r   r	   r   r	   r   )r	   r	   r	   r	   r	   )r   channelr=   )r   r   other)r=   r   )	data_varsr   ds2dcudaFT
chunksizes   c                   |                                  }|rat          rt          st          j        d           n|t          j        d           t          j        |j        j                  |j        _        ||                    |          }t          j
        dd          }t          j        g dg dg dgt          j        	          }t          j        t          t          d
d
t          t          t          gg dd
t          t          t          t          t          d
ggt          j        	          }t          j        t          t          d
d
t          t          t          gg dd
t          t          t          t          t          d
ggt          j        	          }t          j        t          t          d
d
t          t          t          gg dd
t          t          t          t          t          d
ggt          j        	          }t          j        g dg dg dgt          j        	          }	t          j        g dg dg dgt          j        	          }
|Q|d         dk    rEd|d d df<   t          |d d df<   t          |d d df<   t          |d d df<   d|	d d df<   d|
d d df<   t          j        |
dk    |
dk    gt$          t          j                  }t          j        |	dk    |	dk    gt$          t          j                  }t          j        |d
k    |dk    gt&          t          j                  }t          j        |d
k    |dk    gddgd          }t          j        |d
k    |dk    gt&          t          j                  }t          j        |d
k    |dk    gddgd          }|                    |ddt          j                              }t-          |j        dd           t-          |j        dd           t-          |j        |           t3          |j        |rt          j        nt          j                  sJ |                    |ddt          j                              }t-          |j        |dk               |                    |ddt          j        d                    }t-          |j        |           |                    |ddt          j        d                    }t-          |j        |           |                    |ddt          j        d                    }t-          |j        |           |                    |ddt          j                              }t-          |j        |	           |                    |ddt          j                               }t-          |j        |
           |                    |ddt          j!        d                    }t-          |j        |           |                    |ddt          j"        d                    }t-          |j        |           |                    |ddt          j#        t          j        d          d                    }t-          |j        |           |                    |ddt          j#        t          j        d                              }t-          |j        |           |                    |ddt          j#        t          j        d          d                    }t-          |j        |           |                    |ddt          j#        t          j        d                              }t-          |j        |           d S ) NzCUDA tests not requestedz0CUDA-dask for LinesXarrayCommonX not implementedrC      )r"   r!   )r   r   r	   r	   r   r   r   )r	   r   r	   r	   r   r   r	   )r	   r   r   r   r   r   r	   r   r;   )r<   r;   r<   r<   r;   r;   r<   )r<   r<   r<   r<   r<   r<   r<   )r<   r<   r<   rF   rF   r<   )rG   r   r   rG   rG   rG   )r	   r	   r	   r	   r	   r	   r	   )r   rG   rG   rG   rG   rG   r   )r	   r   r	   r	   r   r   r	   r   r   r.   rG   r	   r<   r   )r   r   r'   )r   r.   T)close)r   r   r   r>   )$copycupytest_gpupytestskipasarrayr   r   chunkr5   Canvasr1   r2   uint32r   float64int64selectr   r>   liner6   r   r#   r$   
isinstancendarrayanymaxminsum_max_row_index_min_row_indexfirstlastwhere)r@   rA   rB   r,   canvas	sol_countsol_maxsol_minsol_sumsol_max_row_indexsol_min_row_index	sol_firstsol_lastsol_where_max_othersol_where_max_rowsol_where_min_othersol_where_min_rowr'   s                     r)   test_lines_xarray_common_xrn   c   s    YY[[F : 	L 	LK23333#KJKKK  <(899j))Y1333F 			 5 5 57L7L7LMi  I h
sCc3	,.Q.Q.QTWY\^acfhkmpruSvwj  G h
sCc3	,.Q.Q.QTWY\^acfhkmpruSvwj  G h
sCc3	,.Q.Q.QTWY\^acfhkmpruSvwj  G 	#	#	#%:%:%:<V<V<VWh   	#	#	#%:%:%:<V<V<VWh   *S/Q"6"6	!!!Q$111"$!!!Q$"$!!!Q$	,a/1BA1EFrvVVIy+Q.0A10DEubfUUH)Wc\7C<$@%PP	7C<#">AKK)Wc\7C<$@%PP	7C<#">AKK ++fv28::+
>
>Cck66666ck66666ch	***ch D"*EEEEE ++fv2688+
<
<Cch	A... ++fv26'??+
C
CCch((( ++fv26'??+
C
CCch((( ++fv26'??+
C
CCch((( ++fv23D3F3F+
G
GCch 1222 ++fv23D3F3F+
G
GCch 1222 ++fv28G3D3D+
E
ECch	*** ++fv2773C3C+
D
DCch))) ++fv28BF7OOW3U3U+
V
VCch 3444 ++fv28BF7OO3L3L+
M
MCch 1222 ++fv28BF7OOW3U3U+
V
VCch 3444 ++fv28BF7OO3L3L+
M
MCch 122222r+   );
__future__r   numpyr1   r   osxarrayr/   
datashaderr5   datashader.tests.test_pandasr   rL   rJ   ImportErrorboolintgetenvrK   r0   r2   arangexdar   r   
to_datasetreset_coordsxdsrO   xddaxddsrP   r3   core
LinearAxisaxiscompute_indexcompute_scale_and_translate	lincoordsr   r
   r*   markparametrizer:   r   r=   r   r>   rR   r   DatasetdictTrI   ds2d_x0ds2d_x1ds2dsrn    r+   r)   <module>r      s^   " " " " " "           				         : : : : : : KKKK   DDD 4IBI3Q778899 bl2$)rdRi"799! ,XRXtBw!R7G-I-IQY [ [ [ ,XRXtAvA~A7MQRPSTUPU7U-W-W3;!> !> !>".",yry4/H/H/HPX"Z"Z"Z".",yry4/H/H/HPX"Z"Z"Z".",yry4/H/H/HPX"Z"Z"Z".",yry4/H/H/HPX"Z"Z"Z 	 	 	 V
V
	nn'n""//uen/EE
yyy
yyyBI66JJJ	wt??JJANN	
Y	Sz   DC4$  > > >" BIaLL
")A,,	c
	c
rx///2"*EEE
"*d.% %   
 4G$(  
 
 
 "*d%% %   
 4G$(  
 
 
 
' ''%//D2rD2qD1bD1a(  i3 i3  0/ ('i3 i3 i3s   - 77