
    ni=                        S SK r S\ R                  S'   S SKrS\R                  l        S SKrS SKr\R                  R                  S\R                  " S5      5        \R                  S   r
\R                  " 5       \
l        S \
l        S \
l        S \
l        S	 \
l        S
 \
l        S \
l         " S S5      r " S S5      r\\
l        \\
l        S SKrS SKJr  \R0                  " SS/S9S 5       r\R0                  S 5       rg)    N1NUMBA_DISABLE_JITTzpyreason.pyreasonc                      g N aks     Y/home/james-whalen/.local/lib/python3.13/site-packages/tests/unit/disable_jit/conftest.py<lambda>r   
   s    D    c                      g r   r   r   s     r   r   r          r   c                      g r   r   r   s     r   r   r      r   r   c                      g r   r   r   s     r   r   r      s    dr   c                      g r   r   r   s     r   r   r      s    Tr   c                      g r   r   r   s     r   r   r      s    4r   c                       \ rS rSrS rSrg)Rule   c                     g r   r   selfargskwargss      r   __init__Rule.__init__       r   r   N__name__
__module____qualname____firstlineno__r   __static_attributes__r   r   r   r   r          r   r   c                       \ rS rSrS rSrg)Fact   c                     g r   r   r   s      r   r   Fact.__init__   r   r   r   Nr   r   r   r   r'   r'      r%   r   r'   )get_interpretation_helpersinterpretation_fpinterpretation)paramsc           	   #      #    [        U R                  5      nU R                  n[        U5       H0  nUR	                  S5      (       a  M  [        X#[        X5      5        M2     Uv   g 7f)N_)r+   parammoduledir
startswithsetattrgetattr)requesthmnames       r   helpers_fixturer;      sO     "7==1AAAs##AWQ-.  Gs   AA(
A(c           	      *  ^^^ UR                   nUR                  mUR                  n " S S5      n " S S5      nU R                  UR                  R
                  SU" 5       5        U R                  UR                  R
                  SU" 5       5        U R                  UR                  R                  SS 5         " S	 S
5      n " U4S jS5      mSnUR                  S5      nT" 5       n	0 SSXv" 5       00_SS0 0_S0 _S0 _SS_SSS/_S/ _SU/_S/ _SU/ 0_SU/ 0_S/ _S/ _S/ _S/ _S/ _S / _0 S!SXxU	S"S"4/_S#/ _S$/ _S%/ _S&/ _S'/ _S(/ _S)/ _S*/ _S+0 _S,S"_S-S"_S.S"_S/S"_S0S"_S1S2_S3S4_ES0 S5S6SS"S"S7.EmUU4S8 jn
U
TS9'   UTS:'   UTS;'   U	TS<'   T$ )=z6Minimal environment to exercise Interpretation.reason.c                   $    \ rS rSrSS jrS rSrg)reason_env.<locals>._ListShim0   r   c                     [        U5      $ r   )list)r   iterables     r   __call__&reason_env.<locals>._ListShim.__call__1   s    >!r   c                     / $ r   r   r   s      r   
empty_list(reason_env.<locals>._ListShim.empty_list4       Ir   N)r   )r    r!   r"   r#   rC   rF   r$   r   r   r   	_ListShimr>   0   s    	"	r   rI   c                       \ rS rSrS rSrg)reason_env.<locals>._DictShim7   c                     0 $ r   r   r   s      r   empty#reason_env.<locals>._DictShim.empty8   rH   r   r   N)r    r!   r"   r#   rN   r$   r   r   r   	_DictShimrK   7   s    	r   rP   ListDictuint16c                     U $ r   r   )xs    r   r   reason_env.<locals>.<lambda>=   s    r   c                       \ rS rSrS rSrg)reason_env.<locals>.SimpleWorld?   c                     0 U l         g r   worldr   s    r   r   (reason_env.<locals>.SimpleWorld.__init__@   s	    DJr   r[   Nr   r   r   r   SimpleWorldrX   ?   s    	r   r_   c                   2   > \ rS rSrSS jrU 4S jrS rSrg)"reason_env.<locals>.SimpleIntervalC   c                     Xl         X l        g r   val_static)r   re   statics      r   r   +reason_env.<locals>.SimpleInterval.__init__D   s    H!Lr   c                 >   > T" U R                   U R                  5      $ r   rd   )r   SimpleIntervals    r   copy'reason_env.<locals>.SimpleInterval.copyH   s    !$((DLL99r   c                     U R                   $ r   )rf   r]   s    r   	is_static,reason_env.<locals>.SimpleInterval.is_staticK   s    <<r   )rf   re   N)g      ?F)r    r!   r"   r#   r   rk   rn   r$   )rj   s   r   rj   ra   C   s    	"	:	 r   rj   n1Linterpretations_noder   interpretations_edgepredicate_map_nodepredicate_map_edgetmaxprev_reasoning_datarulesnodesedges	neighborsreverse_neighborsrules_to_be_applied_noderules_to_be_applied_edgeedges_to_be_added_node_ruleedges_to_be_added_edge_rulerules_to_be_applied_node_tracerules_to_be_applied_edge_tracefacts_to_be_applied_nodeFfacts_to_be_applied_edgefacts_to_be_applied_node_tracefacts_to_be_applied_edge_traceiplrule_trace_noderule_trace_edgerule_trace_node_atomsrule_trace_edge_atomsreverse_graph
atom_trace#save_graph_attributes_to_rule_trace
persistentinconsistency_checkstore_interpretation_changesupdate_mode allow_ground_rulesTr   perfect_convergence)max_facts_timeannotation_functionshead_functionsconvergence_modeconvergence_deltaverboseagainc                    > TR                  5       nUR                  U 5        T" / US   PUS   PUS   PUS   PUS   PUS   PUS   PUS   PUS	   PUS
   PUS   PUS   PUS   PUS   PUS   PUS   PUS   PUS   PUS   PUS   PUS   PUS   PUS   PUS   PUS   PUS   PUS   PUS   PUS   PUS   PUS   PUS    PUS!   PUS"   PUS#   PUS$   PUS%   PUS&   PUS'   PUS(   PUS)   P76 $ )*Nrr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )rk   update)	overridesr.   envreason_funcs     r   runreason_env.<locals>.run~   s   i  *
)**
)**
 '(*
 '(	*

 6N*
 ()*
 7O*
 7O*
 7O*
 ;*
 &'*
 -.*
 -.*
 01*
 01*
  34!*
