
    sh!                        S r SSKrSSKrSSKrSSKrS r\" 5         SSKJr  SSKJ	r	  \" 5       S   r
\	" \
5      rCC	SSKJr  SS	KJrJr  SS
KJrJrJrJrJrJrJrJr  SSK7  SSKJs  Jr  SSK7  SSKJrJrJrJ r J!r!  SSK"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*  SSK+J,r,J-r-J.r.  SSK/J0r0  SSK1r/SSK1J2r3  SSK1J4r4  SSK5r/SSK6r/S r7SRq                  5       \Rr                  -   \Rr                  -   r9Sr:Sr;S r<S r=\<" 5         SSK>r> \=" 5       \l?        g)z5
Expose top-level symbols that are safe for import *
    Nc                     S n [         R                  SS nUS:  a  SUS    SUS    S3n[        U5      eSSKnU " U5      nUS	:  a  S
US    SUS    S3n[        U5      eUS:  a  SUS    SUS    S3n[        U5      e SSKnU " U5      nUS:  a  SUR
                   S3n[        U5      eg! [         a     gf = f)a  
Make sure the Python, NumPy and SciPy present are supported versions.
This has to be done _before_ importing anything from Numba such that
incompatible versions can be reported to the user. If this occurs _after_
importing things from Numba and there's an issue in e.g. a Numba c-ext, a
SystemError might have occurred which prevents reporting the likely cause of
the problem (incompatible versions of critical dependencies).
c                 l    [        [        [        U R                  R	                  S5      S S 5      5      $ )N.   )tuplemapint__version__split)mods    b/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/__init__.pyextract_version._ensure_critical_deps.<locals>.extract_version   s*    Scoo33C8!<=>>    Nr   )   
   z/Numba needs Python 3.10 or greater. Got Python r   r      )r      z-Numba needs NumPy 1.24 or greater. Got NumPy )r   r   z)Numba needs NumPy 2.2 or less. Got NumPy )r   r   z7Numba requires SciPy version 1.0 or greater. Got SciPy )sysversion_infoImportErrornumpyscipyr
   )r   	PYVERSIONmsgnpnumpy_versionr   
sp_versions          r   _ensure_critical_depsr      s   ?   !$I7@A,q1a1##B'Mw>"#1]1%5$6a9#v:"#1]1%5$6a9#	# %U+
L''(+Cc"" 	  s   B2 2
B?>B?r   )get_versions)generate_version_infoversion)config)typeserrors)typeofprangepndindexgdbgdb_breakpointgdb_init	literallyliteral_unroll)*)cfuncjitnjitstencil
jit_module)	vectorizeguvectorizethreading_layerget_num_threadsset_num_threadsset_parallel_chunksizeget_parallel_chunksizeget_thread_id)carrayfarray
from_dtype)experimental)objmode_context)parallel_chunksizec                 4    SSK Jn  UR                  " U 40 UD6$ )Nr   )	_runtests)numba.testingrC   main)argvkwdsruntestss      r   testrI   w   s     4==&&&r   aK  
    cfunc
    from_dtype
    guvectorize
    jit
    experimental
    njit
    stencil
    jit_module
    typeof
    prange
    gdb
    gdb_breakpoint
    gdb_init
    vectorize
    objmode
    literal_unroll
    get_num_threads
    set_num_threads
    set_parallel_chunksize
    get_parallel_chunksize
    parallel_chunksize
    )r   ,   r   )   r   r   c                     SSK n SSKn[        R                  " S5      nUR	                  UR
                  5      nU(       aT  [        [        [        UR                  5       5      5      nU[        :  a"  S[        UR
                  4-   -  n[        U5      eOU R                  " S5        SSKJnJn  U[         :  a  S[         U-   -  n[        U5      eU" 5         g)z$
Make sure llvmlite is operational.
r   Nz(\d+)\.(\d+).(\d+)zfNumba requires at least version %d.%d.%d of llvmlite.
Installed version is %s.
Please update llvmlite.z'llvmlite version format not recognized!)llvm_version_infocheck_jit_executionzNumba requires at least version %d.%d.%d of LLVM.
Installed llvmlite is built against version %d.%d.%d.
Please update llvmlite.)warningsllvmliterecompilematchr
   r   r   r	   groups_min_llvmlite_versionr   warnllvmlite.bindingrM   rN   _min_llvm_version)rO   rP   regexmverr   rM   rN   s           r   _ensure_llvmr\      s      JJ,-EH(()ACQXXZ()&&- *X-A-A,CCEC c"" ' 	?@G,,) "$557 #r   c                     [         R                  (       Gd    [        R                  R	                  S5      (       a   [
        R                  R                  S5        O[        R                  R	                  S5      (       a   [
        R                  R                  S5        OE[        R                  R	                  S5      (       a   [
        R                  R                  S5        Og [        [
        R                  R                  S5      " 5       (       d  g [
        R                  R                  SS5        gg! [         aI    [        R                  " 5       S	:X  a-  [         R                  (       a  S
n [        R                  " U 5         gf = f!   [        R                  " 5       S	:X  a+  [         R                  (       a  [        R                  " S5         g= f)zM
Tries to enable SVML if configuration permits use and the library is found.
linuxz
libsvml.sodarwinzlibsvml.dylibwinsvml_dispmdFhas_svmlx86_64z>SVML was found but llvmlite >= 0.23.2 is needed to support it.SVMLz-vector-library=SVMLTz'SVML was not found/could not be loaded.)r#   DISABLE_INTEL_SVMLr   platform
startswithrP   bindingload_library_permanentlygetattrtargetsAttributeErrormachineDEBUGrO   rV   
set_option)r   s    r   _try_enable_svmlrp      sP    $$$'	I||&&w//  99,G((22  99/J((//  99-Hx//77DFF ! G ''0FG ! " ##%1fll3CMM#& 	I!X-&,,GHs2   CF &.D8 !F 8AFF 
FF AG)@__doc__rf   rQ   r   rO   r   _versionr    numba.misc.init_utilsr!   r
   r   
numba.corer#   r$   r%   numba.misc.specialr&   r'   r(   r)   r*   r+   r,   r-   numba.core.errorsnumba.core.typescorenumba.core.decoratorsr/   r0   r1   r2   r3   numba.np.ufuncr4   r5   r6   r7   r8   r9   r:   r;   numba.np.numpy_supportr<   r=   r>   numbar?   numba.core.withcontextsr@   objmoderA   numba.core.target_extensionnumba.typedrI   r   __all__rU   rX   r\   rp   rP   
USING_SVML r   r   <module>r      s    	 
 
+#\  
 # 7nY'$[1  $     !   / /+ + + > =   > 6 # ', 	%--- , #)..-12 #   F-^   %& r   