+
    :iHR                     T   R t ^ RIt^ RIHt ^ RIt^ RIHtHtH	t	H
t
 ^ RIt^ RIHtHtHtHtHtHtHt ^ RIHt ^ RIHtHt  ! R R]4      t ! R	 R
]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ]!R8X  d   ]PD                  ! 4        R# R# )z
Tests for sub-components of parfors.
These tests are aimed to produce a good-enough coverage of parfor passes
so that refactoring on these passes are easier with faster testing turnaround.
Nreduce)njittypeofprangepndindex)rewritestyped_passesuntyped_passesinline_closurecallcompilercpuerrors)
cpu_target)TestCaseis_parfors_unsupportedc                   &   a  ] tR t^t o R tRtV tR# )
MyPipelinec                B   \         P                  ! 4       V n        WP                  n        W P                  n        W0P                  n        W@P                  n        R V P                  n        R V P                  n        R V P                  n	        / V P                  n
        R # N)r   	StateDictstate	typingctx	targetctxargsfunc_irtypemapreturn_type	calltypesmetadata)selfr   r   r   test_irs   &&&&&]/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/tests/test_parfors_passes.py__init__MyPipeline.__init__   si    '')
(

(



$

!

!%

#

 

    )r   N)__name__
__module____qualname____firstlineno__r#   __static_attributes____classdictcell____classdict__s   @r"   r   r      s     	! 	!r%   r   c                   p   a  ] tR t^'t o ]R
R l4       t]R 4       t]R
R l4       tR tR t	R t
R tR	tV tR# )BaseTestNc                   \         P                  p\         P                  p\        P                  ! V4      p\
        P                  ! R 4      p\        WEW&4      pVP                  4        VP                  4        \        P                  ! VP                  P                  VR R7      p	V	P                  4        \        P                  P!                  RVP                  4       \"        P$                  ! 4       P'                  VP                  4       \(        P*                  ! VP                  P,                  VP                  P.                  VP                  P                  VP                  P0                  R4      w  VP                  n        VP                  n        VP                  n        p
