+
    :ip                     h   ^ RI t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIH	t	H
t
Ht ^ RIHtHtHtHtHtHtHtHt ^ RIHtHtHtHt ^ RIHtHt ^ RIHtHtH t  ^ R	I!H"t" ^ R
I#H$t$H%t%H&t&H't'H(t(H)t)H*t*H+t+H,t,H-t- ^ RI.H/t/H0t0H1t1H2t2 ^ RI3H4t4H t H5t5 ^ RI6H7t7 ^ RI8t8]t9]7! R]Pt                  3R]Pt                  3.4       ! R R];4      4       t<R"t=R#t> ! R R]4      t?]5! RRR7       ! R R]44      4       t@ ! R R]4      tA ! R R]4      tB ! R R]4      tC ! R R ]4      tD]ER!8X  d   ]8P                  ! 4        R# R# )$    N)
namedtuple)StringIO)njittypeofprange)typestypingirbytecodepostproccpuregistryutils)TestCasetagskip_parfors_unsupportedskip_unless_scipy)EquivSetArrayAnalysis)CompilerFlagsPassManager)remove_dead)
ExtractByteCodeTranslateByteCode	FixupArgsIRProcessingDeadBranchPruneRewriteSemanticConstantsGenericRewritesWithLifting
PreserveIRInlineClosureLikes)NopythonTypeInferenceAnnotateTypesNopythonRewritesIRLegalization)FunctionPassr   register_pass)jitclassLTc                   &   a  ] tR t^)t o R tRtV tR# )ExampleClass3700c                .    Wn         V^,           V n        R#    Nr+   r,   )selfns   &&]/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/tests/test_array_analysis.py__init__ExampleClass3700.__init__+   s    Q    r2   N)__name__
__module____qualname____firstlineno__r6   __static_attributes____classdictcell____classdict__s   @r5   r.   r.   )   s      r8   r.   c                   0   a  ] tR t^5t o RtR tR tRtV tR# )TestEquivSetz
Test array_analysis.EquivSet.
c                   \        4       pVP                  R R4       V P                  VP                  R R4      4       V P                  VP                  RR 4      4       VP                  RR4       V P                  VP                  RR4      4       V P	                  VP                  RR 4      4       VP                  R R4       V P                  VP                  R RRR4      4       V P	                  VP                  R R4      4       R# abcdeN)r   insert_equiv
assertTrueis_equivassertFalse)r3   s1s   & r5   test_insert_equivTestEquivSet.test_insert_equiv:   s    Z
S!C-.C-.
S!C-.S#./
S!Cc378S#./r8   c                J   \        4       p\        4       pVP                  V4      pV P                  VP                  4       4       VP	                  R R4       VP                  V4      pV P                  VP                  4       4       VP	                  RR4       VP                  V4      pV P                  VP                  4       4       VP	                  RR 4       VP                  V4      pV P                  VP                  4       4       VP	                  R R4       VP	                  RR4       VP                  V4      pV P                  VP                  R R4      4       V P                  VP                  R R4      4       V P                  VP                  RR4      4       R# rD   )r   	intersectrK   is_emptyrJ   rL   rM   )r3   rN   s2rs   &   r5   test_intersectTestEquivSet.test_intersectF   s-   ZZLL

%
S!LL

%
S!LL

%
S!LL

%
S!
S!LL

3,-C-.C-.r8    N)	r9   r:   r;   r<   __doc__rO   rV   r=   r>   r?   s   @r5   rB   rB   5   s     
0/ /r8   rB   FT)analysis_onlymutates_CFGc                   0   a  ] tR t^\t o RtR tR tRtV tR# )ArrayAnalysisPassarray_analysis_passc                2    \         P                  ! V 4       R # N)r(   r6   )r3   s   &r5   r6   ArrayAnalysisPass.__init__`   s    d#r8   c                .   \        VP                  VP                  VP                  VP                  4      Vn        VP
                  P                  VP                  P                  4       \        P                  ! VP                  4      pVP                  4        VP                  P                  VP                  P                  4       4       VP                  '       d6   \        VP                  4      ^8  d   VP                  VP                  4       R# )r1   F)r   	typingctxfunc_irtypemap	calltypesarray_analysisrunblocksr   PostProcessorfunc_ir_copiesappendcopytest_idempotencelen)r3   state	post_procs   && r5   run_passArrayAnalysisPass.run_passc   s    ,U__emm-2]]EOO M  !5!56**5==9	##EMM$6$6$89!!!c%*>*>&?!&C""5#7#78r8   rX   N)	r9   r:   r;   r<   _namer6   rr   r=   r>   r?   s   @r5   r]   r]   \   s     !E$	 	r8   r]   c                   >   a  ] tR t^ot o ]RR l4       tRR ltRtV tR# )ArrayAnalysisTesterNc           	         Vf   / pV'       g   \        4       pRVn        Vf   \        P                  P                  pVf   \        P                  P
                  pV ! WgWQVW44      # NT)r   nrtr   
