+
    ;i(                       ^ RI t^ RIHt ^ RIt^ RIHtHt ^ RIHtH	t	 ^ RI
HtHt ^ RIHt ^ RIHtHt ^ RIHtHtHt ^ RIt]t]R	 4       t]! R R
7      R 4       t]! RR7      R 4       t]R 4       t]R 4       t]R 4       t]! R!R7      R 4       t]! R!R7      R 4       t]R 4       t ]'       g   ]! RR7      R 4       t! ! R R]PD                  4      t# ! R R]#4      t$] ! R R]#4      4       t%]&R8X  d   ]PN                  ! 4        R# R# )"    N)contextmanager)njitstencil)typesregistry)compile_extraFlags)ParallelOptions)skip_parfors_unsupported_32bit)LoweringErrorTypingErrorNumbaValueErrorc                 v    R V R,          V R,          ,           V R,          ,           V R,          ,           ,          #       ?r      r   r   r   r   r    as   &W/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/tests/test_stencils.pystencil1_kernelr      s,    1T7QtW$qx/!E(:;;    neighborhoodc                 j    V R,          p\        R^4       F  pWV,          ,          pK  	  RV,          # )   333333?range)r   cumis   &  r   stencil2_kernelr*      s0    
B%C2q\t 9r         ?cvalc                 "    R V R,          ,          # )r      r   r   s   &r   stencil3_kernelr2   #   s    !E(?r   c                     R V R,          V R,          ,           V R,          ,           V R,          ,           VR,          ,           VR,          ,           VR,          ,           VR,          ,           ,          # r   r   r   bs   &&r   stencil_multiple_input_kernelr6   (   s`    1T7QtW$qx/!E(:T7tW%'(x023E(; < <r   c                     W R,          V R,          ,           V R,          ,           V R,          ,           VR,          ,           VR,          ,           VR,          ,           VR,          ,           ,          # r   r   r   r   r   r   )r   r5   ws   &&&r   !stencil_multiple_input_kernel_varr:   .   s^    $!D'!AeH,qx7$D'"$%eH-/0x8 9 9r   c                 D    VR,          '       d
   V R,          # VR,          # r   r   r   r   )r   r5   fs   &&&r   %stencil_multiple_input_mixed_types_2dr?   4   s    gg1T7*1T7*r   )standard_indexingc                 h    V R,          V^ ,          ,          V ^ ,          V^,          ,          ,           # r   r   r   r4   s   &&r   !stencil_with_standard_indexing_1drC   9   s%    R51Q4<!A$1+%%r   c                     V R,          VR,          ,          V R,          VR,          ,          ,           V R,          VR,          ,          ,           V R,          VR,          ,          ,           # r8   r   r4   s   &&r   !stencil_with_standard_indexing_2drE   >   sS    dGag$!D' 11h5!"$%eHqx$78 9r   c                     V ^,           # r   r   r   s   &r   addone_njitrH   D   s    q5Lr   Tparallelc                     V ^,           # rG   r   r   s   &r   addone_pjitrL   J   s    1ur   c                   T   a a ] tR t^Ot oRtV 3R ltR tR tR tR t	R t
RtVtV ;t# )	TestStencilBaseFc                l   < \        4       V n        R V P                  n        \        \        V `  ! V!   R# )TN)r	   cflagsnrtsuperrN   __init__)selfargs	__class__s   &*r   rS   TestStencilBase.__init__S   s&    got-t4r   c           	         \        \        P                  P                  \        P                  P                  WR V/ 4      # N)r   r   
cpu_targettyping_contexttarget_context)rT   funcsigflagss   &&&&r   _compile_thisTestStencilBase._compile_thisZ   s5    X00??%00??!5". 	.r   c                    \        4       pR Vn        V'       g   R MTp\        V4      Vn        V P	                  WV4      # )T)r	   rQ   r
   auto_parallelr`   )rT   r]   r^   kwsr_   optionss   &&&,  r   compile_parallel TestStencilBase.compile_parallel_   s9    	!$s-g6!!$U33r   c                <    V P                  WV P                  R 7      # ))r_   )r`   rP   )rT   r]   r^   s   &&&r   compile_njitTestStencilBase.compile_njitf   s    !!$4;;!??r   c                    \        V Uu. uF  p\        P                  ! V4      NK  	  up4      pV P                  W4      pV P	                  W4      pWv3# u upi rY   )tuplenumbatypeofrf   ri   )rT   pyfuncrU   kwargsxr^   cpfunccfuncs   &&*,    r   compile_allTestStencilBase.compile_alli   sP    d3dU\\!_d34&&v3!!&.} 4s   Ac                   V P                   ! V.VO5!  w  rEV! V!  pV! V!  pVP                  ! V!  pVP                  ! V!  p	\        P                  P	                  Wv^R7       \        P                  P	                  W^R7       \        P                  P	                  W^R7       V P                  RVP                  P                  4       4       R# )   decimal@do_schedulingN)rt   entry_pointnptestingassert_almost_equalassertInlibraryget_llvm_str)
rT   no_stencil_funcro   rU   rs   rr   expected	py_outputnjit_outputparfor_outputs
   &&&*      r   checkTestStencilBase.checkq   s    ((7$7"D)DM	 ''. **D1


&&yA&F


&&{a&H


&&}&J 	&(C(C(EFr   )rP   )__name__
__module____qualname____firstlineno___numba_parallel_test_rS   r`   rf   ri   rt   r   __static_attributes____classdictcell____classcell__rV   __classdict__s   @@r   rN   rN   O   s1     !5.
4@G Gr   rN   c                     a a ] tR t^t oV 3R lt]R 4       t]R 4       t]R 4       t]R 4       t	]R 4       t
]R 4       t]R 4       t]R	 4       t]R
 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       tRtVtV ;t# )TestStencilc                0   < \         \        V `
  ! V/ VB  R # rY   )rR   r   rS   rT   rU   rp   rV   s   &*,r   rS   TestStencil.__init__   s    k4)4:6:r   c                d    R pR pR p^dpV P                  W1V4       V P                  W2V4       R# )zHTests whether the optional out argument to stencil calls works.
        c                     \         P                  ! V ^,          4      P                  W 34      p\         P                  ! V ^,          4      P                  W 34      p\	        WR7      pV# )r1   out)r|   arangereshapezerosr   nABs   &  r   test_with_out0TestStencil.test_stencil1.<locals>.test_with_out   sM    		!Q$''/AA&&v.A)AHr   c                 v    \         P                  ! V ^,          4      P                  W 34      p\        V4      pV# r1   )r|   r   r   r   r   s   &  r   test_without_out3TestStencil.test_stencil1.<locals>.test_without_out   /    		!Q$''/A"AHr   c                    \         P                  ! V ^,          4      P                  W 34      p\         P                  ! V ^,          4      P                  W 34      p\	        ^V ^,
          4       F{  p\	        ^V ^,
          4       Fa  pRWV^,           3,          W^,           V3,          ,           WV^,
          3,          ,           W^,
          V3,          ,           ,          W#V3&   Kc  	  K}  	  V# r1   r   r|   r   r   r   r'   r   r   r   r)   js   &    r   test_impl_seq0TestStencil.test_stencil1.<locals>.test_impl_seq   s    		!Q$''/AA&&v.A1a!e_q!a%A"a1q5k&'Aqk'245QhK'@BCE1H+'N OAdG ) % Hr   Nr   )rT   r   r   r   r   s   &    r   test_stencil1TestStencil.test_stencil1   s4    		
	 

=3

=A6r   c                   R pR p^dpV P                  W!V4       R pR p^dp^pV P                  V\        P                  \        P                  34      pV! W44      pVP	                  W44      p\
        P                  P                  Wv^R7       V P                  RVP                  P                  4       4       R p^pV P                  V\        P                  \        P                  \        P                  34      pVP	                  W4V4      p\
        P                  P                  Wv^R7       V P                  RVP                  P                  4       4       R p^pV P                  V\        P                  \        P                  \        P                  34      pVP	                  W4V4      p\
        P                  P                  Wv^R7       V P                  RVP                  P                  4       4       R	# )
zPTests whether the optional neighborhood argument to the stencil
decorate works.
c                 H    \         P                  ! V 4      p\        V4      pV# rY   )r|   r   r*   r   s   &  r   test_seq+TestStencil.test_stencil2.<locals>.test_seq   s    		!A"AHr   c                     \         P                  ! V 4      p\         P                  ! V 4      p\        ^\	        V4      4       F'  pR\        W^,
          V^,            4      ,          W#&   K)  	  V# )r"   r#   r|   r   r   r'   lensumr   r   r   r)   s   &   r   r   0TestStencil.test_stencil2.<locals>.test_impl_seq   sS    		!AA1c!f%Sq5Q00 &Hr   c                 z    \         P                  ! V 4      pR  p\        P                  ! W1) V33R7      ! W!4      pV# )c                     W) ,          p\        V) ^,           V^,           4       F  pW V,          ,          pK  	  RV,          # r   r#   r&   r   r9   r(   r)   s   &&  r   r*   DTestStencil.test_stencil2.<locals>.test_seq.<locals>.stencil2_kernel   s;    erAvq1u-AQ4KC .Sy r   r   r|   r   rm   r   )r   r9   r   r*   r   s   &&   r   r   r      s6    		!A!
 ob!WKHNAHr   c                     \         P                  ! V 4      p\         P                  ! V 4      p\        V\	        V4      V,
          4       F-  pR \        W$V,
          WA,           ^,            4      ,          W4&   K/  	  V# r#   r   )r   r9   r   r   r)   s   &&   r   r   r      sZ    		!AA1c!fqj)Sq5!344 *Hr   rx   rz   c                     \         P                  ! V 4      pR  p\        P                  ! WA) V33V) 3R7      ! W14      pV# )c                     W) ^,           ,          p\        V) ^,           V^,           4       F  pW V^,           ,          ,          pK  	  RV,          # r   r&   r   s   &&  r   r*   r      sC    QirAvq1u-AQU8OC .Sy r   r    index_offsetsr   r   r9   offsetr   r*   r   s   &&&   r   r   r      sB    		!A!
 ob!WK.4WK99:?AHr   c                     \         P                  ! V 4      pR  p\        P                  ! WA) V33V) 3R7      ! W14      pV# )c                 ^    R \         P                  ! W) ^,           V^,            4      ,          # r   )r|   r   )r   r9   s   &&r   r*   r      s$    RVVAb1fQUO444r   r   r   r   s   &&&   r   r   r      s@    		!A5ob!WK.4WK99:?AHr   N)r   rf   r   intpr{   r|   r}   r~   r   r   r   )	rT   r   r   r   r9   rr   r   r   r   s	   &        r   test_stencil2TestStencil.test_stencil2   s   
	
	 

=A.			 &&x%**ejj1IJ &**10


&&}&J&(C(C(EF
	 &&x%**ejj27**2> ?**18


&&}&J&(C(C(EF	 &&x%**ejj27**2> ?**18


&&}&J&(C(C(EFr   c                   R p\        V4      p\        VRR7      p^pV! V4      pV! V4      pV! V4      pT P                  VR,          R8H  ;'       d    VR,          R8H  4       T P                  VR,          R8H  ;'       d    VR,          R8H  4       T P                  VR,          R8H  ;'       d    VR,          R8H  4       R# )zqTests whether a non-zero optional cval argument to the stencil
decorator works.  Also tests integer result type.
c                 v    \         P                  ! V ^,          4      P                  W 34      p\        V4      pV# r   )r|   r   r   r2   r   s   &  r   r   +TestStencil.test_stencil3.<locals>.test_seq  r   r   TrI   r+   Nr=   )   r   )r   
assertTrue)rT   r   	test_njittest_parr   seq_resnjit_respar_ress   &       r   test_stencil3TestStencil.test_stencil3   s    
	
 N	401+Q<1+,EE#1EF#-GG(4.C2GH,EE#1EFr   c                :    R pR p^dpV P                  W!V4       R# )z1Tests standard indexing with a 1d array.
        c                 P    \         P                  ! V 4      pR R.p\        W4      pV#       @      @)r|   r   rC   r   r   r   Cs   &   r   r   ?TestStencil.test_stencil_standard_indexing_1d.<locals>.test_seq  s'    		!Ac
A1!7AHr   c                     \         P                  ! V 4      pR R.p\         P                  ! V 4      p\        ^V 4       F=  pW^,
          ,          V^ ,          ,          W,          V^,          ,          ,           W4&   K?  	  V# r   r|   r   r   r'   )r   r   r   r   r)   s   &    r   r   DTestStencil.test_stencil_standard_indexing_1d.<locals>.test_impl_seq  s^    		!Ac
AA1a[Qx!A$!4 !Hr   Nr   rT   r   r   r   s   &   r   !test_stencil_standard_indexing_1d-TestStencil.test_stencil_standard_indexing_1d  s!    		 

=A.r   c                :    R pR p^pV P                  W!V4       R# )zLTests standard indexing with a 2d array and multiple stencil calls.
        c                     \         P                  ! V ^,          4      P                  W 34      p\         P                  ! R4      p\	        W4      p\	        W24      pV# )r1   rw   rw   )r|   r   r   onesrE   )r   r   r   r   Ds   &    r   r   ?TestStencil.test_stencil_standard_indexing_2d.<locals>.test_seq,  sF    		!Q$''/AA1!7A1!7AHr   c                 L   \         P                  ! V ^,          4      P                  W 34      p\         P                  ! R4      p\         P                  ! V ^,          4      P                  W 34      p\         P                  ! V ^,          4      P                  W 34      p\        ^V ^,
          4       F  p\        ^V ^,
          4       F  pWV^,           3,          VR,          ,          W^,           V3,          VR,          ,          ,           WV^,
          3,          VR,          ,          ,           W^,
          V3,          VR,          ,          ,           W5V3&   K  	  K  	  \        ^V ^,
          4       F  p\        ^V ^,
          4       F  pW5V^,           3,          VR,          ,          W5^,           V3,          VR,          ,          ,           W5V^,
          3,          VR,          ,          ,           W5^,
          V3,          VR,          ,          ,           WEV3&   K  	  K  	  V# )r1   r   r   r   r   r   )r|   r   r   r   r   r'   )r   r   r   r   r   r)   r   s   &      r   r   DTestStencil.test_stencil_standard_indexing_2d.<locals>.test_impl_seq3  s   		!Q$''/AAA&&v.AA&&v.A1a!e_q!a%A AE{QtW4qQ{QtW7LL AE{QuX5 689a%(ah8N OAdG ) % 1a!e_q!a%A AE{QtW4qQ{QtW7LL AE{QuX5 689a%(ah8N OAdG ) % Hr   Nr   r   s   &   r   !test_stencil_standard_indexing_2d-TestStencil.test_stencil_standard_indexing_2d(  s!    		  

=A.r   c                d    R pR p^pV P                  W!V4       R pV P                  W!V4       R# )z=Tests whether multiple inputs of the same size work.
        c                     \         P                  ! V ^,          4      P                  W 34      p\         P                  ! V ^,          4      P                  W 34      p\        W4      pV# r   )r|   r   r   r6   r   s   &   r   r   :TestStencil.test_stencil_multiple_inputs.<locals>.test_seqJ  sM    		!Q$''/A		!Q$''/A-a3AHr   c                    \         P                  ! V ^,          4      P                  W 34      p\         P                  ! V ^,          4      P                  W 34      p\         P                  ! V ^,          4      P                  W 34      p\	        ^V ^,
          4       F  p\	        ^V ^,
          4       F  pRWV^,           3,          W^,           V3,          ,           WV^,
          3,          ,           W^,
          V3,          ,           W$V^,           3,          ,           W$^,           V3,          ,           W$V^,
          3,          ,           W$^,
          V3,          ,           ,          W4V3&   K  	  K  	  V# r   r   )r   r   r   r   r)   r   s   &     r   r   ?TestStencil.test_stencil_multiple_inputs.<locals>.test_impl_seqP  s'   		!Q$''/A		!Q$''/AA&&v.A1a!e_q!a%A"a!e8qQ{2AX;')*q5!85AX;')*q5!85 AX;' *+q5!856AdG ) % Hr   c                     \         P                  ! V ^,          4      P                  W 34      p\         P                  ! V ^,          4      P                  W 34      pRp\        WV4      pV# r   )r|   r   r   r:   )r   r   r   r9   r   s   &    r   r   r   a  sT    		!Q$''/A		!Q$''/AA1!:AHr   Nr   r   s   &   r   test_stencil_multiple_inputs(TestStencil.test_stencil_multiple_inputsF  s6    		 

=A.	 	

=A.r   c                :    R  pR p^pV P                  WV4       R# )c                    \         P                  ! V ^,          4      P                  W 34      pV ^,          \         P                  ! V ^,          4      P                  W 34      ,
          p\         P                  ! V \         P                  R7      p\         P
                  ! W 3VP                  R7      p\        ^ V 4       F>  p\        ^ V 4       F+  pW5V3,          '       d   WV3,          M	W%V3,          WEV3&   K-  	  K@  	  V# r1   dtype)r|   r   r   eyebool_r   r  r'   )r   r   r   SOr)   r   s   &      r   r   ;TestStencil.test_stencil_mixed_types.<locals>.test_impl_seqk  s    		!q&!))1&1AQ16*22A6::Aq)A!qww/A1a[q!A)*a4a1ga1gAdG % ! Hr   c                 :   \         P                  ! V ^,          4      P                  W 34      pV ^,          \         P                  ! V ^,          4      P                  W 34      ,
          p\         P                  ! V \         P                  R7      p\        WV4      pV# r   )r|   r   r   r  r  r?   )r   r   r   r  r  s   &    r   r   6TestStencil.test_stencil_mixed_types.<locals>.test_sequ  sn    		!q&!))1&1AQ16*22A6::Aq)A5aA>AHr   Nr   )rT   r   r   r   s   &   r   test_stencil_mixed_types$TestStencil.test_stencil_mixed_typesi  s!    		 

=A.r   c                d    R pR pR p^dpV P                  W1V4       V P                  W2V4       R# )z&Tests 2D numba.stencil calls.
        c                     \         P                  ! V ^,          4      P                  W 34      p\         P                  ! V ^,          4      P                  W 34      p\        P
                  ! R 4      ! WR7       V# )r1   c                 v    R V R,          V R,          ,           V R,          ,           V R,          ,           ,          # r   r   r   s   &r   <lambda>CTestStencil.test_stencil_call.<locals>.test_impl1.<locals>.<lambda>  s-    DAdGag,=%,H./h-7 %8r   r   r|   r   r   r   rm   r   r   s   &  r   
test_impl11TestStencil.test_stencil_call.<locals>.test_impl1  s]    		!Q$''/AA&&v.AMM 8 99:CHr   c                     \         P                  ! V ^,          4      P                  W 34      p\         P                  ! V ^,          4      P                  W 34      pR p\        P
                  ! V4      ! V4      pV# )r1   c                 v    R V R,          V R,          ,           V R,          ,           V R,          ,           ,          # r   r   r   s   &r   sf=TestStencil.test_stencil_call.<locals>.test_impl2.<locals>.sf  s,    qw401U8;ahFGGr   r  )r   r   r   r  s   &   r   
test_impl21TestStencil.test_stencil_call.<locals>.test_impl2  s\    		!Q$''/AA&&v.AHb!!$AHr   c                    \         P                  ! V ^,          4      P                  W 34      p\         P                  ! V ^,          4      P                  W 34      p\	        ^V ^,
          4       F{  p\	        ^V ^,
          4       Fa  pRWV^,           3,          W^,           V3,          ,           WV^,
          3,          ,           W^,
          V3,          ,           ,          W#V3&   Kc  	  K}  	  V# r   r   r   s   &    r   r   4TestStencil.test_stencil_call.<locals>.test_impl_seq  s    		!Q$''/AA&&v.A1a!e_q!a%A"a1q5kA!eQhK&?()QU('467Aqk'B CAdG ) % Hr   Nr   )rT   r  r  r   r   s   &    r   test_stencil_callTestStencil.test_stencil_call  s4    			 

=a0

=a0r   c                :    R pR p^dpV P                  W!V4       R# )z&Tests 1D numba.stencil calls.
        c                     \         P                  ! V 4      p\         P                  ! V 4      p\        P                  ! R  4      ! WR7       V# )c                 Z    R V R,          V ^ ,          ,           V ^,          ,           ,          # r#   r   r   r   s   &r   r  ETestStencil.test_stencil_call_1D.<locals>.test_impl.<locals>.<lambda>  s    C1R51Q4<!A$+>$?r   r   r|   r   r   rm   r   r   s   &  r   	test_impl3TestStencil.test_stencil_call_1D.<locals>.test_impl  s3    		!AAMM?@JHr   c                    \         P                  ! V 4      p\         P                  ! V 4      p\        ^V ^,
          4       F<  pRW^,
          ,          W,          ,           W^,           ,          ,           ,          W#&   K>  	  V# r   r   r   s   &   r   r   7TestStencil.test_stencil_call_1D.<locals>.test_impl_seq  sX    		!AA1a!e_aAhoa%89 %Hr   Nr   rT   r#  r   r   s   &   r   test_stencil_call_1D TestStencil.test_stencil_call_1D  s!    		 

=Q/r   c                   R pR pR pR pR p^dpV P                  V\        P                  34      pV P                  V\        P                  34      pV P                  V\        P                  34      p	V P                  V\        P                  34      p
V! V4      pVP                  V4      pVP                  V4      pV	P                  V4      pV
P                  V4      p\        P
                  P                  W^R7       \        P
                  P                  W^R7       \        P
                  P                  W^R7       \        P
                  P                  W^R7       V P                  \        4      ;_uu_ 4       pV! ^4       RRR4       V P                  R\        XP                  4      4       V P                  \        \        34      ;_uu_ 4       p\        V4      ! ^4       RRR4       V P                  R\        VP                  4      4       R#   + '       g   i     L; i  + '       g   i     LJ; i)	zTests numba.stencil call that has an index that can be inferred as
constant from a unary expr. Otherwise, this would raise an error since
neighborhood length is not specified.
c                     \         P                  ! V 4      p\         P                  ! V 4      p^p\        P                  ! R 4      ! WVR7       V# )r   c                 X    R W) ,          V ^ ,          ,           W,          ,           ,          # r   r   r   cs   &&r   r  ITestStencil.test_stencil_call_const.<locals>.test_impl1.<locals>.<lambda>  s    saeadlQT.A'Br   r   r"  r   r   r   r.  s   &   r   r  7TestStencil.test_stencil_call_const.<locals>.test_impl1  s:    		!AAAMMBCAaPHr   c                     \         P                  ! V 4      p\         P                  ! V 4      p^p\        P                  ! R 4      ! WVR7       V# )r1   c                 t    R V ^V,
          ,          V ^ ,          ,           W^,
          ,          ,           ,          # r   r   r-  s   &&r   r  ITestStencil.test_stencil_call_const.<locals>.test_impl2.<locals>.<lambda>  s$    SAa!eHqtOaAh$>?r   r   r"  r0  s   &   r   r  7TestStencil.test_stencil_call_const.<locals>.test_impl2  sA    		!AAAMM?AAB1NHr   c                     \         P                  ! V 4      p\         P                  ! V 4      p^p\        P                  ! R 4      ! WVR7       V# )r1   c                 t    R W) ^,           ,          V ^ ,          ,           W^,
          ,          ,           ,          # r   r   r-  s   &&r   r  ITestStencil.test_stencil_call_const.<locals>.test_impl3.<locals>.<lambda>  s%    SAb1fI!$4qQx$?@r   r   r"  r0  s   &   r   
test_impl37TestStencil.test_stencil_call_const.<locals>.test_impl3  sA    		!AAAMM@BBCAOHr   c                     \         P                  ! V 4      p\         P                  ! V 4      p^p^p\        P                  ! R 4      ! WVVR7       V# )r   c                 t    R W) V,           ,          V ^ ,          ,           WV,
          ,          ,           ,          # r   r   )r   r.  ds   &&&r   r  ITestStencil.test_stencil_call_const.<locals>.test_impl4.<locals>.<lambda>  s%    saQi!A$&6q5&ABr   r   r"  )r   r   r   r=  r.  s   &    r   
test_impl47TestStencil.test_stencil_call_const.<locals>.test_impl4  sK    		!AAAAMMBDDE!HIK Hr   c                    \         P                  ! V 4      p\         P                  ! V 4      p^p\        ^V ^,
          4       F<  pRWV,
          ,          W,          ,           WV,           ,          ,           ,          W$&   K>  	  V# r   r   )r   r   r   r.  r)   s   &    r   r   :TestStencil.test_stencil_call_const.<locals>.test_impl_seq  s]    		!AAA1a!e_aAhoa%89 %Hr   rx   NzDstencil kernel index is not constant, 'neighborhood' option required)rf   r   r   r{   r|   r}   r~   assertRaisesr   r   str	exceptionr   r   )rT   r  r  r9  r?  r   r   cpfunc1cpfunc2cpfunc3cpfunc4r   parfor_output1parfor_output2parfor_output3parfor_output4es   &                r   test_stencil_call_const#TestStencil.test_stencil_call_const  s   					 ''
UZZMB''
UZZMB''
UZZMB''
UZZMB # ,,Q/ ,,Q/ ,,Q/ ,,Q/


&&~&K


&&~&K


&&~&K


&&~&K //1qM 0 	 78;AKK8H	J ?@@AQ A 	 78;AKK8H	J 0/ A@s   	HH0H-	0I 	c                    R pV P                  V\        P                  R,          3RR7      pV P                  RVP                  P                  4       4       R# )zFTests 1D numba.stencil calls without parallel translation
turned off.
c                 <    \         P                  ! R  4      ! V 4      # )c                 Z    R V R,          V ^ ,          ,           V ^,          ,           ,          # r   r   r   s   &r   r  JTestStencil.test_stencil_parallel_off.<locals>.test_impl.<locals>.<lambda>
  s    3!B%!A$,12E+Fr   )rm   r   )r   s   &r   r#  8TestStencil.test_stencil_parallel_off.<locals>.test_impl	  s    ==!FGJJr   NNNFr   rz   N)rf   rm   float64assertNotInr   r   )rT   r#  rr   s   &  r   test_stencil_parallel_off%TestStencil.test_stencil_parallel_off  sP    
	K &&y5==3C2E/4 ' 6)6>>+F+F+HIr   c                    \        RR7      R 4       pR p\        P                  ! ^
4      p\        P                  P	                  V! V4      V! V4      4       R# )z6Tests whether nested stencil decorator works.
        TrI   c                 .    \         R  4       pV! V 4      pV# )c                 &    ^pW) ^,           ,          # r   r   r-  s   & r   fun@TestStencil.test_stencil_nested1.<locals>.test_impl.<locals>.fun  s    ay r   rW  )r   r_  r   s   &  r   r#  3TestStencil.test_stencil_nested1.<locals>.test_impl  s$    ! ! AAHr   c                     \         P                  ! \        V 4      \        R 7      p\	        ^\        V 4      4       F  pW^,
          ,          W&   K  	  V# )r   )r|   r   r   intr'   )r   r   r)   s   &  r   r   7TestStencil.test_stencil_nested1.<locals>.test_impl_seq  s=    Qs+A1c!f%Qx &Hr   N)r   r|   r   r}   assert_equalr'  s   &   r   test_stencil_nested1 TestStencil.test_stencil_nested1  sL     
t		 
		 IIbM


	!mA.>?r   c                L  a ^R.pR pV F  p\         P                  ! W#R7      oV3R lp\        P                  ! ^4      P	                  R4      p\        P
                  ! VR4      pW6R&   \        P                  ! V4      pS! WWR7       \        P                  P                  Wv4       V P                  V4      pV F2  p	V	P                  4       p
\        P                  P                  W4       K4  	  K  	  \         P                  ! VRR7      oV3R lp\        P                  ! ^4      P	                  R4      p\        P                  ! V4      pV P                  \        4      ;_uu_ 4       pS! WWR7       RRR4       R	pV P                  V\        XP                  4      4       V P                   V P"                  3 F  p V! VR4       \%        R
4      h	  R#   + '       g   i     Lk; i  \        \&        3 d'   pT P                  T\        T4      4        Rp?Ka  Rp?ii ; i)z.Issue #3518, out kwarg did not work with cval.r   c                 0    V R,          V R,          ,
          # r   r=   r   r   r   s   &r   kernel1TestStencil.test_out_kwarg_w_cval.<locals>.kernel,  s    dGag%&r   r,   c                     < \         P                  ! ^4      P                  R4      p \         P                  ! V 4      pS! WR7       V#    r   rw   r   r|   r   r   	ones_liker   ret
stencil_fns     r   wrapped2TestStencil.test_out_kwarg_w_cval.<locals>.wrapped2  s5    IIbM))&1ll1o1&
r   r                 ?c                     < \         P                  ! ^4      P                  R4      p \         P                  ! V 4      pS! WR7       V# rn  rq  rs  s     r   rv  rw  I  s5    		"%%f-A,,q/Cq"Jr   Nz-cval type does not match stencil return type.zExpected error was not raisedrp  r%   r   rV  r   )rm   r   r|   r   r   	full_likerr  r}   r~   rt   r{   rC  r   r   rD  rE  ri   rf   AssertionErrorr   )rT   
const_valsrk  	const_valrv  r   r   rt  implsimplgotrN  msgcompilerru  s   &             @r   test_out_kwarg_w_cval!TestStencil.test_out_kwarg_w_cval&  s    X
	' $Iv>J 		"%%f-A||Ar*H'UO,,q/Cq"JJ**39 $$W.E&&(