\(        P8                  ! 4       P'                  VP                  4       \:        P<                  P>                  PA                  4       p\:        P<                  P>                  PC                  VP                  P                  VP                  P2                  VP                  P6                  VP                  P,                  VP                  P.                  VVPD                  VR7      pVP                  4        \        P                  P!                  RVP                  4       WW3# )T)typedzbefore-inferenceN)swappedreplace_functions_mapzafter-inference)#r   typing_contexttarget_contextr   run_frontendr   ParallelOptionsr   refreshr   InlineClosureCallPassr   r   runr   rewrite_registryapplyr
   ReconstructSSArun_passr	   type_inference_stager   r   r   r   r   r   PreLowerStripPhisnumbaparforsparforParforDiagnosticsPreParforPassreplaced_fns)cls	test_funcr   swap_mapr   r   r!   optionstpinline_pass_diagnosticspreparfor_passs   &&&&         r"   _run_parforBaseTest._run_parfor(   s    --	--	''	2%%d+	d<(>>HHgT
 	!!''(:BHHE%%'00: --HH 2 2BHH4D4DHHMM4
	
HHHH HH 	&&(11"((;mm**<<>--;;HHHHHHHHHH,,"* < 	
 	!!''(9288DK77r%   c                b   V P                  W4      w  r4rV\        P                  ! 4       p\        P                  P
                  P                  VP                  P                  VP                  P                  VP                  P                  VP                  P                  VP                  P                  VP                  P                  VVVP                  P                  VR 7
      pVP                  4        V P!                  V4      p	V	P#                  VP                  P$                  4       V	# ))rN   )rP   r   FlagsrA   rB   rC   
ParforPassr   r   r   r   r   r   r   r   _pre_runsub_pass_classr:   blocks)
rG   rH   r   rK   rJ   rN   rM   flagsparfor_passsub_passs
   &&&       r"   run_parfor_sub_passBaseTest.run_parfor_sub_pass\   s    &)ooi&F#[ mm**55HHHHHHHH  HHHHHH# 6 
 	%%k2[((//0r%   c                0    V P                  WV4      w  rErgV# r   )rP   )rG   rH   r   rI   rK   rJ   rN   rO   s   &&&&    r"   run_parfor_pre_passBaseTest.run_parfor_pre_passt   s"    36??X4
0[ r%   c                L    \        R R7      ! V4      pV! V/ VB pV! V/ VB pWV3# )T)parallel)r   )r    funcr   kwargscfuncexpectgots   &&*,   r"   _run_parallelBaseTest._run_parallel{   s7    d#D)t&v&T$V${r%   c                t    \         '       d   R # V P                  ! V.VO5/ VB w  rEV P                  WE4       R # r   )r   rg   assertPreciseEqualr    rb   r   rc   re   rf   s   &&*,  r"   run_parallelBaseTest.run_parallel   s5    !!((???,r%   c                   \         '       d   R # V P                  ! V.VO5/ VB w  rEV P                  V\        P                  4       V P                  V\        P                  4       V P                  VP                  VP                  4       R # r   )r   rg   assertIsInstancenpndarrayassertEqualshaperk   s   &&*,  r"   run_parallel_check_output_array(BaseTest.run_parallel_check_output_array   sg    !!((???fbjj1c2::.syy1r%   c                    V F>  pV P                  VR ,          \        P                  P                  P                  4       K@  	  R# )newN)ro   rA   rB   rC   Parfor)r    recordsrecs   && r"   check_recordsBaseTest.check_records   s0    C!!#e*emm.B.B.I.IJ r%    r   )r&   r'   r(   r)   classmethodrP   r[   r^   rg   rl   rt   r{   r*   r+   r,   s   @r"   r/   r/   '   s[     18 18f  .  -2K Kr%   r/   c                   ~   a  ] tR t^t o ]P
                  P                  P                  tR t	R t
R tR tR tRtV tR# )TestConvertSetItemPassc                    R  pV P                  VR4      pV P                  \        VP                  4      ^4       VP                  w  pV P                  VR,          R4       V P	                  VP                  4       V P                  V4       R# )c                  @    ^
p \         P                  ! V 4      p^VR&   V# )
   NNNrp   onesnas     r"   	test_implATestConvertSetItemPass.test_setitem_full_slice.<locals>.test_impl   s"    A
AAaDHr%   reasonsliceNr}   r[   rr   len	rewrittenr{   rl   r    r   rZ   records   &   r"   test_setitem_full_slice.TestConvertSetItemPass.test_setitem_full_slice   z    	 ++Ir:X//0!4%%)738--.)$r%   c                    R  pV P                  VR4      pV P                  \        VP                  4      ^4       VP                  w  pV P                  VR,          R4       V P	                  VP                  4       V P                  V4       R# )c                  @    ^
p \         P                  ! V 4      p^VR&   V# )r   :N   Nr   r   s     r"   r   GTestConvertSetItemPass.test_setitem_slice_stop_bound.<locals>.test_impl   "    A
AAbEHr%   r   r   Nr}   r   r   s   &   r"   test_setitem_slice_stop_bound4TestConvertSetItemPass.test_setitem_slice_stop_bound   r   r%   c                    R  pV P                  VR4      pV P                  \        VP                  4      ^4       VP                  w  pV P                  VR,          R4       V P	                  VP                  4       V P                  V4       R# )c                  @    ^
p \         P                  ! V 4      p^VR&   V# )r   :   NNr   r   s     r"   r   HTestConvertSetItemPass.test_setitem_slice_start_bound.<locals>.test_impl   r   r%   r   r   Nr}   r   r   s   &   r"   test_setitem_slice_start_bound5TestConvertSetItemPass.test_setitem_slice_start_bound   r   r%   c                    R  pV P                  VR4      pV P                  \        VP                  4      ^4       VP                  w  pV P                  VR,          R4       V P	                  VP                  4       V P                  V4       R# )c                      ^
p \         P                  ! V 4      p\         P                  ! V\         P                  R7      p^W&   V# r   dtyperp   r   	ones_likebool_)r   r   bs      r"   r   GTestConvertSetItemPass.test_setitem_gather_if_scalar.<locals>.test_impl   s4    A
AQbhh/AADHr%   r   masked_assign_broadcast_scalarNr}   r   r   s   &   r"   test_setitem_gather_if_scalar4TestConvertSetItemPass.test_setitem_gather_if_scalar   s{    	 ++Ir:X//0!4%%)+KL8--.)$r%   c                    R  pV P                  VR4      pV P                  \        VP                  4      ^4       VP                  w  pV P                  VR,          R4       V P	                  VP                  4       V P                  V4       R# )c                      ^
p \         P                  ! V 4      p\         P                  ! V\         P                  R7      p\         P                  ! V4      pW2,          W&   V# r   r   )r   r   r   cs       r"   r   FTestConvertSetItemPass.test_setitem_gather_if_array.<locals>.test_impl   sC    A
AQbhh/AQA4ADHr%   r   masked_assign_arrayNr}   r   r   s   &   r"   test_setitem_gather_if_array3TestConvertSetItemPass.test_setitem_gather_if_array   s{    	 ++Ir:X//0!4%%)+@A8--.)$r%   r}   N)r&   r'   r(   r)   rA   rB   rC   ConvertSetItemPassrV   r   r   r   r   r   r*   r+   r,   s   @r"   r   r      s8     ]]))<<N%%%% % %r%   r   c                      a  ] tR t^t o ]P
                  P                  P                  tR t	R t