cpu_targettyping_contexttarget_context)clsargsreturn_typeflagslocalslibraryr{   r|   s   &&&&&&&&r5   mk_pipelineArrayAnalysisTester.mk_pipelineq   sc     >FGE	!%00??N!&11@@N>7+" 	"r8   c                J   \         P                  P                  V4      V P                  n        \        4       P                  V P                  4       RV P                  n        RV P                  n        V P                  p. Vn	        W#n
        Rp\        V4      pVP                  \        R4       VP                  \        R4       VP                  \        R4       VP                   P"                  '       gC   VP                  \$        R4       VP                  \&        R4       VP                  \(        R4       VP                  \*        R	4       VP                  \,        R
4       VP                   P"                  '       g   VP                  \.        R4       VP                  \0        R4       V'       d   VP                  \0        R4       VP                  \2        R4       VP                  \4        R4       VP7                  4        VP9                  V4       VP:                  # )z$
Populate and run compiler pipeline
Narray_analysis_testingzanalyzing bytecodezfix up argszprocessing IRznopython rewriteszrewrite semantic constantszdead branch pruningz(inline calls to locally defined closuresznopython frontendzarray analysiszidempotence array analysisz$ensure IR is legal prior to loweringzannotate typesrX   )r   FunctionIdentityfrom_functionrp   func_idr   rr   liftedlifted_fromrk   rn   r   add_passr   r   r   r   no_rewritesr    r   r   r#   r$   r&   r]   r'   r%   finalizerh   rg   )r3   funcrn   rp   namepms   &&&   r5   compile_to_ir!ArrayAnalysisTester.compile_to_ir   s    &66DDTJ

""4::.

!%



!!1'
%';<
I}-
L/2{{&&&KK)<=KK02NOKK)>?
&>	@ 	)+>?{{&&&KK(*=> 	%'78KK)+GH
N$JK
M#34 	
u###r8   rX   )NNNNNNr`   )	r9   r:   r;   r<   classmethodr   r   r=   r>   r?   s   @r5   rv   rv   o   s!     " "+$ +$r8   rv   c                      a  ] tR t^t o R tR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 4       tRtV tR# )TestArrayAnalysisc                    . pV F_  p\        VP                  VP                  V4       \        4       pVP	                  VR 7       VP                  VP                  4       4       Ka  	  V P                  \        \        V4      4      ^8H  4       R# ))fileN)
r   ri   	arg_namesr   dumprl   getvaluerK   ro   set)r3   ir_listoutputsrd   outputs   &&   r5   
compare_irTestArrayAnalysis.compare_ir   sk    G(9(97CZFLLfL%NN6??,-	 
 	CL)Q./r8   Nc                   Vf   . pVf   . p\         P                  V4      pV'       d   V P                  MR pVP                  W4      pV'       d#   V F  p	V	! VP                  ^ ,          4       K  	  Vf-   V P                  V P                  VP                  4      4       R# V F   p	V	! VP                  VP                  4       K"  	  R# )z,
Compile the given function and get its IR.
Nc                     R# )NrX   rX   )xs   &r5   <lambda>5TestArrayAnalysis._compile_and_test.<locals>.<lambda>   s    rr8   )	rv   r   r   r   
equiv_setsrK   _has_no_assertcallrd   re   )
r3   fnarg_tysassertsequivs
idempotenttest_pipelinern   analysisr   s
   &&&&&&    r5   _compile_and_test#TestArrayAnalysis._compile_and_test   s     ?G>F+77@.84??k ..rDX((+,  ?OOD33H4D4DEFX%%x'7'78  r8   c                   R P                  RP                  V4      4      pVP                  P                  4        F  w  rVVP	                  RR7       F  pVP                  VP                  P                  4      p\        V\        P                  4      '       g   KJ  VP                  R8X  g   K]  W'P                  ^ ,          P                  ,          p	V	P                  P                  V4      '       g   K    R# 	  K  	  R# )zSizes of {} do not matchz, callopassert_equivTF)formatjoinri   items
find_exprsget_definitionr   r   
isinstancer
   Globalr~   literal_value
startswith)
r3   rd   re   r~   msglabelblockexprr   typs
   &&&&      r5   _has_assertcall!TestArrayAnalysis._has_assertcall   s    (//		$@#NN002LE((F(3++DIINN;b")),,N1J!))A,"3"34C((33C88# 4 3 r8   c                   VP                   P                  4        F  w  r4VP                  R R7       F  pVP                  R8X  g   K  VP	                  VP
                  RR7      pVP	                  VRR7      p\        V\        P                  4      '       d   VP                  MTp\        V\        P                  4      '       d   VP                  MTpWg8X  g   K    R# 	  K  	  R# )getattrr   shapeT)lhs_onlyF)
ri   r   r   attrr   valuer   r
   Varr   )r3   rd   r   r   r   r   yzs   &&&     r5   _has_shapecall TestArrayAnalysis._has_shapecall   s    #NN002LE((I(699'..tzzD.IA..q4.@A",Q"7"7QA",Q"7"7QAv# 7 3 r8   c                6   VP                   P                  4        Fz  w  r#VP                  R R7       F_  pVP                  VP                  P
                  4      p\        V\        P                  4      '       g   KJ  VP
                  R8X  g   K]    R# 	  K|  	  R# )r   r   r   FT)	ri   r   r   r   r   r   r   r
   r   )r3   rd   r   r   r   r   s   &&    r5   r   $TestArrayAnalysis._has_no_assertcall   so    #NN002LE((F(3++DIINN;b")),,N1J  4 3
 r8   c                   a a VV 3R  l# )c                 F   < SP                  SP                  WS4      4      # r`   )rK   r   rd   re   r~   r3   s   &&r5   r   /TestArrayAnalysis.with_assert.<locals>.<lambda>   s      48):r8   rX   r3   r~   s   fjr5   with_assertTestArrayAnalysis.with_assert       : 	:r8   c                   a a VV 3R  l# )c                 F   < SP                  SP                  WS4      4      # r`   )rM   r   r   s   &&r5   r   2TestArrayAnalysis.without_assert.<locals>.<lambda>   s     (8(8  48):r8   rX   r   s   fjr5   without_assert TestArrayAnalysis.without_assert   r   r8   c                "   a aa V3R  loVV 3R l# )c                    < \        S4      p\        V^,
          4       F3  pV P                  SV,          SV^,
          ,          4      '       d   K2   R# 	  R# r1   FTro   rangerL   	equiv_setr4   ir~   s   &  r5   check+TestArrayAnalysis.with_equiv.<locals>.check   sE    D	A1q5\ ))$q'4A;??  " r8   c                 2   < SP                  S! V 4      4      # r`   rK   r   r   r3   s   &r5   r   .TestArrayAnalysis.with_equiv.<locals>.<lambda>       y1A!Br8   rX   r3   r~   r   s   fj@r5   
with_equivTestArrayAnalysis.with_equiv       	 CBr8   c                "   a aa V3R  loVV 3R l# )c                    < \        S4      p\        V^,
          4       F3  pV P                  SV,          SV^,
          ,          4      '       g   K2   R# 	  R# r   r   r   s   &  r5   r   .TestArrayAnalysis.without_equiv.<locals>.check   sE    D	A1q5\%%d1gtAE{;;  " r8   c                 2   < SP                  S! V 4      4      # r`   r   r   s   &r5   r   1TestArrayAnalysis.without_equiv.<locals>.<lambda>  r   r8   rX   r   s   fj@r5   without_equivTestArrayAnalysis.without_equiv   r   r8   c                   a a V V3R  l# )c                 F   < SP                  SP                  V S4      4      # r`   )rK   r   rd   sr3   r   s   &&r5   r   2TestArrayAnalysis.with_shapecall.<locals>.<lambda>  s    $//$2E2Egq2Q"Rr8   rX   r3   r   s   ffr5   with_shapecall TestArrayAnalysis.with_shapecall  s	    RRr8   c                   a a V V3R  l# )c                 F   < SP                  SP                  V S4      4      # r`   )rM   r   r   s   &&r5   r   5TestArrayAnalysis.without_shapecall.<locals>.<lambda>  s    $"2"243F3FwPQ3R"Sr8   rX   r   s   ffr5   without_shapecall#TestArrayAnalysis.without_shapecall
  s	    SSr8   c                  a R  pV P                  VR&V P                  RR'4      V P                  RR(4      V P                  RR)4      .R7       R pV P                  V\        P                  3RR7       R pV P                  V\        P                  \        P                  3V P	                  RR4      .R7       R	 pV P                  V\        P                  3RR7       R
 pV P                  V\        P                  3RR7       R pV P                  V\        P                  3RR7       R pV P                  V\        P                  \        P                  3V P	                  RR4      V P                  RR4      .R7       R pV P                  V\        P                  \        P                  3V P	                  RR4      V P                  RR4      .R7       R p	V P                  V	\        P                  \        P                  3V P	                  RR4      V P	                  RR4      .R7       R p
