o
    Ô­j O  ã                   @   sô   d dl Z d dlZd dlmZmZmZmZmZm	Z	m
Z
 d dlmZmZmZmZmZmZmZmZmZmZmZ G dd„ dƒZG dd„ dƒZG dd	„ d	ƒZG d
d„ dƒZG dd„ dƒZG dd„ dƒZdd„ ZG dd„ dƒZdd„ ZG dd„ dƒZ dd„ Z!dS )é    N)Úassert_Úassert_equalÚassert_array_equalÚassert_almost_equalÚassert_array_almost_equalÚassert_raisesÚassert_raises_regex)ÚmgridÚogridÚndenumerateÚfill_diagonalÚdiag_indicesÚdiag_indices_fromÚ	index_expÚndindexÚr_Ús_Úix_c                   @   sf   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	e
j dg d¢¡dd„ ƒZdd„ ZdS )ÚTestRavelUnravelIndexc                 C   sÚ  t t dd¡dƒ t tjddd�dƒ ttƒ� tjddd� W d   ƒ n1 s)w   Y  ttƒ� tjddd� W d   ƒ n1 sDw   Y  ttƒ� tjddd	� W d   ƒ n1 s_w   Y  ttƒ� tjddd
� W d   ƒ n1 szw   Y  t t dd¡dƒ t t dd¡dƒ t t dd¡dƒ tttjddƒ tttjddƒ tttjddƒ tttjddƒ tttjddƒ tttjddƒ tttjddƒ tttjddƒ t t dd¡g d¢ƒ t t g d¢d¡dƒ t g d¢g d¢g¡}t t |d¡g d¢ƒ t tj|ddd�g d¢ƒ t tj|ddd �g d!¢ƒ t tj|d"d#d �g d$¢ƒ t t d%d&¡d'ƒ t t t g d¢¡d¡g d¢g d¢gƒ t tjt g d¢¡ddd�g d¢g d¢gƒ t t d'd&¡g d%¢ƒ d S )(Né   )r   r   ©é   r   )ÚindicesÚshape)r   Úhape)r   éþ   )é   é^   )Úims)Údims)r   éB   éÿÿÿÿg      à?é   )éýÿÿÿr   )r   r   )r   r#   )r   r   )çš™™™™™¹?g        é.   )r"   é   é   )r   r   r"   )r&   r'   r'   )r"   é   r   )é   r'   )é   é)   é%   ÚF©Úorder)é   r+   é   )r"   r'   Úclip©Úmode)r*   é   é   ©r"   r"   )r2   Úwrap)é   r1   r1   )r&   r   r"   r   )r'   r)   é   é	   iU  )r   ÚnpÚunravel_indexr   Ú	TypeErrorÚravel_multi_indexÚ
ValueErrorÚarray)ÚselfÚarr© rD   ú^/var/www/html/CropPilot/venv/lib/python3.10/site-packages/numpy/lib/tests/test_index_tricks.pyÚ
test_basic   sj   ÿþ
ÿ
ÿ
ÿ
ÿÿÿÿÿÿþz TestRavelUnravelIndex.test_basicc                 C   s  d}d}t t|tjg dƒ t t|tjddƒ t t|tjt g ¡dƒ tt tjg td�d¡g g g gƒ t t|tjg g fdƒ t t|tjg dgfdƒ t t|tjt g ¡t g ¡fdƒ tt tjg td�tjg td�fd¡g ƒ tt tjg g gtd�d¡g ƒ d S )	Nz9indices must be integral: the provided empty sequence waszonly int indices permitted)é
   r&   r(   rD   ©Údtype©rG   r&   Úabc)r(   r&   )r   r>   r<   r=   rA   r   Úintr?   )rB   Úmsg1Úmsg2rD   rD   rE   Útest_empty_indicesF   s:   ÿÿÿÿ
ÿÿÿÿÿz(TestRavelUnravelIndex.test_empty_indicesc                 C   sê   t jt jkr(ddgddgddgddgdd	gddgd
dgf}tt  |d¡ddgƒ ttt jddƒ d
gd
gf}t  t j¡j	d }tt  ||df¡d
gƒ ttt j||d dfƒ tt j||dfdd�d
gƒ ttt j||d dfdd� d S )Nr   é   r&   r(   éu   r6   r   iK	  i  r   )r+   r)   éx   é$   i’
  r:   r'   l   ¼zá l   nm )l   ÿÿ l       r-   r.   )