R tR tR tR tR tR tR	tV tR
# )TestConvertNumpyPassc                (  a V3R  lpV P                  VR4      pV P                  \        VP                  4      ^4       VP                  w  pV P                  VR,          R4       V P	                  VP                  4       V P                  V4       R# )c                     < ^
p S! V 4      pV# r   r}   r   r   fns     r"   r   >TestConvertNumpyPass.check_numpy_allocators.<locals>.test_impl       A1AHr%   r   numpy_allocatorNr}   r   r    r   r   rZ   r   s   &f   r"   check_numpy_allocators+TestConvertNumpyPass.check_numpy_allocators   s|    	
 ++Ir:X//0!4%%)+<=8--.)$r%   c                (  a V3R  lpV P                  VR4      pV P                  \        VP                  4      ^4       VP                  w  pV P                  VR,          R4       V P	                  VP                  4       V P                  V4       R# )c                     < ^
p S! V 4      pV# r   r}   r   s     r"   r   :TestConvertNumpyPass.check_numpy_random.<locals>.test_impl   r   r%   r   r   Nr}   )r[   rr   r   r   r{   rt   r   s   &f   r"   check_numpy_random'TestConvertNumpyPass.check_numpy_random   s|    	
 ++Ir:X//0!4%%)+<=8--.,,Y7r%   c                    \         P                  \         P                  .pV F@  pV P                  VP                  4      ;_uu_ 4        V P                  V4       R R R 4       KB  	  R #   + '       g   i     KW  ; ir   )rp   r   zerossubTestr&   r   r    fnsr   s   &  r"   test_numpy_allocators*TestConvertNumpyPass.test_numpy_allocators  sQ    ww!Bbkk**++B/ +* ***s   	A))A:c                    \         P                  P                  .pV F@  pV P                  VP                  4      ;_uu_ 4        V P	                  V4       R R R 4       KB  	  R #   + '       g   i     KW  ; ir   )rp   randomr   r&   r   r   s   &  r"   test_numpy_random&TestConvertNumpyPass.test_numpy_random  sQ    yy Bbkk**''+ +* ***s   A$$A5c                   R  p\         P                  ! ^