..s= ' $0 ]]63
	 IIbM!!&)ll1o//1q" 0=c3q{{+,**D,A,ABHF$ %%DEE C 0/ $]3 +c3q6**+s$   ,
G	G,G)	,H#=HH#c                n  a
 \         P                  \         P                  \         P                  ) \        R4      \        R4      ) 3 F  pR p\        P
                  ! W!R7      o
V
3R lp\         P                  ! R4      P                  R4      p\         P                  ! VR	4      pWR
&   \         P                  ! V4      pS
! WFR7       \         P                  P                  We4       V P                  V4      pV F2  pVP                  4       p	\         P                  P                  W4       K4  	  K  	  R# )LTest issue #7286 where the cval is a np attr/string-based numerical
constantinfc                 0    V R,          V R,          ,
          # rj  r   r   s   &r   rk  9TestStencil.test_out_kwarg_w_cval_np_attr.<locals>.kernelc  s    $!D')*r   r,   c                     < \         P                  ! R 4      P                  R4      p \         P                  ! V 4      pS! WR7       V# )      (@r   rp  rq  rs  s     r   rv  :TestStencil.test_out_kwarg_w_cval_np_attr.<locals>.wrappedh  s5    IIcN**62ll1o1&
r   r  r   Nrp  r%   rz  )r|   nanr  floatrm   r   r   r   r{  rr  r}   r~   rt   r{   )rT   r-   rk  rv  r   r   rt  r  r  r  ru  s   &         @r   test_out_kwarg_w_cval_np_attr)TestStencil.test_out_kwarg_w_cval_np_attr^  s     VVRVVbffWeElU5\MJD+ v9J 		#&&v.A||Ar*H"UO,,q/Cq"JJ**39 $$W.E&&(

