§
    1@Äjß"  ã                   ó  — d Z ddlZddlZddlZddlZd„ Z e¦   «          ddlmZ ddlm	Z	  e¦   «         d         Z
 e	e
¦  «        Z[[	ddlmZ dd	lmZ dd
lmZmZmZmZmZmZmZmZ ddlT ddlmZ ddlT ddlmZmZmZmZm Z  ddl!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z) ddl*m+Z+m,Z,m-Z- ddl.m/Z/ ddl0Z.ddl0m1Z2 ddl0m3Z3 ddl4Z.ddl5Z.d„ Z6g d¢Z7e7ej7        z  Z7e7ej7        z  Z7dZ8dZ9d„ Z:d„ Z; e:¦   «          ddl<Z<	  e;¦   «         e_=        dS )z5
Expose top-level symbols that are safe for import *
é    Nc                  óÐ  — d„ } t           j        dd…         }|dk     r$d|d         › d|d         › d�}t          |¦  «        ‚ddl} | |¦  «        }|d	k     r$d
|d         › d|d         › d�}t          |¦  «        ‚|dk    r$d|d         › d|d         › d�}t          |¦  «        ‚	 ddl} | |¦  «        }|dk     rd|j        › d�}t          |¦  «        ‚dS # t          $ r Y dS w xY w)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                 ó†   — t          t          t          | j                             d¦  «        d d…         ¦  «        ¦  «        S )Nú.é   )ÚtupleÚmapÚintÚ__version__Úsplit)Úmods    ú?C:\Projects\Historical\venv\Lib\site-packages\numba/__init__.pyÚextract_versionz._ensure_critical_deps.<locals>.extract_version   s3   € Ý•S�˜cœo×3Ò3°CÑ8Ô8¸¸!¸Ô<Ñ=Ô=Ñ>Ô>Ð>ó    Nr   )é   é
   z/Numba needs Python 3.10 or greater. Got Python r   r   é   )r   é   z-Numba needs NumPy 1.22 or greater. Got NumPy )r   é   z)Numba needs NumPy 2.5 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ÒÐð1Ø˜A”,ð1ð 1Ø!*¨1¤ð1ð 1ð 1ˆå˜#ÑÔÐàÐÐÐØ#�O BÑ'Ô'€Mà�wÒÐð9Ø Ô"ð9ð 9Ø%2°1Ô%5ð9ð 9ð 9ˆå˜#ÑÔÐà�vÒÐð9Ø Ô"ð9ð 9Ø%2°1Ô%5ð9ð 9ð 9ˆå˜#ÑÔÐð	#Øˆˆˆð %�_ UÑ+Ô+ˆ
Ø˜ÒÐð+ØÔ'ð+ð +ð +ˆCå˜cÑ"Ô"Ð"ð Ðøõ	 ð ð ð Øˆˆðøøøs   Â&C Ã
C%Ã$C%r   )Úget_versions)Úgenerate_version_infoÚversion)Úconfig)Úerrors)ÚtypeofÚprangeÚpndindexÚgdbÚgdb_breakpointÚgdb_initÚ	literallyÚliteral_unroll)Ú*)Útypes)Ú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                 ó*   — ddl m}  |j        | fi |¤ŽS )Nr   )Ú	_runtests)Únumba.testingrC   Úmain)ÚargvÚkwdsÚruntestss      r   ÚtestrI   w   s0   € ð 4Ð3Ð3Ð3Ð3Ð3Øˆ8Œ=˜Ð&Ð& Ð&Ð&Ð&r   )r/   r>   r5   r0   r?   r1   r2   r3   r%   r&   r(   r)   r*   r4   Úobjmoder,   r7   r8   r9   r:   rA   )r   é2   r   )é   r   r   c                  óÌ  — ddl } ddl}t          j        d¦  «        }|                     |j        ¦  «        }|rbt          t          t          | 	                    ¦   «         ¦  «        ¦  «        }|t          k     r"dt          |j        fz   z  }t          |¦  «        ‚n | j        d¦  «         ddlm}m} |t           k     rdt           |z   z  }t          |¦  «        ‚ |¦   «          dS )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.bindingrN   rO   Ú_min_llvm_version)rP   rQ   ÚregexÚmÚverr   rN   rO   s           r   Ú_ensure_llvmr]   ›   s  € ð €O€O€OØ€O€O€Oõ ŒJÐ,Ñ-Ô-€EØ�Š�HÔ(Ñ)Ô)€AØð 
AÝ•C�˜QŸXšX™ZœZÑ(Ô(Ñ)Ô)ˆØÕ&Ò&Ð&ð-õ *¨XÔ-AÐ,CÑCñEˆCõ ˜cÑ"Ô"Ð"ð 'ð 	ˆŒÐ?Ñ@Ô@Ð@àGÐGÐGÐGÐGÐGÐGÐGàÕ,Ò,Ð,ð)õ "Ð$5Ñ5ñ7ˆõ ˜#ÑÔÐàÐÑÔÐÐÐr   c                  ó\  — t           j        �sž	 t          j                             d¦  «        r t
          j                             d¦  «         n€t          j                             d¦  «        r t
          j                             d¦  «         nAt          j                             d¦  «        r t
          j                             d¦  «         ndS 	  t          t
          j        j	        d¦  «        ¦   «         sdS nJ# t          $ r= t          j        ¦   «         d	k    r"t           j        rd
} t          j        | ¦  «         Y dS w xY wt
          j                             dd¦  «         dS # t           $ r: t          j        ¦   «         d	k    r t           j        rt          j        d¦  «         Y nw xY wdS )zU
    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Ú