r<   ÚintpÚint64r   r?   r   r@   r=   ÚiinfoÚmax)rB   rC   Ú	dummy_arrÚhalf_maxrD   rD   rE   Útest_big_indicesZ   s.   ÿ
þÿÿÿ
ÿz&TestRavelUnravelIndex.test_big_indicesc                 C   sp  t jt jt jt jt jt jfD ]§}t jg d¢g d¢g|d�}d}d|d  |d  }tt  	||¡|ƒ t|t  
||¡ƒ |d d|d   }tt j	||d	d
�|ƒ t|t j
||d	d
�ƒ t jg d¢g d¢g d¢g|d�}d}dd|d  |d   |d  }tt  	||¡|ƒ t|t  
||¡ƒ |d d|d d|d     }tt j	||d	d
�|ƒ t|t j
||d	d
�ƒ qd S )N)r   r   r   r   r&   r"   )r   r'   r   r&   r   r   rH   )r(   r:   r:   r   r   r(   r-   r.   )r   r&   r   r   r;   r(   )r(   r:   rG   rG   r   )r<   Úint16Úuint16Úint32Úuint32rU   Úuint64rA   r   r?   r=   )rB   rI   Úcoordsr   ÚuncoordsrD   rD   rE   Útest_dtypesr   s:   ÿÿÿþ  ÿéz!TestRavelUnravelIndex.test_dtypesc                 C   sd   t tjg d¢ddd�t g d¢d¡ƒ t tjg d¢ddd�t g d¢d¡ƒ tttjg d¢dƒ d S )N)r(   r   r!   r   )r"   r&   r)   r9   r8   r3   )r   r   r'   r   )r8   Úraiser2   rc   )r   r   r   r   )r   r<   r?   r   r@   ©rB   rD   rD   rE   Útest_clipmodes�   s   þÿýÿz$TestRavelUnravelIndex.test_clipmodesc                 C   s0   t  g d¢d¡\}}t|jjƒ t|jjƒ d S )N©r   r   r&   )r"   r(   )r<   r=   r   ÚflagsÚ	writeable)rB   ÚxÚyrD   rD   rE   Útest_writeability™   s   z'TestRavelUnravelIndex.test_writeabilityc                 C   sB   t  dd¡}t|dƒ ttdt jdgdƒ ttdt jdgdƒ d S )Nr   rD   z0d arrayzout of boundsr   )r<   r=   r   r   r@   ©rB   ri   rD   rD   rE   Útest_0dŸ   s   
ÿzTestRavelUnravelIndex.test_0dr4   )r2   r8   rc   c                 C   st   t jt jdt jd�d|d�}|jdksJ ‚ttƒ� t jt jdt jd�d|d� W d   ƒ d S 1 s3w   Y  d S )N)r&   r   rH   ©r   r   r   r3   ©r   )r&   r   )r<   r?   ÚzerosrT   r   r   r@   )rB   r4   ÚresrD   rD   rE   Útest_empty_array_ravel¨   s   ÿ
ÿ"ÿz,TestRavelUnravelIndex.test_empty_array_ravelc                 C   sz   t  t jdt jd�d¡}t|ƒdksJ ‚tdd„ |D ƒƒsJ ‚ttƒ� t  dgd¡ W d   ƒ d S 1 s6w   Y  d S )Nr   rH   rn   r&   c                 s   s   � | ]}|j d kV  qdS )ro   N)r   )Ú.0ÚarD   rD   rE   Ú	<genexpr>¶   s   € zATestRavelUnravelIndex.test_empty_array_unravel.<locals>.<genexpr>r   )r<   r=   rp   rT   ÚlenÚallr   r@   )rB   rq   rD   rD   rE   Útest_empty_array_unravel²   s   
"ÿz.TestRavelUnravelIndex.test_empty_array_unravelN)Ú__name__Ú
__module__Ú__qualname__rF   rO   rZ   rb   re   rk   rm   ÚpytestÚmarkÚparametrizerr   rx   rD   rD   rD   rE   r      s    7	
	r   c                   @   s^   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zej 	d	d