..s= - Kr   r   )r   r   r   r   rS   skip_unsupportedr   r   r   r   r   r   r	  r  r(  rO  rZ  rf  r  r  r   r   r   r   s   @@r   r   r      s<    ; 7 76 RG RGh G G* / /* / /:  /  /D / /* 1 1@ 0 0& MJ MJ^ 	J 	J @ @* 5F 5Fn > > >r   r   c                   h  a a ] tR tRt oV 3R ltR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R  t"R! t#R" t$R# t%R$ t&R% t'R& t(R' t)]*PV                  ! R(4      R) 4       t,R* t-R+ t.R, t/R- t0R. t1R/ t2R0 t3R1 t4R2 t5R3 t6R4 t7R5 t8R6 t9R7 t:R8 t;R9 t<R: t=R; t>R< t?]*PV                  ! R=4      R> 4       t@R? tAR@ tBRA tCRB tDRC tERD tFRE tGRF tHRG tIRH tJRI tKRJ tLRK tMRL tNRM tORN tPRO tQRP tRRQ tSRR tTRS tURT tVRU tWRV tXRW tYRX tZRY t[RZ t\R[ t]R\ t^R] t_R^ t`R_ taR` tbRa tcRb tdRc teRd tfRe tgRf thRg tiRh tjRi tkRj tlRk tmRl tnRm to]*PV                  ! Rn4      Ro 4       tpRp tq]*PV                  ! Rn4      Rq 4       trRr tsRsttVtuV ;tv# )tTestManyStencilsi}  c                0   < \         \        V `
  ! V/ VB  R # rY   )rR   r  rS   r   s   &*,r   rS   TestManyStencils.__init__  s    .??r   c           	     
  aaa VP                  R\        4       4      pVP                  R4      pRp. o. o\        R!VV3R ll4       p\        V\        4      '       d   VR,          p	VR,          p
VR,          pMTp	Tp
TpR	V/pVP	                  V4       RpV! V	R
4      ;_uu_ 4        \        R"/ VB oS! V!  pRRR4       \        V4      ^8X  d   V3R lpMI\        V4      ^8X  d   V3R lpM2\        V4      ^8X  d   V3R lpM\        R\        V4      ,          4      h\        V Uu. uF  p\        P                  ! V4      NK  	  up4      pRpV! V
R4      ;_uu_ 4        V P                  VV4      pVP                  ! V!  pRRR4       RpV! VR4      ;_uu_ 4        V P                  VV4      pVP                  ! V!  pRRR4       V'       d%   \        RV4       \        RV4       \        RV4        V	'       gH   \        P                   P#                  W^R7       V P%                  VP&                  VP&                  4        T
'       gI   \        P                   P#                  TT^R7       T P%                  TP&                  TP&                  4        T'       gu   \        P                   P#                  TT^R7       T P%                  TP&                  TP&                  4        T P1                  RXP2                  P5                  4       4       M T'       d   \        R4       S'       d+   S Uu. uF  pRT,          NK  	  pp\9        RT,          4      hS'       dl   S Uu. uF  pRT^ ,          ,          NK  	  ppRP;                  S Uu. uF  pRT,          NK  	  up4      pRT,          pR T,          p\9        TT,           4      hR#   + '       g   i     EL!; iu upi   + '       g   i     ELm; i  + '       g   i     ELC; i  \(         dS   pSP+                  R
\-        T4      : R\/        T4      : 234       \        R\/        T4      ,          4        Rp?EL"Rp?ii ; i  \(         dS   pSP+                  R\-        T4      : R\/        T4      : 234       \        R\/        T4      ,          4        Rp?EL1Rp?ii ; i  \6         d    Rp\7        T4      hi ; i  \(         dS   pSP+                  R\-        T4      : R\/        T4      : 234       \        R\/        T4      ,          4        Rp?EL/Rp?ii ; iu upi u upi u upi )#a  
For a given kernel:

The expected result is available from argument `expected`.

The following results are then computed:
* from a pure @stencil decoration of the kernel.
* from the njit of a trivial wrapper function around the pure @stencil
  decorated function.
* from the njit(parallel=True) of a trivial wrapper function around
   the pure @stencil decorated function.

The results are then compared.
re   expected_exceptionFNc           	   3   `  <"    R x  V e   SP                  V4       R # R #   \         d   pT eD   \        T R4      '       d   T MT .pRpT F  pT\        Y%4      ,          pK  	  T'       g   h  R p?R # SP                  T\	        T4      : R\        T4      : 234        R p?R # R p?ii ; i5iN__iter__F: append	Exceptionhasattr
isinstancetyperD  extyusecaserN  lextyfoundexshould_failshould_not_fails   &&    r   errorhandler=TestManyStencils.check_against_expected.<locals>.errorhandler       0 #&&w/ $  -#$+D*$=$=DD8E!E#A!22 $  ! $** q'3q6#+ ,- --<   B." B.B+?B&-B&.B.4,B& B.&B++B.r   r   parforfunc_or_mode@stencilc                    < S! V 4      # rY   r   arg0stencil_func_impls   &r   wrap_stencil=TestManyStencils.check_against_expected.<locals>.wrap_stencil      (..r   c                    < S! W4      # rY   r   r  arg1r  s   &&r   r  r        (44r   c                    < S! WV4      # rY   r   r  r  arg2r  s   &&&r   r  r        (T::r   +Up to 3 arguments can be provided, found %sparforsz
@stencil_output:
z
njit_output:
z
parfor_output:
rx   r  z@stencil failed: %sz@njit failed: %srz   z*Could not find `@do_scheduling` in LLVM IRz@njit(parallel=True) failed: %sz

%sMThe following implementations should have raised an exception but did not:
%s %s: Message: %s

NThe following implementations should not have raised an exception but did:
%s
Errors were:

%sNNr   )getdictr   r  updater   r   
ValueErrorrl   rm   rn   ri   r{   rf   printr|   r}   r~   assertEqualr  r  r  r  rD  r   r   r   r|  RuntimeErrorjoin)rT   ro   r   rU   rp   re   r  DEBUG_OUTPUTr  
stencil_exnjit_ex	parfor_exstencil_argsstencilfunc_outputr  rq   r^   r   wrapped_cfuncr   wrapped_cpfuncrN  r  r  errsstr1str2r  r  r  s   &&&*,                      @@@r   check_against_expected'TestManyStencils.check_against_expected  s     **Y/#ZZ(<=   
	0 
	0& ($//+I6J(0G*84I+J(G*I&/G$!*j11 ' 7, 7!2D!9 2 t9>/Y!^5Y!^; =D	  d3dU\\!_d34'6** --lC@M'33T:K +
 )Y//!22<EN*66=M 0
 (*<=$k2&6		2

..&! / =  1C1I1IJ	/

..1 / 6  1B1BC
	>

..!8Q / 8  1D1DE.MM(&..;;=? " &M%01[4!88[C1 !GJM N O O *9:/QTAaD[[/E:77'68'6! 2 '68 9D/167D'$.Dtd{++ k 211( 4 +** 0//  	2""!Wc!f& '( '#a&011		2  	/""FQQ,H#IJ$s1v-..	/ & .FC(--.  	>""!Wc!f& '( 3c!f<==		> 2
 ;8s   'O*O%##O*!#O>9P AP 	Q2 AQ2 S. "AS. +*S 6U(UUO"	*O;	>P	Q/AQ**Q/2S=AS

SS++S. .U9AUUc                p  aaa VP                  R\        4       4      pVP                  R4      p. o. o\        RVV3R ll4       p\        V\        4      '       d   VR,          pVR,          pVR,          p	MTpTpTp	RV/p
V
P	                  V4       V! VR	4      ;_uu_ 4        \        R/ V
B oS! V!   RRR4       \        V4      ^8X  d   V3R
 lpMI\        V4      ^8X  d   V3R lpM2\        V4      ^8X  d   V3R lpM\        R\        V4      ,          4      h\        V Uu. uF  p\        P                  ! V4      NK  	  up4      pV! VR4      ;_uu_ 4        V P                  W4      pVP                  ! V!   RRR4       V! V	R4      ;_uu_ 4        V P                  W4      pVP                  ! V!   RRR4       S'       d+   S Uu. uF  pRV,          NK  	  pp\        RV,          4      hS'       dl   S Uu. uF  pRV^ ,          ,          NK  	  ppRP                  S Uu. uF  pRV,          NK  	  up4      pRV,          pRV,          p\        VV,           4      hR#   + '       g   i     EL; iu upi   + '       g   i     EL; i  + '       g   i     L; iu upi u upi u upi )a  
For a given kernel:

The expected result is computed from a pyStencil version of the
stencil.

The following results are then computed:
* from a pure @stencil decoration of the kernel.
* from the njit of a trivial wrapper function around the pure @stencil
  decorated function.
* from the njit(parallel=True) of a trivial wrapper function around
   the pure @stencil decorated function.

The results are then compared.
re   r  Nc           	   3   `  <"    R x  V e   SP                  V4       R # R #   \         d   pT eD   \        T R4      '       d   T MT .pRpT F  pT\        Y%4      ,          pK  	  T'       g   h  R p?R # SP                  T\	        T4      : R\        T4      : 234        R p?R # R p?ii ; i5ir  r  r  s   &&    r   r  7TestManyStencils.check_exceptions.<locals>.errorhandler@  r  r  r   r   r  r  r  c                    < S! V 4      # rY   r   r  s   &r   r  7TestManyStencils.check_exceptions.<locals>.wrap_stencilg  r  r   c                    < S! W4      # rY   r   r  s   &&r   r  r  j  r  r   c                    < S! WV4      # rY   r   r  s   &&&r   r  r  m  r  r   r  r  r  r  r  r  r  r  r  r   )r  r  r   r  r  r   r   r  rl   rm   rn   ri   r{   rf   r  r  )rT   ro   rU   rp   re   r  r  r  r  r  r  r  rq   r^   r  r  r  r  r  r  r  r  r  r  s   &&*,                 @@@r   check_exceptions!TestManyStencils.check_exceptions(  s     **Y/#ZZ(<=  
	0 
	0& ($//+I6J(0G*84I+J(G*I&/G$*j11 ' 7, 7t$ 2 t9>/Y!^5Y!^; =D	  d3dU\\!_d34'6** --l@M%%t, +
 )Y//!22<EN&&- 0
 %01[4!88[C1 !GJM N O O *9:/QTAaD[[/E:77'68'6! 2 '68 9D/167D'$.Dtd{++ K 211( 4***
 0/ 2
 ;8s<   #I)&I="J"JJ) J.*J3)I:	J	J&	c                |    \        4       pR VR&   R VR&   R VR&   R VR&   VP                  4        F	  w  r4WBV&   K  	  V# )N	pyStencilr   r   r  )r  items)rT   rp   r=  kvs   &,   r   exception_dictTestManyStencils.exception_dict  sK    F+)&	(LLNDAaD #r   c                   VP                  R 4      pV^ ,          P                  pVe%   \        V4      \        V4      8w  d   \        R4      hVR,           F2  p\	        VR4      '       g   K  WEP                  8w  g   K)  \        R4      h	  R# )r    NzInvalid neighborhood supplied:r   NNshapez#Input stencil arrays do not commute)r  r  r   r  r  )rT   rU   rp   r    
init_shaperq   s   &*,   r   check_stencil_arrays%TestManyStencils.check_stencil_arrays  ss    zz.1!W]]
#:#l"33 !@AAbAq'""($%JKK r   c                   a a R oVV 3R lp\         P                  ! ^4      P                  ^^4      pV! VR4      pS P                  SW24       R# )z	rel indexc                     V R,          # r<   r   r   s   &r   rk  -TestManyStencils.test_basic00.<locals>.kernel      T7Nr   c                 \  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          4       FC  p\        ^ V P                  ^ ,          4       F  pW^ ,           V^ ,           3,          W5V3&   K!  	  KE  	  V# r   r   r  r|   fullr  r  r'   r   r    _TestManyStencils__retdtype_TestManyStencils__b0_TestManyStencils__b_TestManyStencils__ark  rT   s   &&    r   __kernel/TestManyStencils.test_basic00.<locals>.__kernel  s    %%a%CJ77177AT*-=>DQ
+ AGGAJ/C%&Qwa'7%8DcN 0 , Kr   Nr|   r   r   r  rT   _TestManyStencils__kernelr   r   rk  s   f   @r   test_basic00TestManyStencils.test_basic00  sE    		 IIbM!!!Q'At$##FH8r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      pV! VR4      pS P                  SW24       R# )rel index add constc                     V R,          # r   r   r   r   s   &r   rk  -TestManyStencils.test_basic01.<locals>.kernel  r  r   c                 j  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          ^,
          4       FC  p\        ^ V P                  ^ ,          4       F  pW^ ,           V^,           3,          W5V3&   K!  	  KE  	  V# r  r  r  s   &&    r   r  /TestManyStencils.test_basic01.<locals>.__kernel      %%a%CJ77177AT*-=>DQ
Q/ AGGAJ/C%&Qwa'7%8DcN 0 0 Kr   r  Nr  r  s   f   @r   test_basic01TestManyStencils.test_basic01  E    		 IIcN""1a(At$##FH8r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      pV! VR4      pS P                  SW24       R# )r	  c                     V R,          # )r   r   r   r   s   &r   rk  -TestManyStencils.test_basic02.<locals>.kernel      U8Or   c                 \  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^V P                  ^,          4       FC  p\        ^ V P                  ^ ,          4       F  pW^ ,           VR,           3,          W5V3&   K!  	  KE  	  V# r   r   r   r  r  s   &&    r   r  /TestManyStencils.test_basic02.<locals>.__kernel  s    %%a%CJ77177AT*-=>DQ
+ AGGAJ/C%&Qwb'8%9DcN 0 , Kr   r  Nr  r  s   f   @r   test_basic02TestManyStencils.test_basic02  E    		 IIcN""1a(At$##FH8r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      pV! VR4      pS P                  SW24       R# )r	  c                     V R,          # )r   r   r   r   s   &r   rk  -TestManyStencils.test_basic03.<locals>.kernel  r  r   c                 j  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          4       FJ  p\        ^ V P                  ^ ,          ^,
          4       F  pW^,           V^ ,           3,          W5V3&   K!  	  KL  	  V# r  r  r  s   &&    r   r  /TestManyStencils.test_basic03.<locals>.__kernel  s    %%a%CJ77177AT*-=>DQ
+ AGGAJN3C%&Qwa'7%8DcN 4 , Kr   r  Nr  r  s   f   @r   test_basic03TestManyStencils.test_basic03  r  r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      pV! VR4      pS P                  SW24       R# )r	  c                     V R,          # )r   r   r   r   s   &r   rk  -TestManyStencils.test_basic04.<locals>.kernel  r  r   c                 \  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          4       FC  p\        ^V P                  ^ ,          4       F  pWR,           V^ ,           3,          W5V3&   K!  	  KE  	  V# r  r  r  s   &&    r   r  /TestManyStencils.test_basic04.<locals>.__kernel  s    %%a%CJ77177AT*-=>DQ
+ AGGAJ/C%&Rxq'8%9DcN 0 , Kr   r  Nr  r  s   f   @r   test_basic04TestManyStencils.test_basic04  r  r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      pV! VR4      pS P                  SW24       R# )r	  c                     V R,          # )r   r   r   r   r   s   &r   rk  -TestManyStencils.test_basic05.<locals>.kernel  r  r   c                 j  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          ^,
          4       FC  p\        ^V P                  ^ ,          4       F  pWR,           V^,           3,          W5V3&   K!  	  KE  	  V# r  r  r  s   &&    r   r  /TestManyStencils.test_basic05.<locals>.__kernel      %%a%CJ77177AT*-=>DQ
Q/ AGGAJ/C%&Rxq'8%9DcN 0 0 Kr   r  Nr  r  s   f   @r   test_basic05TestManyStencils.test_basic05  r  r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      pV! VR4      pS P                  SW24       R# )r	  c                     V R,          # )r   rB   r   r   s   &r   rk  -TestManyStencils.test_basic06.<locals>.kernel)  r  r   c                 j  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^V P                  ^,          4       FJ  p\        ^ V P                  ^ ,          ^,
          4       F  pW^,           VR,           3,          W5V3&   K!  	  KL  	  V# r  r  r  s   &&    r   r  /TestManyStencils.test_basic06.<locals>.__kernel/  s    %%a%CJ77177AT*-=>DQ
+ AGGAJN3C%&Qwb'8%9DcN 4 , Kr   r  Nr  r  s   f   @r   test_basic06TestManyStencils.test_basic06'  r  r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      pV! VR4      pS P                  SW24       R# )r	  c                     V R,          # )r   r   r   r   r   s   &r   rk  -TestManyStencils.test_basic07.<locals>.kernel?  r  r   c                 x  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          ^,
          4       FJ  p\        ^ V P                  ^ ,          ^,
          4       F  pW^,           V^,           3,          W5V3&   K!  	  KL  	  V# r  r  r  s   &&    r   r  /TestManyStencils.test_basic07.<locals>.__kernelE  s    %%a%CJ77177AT*-=>DQ
Q/ AGGAJN3C%&Qwa'7%8DcN 4 0 Kr   r  Nr  r  s   f   @r   test_basic07TestManyStencils.test_basic07=  r  r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      pV! VR4      pS P                  SW24       R# )r	  c                     V R,          # )r   r   r   r   r   s   &r   rk  -TestManyStencils.test_basic08.<locals>.kernelU      V9r   c                 \  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^V P                  ^,          4       FC  p\        ^V P                  ^ ,          4       F  pWR,           VR,           3,          W5V3&   K!  	  KE  	  V# r  r  r  s   &&    r   r  /TestManyStencils.test_basic08.<locals>.__kernel[      %%a%CJ77177AT*-=>DQ
+ AGGAJ/C%&Rxr'9%:DcN 0 , Kr   r  Nr  r  s   f   @r   test_basic08TestManyStencils.test_basic08S  sE    		 IIcN""1a(At$##FH8r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      pV! VR4      pS P                  SW24       R# )r	  c                     V R,          # )r1   r/   r   r   s   &r   rk  -TestManyStencils.test_basic09.<locals>.kernelk  r  r   c                 j  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          ^,
          4       FC  p\        ^V P                  ^ ,          4       F  pWR,           V^,           3,          W5V3&   K!  	  KE  	  V# r   r   r0   r  r  s   &&    r   r  /TestManyStencils.test_basic09.<locals>.__kernelq  r1  r   r  Nr  r  s   f   @r   test_basic09TestManyStencils.test_basic09i  r  r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      pV! VR4      pS P                  SW24       R# )r	  c                 0    V R,          V R,          ,           # rj  r   r   s   &r   rk  -TestManyStencils.test_basic10.<locals>.kernel      T7QtW$$r   c                   < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          4       Fg  p\        ^ V P                  ^ ,          ^,
          4       F<  pW^ ,           V^ ,           3,          W^,           V^ ,           3,          ,           W5V3&   K>  	  Ki  	  V# r  r  r  s   &&    r   r  /TestManyStencils.test_basic10.<locals>.__kernel  s    %%a%CJ77177AT*-=>DQ
+ AGGAJN3C%&Qwa'7%811WcAg=M;N%NDcN 4 , Kr   r  Nr  r  s   f   @r   test_basic10TestManyStencils.test_basic10  sE    	%
	 IIcN""1a(At$##FH8r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      pV! VR4      pS P                  SW24       R# )r	  c                 0    V R,          V R,          ,           # )r   r   r   r   r   s   &r   rk  -TestManyStencils.test_basic11.<locals>.kernel  s    U8ag%%r   c                   < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          4       Fg  p\        ^V P                  ^ ,          ^,
          4       F<  pWR,           V^ ,           3,          W^,           V^ ,           3,          ,           W5V3&   K>  	  Ki  	  V# r  r  r  s   &&    r   r  /TestManyStencils.test_basic11.<locals>.__kernel  s    %%a%CJ77177AT*-=>DQ
+ AGGAJN3C%&Rxq'8%9AAgsQw>N<O%ODcN 4 , Kr   r  Nr  r  s   f   @r   test_basic11TestManyStencils.test_basic11  sE    	&
	 IIcN""1a(At$##FH8r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      pV! VR4      pS P                  SW24       R# )r	  c                 0    V R,          V R,          ,           # )r   r-  rB   r   r   s   &r   rk  -TestManyStencils.test_basic12.<locals>.kernel  s    U8ah&&r   c                   < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^V P                  ^,          ^,
          4       Fg  p\        ^V P                  ^ ,          ^,
          4       F<  pWR,           V^,           3,          W^,           VR,           3,          ,           W5V3&   K>  	  Ki  	  V# r  r  r  s   &&    r   r  /TestManyStencils.test_basic12.<locals>.__kernel  s    %%a%CJ77177AT*-=>DQ
Q/ AGGAJN3C%&Rxq'8%9AAgsRx>O<P%PDcN 4 0 Kr   r  Nr  r  s   f   @r   test_basic12TestManyStencils.test_basic12  E    	'
	 IIcN""1a(At$##FH8r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      pV! VR4      pS P                  SW24       R# )r	  c                 0    V R,          V R,          ,           # )r   rE  r=  r   r   s   &r   rk  -TestManyStencils.test_basic13.<locals>.kernel  s    V9qw&&r   c                   < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^V P                  ^,          ^,
          4       Fg  p\        ^V P                  ^ ,          ^,
          4       F<  pWR,           VR,           3,          W^,           V^,           3,          ,           W5V3&   K>  	  Ki  	  V# r  r  r  s   &&    r   r  /TestManyStencils.test_basic13.<locals>.__kernel  s    %%a%CJ77177AT*-=>DQ
Q/ AGGAJN3C%&Rxr'9%:QQwa?O=P%PDcN 4 0 Kr   r  Nr  r  s   f   @r   test_basic13TestManyStencils.test_basic13  rk  r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      pV! VR4      pS P                  SW24       R# )!rel index add domain change constc                 "    V R,          R,           # )r   rx  r=   r   r   s   &r   rk  -TestManyStencils.test_basic14.<locals>.kernel  s    T7R<r   c                 j  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          4       FJ  p\        ^ V P                  ^ ,          4       F&  pW^ ,           V^ ,           3,          R,           W5V3&   K(  	  KL  	  V# r   r   rx  r  r  s   &&    r   r  /TestManyStencils.test_basic14.<locals>.__kernel  s    %%a%CJ77177AT*-=>DQ
+ AGGAJ/C%&Qwa'7%84%?DcN 0 , Kr   r  Nr  r  s   f   @r   test_basic14TestManyStencils.test_basic14  sE    	 
	 IIcN""1a(At$##FH8r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      pV! VR4      pS P                  SW24       R# )rt  c                 &    R pV R,          V,           # )rx  r=   r   r   ts   & r   rk  .TestManyStencils.test_basic14b.<locals>.kernel  s    AT7Q;r   c                 n  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          4       FL  p\        ^ V P                  ^ ,          4       F(  pRpW^ ,           V^ ,           3,          V,           W5V3&   K*  	  KN  	  V# rx  r  	r   r    r  r  r  r   r  rk  rT   s	   &&     r   r  0TestManyStencils.test_basic14b.<locals>.__kernel  s    %%a%CJ77177AT*-=>DQ
+ AGGAJ/CA%&Qwa'7%81%<DcN 0 , Kr   r  Nr  r  s   f   @r   test_basic14bTestManyStencils.test_basic14b  sE    		 IIcN""1a(At$##FH8r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      pV! VR4      pS P                  SW24       R# )ztwo rel index, add constc                 >    V R,          V R,          ,           R,           # )r   r+   r=   r   r   r   s   &r   rk  -TestManyStencils.test_basic15.<locals>.kernel      T7QtW$r))r   c                   < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          4       Fn  p\        ^ V P                  ^ ,          ^,
          4       FC  pW^ ,           V^ ,           3,          W^,           V^ ,           3,          ,           R,           W5V3&   KE  	  Kp  	  V# r   r   r+   r  r  s   &&    r   r  /TestManyStencils.test_basic15.<locals>.__kernel      %%a%CJ77177AT*-=>DQ
+ AGGAJN3C&'aq(8&9&'aq(8&9':<?'@DcN 4 , Kr   r  Nr  r  s   f   @r   test_basic15TestManyStencils.test_basic15  sE    	*
	 IIcN""1a(At$##FH8r   c                   a a R oVV 3R lp\         P                  ! ^4      P                  ^^4      pV! VR4      pS P                  SW24       R# )&two rel index boundary test, add constc                 >    V R,          V R,          ,           R,           # )r   r+   r=   )r1   r   r   r   s   &r   rk  -TestManyStencils.test_basic17.<locals>.kernel  r  r   c                   < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          4       Fn  p\        ^ V P                  ^ ,          ^,
          4       FC  pW^ ,           V^ ,           3,          W^,           V^ ,           3,          ,           R,           W5V3&   KE  	  Kp  	  V# r  r  r  s   &&    r   r  /TestManyStencils.test_basic17.<locals>.__kernel  r  r   Nr  r  s   f   @r   test_basic17TestManyStencils.test_basic17  E    	*
	 IIbM!!!Q'At$##FH8r   c                   a a R oVV 3R lp\         P                  ! ^4      P                  ^^4      pV! VR4      pS P                  SW24       R# )r  c                 >    V R,          V R,          ,           R,           # )r   r+   r=   r0   r   r   r   s   &r   rk  -TestManyStencils.test_basic18.<locals>.kernel-      T7QuX%**r   c                   < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          4       Fg  p\        ^V P                  ^ ,          4       FC  pW^ ,           V^ ,           3,          WR,           V^ ,           3,          ,           R,           W5V3&   KE  	  Ki  	  V# )r   r   r+   r0   r  r  s   &&    r   r  /TestManyStencils.test_basic18.<locals>.__kernel2  s    %%a%CJ77177AT*-=>DQ
+ AGGAJ/C&'aq(8&9&'b#'(9&:';=@'ADcN 0 , Kr   Nr  r  s   f   @r   test_basic18TestManyStencils.test_basic18+  E    	+
	 IIbM!!!Q'At$##FH8r   c                   a a R oVV 3R lp\         P                  ! ^4      P                  ^^4      pV! VR4      pS P                  SW24       R# )r  c                 >    V R,          V R,          ,           R,           # )r   r+   r=   r   rw   r   r   s   &r   rk  -TestManyStencils.test_basic19.<locals>.kernelC  r  r   c                   < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          ^,
          4       Fg  p\        ^ V P                  ^ ,          4       FC  pW^ ,           V^ ,           3,          W^ ,           V^,           3,          ,           R,           W5V3&   KE  	  Ki  	  V# r  r  r  s   &&    r   r  /TestManyStencils.test_basic19.<locals>.__kernelH  s    %%a%CJ77177AT*-=>DQ
Q/ AGGAJ/C&'aq(8&9&'aq(8&9':<?'@DcN 0 0 Kr   Nr  r  s   f   @r   test_basic19TestManyStencils.test_basic19A  r  r   c                   a a R oVV 3R lp\         P                  ! ^4      P                  ^^4      pV! VR4      pS P                  SW24       R# )r  c                 >    V R,          V R,          ,           R,           # )r   r+   r=   )r   r   r   s   &r   rk  -TestManyStencils.test_basic20.<locals>.kernelY  r  r   c                   < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^V P                  ^,          4       Fg  p\        ^ V P                  ^ ,          4       FC  pW^ ,           V^ ,           3,          W^ ,           VR,           3,          ,           R,           W5V3&   KE  	  Ki  	  V# )r   r   r+   r  r  r  s   &&    r   r  /TestManyStencils.test_basic20.<locals>.__kernel^  s    %%a%CJ77177AT*-=>DQ
+ AGGAJ/C&'aq(8&9&'ar(9&:';=@'ADcN 0 , Kr   Nr  r  s   f   @r   test_basic20TestManyStencils.test_basic20W  r  r   c                   a a R oVV 3R lp\         P                  ! ^4      P                  ^^4      pV! VR4      pS P                  SW24       R# )zsame rel, add constc                 >    V R,          V R,          ,           R,           # )r   r+   r=   r   r   s   &r   rk  -TestManyStencils.test_basic21.<locals>.kernelo  r  r   c                   < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          4       Fg  p\        ^ V P                  ^ ,          4       FC  pW^ ,           V^ ,           3,          W^ ,           V^ ,           3,          ,           R,           W5V3&   KE  	  Ki  	  V# r  r  r  s   &&    r   r  /TestManyStencils.test_basic21.<locals>.__kernelt  s    %%a%CJ77177AT*-=>DQ
+ AGGAJ/C&'aq(8&9&'aq(8&9':<?'@DcN 0 , Kr   Nr  r  s   f   @r   test_basic21TestManyStencils.test_basic21m  r  r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      pV! VR4      pS P                  SW24       R# )z%rel idx const expr folding, add constc                 >    V R,          V R,          ,           R,           # )r   r+   r   r=   r   r   s   &r   rk  -TestManyStencils.test_basic22.<locals>.kernel  s    X;4(2--r   c                   < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          4       Fn  p\        ^ V P                  ^ ,          ^,
          4       FC  pW^,           V^ ,           3,          W^ ,           V^ ,           3,          ,           R,           W5V3&   KE  	  Kp  	  V# r  r  r  s   &&    r   r  /TestManyStencils.test_basic22.<locals>.__kernel  r  r   r  Nr  r  s   f   @r   test_basic22TestManyStencils.test_basic22  sE    	.
	 IIcN""1a(At$##FH8r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      pV! VR4      pS P                  SW24       R# )zrel idx, work in bodyc                     \         P                  ! ^
V R,          ,           4      pV R,          V R,          ,           V,           # 
   )r1   r   r   r=   r|   sinr   rq   s   & r   rk  -TestManyStencils.test_basic23.<locals>.kernel  s0    rAdG|$AX;4(1,,r   c           	      &  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          ^,
          4       F  p\        ^ V P                  ^ ,          ^,
          4       Fv  p\        P                  ! ^
W^,           V^,           3,          ,           4      pW^,           V^ ,           3,          W^ ,           V^ ,           3,          ,           V,           W5V3&   Kx  	  K  	  V# r  r  r|   r  r  r  r'   r  	r   r    r  r  r  r   rq   rk  rT   s	   &&     r   r  /TestManyStencils.test_basic23.<locals>.__kernel  s    %%a%CJ77177AT*-=>DQ
Q/ AGGAJN3CrAAgsQw&6$778A&'aq(8&9&'aq(8&9':<='>DcN 4 0
 Kr   r  Nr  r  s   f   @r   test_basic23TestManyStencils.test_basic23  sE    	-		 IIcN""1a(At$##FH8r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      pV! VR4      pS P                  SW24       R# )z,rel idx, dead code should not impact rel idxc                 x    \         P                  ! ^
V R,          ,           4      pV R,          V R,          ,           # r  r  r  s   & r   rk  .TestManyStencils.test_basic23a.<locals>.kernel  s+    rAdG|$AX;4((r   c           	        < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          ^,
          4       F  p\        ^ V P                  ^ ,          ^,
          4       Fo  p\        P                  ! ^
W^,           V^,           3,          ,           4      pW^,           V^ ,           3,          W^ ,           V^ ,           3,          ,           W5V3&   Kq  	  K  	  V# r  r  r  s	   &&     r   r  0TestManyStencils.test_basic23a.<locals>.__kernel  s    %%a%CJ77177AT*-=>DQ
Q/ AGGAJN3CrAAgsQw&6$778A%&Qwa'7%811WcAg=M;N%NDcN 4 0 Kr   r  Nr  r  s   f   @r   test_basic23aTestManyStencils.test_basic23a  sE    	)	 IIcN""1a(At$##FH8r   c                    \         P                  ! ^4      P                  ^^4      pR pV P                  W!\        .R7       R# )z1d idx on 2d arrc                 "    V ^ ,          R,           # )r   r+   r   r   s   &r   rk  -TestManyStencils.test_basic24.<locals>.kernel  s    Q4"9r   r  N)r|   r   r   r  r   rT   r   rk  s   &  r   test_basic24TestManyStencils.test_basic24  s8    IIbM!!!Q'	 	f[NKr   c                    \         P                  ! ^4      P                  ^^4      pR pV P                  W!\        \
        .R7       R# )zno idx on 2d arrc                     R # )r+   r   r   s   &r   rk  -TestManyStencils.test_basic25.<locals>.kernel  s    r   r  Nr|   r   r   r  r  r   r  s   &  r   test_basic25TestManyStencils.test_basic25  s@    IIbM!!!Q'	fZ=L=O 	Pr   c                   a a R oVV 3R lp\         P                  ! ^@4      P                  ^^^4      pV! VR4      pS P                  SW24       R# )z3d arrc                 >    V R,          V R,          ,
          R,           # )r   r+   )r   r   r   )r   r   r   r   r   s   &r   rk  -TestManyStencils.test_basic26.<locals>.kernel  s    W:'
*R//r   c           	        < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          4       F  p\        ^ V P                  ^,          ^,
          4       Fw  p\        ^ V P                  ^ ,          4       FS  pW^ ,           V^ ,           V^ ,           3,          W^ ,           V^,           V^ ,           3,          ,
          R,           W6WT3&   KU  	  Ky  	  K  	  V# r  r  )	r   r    r  r  _TestManyStencils__cr  r   rk  rT   s	   &&     r   r  /TestManyStencils.test_basic26.<locals>.__kernel  s    %%a%CJ77177AT*-=>DQ
+ AGGAJN3C$Q
3/0q#'371J/K/0q#'371J/K0L/203#]+  4 4 , Kr   Nr  r  s   f   @r   test_basic26TestManyStencils.test_basic26  sG    	0

	 IIbM!!!Q*At$##FH8r   c                   a a R oVV 3R lp\         P                  ! ^4      P                  ^^^^4      pV! VR4      pS P                  SW24       R# )z4d arrc                 >    V R,          V R,          ,
          R,           # )r   r+   )r   r   r   r   )r   r   r   r   r   r   s   &r   rk  -TestManyStencils.test_basic27.<locals>.kernel  s    Z=1[>1B66r   c                   < S	P                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^V P                  ^,          4       F  p\        ^ V P                  ^,          4       F  p\        ^ V P                  ^,          ^,
          4       F  p\        ^ V P                  ^ ,          4       Fd  pW^ ,           V^ ,           V^ ,           V^ ,           3,          W^ ,           V^,           V^ ,           VR,           3,          ,
          R,           W7WeV3&   Kf  	  K  	  K  	  K  	  V# )r   r   r+   r   r  )
r   r    r  r  _TestManyStencils__dr  r  r   rk  rT   s
   &&      r   r  /TestManyStencils.test_basic27.<locals>.__kernel  s   %%a%CJ77177AT*-=>DQ
+ AGGAJ/C$Q
Q7#(AGGAJ#7C89'37:='37;K 9L89'37:='38;L 9M9M 9<	9<Dc!34 $8  8 0 , Kr   Nr  r  s   f   @r   test_basic27TestManyStencils.test_basic27  sI    	7	  IIcN""1aA.At$##FH8r   c                   a a R oVV 3R lp\         P                  ! ^4      P                  ^^4      P                  \         P                  4      pV! VR4      pS P                  SW24       R# )ztype widen c                 J    V R,          \         P                  ! R4      ,           # )r         $@r=   )r|   rX  r   s   &r   rk  -TestManyStencils.test_basic28.<locals>.kernel  s    T7RZZ_,,r   c                   < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          4       F^  p\        ^ V P                  ^ ,          4       F:  pW^ ,           V^ ,           3,          \        P                  ! R4      ,           W5V3&   K<  	  K`  	  V# )r   r   r  )r  r|   r  r  r  r'   rX  r  s   &&    r   r  /TestManyStencils.test_basic28.<locals>.__kernel  s    %%a%CJ77177AT*-=>DQ
+ AGGAJ/C%&Qwa'7%82::d;K%KDcN 0 , Kr   Nr|   r   r   astypefloat32r  r  s   f   @r   test_basic28TestManyStencils.test_basic28  sT    	-	 IIbM!!!Q'..rzz:At$##FH8r   c                    \         P                  ! R4      P                  ^^4      pR pV P                  W!\        \
        \        .R7       R# )zconst index from func r  c                 R    V ^ \        \        P                  ! ^ 4      4      3,          # r   )rc  r|   cosr   s   &r   rk  -TestManyStencils.test_basic29.<locals>.kernel)  s    QBFF1I&''r   r  Nr|   r   r   r  r  r   r   r  s   &  r   test_basic29TestManyStencils.test_basic29%  sC    IIcN""1a(	(fZ=L=J=L 	Mr   c                   a a R oVV 3R lp\         P                  ! ^4      P                  ^^4      P                  \         P                  4      pV! VR4      pS P                  SW24       R# )zsigned zerosc                     V R,          # r<   r   r   s   &r   rk  -TestManyStencils.test_basic30.<locals>.kernel1  rG  r   c                 \  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          4       FC  p\        ^ V P                  ^ ,          4       F  pW^ ,           V^ ,           3,          W5V3&   K!  	  KE  	  V# r  r  r  s   &&    r   r  /TestManyStencils.test_basic30.<locals>.__kernel6  rJ  r   Nr  r  s   f   @r   test_basic30TestManyStencils.test_basic30/  sT    	
	 IIbM!!!Q'..rzz:At$##FH8r   c                   a a R oVV 3R lp\         P                  ! ^4      P                  ^^4      P                  \         P                  4      pV! VR4      pS P                  SW24       R# )zdoes a const propagate? 2Dc                     ^pW^ 3,          # rG   r   r~  s   & r   rk  -TestManyStencils.test_basic31.<locals>.kernelF  s    AT7Nr   c                 n  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          4       FL  p\        ^ V P                  ^ ,          ^,
          4       F!  p^pWV,           V^ ,           3,          W5V3&   K#  	  KN  	  V# r  r  r  s	   &&     r   r  /TestManyStencils.test_basic31.<locals>.__kernelL  s    %%a%CJ77177AT*-=>DQ
+ AGGAJN3CA%&Qwa'7%8DcN 4 , Kr   Nr  r  s   f   @r   test_basic31TestManyStencils.test_basic31D  sT    		 IIbM!!!Q'..rzz:At$##FH8r   z constant folding not implementedc                X    \         P                  ! R4      P                  ^^4      pR pR# )zdoes a const propagate?r  c                 ,    ^p^V,
          pW^ 3,          # rG   r   )r   sr  s   &  r   rk  .TestManyStencils.test_basic31b.<locals>.kernel_  s    AAAT7Nr   N)r|   r   r   r  s   &  r   test_basic31bTestManyStencils.test_basic31bZ  s#     IIcN""1a(	r   c                   a a R oVV 3R lp\         P                  ! R4      pV! VR4      pS P                  SW24       R# )zdoes a const propagate? 1Dc                     ^pW,          # rG   r   r~  s   & r   rk  .TestManyStencils.test_basic31c.<locals>.kernelh  s    A4Kr   c                   < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^ ,          ^,
          4       F  p^pWV,           ,          W43&   K  	  V# r  r  )r   r    r  r  r   r  rk  rT   s   &&    r   r  0TestManyStencils.test_basic31c.<locals>.__kerneln  sp    %%a%CJ77177AT*-=>DQ
Q/QwZT
 0 Kr   r  Nr|   r   r  r  s   f   @r   test_basic31cTestManyStencils.test_basic31cf  s8    		 IIcNAt$##FH8r   c                    \         P                  ! R4      P                  ^^4      pR pV P                  W!\        \
        \        .R7       R# )ztyped int indexr  c                 @    V \         P                  ! ^4      ^ 3,          # rG   )r|   int8r   s   &r   rk  -TestManyStencils.test_basic32.<locals>.kernel  s    RWWQZ]##r   r  Nr  r  s   &  r   test_basic32TestManyStencils.test_basic32{  sC    IIcN""1a(	$fZ=L=J=L 	Mr   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      pV! VR4      pS P                  SW24       R# )zadd 0d arrayc                 J    V R,          \         P                  ! ^4      ,           # r<   )r|   arrayr   s   &r   rk  -TestManyStencils.test_basic33.<locals>.kernel  s    T7RXXa[((r   c                   < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          4       F^  p\        ^ V P                  ^ ,          4       F:  pW^ ,           V^ ,           3,          \        P                  ! ^4      ,           W5V3&   K<  	  K`  	  V# r  )r  r|   r  r  r  r'   r*  r  s   &&    r   r  /TestManyStencils.test_basic33.<locals>.__kernel  s    %%a%CJ77177AT*-=>DQ
+ AGGAJ/C%&Qwa'7%8288A;%FDcN 0 , Kr   r  Nr  r  s   f   @r   test_basic33TestManyStencils.test_basic33  sE    	)
	 IIcN""1a(At$##FH8r   c                   a a R oVV 3R lp\         P                  ! ^4      P                  ^^4      pV! VR4      pS P                  SW24       R# )z<More complex rel index with dependency on addition rel indexc                     R V R,          ,           pWR,          V R,          ,           V R,          ,           \         P                  ! V R,          4      ,           ,           # )      @r   r   r   r  r  )r   gs   & r   rk  -TestManyStencils.test_basic34.<locals>.kernel  s@    QtWA$!D')AeH4rvvah7GGHHr   c           
        < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^V P                  ^,          ^,
          4       F  p\        ^V P                  ^ ,          ^,
          4       F  pRW^ ,           V^,           3,          ,           pW`V^ ,           V^,           3,          W^,           V^ ,           3,          ,           W^ ,           VR,           3,          ,           \        P                  ! WR,           V^ ,           3,          4      ,           ,           W5V3&   K  	  K  	  V# )r   r   r2  r   r0   r  )	r   r    r  r  r  r   r3  rk  rT   s	   &&     r   r  /TestManyStencils.test_basic34.<locals>.__kernel  s
   %%a%CJ77177AT*-=>DQ
Q/ AGGAJN3Caaq 011A%&C!GS1W,<*=*+!GS1W,<*=+>*+!GS2X,=*>+? +-&&8S1W3D1E*F+G &HDcN 4 0 Kr   Nr  r  s   f   @r   test_basic34TestManyStencils.test_basic34  sF    	I	 IIcN""2r*At$##FH8r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      pV! VR4      pS P                  SW2R^/R7       R# )z<simple cval where cval is int but castable to dtype of floatc                     V R,          # r  r   r   s   &r   rk  -TestManyStencils.test_basic35.<locals>.kernel  r  r   c                 j  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^\	        V4      R7      p\        ^ V P                  ^,          ^,
          4       FC  p\        ^ V P                  ^ ,          4       F  pW^ ,           V^,           3,          W5V3&   K!  	  KE  	  V# r  r  r  s   &&    r   r  /TestManyStencils.test_basic35.<locals>.__kernel  r  r   r  Nr-   re   r  r  s   f   @r   test_basic35TestManyStencils.test_basic35  sN    	
	 IIcN""1a(At$##FH&!#Mr   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      pV! VR4      pS P                  SW2R^/R7       R# )zmore complex with cvalc                 h    V R,          V R,          ,           V R,          ,           V R,          ,           # r   r   r   rB   r   r   s   &r   rk  -TestManyStencils.test_basic36.<locals>.kernel  '    T7QuX%%01U8;;r   c                 &  < SP                  WR 7       S! V 4      p\        P                  ! V P                  R\	        V4      R7      p\        ^V P                  ^,          ^,
          4       F  p\        ^ V P                  ^ ,          ^,
          4       Fv  pW^ ,           V^,           3,          W^ ,           VR,           3,          ,           W^,           VR,           3,          ,           W^,           VR,           3,          ,           W5V3&   Kx  	  K  	  V# )r   g      @r   r   r  r  s   &&    r   r  /TestManyStencils.test_basic36.<locals>.__kernel  s    %%a%CJ77177CtJ/?@DQ
Q/ AGGAJN3C&'aq(8&9&'ar(9&:';&'ar(9&:'; '(ar(9&:';DcN 4 0 Kr   r  Nr-   r>  r  r  s   f   @r   test_basic36TestManyStencils.test_basic36  sN    	<

	 IIcN""1a(At$##FH&!#Mr   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      pV! VR4      pS P                  SW2RR/R7       R# )zcval is exprc                 h    V R,          V R,          ,           V R,          ,           V R,          ,           # rC  r   r   s   &r   rk  -TestManyStencils.test_basic37.<locals>.kernel  rE  r   c                 &  < SP                  WR 7       S! V 4      p\        P                  ! V P                  R\	        V4      R7      p\        ^V P                  ^,          ^,
          4       F  p\        ^ V P                  ^ ,          ^,
          4       Fv  pW^ ,           V^,           3,          W^ ,           VR,           3,          ,           W^,           VR,           3,          ,           W^,           VR,           3,          ,           W5V3&   Kx  	  K  	  V# )r         Q@r   r   r  r  s   &&    r   r  /TestManyStencils.test_basic37.<locals>.__kernel      %%a%CJ77177DZ0@ADQ
Q/ AGGAJN3C&'aq(8&9&'ar(9&:';&'ar(9&:'; '(ar(9&:';DcN 4 0 Kr   r  Nr-   r>  rN  r  r  s   f   @r   test_basic37TestManyStencils.test_basic37  sT    	<

	 IIcN""1a(At$##FH-3W,= 	$ 	?r   c                    R p\         P                  ! R4      P                  ^^4      pV P                  \        \        \        R7      pV P                  WRR/VR7       R# )zcval is complexc                 h    V R,          V R,          ,           V R,          ,           V R,          ,           # rC  r   r   s   &r   rk  -TestManyStencils.test_basic38.<locals>.kernel  rE  r   r  r   r  r   r-   rx  re   r  Nr|   r   r   r  r   r  rT   rk  r   r  s   &   r   test_basic38TestManyStencils.test_basic38  s_    	<IIcN""1a(  #"  ! " 	f&#13 	 	5r   c                  a aa R o\         P                  ! R4      \         P                  ! ^4      ,           oVVV 3R lp\         P                  ! R4      P	                  ^^4      pV! VR4      pS P                  SW2RS/R7       R# )zcval is func exprc                 h    V R,          V R,          ,           V R,          ,           V R,          ,           # rC  r   r   s   &r   rk  -TestManyStencils.test_basic39.<locals>.kernel  rE  r   r   c                 &  < SP                  WR 7       S! V 4      p\        P                  ! V P                  S\	        V4      R7      p\        ^V P                  ^,          ^,
          4       F  p\        ^ V P                  ^ ,          ^,
          4       Fv  pW^ ,           V^,           3,          W^ ,           VR,           3,          ,           W^,           VR,           3,          ,           W^,           VR,           3,          ,           W5V3&   Kx  	  K  	  V# r  r  )	r   r    r  r  r  r   r-   rk  rT   s	   &&    r   r  /TestManyStencils.test_basic39.<locals>.__kernel  rP  r   r  Nr-   r>  )r|   r  r  r   r   r  )rT   r  r   r   r-   rk  s   f   @@r   test_basic39TestManyStencils.test_basic39  so    	< vvbzBFF1I%

	 IIcN""1a(At$##FH-3TN 	$ 	<r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      p\         P                  ! R4      P                  ^^4      pV! W#R4      pS P                  SWBV4       R# )z2 args!c                 0    V R,          VR,          ,           # r   r   )r   r0   r   r4   s   &&r   rk  -TestManyStencils.test_basic40.<locals>.kernel      T7QuX%%r   c                   < SP                  WVR 7       S! W4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^V P                  ^,          ^,
          4       F`  p\        ^ V P                  ^ ,          4       F<  pW^ ,           V^,           3,          W^ ,           VR,           3,          ,           WFV3&   K>  	  Kb  	  V# rQ  r  	r   r5   r    r  r  r  r   rk  rT   s	   &&&    r   r  /TestManyStencils.test_basic40.<locals>.__kernel#  s    %%a%FJ77177AT*-=>DQ
Q/ AGGAJ/C%&Qwa'7%811WcBh=N;O%ODcN 0 0 Kr   r  Nr  rT   r  r   r5   r   rk  s   f    @r   test_basic40TestManyStencils.test_basic40  sa    	&
	 IIcN""1a(IIcN""1a(A$'##FH;r   c                    R p\         P                  ! R4      P                  ^^4      p\         P                  ! R4      P                  ^^4      pV P                  WV\        \
        .R7       R# )z(2 args! rel arrays wildly not same size!c                 0    V R,          VR,          ,           # re  r   r4   s   &&r   rk  -TestManyStencils.test_basic41.<locals>.kernel3  rg  r   r  r+   r  Nr|   r   r   r  r  r|  rT   rk  r   r5   s   &   r   test_basic41TestManyStencils.test_basic411  ]    	&IIcN""1a(IIbM!!!Q'f
@N@P 	Qr   c                    R p\         P                  ! R4      P                  ^^4      p\         P                  ! R4      P                  ^^4      pV P                  WV\        \
        .R7       R# )z%2 args! rel arrays very close in sizec                 0    V R,          VR,          ,           # re  r   r4   s   &&r   rk  -TestManyStencils.test_basic42.<locals>.kernel<  rg  r   r        "@r  Nrq  rr  s   &   r   test_basic42TestManyStencils.test_basic42:  ru  r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      p\         P                  ! R4      P                  ^^4      pV! W#R4      pS P                  SWBV4       R# )z2 args more complexityc                 h    V R,          V R,          ,           VR,          ,           VR,          ,           # )r   r   r   r1   r  r   r   r4   s   &&r   rk  -TestManyStencils.test_basic43.<locals>.kernelE  s'    T7QtW$qx/!E(::r   c                 (  < SP                  WVR 7       S! W4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^V P                  ^,          ^,
          4       F  p\        ^V P                  ^ ,          ^,
          4       Fv  pW^ ,           V^,           3,          W^,           V^,           3,          ,           WR,           V^ ,           3,          ,           W^ ,           VR,           3,          ,           WFV3&   Kx  	  K  	  V# )r   r   r0   r   r  ri  s	   &&&    r   r  /TestManyStencils.test_basic43.<locals>.__kernelJ  s    %%a%FJ77177AT*-=>DQ
Q/ AGGAJN3C&'aq(8&9&'aq(8&9':&'b#'(9&:'; '(ar(9&:';DcN 4 0 Kr   g      >@Nr  rk  s   f    @r   test_basic43TestManyStencils.test_basic43C  sa    	;

	 IIcN""1a(IIcN""1a(A$'##FH;r   c                    R p\         P                  ! R4      P                  ^^4      p\         P                  ! R4      P                  ^^4      pV P                  WV\        \
        .R7       R# )z!2 args, has assignment before usec                     ^V R&   V R,          # )ro  r   r   r4   s   &&r   rk  -TestManyStencils.test_basic44.<locals>.kernel]  s    AdGT7Nr   r  r  Nr|   r   r   r  r   r   rr  s   &   r   test_basic44TestManyStencils.test_basic44[  s_    	 IIcN""1a(IIcN""1a(f@M@O 	Pr   c                    R p\         P                  ! R4      P                  ^^4      p\         P                  ! R4      P                  ^^4      pV P                  WV\        \
        .R7       R# )z02 args, has assignment and then cross dependencyc                 :    ^V R&   V R,          V R,          ,           # )ro  r   r   r   r4   s   &&r   rk  -TestManyStencils.test_basic45.<locals>.kernelg  s    AdGT7QtW$$r   r  r  Nr  rr  s   &   r   test_basic45TestManyStencils.test_basic45e  _    	% IIcN""1a(IIcN""1a(f@M@O 	Pr   c                    R p\         P                  ! R4      P                  ^^4      p\         P                  ! R4      P                  ^^4      pV P                  WV\        \
        .R7       R# )z#2 args, has cross relidx assignmentc                 H    VR,          V R&   V R,          V R,          ,           # )r   r~  r   r   r   r4   s   &&r   rk  -TestManyStencils.test_basic46.<locals>.kernelq  s"    gAdGT7QtW$$r   r  r  Nr  rr  s   &   r   test_basic46TestManyStencils.test_basic46o  r  r   c                <  a a R oVV 3R lp\         P                  ! R4      P                  ^^4      p\         P                  ! R4      P                  ^^4      p\         P                  ! R4      P                  ^^4      pV! W#VR4      pS P                  SWRW44       R# )z3 argsc                 L    V R,          VR,          ,           VR,          ,           # )r   r   r   r   r   r   r5   r.  s   &&&r   rk  -TestManyStencils.test_basic47.<locals>.kernel{  s    T7QtW$qx//r   c                   < S	P                  WW#R 7       S! WV4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          ^,
          4       F  p\        ^V P                  ^ ,          ^,
          4       FY  pW^ ,           V^,           3,          W^,           V^ ,           3,          ,           W'R,           V^ ,           3,          ,           WWV3&   K[  	  K  	  V# r  r  
r   r5   r.  r    r  r  r  r   rk  rT   s
   &&&&    r   r  /TestManyStencils.test_basic47.<locals>.__kernel  s    %%aA%IaJ77177AT*-=>DQ
Q/ AGGAJN3C&'aq(8&9&'aq(8&9':&'b#'(9&:';DcN 4 0
 Kr   r  Nr  rT   r  r   r5   r.  r   rk  s   f     @r   test_basic47TestManyStencils.test_basic47y  s}    	0		 IIcN""1a(IIcN""1a(IIcN""1a(A!T*##FH>r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      pV! VR4      pS P                  SW24       R# )z22 args, has assignment before use via memory aliasc                 6    V P                   p^
VR&   V R,          # )r  rV  rV  r   )Tr-  s   & r   rk  -TestManyStencils.test_basic48.<locals>.kernel  s    AAdGT7Nr   c                   < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          ^,
          4       FT  p\        ^ V P                  ^ ,          4       F0  pV P                  p^
VR&   W^ ,           V^,           3,          W5V3&   K2  	  KV  	  V# )r   r   r  )r  r|   r  r  r  r'   r  )	r   r    r  r  r  r   r.  rk  rT   s	   &&     r   r  /TestManyStencils.test_basic48.<locals>.__kernel  s    %%a%CJ77177AT*-=>DQ
Q/ AGGAJ/CA AdG%&Qwa'7%8DcN 0 0
 Kr   r  Nr  r  s   f   @r   test_basic48TestManyStencils.test_basic48  sE    			 IIcN""1a(At$##FH8r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      p\         P                  ! R4      P                  ^^4      pV! W#R4      pS P                  SWBVRR/R7       R# )z#2 args, standard_indexing on secondc                 0    V R,          VR,          ,           # )r   r   r  r   r4   s   &&r   rk  -TestManyStencils.test_basic49.<locals>.kernel  rX  r   c                   < SP                  WR 7       S! W4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          ^,
          4       FQ  p\        ^ V P                  ^ ,          4       F-  pW^ ,           V^,           3,          VR,          ,           WFV3&   K/  	  KS  	  V# )r   r   r  r  ri  s	   &&&    r   r  /TestManyStencils.test_basic49.<locals>.__kernel  s    %%a%CJ77177AT*-=>DQ
Q/ AGGAJ/C%&Qwa'7%81T7%BDcN 0 0 Kr   r  Nr@   r5   r>  r  rk  s   f    @r   test_basic49TestManyStencils.test_basic49  sq    	%
	 IIcN""1a(IIcN""1a(A$'##FH-@#,F 	$ 	Hr   z&dynamic range checking not implementedc                    R pR# )z2 args, standard_indexing OOBc                 0    V R,          VR,          ,           # )r   r   )r      r   r4   s   &&r   rk  -TestManyStencils.test_basic50.<locals>.kernel  rg  r   Nr   rT   rk  s   & r   test_basic50TestManyStencils.test_basic50  s    	&r   c                    R p\         P                  ! R4      P                  ^^4      p\         P                  ! R4      P                  ^^4      pV P                  WVRRR./\        \
        .R7       R# )z$2 args, standard_indexing, no relidxc                 0    V R,          VR,          ,           # r   r   )r   r1   r   r4   s   &&r   rk  -TestManyStencils.test_basic51.<locals>.kernel  rX  r   r  r@   r   r5   rW  Nr  rr  s   &   r   test_basic51TestManyStencils.test_basic51  sg    	%IIcN""1a(IIcN""1a(f':S#J&G2<o1N 	 	Pr   c           	     D  a a R oVV 3R lp\         P                  ! R4      P                  ^^4      p\         P                  ! R4      P                  ^^4      p\         P                  ! R4      P                  ^^4      pV! W#VR4      pS P                  SWRW4RR/R7       R# )	z(3 args, standard_indexing on middle arg c                 L    V R,          VR,          ,           VR,          ,           # )r   r   r~  r   r  s   &&&r   rk  -TestManyStencils.test_basic52.<locals>.kernel  s    T7QtW$qw..r   c                   < S	P                  WVR 7       S! WV4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          ^,
          4       Fu  p\        ^ V P                  ^ ,          ^,
          4       FJ  pW^ ,           V^,           3,          VR,          ,           W'^,           V^,           3,          ,           WWV3&   KL  	  Kw  	  V# )r   r   r   r  r  s
   &&&&    r   r  /TestManyStencils.test_basic52.<locals>.__kernel  s    %%a%FaJ77177AT*-=>DQ
Q/ AGGAJN3C&'aq(8&9AdG&C&'aq(8&9':DcN 4 0 Kr   r  r2  Nr@   r5   r>  r  r  s   f     @r   test_basic52TestManyStencils.test_basic52  s    	/
	 IIcN""1a(IIbM!!!Q'IIcN""1a(A!T*##FH-@#,F 	$ 	Hr   c                   R p\         P                  ! R4      P                  ^^4      p\         P                  ! R4      P                  ^^4      pV P                  \        \
        \        R7      pV P                  WVRR/VR7       R# )z92 args, standard_indexing on variable that does not existc                 0    V R,          VR,          ,           # r  r   r4   s   &&r   rk  -TestManyStencils.test_basic53.<locals>.kernel  rX  r   r  rV  r@   r.  rW  N)r|   r   r   r  r  r   r  rT   rk  r   r5   r  s   &    r   test_basic53TestManyStencils.test_basic53  s}    	%IIcN""1a(IIcN""1a(  " !  	f5H#4N13 	 	5r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      p\         P                  ! R4      P                  ^^4      pV! W#R4      pS P                  SWBVRR/R7       R# )z)2 args, standard_indexing, index from varc                 8    ^pV R,          V^ V3,          ,           # )r1   r   r   )r   r5   r  s   && r   rk  -TestManyStencils.test_basic54.<locals>.kernel  s    AT7Qq!tW$$r   c                   < S	P                  WR 7       S! W4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          ^,
          4       FU  p\        ^ V P                  ^ ,          4       F1  p^pW^ ,           V^,           3,          V^ V3,          ,           WFV3&   K3  	  KW  	  V# r  r  )
r   r5   r    r  r  r  r   r  rk  rT   s
   &&&     r   r  /TestManyStencils.test_basic54.<locals>.__kernel  s    %%a%CJ77177AT*-=>DQ
Q/ AGGAJ/CA%&Qwa'7%81QT7%BDcN 0 0 Kr   r  Nr@   r5   r>  r  rk  s   f    @r   test_basic54TestManyStencils.test_basic54  sq    	%	 IIcN""1a(IIcN""1a(A$'##FH-@#,F 	$ 	Hr   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      p\         P                  ! R4      P                  ^^4      pV! W#R4      pS P                  SWBVRR/R7       R# )z62 args, standard_indexing, index from more complex varc                 J    ^p^V,
          pV R,          V^ V3,          ,           # )r   r   r   )r   r5   r  r  s   &&  r   rk  -TestManyStencils.test_basic55.<locals>.kernel  s'    AAAT7Qq!tW$$r   c                   < S
P                  WR 7       S	! W4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          ^,
          4       F^  p\        ^ V P                  ^ ,          4       F:  p^p^V,
          pW^ ,           V^,           3,          V^ V3,          ,           WFV3&   K<  	  K`  	  V# r  r  )r   r5   r    r  r  r  r   r  r  rk  rT   s   &&&      r   r  /TestManyStencils.test_basic55.<locals>.__kernel  s    %%a%CJ77177AT*-=>DQ
Q/ AGGAJ/CAAA%&Qwa'7%81QT7%BDcN 0 0
 Kr   r  Nr@   r5   r>  r  rk  s   f    @r   test_basic55TestManyStencils.test_basic55  sq    	%		 IIcN""1a(IIcN""1a(A$'##FH-@#,F 	$ 	Hr   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      p\         P                  ! R4      P                  ^^4      pV! W#R4      pS P                  SWBVRR/R7       R# )z,2 args, standard_indexing, added complexity c                     ^p^ pVR,           F  pW4,          pK  	  ^V,
          ^,
          pV R,          V^ V3,          ,           V,           # )r   r   rV  r   r   )r   r5   r  accr  r  s   &&    r   rk  -TestManyStencils.test_basic56.<locals>.kernel/  sL    ACtWW A	AT7Qq!tW$s**r   c                   < SP                  WR 7       S! W4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          ^,
          4       F  p\        ^ V P                  ^ ,          4       Fb  p^p^ pVR,           F  p	W,          pK  	  ^V,
          ^,
          p
W^ ,           V^,           3,          V^ V
3,          ,           V,           WFV3&   Kd  	  K  	  V# )r   r   r  r  )r   r5   r    r  r  r  r   r  r  r  r  rk  rT   s   &&&        r   r  /TestManyStencils.test_basic56.<locals>.__kernel9  s    %%a%CJ77177AT*-=>DQ
Q/ AGGAJ/CACvYY 'A	A%&Qwa'7%81QT7%BS%HDcN 0 0 Kr   r  Nr@   r5   r>  r  rk  s   f    @r   test_basic56TestManyStencils.test_basic56-  sq    	+	 IIcN""1a(IIcN""1a(A$'##FH-@#,F 	$ 	Hr   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      p\         P                  ! R4      P                  ^^4      pV! W#R4      pS P                  SWBVRR/R7       R# )z12 args, standard_indexing, split index operation c                 B    V^ ,          pV R,          V^,          ,           # r  r   r  s   && r   rk  -TestManyStencils.test_basic57.<locals>.kernelO  s    !AT7QqT>!r   c                   < S	P                  WR 7       S! W4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          ^,
          4       FZ  p\        ^ V P                  ^ ,          4       F6  pV^ ,          pW^ ,           V^,           3,          V^,          ,           WFV3&   K8  	  K\  	  V# r  r  
r   r5   r    r  r  r  r   r.  rk  rT   s
   &&&     r   r  /TestManyStencils.test_basic57.<locals>.__kernelU  s    %%a%CJ77177AT*-=>DQ
Q/ AGGAJ/C!A%&Qwa'7%81Q4%?DcN 0 0 Kr   r  Nr@   r5   r>  r  rk  s   f    @r   test_basic57TestManyStencils.test_basic57M  q    	"	 IIcN""1a(IIcN""1a(A$'##FH-@#,F 	$ 	Hr   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      p\         P                  ! R4      P                  ^^4      pV! W#R4      pS P                  SWBVRR/R7       R# )z?2 args, standard_indexing, split index with broadcast mutation c                 P    V^ ,          ^,           pV R,          V^,          ,           # r  r   r  s   && r   rk  -TestManyStencils.test_basic58.<locals>.kernelg  s!    !qAT7QqT>!r   c                   < S	P                  WR 7       S! W4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          ^,
          4       Fa  p\        ^ V P                  ^ ,          4       F=  pV^ ,          ^,           pW^ ,           V^,           3,          V^,          ,           WFV3&   K?  	  Kc  	  V# r  r  r  s
   &&&     r   r  /TestManyStencils.test_basic58.<locals>.__kernelm  s    %%a%CJ77177AT*-=>DQ
Q/ AGGAJ/C!qA%&Qwa'7%81Q4%?DcN 0 0 Kr   r  Nr@   r5   r>  r  rk  s   f    @r   test_basic58TestManyStencils.test_basic58e  r  r   c           
        a a R oVV 3R lp\         P                  ! R4      P                  ^^4      p\         P                  ! R4      P                  ^^4      p^
pV! W#VR4      pS P                  SWRW4RRR./R7       R# )	z>3 args, mix of array, relative and standard indexing and constc                 >    V R,          VR,          ,           V,           # r   r   r=  r   r  s   &&&r   rk  -TestManyStencils.test_basic59.<locals>.kernel  s    T7QtW$q((r   c                   < S	P                  WR 7       S! WV4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          ^,
          4       FX  p\        ^ V P                  ^ ,          4       F4  pW^ ,           V^,           3,          VR,          ,           V,           WWV3&   K6  	  KZ  	  V# )r   r   r=  r  r  s
   &&&&    r   r  /TestManyStencils.test_basic59.<locals>.__kernel  s    %%a%CaJ77177AT*-=>DQ
Q/ AGGAJ/C%&Qwa'7%81T7%BQ%FDcN 0 0 Kr   r  Nr@   r5   r.  r>  r  r  s   f     @r   test_basic59TestManyStencils.test_basic59}  s|    	)
	 IIcN""1a(IIcN""1a(A!T*##FH-@3*,M 	$ 	Or   c           	        R p\         P                  ! R4      P                  ^^4      p\         P                  ! R4      P                  ^^4      pR	pV P                  \        R7      pV P                  WW4RRR./VR7       R# )
zH3 args, mix of array, relative and standard indexing,
tuple pass throughc                 L    V R,          VR,          ,           V^ ,          ,           # r  r   r  s   &&&r   rk  -TestManyStencils.test_basic60.<locals>.kernel  s    T7QtW$qt++r   r  )r  r@   r5   r.  rW  N)r  rX  )rT   rk  r   r5   r.  r  s   &     r   test_basic60TestManyStencils.test_basic60  sy    	,IIcN""1a(IIcN""1a(   8f':S#J&G13 	 	5r   c                    R p\         P                  ! R4      P                  ^^4      p\         P                  ! R4      P                  ^^4      pV P                  WVRR/\        R7       R# )z"2 args, standard_indexing on firstc                 0    V R,          VR,          ,           # r  r   r4   s   &&r   rk  -TestManyStencils.test_basic61.<locals>.kernel  rX  r   r  r@   r   rW  N)r|   r   r   r  r  rr  s   &   r   test_basic61TestManyStencils.test_basic61  s]    	%IIcN""1a(IIcN""1a(f':C&@1: 	 	<r   c           
        a a R oVV 3R lp\         P                  ! R4      P                  ^^4      p\         P                  ! R4      P                  ^^4      pV! W#R4      pS P                  SWBVRRRR/R	7       R# )
z"2 args, standard_indexing and cvalc                 0    V R,          VR,          ,           # r  r   r4   s   &&r   rk  -TestManyStencils.test_basic62.<locals>.kernel  rX  r   c                   < SP                  WR 7       S! W4      p\        P                  ! V P                  R\	        V4      R7      p\        ^ V P                  ^,          ^,
          4       FQ  p\        ^ V P                  ^ ,          4       F-  pW^ ,           V^,           3,          VR,          ,           WFV3&   K/  	  KS  	  V# )r   r  r   r=  r  ri  s	   &&&    r   r  /TestManyStencils.test_basic62.<locals>.__kernel  s    %%a%CJ77177DZ0@ADQ
Q/ AGGAJ/C%&Qwa'7%81T7%BDcN 0 0 Kr   r  Nr@   r5   r-   r  r>  r  rk  s   f    @r   test_basic62TestManyStencils.test_basic62  sw    	%
	 IIcN""1a(IIcN""1a(A$'##FH-@#-3S-: 	$ 	;r   c                   R p\         P                  ! R4      P                  ^^4      p\         P                  ! ^4      P                  ^^4      pV P                  \        \        \        R7      pV P                  WVRR/VR7       R# )zI2 args, standard_indexing applied to relative, should fail,
non-const idxc                 &    V ^ VR,          3,          # r  r   r4   s   &&r   rk  -TestManyStencils.test_basic63.<locals>.kernel  s    Q$Z= r   r  rV  r@   r5   rW  NrX  r  s   &    r   test_basic63TestManyStencils.test_basic63  s}    	!IIcN""1a(IIbM!!!Q'  #"  ! " 	f5H#4N13 	 	5r   c                    R p\         P                  ! R4      P                  ^^4      pV P                  WRR/\        \
        .R7       R# )z!1 arg that uses standard_indexingc                     V R,          # r<   r   r   s   &r   rk  -TestManyStencils.test_basic64.<locals>.kernel  r  r   r  r@   r   rW  Nr  rT   rk  r   s   &  r   test_basic64TestManyStencils.test_basic64  sG    	IIcN""1a(f2Es1K2<o1N 	 	Pr   c                   a a R oVV 3R lp\         P                  ! R4      pRpV! W#4      pS P                  SWBRV/R7       R# )zbasic induced neighborhood testc                 \    ^ p\        R^4       F  pWV,          ,          pK  	  V^,          # r   r&   r   cumulr)   s   &  r   rk  -TestManyStencils.test_basic65.<locals>.kernel  ,    E3]1 #2:r   c                 H  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^V P                  ^ ,          4       F9  p^ p\        R^4       F  pWPWF,           ,          ,          pK  	  V^,          W43&   K;  	  V# r   r   r  r  	r   r    r  r  _TestManyStencils__anr  r)   rk  rT   s	   &&     r   r  /TestManyStencils.test_basic65.<locals>.__kernel  s    %%a%CJ77177AT*-=>Db!''!*-sAAtx[(E '#bjU	 .
 Kr         N@r    r>  N)r  r   r  rT   r  r   nhr   rk  s   f    @r   test_basic65TestManyStencils.test_basic65  J    			 IIcNA?##FH-;R,@ 	$ 	Br   c                   a a R oVV 3R lp\         P                  ! R4      pRpV! W#4      pS P                  SWBRV/R7       R# )zbasic const neighborhood testc                 \    ^ p\        R^4       F  pW^ ,          ,          pK  	  V^,          # r  r&   r  s   &  r   rk  -TestManyStencils.test_basic66.<locals>.kernel  r  r   c                 J  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^V P                  ^ ,          4       F:  p^ p\        R^4       F  pWPV^ ,           ,          ,          pK  	  V^,          W43&   K<  	  V# r  r  r  s	   &&     r   r  /TestManyStencils.test_basic66.<locals>.__kernel	  s    %%a%CJ77177AT*-=>Db!''!*-sAAtax[(E '#bjU	 .
 Kr   r!  r    r>  Nr"  r  r#  s   f    @r   test_basic66TestManyStencils.test_basic66  r'  r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^
^4      pRpV! W#4      pS P                  SWBRV/R7       R# )z"basic 2d induced neighborhood testc                     ^ p\        R^4       F&  p\        R^4       F  pWW#3,          ,          pK  	  K(  	  V^2,          # r   r$   r&   r   r  r)   r   s   &   r   rk  -TestManyStencils.test_basic67.<locals>.kernel	  sB    E2q\sAAqtW$E ' " F##r   c           	        < S
P                  WR 7       S	! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^
V P                  ^,          4       Fy  p\        ^V P                  ^ ,          4       FU  p^ p\        R^4       F3  p\        R^4       F   pW`WW,           WH,           3,          ,          pK"  	  K5  	  V^2,          W5V3&   KW  	  K{  	  V# r   r   r$   r2  r  r   r    r  r  _TestManyStencils__bnr  r  r)   r   rk  rT   s   &&       r   r  /TestManyStencils.test_basic67.<locals>.__kernel	  s    %%a%CJ77177AT*-=>Db!''!*-!!QWWQZ0DE"2q\!&sAA!tx'9%::E "/ * (-rzDt$ 1 . Kr   r    r>  N      i@r$   r   r2  r   r  r#  s   f    @r   test_basic67TestManyStencils.test_basic67	  X    	$	 IIi ((R0!A?##FH-;R,@ 	$ 	Br   c                    R p\         P                  ! R4      P                  ^
^4      pV P                  WRR/\        \
        .R7       R# )z basic 2d induced 1D neighborhoodc                 `    ^ p\        R^4       F  pW^ V3,          ,          pK  	  V^2,          # )r   r2  r&   )r   r  r   s   &  r   rk  .TestManyStencils.test_basic67b.<locals>.kernel2	  s2    E3]1a4  #F##r   r    rW  Nr:  )r=  )r|   r   r   r  r   r  r  s   &  r   test_basic67bTestManyStencils.test_basic67b0	  sI    	$
 IIi ((R0f.+1N2=z1J 	 	Lr   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^
^4      pRpV! W#4      pS P                  SWBRV/R7       R# )z0basic 2d one induced, one cost neighborhood testc                     ^ p\        R^4       F'  p\        R^4       F  pWV^ 3,          ,          pK  	  K)  	  V^2,          # r1  r&   r3  s   &   r   rk  -TestManyStencils.test_basic68.<locals>.kernel>	  sD    E2q\sAAq!tW$E ' " F##r   c           	        < S
P                  WR 7       S	! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^
V P                  ^,          4       Fz  p\        ^V P                  ^ ,          4       FV  p^ p\        R^4       F4  p\        R^4       F!  pW`WW,           V^ ,           3,          ,          pK#  	  K6  	  V^2,          W5V3&   KX  	  K|  	  V# r6  r  r7  s   &&       r   r  /TestManyStencils.test_basic68.<locals>.__kernelH	  s    %%a%CJ77177AT*-=>Db!''!*-!!QWWQZ0DE"2q\!&sAA!tx'9%::E "/ * (-rzDt$ 1 . Kr   r    r>  Nr:  r;  r  r#  s   f    @r   test_basic68TestManyStencils.test_basic68<	  sX    	$	 IIi ((R0!A?##FH-;R,@ 	$ 	Br   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^
^4      pRpV! W#4      pS P                  SWBRV/R7       R# )z#basic 2d two cost neighborhood testc                     ^ p\        R^4       F%  p\        R^4       F  pWR,          ,          pK  	  K'  	  V^2,          # )r   r$   r2  r=   r&   r3  s   &   r   rk  -TestManyStencils.test_basic69.<locals>.kernel^	  s@    E2q\sAAtW$E ' " F##r   c           	        < S
P                  WR 7       S	! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^
V P                  ^,          4       F{  p\        ^V P                  ^ ,          4       FW  p^ p\        R^4       F5  p\        R^4       F"  pW`V^ ,           V^ ,           3,          ,          pK$  	  K7  	  V^2,          W5V3&   KY  	  K}  	  V# r6  r  r7  s   &&       r   r  /TestManyStencils.test_basic69.<locals>.__kernelg	  s    %%a%CJ77177AT*-=>Db!''!*-!!QWWQZ0DE"2q\!&sAA!tax'9%::E "/ * (-rzDt$ 1 . Kr   r    r>  Nr:  r;  r  r#  s   f    @r   test_basic69TestManyStencils.test_basic69\	  r@  r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^
^4      pRpV! W#4      pS P                  SWBRV/R7       R# )zneighborhood adding complexityc                     ^ pRp\        R^4       F5  pW#,           p\        R^4       F  pWW53,          V,           ,          pK  	  K7  	  V^2,          # )r   r  r$   r2  r&   r   r  zzr)   r  r   s   &     r   rk  -TestManyStencils.test_basic70.<locals>.kernel|	  sR    EB2q\FsAAqtWq[(E ' " F##r   c           	        < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^
V P                  ^,          4       F  p\        ^V P                  ^ ,          4       Ff  p^ pRp\        R^4       FB  pWx,           p	\        R^4       F'  p
W`WX,           WJ,           3,          V	,           ,          pK)  	  KD  	  V^2,          W5V3&   Kh  	  K  	  V# )r   r   r  r$   r2  r  r   r    r  r  r8  r  r  rW  r)   r  r   rk  rT   s   &&         r   r  /TestManyStencils.test_basic70.<locals>.__kernel	  s    %%a%CJ77177AT*-=>Db!''!*-!!QWWQZ0DEB"2q\F!&sAA!tx'9%:Q%>>E "/ * (-rzDt$ 1 . Kr   r    r>  Nr:  r;  r  r#  s   f    @r   test_basic70TestManyStencils.test_basic70z	  sX    	$	 IIi ((R0!A?##FH-;R,@ 	$ 	Br   c                   a a R oVV 3R lp\         P                  ! R4      pRpV! W#4      pS P                  SWBRV/R7       R# )zneighborhood, type changec                     ^ p\        R^4       F$  pRpVR8  d   RpWV,          V,           ,          pK&  	  V^,          # )r           rx  r  r&   )r   r  r)   r  s   &   r   rk  -TestManyStencils.test_basic71.<locals>.kernel	  sD    E3]s7A1!	 #
 2:r   c                 l  < S	P                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^V P                  ^ ,          4       FK  p^ p\        R^4       F*  pRpVR8  d   RpWPWF,           ,          V,           ,          pK,  	  V^,          W43&   KM  	  V# )r   r   r`  rx  r  ra  r  )
r   r    r  r  r  r  r)   r  rk  rT   s
   &&      r   r  /TestManyStencils.test_basic71.<locals>.__kernel	  s    %%a%CJ77177AT*-=>Db!''!*-sAAA3w tx[1_,E	 '
 $bjU . Kr   r!  r    r>  Nr"  r  r#  s   f    @r   test_basic71TestManyStencils.test_basic71	  sJ    		 IIcNA?##FH-;R,@ 	$ 	Br   c                   a a R oVV 3R lp\         P                  ! R4      pRpV! W#4      pS P                  SWBRV/R7       R# )z+neighborhood, narrower range than specifiedc                 \    ^ p\        RR4       F  pWV,          ,          pK  	  V^,          # )r   r  r&   r  s   &  r   rk  -TestManyStencils.test_basic72.<locals>.kernel	  ,    E3^1 $2:r   c                 H  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^V P                  ^ ,          4       F9  p^ p\        RR4       F  pWPWF,           ,          ,          pK  	  V^,          W43&   K;  	  V# )r   r   ri  r  r  r  s	   &&     r   r  /TestManyStencils.test_basic72.<locals>.__kernel	      %%a%CJ77177AT*-=>Db!''!*-sBAtx[(E (#bjU	 .
 Kr   r!  r    r>  Nr"  r  r#  s   f    @r   test_basic72TestManyStencils.test_basic72	  r'  r   c                   a a R oVV 3R lp\         P                  ! R4      pRpV! W#4      pS P                  SWBRV/R7       R# )zneighborhood, +ve rangec                 \    ^ p\        ^^4       F  pWV,          ,          pK  	  V^,          # r   r&   r  s   &  r   rk  -TestManyStencils.test_basic73.<locals>.kernel	  s,    E1b\1 "2:r   c                 V  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^ ,          ^
,
          4       F9  p^ p\        ^^4       F  pWPWF,           ,          ,          pK  	  V^,          W43&   K;  	  V# r  r  r  s	   &&     r   r  /TestManyStencils.test_basic73.<locals>.__kernel	  s    %%a%CJ77177AT*-=>Dab1q"Atx[(E &#bjU	 2
 Kr   r!  r    r>  N))r"   r  r  r#  s   f    @r   test_basic73TestManyStencils.test_basic73	  sJ    			 IIcNA?##FH-;R,@ 	$ 	Br   c                   a a R oVV 3R lp\         P                  ! R4      pRpV! W#4      pS P                  SWBRV/R7       R# )zneighborhood, -ve rangec                 \    ^ p\        RR4       F  pWV,          ,          pK  	  V^,          # )r   r2  r%   r&   r  s   &  r   rk  .TestManyStencils.test_basic73b.<locals>.kernel	  rk  r   c                 H  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^
V P                  ^ ,          4       F9  p^ p\        RR4       F  pWPWF,           ,          ,          pK  	  V^,          W43&   K;  	  V# )r   r   r2  r%   r  r  s	   &&     r   r  0TestManyStencils.test_basic73b.<locals>.__kernel	  rn  r   r!  r    r>  N))r2  r$   r  r#  s   f    @r   test_basic73bTestManyStencils.test_basic73b	  sJ    			 IIcNA?##FH-;R,@ 	$ 	Br   c                   a a R oVV 3R lp\         P                  ! R4      pRpV! W#4      pS P                  SWBRV/R7       R# )z!neighborhood, -ve->+ve range spanc                 \    ^ p\        R^4       F  pWV,          ,          pK  	  V^,          # )r   r$   r&   r  s   &  r   rk  -TestManyStencils.test_basic74.<locals>.kernel
  s,    E2r]1 #2:r   c                 V  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^V P                  ^ ,          ^
,
          4       F9  p^ p\        R^4       F  pWPWF,           ,          ,          pK  	  V^,          W43&   K;  	  V# )r   r   r$   r  r  s	   &&     r   r  /TestManyStencils.test_basic74.<locals>.__kernel
  s    %%a%CJ77177AT*-=>Dab1r2Atx[(E '#bjU	 2
 Kr   r!  r    r>  N))r$   r  r  r#  s   f    @r   test_basic74TestManyStencils.test_basic74
  r'  r   c                   a a R oVV 3R lp\         P                  ! R4      pRpV! W#4      pS P                  SWBRV/R7       R# )z!neighborhood, -ve->-ve range spanc                 \    ^ p\        RR4       F  pWV,          ,          pK  	  V^,          # )r   r2  r   r&   r  s   &  r   rk  -TestManyStencils.test_basic75.<locals>.kernel+
  rk  r   c                 H  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^
V P                  ^ ,          4       F9  p^ p\        RR4       F  pWPWF,           ,          ,          pK  	  V^,          W43&   K;  	  V# )r   r   r2  r   r  r  s	   &&     r   r  /TestManyStencils.test_basic75.<locals>.__kernel4
  rn  r   r!  r    r>  N))r2  r0   r  r#  s   f    @r   test_basic75TestManyStencils.test_basic75)
  sJ    			 IIcNA?##FH-;R,@ 	$ 	Br   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^
^4      pRpV! W#4      pS P                  SWBRV/R7       R# )zneighborhood, mixed range spanc                     ^ pRp\        R^ 4       F5  pW#,           p\        R^4       F  pWW53,          V,           ,          pK  	  K7  	  V^2,          # )r   r  r  r&   rV  s   &     r   rk  -TestManyStencils.test_basic76.<locals>.kernelG
  sR    EB2q\Fr1AqtWq[(E & " F##r   c           	        < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^V P                  ^,          ^,
          4       F  p\        ^V P                  ^ ,          4       Ff  p^ pRp\        R^ 4       FB  pWx,           p	\        R^4       F'  p
W`WX,           WJ,           3,          V	,           ,          pK)  	  KD  	  V^2,          W5V3&   Kh  	  K  	  V# )r   r   r  r  r  rZ  s   &&         r   r  /TestManyStencils.test_basic76.<locals>.__kernelS
  s    %%a%CJ77177AT*-=>Daa0!!QWWQZ0DEB"2q\F!&r1A!tx'9%:Q%>>E ". * (-rzDt$ 1 1 Kr   r    r>  Nr:  ))r  r   )r  rw   r  r#  s   f    @r   test_basic76TestManyStencils.test_basic76E
  sX    	$	 IIi ((R0!A?##FH-;R,@ 	$ 	Br   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^
^4      p\         P                  ! R4      P                  ^
^4      pRpV! W#V4      pS P                  SWRVRV/R7       R# )zneighborhood, two args c                     ^ p\        R^4       F5  p\        R^4       F"  pW W43,          WV3,          ,           ,          pK$  	  K7  	  VR,          # r   ry  r  r&   r   r5   r  r)   r   s   &&   r   rk  -TestManyStencils.test_basic77.<locals>.kernelj
  L    E2q\r1AqtWqAw..E & " B<r   c           
        < SP                  WVR 7       S
! W4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^V P                  ^,          4       F  p\        ^V P                  ^ ,          4       Fq  p^ p\        R^4       FO  p\        R^4       F<  p	WpWh,           WY,           3,          WV,           WY,           3,          ,           ,          pK>  	  KQ  	  VR,          WFV3&   Ks  	  K  	  V# r   r   ry  r  r  r   r5   r    r  r  r8  r  r  r)   r   rk  rT   s   &&&       r   r  /TestManyStencils.test_basic77.<locals>.__kernels
  s    %%a%FJ77177AT*-=>Da,!!QWWQZ0DE"2q\!&r1A!$((:&;&'q$((:&;'< =E ". * (-s{Dt$ 1 - Kr   r    r>  Nr:  r  r   r  r  rT   r  r   r5   r$  r   rk  s   f     @r   test_basic77TestManyStencils.test_basic77h
  x    	 	 IIi ((R0IIi ((R0 A"%##FH-;R,@ 	$ 	Br   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      p\         P                  ! R4      P                  ^^4      pRpV! W#V4      pS P                  SWRVRV/R7       R# )z-neighborhood, two args, -ve range, -ve range c                     ^ p\        RR4       F5  p\        RR4       F"  pW W43,          WV3,          ,           ,          pK$  	  K7  	  VR,          # )r   ry  r0   r   r&   r  s   &&   r   rk  -TestManyStencils.test_basic78.<locals>.kernel
  sL    E2r]r2AqtWqAw..E ' # B<r   c           
        < SP                  WVR 7       S
! W4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^V P                  ^,          4       F  p\        ^V P                  ^ ,          4       Fq  p^ p\        RR4       FO  p\        RR4       F<  p	WpWh,           WY,           3,          WV,           WY,           3,          ,           ,          pK>  	  KQ  	  VR,          WFV3&   Ks  	  K  	  V# )r   r   ry  r  r0   r  r   r  r  s   &&&       r   r  /TestManyStencils.test_basic78.<locals>.__kernel
  s    %%a%FJ77177AT*-=>Da,!!QWWQZ0DE"2r]!&r2A!$((:&;&'q$((:&;'< =E "/ + (-s{Dt$ 1 - Kr   r    r>  N     r@)r  r  )r  r0   r  r  s   f     @r   test_basic78TestManyStencils.test_basic78
  sx    	 	 IIi ((R0IIi ((R0"A"%##FH-;R,@ 	$ 	Br   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^^4      p\         P                  ! R4      P                  ^^4      pRpV! W#V4      pS P                  SWRVRV/R7       R# )z-neighborhood, two args, -ve range, +ve range c                     ^ p\        RR4       F5  p\        ^^
4       F"  pW W43,          WV3,          ,           ,          pK$  	  K7  	  VR,          # )r   ry  r  r0   r&   r  s   &&   r   rk  .TestManyStencils.test_basic78b.<locals>.kernel
  sL    E2r]q"AqtWqAw..E & # B<r   c           
        < SP                  WVR 7       S
! W4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          ^	,
          4       F  p\        ^V P                  ^ ,          4       Fq  p^ p\        RR4       FO  p\        ^^
4       F<  p	WpWh,           WY,           3,          WV,           WY,           3,          ,           ,          pK>  	  KQ  	  VR,          WFV3&   Ks  	  K  	  V# )r   r   ry  r  r0   r  r  s   &&&       r   r  0TestManyStencils.test_basic78b.<locals>.__kernel
  s    %%a%FJ77177AT*-=>Daa0!!QWWQZ0DE"2r]!&q"A!$((:&;&'q$((:&;'< =E ". + (-s{Dt$ 1 1 Kr   r    r>  Nr  )r  )r1   	   r  r  s   f     @r   test_basic78bTestManyStencils.test_basic78b
  r  r   c                   R p\         P                  ! R4      P                  ^
^4      p\         P                  ! R4      P                  ^
^
^4      pV P                  \        \        \        R7      pV P                  WVRR/VR7       R# )z$neighborhood, two incompatible args c                     ^ p\        R^4       F5  p\        R^4       F"  pW W43,          WV3,          ,           ,          pK$  	  K7  	  VR,          # r  r&   r  s   &&   r   rk  -TestManyStencils.test_basic79.<locals>.kernel
  r  r   rV  r    rW  Nr:  r  )r|   r   r   r  r   r  r  s   &    r   test_basic79TestManyStencils.test_basic79
  s    	  IIi ((R0IIi ((R3   !  	f^5H5J13 	 	5r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^
^4      pRpRpV! W#V4      pS P                  SWRVRV/R7       R# )	zneighborhood, type change c                     ^ p\        R^4       F-  p\        R^4       F  pW W43,          V,           ,          pK  	  K/  	  VR,          # r  r&   r  s   &&   r   rk  -TestManyStencils.test_basic80.<locals>.kernel
  sE    E2q\r1AqtWq[(E & " B<r   c           	        < SP                  WVR 7       S
! W4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^V P                  ^,          4       F  p\        ^V P                  ^ ,          4       F\  p^ p\        R^4       F:  p\        R^4       F'  p	WpWh,           WY,           3,          V,           ,          pK)  	  K<  	  VR,          WFV3&   K^  	  K  	  V# r  r  r  s   &&&       r   r  /TestManyStencils.test_basic80.<locals>.__kernel
  s    %%a%FJ77177AT*-=>Da,!!QWWQZ0DE"2q\!&r1A!tx'9%:Q%>>E ". * (-s{Dt$ 1 - Kr   y              (@r    r>  Nr:  r  r  r  s   f     @r   test_basic80TestManyStencils.test_basic80
  sb    	 	 IIi ((R0A"%##FH-;R,@ 	$ 	Br   c                    R p\         P                  ! R4      P                  ^
^4      pV^ ,          P                  4       pV P	                  \
        \        \
        R7      pV P                  WVRR/VR7       R# )z0neighborhood, dimensionally incompatible arrays c                     ^ p\        R^4       F3  p\        R^4       F   pW W43,          W,          ,           ,          pK"  	  K5  	  VR,          # r  r&   r  s   &&   r   rk  -TestManyStencils.test_basic81.<locals>.kernel
  sG    E2q\r1AqtWqt^+E & " B<r   rV  r    rW  Nr:  r  )r|   r   r   copyr  r   r|  r  r  s   &    r   test_basic81TestManyStencils.test_basic81
  sv    	  IIi ((R0aDIIK  ! !  	f'57I&J13 	 	5r   c           
        a a R oVV 3R lp\         P                  ! R4      P                  ^
^4      pVP                  4       pR	pV! W#V4      pS P	                  SWRVRVRR/R7       R# )
z$neighborhood, with standard_indexingc                     ^ p\        R^4       F4  p\        R^4       F!  pW W43,          VR,          ,           ,          pK#  	  K6  	  VR,          # r   ry  r  r   rw   r&   r  s   &&   r   rk  -TestManyStencils.test_basic82.<locals>.kernel  J    E2q\r1AqtWqw..E & " B<r   c           	        < SP                  WVR 7       S
! W4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^V P                  ^,          4       F  p\        ^V P                  ^ ,          4       Fc  p^ p\        R^4       FA  p\        R^4       F.  p	WpWh,           WY,           3,          VR,          ,           ,          pK0  	  KC  	  VR,          WFV3&   Ke  	  K  	  V# )r   r   ry  r  r  r  r  s   &&&       r   r  /TestManyStencils.test_basic82.<locals>.__kernel  s    %%a%FJ77177AT*-=>Da,!!QWWQZ0DE"2q\!&r1A!tx'9%:QtW%DDE ". * (-s{Dt$ 1 - Kr   r    r@   r5   r>  Nr:  r  r|   r   r   r  r  r  s   f     @r   test_basic82TestManyStencils.test_basic82  sp    	 	 IIi ((R0FFHA"%##FH-;R-@#-G 	$ 	Hr   c                B  a a R o\         P                  ! R
4      P                  ^
^4      pVP                  4       pVV 3R lp\         P                  ! R
4      P                  ^
^4      pVP                  4       pRpV! WV4      pS P	                  SWQVRVRRRR/R7       R	# )z-neighborhood, with standard_indexing and cvalc                     ^ p\        R^4       F4  p\        R^4       F!  pW W43,          VR,          ,           ,          pK#  	  K6  	  VR,          # r  r&   r  s   &&   r   rk  -TestManyStencils.test_basic83.<locals>.kernel-  r  r   c           	        < SP                  WVR 7       S
! W4      p\        P                  ! V P                  R\	        V4      R7      p\        ^V P                  ^,          4       F  p\        ^V P                  ^ ,          4       Fc  p^ p\        R^4       FA  p\        R^4       F.  p	WpWh,           WY,           3,          VR,          ,           ,          pK0  	  KC  	  VR,          WFV3&   Ke  	  K  	  V# )r         ?r   ry  r  r  r  r  s   &&&       r   r  /TestManyStencils.test_basic83.<locals>.__kernel9  s    %%a%FJ77177CtJ/?@Da,!!QWWQZ0DE"2q\!&r1A!tx'9%:QtW%DDE ". * (-s{Dt$ 1 - Kr   r    r@   r5   r-   r  r>  Nr:  r  r  )rT   r   r5   r  r$  r   rk  s   f     @r   test_basic83TestManyStencils.test_basic83+  s    	  IIi ((R0FFH
	 IIi ((R0FFHA"%##FH-;R-@#-3S-; 	$ 	<r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^
^4      pV! VR4      pS P                  SW24       R# )zkernel calls njit c                 B    V R,          \        V R,          4      ,           # r   r=   r   )rH   r   s   &r   rk  -TestManyStencils.test_basic84.<locals>.kernelQ      T7[4111r   c           	        < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          ^,
          4       Fs  p\        ^ V P                  ^ ,          4       FO  pW^ ,           V^ ,           3,          \        P                  W^ ,           V^,           3,          4      ,           W5V3&   KQ  	  Ku  	  V# r  )r  r|   r  r  r  r'   rH   py_funcr  s   &&    r   r  /TestManyStencils.test_basic84.<locals>.__kernelV      %%a%CJ77177AT*-=>DQ
Q/ AGGAJ/C&'aq(8&9&1&9&9!!GS1W<L:M&N'ODcN 0 0 Kr   Nr:  r  r  s   f   @r   test_basic84TestManyStencils.test_basic84O  sF    	2
	 IIi ((R0At$##FH8r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^
^4      pV! VR4      pS P                  SW24       R# )z kernel calls njit(parallel=True)c                 B    V R,          \        V R,          4      ,           # r  )rL   r   s   &r   rk  -TestManyStencils.test_basic85.<locals>.kernelf  r  r   c           	        < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          ^,
          4       Fs  p\        ^ V P                  ^ ,          4       FO  pW^ ,           V^ ,           3,          \        P                  W^ ,           V^,           3,          4      ,           W5V3&   KQ  	  Ku  	  V# r  )r  r|   r  r  r  r'   rL   r  r  s   &&    r   r  /TestManyStencils.test_basic85.<locals>.__kernell  r  r   Nr:  r  r  s   f   @r   test_basic85TestManyStencils.test_basic85d  sF    	2	 IIi ((R0At$##FH8r   c                    R p\         P                  ! R4      P                  ^
^4      pV P                  WR^
/\        \
        .R7       R# )z
bad kwarg c                     V R,          # r<   r   r   s   &r   rk  -TestManyStencils.test_basic86.<locals>.kernel}  r  r   badrW  Nr:  )r|   r   r   r  r  r   r  s   &  r   test_basic86TestManyStencils.test_basic86{  sH    	 IIi ((R0f%2<k1J 	 	Lr   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^
^4      pV! VR4      pS P                  SW24       R# )zreserved arg name in use c                     V R,          # r<   r   )__sentinel__s   &r   rk  -TestManyStencils.test_basic87.<locals>.kernel  s    %%r   c                 \  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          4       FC  p\        ^ V P                  ^ ,          4       F  pW^ ,           V^ ,           3,          W5V3&   K!  	  KE  	  V# r  r  )r  r    r  r  r  r   rk  rT   s   &&    r   r  /TestManyStencils.test_basic87.<locals>.__kernel  s    %%l%N-J77<--qZ8HIDQ 2 21 56 L$6$6q$9:C%1'372B%CDcN ; 7 Kr   Nr:  r  r  s   f   @r   test_basic87TestManyStencils.test_basic87  sF    	&
	 IIi ((R0At$##FH8r   c                    R p\         P                  ! R4      P                  ^^4      pV P                  \        \        \        R7      pV P                  WR/ VR7       R# )zuse of reserved word c                      WR,          ,          # r  r   )r   r   s   &&r   rk  -TestManyStencils.test_basic88.<locals>.kernel  s    4= r   r  rV  r+   rW  NrX  rY  s   &   r   test_basic88TestManyStencils.test_basic88  sX    	!IIcN""1a(  #"  ! " 	fbRPr   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^
^4      pV! VR4      pS P                  SW24       R# )zbasic multiple returnc                 T    V R,          ^
8  d   R# V R,          ^8  d
   V R,          # R# )r   r  r   r   r  r=   r   r   s   &r   rk  -TestManyStencils.test_basic89.<locals>.kernel  s'    w|41wr   c                   < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          ^,
          4       F  p\        ^ V P                  ^ ,          4       Fi  pW^ ,           V^,           3,          ^
8  d	   RW5V3&   K(  W^ ,           V^,           3,          ^8  d   W^ ,           V^ ,           3,          W5V3&   Kc  RW5V3&   Kk  	  K  	  V# )r   r   r  r   r  r  s   &&    r   r  /TestManyStencils.test_basic89.<locals>.__kernel  s    %%a%CJ77177AT*-=>DQ
Q/ AGGAJ/Cq#')*R/)-#X7C!G+,q0)*7C!G+;)<#X),#X 0 0 Kr   Nr:  r  r  s   f   @r   test_basic89TestManyStencils.test_basic89  sF    		 IIi ((R0At$##FH8r   c                   a a R oVV 3R lp\         P                  ! R
4      P                  ^
^4      pVP                  4       pRpV! W#V4      pS P	                  SWRVRVRRRR/R7       R	# )z?neighborhood, with standard_indexing and cval, multiple returnsc                     ^ p\        R^4       F4  p\        R^4       F!  pW W43,          VR,          ,           ,          pK#  	  K6  	  VR,          pVR8  d
   VR,           # V# )r   ry  r:  r+   r  r  r&   )r   r5   r  r)   r   ress   &&    r   rk  -TestManyStencils.test_basic90.<locals>.kernel  s_    E2q\r1AqtWqw..E & " 2,CU{Sy 
r   c           	        < SP                  WVR 7       S! W4      p\        P                  ! V P                  R\	        V4      R7      p\        ^V P                  ^,          4       F  p\        ^V P                  ^ ,          4       Fz  p^ p\        R^4       FA  p\        R^4       F.  p	WpWh,           WY,           3,          VR,          ,           ,          pK0  	  KC  	  VR,          p
V
R8  d   V
R,           WFV3&   Ku  WWe3&   K|  	  K  	  V# )r   r  r   ry  r:  r+   r  r  r  )r   r5   r    r  r  r8  r  r  r)   r   r
  rk  rT   s   &&&        r   r  /TestManyStencils.test_basic90.<locals>.__kernel  s    %%a%FJ77177CtJ/?@Da,!!QWWQZ0DE"2q\!&r1A!tx'9%:QtW%DDE ". *  #+CU{+.94Z(+.TZ( 1 - Kr   r    r@   r5   r-   r  r>  Nr:  r  r  r  s   f     @r   test_basic90TestManyStencils.test_basic90  ss    			" IIi ((R0FFHA"%##FH-;R-@#-3S-; 	$ 	<r   c                   a a R oVV 3R lp\         P                  ! R4      P                  ^
^4      pV! VR4      pS P                  SW24       R# )z>Issue #3454, const(int) == const(int) evaluating incorrectly. c                 8    ^ p^^ 8X  d   ^pV R,          V,           # r<   r   r4   s   & r   rk  -TestManyStencils.test_basic91.<locals>.kernel  s!    AQT7Q;r   c                   < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^ V P                  ^,          4       FU  p\        ^ V P                  ^ ,          4       F1  p^ p^^ 8X  d   ^pW^ ,           V^ ,           3,          V,           W5V3&   K3  	  KW  	  V# r  r  )	r   r    r  r  r  r   r5   rk  rT   s	   &&     r   r  /TestManyStencils.test_basic91.<locals>.__kernel  s    %%a%CJ77177AT*-=>DQ
+ AGGAJ/CAAv%&Qwa'7%81%<DcN	 0 , Kr   Nr:  r  r  s   f   @r   test_basic91TestManyStencils.test_basic91  sF    	
	 IIi ((R0At$##FH8r   c                  a a R oVV 3R lp\         P                  ! \         P                  ! ^4      ^,          4      P                  ^^4      P	                  \         P
                  4      pV! VR4      pS P                  SW24       R# )6Issue #3497, bool return type evaluating incorrectly. c                     V R,          V R,          ,          V R,          ,          V R,          ,          V R,          ,          V R,          ,          V R,          ,          V R,          ,          V R	,          ,          # 
r   rE  r   r-  r   r=   r   rB   r   r=  r   r   s   &r   rk  -TestManyStencils.test_basic92.<locals>.kernel  h    fI%(1U83eH w')*41eH w')*41 2r   c                 P  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^V P                  ^,          ^,
          4       EF5  p\        ^V P                  ^ ,          ^,
          4       EF  pWR,           VR,           3,          WR,           V^ ,           3,          ,          WR,           V^,           3,          ,          W^ ,           VR,           3,          ,          W^ ,           V^ ,           3,          ,          W^ ,           V^,           3,          ,          W^,           VR,           3,          ,          W^,           V^ ,           3,          ,          W^,           V^,           3,          ,          W5V3&   EK  	  EK8  	  V# r  r  r  s   &&    r   r  /TestManyStencils.test_basic92.<locals>.__kernel  `   %%a%CJ77177AT*-=>DQ
Q/ AGGAJN3C&'b#((:&;&'b#'(9&:';&'b#'(9&:'; '(ar(9&:'; '(aq(8&9	':
 '(aq(8&9': '(ar(9&:'; '(aq(8&9': '(aq(8&9':DcN 4 0 Kr   Nr|   r*  r   r   r  r  r  rT   r  r   r   rk  s   f   @r   test_basic92TestManyStencils.test_basic92  sb    	2	" HHRYYr]Q&'//15<<RXXFAt$##FH8r   c                  a a R oVV 3R lp\         P                  ! \         P                  ! ^4      ^,          4      P                  ^^4      P	                  \         P
                  4      pV! VR4      pS P                  SW2RR/R7       R# )r  c                     V R,          V R,          ,          V R,          ,          V R,          ,          V R,          ,          V R,          ,          V R,          ,          V R,          ,          V R	,          ,          # r  r   r   s   &r   rk  -TestManyStencils.test_basic93.<locals>.kernel%  r  r   c                 P  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^\	        V4      R7      p\        ^V P                  ^,          ^,
          4       EF5  p\        ^V P                  ^ ,          ^,
          4       EF  pWR,           VR,           3,          WR,           V^ ,           3,          ,          WR,           V^,           3,          ,          W^ ,           VR,           3,          ,          W^ ,           V^ ,           3,          ,          W^ ,           V^,           3,          ,          W^,           VR,           3,          ,          W^,           V^ ,           3,          ,          W^,           V^,           3,          ,          W5V3&   EK  	  EK8  	  V# r  r  r  s   &&    r   r  /TestManyStencils.test_basic93.<locals>.__kernel,  r  r   Nr-   Tr>  r   r!  s   f   @r   test_basic93TestManyStencils.test_basic93#  sk    	2	" HHRYYr]Q&'//15<<RXXFAt$##FH&$#Pr   c                   a a R oVV 3R lp\         P                  ! ^\         P                  R7      P                  ^^4      pRpV! W#4      pS P	                  SWBRV/R7       R# )z!Issue #3528. Support for slices. c                 H    \         P                  ! V R^1R^13,          4      # rB   r|   medianr   s   &r   rk  -TestManyStencils.test_basic94.<locals>.kernelC  !    99Qr!tRTz]++r   c           	        < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^V P                  ^,          ^,
          4       Fp  p\        ^V P                  ^ ,          ^,
          4       FE  p\        P                  ! WR,           V^,           1VR,           V^,           13,          4      W5V3&   KG  	  Kr  	  V# r  r  r|   r  r  r  r'   r.  )r   r    r  r  r8  r  rk  rT   s   &&    r   r  /TestManyStencils.test_basic94.<locals>.__kernelH  s    %%a%CJ77177AT*-=>Daa0!!QWWQZ!^4D')yy"9TAX3E37"9TAX3E4F 2G (HDt$ 5 1 Kr   r   r    r>  Nr-  r-  )r|   r   uint32r   r  r#  s   f    @r   test_basic94TestManyStencils.test_basic94A  s^    	,
	 IIb		*221a8 A?##FH-;R,@ 	$ 	Br   znot yet supportedc                    R pR# )zSlice, calculate neighborhood. c                 H    \         P                  ! V R^1R^13,          4      # )r   r   r  r-  r   s   &r   rk  -TestManyStencils.test_basic95.<locals>.kernel[  r0  r   Nr   r  s   & r   test_basic95TestManyStencils.test_basic95X  s    	,r   c                   a a R oVV 3R lp\         P                  ! ^\         P                  R7      pRpV! W#4      pS P                  SWBRV/R7       R# )z
1D slice. c                 4    \         P                  ! V R^ 4      # rB   r-  r   s   &r   rk  -TestManyStencils.test_basic96.<locals>.kernela  s    99Qr!W%%r   c                 <  < SP                  WR 7       S! V 4      p\        P                  ! V P                  ^ \	        V4      R7      p\        ^V P                  ^ ,          ^,
          4       F,  p\        P                  ! WR,           V^,            4      W43&   K.  	  V# r  r2  )r   r    r  r  r  rk  rT   s   &&   r   r  /TestManyStencils.test_basic96.<locals>.__kernelf  sy    %%a%CJ77177AT*-=>Daa0 ii)D1H(=>U 1Kr   r   r    r>  N)r-  )r|   r   r5  r  r#  s   f    @r   test_basic96TestManyStencils.test_basic96_  sQ    	&
	 IIb		*A?##FH-;R,@ 	$ 	Br   c                    R pR# )z2D slice and index. c                 D    \         P                  ! V R^1^3,          4      # rB   r-  r   s   &r   rk  -TestManyStencils.test_basic97.<locals>.kernelw  s    99Qr!tQwZ((r   Nr   r  s   & r   test_basic97TestManyStencils.test_basic97t  s    	)r   c           
     H  a aa \         P                  \         P                  \         P                  ) \        R4      \        R4      ) 3 FU  oR oVVV 3R lp\         P                  ! R4      P                  R	4      pR
pV! W#4      pS P                  SWBRVRS/R7       KW  	  R# )r  r  c                     V R,          # r<   r   r   s   &r   rk  -TestManyStencils.test_basic98.<locals>.kernel  s    wr   c                 x  < SP                  WR 7       S! V 4      p\        P                  ! V P                  S\	        V4      R7      p\        ^V P                  ^,          ^,
          4       FJ  p\        ^V P                  ^ ,          ^,
          4       F  pW^ ,           V^ ,           3,          W5V3&   K!  	  KL  	  V# r  r  )	r   r    r  r  r8  r  r-   rk  rT   s	   &&    r   r  /TestManyStencils.test_basic98.<locals>.__kernel  s    ))!)G#AY
wwqwwD4DE!!QWWQZ!^4D %aa 8+,AXtax-?+@4Z( !9 5 r   g      @r    r-   r>  N)r1   rw   r4  )r|   r  r  r  r   r   r  )rT   r  r   r$  r   r-   rk  s   f    @@r   test_basic98TestManyStencils.test_basic98{  s     VVRVVbffWeElU5\MJD
 		"%%f-A$BH''1?171> ( ?' Kr   r   )wr   r   r   r   rS   r  r  r  r  r  r  r  r"  r)  r2  r9  rA  rK  rS  r[  rb  ri  rq  rz  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  unittestskipr  r   r&  r.  r7  r?  rH  rQ  rZ  ra  rl  rs  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>  rD  rK  rR  r\  re  ro  rv  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r"  r)  r6  r;  rB  rG  rN  r   r   r   r   s   @@r   r  r  }  s    @X,td,L	L9,9,9,9,9,9,9,9,9,9,9*9*9*9*9*9.9,9,9,9,9,9,9,909.LP92989,M9*9, ]]56 79*M9(92N(N.?0
5<6<*QQ<0PPP?694H. ]];<& =&PH05H0H4H@H0H0O05<;.5PB8B6B<	LB@B< BDBBB6B6B6B6B8!BFB@B@B@5$B>5$H@"<H9*9.L9(	Q9<'<R949>Q<B. ]]&', (,B* ]]&') ()? ?r   r  __main__)r<  )r5   )(numpyr|   
contextlibr   rm   r   r   
numba.corer   r   numba.core.compilerr   r	   numba.core.cpur
   numba.tests.supportr   r   numba.core.errorsr   r   r   rP  r  r   r*   r2   r6   r:   r?   rC   rE   rH   rL   TestCaserN   r   r  r   mainr   r   r   <module>r\     sp    %   & 4 * @ I I  ,  	< 	< 	k" # 	c  	< 	<
 	9 	9
 	+ 	+ 	6"& #& 	6"9 #9
   	4 4Gh'' 4Gnt>/ t>n U(? U(? U(?pP zMMO r   