startswithrQ   ÚbindingÚload_library_permanentlyÚgetattrÚtargetsÚAttributeErrorÚmachineÚDEBUGrP   rW   Ú
set_optionÚ	Exception)r   s    r   Ú_try_enable_svmlrr   ¾   s¯  € õ Ô$ñ (Ið'	IÝŒ|×&Ò& wÑ/Ô/ð ÝÔ ×9Ò9¸,ÑGÔGÐGÐGÝ”×(Ò(¨Ñ2Ô2ð ÝÔ ×9Ò9¸/ÑJÔJÐJÐJÝ”×(Ò(¨Ñ/Ô/ð ÝÔ ×9Ò9¸-ÑHÔHÐHÐHà�uðØD•w�xÔ/Ô7¸ÑDÔDÑFÔFð !ð !˜5ð!øõ "ð ð ð ÝÔ#Ñ%Ô%¨Ò1Ð1µf´lÐ1ð3�Cå”M #Ñ&Ô&Ð&ð �u�uðøøøõ Ô×'Ò'¨Ð0FÑGÔGÐGØ�4øÝð 	Ið 	Ið 	IÝÔÑ!Ô! XÒ-Ð-µ&´,Ð-Ý”ÐGÑHÔHÐHøøð	Iøøøð ˆ5s8   �B=E% Ã'C9 Ã8E% Ã9AE Ä<E% Ä?E Å #E% Å%AF)Æ(F))>Ú__doc__rg   rR   r   rP   r   Ú_versionr    Únumba.misc.init_utilsr!   r
   r   Ú
numba.corer#   r$   Únumba.misc.specialr%   r&   r'   r(   r)   r*   r+   r,   Únumba.core.errorsr.   Únumba.core.typesÚ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@   rJ   rA   Únumba.core.target_extensionÚnumba.typedrI   Ú__all__rV   rY   r]   rr   rQ   Ú
USING_SVML© r   r   ú<module>r„      s&  ððð ð €€€Ø 	€	€	€	Ø 
€
€
€
Ø €€€ð
+#ð +#ð +#ð\ Ð Ñ Ô Ð ð
 #Ð "Ð "Ð "Ð "Ð "Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7àˆl‰nŒn˜YÔ'€Ø$Ð$ [Ñ1Ô1€ØØð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð  Ð Ð Ð ð &Ð %Ð %Ð %Ð %Ð %ð Ð Ð Ð ð/ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð+ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð >Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =ð Ð Ð Ð Ð Ð ð Ð Ð Ð Ø >Ð >Ð >Ð >Ð >Ð >Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6ð #Ð "Ð "Ð "ð Ð Ð Ð ð'ð 'ð 'ðð ð €ð. ˆ5Œ=Ñ €Ø ˆ6Œ>Ñ €ð #Ð ØÐ ð ð  ð  ðF-ð -ð -ð^ €�„€ð €€€ðð %Ð$Ñ&Ô&€Ô Ð Ð r   