4      ;r#W#3pV Uu. uF  p\        V4      NK  	  ppV P                  W4      pV P	                  \        VP                  4      ^4       VP                  w  pV P	                  VR,          R4       V P                  VP                  4       V P                  ! V.VO5!   R# u upi )c                     W,           # r   r}   r   r   s   &&r"   r   <TestConvertNumpyPass.test_numpy_arrayexpr.<locals>.test_impl  s	    5Lr%   r   	arrayexprN	rp   r   r   r[   rr   r   r   r{   rl   	r    r   r   r   r   xargtypesrZ   r   s	   &        r"   test_numpy_arrayexpr)TestConvertNumpyPass.test_numpy_arrayexpr  s    	 v'+,t!F1It,++I@X//0!4%%);78--.)+d+ -   Cc                   R  p\         P                  ! ^
4      ;r#W#3pV Uu. uF  p\        V4      NK  	  ppV P                  W4      pV P	                  \        VP                  4      ^4       VP                  w  pV P	                  VR,          R4       V P                  VP                  4       V P                  ! V.VO5!   R# u upi )c                     \         P                  ! V ) 4      \         P                  ! ^4      \         P                  ! V4      ,          ,           #    )rp   sinfloat64sqrtr   s   &&r"   r   BTestConvertNumpyPass.test_numpy_arrayexpr_ufunc.<locals>.test_impl&  s,    661":

1
 :::r%   r   r   Nr   r   s	   &        r"   test_numpy_arrayexpr_ufunc/TestConvertNumpyPass.test_numpy_arrayexpr_ufunc%  s    	; v'+,t!F1It,++I@X//0!4%%);78--.)+d+ -r   c                   R  p\         P                  ! ^
4      p\         P                  ! R4      pW#3pV Uu. uF  p\        V4      NK  	  ppV P                  W4      pV P	                  \        VP                  4      ^4       VP                  w  pV P	                  VR,          R4       V P                  VP                  4       V P                  ! V.VO5!   R# u upi )c                 H    W,           \         P                  ! ^4      ,           # r   )rp   arrayr   s   &&r"   r   FTestConvertNumpyPass.test_numpy_arrayexpr_boardcast.<locals>.test_impl7  s    5288A;&&r%   r   r   N)   r   r   r   s	   &        r"   test_numpy_arrayexpr_boardcast3TestConvertNumpyPass.test_numpy_arrayexpr_boardcast6  s    	' GGBKGGGv'+,t!F1It,++I@X//0!4%%);78--.)+d+ -   Cc                   R  p\         P                  ! ^
4      p\         P                  ! ^
4      pW#3pV Uu. uF  p\        V4      NK  	  ppV P                  W4      pV P	                  \        VP                  4      ^4       VP                  w  pV P	                  VR,          R4       V P                  VP                  4       V P                  ! V.VO5!   R# u upi )c                 J    V P                  ^V P                  4      p W,           # r   )reshapesizer   s   &&r"   r   ETestConvertNumpyPass.test_numpy_arrayexpr_reshaped.<locals>.test_implI  s    		!QVV$A5Lr%   r   r   Nr   r   s	   &        r"   test_numpy_arrayexpr_reshaped2TestConvertNumpyPass.test_numpy_arrayexpr_reshapedH  s    	 GGBKGGBKv'+,t!F1It,++I@X//0!4%%);78--.)+d+ -r   r}   N)r&   r'   r(   r)   rA   rB   rC   ConvertNumpyPassrV   r   r   r   r   r   r   r   r   r*   r+   r,   s   @r"   r   r      sG     ]]))::N%80,,",",$, ,r%   r   c                   l   a  ] tR tRt o ]P
                  P                  P                  tR t	R t
RtV tR# )TestConvertReducePassi\  c                   R  p\         P                  ! ^
4      pV3pV Uu. uF  p\        V4      NK  	  ppV P                  W4      pV P	                  \        VP                  4      ^4       VP                  w  pV P	                  VR,          R4       V P                  VP                  4       V P                  ! V.VO5!   R# u upi )c                     \        R  V R4      # )c                     \        W4      # r   maxr   ys   &&r"   <lambda>PTestConvertReducePass.test_reduce_max_basic.<locals>.test_impl.<locals>.<lambda>a      s1yr%           r   arrs   &r"   r   >TestConvertReducePass.test_reduce_max_basic.<locals>.test_impl`  s    0#s;;r%   r   r   Nr   r    r   r   r   r   rZ   r   s   &      r"   test_reduce_max_basic+TestConvertReducePass.test_reduce_max_basic_  s    	< GGBKt'+,t!F1It,++I@X//0!4%%)848--.)+d+ -   Cc                   R  p\         P                  ! ^
4      pV3pV Uu. uF  p\        V4      NK  	  ppV P                  W4      pV P	                  \        VP                  4      ^4       VP                  w  pV P	                  VR,          R4       V P                  VP                  4       V P                  ! V.VO5!   R# u upi )c                 0    \        R  W ^8  ,          R4      # )c                     \        W4      # r   r   r  s   &&r"   r  QTestConvertReducePass.test_reduce_max_masked.<locals>.test_impl.<locals>.<lambda>q  r  r%   r  r   r  s   &r"   r   ?TestConvertReducePass.test_reduce_max_masked.<locals>.test_implp  s    0#Ag,DDr%   r   r   Nr   r  s   &      r"   test_reduce_max_masked,TestConvertReducePass.test_reduce_max_maskedo  s    	E GGBKt'+,t!F1It,++I@X//0!4%%)848--.)+d+ -r  r}   N)r&   r'   r(   r)   rA   rB   rC   ConvertReducePassrV   r  r  r*   r+   r,   s   @r"   r   r   \  s)     ]]));;N, , ,r%   r   c                      a  ] tR tRt o ]P
                  P                  P                  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V tR# )TestConvertLoopPassi  c                    R  pV P                  VR4      pV P                  \        VP                  4      ^4       VP                  w  pV P                  VR,          R4       V P	                  VP                  4       V P                  V4       R# )c                  B    ^p ^ p\        V 4       F  pW,          pK  	  V#    )r   )r   r   is      r"   r   @TestConvertLoopPass.test_prange_reduce_simple.<locals>.test_impl  s&    AAAY Hr%   r   loopNr}   r   r   s   &   r"   test_prange_reduce_simple-TestConvertLoopPass.test_prange_reduce_simple  sz    	 ++Ir:X//0!4%%)628--.)$r%   c                    R  pV P                  VR4      pV P                  \        VP                  4      ^4       VP                  w  pV P                  VR,          R4       V P	                  VP                  4       V P                  V4       R# )c                      ^p \         P                  ! V 4      p\        V 4       F  pW;;,          V,          uu&   K  	  V# r  rp   r   r   r   r	  r  s      r"   r   =TestConvertLoopPass.test_prange_map_simple.<locals>.test_impl  s2    A''!*CAY! Jr%   r   r  Nr}   r   r   s   &   r"   test_prange_map_simple*TestConvertLoopPass.test_prange_map_simple  z    	 ++Ir:X//0!4%%)628--.)$r%   c                    R  pV P                  VR4      pV P                  \        VP                  4      ^4       VP                  w  pV P                  VR,          R4       V P	                  VP                  4       V P                  V4       R# )c                      ^p \         P                  ! V 4      p\        ^V 4       F  pW;;,          V,          uu&   K  	  V# r  r$  r%  s      r"   r   ;TestConvertLoopPass.test_prange_two_args.<locals>.test_impl  s4    A''!*CAq\! "Jr%   r   r  Nr}   r   r   s   &   r"   test_prange_two_args(TestConvertLoopPass.test_prange_two_args  r)  r%   c                    R  pV P                  \        P                  4      ;_uu_ 4       pV P                  VR4       RRR4       V P	                  R\        XP                  4      4       R#   + '       g   i     L7; i)c                      ^p \         P                  ! V 4      p\        ^V ^4       F  pW;;,          V,          uu&   K  	  V# r  r$  r%  s      r"   r   =TestConvertLoopPass.test_prange_three_args.<locals>.test_impl  s6    A''!*CAq!_! %Jr%   Nz4Only constant step size of 1 is supported for pranger}   assertRaisesr   UnsupportedRewriteErrorr[   assertInstr	exceptionr    r   raisess   &  r"   test_prange_three_args*TestConvertLoopPass.test_prange_three_args  s]    	 v==>>&$$Y3 ?B  !	
 ?>   A--A=	c                    R  pV P                  VR4      pV P                  \        VP                  4      ^4       VP                  w  pV P                  VR,          R4       V P	                  VP                  4       V P                  V4       R# )c                      ^p \         P                  ! W 34      p\        V 4       F8  p\        V4       F&  pWV3;;,          W#V ,          ,           ,          uu&   K(  	  K:  	  V# r  )rp   r   r   ranger   r	  r  js       r"   r   ATestConvertLoopPass.test_prange_map_inner_loop.<locals>.test_impl  sO    A''1&/CAYqA1IU*I "  Jr%   r   r  Nr}   r   r   s   &   r"   test_prange_map_inner_loop.TestConvertLoopPass.test_prange_map_inner_loop  sz    	 ++Ir:X//0!4%%)628--.)$r%   c                *   R  pV P                  VR4      pV P                  \        VP                  4      ^4       V P	                  VP                  4       VP                   F  pV P                  VR,          R4       K  	  V P                  V4       R# )c                      ^p \         P                  ! W 34      p\        V 4       F8  p\        V4       F&  pWV3;;,          W#V ,          ,           ,          uu&   K(  	  K:  	  V# r  r$  r@  s       r"   r   DTestConvertLoopPass.test_prange_map_nested_prange.<locals>.test_impl  sO    A''1&/CAYA1IU*I #  Jr%   r   r  Nr}   r   r   s   &   r"   test_prange_map_nested_prange1TestConvertLoopPass.test_prange_map_nested_prange  s    	 ++Ir:X//0!48--.((FVH-v6 ) 	)$r%   c                    R  pV P                  VR4      pV P                  \        VP                  4      ^4       V P	                  VP                  4       VP                  w  pV P                  VR,          R4       V P                  V4       R# )c                      ^p \         P                  ! V 4      p\        V 4       F#  pWV^,            pVR;;,          ^,          uu&   K%  	  V# )r  r}   r$  )r   r	  r  inners       r"   r   ATestConvertLoopPass.test_prange_map_none_index.<locals>.test_impl  sC    A''!*CAYAb	Q	  Jr%   r   r  Nr}   r   r   s   &   r"   test_prange_map_none_index.TestConvertLoopPass.test_prange_map_none_index  sz    	 ++Ir:X//0!48--.%%)62)$r%   c                    R  pV P                  \        P                  4      ;_uu_ 4       pV P                  VR4       RRR4       V P	                  R\        XP                  4      4       R#   + '       g   i     L7; i)c                      ^p \         P                  ! V 4      p\        V 4       F  pV^,          pW!V^,
          &   K  	  V# r  r$  r%  s      r"   r   FTestConvertLoopPass.test_prange_map_overwrite_index.<locals>.test_impl  s=    A''!*CAYQAE
  Jr%   Nz Overwrite of parallel loop indexr}   r2  r8  s   &  r"   test_prange_map_overwrite_index3TestConvertLoopPass.test_prange_map_overwrite_index  s]    	 v==>>&$$Y3 ?.  !	
 ?>r<  c                    R  pV P                  VR4      pV P                  \        VP                  4      ^4       V P	                  VP                  4       VP                  w  pV P                  VR,          R4       V P                  V4       R# )c                     ^p \         P                  ! V 4      p\        P                  P                  P                  4        ^ p\        P                  P                  P                  \        V4      4       F  pW!V,          ,          pK  	  V# r  )rp   r   rA   rB   rC   init_prangeinternal_pranger   )r   r	  valr  s       r"   r   7TestConvertLoopPass.test_init_prange.<locals>.test_impl  sc    A''!*CMM  ,,.C]]))99#c(C1v DJr%   r   r  Nr}   r   r   s   &   r"   test_init_prange$TestConvertLoopPass.test_init_prange  sz    	 ++Ir:X//0!48--.%%)62)$r%   c                    R  pV P                  VR4      pV P                  \        VP                  4      ^4       V P	                  VP                  4       VP                  w  pV P                  VR,          R4       V P                  V4       R# )c                      ^p \         P                  ! W 34      p^ p\        VP                  4       F   pW#^ ,          V^,          ,          ,          pK"  	  V# r  )rp   r   r   rs   )r   r	  rY  idxs       r"   r   4TestConvertLoopPass.test_pndindex.<locals>.test_impl  sG    A''1&/CC		*1vA& +Jr%   r   r  Nr}   r   r   s   &   r"   test_pndindex!TestConvertLoopPass.test_pndindex  sz    	 ++Ir:X//0!48--.%%)62)$r%   c                   R  pRp\         P                  ! \         P                  ! V4      4      P                  V4      pV3pV Uu. uF  p\	        V4      NK  	  ppV P                  W4      pV P                  \        VP                  4      ^4       VP                  w  pV P                  VR,          R4       V P                  VP                  4       V P                  ! V.VO5!   R# u upi )c                 .    \         P                  ! V 4      # r   rp   sumr  s   &r"   r   5TestConvertLoopPass.test_numpy_sum.<locals>.test_impl*  s    66#;r%   r   r  N      rp   arangeprodr   r   r[   rr   r   r   r{   rl   	r    r   rs   r	  r   r   r   rZ   r   s	   &        r"   test_numpy_sum"TestConvertLoopPass.test_numpy_sum)  s    	 ii'//6v'+,t!F1It,++I@X//0!4%%)628--.)+d+ -   C*c                   R  pRp\         P                  ! \         P                  ! V4      4      P                  V4      pV3pV Uu. uF  p\	        V4      NK  	  ppV P                  W4      pV P                  \        VP                  4      ^4       VP                  w  pV P                  VR,          R4       V P                  VP                  4       V P                  ! V.VO5!   R# u upi )c                 V    V R,          p\         P                  ! W^8  R3,          4      # )r   :r      N)r       re  )r	  sliceds   & r"   r   GTestConvertLoopPass.test_numpy_sum_bool_array_masked.<locals>.test_impl:  s&    YF66#k3./00r%   r   r  Nrh  rk  rn  s	   &        r"    test_numpy_sum_bool_array_masked4TestConvertLoopPass.test_numpy_sum_bool_array_masked9  s    	1 ii'//6v'+,t!F1It,++I@X//0!4%%)628--.)+d+ -rq  c                   R  pRp\         P                  ! \         P                  ! V4      4      P                  V4      pV3pV Uu. uF  p\	        V4      NK  	  ppV P                  W4      pV P                  \        VP                  4      ^4       VP                   F  pV P                  VR,          R4       K  	  V P                  VP                  4       V P                  ! V.VO5!   R# u upi )c                     \         P                  ! V P                  ^,          4      p\         P                  ! V RV3,          4      # )r   r   )rp   rl  rs   rf  )r	  sels   & r"   r   FTestConvertLoopPass.test_numpy_sum_int_array_masked.<locals>.test_implK  s/    ))CIIaL)C66#af+&&r%   r   r  Nrh  rk  rn  s	   &        r"   test_numpy_sum_int_array_masked3TestConvertLoopPass.test_numpy_sum_int_array_maskedJ  s    	' ii'//6v'+,t!F1It,++I@X//0!4((FVH-v6 )8--.)+d+ -s   C/c                   R  pRp\         P                  ! \         P                  ! V4      4      P                  V4      pV3pV Uu. uF  p\	        V4      NK  	  ppV P                  W4      pV P                  \        VP                  4      ^4       VP                  w  pV P                  VR,          R4       V P                  VP                  4       V P                  ! V.VO5!   R# u upi )c                 (    V P                  ^4       V # )r   )fillr  s   &r"   r   =TestConvertLoopPass.test_numpy_fill_method.<locals>.test_impl]  s    HHQKJr%   r   r  Nrh  rk  rn  s	   &        r"   test_numpy_fill_method*TestConvertLoopPass.test_numpy_fill_method\  s    	 ii'//6v'+,t!F1It,++I@X//0!4%%)628--.)+d+ -rq  r}   N)r&   r'   r(   r)   rA   rB   rC   ConvertLoopPassrV   r   r'  r-  r:  rC  rH  rN  rS  r[  ra  ro  rx  r~  r  r*   r+   r,   s   @r"   r  r    se     ]]))99N% % % 
