U
    9%eH                     @   s   d Z ddlZddlmZmZ ddlmZmZ dZdZ	dZ
ee	ddd	d
d Zee	dddd Zee
ddd	dd Zedddd Zee	ddd	dd ZG dd deZdd ZdS )zz
This file will be copied to a temporary directory in order to
exercise caching compiled C callbacks.

See test_cfunc.py.
    N)cfuncjit)TestCasecaptured_stderr   zfloat64(float64, float64)zfloat64(int64, int64)T)cachenopythonc                 C   s   | | t  S NZxy r   _/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/numba/tests/cfunc_cache_usecases.pyadd_usecase   s    r   )r   c                 C   s   | | t  S r	   r
   r   r   r   r   add_nocache_usecase   s    r   c                 C   s   | | S r	   r   )abr   r   r   div_usecase   s    r   c                 C   s   | | t  S r	   r
   r   r   r   r   inner"   s    r   c                 C   s   t | | S r	   )r   r   r   r   r   outer&   s    r   c                   @   s   e Zd ZdZdd ZdS )_TestModulez
    Tests for functionality of this module's cfuncs.
    Note this does not define any "test_*" method, instead check_module()
    should be called by hand.
    c              	   C   s   |j }| |ddd |j}| |ddd |j}| |ddd |j}t }| |ddd W 5 Q R X | | d	 t }|dd
 W 5 Q R X | }| 	d| d S )Ng       @g      @g      @g      @g      @      g      @ r   ZeroDivisionError)
r   ZassertPreciseEqualctypesr   r   r   r   assertEqualgetvalueZassertIn)selfmodferrr   r   r   check_module2   s    z_TestModule.check_moduleN)__name__
__module____qualname____doc__r$   r   r   r   r   r   +   s   r   c                  C   s   t jt } t |  d S r	   )sysmodulesr%   r   r$   )r!   r   r   r   	self_testD   s    
r+   )r(   r)   Znumbar   r   Znumba.tests.supportr   r   r   Zadd_sigZdiv_sigr   r   r   r   r   r   r+   r   r   r   r   <module>   s$   





