
    sh4X                     z   S SK r S SKrS SKrS SKrS SKrS SKrS SKr S SKrSrS SK
Jr  \R                   R                  S5      r\R                   R                  S5      r\R"                  S-  r\S:H  r\R(                  SS rS	rS
 rS r " S S\5      rS r " S S\5      r\" 5       rS rg! \	 a    Sr Nf = f)    NTFwin32darwin          z.numba_config.yamlc                     U (       d  g[         R                  " SU 5      nU(       d  [        S5      eUR                  5       n[	        US   5      [	        US   5      4$ )z/
Parse CUDA compute capability version string.
Nz(\d+)\.(\d+)zdCompute capability must be specified as a string of "major.minor" where major and minor are decimalsr      )rematch
ValueErrorgroupsint)textmgrps      e/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/core/config.py	_parse_ccr      sW     HH_d+ 6 7 7 hhj3q6{CAK''    c                     [         R                  R                  S5      (       a  [        R                  " 5       S;  a  g [	        SS5      n U    U  HK  nUR                  S5      u  p#nUR                  5       S:X  d  M-  SUR                  5       ;   d  MC    S	S	S	5        g    S	S	S	5        g
! [
         a     gf = f! , (       d  f       g	= f)z
Whether the current OS supports AVX, regardless of the CPU.

This is necessary because the user may be running a very old Linux
kernel (e.g. CentOS 5) on a recent CPU.
linux)i386i586i686x86_64Tz/proc/cpuinfor:flagsavxNF)	sysplatform
startswithmachineopenOSError	partitionstripsplit)flinehead_bodys        r   _os_supports_avxr-   /   s     LL##G,,!)KK#& 
D NN3/MDTzz|w&5DJJL+@	 

  
   
s0    B* ,B:>B:B:B:*
B76B7:
Cc                   B   ^  \ rS rSrSrU 4S jr\S 5       rS rSr	U =r
$ )	_OptLevelI   a  This class holds the "optimisation level" set in `NUMBA_OPT`. As this env
var can be an int or a string, but is almost always interpreted as an int,
this class subclasses int so as to get the common behaviour but stores the
actual value as a `_raw_value` member. The value "max" is a special case
and the property `is_opt_max` can be queried to find if the optimisation
level (supplied value at construction time) is "max".c                    > [        U5      S:X  d   eUu  nUS:X  a  SO
[        U5      n[        TU ]  " X40 UD6nUS:X  a  X5l        U$ UUl        U$ )Nr	   max   )lenr   super__new__
_raw_value)clsargskwargsvalue
_int_valuenew	__class__s         r   r6   _OptLevel.__new__Q   s]    4yA~~5.Qc%j
goc88"'5.
 7A
r   c                      U R                   S:H  $ )zDReturns True if the the optimisation level is "max" False
otherwise.r2   )r7   selfs    r   
is_opt_max_OptLevel.is_opt_max[   s     %''r   c                     [        U R                  [        5      (       a  SU R                   S3nOU R                  nSU S3$ )N'z
_OptLevel())
isinstancer7   str)rB   args     r   __repr___OptLevel.__repr__a   s>    doos++doo&a(C//CC5""r    )__name__
__module____qualname____firstlineno____doc__r6   propertyrC   rK   __static_attributes____classcell__)r>   s   @r   r/   r/   I   s+    = ( (
# #r   r/   c                 F    U S;  a  SU  S3n[        U5      e[        U 5      $ )N)0123r2   zAEnvironment variable `NUMBA_OPT` is set to an unsupported value 'z-', supported values are 0, 1, 2, 3, and 'max')r   r/   )	opt_levelmsgs     r   _process_opt_levelr]   i   s8    33" $ o##r   c                   6    \ rS rSrS rS rS	S jrS rS rSr	g)
_EnvReloadert   c                 $    U R                  5         g N)resetrA   s    r   __init___EnvReloader.__init__v   s    

r   c                 0    0 U l         U R                  SS9  g )NT)force)old_environupdaterA   s    r   rc   _EnvReloader.resety   s    $r   c                    0 n[         R                  R                  [        5      (       a  [         R                  R	                  [        5      (       a  [
        (       d  Sn[        R                  " U5        O`[        [        S5       n[        R                  " U5      nS S S 5        Wb.  UR                  5        H  u  pgXrSUR                  5       -   '   M     [         R                  R                  5        H!  u  pUR                  S5      (       d  M  XU'   M#     U(       d  U R                  U:w  a!  U R!                  U5        [#        U5      U l        U R%                  5         g ! , (       d  f       N= f)NzA Numba config file is found but YAML parsing capabilities appear to be missing. To use this feature please install `pyyaml`. e.g. `conda install pyyaml`.rtNUMBA_)ospathexists_config_fnameisfile
_HAVE_YAMLwarningswarnr#   yaml	safe_loaditemsupperenvironr!   rh   process_environdictvalidate)
rB   rg   new_environr\   r(   y_confkvnamer;   s
             r   ri   _EnvReloader.update}   s    77>>-((RWW^^M-J-J:1 c"-.!!^^A.F /% &<=Hqwwy$89 !/ ::++-KDx(($)D! . D$$3  -#K0D' /.s   E##
E1c                     [         (       a(   SS Kn[        (       a  [        R
                  " S5        g g g ! [         a2  nSUR                   S3n[        R
                  " U5        Sq  S nAN[S nAff = f)Nr   z}CUDA Python bindings requested (the environment variable NUMBA_CUDA_USE_NVIDIA_BINDING is set), but they are not importable: .FzPTDS support is handled by CUDA Python when using the NVIDIA binding. Please set the environment variable CUDA_PYTHON_CUDA_PER_THREAD_DEFAULT_STREAM to 1 instead.)CUDA_USE_NVIDIA_BINDINGcudaImportErrorr\   rt   ru   CUDA_PER_THREAD_DEFAULT_STREAM)rB   r   ier\   s       r   r}   _EnvReloader.validate   ss     #"0 .- ) * . #  0779vvhaA c"*/'0s   5 
A1(A,,A1c                 8  ^^` U4S jnS nU" S[         S5      nU" S[         S5      nU" S[         S5      nU" S[         U5      nU" S	[         S5      nU" S
[        S5      n	U" S[         S 5      n
U" S[         S5      nU" S[         S5      nU" S[         S5      nU" S[         S5      nU" S[        S5      nU" S[        S5      nU" S[        S5      nU" S[         S5      nU" S[         S5      nU" S[         S5      nU" S[         S5      nU" S[         S5      nU" S[         S5      nU" S[         S5      nU" S[         U5      nU" S[        S 5      nU" S![         S5      nU" S"[        S 5      nU" S#[         S5      nU" S$US 5      m`U" S%U[        T`5      R                  5       S&:X  a  S OS 5      nU" S'[        [	        S(5      5      nU" S)[         U5      n U" S*[         U5      n!U" S+[         U5      n"U" S,[         U=(       d    U5      n#U" S-[         S5      n$U" S.[         S5      n%U" S/[         S5      n&U" S0[         S5      n'U" S1[         S5      n(U" S2[         U5      n)U" S3[         U5      n*U" S4[         U5      n+U" S5[         S5      n,U" S6[         S5      n-U" S7[         U5      n.U" S8[         S5      n/U" S9[         S5      n0S: n1U" S;U1S 5      n2U`4S< jn3U" S=[         U35      n4U" S>[         [
        5      n5U" S?[         S5      n6U" S@SA / SBQ5      n7U" SC[        SD5      n8U" SE[         S5      n9U" SF[        S 5      n:U" SG[        SH5      n;U" SI[         [        [        SJ:H  5      5      n<U" SK[         S5      n=U" SL[        S 5      n>U" SM[         S5      n?U" SN[         SO5      n@U" SP[        SQ5      nAU" SR[         S5      nBU" SS[        S 5      nCU" ST[         SU5      nDU" SV[         S5      nEU" SW[         S5      nFU" SX[         S5      nG[        (       aJ  [        R                  R                  SY5      nHUH(       a!  [        R                  R                  WHSZ5      nIO4S[nIO1[        R                  R                  [        R                  S\S]S^SZ5      nIU" S_[        WI5      nJS` nKUK" 5       nLU" Sa[         UL5      nMSa[!        5       ;   aG  [!        5       Sa   WM:w  a6  SSbKJnN  UNR&                  (       a  [)        ScWM< Sd[!        5       Sa   < Se35      eWMnOAMU" Sf[         S5      nPSg[        R                  ;   nQU" Sh[         [        UQ5      5      nRU" Si[         UR5      nSU" Sj[         S5      nTU" Sk[         S5      nUSl nVU" SmUVSn5      nWU" So[        SD5      nXU" Sp[         S5      nYU" Sq[        UY(       a  SrOS 5      nZU" Ss[         S 5      n[U" St[         S5      n\U" Su[         S5      n][+        5       R-                  5       R/                  5        H*  u  n^n_U^R1                  5       (       d  M  W_[!        5       W^'   M,     g )vNc           
        > TR                  U 5      nUc  [        U5      (       a  U" 5       $ U$  U" U5      $ ! [         a<    [        R                  " SU  SU S[
        R                  " 5        3[        5        Us $ f = f)NzEnvironment variable 'z'' is defined but its associated value 'z8' could not be parsed.
The parse failed with exception:
)getcallable	Exceptionrt   ru   	traceback
format_excRuntimeWarning)r   ctordefaultr;   rz   s       r   _readenv._EnvReloader.process_environ.<locals>._readenv   s    KK%E}$,W$5$5wyB7BE{"  6tf =77<g >L!*!5!5!7 8: -	.
 s   8 AA>=A>c                 "    U b  [        U 5      $ S $ rb   )rI   )xs    r   optional_str2_EnvReloader.process_environ.<locals>.optional_str   s    ]3q644r   NUMBA_USE_LEGACY_TYPE_SYSTEMr	   NUMBA_DEVELOPER_MODEr   "NUMBA_DISABLE_PERFORMANCE_WARNINGSNUMBA_FULL_TRACEBACKSNUMBA_SHOW_HELPNUMBA_COLOR_SCHEMEno_colorNUMBA_BOUNDSCHECKNUMBA_ALWAYS_WARN_UNINIT_VAR!NUMBA_CUDA_LOW_OCCUPANCY_WARNINGSNUMBA_CUDA_USE_NVIDIA_BINDINGNUMBA_DEBUGNUMBA_DEBUG_PRINT_AFTERnoneNUMBA_DEBUG_PRINT_BEFORENUMBA_DEBUG_PRINT_WRAPNUMBA_HIGHLIGHT_DUMPSNUMBA_DEBUG_JITNUMBA_DEBUG_FRONTENDNUMBA_DEBUG_NRTNUMBA_NRT_STATSNUMBA_FUNCTION_CACHE_SIZE   NUMBA_PARFOR_MAX_TUPLE_SIZEd   NUMBA_DEBUG_CACHENUMBA_CACHE_DIR NUMBA_TRACENUMBA_CHROME_TRACENUMBA_DEBUG_TYPEINFERNUMBA_CPU_NAMENUMBA_CPU_FEATURESgeneric	NUMBA_OPTr3   NUMBA_DUMP_BYTECODENUMBA_DUMP_CFGNUMBA_DUMP_IRNUMBA_DUMP_SSANUMBA_DEBUG_ARRAY_OPTNUMBA_DEBUG_ARRAY_OPT_RUNTIMENUMBA_DEBUG_ARRAY_OPT_STATSNUMBA_PARALLEL_DIAGNOSTICSNUMBA_DEBUG_INLINE_CLOSURENUMBA_DUMP_LLVMNUMBA_DUMP_FUNC_OPTNUMBA_DUMP_OPTIMIZEDNUMBA_LOOP_VECTORIZENUMBA_SLP_VECTORIZENUMBA_DUMP_ASSEMBLYNUMBA_DUMP_ANNOTATIONNUMBA_DIFF_IRc                 J    U c  U $ [         R                  R                  U 5      $ rb   )rn   ro   abspath)ro   s    r   fmt_html_path3_EnvReloader.process_environ.<locals>.fmt_html_pathi  s    |wwt,,r   NUMBA_DUMP_HTMLc                  |   > [        5       (       d  gT=(       d    [        R                  " 5       n 1 SknUS1-  nX;  $ )NF>   	ivybridgesandybridge
core-avx-i
corei7-avxnocona)r-   llget_host_cpu_name)cpu_namedisabled_cpusCPU_NAMEs     r   avx_default1_EnvReloader.process_environ.<locals>.avx_defaults  sB    #%% $=r';';'=!= (+44r   NUMBA_ENABLE_AVXNUMBA_DISABLE_INTEL_SVMLNUMBA_DISABLE_JITNUMBA_THREADING_LAYER_PRIORITYc                 "    U R                  5       $ rb   )r'   )strings    r   <lambda>._EnvReloader.process_environ.<locals>.<lambda>  s
    6<<>r   )tbbomp	workqueueNUMBA_THREADING_LAYERr    NUMBA_CUDA_WARN_ON_IMPLICIT_COPYNUMBA_FORCE_CUDA_CCNUMBA_CUDA_DEFAULT_PTX_CC)   r   NUMBA_DISABLE_CUDAr   NUMBA_ENABLE_CUDASIMNUMBA_CUDA_LOG_LEVELNUMBA_CUDA_LOG_API_ARGS%NUMBA_CUDA_MAX_PENDING_DEALLOCS_COUNT
   %NUMBA_CUDA_MAX_PENDING_DEALLOCS_RATIOg?NUMBA_CUDA_ARRAY_INTERFACE_SYNCNUMBA_CUDA_DRIVERNUMBA_CUDA_LOG_SIZEi   NUMBA_CUDA_VERBOSE_JIT_LOG$NUMBA_CUDA_PER_THREAD_DEFAULT_STREAM-NUMBA_CUDA_ENABLE_MINOR_VERSION_COMPATIBILITY	CUDA_PATHincludecuda_include_not_foundusrlocalr   NUMBA_CUDA_INCLUDE_PATHc                       [         R                  n [        S[        U " S5      5      5      $ ! [         a     Of = f[         R
                  " 5       nUb  [        SU5      $ g)Nr	   r   )rn   sched_getaffinityr2   r4   AttributeError	cpu_count)r  r  s     r   num_threads_default9_EnvReloader.process_environ.<locals>.num_threads_default  sd    9$&$8$8! 1c"3A"6788 " 
 I$1i((s   - 
::NUMBA_NUM_THREADS)parallelzfCannot set NUMBA_NUM_THREADS to a different value once the threads have been launched (currently have z, trying to set rG   NUMBA_ENABLE_SYS_MONITORINGVS_PROFILERNUMBA_ENABLE_PROFILINGNUMBA_DEBUGINFONUMBA_CUDA_DEBUGINFONUMBA_EXTEND_VARIABLE_LIFETIMESc                 <    [         R                  " U 5      nUb  U$ U $ rb   )shutilwhich)path_or_bingdbs     r   	which_gdb/_EnvReloader.process_environ.<locals>.which_gdb  s    ,,{+C/3:{:r   NUMBA_GDB_BINARYr  NUMBA_CUDA_MEMORY_MANAGERNUMBA_LLVM_REFPRUNE_PASSNUMBA_LLVM_REFPRUNE_FLAGSall!NUMBA_USE_LLVMLITE_MEMORY_MANAGERNUMBA_LLVM_PASS_TIMINGSNUMBA_JIT_COVERAGE)r   rI   lowerr]   r/   	IS_32BITSr   MACHINE_BITSfloatIS_WIN32rn   rz   r   ro   joinsepglobalsnumba.np.ufuncr  _is_initializedRuntimeErrorlocalscopyrx   isupper)arB   rz   r   r   USE_LEGACY_TYPE_SYSTEMDEVELOPER_MODEDISABLE_PERFORMANCE_WARNINGSFULL_TRACEBACKS	SHOW_HELPCOLOR_SCHEMEBOUNDSCHECKALWAYS_WARN_UNINIT_VARCUDA_LOW_OCCUPANCY_WARNINGSr   DEBUGDEBUG_PRINT_AFTERDEBUG_PRINT_BEFOREDEBUG_PRINT_WRAPHIGHLIGHT_DUMPS	DEBUG_JITDEBUG_FRONTEND	DEBUG_NRT	NRT_STATSFUNCTION_CACHE_SIZEPARFOR_MAX_TUPLE_SIZEDEBUG_CACHE	CACHE_DIRTRACECHROME_TRACEDEBUG_TYPEINFERCPU_FEATURESOPTDUMP_BYTECODEDUMP_CFGDUMP_IRDUMP_SSADEBUG_ARRAY_OPTDEBUG_ARRAY_OPT_RUNTIMEDEBUG_ARRAY_OPT_STATSPARALLEL_DIAGNOSTICSDEBUG_INLINE_CLOSURE	DUMP_LLVMDUMP_FUNC_OPTDUMP_OPTIMIZEDLOOP_VECTORIZESLP_VECTORIZEDUMP_ASSEMBLYANNOTATEDIFF_IRr   HTMLr   
ENABLE_AVXDISABLE_INTEL_SVMLDISABLE_JITTHREADING_LAYER_PRIORITYTHREADING_LAYERCUDA_WARN_ON_IMPLICIT_COPYFORCE_CUDA_CCCUDA_DEFAULT_PTX_CCDISABLE_CUDAENABLE_CUDASIMCUDA_LOG_LEVELCUDA_LOG_API_ARGSCUDA_DEALLOCS_COUNTCUDA_DEALLOCS_RATIOCUDA_ARRAY_INTERFACE_SYNCCUDA_DRIVERCUDA_LOG_SIZECUDA_VERBOSE_JIT_LOGr   'CUDA_ENABLE_MINOR_VERSION_COMPATIBILITY	cuda_pathdefault_cuda_include_pathCUDA_INCLUDE_PATHr	  NUMBA_DEFAULT_NUM_THREADS_NUMBA_NUM_THREADSr  r  ENABLE_SYS_MONITORINGRUNNING_UNDER_PROFILERENABLE_PROFILINGDEBUGINFO_DEFAULTCUDA_DEBUGINFO_DEFAULTEXTEND_VARIABLE_LIFETIMESr  
GDB_BINARYCUDA_MEMORY_MANAGERLLVM_REFPRUNE_PASSLLVM_REFPRUNE_FLAGSUSE_LLVMLITE_MEMORY_MANAGERLLVM_PASS_TIMINGSJIT_COVERAGEr   r;   r   sa    `                                                                                              @r   r{   _EnvReloader.process_environ   s)   		5 "**C"

 ""8#qA (00#q(:$ ##S.: .Q7	   4c:F
 2C>
 "**C"
 '//a'9# #++S!#5 Q/ %%>VL &&@#vN $$<c6J ##:CC .Q7	 ""8#qA .Q7	 .Q7	 ''BCM !))F),c!3 2C? .R8	 Q/   4c2> ##:CC
 ,lDA 4l'*8}':':'<	'I&*- {$6	!E !!6^L ,c>B ?C)+ ,c*=o? ##:CC #++S!#5 !))FQ O  ((Dc1M  ((Dc1M .U;	 !!6UC ""8#uE ""8#qA !!6Q? !!6UC 3S!< ?C3	- )=$?	5$ 0#{C
 &&Y8 2C; $,,)'$
 
 ##:CK &..Q&8" !!6	4H ''BI'-/   4 #S);%<> ""8#qA ""8#rB %%>QG ''N'*B0 ''N',c3 %--N-0!%5! 2C< !!6TB  ((Dc1M *22C*<& 3;;S!3E/ 8

{3I,.GGLLI,N),D)(*RVVUG5;Y)H%$%>%>@	 %8$9! &&93&?A79,I126HH/''" %7$+I.A$B$D E E / !))F),a!1 "/"**!< $$c3/E+FH %%6=MN!)*@#q!I$,-N-0!%5!	; 0)UC
 ''BC'02 &&Q
 '''ER
 '//d'
# %%sA
   #q

 "8==?002KD%||~~"'	$ 3r   )rh   N)F)
rN   rO   rP   rQ   rd   rc   ri   r}   r{   rT   rM   r   r   r_   r_   t   s     B**S(r   r_   c                  ,    [         R                  5         g)zD
Reload the configuration from environment variables, if necessary.
N)_env_reloaderri   rM   r   r   reload_configr  L  s     r   ) r    r   rn   r
   r  rt   r   rv   rs   r   llvmlite.bindingbindingr   r!   r&  IS_OSXtuple__itemsize__r$  r#  version_info	PYVERSIONrq   r   r-   r   r/   r]   objectr_   r  r  rM   r   r   <module>r     s     
 	 	   J
  <<""7+		 	 	*!!A%B	Ra 	 %( 4# #@$R(6 R(j   Js   B/ /B:9B: