§
    2@Äjž
  ã                   ó|   — d Z ddlZddlZ ej        dd¬¦  «        d	d„¦   «         Zd„ Zedk    r e¦   «          dS dS )
aÊ  
This is a testcase for https://github.com/numba/numba/issues/9490.
The bug is very sensitive to the control-flow and variable uses.
It is impossible to shrink the reproducer in any meaningful way.

The test is also sensitive to PYTHONHASHSEED.
PYTHONHASHSEED=1 will trigger the bug.

Example of traceback:

  File "/numba/parfors/parfor.py", line 2070, in _arrayexpr_to_parfor
    index_vars, loopnests = _mk_parfor_loops(pass_states.typemap, size_vars,
                                             scope, loc)
  File "/numba/parfors/parfor.py", line 1981, in _mk_parfor_loops
    for size_var in size_vars:
TypeError: Failed in nopython mode pipeline (step: convert to parfors)
'NoneType' object is not iterable
é    NT)ÚnopythonÚparallelé   c           	      óÄ  — t          | j        d         dz  ¦  «        }t          j        | j        d         |j        d         ft          j        ¬¦  «        }t          j        |t          j        ¦  «        }t          j        |j        d         ¦  «        }t          j	        |j        d         ¦  «        D �]‹}|d d …|f         }t          j
        |¦  «        }	| |	          }
||	          }d}t          t          |¦  «        |dz
  d¦  «        D �]}|| d …         }|
| d …         }t          j                             t          j        |j        |¦  «        t          j        |j        |¦  «        ¦  «        }t          j        ||¦  «        |z
  }t          j        t          j        |dz  ¦  «        ¦  «        }t          j        |d         ¦  «        |z  |k     }t          j        |d         ¦  «        |z  |k     }t          j        |d         ¦  «        |z  |k     }||z  |z  }|r n�Œ||d d …|f<   ||| d …|f<   |||<   �Œ�|||                     t          j        ¦  «        fS )	Né   g      ø?)ÚdtypeFéþÿÿÿé   r   éÿÿÿÿ)ÚintÚshapeÚnpÚzerosÚfloat64Ú	full_likeÚnanÚemptyÚnumbaÚprangeÚisnanÚrangeÚlenÚlinalgÚsolveÚdotÚTÚsqrtÚmeanÚfabsÚastypeÚbool_)ÚXÚyÚ	thresholdÚmin_obsÚbetaÚ	residualsÚstableÚidxÚy_subÚisnaÚX_subÚ	is_stableÚjdxÚy_ÚX_Úbeta_subÚ	resid_subÚrmseÚfirstÚlastÚslopes                        úSC:\Projects\Historical\venv\Lib\site-packages\numba/tests/parfor_iss9490_usecase.pyÚ
stable_fitr8      s0  € å�!”'˜!”*˜sÑ"Ñ#Ô#€GÝŒ8�Q”W˜Q”Z ¤¨¤Ð,µB´JÐ?Ñ?Ô?€DÝ”˜Q¥¤Ñ'Ô'€IÝŒX�q”w˜q”zÑ#Ô#€FÝŒ|˜AœG AœJÑ'Ô'ð  ñ  ˆØ�!�!�!�S�&”	ˆÝŒx˜‰ŒˆØ�4�%”ˆØ�t�e”ˆØˆ	õ �˜U™œ W¨q¡[°"Ñ5Ô5ð 	ñ 	ˆCð ˜�t�u�u”ˆBØ˜�t�u�u”ˆBÝ”y—’¥r¤v¨b¬d°BÑ'7Ô'7½¼ÀÄÀbÑ9IÔ9IÑJÔJˆHÝœ˜r 8Ñ,Ô,¨rÑ1ˆIå”7�2œ7 9°¡>Ñ2Ô2Ñ3Ô3ˆDÝ”G˜I aœLÑ)Ô)¨DÑ0°9Ò<ˆEÝ”7˜9 Rœ=Ñ)Ô)¨DÑ0°9Ò<ˆDÝ”G˜H QœKÑ(Ô(¨4Ñ/°)Ò;ˆEà ™¨Ñ,ˆIØð Ø�ñð  ˆˆQˆQˆQ�ˆV‰Ø )ˆ	�3�$�%�%˜�*ÑØˆˆs‰‰Ø�˜FŸMšM­"¬(Ñ3Ô3Ð3Ð3ó    c                  óî  — t           j                             d¦  «         d} d}t           j                             | ¦  «        }t           j                             |¦  «        }t          ||¦  «        \  }}}t                               ||¦  «        \  }}}	t           j                             ||¦  «         t           j                             ||¦  «         t           j                             ||	¦  «         d S )Nr   )é
   é   )r;   é   )r   ÚrandomÚseedr8   Úpy_funcÚtestingÚassert_allclose)
ÚX_shapeÚy_shaper"   r#   Úgot_betaÚgot_residualsÚ
got_stableÚexp_betaÚexp_residualsÚ
exp_stables
             r7   ÚcheckrK   >   sÊ   € Ý„I‡N‚N�1ÑÔÐØ€GØ€GÝ
Œ	×Ò˜Ñ!Ô!€AÝ
Œ	×Ò˜Ñ!Ô!€Aå*4°Q¸Ñ*:Ô*:Ñ'€Hˆm˜ZÝ*4×*<Ò*<¸QÀÑ*BÔ*BÑ'€Hˆm˜Zå„J×Ò˜x¨Ñ2Ô2Ð2Ý„J×Ò˜}¨mÑ<Ô<Ð<Ý„J×Ò˜z¨:Ñ6Ô6Ð6Ð6Ð6r9   Ú__main__)r   )Ú__doc__r   Únumpyr   Újitr8   rK   Ú__name__© r9   r7   ú<module>rR      sŒ   ððð ð& €€€Ø Ð Ð Ð ð €„�D 4Ð(Ñ(Ô(ð"4ð "4ð "4ñ )Ô(ð"4ðJ7ð 7ð 7ð ˆzÒÐØ	€E�G„G€G€G€Gð Ðr9   