
    J/PhH                     @   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
             Z ee	d          d             Z ee
dd	          d             Z ed          d             Z ee	dd	          d             Z G d de          Z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                     | |z   t           z   S NZxys     `/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/numba/tests/cfunc_cache_usecases.pyadd_usecaser          q519    )r	   c                     | |z   t           z   S r   r   r   s     r   add_nocache_usecaser      r   r   c                     | |z  S r    )abs     r   div_usecaser      s    q5Lr   c                     | |z   t           z   S r   r   r   s     r   innerr   "   r   r   c                 $    t          | |           S r   )r   r   s     r   outerr   &   s    !Q<<r   c                       e Zd ZdZ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                    |j         }|                     |                    dd          d           |j        }|                     |                    dd          d           |j        }|                     |                    dd          d           |j        }t                      5 }|                     |                    dd          d           d d d            n# 1 swxY w Y   |                     |                                d	           t                      5 }|                    dd
           d d d            n# 1 swxY w Y   |                                }| 	                    d|           d S )Ng       @g      @g      @g      @g      @      g      @ r   ZeroDivisionError)
r   assertPreciseEqualctypesr   r   r   r   assertEqualgetvalueassertIn)selfmodferrs       r   check_modulez_TestModule.check_module2   s   Oc 2 2C888#c 2 2C888Ic 2 2C888O 	9###AHHQNNC888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9,,, 	#HHQNNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	llnn)3/////s$   )+C  C$'C$!EEEN)__name__
__module____qualname____doc__r0   r   r   r   r!   r!   +   s-         0 0 0 0 0r   r!   c                  v    t           j        t                   } t                                          |            d S r   )sysmodulesr1   r!   r0   )r-   s    r   	self_testr8   D   s,    
+h
CMMs#####r   )r4   r6   numbar   r   numba.tests.supportr   r   r   add_sigdiv_sigr   r   r   r   r   r!   r8   r   r   r   <module>r=      sy    


         9 9 9 9 9 9 9 9 
%
! wdT***  +* w   wdT***  +* d   wdT***  +*0 0 0 0 0( 0 0 02$ $ $ $ $r   