%"%"%"
 %$%$, ,",$, ,r%   r  c                   F   a  ] tR tRt o  ! R R4      tR tR tR tRtV t	R# )	TestPreParforPassio  c                   ,   a  ] tR tRt o R tR tRtV tR# ) TestPreParforPass.sub_pass_classip  c                    R # r   r}   )r    pass_statess   &&r"   r#   )TestPreParforPass.sub_pass_class.__init__q      r%   c                    R # r   r}   )r    rW   s   &&r"   r:   $TestPreParforPass.sub_pass_class.runt  r  r%   r}   N)r&   r'   r(   r)   r#   r:   r*   r+   r,   s   @r"   rV   r  p  s     		 	r%   rV   c                R   R  p\         P                  ! ^
4      pV3pV Uu. uF  p\        V4      NK  	  ppV P                  W4      pV P	                  VP
                  R,          ^ 4       V P	                  VP
                  R,          ^4       V P                  ! V.VO5!   R# u upi )c                 J    \         P                  ! ^V P                  R7      pV# )r  r   )rp   r   r   r   s   & r"   r   :TestPreParforPass.test_dtype_conversion.<locals>.test_imply  s    !''*AHr%   replaced_funcreplaced_dtypeNrp   rl  r   r^   rr   statsrl   r    r   r	  r   r   r   pre_passs   &      r"   test_dtype_conversion'TestPreParforPass.test_dtype_conversionw  s    	 iimv'+,t!F1It,++I@8!<(891=)+d+ -   B$c                R   R  p\         P                  ! ^