" 34#*
$ -.%*
& -.'*
( 34)*
* 34+*
, 5M-*
. $%/*
0 $%1*
2 *+3*
4 *+5*
6 ?#7*
8 < 9*
: 89;*
< < =*
> ()?*
@ 12A*
B =!C*
D '(E*
F #$G*
H )*I*
J #$K*
L %&M*
N &'O*
P 9Q*
R 7OS*
 *	
r   r   nodelabelbnd)r-   reasonr   r5   numbatypedtypesLabel)monkeypatchr;   interplbl_modrI   rP   r_   r   lblr   r   rj   r   r   s              @@@r   
reason_envr   (   s    ++F!((K##G   **FIK@**FIK@**HkB 	  	  D
--
C

C*T;=$9 :*B* 	b* 	b	*
 	* 	1v* 	* 	$* 	* 	dBZ* 	dBZ* 	#B* 	#B* 	&r* 	&r*  	)"!*" 	)"#*$ 	#aC%F$G%*& 	#B'*( 	)")** 	)"+*, 	r-*. 	2/*0 	21*2 	 3*4 	 5*6 	7*8 	e9*: 	.u;*< 	e=*> 	u?*@ 	'A*B 	rC*D 	dE*F  "1S*CX-
^ CJCKCLCJJr   )osenvironr   configDISABLE_JITsysr   modules
setdefault
ModuleTypestubSimpleNamespacesettingsload_graphmladd_ruleadd_factr   resetreset_rulesr   r'   pytestAtests.unit.disable_jit.interpretations.test_interpretation_commonr+   fixturer;   r   r   r   r   <module>r      s    	"%

       *E,<,<=P,Q R
{{&'%%'( $$"!
'    		  h +-=>? @ H Hr   