V P                  V
\        P                  3V P	                  RR4      .R7       R pV P                  V\        P                  \        P                  3V P	                  RR4      V P                  RR4      .R7       R pV P                  VR&V P                  RR4      .R7       R pV P                  VR&V P                  RRR4      .R7       R p\        P                  ! \        P                  ^R4      pV P                  V\        P                  ! W34      3RR7       R pV P                  V\        P                  3V P                  RR4      .R7       \        RRR.4      oV3R lpV P                  V\        P                  3V P                  RR*4      .R7       R  pV P                  V\        P                  ! \        P                  ^R4      3RR7       R! pV P                  V\        P                  ! \        P                  ^R4      3RR7       R" pV P                  V\        P                  \        P                  \        P                  3RR7       R# pV P                  V\        P                  \        P                  3RR7       R$ pV P                  V\        P                  ! \        P                  ^R4      \        P                  ! \        P                  ^R4      3RR7       V P                  V\        P                  ! \        P                  ^R4      \        P                  ! \        P                  ^R4      3RR7       V P                  \        4      ;_uu_ 4       pV P                  V\        P                  ! \        P                  ^R4      \        P                  ! \        P                  ^R4      3RR7       RRR4       R%pV P                  V\        XP                  4      4       R#   + '       g   i     L9; i)+c                      \         P                  ! ^ 4      p \         P                  ! ^4      p^ p^p\         P                  ! W#34      pR# )r   Nnpzeros)rE   rF   mr4   rG   s        r5   test_01TestArrayAnalysis.test_base_cases.<locals>.test_0  s9    AAAA! Ar8   rE   rF   rG   r   c                 j    \         P                  ! V 4      p\         P                  ! V 4      pW,           # r`   r
  r4   rE   rF   s   &  r5   test_11TestArrayAnalysis.test_base_cases.<locals>.test_1  #    AA5Lr8   N)r   c                 j    \         P                  ! V4      p\         P                  ! V 4      pW#,           # r`   r
  r  r4   rE   rF   s   &&  r5   test_21TestArrayAnalysis.test_base_cases.<locals>.test_2   r  r8   c                 >    \         P                  ! V 4      pW,           # r`   r
  r4   rE   s   & r5   test_31TestArrayAnalysis.test_base_cases.<locals>.test_3'  s    A5Lr8   c                 b    \         P                  ! V 4      pV^,           pV^,           pW,           # r1   r
  r4   rE   rF   rG   s   &   r5   test_41TestArrayAnalysis.test_base_cases.<locals>.test_4,  s(    AAAAA5Lr8   c                 r    \         P                  ! W 34      pT p\         P                  ! W 34      pW,           # r`   r
  )r4   rE   r  rF   s   &   r5   test_51TestArrayAnalysis.test_base_cases.<locals>.test_53  s.    ! AA! A5Lr8   c                     \         P                  ! V4      p\         P                  ! V 4      pW#,           pW#,
          pWE,           # r`   r
  )r  r4   rE   rF   rH   rI   s   &&    r5   test_61TestArrayAnalysis.test_base_cases.<locals>.test_6:  s1    AAAA5Lr8   rH   rI   c                     \         P                  ! V4      p\         P                  ! V 4      pV ^
8X  d   W#,           pWB,           # W#,
          pWB,           # 
   r
  r  r4   rE   rF   rH   s   &&   r5   test_71TestArrayAnalysis.test_base_cases.<locals>.test_7D  C    AABwE 5L E5Lr8   c                     \         P                  ! V4      p\         P                  ! V 4      pV ^
8X  d   W2,           pW4,           # W",           pW4,           # r*  r
  r,  s   &&   r5   test_81TestArrayAnalysis.test_base_cases.<locals>.test_8P  r/  r8   c                     \         P                  ! V 4      p^ pV ^8  dE   V ^,          p \         P                  ! V 4      pV\         P                  ! W,           4      ,          pKK  V# r   r  onessum)r  Ar   Bs   &   r5   test_91TestArrayAnalysis.test_base_cases.<locals>.test_9\  sJ    
AAa%QGGAJRVVAE]"Hr8   r8  r9  c                 h   V ^,
          pV^,           pV^,           p\         P                  ! V4      p\         P                  ! V4      p\         P                  ! V4      p\         P                  ! V 4      p\         P                  ! WV,           4      p	\         P                  ! Wx,           4      p
W,           # r  r  r  r7  )r  r4   pqrU   r8  r9  CDr   ts   &&         r5   test_102TestArrayAnalysis.test_base_cases.<locals>.test_10g  sv    AAAAAAAAAAquAquA5Lr8   r@  rA  c                      \         P                  ! ^4      p \         P                  ! ^4      pV R,          pVRR p\        V4      p\        V4      pWE8H  # )   r1   NNNr  r6  ro   rE   rF   rG   rH   rI   fs         r5   test_112TestArrayAnalysis.test_base_cases.<locals>.test_11v  sI    
A
A"A#2AAAAA6Mr8   rK  c                  ,   \         P                  ! ^4      P                  R4      p \         P                  ! ^4      P                  R4      pV R,          pVRR1R3,          pVP                  ^ ,          pVP                  ^ ,          p\	        V4      pWE8H  # )   NNNN)rF  rF  )rG  rP  rH  )r  r6  reshaper   ro   )rE   rF   rG   rH   rI   rK  gs          r5   test_122TestArrayAnalysis.test_base_cases.<locals>.test_12  sv    ##E*A##E*A$A#2#a%A
A
AAA6Mr8   rR  c                     T pV^ ,          # r4  rX   )r,   T2s   & r5   test_tup_arg7TestArrayAnalysis.test_base_cases.<locals>.test_tup_arg  s    Ba5Lr8   c                     \         P                  ! V 4      pV3p\         P                  ! \        V^ ,          4      4      pV# r4  rI  )r  r8  Sr9  s   &   r5   test_arr_in_tup:TestArrayAnalysis.test_base_cases.<locals>.test_arr_in_tup  s1    
AAAaD	"AHr8   r,   c                 &   < S! W 4      pV^ ,          # r4  rX   )r4   rU   r,   s   & r5   test_namedtuple:TestArrayAnalysis.test_base_cases.<locals>.test_namedtuple  s    !AQ4Kr8   rU   c                 R    \         P                  ! V 4      p\        V^ ,          4      # r4  )r  wherero   )r8  rG   s   & r5   test_np_where_tup_returnCTestArrayAnalysis.test_base_cases.<locals>.test_np_where_tup_return  s    Aqt9r8   c                 \    V P                   w  r\        P                  ! W34      pW,           # r`   )r   r  r6  )r8  r  r4   r9  s   &   r5   
test_shape5TestArrayAnalysis.test_base_cases.<locals>.test_shape  s#    WWFQA5Lr8   c                    \         P                  ! V 4      p\         P                  ! V4      p\         P                  ! V4      pW8X  d   \         P                  ! W4,           4      pM^ pW8w  d   ^ pM\         P                  ! WE,           4      p^ pW8X  d*   W8X  d$   \         P                  ! W4,           V,           4      pWg,           V,           # r4  r5  )	lr  r4   r8  r9  r@  rU   r   rB  s	   &&&      r5   	test_cond4TestArrayAnalysis.test_base_cases.<locals>.test_cond  s    
A
A
AvFF15MvFF15MAv6quqy)A519r8   c                     W8X  g   Q h\         P                  ! V 4      p\         P                  ! V4      p\         P                  ! W#,           4      # r`   r5  )r  r4   r8  r9  s   &&  r5   test_assert_18TestArrayAnalysis.test_base_cases.<locals>.test_assert_1  s5    6N6
A
A66!%= r8   c                 t    V P                   VP                   8X  g   Q h\        P                  ! W,           4      # r`   )r   r  r7  )r8  r9  s   &&r5   test_assert_28TestArrayAnalysis.test_base_cases.<locals>.test_assert_2  s(    77agg%&%66!%= r8   zDimension mismatchrX   r4  r  r   r1   r4   r4   )r   r   r   intpr   r   ArrayTupler   assertRaisesAssertionErrorassertInstr	exception)r3   r  r  r  r  r!  r$  r'  r-  r1  r:  rC  rL  rS  rW  int_arr_typr[  r^  rb  re  ri  rl  ro  raisesr   r,   s   &                        @r5   test_base_cases!TestArrayAnalysis.test_base_cases  s   	 	vr'+sD'A'+sD'A'+sF'C'E 	 	F
	 	v

}dC	 	v

