U
    iâËd¤  ã                   @   s(  d dl Z d dlZd dlmZ d dlmZmZ d dlm	Z	m
Z
mZ d dlmZ d dlmZ e	dƒZde_e d	eef¡e d
d¡dd„ ƒƒZe dd¡dd„ ƒZe dd¡dd„ ƒZdZe dd¡dd„ ƒZe	dƒZde_e dd¡dd„ ƒZe dd¡dd„ ƒZe dd ¡d!d„ ƒZe d"d#¡d$d"„ ƒZe d%d#¡d&d'„ ƒZe d(d)¡d*d+„ ƒZe	d,ƒZe d-d)¡d.d-„ ƒZe�r†e d/d)¡d0d/„ ƒZe d1d2¡d3d1„ ƒZ e d4d5¡d6d4„ ƒZ!e
d7d8gƒeƒ ed9ƒeƒ e d:d;¡d<d:„ ƒZ"e d=eeƒ¡d>d=„ ƒZ#e d?eeƒ¡d@d=„ ƒZ#e dAeƒ ¡dBd=„ ƒZ#dS )Cé    N)Úfloat32)Úunicode_typeÚi8)ÚCCÚ
exportmanyÚexport)Úhas_blas)ÚtypedZpycc_test_simpleFZmultfÚmultiz
i4(i4, i4)c                 C   s   | | S ©N© )ÚaÚbr   r   úV/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/numba/tests/compile_with_pycc.pyÚmult   s    r   Úget_noneznone()c                   C   s   d S r   r   r   r   r   r   r      s    Údivz
f8(f8, f8)c                 C   s   | | S r   r   )ÚxÚyr   r   r   r      s    é   Úsquarezi8(i8)c                 C   s   | t  S r   )Ú_two©Úur   r   r   r   &   s    Zpycc_test_helperlibÚpowerz
i8(i8, i8)c                 C   s   | | S r   r   )r   Úvr   r   r   r   .   s    Úsqrtzc16(c16)c                 C   s
   t  | ¡S r   )Úcmathr   r   r   r   r   r   2   s    Úsizez	i8(f8[:])c                 C   s   | j S r   )r   ©Úarrr   r   r   r   6   s    Únp_sqrtzf8(f8)c                 C   s
   t  | ¡S r   )Únpr   r   r   r   r   r!   ;   s    Úspacingc                 C   s
   t  | ¡S r   )r"   r#   r   r   r   r   Ú
np_spacing?   s    r$   Úrandomzf8(i4)c                 C   s   | dkrt j | ¡ t j ¡ S ©Néÿÿÿÿ)r"   r%   Úseed)r(   r   r   r   Úrandom_implE   s    r)   Zpycc_test_nrtÚzero_scalarc                 C   s   t  | ¡}|d S r&   ©r"   Úzeros)Únr    r   r   r   r*   N   s    
Ú
vector_dotc                 C   s   t  d| | ¡}t  ||¡S )Né   )r"   ZlinspaceÚdot)r-   r   r   r   r   r.   U   s    r,   z	f8[:](i4)c                 C   s
   t  | ¡S r   r+   )r-   r   r   r   r,   [   s    Ú
np_argsortzintp[:](float64[:])c                 C   s
   t  | ¡S r   )r"   Zargsortr   r   r   r   r1   `   s    zmultf f4(f4,f4)zmulti i4(i4,i4)zmult f8(f8, f8)Údict_usecasezintp[:](intp[:])c                 C   sP   t  ¡ }t| jƒD ]}| | ||< qt | ¡}| ¡ D ]\}}|| ||< q6|S r   )r	   ÚDictÚranger   r"   Z
zeros_likeÚitems)r    ÚdÚiÚoutÚkr   r   r   r   r2   n   s    
Úinternal_str_dictc                 C   s*   t j tt¡}| |kr"t|ƒ|| < t|ƒS r   )r	   r3   Úemptyr   r   Úlen)r   r6   r   r   r   r:   y   s    Zhash_strc                 C   s   t | ƒS r   ©Úhash)r   r   r   r   r:   €   s    Zhash_literal_str_Ac                   C   s   t dƒS )NÚAr=   r   r   r   r   r:   „   s    )$r   Únumpyr"   Znumbar   Znumba.typesr   r   Z
numba.pyccr   r   r   Znumba.tests.supportr   r	   ÚccZuse_nrtr   r   r   r   r   Zcc_helperlibr   r   r   r!   r$   r)   Zcc_nrtr*   r.   r,   r1   r2   r:   r   r   r   r   Ú<module>   sh   