dg¡dd„ ƒZ
dd„ Zdd„ Zdd„ ZdS )ÚTestGridc                 C   s²   t ddd… }t ddd… }t|jdkƒ t|jdkƒ t|d dkƒ t|d dƒ t|d dkƒ t|d |d  ddƒ t|d |d d	 dƒ t|d |d  d
dƒ d S )Nr!   r   ù              $@r$   )rG   )é   r   é   ggfffffþ?gÇqÇqÌ?)r	   r   r   r   )rB   rt   ÚbrD   rD   rE   rF   ¼   s   zTestGrid.test_basicc                 C   s8   t jdddd�\}}t|dƒ t|tddd… dƒ d S )Nr   rG   T)Úretstepg9/§àåÄ?y              I@r1   )r<   Úlinspacer   r   r	   )rB   rj   ÚstrD   rD   rE   Útest_linspace_equivalenceÈ   s   
z"TestGrid.test_linspace_equivalencec                 C   sV  t ddd…ddd…f }t ddd…ddd…f }t|jdkƒ t|jd	kƒ t|d
 d
d d …f t dd¡ ƒ t|d d d …d
f dt dd¡ ƒ t|d
 dd d …f t dd¡dƒ t|d d d …df dt dd¡ dƒ t|d
dd d …f |d
d
d d …f  dt dd¡ dƒ t|dd d …df |dd d …d
f  dt dd¡ dƒ d S )Nr!   r   r€   éþÿÿÿr   r$   gš™™™™™É?)r   rG   rG   )r   r�   r�   r   rG   Údr‚   r�   )r	   r   r   r   r<   Úonesr   )rB   Úcr‰   rD   rD   rE   Útest_ndÍ   s   $&$($ÿ$ÿzTestGrid.test_ndc                 C   s\   t ddd…ddd…f }tddd…ddd…f }tj|Ž }t||ƒD ]	\}}t||ƒ q"d S )Nr!   r   r€   rˆ   r   )r	   r
   r<   Úbroadcast_arraysÚzipr   )rB   Ú	grid_fullÚgrid_sparseÚgrid_broadcastÚfrƒ   rD   rD   rE   Útest_sparseÛ   s   
ÿzTestGrid.test_sparsezstart, stop, step, expected)NrG   r€   )éÈ   rG   )iöÿÿÿr�   N)i  é   c                 C   sJ   t |||…|||…f }t |||… }t|j|d ƒ t|j|d ƒ d S )Nr   r   )r	   r   Úsize)rB   ÚstartÚstopÚstepÚexpectedÚgridÚ
grid_smallrD   rD   rE   Útest_mgrid_size_none_handlingä   s   	z&TestGrid.test_mgrid_size_none_handlingc                 C   s˜   t ddd…f }t t d¡t d¡t d¡…f }t|jtjkƒ t||ƒ t ddd… }t t d¡t d¡t d¡… }t|jtjkƒ t||ƒ d S )Nr$   ç…ëQ¸Õ?)r	   r<   Úfloat32r   rI   Úfloat64r   )rB   Úgrid64Úgrid32rD   rD   rE   Útest_accepts_npfloatingô   s   "
 z TestGrid.test_accepts_npfloatingc                 C   sò   t ddd…f }t t d¡t d¡t d¡…f }t|jtjkƒ t||ƒ t dt d¡d… }t dt d¡d…f }t|j|j  koHtjkn  ƒ t||d ƒ t ddd… }t t d¡t d¡t d¡… }t|jtjkƒ t||ƒ d S )Nr$   rž   r   r   y        333333@)r	   r<   Ú
