U
    9%e]                     @   s   d dl mZ d dlZd dlZd dlZd dlmZ edd Zedd Z	edd	 Z
d
d Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd ZG dd deejZedkre  dS )    )jitN)MemoryLeakMixinc                 C   s&   t t| D ]}| |  d7  < q| S )N   )rangelen)ai r	   ^/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/numba/tests/test_chained_assign.pyinc   s    r   c                 C   s   | d  d7  < | d S Nr   r   r	   r   r	   r	   r
   inc1   s    r   c                 C   s$   | d  d7  < | d | d d fS r   r	   r   r	   r	   r
   inc2   s    r   c                 C   s   t |  } }}|| | S N)r   )r   xyzr	   r	   r
   chain1   s    r   c                 C   s6   t d}|  |d<  }|d< |d |d  |d  S )N   r   r   )npZzeros)vr   r   r	   r	   r
   chain2   s    
r   c                 C   s   | | }}||d  S Nr   r	   )r   r   r   br	   r	   r
   unpack1$   s    
r   c                 C   s4   t | t |f \}}\}}||d  ||d  fS r   r   r   r   r   r   cdr	   r	   r
   unpack2)   s    r    c                 C   sh   t | t |f }\}}t | t |f \}}}|d |d  | |d  |d | |d  |d  fS Nr   r   r   r   )r   r   r   r   r   r   efr	   r	   r
   chain3.   s    r$   c                 C   s   t | \}}||d  S r   r   )r   r   r   r	   r	   r
   unpack34   s    r&   c                 C   s,   t |  \}}\}}||d  ||d  fS r   r%   )r   r   r   r   r   r	   r	   r
   unpack49   s    r'   c                 C   sX   t |  }\}}t |  \}}}|d |d  | |d  |d | |d  |d  fS r!   r%   )r   r   r   r   r   r"   r#   r	   r	   r
   unpack5>   s    r(   c                 C   s:   | |f|d | d f \}}\}}||d  |d | fS )Nr   r   r	   r   r	   r	   r
   unpack6D   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d Z	dd Z
dd Zdd ZdS )TestChainedAssignc                 C   s.   t dgt jdt jdgg}| t| d S )Nr      )Zdtype)r   Zarangedouble_test_templater   selfargsr	   r	   r
   test_chain1J   s    
zTestChainedAssign.test_chain1c                 C   s   dgdgg}|  t| d S )N         @)r-   r   r.   r	   r	   r
   test_chain2Q   s    zTestChainedAssign.test_chain2c                 C   s    ddgddgg}|  t| d S )Nr   r3         ?r2   )r-   r   r.   r	   r	   r
   test_unpack1X   s    zTestChainedAssign.test_unpack1c                 C   s@   t dgt dggt dgt dggg}| t| d S )Nr   g      @       @r+   )r   arrayr-   r    r.   r	   r	   r
   test_unpack2_   s    zTestChainedAssign.test_unpack2c                 C   s@   t dgt dggt dgt dggg}| t| d S )Nr   g      ?g      ?r   )r   r8   r-   r$   r.   r	   r	   r
   test_chain3f   s    zTestChainedAssign.test_chain3c                 C   s,   t dggt dggg}| t| d S Nr   r5   )r   r8   r-   r&   r.   r	   r	   r
   test_unpack3m   s    zTestChainedAssign.test_unpack3c                 C   s,   t dggt dggg}| t| d S r;   )r   r8   r-   r'   r.   r	   r	   r
   test_unpack4t   s    zTestChainedAssign.test_unpack4c                 C   s,   t dggt dggg}| t| d S )Nr   r7   )r   r8   r-   r(   r.   r	   r	   r
   test_unpack5{   s    zTestChainedAssign.test_unpack5c                 C   s   d}d}|  t||g d S )N)r3   r   )r3   r7   )r-   r)   )r/   Zargs1Zargs2r	   r	   r
   test_unpack6   s    zTestChainedAssign.test_unpack6c                 C   s@   t |}|D ].}t|}t|}tj|| ||  qd S r   )r   copydeepcopyr   testingZassert_allclose)r/   ZpyfuncZargcasesZcfuncr0   Za1Za2r	   r	   r
   r-      s
    

z TestChainedAssign._test_templateN)__name__
__module____qualname__r1   r4   r6   r9   r:   r<   r=   r>   r?   r-   r	   r	   r	   r
   r*   I   s   r*   __main__)Znumbar   Zunittestnumpyr   r@   Znumba.tests.supportr   r   r   r   r   r   r   r    r$   r&   r'   r(   r)   ZTestCaser*   rC   mainr	   r	   r	   r
   <module>   s,   


F