EJJ'?(,(8(8c(B'C 	 	E	 	v

}dC	
 	v

}dC	
 	v

}dC	 	v

EJJ'?(,(8(8c(B(,(;(;C(E(G 	 	H	 	v

EJJ'?(,(8(8c(B(,(;(;C(E(G 	 	H	 	v

EJJ'?(,(8(8c(B(,(8(8c(B(D 	 	E	 	v

}(,(8(8c(B'C 	 	E
	 	wEJJ(@(,(8(8c(B(,(;(;C(E(G 	 	H	 	w'+sC'@&A 	 	C	 	w'+sC'E&F 	 	H	 kk%**a5|[[+346 	 	F	 	'+sC'@&A 	 	C sSI&	 	(,Z(H'I 	 	L	 	7[[Q,. 	 	>	 	zEKK

As,K+M'+ 	 	-	" 	y5::uzz5::*N'+ 	 	-	!
 	}uzz5::.F'+ 	 	-	! 	}u{{5::q#/N/4{{5::q#/N/Q'+ 	 	- 	}u{{5::q#/N/4{{5::q#/N/Q'+ 	 	- ~..&""=5;;uzz1c3R38;;uzz1c3R3U+/ # 1 / #c3v//01 /.s   -AX==Y	c           	       aa ^ RI Hp VR 4       oV3R lpV P                  V\        P                  3V P                  RR4      .V P                  RR4      .R7       V3R lpV P                  V\        P                  3V P                  RR4      .R7       V! RR	7      R
 4       oV3R lpV P                  V\        P                  3V P                  RRR4      V P                  RR4      .V P                  RR4      .R7       R# )r   )stencilc                 v    R V R,          V R,          ,           V R,          ,           V R,          ,           ,          # )g      ?rq  )r1   r   )r   rH  )rH  r   rX   rE   s   &r5   kernel_14TestArrayAnalysis.test_stencilcall.<locals>.kernel_1  s+    1S6AcF?QtW4qw>??r8   c                 R   < \         P                  ! W 34      pS! V4      pW,           # r`   r  r6  r4   rE   rF   r  s   &  r5   r  2TestArrayAnalysis.test_stencilcall.<locals>.test_1  s"    AA5Lr8   rE   rF   r   r   c                    < \         P                  ! W 34      p\         P                  ! V ^,           V ^,           34      pS! WR7       V# )r1   )outr  r  s   &  r5   r  2TestArrayAnalysis.test_stencilcall.<locals>.test_2  s9    A1QqS	"AQHr8   r  )standard_indexingc                 L    V R,          VR,          ,           V^ ,          ,           # )r   )r   r1   r   )r   rH  r   rX   )rE   rF   rG   s   &&&r5   kernel_24TestArrayAnalysis.test_stencilcall.<locals>.kernel_2  s    U8ai'!A$..r8   c                    < \         P                  ! ^@4      P                  ^^^4      p\         P                  ! ^@4      P                  V ^^4      p\         P                  ! ^4      pS! WV4      pV# )@   )r  arangerQ  r  )r4   rE   rF   uvr  s   &    r5   r  2TestArrayAnalysis.test_stencilcall.<locals>.test_3  sY    		"%%a!,A		"%%a!,AAq!AHr8   r  r  N)rG   )	numba.stencils.stencilr  r   r   rs  r   r   r   r   )r3   r  r  r  r  r  r  s   &    @@r5   test_stencilcall"TestArrayAnalysis.test_stencilcall  s   2		@ 
	@	
 	v

}'+sC'@&A(,(;(;C(E'F 	 	H	 	v

}'+'9'9#s'C&D 	 	F 
6	*	/ 
+	/	 	v

}'+sC'E'+'9'9#s'C'E(,(8(8c(B'C 	 	Er8   c                    R  pV P                  V\        P                  \        P                  3V P                  RR4      V P	                  RR4      .RR7       R pV P                  V\        P                  3V P	                  RR4      V P	                  RR4      .RR7       R	 pV P                  V\        P                  3V P	                  RR4      .RR7       R
 pV P                  V\        P                  3V P	                  RR4      .RR7       R pV P                  V\        P                  \        P                  3V P	                  RR4      V P                  RR4      V P                  RR4      .RR7       R pV P                  V\        P                  3V P	                  RR4      .RR7       R pV P                  V\        P                  3V P                  RR4      .RR7       R pV P                  V\        P                  3V P	                  RR4      .RR7       R p	V P                  V	\        P                  3V P                  RR4      V P                  RR4      V P                  RR4      V P                  RR4      .RR7       R# )c                 
   \         P                  ! V 4      p\         P                  ! V4      p\         P                  ! W#,           4      pV^V ^,
           pV^V^,
           p\         P                  ! WV,           4      pWG,           # r  r=  )r  r4   r8  r9  r   r@  rA  rB  s   &&      r5   r  ,TestArrayAnalysis.test_slice.<locals>.test_1  s_    AAquA!AaCA!AaCAquA5Lr8   r8  r9  r@  rA  F)r   r   c                     \         P                  ! V 4      pV^ V ^,
           pV^V ^,
           pV^V ^,
           pW#,           pWE,           # r4  r
  )r  r8  r9  r@  rA  Es   &     r5   r  ,TestArrayAnalysis.test_slice.<locals>.test_2  sJ    A!AaCA!AaCA!AaCAA5Lr8   r  c                     \         P                  ! W 34      pV^ V ^,
          1^ V ^,
          13,          pV^V ^,
          1^V ^,
          13,          pW#,           pV# r4  r
  r  r8  r9  r@  r  s   &    r5   r  ,TestArrayAnalysis.test_slice.<locals>.test_3&  sW    !A!AaC%!A#+A!AaC%!A#+AAHr8   c                     \         P                  ! W 34      pV^ V ^,
          1R3,          pV^V ^,
          1R3,          pW#,           pV# )r   rP  r
  r  s   &    r5   r!  ,TestArrayAnalysis.test_slice.<locals>.test_40  sG    !A!AaC%'
A!AaC%'
AAHr8   c                     \         P                  ! V 4      p\         P                  ! V 4      pV^V ^,
           V^ V ^,
          % \         P                  ! V4      pV^V ^,
           pWT^ V^,
          % W4,           # r  r
  )r  r4   r8  r9  r@  rA  s   &&    r5   r$  ,TestArrayAnalysis.test_slice.<locals>.test_5:  sg    AA1Q3xAa!HA!AaCAa!H 5Lr8   c                     \         P                  ! W 34      pV^ V ^,
          1RR13,          pV^V ^,
          1RR13,          pW#,           pV# )r   NrH  r
  r  s   &    r5   r'  ,TestArrayAnalysis.test_slice.<locals>.test_6J  sO    !A!AaC%)A!AaC%)AAHr8   c                     \         P                  ! W 34      pV^ V ^,
          1RR13,          pV^V ^,
          1RR13,          pW#,           pV# )r   rH  r
  r  s   &    r5   r-  ,TestArrayAnalysis.test_slice.<locals>.test_7T  sO    !A!AaC%2+A!AaC%2+AAHr8   c                     \         P                  ! W 34      pVR V ^,
          1R3,          pV^R1R3,          pW#,           pV# )N:r   NNrP  rH  r
  r  s   &    r5   r1  ,TestArrayAnalysis.test_slice.<locals>.test_8^  sC    !A$1Q3$r'
A!B$q&	AAHr8   c                     \         P                  ! V 4      pVR ,          pVR,          pVRRR1,          pW$,           pTpV^,          pWV3# ):Nr   NrG  NrH  r
  )r  r8  r9  r@  rA  r  Fs   &      r5   r:  ,TestArrayAnalysis.test_slice.<locals>.test_9h  sP     !A"A"A&2b&	AAAFA7Nr8   r  r  )r   r   N)r   r   rs  r   r   r   r   )
r3   r  r  r  r!  r$  r'  r-  r1  r:  s
   &         r5   
test_sliceTestArrayAnalysis.test_slice  s   	 	v

5::'?(,(8(8c(B(,(;(;C(E(G*/ 	 	1
	 	v

}(,(;(;C(E(,(;(;C(E(G*/ 	 	1
	 	v

}(,(;(;C(E'F*/ 	 	1	 	v

}(,(;(;C(E'F*/ 	 	1		 	v

5::'>(,(;(;C(E(,(8(8c(B(,(8(8c(B(D +0	 	 	1	 	v

}(,(;(;C(E'F*/ 	 	1	 	v

}(,(8(8c(B'C*/ 	 	1	 	v

}(,(;(;C(E'F*/ 	 	1
	 	v

}'+'9'9#s'C'+sC'@'+sC'@'+sC'@'C +0 	 	1r8   c                   R  pV P                  V\        P                  3V P                  RR4      V P                  RR24      V P                  RR4      .R7       R pV P                  V\        P                  3V P	                  RR4      .V P                  R4      .R7       R pV P                  V\        P                  3V P                  RR4      V P                  RR24      V P                  RR4      .R7       R	 pV P                  V\        P                  3V P                  RR4      V P                  RR24      V P                  RR4      .R7       R
 pV P                  V\        P                  3V P                  RR24      V P                  RR24      V P                  RR4      V P	                  RR4      .R7       R pV P                  V\        P                  3V P                  RR24      .R7       R pV P                  V\        P                  3V P                  RR34      V P                  RR24      .V P                  R4      V P                  R4      .R7       R pV P                  V\        P                  ! \        P                  ^R4      3V P                  RRRRR4      .V P                  R4      V P                  R4      .R7       R p	V P                  V	\        P                  3V P                  RR24      .V P                  R4      .R7       R p
V P                  V
\        P                  \        P                  3V P                  RR44      V P                  RR54      V P                  RR54      .R7       R pV P                  V\        P                  \        P                  \        P                  3V P                  RR64      V P                  RR74      V P                  RR74      V P                  RR84      V P                  RR84      V P                  RR94      V P                  RR94      .R7       R pV P                  V\        P                  \        P                  3V P                  RR44      V P                  RR44      V P                  RR44      .R7       R p\        R4      ^,           pR3.\        \        R4      V4       Uu. uF  p\        V4      R,           NK  	  up,           pR2.\        \        R4      V4       Uu. uF  p\        V4      R,           NK  	  up,           pT\        \        R4      V4       Uu. uF  p\        V4      R,           NK  	  up,          pV P                  V\        P                  3V P                  ! V!  V P                  ! V!  .R7       R pV P                  V\        P                  \        P                  3V P                  RR:4      V P                  RR;4      .V P                  R4      V P                  R4      V P                  R4      V P                  R4      .R7       R  pV P                  VR<V P                  RR=4      V P                  R!R>4      V P                  R"R?4      V P                  R#R@4      V P                  R$RA4      V P                  R%RB4      V P                  R&RC4      .R7       R' pV P                  V\        P                  \        P                  3V P                  RR4      V P                  RRD4      V P                  RR(RE4      V P                  R)RF4      V P                  R*R+RG4      .R7       R, pV P                  V\        P                  \        P                  3V P                  RRH4      V P                  RRI4      .R7       R- pV P                  V\        P                  \        P                  \        P                  3V P	                  RRJ4      V P                  RRK4      V P                  RRJ4      V P                  R)RL4      V P                  R*RM4      V P                  R+RM4      .V P                  RR.4      .R7       R/ pV P                  V\        P                  \        P                  3V P                  RRR4      .R0R7       R1 pV P                  VR<V P                  RR4      .R0R7       R0# u upi u upi u upi )Nc                     \         P                  ! V 4      p\         P                  ! W 34      p\         P                  ! W 3R 7      pR# )r   Nr
  r   s   &   r5   
test_zeros6TestArrayAnalysis.test_numpy_calls.<locals>.test_zeros|  /    A! Av&Ar8   rE   r4   rF   rG   r  c                 j    \         P                  ! ^4      p\         P                  ! ^4      pW,           # r  )r  arrayr6  r  s   &  r5   test_0d_array9TestArrayAnalysis.test_numpy_calls.<locals>.test_0d_array  s#    A
A5Lr8   r  c                     \         P                  ! V 4      p\         P                  ! W 34      p\         P                  ! W 3R 7      pR# r  r  r   s   &   r5   	test_ones5TestArrayAnalysis.test_numpy_calls.<locals>.test_ones  s.    
AAqf%Ar8   c                     \         P                  ! V 4      p\         P                  ! W 34      p\         P                  ! W 3R 7      pR# r  )r  emptyr   s   &   r5   
test_empty6TestArrayAnalysis.test_numpy_calls.<locals>.test_empty  r  r8   c                     \         P                  ! V 4      p\         P                  ! V R 7      p\         P                  ! W R7      p\         P                  ! W ^,           R7      pR# ))N)r  MN)r  eyer4   rE   rF   rG   rH   s   &    r5   test_eye4TestArrayAnalysis.test_numpy_calls.<locals>.test_eye  s<    q	AA A!e$Ar8   rH   c                 2    \         P                  ! V 4      pR # r`   )r  identityr  s   & r5   test_identity9TestArrayAnalysis.test_numpy_calls.<locals>.test_identity  s    AAr8   c                     \         P                  ! V 4      p\         P                  ! V4      p\         P                  ! V4      p\         P                  ! V^R7      pR# )r1   )kN)r  r  diagr  s   &    r5   	test_diag5TestArrayAnalysis.test_numpy_calls.<locals>.test_diag  s8    AA
A
AQAr8   c                     \         P                  ! V 4      p\         P                  ! V 4      p\         P                  ! V 4      p\         P                  ! V ^4      p\         P
                  ! V 4      pR# r0   )r  
empty_like
zeros_like	ones_like	full_likeasfortranarrayrJ  s   &     r5   test_array_like;TestArrayAnalysis.test_numpy_calls.<locals>.test_array_like  sK    a Aa AQAQ"A!!!$Ar8   r@  rI   rK  c                     \         P                  ! W ,          4      pVP                  W 34      pVP                  4       VP                  4       ,           # r`   )r  r6  rQ  r7  r  s   &  r5   test_reshape8TestArrayAnalysis.test_numpy_calls.<locals>.test_reshape  s8    A		1&!A557QUUW$$r8   c                 l    \         P                  ! W34      pVP                  pVP                  4       pR # r`   r  r6  r,   	transposer  r4   rE   rF   rG   s   &&   r5   test_transpose:TestArrayAnalysis.test_numpy_calls.<locals>.test_transpose  s%    AAAr8   r  c                     \         P                  ! WV34      pVP                  pVP                  4       pVP                  ^^ ^4      pVP                  R4      pVP                  ^ ^^4      pVP                  R4      p	R# )   N)r  r   r1   )r   r  r1   r  )
r  r4   r  rE   rF   rG   rH   dtrI   ets
   &&&       r5   test_transpose_3d=TestArrayAnalysis.test_numpy_calls.<locals>.test_transpose_3d  sh    q	"AAAAa"AW%BAa"AW%Br8   r  r  r  c                 d    \         P                  ! W34      pVP                  pVP                  pR # r`   )r  r6  realimagr  s   &&   r5   test_real_imag_attr?TestArrayAnalysis.test_numpy_calls.<locals>.test_real_imag_attr  s#    AAAr8   c                 &   \         P                  P                  V 4      p\         P                  P                  W 4      p\         P                  P                  V 4      p\         P                  P                  W 4      p\         P                  P	                  V 4      p\         P                  P	                  W 34      p\         P                  P	                  W 3R 7      p\         P                  P                  V 4      p\         P                  P                  W 34      p	\         P                  P                  W 3R 7      p
\         P                  P                  V 4      p\         P                  P                  W 34      p\         P                  P                  W 3R 7      p\         P                  P                  V 4      p\         P                  P                  W 34      p\         P                  P                  W 3R 7      p\         P                  P                  V 4      p\         P                  P                  W 34      p\         P                  P                  W 3R 7      p\         P                  P                  ^
V 4      p\         P                  P                  ^
W 34      p\         P                  P                  ^
W 3R 7      p\         P                  P                  ^
V 4      p\         P                  P                  ^
W 34      p\         P                  P                  ^
W 3R 7      p\         P                  P                  ^
V 4      p\         P                  P                  ^
W 34      p\         P                  P                  ^
W 3R 7      p\         P                  P                  RV 4      p\         P                  P                  RW 34      p\         P                  P                  RW 3R 7      p\         P                  P                  ^
V 4      p \         P                  P                  ^
W 34      p!\         P                  P                  ^
W 3R 7      p"\         P                  P                  ^
V 4      p#\         P                  P                  ^
W 34      p$\         P                  P                  ^
W 3R 7      p%\         P                  P                  ^
V 4      p&\         P                  P                  ^
W 34      p'\         P                  P                  ^
W 3R 7      p(\         P                  P                  ^ ^V 4      p)\         P                  P                  ^ ^W 34      p*\         P                  P                  ^ ^W 3R 7      p+\         P                  P!                  ^ ^V 4      p,\         P                  P!                  ^ ^W 34      p-\         P                  P!                  ^ ^W 3R 7      p.\         P                  P#                  R^V 4      p/\         P                  P#                  R^W 34      p0\         P                  P#                  R^W 3R 7      p1\         P                  P%                  ^ ^V 4      p2\         P                  P%                  ^ ^W 34      p3\         P                  P%                  ^ ^W 3R 7      p4\         P                  P'                  R^V 4      p5\         P                  P'                  R^W 34      p6\         P                  P'                  R^W 3R 7      p7\         P                  P)                  R^V 4      p8\         P                  P)                  R^W 34      p9\         P                  P)                  R^W 3R 7      p:\         P                  P+                  ^ ^V 4      p;\         P                  P+                  ^ ^W 34      p<\         P                  P+                  ^ ^W 3R 7      p=\         P                  P-                  ^ ^V 4      p>\         P                  P-                  ^ ^W 34      p?\         P                  P-                  ^ ^W 3R 7      p@\         P                  P/                  ^ ^
V 4      pA\         P                  P/                  ^ ^
W 34      pB\         P                  P/                  ^ ^
W 3R 7      pC\         P                  P1                  R^ ^
V 4      pD\         P                  P1                  R^ ^
W 34      pE\         P                  P1                  R^ ^
W 3R 7      pFR# ))sizeg?Nr  )r  randomrandrandnranfrandom_samplesamplestandard_normal	chisquareweibullpower	geometricexponentialpoissonrayleighnormaluniformbetabinomialrK  gamma	lognormallaplacerandint
triangular)Gr4   a0a1b0b1c0c1c2d0d1d2e0e1e2f0f1f2g0g1g2h0h1h2i0i1i2j0j1j2k0k1k2l0l1l2m0m1m2n0n1n2o0o1o2p0p1p2q0q1q2r0r1r2s0rN   rT   t0t1t2u0u1u2v0v1v2w0w1w2x0x1x2sG   &                                                                      r5   test_random7TestArrayAnalysis.test_numpy_calls.<locals>.test_random  s   "B%B#B&B"B'BaV,B((+B((!0B((qf(5B!!!$B!!1&)B!!v!.B!!!$B!!1&)B!!v!.B**1-B**A62B***7B$$R+B$$R!0B$$Rqf$5B""2q)B""2v.B""2QF"3BQ'BaV,B1&1B$$S!,B$$S1&1B$$Sv$6B&&r1-B&&rA62B&&r&7B""2q)B""2v.B""2QF"3B##B*B##B/B##BaV#4B!!!Q*B!!!Q/B!!!QaV!4B""1a+B""1a!0B""1aqf"5BQ*BQ/BQaV4B##Aq!,B##Aq1&1B##Aqv#6BS!Q'BS!aV,BS!1&1Ba+Ba!0Baqf5B$$Q1-B$$QA62B$$Q$7B""1a+B""1a!0B""1aqf"5B""1b!,B""1b1&1B""1bv"6B%%b!R3B%%b!R!8B%%b!Rqf%=Br8   r   01c                 6   \         P                  ! V 4      p\         P                  ! V4      p\         P                  ! W#34      p\         P                  ! ^V34      p\         P                  ! ^V34      p\         P                  ! WV34      p\         P                  ! V ^34      p\         P                  ! V ^34      p	\         P                  ! W3^R7      p
\         P                  ! W34      p\         P                  ! W34      p\         P                  ! W34      pR# )r  axisN)r  r6  concatenate)r  r4   rE   rF   rG   rH   rI   rK  r   jr  rh  or>  s   &&            r5   test_concatenate<TestArrayAnalysis.test_numpy_calls.<locals>.test_concatenateJ  s    
A
Av&AAAAAv&A AAAAvA.AAAv&Ar8   r>  c                     \         P                  ! R4      p \         P                  ! R4      p\         P                  ! R4      p\         P                  ! W 34      p\         P                  ! W34      p\         P                  ! W 34      p\         P                  ! W34      p\         P                  ! W 34      p\         P                  ! W34      p\         P                  ! W"34      p	R# )r  Nr  r     )r  r^     )r  r6  vstackhstackdstack)
r  rh  rX  r>  r?  rU   r   rB  r  r  s
             r5   test_vsd_stack:TestArrayAnalysis.test_numpy_calls.<locals>.test_vsd_stacke  s    AA	"A		1&!A		1&!A		1&!A		1&!A		1&!A		1&!A		1&!Ar8   r?  rU   r   rB  r  r  c                    \         P                  ! V 4      p\         P                  ! V4      p\         P                  ! W#34      p\         P                  ! W34      p\         P                  ! W34      p\         P                  ! WV34      p\         P                  ! WV3^ R7      p\         P                  ! WV3^R7      p	\         P                  ! WV3^R7      p
\         P                  ! WV3RR7      pR# )r   rT  NrH  )r  r6  stack)r  r4   rE   rF   rG   rH   rI   rK  rR  hr   rW  s   &&          r5   
test_stack6TestArrayAnalysis.test_numpy_calls.<locals>.test_stack{  s    
A
A! AAA! A!a(A!a(A!a(A!b)Ar8   rR  rg  r   rW  c                 `    \         P                  ! W4      p\         P                  ! W^
4      pR# )r+  N)r  linspacer  s   &&  r5   test_linspace9TestArrayAnalysis.test_numpy_calls.<locals>.test_linspace  s     A!AA"%Ar8   c                    \         P                  ! \         P                  ! ^4      \         P                  ! ^4      4      p\         P                  ! \         P                  ! ^4      \         P                  ! R4      4      p\         P                  ! \         P                  ! R4      \         P                  ! ^4      4      p\         P                  ! \         P                  ! R4      \         P                  ! R4      4      p\         P                  ! \         P                  ! W34      \         P                  ! W!34      4      p\         P                  ! \         P                  ! W34      \         P                  ! W 34      4      pR# )r1   Nr]  )r1   r  r^  r_  )r  dotr6  )	rh  r  r4   rE   rF   rI   rg  r   rW  s	   &&&      r5   test_dot4TestArrayAnalysis.test_numpy_calls.<locals>.test_dot  s    rwwqz2771:.Arwwqz2776?3A rwwv4A rwwv8Arwwv8Arwwv8Ar8   rh  c                     \         P                  ! W34      p\         P                  ! V4      pW#,           p\         P                  ! ^V34      pW$,           V,
          pR# r0   r  )r  r4   rE   rF   rG   rH   rI   s   &&     r5   test_broadcast:TestArrayAnalysis.test_numpy_calls.<locals>.test_broadcast  sA    A
AAAA	Ar8   Nc                  n    \         P                  ! \        4      p \         P                  ! \        4      pR # r`   )r  r6  GVAL2)rE   rF   s     r5   test_global_tuple=TestArrayAnalysis.test_numpy_calls.<locals>.test_global_tuple  s    AAr8   rr  )r4   )r  r4   )r4   r  )r  r4   r  )r  r4   r  )r  r  r4   )r  r  r4   )rF  r4   )r  rF  rX   )r  r  )r_  r^  )r_  )r     )r1   r  r  )r  r^  r  )r  r^     )r  r  )r  r  r4   )r  r  r4   )r  r4   r  )2   r*  r  )r^  )r  r_  )r  r  )r   r   rs  r   r   r  r  rt  ordr   chrfloat64r   )r3   r  r  r  r  r  r  r  r  r  r  r  r  rO  lastr   vars1dvars2drY  rc  rh  rl  rq  rt  rx  s   &                        r5   test_numpy_calls"TestArrayAnalysis.test_numpy_callsz  sB   	' 	zEJJ='+sC'@'+sJ'G'+sC'@'B 	 	C
	 	}uzzm'+'9'9#s'C&D(,(>(>s(C'D 	 	F	& 	y5::-'+sC'@'+sJ'G'+sC'@'B 	 	C
	' 	zEJJ='+sC'@'+sJ'G'+sC'@'B 	 	C
	%
 	x%**'+sJ'G'+sJ'G'+sC'@'+'9'9#s'C'E 	 	F	}uzzm'+sJ'G&H 	 	J	 
 	y5::-'+sF'C'+sJ'G'I(,(;(;C(@(,(>(>s(C(E 	 	F	% 	UZZC1P0R#'??3S#s#K'M(,(;(;C(@(,(>(>s(C(E 	 	F	% 	|ejj]'+sJ'G&H(,(>(>s(C'D 	 	F
	 	~

EJJ/G'+sJ'G'+sJ'G'+sJ'G'I 	 	J	& 	05::uzz5::2V'+sO'L'+sO'L'+sO'L'+sO'L'+t_'M'+sO'L'+t_'M'O 	 	P	
 	2UZZ4L'+sJ'G'+sJ'G'+sJ'G') 	 	*F	>P 3x!|5S43HI3HaSVc\\3HIIuSXt7L M7L!Q#7L MMs3x)>?)>A3q6C<<)>??{UZZM'+'?'+'?'A 	 	B	'$ 	/%**ejj1I'+sH'E'+sH'E'G )-(;(;C(@(,(>(>s(C(,(>(>s(C(,(;(;C(@(B	 	 	C
	" 	~r'+sF'C'+sF'C'+sD'A'+sF'C'+sI'F'+sI'F'+sI'F') 	 	*
	* 	zEJJ

+C(,S(A(,X(F(,$'m)=OO$'8OO$'m=(
 	 			&
 	}u}}emm.L'+sE'B'+sE'B'D 	 	E	9 	x%**ejj%**)M'+'9'9#t'D'+sD'A'+sD'A'+sF'C'+sJ'G'+sJ'G') )-(8(8c(B'C 	 	E	 	~

EJJ/G'+sC'E&F'+ 	 	-
	 	0"'+sC'@&A'+ 	 	-} J M?s   c&c+	c0rX   )NNT)r9   r:   r;   r<   r   r   r   r   r   r   r   r   r   r  r  r}  r  r  r   r  r=   r>   r?   s   @r5   r   r      sk     09*	
::CCSTS2l'ERl1\ H- H-r8   r   c                      a  ] tR tRt o RtRt]R 4       t]R 4       t]R 4       t	]R 4       t
]R 4       t]R	 4       tR
tV tR# )!TestArrayAnalysisParallelRequiredi  zcThis is to just split out tests that need the parallel backend and
therefore serialised execution.
Fc                   a \         R  4       oV3R lp \        VRR7      ! ^
4       R#   \         d    T P                  R4        R# i ; i)c                     W3# r`   rX   )r   r   s   &&r5   swap9TestArrayAnalysisParallelRequired.test_misc.<locals>.swap  s	    &Lr8   c                    < \         P                  ! V 4      p\         P                  ! V 4      p\        V 4       F  pS! W,          W#,          4      w  W&   W#&   K!  	  R # r`   )r  r6  r   )r  rE   rF   r   r  s   &   r5   test_bug2537ATestArrayAnalysisParallelRequired.test_misc.<locals>.test_bug2537  sC    
A
A1X!!$-
ad r8   Tparallelztest_bug2537 raised IndexError!N)r   
IndexErrorfail)r3   r  r  s   & @r5   	test_misc+TestArrayAnalysisParallelRequired.test_misc  sL     
	 
		.	9-b1 	9II78	9s   * A
	A
c                   a \        R R.4      pV! ^4      oV3R lpV P                  \        VRR7      ! 4       V! 4       4       R# )Rowr8  c                  6   < Sp V P                   pV^8X  d   ^pV# r\  )r8  )rrresrows     r5   	test_implKTestArrayAnalysisParallelRequired.test_global_namedtuple.<locals>.test_impl  s"    B$$CaxJr8   Tr  N)r   assertEqualr   )r3   r  r  r  s   &  @r5   test_global_namedtuple8TestArrayAnalysisParallelRequired.test_global_namedtuple  s=    &!f	 	i$799;Gr8   c                    R  p^p\        V4      p\        P                  ! VP                  4      p\        P                  ! VP                  4      pV P	                  \        VRR7      ! W44      V! W54      4       R# )c                 b    \        V P                  4       F  pW!V&   K	  	  VP                  4       # r`   )r   r,   r7  )t_objXr   s   && r5   r  LTestArrayAnalysisParallelRequired.test_array_T_issue_3700.<locals>.test_impl  s&    EGG_! %557Nr8   Tr  N)r.   r  r  r,   r  r   )r3   r  r4   r  X1X2s   &     r5   test_array_T_issue_37009TestArrayAnalysisParallelRequired.test_array_T_issue_3700  sa    	
  #XXeggXXeggT*55y7K	Mr8   c                   R  pV P                  \        VRR7      ! 4       V! 4       4       R p\        P                  ! ^
4      p\	        R4      p\        P
                  P                  \        VRR7      ! W44      V! W44      4       R# )c                      \        R R 4      p R# rx   )slicer  s    r5   
test_impl1QTestArrayAnalysisParallelRequired.test_slice_shape_issue_3380.<locals>.test_impl1  s    dD!Ar8   Tr  c                     TpW,          # r`   rX   )r8  rE   rF   s   && r5   
test_impl2QTestArrayAnalysisParallelRequired.test_slice_shape_issue_3380.<locals>.test_impl2  s    A4Kr8   N)r  r   r  r  r  testingassert_array_equal)r3   r  r  r8  rE   s   &    r5   test_slice_shape_issue_3380=TestArrayAnalysisParallelRequired.test_slice_shape_issue_3380  sk    	 	j48:JLI	 IIbM$K


%%d+A1:a3C	Er8   c                    \        R R7      R 4       p\        P                  ! R4      p\        P                  P	                  V! V4      VP                  V4      4       R# )Tr  c                    V P                   ^ ,          p\        P                  ! V4      p\        V4       FF  p\        P                  ! V \        P
                  ! ^ 4      \        P
                  ! ^4       4      W#&   KH  	  V# r4  )r   r  r  r   r7  int32)datar  sumsr   s   &   r5   r  PTestArrayAnalysisParallelRequired.test_slice_dtype_issue_5056.<locals>.test_impl  sV    

1A88A;DAY&&bhhqk"((1+!>? Kr8   g      $@N)r   r  r  r  r  py_func)r3   r  r  s   &  r5   test_slice_dtype_issue_5056=TestArrayAnalysisParallelRequired.test_slice_dtype_issue_5056  sM     
t		 
	 yy~


%%ioy7H7H7NOr8   c                Z    R pV P                  \        VRR7      ! 4       V! 4       4       R# )zYmake sure a global tuple with non-integer values does not cause errors
(test for #6726).
c                       \         ^ ,          p V # r4  )GVAL)rH   s    r5   r  FTestArrayAnalysisParallelRequired.test_global_tuple.<locals>.test_impl#  s    QAHr8   Tr  N)r  r   )r3   r  s   & r5   rx  3TestArrayAnalysisParallelRequired.test_global_tuple  s%    	 	i$799;Gr8   rX   N)r9   r:   r;   r<   rY   _numba_parallel_test_skip_unsupportedr  r  r  r  r  rx  r=   r>   r?   s   @r5   r  r    s      "9 9" H H M M E E" P P 	H 	Hr8   r  c                   6   a  ] tR tRt o R t]R 4       tRtV tR# )TestArrayAnalysisInterfacei*  c                   / p\        \        4       F.  pVP                  R 4      '       g   K  \        \        V4      W&   K0  	  R p\        P
                  ! V4      pVP                  4        FO  w  rV\        P
                  ! V4      pV P                  WWR7      ;_uu_ 4        V P                  Wt4       RRR4       KQ  	  R#   + '       g   i     Kf  ; i)_analyze_op_call_c                     R # r`   rX   )r3   scoper   locr~   kwss   &&&&&&r5   
iface_stubMTestArrayAnalysisInterface.test_analyze_op_call_interface.<locals>.iface_stub2  s    r8   )fnamesigN)	dirr   r   r   r   pysignaturer   subTestr  )r3   aocr  r  expectedr  r  gots   &       r5   test_analyze_op_call_interface9TestArrayAnalysisInterface.test_analyze_op_call_interface+  s    'E 344$]E:
 (	$$Z0IIKDA##A&CA//  / 0/  ///s   "CCc                  a aa	a
a ^ RI Hp ^ RIHp VP                  V,          o	R^ /o
VV V
3R loV	V3R lp W2P                  V&   \
        P                  oV3R lp\        RR7      ! V4      ! ^
4      pS
R,          pS P                  V^ 4       S	VP                  V&   \        RR7      ! V4      ! ^
4      pS P                  WW4       S P                  VS
R,          4       R	#   S	TP                  T&   i ; i)
r   )Parfor)rg   counterc                   < V P                   pVP                  ^ ,          P                  R4       FV  pVP                  VP                  4      p\        VRR4      SJ g   K1  \        VP                  ^ ,          RR4      R8X  g   KV   M	  R# VP                  V4      pV P                  ^ ,          pSP                  VP                  RVP                  4      4       SR;;,          ^,          uu&   R# )r   r   r   Nr   r4   r  )rd   ri   r   r   r   r   r~   get_assigneer   rK   rL   r   )	rg   rd   r   callee
variable_Aesr  r3   shareds	   &     r5   testcodeKTestArrayAnalysisInterface.test_array_analysis_extensions.<locals>.testcodeE  s    $,,Gq)44V< //		:67D1U:tyy|VT:cA	 =  --d3J**1-BOOBKKZ__=>9"r8   c                &   < S! V4       S! WW#4      # )z7Recursive array analysis for parfor nodes.
            rX   )parforr   re   rg   orig_parforr  s   &&&&r5   
new_parforMTestArrayAnalysisInterface.test_array_analysis_extensions.<locals>.new_parforV  s     ^$7 r8   c                    < S! V 4      p\        V 4       F+  p\        P                  ! V4      pVP                  4       W&   K-  	  V^,           # r  )r   r  r  r7  )r4   r8  r   rZ  r  s   &   r5   rK  DTestArrayAnalysisInterface.test_array_analysis_extensions.<locals>.fd  s?    !HA		!A557AD # 1ur8   Tr  N)numba.parfors.parforr  numba.parforsrg   array_analysis_extensionsr  r  r   assertGreaterassertPreciseEqualr  )r3   r  rg   r  rK  r  executed_countr  r  r  r  r  s   f       @@@@r5   test_array_analysis_extensions9TestArrayAnalysisInterface.test_array_analysis_extensions:  s     	00$>>vFQ	#"		K?I44V<HHE %a(,C#I.N~q1 @KN44V< &q)"-.	):; @KN44V<s   AC# #C4rX   N)	r9   r:   r;   r<   r  r  r  r=   r>   r?   s   @r5   r  r  *  s     0 ;< ;<r8   r  __main__)g333333?ro  )G	itertoolsnumpyr  syscollectionsr   ior   numbar   r   r   
numba.corer   r	   r
   r   r   r   r   r   numba.tests.supportr   r   r   r   numba.parfors.array_analysisr   r   numba.core.compilerr   r   r   numba.core.ir_utilsr   numba.core.untyped_passesr   r   r   r   r   r   r    r!   r"   r#   numba.core.typed_passesr$   r%   r&   r'   numba.core.compiler_machineryr(   r)   numba.experimentalr*   unittestr  r  objectr.   r  rw  rB   r]   rv   r   r  r  r9   mainrX   r8   r5   <module>r     s:     
 "  & &	 	 	4 4 @ < < +J J J
B B S R '  ,  
CU[[1
23v  4 $/8 $/N U5  6$<$( <$~U- U-paH aHHL< L<^ zMMO r8   