longdoubler   rI   r   r   )rB   r¡   Úgrid128Ú
grid128c_aÚ
grid128c_brD   rD   rE   Útest_accepts_longdouble  s    ÿ
"ÿz TestGrid.test_accepts_longdoublec                 C   sø   t tddd…f tddt d¡…f ƒ t tddd… tddt d¡… ƒ tddd… }tddd…f d }t|j|j  koDtjkn  ƒ t||ƒ tddt d¡… }tddt d¡…f d }t|j|j  koqtj	kn  ƒ t||ƒ d S )Nr$   g333333Ó?y              @y        ffffff
@r   )
r   r	   r<   Ú	complex64r   rI   r    r   Úclongdoubler¤   )rB   Úgrid64_aÚgrid64_bÚ	grid128_aÚ	grid128_brD   rD   rE   Útest_accepts_npcomplexfloating  s   "ÿÿ"
"z'TestGrid.test_accepts_npcomplexfloatingN)ry   rz   r{   rF   r‡   rŒ   r“   r|   r}   r~   r�   r£   r¨   r¯   rD   rD   rD   rE   r   »   s    	þ
r   c                   @   s<   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ ZdS )ÚTestConcatenatorc                 C   sD   t td t g d¢¡ƒ t d¡}t|dd|f }t |g d¢ƒ d S )N)r   r   r&   r"   r(   r'   r(   r   )r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r<   rA   rŠ   )rB   rƒ   r‹   rD   rD   rE   Útest_1d/  s   
zTestConcatenator.test_1dc                 C   s"   t ddd…f }t|jdkƒ d S )Ng333333$@r   rG   Úf8)r   r   rI   ©rB   ÚgrD   rD   rE   Útest_mixed_type5  ó   z TestConcatenator.test_mixed_typec                 C   s4   t dt dg¡t g d¢¡df }t|jdkƒ d S )Ng333333$Àr   )r   r&   r"   g      $@r²   )r   r<   rA   r   rI   r³   rD   rD   rE   Útest_more_mixed_type9  s   "z%TestConcatenator.test_more_mixed_typec                 C   sB   t ddd… }t|jdkƒ t ddt d¡… }t|jdkƒ d S )Nr   rS   y              Y@)éd   )r   r   r   r<   r©   r³   rD   rD   rE   Útest_complex_step=  s   z"TestConcatenator.test_complex_stepc                 C   s¾   t j dd¡}t j dd¡}td||f }t|jdkƒ t|d d …d d…f |ƒ t|d d …dd …f |ƒ t||f }t|jdkƒ t|d d…d d …f |ƒ t|dd …d d …f |ƒ d S )Nr(   Ú1)r(   rG   )rG   r(   )r<   ÚrandomÚrandr   r   r   r   )rB   rƒ   r‹   r‰   rD   rD   rE   Útest_2dF  s   zTestConcatenator.test_2dc                 C   sb   t tdt d¡df g d¢ƒ t tg d¢t d¡f g d¢ƒ t tt d¡g d¢f g d¢ƒ d S )Nr   r   r   ©r   r   r   r&   )r   r   r   r&   rf   )r   r   r<   rA   rd   rD   rD   rE   rm   R  s    $zTestConcatenator.test_0dN)	ry   rz   r{   r±   rµ   r·   r¹   r½   rm   rD   rD   rD   rE   r°   .  s    	r°   c                   @   s   e Zd Zdd„ ZdS )ÚTestNdenumeratec                 C   s0   t  ddgddgg¡}ttt|ƒƒg d¢ƒ d S )Nr   r   r&   r"   )))r   r   r   ))r   r   r   )r   r&   ))r   r   r"   )r<   rA   r   Úlistr   ©rB   rt   rD   rD   rE   rF   Y  s   ÿzTestNdenumerate.test_basicN)ry   rz   r{   rF   rD   rD   rD   rE   r¿   X  s    r¿   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚTestIndexExpressionc                 C   sJ   t  d¡}t|d d… |td d…  ƒ t|d d… |td d…  ƒ d S )Nr   r!   )r<   Úaranger   r   r   rÁ   rD   rD   rE   Útest_regression_1`  s   
"z%TestIndexExpression.test_regression_1c                 C   sˆ   t j ddd¡}t|d d …d d…ddgf |td d …d d…ddgf  ƒ t|d d …d d…ddgf |td d …d d…ddgf  ƒ d S )Nr"   r(   r'   r&   r   r   )r<   r»   r¼   r   r   r   rÁ   rD   rD   rE   Útest_simple_1f  s   :>z!TestIndexExpression.test_simple_1N)ry   rz   r{   rÄ   rÅ   rD   rD   rD   rE   rÂ   _  s    rÂ   c                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚTestIx_c                 C   sb   t  tdƒ¡\}t|jt jƒ t  g ¡\}t|jt jƒ t  t jg t jd�¡\}t|jt jƒ d S )Nr   rH   )r<   r   Úranger   rI   rT   rA   rŸ   rÁ   rD   rD   rE   rÄ   n  s   zTestIx_.test_regression_1c                    s�   d}t tjfD ]>‰ tj‡ fdd„|D ƒŽ }tt||ƒƒD ](\‰\}}t|jˆ |ƒ tt	‡fdd„t|jƒD ƒƒƒ tt 
|jtj¡ƒ qqd S )N)r"   r(   r&   r   c                    s   g | ]}ˆ |ƒ‘qS rD   rD   )rs   Úsz)ÚfuncrD   rE   Ú
<listcomp>~  ó    z0TestIx_.test_shape_and_dtype.<locals>.<listcomp>c                 3   s$   � | ]\}}|ˆ kr|d kV  qdS )r   NrD   )rs   ÚjÚsh)ÚkrD   rE   ru   �  s   €" z/TestIx_.test_shape_and_dtype.<locals>.<genexpr>)rÇ   r<   rÃ   r   Ú	enumeraterŽ   r   r   r   rw   Ú
issubdtyperI   Úinteger)rB   ÚsizesÚarraysrt   rÈ   rD   )rÉ   rÎ   rE   Útest_shape_and_dtypez  s    ýþzTestIx_.test_shape_and_dtypec                 C   s,   g d¢}t  |¡\}tt  |¡d |ƒ d S )N)TFTTr   )r<   Únonzeror   r   )rB   Úbool_aÚint_arD   rD   rE   Ú	test_bool„  s   zTestIx_.test_boolc                 C   s"   g d¢g d¢g}t ttj|ƒ d S )Nrf   ©r"   r(   r'   )r   r@   r<   r   )rB   Úidx2drD   rD   rE   Útest_1d_only‰  r¶   zTestIx_.test_1d_onlyc                 C   sR   d}t  |¡}t||ƒ}t|d j|dfƒ t|d jd|fƒ t|j|fƒ d S )Nr(   r   r   )r<   rÃ   r   r   r   )rB   Úlength_of_vectorri   ÚoutrD   rD   rE   Útest_repeated_input�  s   

zTestIx_.test_repeated_inputN)ry   rz   r{   rÄ   rÔ   rØ   rÛ   rÞ   rD   rD   rD   rE   rÆ   m  s    
rÆ   c                  C   s>   t jt  g d¢g¡ddt  g d¢g¡f } t| g d¢gƒ d S )Nrf   r   rÙ   )r   r   r&   r   r   r"   r(   r'   )r<   Úc_rA   r   )rt   rD   rD   rE   Útest_c_—  s   *rà   c                   @   sD   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dS )ÚTestFillDiagonalc                 C   ó<   t  dt¡}t|dƒ t|t  g d¢g d¢g d¢g¡ƒ d S )N)r&   r&   r(   ©r(   r   r   ©r   r(   r   ©r   r   r(   ©r<   rp   rL   r   r   rA   rÁ   rD   rD   rE   rF   �  ó   
þÿzTestFillDiagonal.test_basicc                 C   sf   t  dt¡}t|dƒ t|t  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g
¡ƒ d S )NrJ   r(   rã   rä   rå   ©r   r   r   ræ   rÁ   rD   rD   rE   Útest_tall_matrix¦  s   
÷ÿz!TestFillDiagonal.test_tall_matrixc                 C   sh   t  dt¡}t|ddƒ t|t  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g
¡ƒ d S )NrJ   r(   Trã   rä   rå   rè   ræ   rÁ   rD   rD   rE   Útest_tall_matrix_wrap¶  s   ÷ÿz&TestFillDiagonal.test_tall_matrix_wrapc                 C   râ   )N)r&   rG   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Á   rD   rD   rE   Útest_wide_matrixÆ  rç   z!TestFillDiagonal.test_wide_matrixc                 C   sD   t  dt¡}t|dƒ t  g d¢¡}tt  |dk¡||||fƒ d S )N)r&   r&   r&   r&   r"   r¾   r   )r<   rp   rL   r   rA   r   Úwhere)rB   rt   ÚirD   rD   rE   Útest_operate_4d_arrayÏ  s   
 z&TestFillDiagonal.test_operate_4d_arrayc                 C   óF   t  dt¡}ttdƒ� t|dƒ W d   ƒ d S 1 sw   Y  d S )Nr&   úat least 2-dr(   ©r<   rp   rL   r   r@   r   rÁ   rD   rD   rE   Útest_low_dim_handlingÕ  s   "ÿz&TestFillDiagonal.test_low_dim_handlingc                 C   rï   )N)r&   r&   r)   r&   úequal lengthr   rñ   rÁ   rD   rD   rE   Útest_hetero_shape_handlingÛ  s   "ÿz+TestFillDiagonal.test_hetero_shape_handlingN)
ry   rz   r{   rF   ré   rê   rë   rî   rò   rô   rD   rD   rD   rE   rá   œ  s    		rá   c               	   C   s¨   t dƒ} t g d¢g d¢g d¢g d¢g¡}d|| < t|t g d¢g d¢g d	¢g d
¢g¡ƒ t ddƒ}t dt¡}d||< t|t ddgddggddgddggg¡ƒ d S )Nr"   )r   r   r&   r"   )r(   r'   r)   r:   )r;   rG   r‚   r9   )r1   é   é   é   r¸   )r¸   r   r&   r"   )r(   r¸   r)   r:   )r;   rG   r¸   r9   )r1   rõ   rö   r¸   r   r&   )r   r   r   r   r   )r   r<   rA   r   rp   rL   )Údirt   Úd3rD   rD   rE   Útest_diag_indicesã  s4   
ýýÿ
ÿÿþÿrú   c                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚTestDiagIndicesFromc                 C   s<   t j d¡}t|ƒ\}}t|t  d¡ƒ t|t  d¡ƒ d S )Nr7   r"   )r<   r»   r   r   rÃ   )rB   ri   Úrr‹   rD   rD   rE   Útest_diag_indices_from  s   z*TestDiagIndicesFrom.test_diag_indices_fromc                 C   sB   t  d¡}ttdƒ� t|ƒ W d   ƒ d S 1 sw   Y  d S )Nr)   rð   )r<   rŠ   r   r@   r   rl   rD   rD   rE   Útest_error_small_input  s   

"ÿz*TestDiagIndicesFrom.test_error_small_inputc                 C   sD   t  dt¡}ttdƒ� t|ƒ W d   ƒ d S 1 sw   Y  d S )N)r&   r&   r   r&   ró   )r<   rp   rL   r   r@   r   rl   rD   rD   rE   Útest_error_shape_mismatch  s   
"ÿz-TestDiagIndicesFrom.test_error_shape_mismatchN)ry   rz   r{   rý   rþ   rÿ   rD   rD   rD   rE   rû   ÿ  s    rû   c                  C   s°   t tdddƒƒ} dd„ tt d¡ƒD ƒ}t| |ƒ t tdƒƒ} t| |ƒ t tdƒƒ} t| t tdƒƒƒ t tƒ ƒ} t| dgƒ t tdƒƒ} t| dgƒ t td	gŽ ƒ} t| g ƒ d S )
Nr   r   r&   c                 S   s   g | ]\}}|‘qS rD   rD   )rs   ÚixÚerD   rD   rE   rÊ     rË   z test_ndindex.<locals>.<listcomp>rf   )r&   rD   r   )rÀ   r   r   r<   rp   r   r   )ri   rš   rD   rD   rE   Útest_ndindex  s   


r  )"r|   Únumpyr<   Únumpy.testingr   r   r   r   r   r   r   Únumpy.lib.index_tricksr	   r
   r   r   r   r   r   r   r   r   r   r   r   r°   r¿   rÂ   rÆ   rà   rá   rú   rû   r  rD   rD   rD   rE   Ú<module>   s     $4 .s**G