4      pV3pV Uu. uF  p\        V4      NK  	  ppV P                  W4      pV P	                  VP
                  R,          ^4       V P	                  VP
                  R,          ^ 4       V P                  ! V.VO5!   R# u upi )c                 .    \         P                  ! V 4      # r   re  r   s   &r"   r   9TestPreParforPass.test_sum_replacement.<locals>.test_impl      66!9r%   r  r  Nr  r  s   &      r"   test_sum_replacement&TestPreParforPass.test_sum_replacement  s    	 iimv'+,t!F1It,++I@8!<(891=)+d+ -r  c                   R  p\         P                  ! ^
4      pV3pV Uu. uF  p\        V4      NK  	  pp\        P                  P
                  P                  P                  4       pVP                  R4       V P                  WV4      pV P                  VP                  R,          ^ 4       V P                  VP                  R,          ^ 4       V P                  ! V.VO5!   R# u upi )c                 .    \         P                  ! V 4      # r   re  r  s   &r"   r   9TestPreParforPass.test_replacement_map.<locals>.test_impl  r  r%   r  r  N)rf  numpy)rp   rl  r   rA   rB   rC   swap_functions_mapcopypopr^   rr   r  rl   )r    r   r	  r   r   r   rI   r  s   &       r"   test_replacement_map&TestPreParforPass.test_replacement_map  s    	 iimv'+,t!F1It,==''::??A%&++IJ8!<(891=)+d+ -s   C(r}   N)
r&   r'   r(   r)   rV   r  r  r  r*   r+   r,   s   @r"   r  r  o  s#      ,,, ,r%   r  __main__)#__doc__unittest	functoolsr   r  rp   rA   r   r   r   r   numba.parfors.parfor
numba.corer   r	   r
   r   r   r   r   numba.core.registryr   numba.tests.supportr   r   objectr   r/   r   r   r   r  r  r&   mainr}   r%   r"   <module>r     s   
    0 0    + B
! 
!mKx mK`O%X O%dp,8 p,f!,H !,Hl,( l,^1, 1,h zMMO r%   