§
    µ³Ùgúå  ã                   óª  — d dl Z d dlZ d dlZd dlmZ d dlmZmZm	Z	m
Z
mZmZmZ d dlZd dlmZ d dlmZ ddlmZ d dlmZ ej        j        Zeej                             d¦  «         ed	d
dg¬¦  «        gZe j        dk    o
ej        dk     Z ed	d¬¦  «         G d„ d¦  «        ¦   «         Z G d„ d¦  «        Zd„ Z d„ Z!ej        j"        d„ ¦   «         Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+ ed	d ¬¦  «        d!„ ¦   «         Z,d"„ Z-d#„ Z. ed	d$¬¦  «        d%„ ¦   «         Z/ ed	d$¬¦  «        d&„ ¦   «         Z0d'„ Z1d(„ Z2 ed
d)¬*¦  «        d+„ ¦   «         Z3d,„ Z4 ed
d-¬*¦  «         G d.„ d/¦  «        ¦   «         Z5d0„ Z6d1„ Z7d2„ Z8d3„ Z9d4„ Z:d5„ Z;d6„ Z<d7„ Z=d8„ Z>d9„ Z?d:„ Z@d;„ ZAd<„ ZBd=„ ZCd>„ ZDd?„ ZEd@„ ZFdA„ ZGdB„ ZHdC„ ZIdD„ ZJdE„ ZKdF„ ZLdG„ ZMdH„ ZNdI„ ZOdJ„ ZPdK„ ZQdL„ ZRdM„ ZSdN„ ZTdO„ ZUdP„ ZVdQ„ ZWdR„ ZXdS„ ZYdT„ ZZdU„ Z[dV„ Z\dW„ Z]dX„ Z^dY„ Z_dZ„ Z`d[„ Zad\„ Zbd]„ Zcd^„ Zdd_„ Zed`„ Zfda„ Zgdb„ Zhdc„ Zidd„ Zjde„ Zkdf„ Zldg„ Zmdh„ Zndi„ Zodj„ Zpdk„ Zqdl„ Zrdm„ Zsdn„ Ztdo„ Zudp„ Zvdq„ Zwdr„ Zxds„ Zydt„ Zzdu„ Z{dv„ Z|dw„ Z}dx„ Z~dy„ Zdz„ Z€d{„ Z� ed	d|¬¦  «        d}„ ¦   «         Z‚d~„ Zƒ ed
d¬*¦  «         G d€„ d�¦  «        ¦   «         Z„ ed	¬‚¦  «        ej         …                    dƒej†        ej‡        g¦  «        d„„ ¦   «         ¦   «         ZˆdS )…é    N)Úsuppress_warnings)Úis_jaxÚis_torchÚarray_namespaceÚxp_assert_equalÚxp_assert_closeÚassert_array_almost_equalÚassert_almost_equal)Úraisesé   )Útypes)Úarray_api_compatibleÚskip_xp_backendsTÚcupyz	jax.numpy)Úcpu_onlyÚ
exceptionsÚntÚ2z test internal numpy-only helpers©Únp_onlyÚreasonc                   ó0   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTest_measurements_statsz²ndimage._measurements._stats() is a utility used by other functions.

        Since internal ndimage/_measurements.py code is NumPy-only,
        so is this this test class.
    c           	      óÈ  — g d¢}g d¢}ddg}dD ]Ò}t          j        |¦  «                             |¦  «        }t          j        |¦  «                             |¦  «        }t          j                             |||¬¦  «        \  }}t          rdt           j        ini }t          |t          j	        ddgfi |¤Ž¦  «         t          |t          j	        d	d
g¦  «        ¦  «         ŒÓd S )N©r   r   é   é   ©r   r   r   r   r   r   ©)é   )r   r   ©ÚlabelsÚindexÚdtyper   ç      ð?ç       @©
ÚnpÚarrayÚreshapeÚndimageÚ_measurementsÚ_statsÚIS_WINDOWS_AND_NP1Úint64r   Úasarray©	ÚselfÚxpÚxr"   r#   ÚshpÚcountsÚsumsÚ	dtype_args	            ú[/granary/edev/quantum/lib/python3.11/site-packages/scipy/ndimage/tests/test_measurements.pyÚtest_azTest_measurements_stats.test_a'   sö   € ØˆLˆLˆØ��ˆØ�A�ˆØ!ð 	:ð 	:ˆCÝ”˜‘”×#Ò# CÑ(Ô(ˆAÝ”X˜fÑ%Ô%×-Ò-¨cÑ2Ô2ˆFÝ"Ô0×7Ò7Ø˜&¨ð 8ñ /ô /‰LˆF�Dõ 0BÐI˜¥"¤(Ð+Ð+ÀrˆIÝ˜F¥B¤J°°1¨vÐ$CÐ$C¸Ð$CÐ$CÑDÔDÐDÝ˜D¥"¤*¨c°3¨ZÑ"8Ô"8Ñ9Ô9Ð9Ð9ð	:ð 	:ó    c           	      óÈ  — g d¢}g d¢}ddg}dD ]Ò}t          j        |¦  «                             |¦  «        }t          j        |¦  «                             |¦  «        }t          j                             |||¬¦  «        \  }}t          rdt           j        ini }t          |t          j	        ddgfi |¤Ž¦  «         t          |t          j	        d	d
g¦  «        ¦  «         ŒÓd S )Nr   ©r   r   é	   r>   r   r>   r   r!   r$   r   r%   r&   r'   r1   s	            r9   Útest_bzTest_measurements_stats.test_b5   sø   € ð ˆLˆLˆØ��ˆØ�A�ˆØ!ð 	:ð 	:ˆCÝ”˜‘”×#Ò# CÑ(Ô(ˆAÝ”X˜fÑ%Ô%×-Ò-¨cÑ2Ô2ˆFÝ"Ô0×7Ò7Ø˜&¨ð 8ñ /ô /‰LˆF�Dõ 0BÐI˜¥"¤(Ð+Ð+ÀrˆIÝ˜F¥B¤J°°1¨vÐ$CÐ$C¸Ð$CÐ$CÑDÔDÐDÝ˜D¥"¤*¨c°3¨ZÑ"8Ô"8Ñ9Ô9Ð9Ð9ð	:ð 	:r;   c           	      ó  — g d¢}g d¢}ddg}dD ]ø}t          j        |¦  «                             |¦  «        }t          j        |¦  «                             |¦  «        }t          j                             |||d¬¦  «        \  }}}t          rdt           j        ini }	t          |t          j	        d	d	gfi |	¤Ž¦  «         t          |t          j	        d
dg¦  «        ¦  «         t          |t          j	        ddg¦  «        ¦  «         Œùd S )Nr   r   r   r   r   T©r"   r#   Úcenteredr$   r   r%   r&   ç      à?r'   ©
r2   r3   r4   r"   r#   r5   r6   r7   Úcentersr8   s
             r9   Útest_a_centeredz'Test_measurements_stats.test_a_centeredE   ó  € ØˆLˆLˆØ��ˆØ�A�ˆØ!ð 		=ð 		=ˆCÝ”˜‘”×#Ò# CÑ(Ô(ˆAÝ”X˜fÑ%Ô%×-Ò-¨cÑ2Ô2ˆFÝ$+Ô$9×$@Ò$@Ø˜&¨¸ð %Añ %>ô %>Ñ!ˆF�D˜'õ 0BÐI˜¥"¤(Ð+Ð+ÀrˆIÝ˜F¥B¤J°°1¨vÐ$CÐ$C¸Ð$CÐ$CÑDÔDÐDÝ˜D¥"¤*¨c°3¨ZÑ"8Ô"8Ñ9Ô9Ð9Ý˜G¥R¤Z°°c°
Ñ%;Ô%;Ñ<Ô<Ð<Ð<ð		=ð 		=r;   c           	      ó  — g d¢}g d¢}ddg}dD ]ø}t          j        |¦  «                             |¦  «        }t          j        |¦  «                             |¦  «        }t          j                             |||d¬¦  «        \  }}}t          rdt           j        ini }	t          |t          j	        d	d	gfi |	¤Ž¦  «         t          |t          j	        d
dg¦  «        ¦  «         t          |t          j	        ddg¦  «        ¦  «         Œùd S )Nr   r=   r   r>   r   TrA   r$   r   r%   r&   rC   r'   rD   s
             r9   Útest_b_centeredz'Test_measurements_stats.test_b_centeredT   rG   r;   c           	      ó  — g d¢}g d¢}ddg}dD ]ø}t          j        |¦  «                             |¦  «        }t          j        |¦  «                             |¦  «        }t          j                             |||d¬¦  «        \  }}}t          rdt           j        ini }	t          |t          j	        d	d	gfi |	¤Ž¦  «         t          |t          j	        d
dg¦  «        ¦  «         t          |t          j	        ddg¦  «        ¦  «         Œùd S )Nr   )ç        rK   ç      "@rL   rK   rL   r   TrA   r$   r   r%   r&   rC   r'   rD   s
             r9   Útest_nonint_labelsz*Test_measurements_stats.test_nonint_labelsc   s  € ØˆLˆLˆØ%Ð%Ð%ˆØ�c�
ˆØ!ð 		=ð 		=ˆCÝ”˜‘”×#Ò# CÑ(Ô(ˆAÝ”X˜fÑ%Ô%×-Ò-¨cÑ2Ô2ˆFÝ$+Ô$9×$@Ò$@Ø˜&¨¸ð %Añ %>ô %>Ñ!ˆF�D˜'õ 0BÐI˜¥"¤(Ð+Ð+ÀrˆIÝ˜F¥B¤J°°1¨vÐ$CÐ$C¸Ð$CÐ$CÑDÔDÐDÝ˜D¥"¤*¨c°3¨ZÑ"8Ô"8Ñ9Ô9Ð9Ý˜G¥R¤Z°°c°
Ñ%;Ô%;Ñ<Ô<Ð<Ð<ð		=ð 		=r;   N)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r:   r?   rF   rI   rM   © r;   r9   r   r       si   € € € € € ðð ð
:ð :ð :ð:ð :ð :ð =ð =ð =ð=ð =ð =ð=ð =ð =ð =ð =r;   r   c                   ó   — e Zd ZdZd„ ZdS )ÚTest_measurements_selectzEndimage._measurements._select() is a utility used by other functions.c                 ó  — g d¢}g d¢ddgfg d¢ddgfg d¢dd	gfg}|D �]ß\  }}t           j                             |||¬
¦  «        }t          |¦  «        dk    sJ ‚t           j                             |||d¬¦  «        }t          |¦  «        dk    sJ ‚t	          |d         ddg¦  «         t           j                             |||d¬¦  «        }t          |¦  «        dk    sJ ‚t	          |d         ddg¦  «         t           j                             |||dd¬¦  «        }t          |¦  «        dk    sJ ‚t	          |d         ddg¦  «         t	          |d         ddg¦  «         |d         j        j        dk    sJ ‚t           j                             |||dd¬¦  «        }t          |¦  «        dk    sJ ‚t	          |d         ddg¦  «         t	          |d         ddg¦  «         |d         j        j        dk    sJ ‚�Œád S )N)r   r   r   r   r   r   r   r=   r>   )rK   rK   ç      @rV   rK   rV   r!   T)r"   r#   Úfind_maxr   )r"   r#   Úfind_minr   )r"   r#   rX   Úfind_min_positionsé   Úi)r"   r#   rW   Úfind_max_positions)r+   r,   Ú_selectÚlenr   r$   Úkind)r2   r3   r4   Úcasesr"   r#   Úresults          r9   Ú
test_basicz#Test_measurements_select.test_basicv   sc  € ØˆLˆLˆàˆ\ˆ\˜A˜q˜6Ð"Øˆ\ˆ\˜A˜q˜6Ð"Ø!Ð!Ð! C¨ :Ð.ð
ˆð
 #ð 	/ñ 	/‰MˆF�EÝÔ*×2Ò2Ø˜&¨ð 3ñ /ô /ˆFå�v‘;”; !Ò#Ð#Ð#Ð#ÝÔ*×2Ò2Ø˜&¨¸ð 3ñ >ô >ˆFå�v‘;”; !Ò#Ð#Ð#Ð#Ý˜F 1œI¨¨1 vÑ.Ô.Ð.ÝÔ*×2Ò2Ø˜&¨¸ð 3ñ >ô >ˆFå�v‘;”; !Ò#Ð#Ð#Ð#Ý˜F 1œI¨¨1 vÑ.Ô.Ð.ÝÔ*×2Ò2Ø˜&¨¸Ø#'ð 3ñ )ô )ˆFõ �v‘;”; !Ò#Ð#Ð#Ð#Ý˜F 1œI¨¨1 vÑ.Ô.Ð.Ý˜F 1œI¨¨1 vÑ.Ô.Ð.Ø˜!”9”?Ô'¨3Ò.Ð.Ð.Ð.ÝÔ*×2Ò2Ø˜&¨¸Ø#'ð 3ñ )ô )ˆFõ �v‘;”; !Ò#Ð#Ð#Ð#Ý˜F 1œI¨¨1 vÑ.Ô.Ð.Ý˜F 1œI¨¨1 vÑ.Ô.Ð.Ø˜!”9”?Ô'¨3Ò.Ð.Ð.Ð.Ñ.ð3	/ð 	/r;   N)rN   rO   rP   rQ   rb   rR   r;   r9   rT   rT   s   s)   € € € € € ØOÐOð /ð  /ð  /ð  /ð  /r;   rT   c                 ó~   — |                       g ¦  «        }t          j        |¦  «        \  }}|dk    sJ ‚|dk    sJ ‚d S ©Nr   )Úonesr+   Úlabel©r3   ÚdataÚoutÚns       r9   Útest_label01rk   ™   sB   € Ø�7Š7�2‰;Œ;€DÝŒ]˜4Ñ Ô �F€CˆØ�!Š8ˆ8ˆ8ˆ8Ø�Š6ˆ6ˆ6ˆ6ˆ6ˆ6r;   c                 ó~   — |                       g ¦  «        }t          j        |¦  «        \  }}|dk    sJ ‚|dk    sJ ‚d S )Nr   )Úzerosr+   rf   rg   s       r9   Útest_label02rn       sB   € Ø�8Š8�B‰<Œ<€DÝŒ]˜4Ñ Ô �F€CˆØ�!Š8ˆ8ˆ8ˆ8Ø�Š6ˆ6ˆ6ˆ6ˆ6ˆ6r;   c                 ó¸   — |                       dg¦  «        }t          j        |¦  «        \  }}t          ||                      dg¦  «        ¦  «         |dk    sJ ‚d S rd   ©re   r+   rf   r	   r0   rg   s       r9   Útest_label03rq   §   sS   € à�7Š7�A�3‰<Œ<€DÝŒ]˜4Ñ Ô �F€CˆÝ˜c 2§:¢:¨q¨c¡?¤?Ñ3Ô3Ð3Ø�Š6ˆ6ˆ6ˆ6ˆ6ˆ6r;   c                 ó¸   — |                       dg¦  «        }t          j        |¦  «        \  }}t          ||                      dg¦  «        ¦  «         |dk    sJ ‚d S )Nr   r   )rm   r+   rf   r	   r0   rg   s       r9   Útest_label04rs   ¯   sS   € Ø�8Š8�Q�C‰=Œ=€DÝŒ]˜4Ñ Ô �F€CˆÝ˜c 2§:¢:¨q¨c¡?¤?Ñ3Ô3Ð3Ø�Š6ˆ6ˆ6ˆ6ˆ6ˆ6r;   c                 óº   — |                       dg¦  «        }t          j        |¦  «        \  }}t          ||                      g d¢¦  «        ¦  «         |dk    sJ ‚d S )Né   )r   r   r   r   r   r   rp   rg   s       r9   Útest_label05rv   ¶   sW   € Ø�7Š7�A�3‰<Œ<€DÝŒ]˜4Ñ Ô �F€CˆÝ˜c 2§:¢:¨o¨o¨oÑ#>Ô#>Ñ?Ô?Ð?Ø�Š6ˆ6ˆ6ˆ6ˆ6ˆ6r;   c                 ó¼   — |                       g d¢¦  «        }t          j        |¦  «        \  }}t          ||                       g d¢¦  «        ¦  «         |dk    sJ ‚d S )N)r   r   r   r   r   r   ©r   r   r   r   r   rZ   rZ   ©r0   r+   rf   r	   rg   s       r9   Útest_label06rz   ½   sa   € Ø�:Š:Ð(Ð(Ð(Ñ)Ô)€DÝŒ]˜4Ñ Ô �F€CˆÝ˜c 2§:¢:Ð.@Ð.@Ð.@Ñ#AÔ#AÑBÔBÐBØ�Š6ˆ6ˆ6ˆ6ˆ6ˆ6r;   c                 óü   — |                       g d¢g d¢g d¢g d¢g d¢g d¢g¦  «        }t          j        |¦  «        \  }}t          ||                       g d¢g d¢g d¢g d¢g d¢g d¢g¦  «        ¦  «         |dk    sJ ‚d S )N©r   r   r   r   r   r   r   ry   rg   s       r9   Útest_label07r}   Ä   s×   € Ø�:Š:Ð)Ð)Ð)Ø)Ð)Ð)Ø)Ð)Ð)Ø)Ð)Ð)Ø)Ð)Ð)Ø)Ð)Ð)ð+ñ ,ô ,€Dõ Œ]˜4Ñ Ô �F€CˆÝ˜c 2§:¢:Ø%7Ð%7Ð%7Ø%7Ð%7Ð%7Ø%7Ð%7Ð%7Ø%7Ð%7Ð%7Ø%7Ð%7Ð%7Ø%7Ð%7Ð%7ð%9ñ$:ô $:ñ ;ô ;ð ;ð �Š6ˆ6ˆ6ˆ6ˆ6ˆ6r;   c                 óü   — |                       g d¢g d¢g d¢g d¢g d¢g d¢g¦  «        }t          j        |¦  «        \  }}t          ||                       g d¢g d¢g d¢g d¢g d¢g d	¢g¦  «        ¦  «         |d
k    sJ ‚d S )N©r   r   r   r   r   r   ©r   r   r   r   r   r   ©r   r   r   r   r   r   ©r   r   r   r   r   r   ©r   r   r   r   r   r   ©r   r   r   r   r   r   ©r   r   r   r   r   r   ©rZ   rZ   r   r   r   r   ©r   r   r   r    r    r   r    ry   rg   s       r9   Útest_label08rˆ   Ö   sÝ   € Ø�:Š:Ð)Ð)Ð)Ø)Ð)Ð)Ø)Ð)Ð)Ø)Ð)Ð)Ø)Ð)Ð)Ø)Ð)Ð)ð+ñ ,ô ,€Dõ Œ]˜4Ñ Ô �F€CˆÝ˜c 2§:¢:Ð/AÐ/AÐ/AØ/AÐ/AÐ/AØ/AÐ/AÐ/AØ/AÐ/AÐ/AØ/AÐ/AÐ/AØ/AÐ/AÐ/Að/Cñ $Dô $Dñ Eô Eð Eð �Š6ˆ6ˆ6ˆ6ˆ6ˆ6r;   c                 óR  — |                       g d¢g d¢g d¢g d¢g d¢g d¢g¦  «        }t          j        dd¦  «        }|                       |¦  «        }t          j        ||¦  «        \  }}t	          ||                       g d¢g d¢g d¢g d	¢g d	¢g d
¢g¦  «        ¦  «         |dk    sJ ‚d S )Nr   r€   r�   r‚   rƒ   r   r„   r…   )r   r   r   r   r   r   )r   r   r   rZ   rZ   r   rZ   ©r0   r+   Úgenerate_binary_structurerf   r	   ©r3   rh   Ústructri   rj   s        r9   Útest_label09rŽ   ç   s  € Ø�:Š:Ð)Ð)Ð)Ø)Ð)Ð)Ø)Ð)Ð)Ø)Ð)Ð)Ø)Ð)Ð)Ø)Ð)Ð)ð+ñ ,ô ,€Dõ Ô.¨q°!Ñ4Ô4€FØ�ZŠZ˜ÑÔ€FÝŒ]˜4 Ñ(Ô(�F€CˆÝ˜c 2§:¢:Ð/AÐ/AÐ/AØ/AÐ/AÐ/AØ/AÐ/AÐ/AØ/AÐ/AÐ/AØ/AÐ/AÐ/AØ/AÐ/AÐ/Að/Cñ $Dô $Dñ Eô Eð Eð �Š6ˆ6ˆ6ˆ6ˆ6ˆ6r;   c           
      ó:  — |                       g d¢g d¢g d¢g d¢g¦  «        }t          j        dd¦  «        }|                       |¦  «        }t          j        ||¦  «        \  }}t	          ||                       g d¢g d¢g d¢g d¢g¦  «        ¦  «         |dk    sJ ‚d S )Nr|   )r   r   r   r   r   r   )r   r   r   r   r   r   r   r   rŠ   rŒ   s        r9   Útest_label10r�   ú   sÞ   € Ø�:Š:Ð)Ð)Ð)Ø)Ð)Ð)Ø)Ð)Ð)Ø)Ð)Ð)ð+ñ ,ô ,€Dõ Ô.¨q°!Ñ4Ô4€FØ�ZŠZ˜ÑÔ€FÝŒ]˜4 Ñ(Ô(�F€CˆÝ˜c 2§:¢:Ð/AÐ/AÐ/AØ/AÐ/AÐ/AØ/AÐ/AÐ/AØ/AÐ/AÐ/Að/Cñ $Dô $Dñ Eô Eð Eð �Š6ˆ6ˆ6ˆ6ˆ6ˆ6r;   c           
      ó<  — t           D ]“}t          | |¦  «        }|                      g d¢g d¢g d¢g d¢g d¢g d¢g|¬¦  «        }t          j        |¦  «        \  }}g d¢g d¢g d¢g d	¢g d	¢g d
¢g}|                      |¦  «        }t          ||¦  «         |dk    sJ ‚Œ”d S )Nr   r€   r�   r‚   rƒ   ©r$   r„   r…   r†   r‡   r    ©r   Úgetattrr0   r+   rf   r	   ©r3   Útyper$   rh   ri   rj   Úexpecteds          r9   Útest_label11r˜   	  s  € Ýð ð ˆÝ˜˜DÑ!Ô!ˆØ�zŠzÐ-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-ð/ð
 7<ð ñ =ô =ˆõ ”˜tÑ$Ô$‰ˆˆQØ&Ð&Ð&Ø&Ð&Ð&Ø&Ð&Ð&Ø&Ð&Ð&Ø&Ð&Ð&Ø&Ð&Ð&ð(ˆð —:’:˜hÑ'Ô'ˆÝ! # xÑ0Ô0Ð0Ø�AŠvˆvˆvˆvˆvð#ð r;   z inplace output is numpy-specificc           
      ó:  — t           D ]’}t          | |¦  «        }|                      g d¢g d¢g d¢g d¢g d¢g d¢g|¬¦  «        }t          j        ||¬¦  «        }g d¢g d¢g d	¢g d
¢g d
¢g d¢g}|                      |¦  «        }t          ||¦  «         |dk    sJ ‚Œ“d S )Nr   r€   r�   r‚   rƒ   r’   ©Úoutputr„   r…   r†   r‡   r    r“   )r3   r–   r$   rh   rj   r—   s         r9   Útest_label11_inplacerœ     s  € åð ð ˆÝ˜˜DÑ!Ô!ˆØ�zŠzÐ-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-ð/ð
 7<ð ñ =ô =ˆõ ŒM˜$ tÐ,Ñ,Ô,ˆØ&Ð&Ð&Ø&Ð&Ð&Ø&Ð&Ð&Ø&Ð&Ð&Ø&Ð&Ð&Ø&Ð&Ð&ð(ˆð —:’:˜hÑ'Ô'ˆÝ! $¨Ñ1Ô1Ð1Ø�AŠvˆvˆvˆvˆvð#ð r;   c           	      ó0  — t           D ]�}t          | |¦  «        }|                      g d¢g d¢g d¢g d¢g d¢g|¬¦  «        }t          j        |¦  «        \  }}g d¢g d¢g d¢g d¢g d¢g}|                      |¦  «        }t          ||¦  «         |dk    sJ ‚ŒŽd S )N)r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   rƒ   r’   r   r“   r•   s          r9   Útest_label12rž   4  sô   € Ýð ð ˆÝ˜˜DÑ!Ô!ˆØ�zŠzÐ-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-ð	/ð 7<ð	 ñ =ô =ˆõ
 ”˜tÑ$Ô$‰ˆˆQØ&Ð&Ð&Ø&Ð&Ð&Ø&Ð&Ð&Ø&Ð&Ð&Ø&Ð&Ð&ð	(ˆð
 —:’:˜hÑ'Ô'ˆÝ! # xÑ0Ô0Ð0Ø�AŠvˆvˆvˆvˆvðð r;   c                 ó$  — t           D ]‡}t          | |¦  «        }|                      g d¢g d¢g d¢g d¢g|¬¦  «        }t          j        |¦  «        \  }}g d¢g d¢g d¢g d¢g}|                      |¦  «        }t          ||¦  «         |dk    sJ ‚Œˆd S )N)r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r’   r   r“   r•   s          r9   Útest_label13r    G  sâ   € Ýð ð ˆÝ˜˜DÑ!Ô!ˆØ�zŠzÐ<Ð<Ð<Ø<Ð<Ð<Ø<Ð<Ð<Ø<Ð<Ð<ð>ð !&ð	 ñ 'ô 'ˆõ
 ”˜tÑ$Ô$‰ˆˆQØ5Ð5Ð5Ø5Ð5Ð5Ø5Ð5Ð5Ø5Ð5Ð5ð7ˆð —:’:˜hÑ'Ô'ˆÝ! # xÑ0Ô0Ð0Ø�AŠvˆvˆvˆvˆvðð r;   zoutput=dtype is numpy-specificc                 ó0  — |                       dg¦  «        }t          D ]w}t          | |¦  «        }|                      dg|¬¦  «        }t	          j        ||¬¦  «        }t          ||                       |j        |j        ¬¦  «        ¦  «         |dk    sJ ‚Œxd S )Nru   r’   rš   r   )	re   r   r”   rm   r+   rf   r	   Úshaper$   ©r3   rh   Útr$   r›   rj   s         r9   Útest_label_output_typedr¥   Y  s¡   € à�7Š7�A�3‰<Œ<€DÝð ð ˆÝ˜˜A‘”ˆØ—’˜1˜# U�Ñ+Ô+ˆÝŒM˜$ vÐ.Ñ.Ô.ˆÝ! &Ø"$§'¢'¨&¬,¸f¼l 'Ñ"KÔ"Kñ	Mô 	Mð 	Mà�AŠvˆvˆvˆvˆvðð r;   c                 ó  — |                       dg¦  «        }t          D ]g}t          | |¦  «        }t          j        ||¬¦  «        \  }}t          ||                       |j        |j        ¬¦  «        ¦  «         |j        |k    sJ ‚Œhd S )Nru   rš   r’   )re   r   r”   r+   rf   r	   r¢   r$   r£   s         r9   Útest_label_output_dtyper§   e  s•   € à�7Š7�A�3‰<Œ<€DÝð !ð !ˆÝ˜˜A‘”ˆÝ”M $¨uÐ5Ñ5Ô5‰	ˆ�Ý! &Ø"$§'¢'¨&¬,¸f¼l 'Ñ"KÔ"Kñ	Mô 	Mð 	MàŒ|˜qÒ Ð Ð Ð Ð ð!ð !r;   c                 ó.  — t          | ¦  «        rt          j        d¦  «         |                      dg¦  «        }t          D ]S}t          | |¦  «        }|                      dg|¬¦  «        }t          t          t          ft          j        ||¬¦  «         ŒTd S )NzJAX does not raiseru   é
   r’   rš   )r   ÚpytestÚxfailre   r   r”   rm   Úassert_raisesÚ
ValueErrorÚ	TypeErrorr+   rf   )r3   rh   r¤   r$   r›   s        r9   Útest_label_output_wrong_sizer¯   p  s›   € Ýˆb�z„zð +ÝŒÐ)Ñ*Ô*Ð*à�7Š7�A�3‰<Œ<€DÝð :ð :ˆÝ˜˜A‘”ˆØ—’˜2˜$ e�Ñ,Ô,ˆå•z¥9Ð-Ý”m T°&ð	:ñ 	:ô 	:ð 	:ð 	:ð	:ð :r;   c           
      ó.  — t          j        t          j                             t          j                             t          ¦  «        dd¦  «        ¦  «        }t          j        t          j                             t          j                             t          ¦  «        dd¦  «        ¦  «        }t          j        t          j                             t          j                             t          ¦  «        dd¦  «        ¦  «        }|                     d¦  «        }|                     d¦  «        }|                     d¦  «        }|                      |¦  «        }|                      |¦  «        }|                      |¦  «        }d}t          |j
        d         ¦  «        D ]z}||d d …d d …f         }t          |j
        d         ¦  «        D ]N}||d d …d d …f         }t          t          j        ||¦  «        d         ||d d …d d …f         d¬	¦  «         |d
z  }ŒOŒ{d S )Nrh   zlabel_inputs.txtzlabel_strels.txtzlabel_results.txt)éÿÿÿÿé   r²   )r±   rZ   rZ   r   F©Úcheck_dtyper   )r(   ÚloadtxtÚosÚpathÚjoinÚdirnameÚ__file__r*   r0   Úranger¢   r   r+   rf   )	r3   rh   ÚstrelsÚresultsÚrr[   ÚdÚjÚss	            r9   Útest_label_structuring_elementsrÂ   }  sß  € ÝŒ:•b”g—l’l¥2¤7§?¢?Ýñ$ô $ØÐ-ñ/ô /ñ 0ô 0€DåŒZ�œŸšÝ
Œ�Š�Ñ!Ô! 6Ð+=ñ?ô ?ñ @ô @€FåŒj�œŸšÝ
Œ�Š�Ñ!Ô! 6Ð+>ñ@ô @ñ Aô A€Gà�<Š<˜
Ñ#Ô#€DØ�^Š^˜JÑ'Ô'€FØ�oŠo˜jÑ)Ô)€Gà�:Š:�dÑÔ€DØ�ZŠZ˜ÑÔ€FØ�jŠj˜Ñ!Ô!€GØ	€AÝ�4”:˜a”=Ñ!Ô!ð ð ˆØ��A�A�A�q�q�q�ŒMˆÝ�v”| A”Ñ'Ô'ð 	ð 	ˆAØ�q˜!˜!˜!˜Q˜Q˜Q�w”ˆAÝ�GœM¨!¨QÑ/Ô/°Ô2°G¸A¸q¸q¸qÀ!À!À!¸GÔ4DÐRWÐXÑXÔXÐXØ�‰FˆAˆAð	ðð r;   z2`cupyx.scipy.ndimage` does not have `find_objects`©r   c                 óL  ‡ — dˆ fd„	}t          j        t           j        ¦  «        t          j        d¦  «        k    rhd}t           j                             t          j        |¦  «        ¦  «                             |¦  «        }‰                      |¦  «        } ||¦  «         d S d S )Nçffffffæ?r    c                 óè   •— | |k    }t          |j        ¦  «        }t          j        ||¦  «        }‰	                     |¦  «        }t          j        ||¦  «        \  }}t          j        |¦  «        }d S )N)r^   r¢   r+   r‹   r0   rf   Úfind_objects)
ÚimgÚthreshÚsizeÚmaskÚrankr�   ÚlaÚcoÚ_r3   s
            €r9   ÚSEztest_ticket_742.<locals>.SE—  sj   ø€ Ø�VŠ|ˆÝ�4”:‰ŒˆÝÔ2°4¸Ñ>Ô>ˆØ—’˜FÑ#Ô#ˆÝ”˜tØ%ñ'ô '‰ˆˆBåÔ  Ñ$Ô$ˆˆˆr;   r[   )rZ   éØ  rÑ   )rÅ   r    )r(   r$   ÚintpÚrandomÚrandÚprodr*   r0   )r3   rÐ   r¢   Úas   `   r9   Útest_ticket_742r×   “  s˜   ø€ ð%ð %ð %ð %ð %ð %õ 
„x•”ÑÔ�BœH S™MœMÒ)Ð)ØˆÝŒI�NŠN�2œ7 5™>œ>Ñ*Ô*×2Ò2°5Ñ9Ô9ˆØ�JŠJ�q‰MŒMˆà
ˆˆ1‰Œˆˆˆð *Ð)r;   c                 ó
  — t          j        d¦  «        }d|dd…dd…f<   d|dd…dd…f<   d|d<   d|d<   d|d<   |                      |¦  «        }t          j        ||                      d	¦  «        ¦  «        d         dk    sJ ‚dS )
z/Github issue #3025 - improper merging of labels)é<   i@  r   Né  i  )é$   rÚ   )é#   i  )rÜ   i  )rZ   rZ   )r(   rm   r0   r+   rf   re   )r3   r¿   s     r9   Útest_gh_issue_3025rÝ   ¨  s—   € å
Œ�ÑÔ€AØ€A€a€a€aˆˆ#ˆ€g�JØ€A€a€a€aˆˆˆ€g�JØ€A€g�JØ€A€g�JØ€A€g�JØ
�
Š
�1‰Œ€AÝŒ=˜˜BŸGšG F™OœOÑ,Ô,¨QÔ/°1Ò4Ð4Ð4Ð4Ð4Ð4r;   z-cupyx.scipy.ndimage does not have find_objectc                   óJ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ ZdS )ÚTestFindObjectsc                 óü   — t           j                             dd¦  «        }|                     |¦  «        }t	          j        |dk    ¦  «        \  }}|j        |j        |j        fv sJ ‚t	          j	        |¦  «         d S )Nr©   rC   )
r(   rÓ   rÔ   r0   r+   rf   r$   Úint32r/   rÇ   )r2   r3   Ú
test_arrayrf   Úno_featuress        r9   Útest_label_default_dtypez(TestFindObjects.test_label_default_dtype¶  st   € Ý”Y—^’^ B¨Ñ+Ô+ˆ
Ø—Z’Z 
Ñ+Ô+ˆ
Ý$œ]¨:¸Ò+;Ñ<Ô<Ñˆˆ{ØŒ{˜rœx¨¬Ð2Ð2Ð2Ð2Ð2åÔ˜UÑ#Ô#Ð#Ð#Ð#r;   c                 óx   — |                      g |j        ¬¦  «        }t          j        |¦  «        }|dgk    sJ ‚d S )Nr’   rR   )re   r/   r+   rÇ   ©r2   r3   rh   ri   s       r9   Útest_find_objects01z#TestFindObjects.test_find_objects01¿  s<   € Ø�wŠw�r ¤ˆwÑ*Ô*ˆÝÔ" 4Ñ(Ô(ˆØ�r�dŠ{ˆ{ˆ{ˆ{ˆ{ˆ{r;   c                 óv   — |                      g |j        ¬¦  «        }t          j        |¦  «        }|g k    sJ ‚d S )Nr’   ©rm   r/   r+   rÇ   ræ   s       r9   Útest_find_objects02z#TestFindObjects.test_find_objects02Å  s:   € Ø�xŠx˜ "¤(ˆxÑ+Ô+ˆÝÔ" 4Ñ(Ô(ˆØ�bŠyˆyˆyˆyˆyˆyr;   c                 óš   — |                      dg|j        ¬¦  «        }t          j        |¦  «        }|t	          ddd ¦  «        fgk    sJ ‚d S )Nr   r’   r   ©re   r/   r+   rÇ   Úsliceræ   s       r9   Útest_find_objects03z#TestFindObjects.test_find_objects03Ë  óT   € Ø�wŠw˜�s "¤(ˆwÑ+Ô+ˆÝÔ" 4Ñ(Ô(ˆØ�˜a  DÑ)Ô)Ð+Ð,Ò,Ð,Ð,Ð,Ð,Ð,r;   c                 óx   — |                      dg|j        ¬¦  «        }t          j        |¦  «        }|g k    sJ ‚d S )Nr   r’   ré   ræ   s       r9   Útest_find_objects04z#TestFindObjects.test_find_objects04Ñ  s<   € Ø�xŠx˜˜ 2¤8ˆxÑ,Ô,ˆÝÔ" 4Ñ(Ô(ˆØ�bŠyˆyˆyˆyˆyˆyr;   c                 óš   — |                      dg|j        ¬¦  «        }t          j        |¦  «        }|t	          ddd ¦  «        fgk    sJ ‚d S )Nru   r’   r   rì   ræ   s       r9   Útest_find_objects05z#TestFindObjects.test_find_objects05×  rï   r;   c                 óÒ   — |                      g d¢¦  «        }t          j        |¦  «        }|t          ddd ¦  «        ft          ddd ¦  «        ft          ddd ¦  «        fgk    sJ ‚d S )Nrx   r   r   r   r    ru   r   ©r0   r+   rÇ   rí   ræ   s       r9   Útest_find_objects06z#TestFindObjects.test_find_objects06Ý  s…   € Ø�zŠzÐ,Ð,Ð,Ñ-Ô-ˆÝÔ" 4Ñ(Ô(ˆØ�˜a  DÑ)Ô)Ð+Ý˜a  DÑ)Ô)Ð+Ý˜a  DÑ)Ô)Ð+ð-ò -ð -ð -ð -ð -ð -r;   c           	      óŒ   — |                      g d¢g d¢g d¢g d¢g d¢g d¢g¦  «        }t          j        |¦  «        }|g k    sJ ‚d S )Nr|   )r0   r+   rÇ   ræ   s       r9   Útest_find_objects07z#TestFindObjects.test_find_objects07å  ss   € Ø�zŠzÐ-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-ð/ñ 0ô 0ˆõ Ô" 4Ñ(Ô(ˆØ�bŠyˆyˆyˆyˆyˆyr;   c           
      ó”  — |                      g d¢g d¢g d¢g d¢g d¢g d¢g¦  «        }t          j        |¦  «        }|t          ddd ¦  «        t          ddd ¦  «        ft          ddd ¦  «        t          d	d
d ¦  «        ft          dd
d ¦  «        t          dd	d ¦  «        ft          d
dd ¦  «        t          dd
d ¦  «        fgk    sJ ‚d S )Nr   r„   r…   r†   r‡   r   r   rZ   r   ru   r   rõ   ræ   s       r9   Útest_find_objects08z#TestFindObjects.test_find_objects08ð  s  € Ø�zŠzÐ-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-ð/ñ 0ô 0ˆõ Ô" 4Ñ(Ô(ˆØ�˜a  DÑ)Ô)­5°°A°tÑ+<Ô+<Ð=Ý! ! Q¨Ñ-Ô-­u°Q¸¸4Ñ/@Ô/@ÐAÝ! ! Q¨Ñ-Ô-­u°Q¸¸4Ñ/@Ô/@ÐAÝ! ! Q¨Ñ-Ô-­u°Q¸¸4Ñ/@Ô/@ÐAðCò Cð Cð Cð Cð Cð Cr;   c           
      óT  — |                      g d¢g d¢g d¢g d¢g d¢g d¢g¦  «        }t          j        |¦  «        }|t          ddd ¦  «        t          ddd ¦  «        ft          ddd ¦  «        t          d	d
d ¦  «        fd t          d
dd ¦  «        t          dd
d ¦  «        fgk    sJ ‚d S )Nr   r„   r…   r|   r‡   r   r   rZ   r   ru   r   rõ   ræ   s       r9   Útest_find_objects09z#TestFindObjects.test_find_objects09þ  sñ   € Ø�zŠzÐ-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-ð/ñ 0ô 0ˆõ Ô" 4Ñ(Ô(ˆØ�˜a  DÑ)Ô)­5°°A°tÑ+<Ô+<Ð=Ý! ! Q¨Ñ-Ô-­u°Q¸¸4Ñ/@Ô/@ÐAØÝ! ! Q¨Ñ-Ô-­u°Q¸¸4Ñ/@Ô/@ÐAðCò Cð Cð Cð Cð Cð Cr;   N)rN   rO   rP   rä   rç   rê   rî   rñ   ró   rö   rø   rú   rü   rR   r;   r9   rß   rß   ´  s²   € € € € € ð$ð $ð $ðð ð ðð ð ð-ð -ð -ðð ð ð-ð -ð -ð-ð -ð -ðð ð ðCð Cð CðCð Cð Cð Cð Cr;   rß   c           	      óª  — |                       g d¢g d¢g d¢g d¢g d¢g d¢g¦  «        }t          j        |d¬¦  «        }g d¢}t          |                     ¦   «         ¦  «        |k    sJ ‚t          | ¦  «        rd	d
ini }i }|D ]} | j        ||k    fi |¤Ž||<   Œt          j        |d¬¦  «        }|                     ¦   «         |                     ¦   «         k    sJ ‚|                     ¦   «         D ]b}t          ||         ¦  «        t          ||         ¦  «        k    sJ ‚t          ||         ||         ¦  «        D ]\  }}	t          ||	¦  «         ŒŒcdS )z Test dictionary keys and entriesr   r„   r…   r|   r‡   r   )Úignore_value)r   r   r    Úas_tupleTN)
r0   r+   Úvalue_indicesÚlistÚkeysr   Únonzeror^   Úzipr   )
r3   rh   ÚviÚ	true_keysÚnnz_kwdÚtrueviÚkÚkeyÚvÚtrue_vs
             r9   Útest_value_indices01r    s›  € à�:Š:Ð)Ð)Ð)Ø)Ð)Ð)Ø)Ð)Ð)Ø)Ð)Ð)Ø)Ð)Ð)Ø)Ð)Ð)ð+ñ ,ô ,€Dõ 
Ô	˜t°!Ð	4Ñ	4Ô	4€BØ�	�	€IÝ�—’‘	”	‰?Œ?˜iÒ'Ð'Ð'Ð'å$,¨R¡L¤LÐ8ˆz˜4Ð Ð °b€Gà€FØð 5ð 5ˆØ�B”J˜t qšyÐ4Ð4¨GÐ4Ð4ˆˆq‰	ˆ	å	Ô	˜t°!Ð	4Ñ	4Ô	4€BØ�7Š7‰9Œ9˜Ÿš™œÒ%Ð%Ð%Ð%Ø�wŠw‰yŒyð 'ð 'ˆÝ�2�c”7‰|Œ|�s 6¨#¤;Ñ/Ô/Ò/Ð/Ð/Ð/Ý˜R œW f¨S¤kÑ2Ô2ð 	'ð 	'‰IˆAˆvÝ˜A˜vÑ&Ô&Ð&Ð&ð	'ð'ð 'r;   c                 óÈ   — |                       d| j        ¬¦  «        }d}t          t          |¬¦  «        5  t	          j        |¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zTest input checking)ru   r    r’   z(Parameter 'arr' must be an integer array)ÚmatchN)rm   Úfloat32r¬   r­   r+   r   )r3   rh   Úmsgs      r9   Útest_value_indices02r  &  s¦   € à�8Š8�F "¤*ˆ8Ñ-Ô-€DØ
4€CÝ	•z¨Ð	-Ñ	-Ô	-ð $ð $ÝÔ˜dÑ#Ô#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð $ð $s   µAÁAÁAc                 ó~  — dD �]8}|                       ddgz  ddgz  z   ddgz  z   | j        ¬¦  «        }|                      ||¦  «        }t          | ¦  «        rddini }t	          |¦  «        j        } ||¦  «        }t          j        |¦  «        }t          | 	                    ¦   «         ¦  «        t          |¦  «        k    sJ ‚d	„ |D ¦   «         D ]h} | j
        ||k    fi |¤Ž}t          ||         ¦  «        t          |¦  «        k    sJ ‚t          ||         |¦  «        D ]\  }	}
t          |	|
¦  «         ŒŒi�Œ:d
S )z2Test different input array shapes, from 1-D to 4-D))rÛ   )é   r   )rZ   rZ   r    )rZ   rZ   r   r   é   r   r   rZ   r’   rÿ   Tc                 ó,   — g | ]}t          |¦  «        ‘ŒS rR   )Úint)Ú.0r4   s     r9   ú
<listcomp>z(test_value_indices03.<locals>.<listcomp>:  s   € Ð+Ð+Ð+˜Q•#�a‘&”&Ð+Ð+Ð+r;   N)r0   rá   r*   r   r   Úunique_valuesr+   r   r  r  r  r^   r  r   )r3   r¢   rÖ   r  r  ÚtrueKeysr  r	  ÚtrueNdxÚvikÚtrue_viks              r9   Útest_value_indices03r  .  sg  € à:ð /ñ /ˆØ�JŠJ˜˜A˜3™˜r 1 #™v™ b¨!¨¡fÑ,°R´XˆJÑ>Ô>ˆØ�JŠJ�q˜%Ñ Ô ˆå(0°©¬Ð<�:˜tÐ$Ð$¸"ˆå'¨Ñ*Ô*Ô8ˆØ �= Ñ#Ô#ˆÝÔ" 1Ñ%Ô%ˆÝ�B—G’G‘I”I‰Œ¥$ x¡.¤.Ò0Ð0Ð0Ð0Ø+Ð+ (Ð+Ñ+Ô+ð 	/ð 	/ˆAØ �b”j  a¢Ð3Ð3¨7Ð3Ð3ˆGÝ�r˜!”u‘:”:¥ W¡¤Ò-Ð-Ð-Ð-Ý!$ R¨¤U¨GÑ!4Ô!4ð /ð /‘��XÝ  XÑ.Ô.Ð.Ð.ð/ñ	/ð/ð /r;   c                 ó    — t           D ]E}t          | |¦  «        }|                      g |¬¦  «        }t          j        |¦  «        }|dk    sJ ‚ŒFd S )Nr’   r   )r   r”   r0   r+   Úsum©r3   r–   r$   Úinputr›   s        r9   Ú
test_sum01r$  A  s]   € Ýð ð ˆÝ˜˜DÑ!Ô!ˆØ—
’
˜2 U�
Ñ+Ô+ˆÝ”˜UÑ#Ô#ˆØ˜Š{ˆ{ˆ{ˆ{ˆ{ð	ð r;   c                 ó¤   — t           D ]G}t          | |¦  «        }|                      ddg|¬¦  «        }t          j        |¦  «        }|dk    sJ ‚ŒHd S )Nr   r    r’   )r   r”   rm   r+   r!  r"  s        r9   Ú
test_sum02r&  I  sa   € Ýð ð ˆÝ˜˜DÑ!Ô!ˆØ—’˜!˜Q˜ u�Ñ-Ô-ˆÝ”˜UÑ#Ô#ˆØ˜Š{ˆ{ˆ{ˆ{ˆ{ð	ð r;   c                 óÚ   — t           D ]b}t          | |¦  «        }|                      g |¬¦  «        }t          j        |¦  «        }t          ||                      d¦  «        d¬¦  «         Œcd S )Nr’   r%   F©Úcheck_0d)r   r”   re   r+   r!  r
   r0   r"  s        r9   Ú
test_sum03r*  Q  st   € Ýð Eð EˆÝ˜˜DÑ!Ô!ˆØ—’˜ %�Ñ(Ô(ˆÝ”˜UÑ#Ô#ˆÝ˜F B§J¢J¨s¡O¤O¸eÐDÑDÔDÐDÐDð	Eð Er;   c                 óÞ   — t           D ]d}t          | |¦  «        }|                      ddg|¬¦  «        }t          j        |¦  «        }t          ||                      d¦  «        d¬¦  «         Œed S )Nr   r   r’   ç      @Fr(  ©r   r”   r0   r+   r!  r
   r"  s        r9   Ú
test_sum04r.  Y  sx   € Ýð Eð EˆÝ˜˜DÑ!Ô!ˆØ—
’
˜A˜q˜6¨�
Ñ/Ô/ˆÝ”˜UÑ#Ô#ˆÝ˜F B§J¢J¨s¡O¤O¸eÐDÑDÔDÐDÐDð	Eð Er;   c                 óæ   — t           D ]h}t          | |¦  «        }|                      ddgddgg|¬¦  «        }t          j        |¦  «        }t          ||                      d¦  «        d¬¦  «         Œid S )	Nr   r   rZ   r    r’   g      $@Fr(  r-  r"  s        r9   Ú
test_sum05r0  a  sƒ   € Ýð Fð FˆÝ˜˜DÑ!Ô!ˆØ—
’
˜Q ˜F Q¨ FÐ+°5�
Ñ9Ô9ˆÝ”˜UÑ#Ô#ˆÝ˜F B§J¢J¨tÑ$4Ô$4¸uÐEÑEÔEÐEÐEð	Fð Fr;   c                 ó  — t          j        g t          ¬¦  «        }|                      |¦  «        }t          D ]G}t	          | |¦  «        }|                      g |¬¦  «        }t          j        ||¬¦  «        }|dk    sJ ‚ŒHd S )Nr’   ©r"   r   ©r(   r0   Úboolr   r”   r+   r!  ©r3   r"   r–   r$   r#  r›   s         r9   Ú
test_sum06r6  i  s‡   € ÝŒZ˜¥$Ð'Ñ'Ô'€FØ�ZŠZ˜ÑÔ€FÝð ð ˆÝ˜˜DÑ!Ô!ˆØ—
’
˜2 U�
Ñ+Ô+ˆÝ”˜U¨6Ð2Ñ2Ô2ˆØ˜Š{ˆ{ˆ{ˆ{ˆ{ð	ð r;   c                 ó  — t          j        ddgt          ¬¦  «        }|                      |¦  «        }t          D ]I}t          | |¦  «        }|                      ddg|¬¦  «        }t          j        ||¬¦  «        }|dk    sJ ‚ŒJd S )Nr   r    r’   r2  )	r(   re   r4  r0   r   r”   rm   r+   r!  r5  s         r9   Ú
test_sum07r8  s  s�   € ÝŒW�a˜�V¥4Ð(Ñ(Ô(€FØ�ZŠZ˜ÑÔ€FÝð ð ˆÝ˜˜DÑ!Ô!ˆØ—’˜!˜Q˜ u�Ñ-Ô-ˆÝ”˜U¨6Ð2Ñ2Ô2ˆØ˜Š{ˆ{ˆ{ˆ{ˆ{ð	ð r;   c                 ó  — t          j        ddgt          ¬¦  «        }|                      |¦  «        }t          D ]I}t	          | |¦  «        }|                      ddg|¬¦  «        }t          j        ||¬¦  «        }|dk    sJ ‚ŒJd S )Nr   r   r’   r   r2  r3  r5  s         r9   Ú
test_sum08r:  }  s�   € ÝŒZ˜˜A˜¥dÐ+Ñ+Ô+€FØ�ZŠZ˜ÑÔ€FÝð ð ˆÝ˜˜DÑ!Ô!ˆØ—
’
˜A˜q˜6¨�
Ñ/Ô/ˆÝ”˜U¨6Ð2Ñ2Ô2ˆØ˜Š{ˆ{ˆ{ˆ{ˆ{ð	ð r;   c                 óN  — t          j        ddgt          ¬¦  «        }|                      |¦  «        }t          D ]j}t	          | |¦  «        }|                      ddgddgg|¬¦  «        }t          j        ||¬¦  «        }t          ||                      d¦  «        d	¬
¦  «         Œkd S )Nr   r   r’   r   rZ   r    r2  ç      @Fr(  )r(   r0   r4  r   r”   r+   r!  r
   r5  s         r9   Ú
test_sum09r=  ‡  s¯   € ÝŒZ˜˜A˜¥dÐ+Ñ+Ô+€FØ�ZŠZ˜ÑÔ€FÝð Eð EˆÝ˜˜DÑ!Ô!ˆØ—
’
˜Q ˜F Q¨ FÐ+°5�
Ñ9Ô9ˆÝ”˜U¨6Ð2Ñ2Ô2ˆÝ˜F B§J¢J¨s¡O¤O¸eÐDÑDÔDÐDÐDð	Eð Er;   c                 óL  — t          j        ddgt          ¬¦  «        }t          j        ddgddggt          ¬¦  «        }|                      |¦  «        }|                      |¦  «        }t          j        ||¬¦  «        }t          ||                      d¦  «        d	¬
¦  «         d S ©Nr   r   r’   r   rZ   r    r2  ç       @Fr(  )r(   r0   r4  r+   r!  r
   ©r3   r"   r#  r›   s       r9   Ú
test_sum10rB  ‘  s–   € ÝŒZ˜˜A˜¥dÐ+Ñ+Ô+€FÝŒJ˜˜A˜  A Ð'­tÐ4Ñ4Ô4€Eà�ZŠZ˜ÑÔ€FØ�JŠJ�uÑÔ€EÝŒ[˜ vÐ.Ñ.Ô.€FÝ˜ §
¢
¨3¡¤¸%Ð@Ñ@Ô@Ð@Ð@Ð@r;   c                 ó(  — |                       ddg| j        ¬¦  «        }t          D ]k}t          | |¦  «        }|                       ddgddgg|¬¦  «        }t	          j        ||d¬¦  «        }t          ||                       d¦  «        d¬	¦  «         Œld S )
Nr   r   r’   rZ   r    r!   ç      @Fr(  )r0   Úint8r   r”   r+   r!  r
   r5  s         r9   Ú
test_sum11rF  ›  sª   € Ø�ZŠZ˜˜A˜ b¤gˆZÑ.Ô.€FÝð Eð EˆÝ˜˜DÑ!Ô!ˆØ—
’
˜Q ˜F Q¨ FÐ+°5�
Ñ9Ô9ˆÝ”˜U¨6Ø#$ð&ñ &ô &ˆå˜F B§J¢J¨s¡O¤O¸eÐDÑDÔDÐDÐDðEð Er;   c           	      óZ  — |                       ddgddgg| j        ¬¦  «        }t          D ]€}t          | |¦  «        }|                       ddgddgg|¬¦  «        }t	          j        |||                       g d¢¦  «        ¬¦  «        }t          ||                       g d¢¦  «        ¦  «         Œ�d S ©	Nr   r   r    r’   rZ   ©r    é   r   r!   )r<  rK   g      @)r0   rE  r   r”   r+   r!  r	   r5  s         r9   Ú
test_sum12rK  ¥  s½   € Ø�ZŠZ˜!˜Q˜ ! Q Ð(°´ˆZÑ8Ô8€FÝð Gð GˆÝ˜˜DÑ!Ô!ˆØ—
’
˜Q ˜F Q¨ FÐ+°5�
Ñ9Ô9ˆÝ”˜U¨6¸¿ºÀIÀIÀIÑ9NÔ9NÐOÑOÔOˆÝ! &¨"¯*ª*°_°_°_Ñ*EÔ*EÑFÔFÐFÐFð	Gð Gr;   c           	      óè  — |                       ddgddgg| j        ¬¦  «        }t          D ]Ç}t          | |¦  «        }|                       ddgddgg|¬¦  «        }t	          j        |||                       g d¢¦  «        ¬¦  «        }t	          j        |||                       g d¢¦  «        ¬¦  «        }|                      ||k    ¦  «        sJ ‚t          ||                       g d¢¦  «        ¦  «         ŒÈd S rH  )	r0   rE  r   r”   r+   r!  Ú
sum_labelsÚallr	   )r3   r"   r–   r$   r#  Ú
output_sumÚoutput_labelss          r9   Útest_sum_labelsrQ  ®  s
  € Ø�ZŠZ˜!˜Q˜ ! Q Ð(°´ˆZÑ8Ô8€FÝð Nð NˆÝ˜˜DÑ!Ô!ˆØ—
’
˜Q ˜F Q¨ FÐ+°5�
Ñ9Ô9ˆÝ”[ ¨v¸R¿ZºZÈ	È	È	Ñ=RÔ=RÐSÑSÔSˆ
ÝÔ*Ø˜&¨¯
ª
°9°9°9Ñ(=Ô(=ð?ñ ?ô ?ˆð �vŠv�j MÒ1Ñ2Ô2Ð2Ð2Ð2Ý! -°·²¸O¸O¸OÑ1LÔ1LÑMÔMÐMÐMðNð Nr;   c                 óN  — t          j        ddgt          ¬¦  «        }|                      |¦  «        }t          D ]j}t	          | |¦  «        }|                      ddgddgg|¬¦  «        }t          j        ||¬¦  «        }t          ||                      d¦  «        d	¬
¦  «         Œkd S r?  )r(   r0   r4  r   r”   r+   Úmeanr
   r5  s         r9   Útest_mean01rT  »  s¯   € ÝŒZ˜˜A˜¥dÐ+Ñ+Ô+€FØ�ZŠZ˜ÑÔ€FÝð Eð EˆÝ˜˜DÑ!Ô!ˆØ—
’
˜Q ˜F Q¨ FÐ+°5�
Ñ9Ô9ˆÝ”˜e¨FÐ3Ñ3Ô3ˆÝ˜F B§J¢J¨s¡O¤O¸eÐDÑDÔDÐDÐDð	Eð Er;   c                 óL  — t          j        ddgt          ¬¦  «        }t          j        ddgddggt          ¬¦  «        }|                      |¦  «        }|                      |¦  «        }t          j        ||¬¦  «        }t          ||                      d¦  «        d	¬
¦  «         d S ©Nr   r   r’   r   rZ   r    r2  r%   Fr(  )r(   r0   r4  r+   rS  r
   rA  s       r9   Útest_mean02rW  Å  s–   € ÝŒZ˜˜A˜¥dÐ+Ñ+Ô+€FÝŒJ˜˜A˜  A Ð'­tÐ4Ñ4Ô4€Eà�ZŠZ˜ÑÔ€FØ�JŠJ�uÑÔ€EÝŒ\˜%¨Ð/Ñ/Ô/€FÝ˜ §
¢
¨3¡¤¸%Ð@Ñ@Ô@Ð@Ð@Ð@r;   c                 ó  — |                       ddg¦  «        }t          D ]k}t          | |¦  «        }|                       ddgddgg|¬¦  «        }t          j        ||d¬¦  «        }t          ||                       d¦  «        d¬	¦  «         Œld S )
Nr   r   rZ   r    r’   r!   r,  Fr(  )r0   r   r”   r+   rS  r
   r5  s         r9   Útest_mean03rY  Ï  s¤   € Ø�ZŠZ˜˜A˜ÑÔ€FÝð Eð EˆÝ˜˜DÑ!Ô!ˆØ—
’
˜Q ˜F Q¨ FÐ+°5�
Ñ9Ô9ˆÝ”˜e¨FØ$%ð'ñ 'ô 'ˆå˜F B§J¢J¨s¡O¤O¸eÐDÑDÔDÐDÐDðEð Er;   c           
      óà  — |                       ddgddgg| j        ¬¦  «        }t          j        d¬¦  «        5  t          D ]”}t          | |¦  «        }|                       ddgddgg|¬¦  «        }t          j        |||                       g d¢¦  «        ¬	¦  «        }|d
         dk    sJ ‚|d         dk    sJ ‚|                      |d         ¦  «        sJ ‚Œ•	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   r    r’   Úignore©rN  rZ   rI  r!   r   r<  ç      @)	r0   rE  r(   Úerrstater   r”   r+   rS  Úisnanr5  s         r9   Útest_mean04r`  Ù  sZ  € Ø�ZŠZ˜!˜Q˜ ! Q Ð(°´ˆZÑ8Ô8€FÝ	Œ˜Ð	"Ñ	"Ô	"ð 
'ð 
'Ýð 		'ð 		'ˆDÝ˜B Ñ%Ô%ˆEØ—J’J  A ¨¨A¨Ð/°u�JÑ=Ô=ˆEÝ”\ %°Ø(*¯
ª
°9°9°9Ñ(=Ô(=ð?ñ ?ô ?ˆFð ˜!”9 Ò#Ð#Ð#Ð#Ø˜!”9 Ò#Ð#Ð#Ð#Ø—8’8˜F 1œIÑ&Ô&Ð&Ð&Ð&Ð&ð		'ð
'ð 
'ð 
'ñ 
'ô 
'ð 
'ð 
'ð 
'ð 
'ð 
'ð 
'ð 
'øøøð 
'ð 
'ð 
'ð 
'ð 
'ð 
's   ¸BC#Ã#C'Ã*C'c                 óN  — t          j        ddgt          ¬¦  «        }|                      |¦  «        }t          D ]j}t	          | |¦  «        }|                      ddgddgg|¬¦  «        }t          j        ||¬¦  «        }t          ||                      d¦  «        d	¬
¦  «         Œkd S rV  )r(   r0   r4  r   r”   r+   Úminimumr
   r5  s         r9   Útest_minimum01rc  è  ó¯   € ÝŒZ˜˜A˜¥dÐ+Ñ+Ô+€FØ�ZŠZ˜ÑÔ€FÝð Eð EˆÝ˜˜DÑ!Ô!ˆØ—
’
˜Q ˜F Q¨ FÐ+°5�
Ñ9Ô9ˆÝ” ¨vÐ6Ñ6Ô6ˆÝ˜F B§J¢J¨s¡O¤O¸eÐDÑDÔDÐDÐDð	Eð Er;   c                 óL  — t          j        ddgt          ¬¦  «        }t          j        ddgddggt          ¬¦  «        }|                      |¦  «        }|                      |¦  «        }t          j        ||¬¦  «        }t          ||                      d¦  «        d¬	¦  «         d S ©
Nr   r   r’   r   r    r2  r%   Fr(  )r(   r0   r4  r+   rb  r
   rA  s       r9   Útest_minimum02rg  ò  s–   € ÝŒZ˜˜A˜¥dÐ+Ñ+Ô+€FÝŒJ˜˜A˜  A Ð'­tÐ4Ñ4Ô4€Eà�ZŠZ˜ÑÔ€FØ�JŠJ�uÑÔ€EÝŒ_˜U¨6Ð2Ñ2Ô2€FÝ˜ §
¢
¨3¡¤¸%Ð@Ñ@Ô@Ð@Ð@Ð@r;   c                 ó  — |                       ddg¦  «        }t          D ]k}t          | |¦  «        }|                       ddgddgg|¬¦  «        }t          j        ||d¬¦  «        }t          ||                       d¦  «        d¬	¦  «         Œld S )
Nr   r   rZ   r    r’   r!   r@  Fr(  )r0   r   r”   r+   rb  r
   r5  s         r9   Útest_minimum03ri  ü  s¤   € Ø�ZŠZ˜˜A˜ÑÔ€FÝð Eð EˆÝ˜˜DÑ!Ô!ˆà—
’
˜Q ˜F Q¨ FÐ+°5�
Ñ9Ô9ˆÝ” ¨vØ'(ð*ñ *ô *ˆå˜F B§J¢J¨s¡O¤O¸eÐDÑDÔDÐDÐDðEð Er;   c           	      óL  — |                       ddgddgg¦  «        }t          D ]€}t          | |¦  «        }|                       ddgddgg|¬¦  «        }t          j        |||                       g d¢¦  «        ¬¦  «        }t          ||                       g d¢¦  «        ¦  «         Œ�d S )	Nr   r   rZ   r    r’   ©r   rZ   rJ  r!   )r@  r<  rK   )r0   r   r”   r+   rb  r	   r5  s         r9   Útest_minimum04rl    ó¾   € Ø�ZŠZ˜!˜Q˜ ! Q Ð(Ñ)Ô)€FÝð Gð GˆÝ˜˜DÑ!Ô!ˆØ—
’
˜Q ˜F Q¨ FÐ+°5�
Ñ9Ô9ˆÝ” ¨vØ')§z¢z°)°)°)Ñ'<Ô'<ð>ñ >ô >ˆå! &¨"¯*ª*°_°_°_Ñ*EÔ*EÑFÔFÐFÐFðGð Gr;   c                 óN  — t          j        ddgt          ¬¦  «        }|                      |¦  «        }t          D ]j}t	          | |¦  «        }|                      ddgddgg|¬¦  «        }t          j        ||¬¦  «        }t          ||                      d¦  «        d	¬
¦  «         Œkd S )Nr   r   r’   r   rZ   r    r2  r,  Fr(  )r(   r0   r4  r   r”   r+   Úmaximumr
   r5  s         r9   Útest_maximum01rp    rd  r;   c                 óL  — t          j        ddgt          ¬¦  «        }t          j        ddgddggt          ¬¦  «        }|                      |¦  «        }|                      |¦  «        }t          j        ||¬¦  «        }t          ||                      d¦  «        d¬	¦  «         d S rf  )r(   r0   r4  r+   ro  r
   rA  s       r9   Útest_maximum02rr    s–   € ÝŒZ˜˜A˜¥dÐ+Ñ+Ô+€FÝŒJ˜˜A˜  A Ð'­tÐ4Ñ4Ô4€EØ�ZŠZ˜ÑÔ€FØ�JŠJ�uÑÔ€EÝŒ_˜U¨6Ð2Ñ2Ô2€FÝ˜ §
¢
¨3¡¤¸%Ð@Ñ@Ô@Ð@Ð@Ð@r;   c                 ó  — |                       ddg¦  «        }t          D ]k}t          | |¦  «        }|                       ddgddgg|¬¦  «        }t          j        ||d¬¦  «        }t          ||                       d¦  «        d¬	¦  «         Œld S )
Nr   r   rZ   r    r’   r!   r<  Fr(  )r0   r   r”   r+   ro  r
   r5  s         r9   Útest_maximum03rt  $  s¤   € Ø�ZŠZ˜˜A˜ÑÔ€FÝð Eð EˆÝ˜˜DÑ!Ô!ˆØ—
’
˜Q ˜F Q¨ FÐ+°5�
Ñ9Ô9ˆÝ” ¨vØ'(ð*ñ *ô *ˆå˜F B§J¢J¨s¡O¤O¸eÐDÑDÔDÐDÐDðEð Er;   c           	      óL  — |                       ddgddgg¦  «        }t          D ]€}t          | |¦  «        }|                       ddgddgg|¬¦  «        }t          j        |||                       g d¢¦  «        ¬¦  «        }t          ||                       g d¢¦  «        ¦  «         Œ�d S )	Nr   r   rZ   r    r’   rk  r!   )r,  r<  rK   )r0   r   r”   r+   ro  r	   r5  s         r9   Útest_maximum04rv  .  rm  r;   c                 óh   — |                       g d¢¦  «        }t          j        |¦  «        dk    sJ ‚d S )N)éýÿÿÿéþÿÿÿr±   r±   )r0   r+   ro  )r3   r4   s     r9   Útest_maximum05rz  8  s8   € à
�
Š
�<�<�<Ñ Ô €AÝŒ?˜1ÑÔ Ò#Ð#Ð#Ð#Ð#Ð#r;   c                 ó,  — |                       g d¢g d¢g d¢g d¢g¦  «        }|                       g d¢g d¢g d¢g d¢g¦  «        }t          j        |||                       g d¢¦  «        ¬	¦  «        }t          ||                       g d
¢¦  «        ¦  «         d S )N©r   r   r   r   ©ru   rZ   r   r    ©r   r   r   r²   ©r>   rZ   r   r   ©r   r   r   r   ©r   r   r   r   ©rZ   rZ   r   r   )r   r   rZ   r!   )r]  r<  rD  )r0   r+   Úmedianr	   ©r3   rÖ   r"   r›   s       r9   Útest_median01r…  >  s¸   € Ø
�
Š
�L�L�LØ �L�LØ �L�LØ �L�Lð"ñ 	#ô 	#€Að �ZŠZ˜˜˜Ø%˜˜Ø%˜˜Ø%˜˜ð'ñ (ô (€Fõ Œ^˜A f°B·J²J¸y¸y¸yÑ4IÔ4IÐJÑJÔJ€FÝ˜f b§j¢j°°°Ñ&AÔ&AÑBÔBÐBÐBÐBr;   c                 óº   — |                       g d¢g d¢g d¢g d¢g¦  «        }t          j        |¦  «        }t          ||                       d¦  «        d¬¦  «         d S )Nr|  r}  r~  r  r%   Fr(  ©r0   r+   rƒ  r
   ©r3   rÖ   r›   s      r9   Útest_median02r‰  K  sk   € Ø
�
Š
�L�L�LØ �L�LØ �L�LØ �L�Lð"ñ 	#ô 	#€Aõ Œ^˜AÑÔ€FÝ˜ §
¢
¨3¡¤¸%Ð@Ñ@Ô@Ð@Ð@Ð@r;   c                 ó   — |                       g d¢g d¢g d¢g d¢g¦  «        }|                       g d¢g d¢g d¢g d¢g¦  «        }t          j        ||¬¦  «        }t          ||                       d	¦  «        d
¬¦  «         d S )Nr|  r}  r~  r  r€  r�  r‚  r2  r,  Fr(  r‡  r„  s       r9   Útest_median03r‹  T  s¥   € Ø
�
Š
�L�L�LØ �L�LØ �L�LØ �L�Lð"ñ 	#ô 	#€Að �ZŠZ˜˜˜Ø%˜˜Ø%˜˜Ø%˜˜ð'ñ (ô (€Fõ Œ^˜A fÐ-Ñ-Ô-€FÝ˜ §
¢
¨3¡¤¸%Ð@Ñ@Ô@Ð@Ð@Ð@r;   c                 ó.  — t          j        ddgt          ¬¦  «        }|                      |¦  «        }t          j        ||                      d¦  «        |                      dg¦  «        ¬¦  «        }t          ||                      dg¦  «        ¦  «         d S )Nr   r’   ©r   r!   r%   )r(   r0   r4  r+   rƒ  re   r	   rˆ  s      r9   Útest_median_gh12836_boolrŽ  a  sy   € å
Œ
�A�q�6¥Ð&Ñ&Ô&€AØ
�
Š
�1‰Œ€AÝŒ^˜A b§g¢g¨d¡m¤m¸2¿:º:ÀqÀc¹?¼?ÐKÑKÔK€FÝ˜f b§j¢j°#°Ñ&7Ô&7Ñ8Ô8Ð8Ð8Ð8r;   c                 ó  — |                       ddg| j        ¬¦  «        }t          j        ||                      d¦  «        |                       dg¦  «        ¬¦  «        }t          ||                       dg¦  «        ¦  «         d S )NéA   éF   r’   r�  r   r!   g     àP@)r0   rE  r+   rƒ  re   r	   rˆ  s      r9   Útest_median_no_int_overflowr’  i  sm   € à
�
Š
�B˜�8 2¤7ˆ
Ñ+Ô+€AÝŒ^˜A b§g¢g¨d¡m¤m¸2¿:º:ÀqÀc¹?¼?ÐKÑKÔK€FÝ˜f b§j¢j°$°Ñ&8Ô&8Ñ9Ô9Ð9Ð9Ð9r;   c                 óž  — t          j        d¬¦  «        5  t          D ]•}t          | |¦  «        }|                      g |¬¦  «        }t          ¦   «         5 }|                     t          d¦  «         t          j	        |¦  «        }d d d ¦  «         n# 1 swxY w Y   |  
                    |¦  «        sJ ‚Œ–	 d d d ¦  «         d S # 1 swxY w Y   d S ©Nr[  r\  r’   zMean of empty slice)r(   r^  r   r”   r0   r   ÚfilterÚRuntimeWarningr+   Úvariancer_  ©r3   r–   r$   r#  Úsupr›   s         r9   Útest_variance01rš  p  sQ  € Ý	Œ˜Ð	"Ñ	"Ô	"ð $ð $Ýð 	$ð 	$ˆDÝ˜B Ñ%Ô%ˆEØ—J’J˜r¨�JÑ/Ô/ˆEÝ"Ñ$Ô$ð 1¨Ø—
’
�>Ð+@ÑAÔAÐAÝ Ô)¨%Ñ0Ô0�ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1ð —8’8˜FÑ#Ô#Ð#Ð#Ð#Ð#ð	$ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð $ð $ó5   –?CÁ0BÂCÂBÂCÂBÂCÃCÃ	Cc                 óÜ   — t           D ]c}t          | |¦  «        }|                      dg|¬¦  «        }t          j        |¦  «        }t          ||                      d¦  «        d¬¦  «         Œdd S ©Nr   r’   rK   Fr(  ©r   r”   r0   r+   r—  r
   r"  s        r9   Útest_variance02rŸ  {  sw   € Ýð Eð EˆÝ˜˜DÑ!Ô!ˆØ—
’
˜A˜3 e�
Ñ,Ô,ˆÝÔ! %Ñ(Ô(ˆÝ˜F B§J¢J¨s¡O¤O¸eÐDÑDÔDÐDÐDð	Eð Er;   c                 óÞ   — t           D ]d}t          | |¦  «        }|                      ddg|¬¦  «        }t          j        |¦  «        }t          ||                      d¦  «        d¬¦  «         Œed S ©Nr   rZ   r’   r%   Fr(  rž  r"  s        r9   Útest_variance03r¢  ƒ  sy   € Ýð Eð EˆÝ˜˜DÑ!Ô!ˆØ—
’
˜A˜q˜6¨�
Ñ/Ô/ˆÝÔ! %Ñ(Ô(ˆÝ˜F B§J¢J¨s¡O¤O¸eÐDÑDÔDÐDÐDð	Eð Er;   c                 óÜ   — t          j        ddgt          ¬¦  «        }|                      |¦  «        }t          j        |¦  «        }t          ||                      d¦  «        d¬¦  «         d S )Nr   r   r’   g      Ð?Fr(  )r(   r0   r4  r+   r—  r
   ©r3   r#  r›   s      r9   Útest_variance04r¥  ‹  sb   € ÝŒJ˜˜1�v¥TÐ*Ñ*Ô*€EØ�JŠJ�uÑÔ€EÝÔ˜eÑ$Ô$€FÝ˜ §
¢
¨4Ñ 0Ô 0¸5ÐAÑAÔAÐAÐAÐAr;   c                 ó  — |                       g d¢¦  «        }t          D ]f}t          | |¦  «        }|                       g d¢|¬¦  «        }t          j        ||d¦  «        }t          ||                       d¦  «        d¬¦  «         Œgd S ©N)r   r   rZ   )r   rZ   rJ  r’   r   r%   Fr(  )r0   r   r”   r+   r—  r
   r5  s         r9   Útest_variance05r¨  ’  s’   € Ø�ZŠZ˜	˜	˜	Ñ"Ô"€FÝð Eð EˆÝ˜˜DÑ!Ô!ˆà—
’
˜9˜9˜9¨E�
Ñ2Ô2ˆÝÔ! %¨°Ñ3Ô3ˆÝ˜F B§J¢J¨s¡O¤O¸eÐDÑDÔDÐDÐDðEð Er;   c           
      ó˜  — |                       g d¢¦  «        }t          j        d¬¦  «        5  t          D ]{}t	          | |¦  «        }|                       g d¢|¬¦  «        }t          j        |||                       g d¢¦  «        ¦  «        }t          ||                       g d¢¦  «        ¦  «         Œ|	 d d d ¦  «         d S # 1 swxY w Y   d S ©N)r   r   rZ   rZ   r    r[  r\  )r   rZ   rJ  r©   rJ  r’   )r   rZ   r    )r%   r%   rK   )r0   r(   r^  r   r”   r+   r—  r	   r5  s         r9   Útest_variance06r«  œ  s+  € Ø�ZŠZ˜˜˜Ñ(Ô(€FÝ	Œ˜Ð	"Ñ	"Ô	"ð Kð KÝð 	Kð 	KˆDÝ˜B Ñ%Ô%ˆEØ—J’JÐ/Ð/Ð/°u�JÑ=Ô=ˆEÝÔ% e¨V°R·Z²ZÀ	À	À	Ñ5JÔ5JÑKÔKˆFÝ% f¨b¯jªj¸¸¸Ñ.IÔ.IÑJÔJÐJÐJð		KðKð Kð Kñ Kô Kð Kð Kð Kð Kð Kð Kð Køøøð Kð Kð Kð Kð Kð Kó   ­BB?Â?CÃCc                 óž  — t          j        d¬¦  «        5  t          D ]•}t          | |¦  «        }|                      g |¬¦  «        }t          ¦   «         5 }|                     t          d¦  «         t          j	        |¦  «        }d d d ¦  «         n# 1 swxY w Y   |  
                    |¦  «        sJ ‚Œ–	 d d d ¦  «         d S # 1 swxY w Y   d S r”  )r(   r^  r   r”   r0   r   r•  r–  r+   Ústandard_deviationr_  r˜  s         r9   Útest_standard_deviation01r¯  ¦  sQ  € Ý	Œ˜Ð	"Ñ	"Ô	"ð $ð $Ýð 	$ð 	$ˆDÝ˜B Ñ%Ô%ˆEØ—J’J˜r¨�JÑ/Ô/ˆEÝ"Ñ$Ô$ð ;¨Ø—
’
�>Ð+@ÑAÔAÐAÝ Ô3°EÑ:Ô:�ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;ð —8’8˜FÑ#Ô#Ð#Ð#Ð#Ð#ð	$ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð $ð $r›  c                 óÜ   — t           D ]c}t          | |¦  «        }|                      dg|¬¦  «        }t          j        |¦  «        }t          ||                      d¦  «        d¬¦  «         Œdd S r�  ©r   r”   r0   r+   r®  r
   r"  s        r9   Útest_standard_deviation02r²  ±  sw   € Ýð Eð EˆÝ˜˜DÑ!Ô!ˆØ—
’
˜A˜3 e�
Ñ,Ô,ˆÝÔ+¨EÑ2Ô2ˆÝ˜F B§J¢J¨s¡O¤O¸eÐDÑDÔDÐDÐDð	Eð Er;   c                 óÞ   — t           D ]d}t          | |¦  «        }|                      ddg|¬¦  «        }t          j        |¦  «        }t          ||                      d¦  «        d¬¦  «         Œed S r¡  r±  r"  s        r9   Útest_standard_deviation03r´  ¹  sy   € Ýð Eð EˆÝ˜˜DÑ!Ô!ˆØ—
’
˜A˜q˜6¨�
Ñ/Ô/ˆÝÔ+¨EÑ2Ô2ˆÝ˜F B§J¢J¨s¡O¤O¸eÐDÑDÔDÐDÐDð	Eð Er;   c                 óÜ   — t          j        ddgt          ¬¦  «        }|                      |¦  «        }t          j        |¦  «        }t          ||                      d¦  «        d¬¦  «         d S )Nr   r   r’   rC   Fr(  )r(   r0   r4  r+   r®  r
   r¤  s      r9   Útest_standard_deviation04r¶  Á  s`   € ÝŒJ˜˜1�v¥TÐ*Ñ*Ô*€EØ�JŠJ�uÑÔ€EÝÔ'¨Ñ.Ô.€FÝ˜ §
¢
¨3¡¤¸%Ð@Ñ@Ô@Ð@Ð@Ð@r;   c                 ó  — |                       g d¢¦  «        }t          D ]f}t          | |¦  «        }|                       g d¢|¬¦  «        }t          j        ||d¦  «        }t          ||                       d¦  «        d¬¦  «         Œgd S r§  )r0   r   r”   r+   r®  r
   r5  s         r9   Útest_standard_deviation05r¸  È  s’   € Ø�ZŠZ˜	˜	˜	Ñ"Ô"€FÝð Eð EˆÝ˜˜DÑ!Ô!ˆØ—
’
˜9˜9˜9¨E�
Ñ2Ô2ˆÝÔ+¨E°6¸1Ñ=Ô=ˆÝ˜F B§J¢J¨s¡O¤O¸eÐDÑDÔDÐDÐDð	Eð Er;   c           
      ó˜  — |                       g d¢¦  «        }t          j        d¬¦  «        5  t          D ]{}t	          | |¦  «        }|                       g d¢|¬¦  «        }t          j        |||                       g d¢¦  «        ¦  «        }t          ||                       g d¢¦  «        ¦  «         Œ|	 d d d ¦  «         d S # 1 swxY w Y   d S rª  )r0   r(   r^  r   r”   r+   r®  r	   r5  s         r9   Útest_standard_deviation06rº  Ñ  s2  € Ø�ZŠZ˜˜˜Ñ(Ô(€FÝ	Œ˜Ð	"Ñ	"Ô	"ð Kð KÝð 	Kð 	KˆDÝ˜B Ñ%Ô%ˆEØ—J’JÐ/Ð/Ð/°u�JÑ=Ô=ˆEÝÔ/Ø�v˜rŸzšz¨)¨)¨)Ñ4Ô4ñô ˆFõ & f¨b¯jªj¸¸¸Ñ.IÔ.IÑJÔJÐJÐJð	KðKð Kð Kñ Kô Kð Kð Kð Kð Kð Kð Kð Køøøð Kð Kð Kð Kð Kð Kr¬  c           	      óâ  — |                       dg¦  «        }t          j        d¬¦  «        5  t          D ]¡}t	          | ¦  «        r|dk    rt          j        d¦  «         t          | |¦  «        }|                       dg|¬¦  «        }t          j	        |||                       dg¦  «        ¦  «        }t          ||                       dg¦  «        ¦  «         Œ¢	 d d d ¦  «         d S # 1 swxY w Y   d S )	Nr   r[  r\  Úuint8z8value cannot be converted to type uint8 without overflowgl�§ `y¿r’   r   )r0   r(   r^  r   r   rª   r«   r”   r+   r®  r	   r5  s         r9   Útest_standard_deviation07r½  Ý  s2  € Ø�ZŠZ˜˜‰_Œ_€FÝ	Œ˜Ð	"Ñ	"Ô	"ð ?ð ?Ýð 	?ð 	?ˆDÝ˜‰|Œ|ð 1 ¨¢ Ý”ð 0ñ 1ô 1ð 1å˜B Ñ%Ô%ˆEØ—J’J ˜}°E�JÑ:Ô:ˆEÝÔ/°°v¸r¿zºzÈ1È#¹¼ÑOÔOˆFÝ% f¨b¯jªj¸!¸©o¬oÑ>Ô>Ð>Ð>ð	?ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?ð ?ð ?s   ¬B*C$Ã$C(Ã+C(c                 ó  — t          j        ddgt          ¬¦  «        }|                      |¦  «        }t          D ]M}t	          | |¦  «        }|                      ddgddgg|¬¦  «        }t          j        ||¬¦  «        }|dk    sJ ‚ŒNd S )	Nr   r   r’   r   rZ   r    r2  ©r   r   )r(   r0   r4  r   r”   r+   Úminimum_positionr5  s         r9   Útest_minimum_position01rÁ  ê  sž   € ÝŒZ˜˜A˜¥dÐ+Ñ+Ô+€FØ�ZŠZ˜ÑÔ€FÝð  ð  ˆÝ˜˜DÑ!Ô!ˆØ—
’
˜Q ˜F Q¨ FÐ+°5�
Ñ9Ô9ˆÝÔ)¨%¸Ð?Ñ?Ô?ˆØ˜ÒÐÐÐÐð	 ð  r;   c                 ó²   — t           D ]N}t          | |¦  «        }|                      g d¢g d¢g d¢g|¬¦  «        }t          j        |¦  «        }|dk    sJ ‚ŒOd S ©N©ru   r    r   ru   ©rZ   r²   r   r   ©r   ru   r   r   r’   ©r   r   )r   r”   r0   r+   rÀ  r"  s        r9   Útest_minimum_position02rÈ  ô  ó„   € Ýð  ð  ˆÝ˜˜DÑ!Ô!ˆØ—
’
˜L˜L˜LØ(˜L˜LØ(˜L˜Lð*à16ð ñ 8ô 8ˆõ Ô)¨%Ñ0Ô0ˆØ˜ÒÐÐÐÐð ð  r;   c                 ó°   — t          j        g d¢g d¢g d¢gt          ¬¦  «        }|                      |¦  «        }t          j        |¦  «        }|dk    sJ ‚d S rÃ  ©r(   r0   r4  r+   rÀ  r¤  s      r9   Útest_minimum_position03rÌ  þ  ón   € ÝŒJ˜˜˜Ø$˜˜Ø$˜˜ð&å-1ð3ñ 3ô 3€Eð �JŠJ�uÑÔ€EÝÔ% eÑ,Ô,€FØ�VÒÐÐÐÐÐr;   c                 ó°   — t          j        g d¢g d¢g d¢gt          ¬¦  «        }|                      |¦  «        }t          j        |¦  «        }|dk    sJ ‚d S )NrÄ  )rZ   r²   r   r   rÆ  r’   r¿  rË  r¤  s      r9   Útest_minimum_position04rÏ    rÍ  r;   c                 óâ   — |                       g d¢¦  «        }t          D ]O}t          | |¦  «        }|                       g d¢g d¢g d¢g|¬¦  «        }t          j        ||¦  «        }|dk    sJ ‚ŒPd S )N©r   r   r   r    rÄ  rÅ  )r   ru   r   rZ   r’   )r   r   ©r0   r   r”   r+   rÀ  r5  s         r9   Útest_minimum_position05rÓ    ó›   € Ø�ZŠZ˜˜˜Ñ%Ô%€FÝð  ð  ˆÝ˜˜DÑ!Ô!ˆØ—
’
˜L˜L˜LØ(˜L˜LØ(˜L˜Lð*à16ð ñ 8ô 8ˆõ Ô)¨%°Ñ8Ô8ˆØ˜ÒÐÐÐÐð ð  r;   c                 óä   — |                       g d¢¦  «        }t          D ]P}t          | |¦  «        }|                       g d¢g d¢g d¢g|¬¦  «        }t          j        ||d¦  «        }|dk    sJ ‚ŒQd S )N©r   r   rZ   r    rÄ  rÅ  rÆ  r’   r   ©r   r   rÒ  r5  s         r9   Útest_minimum_position06rØ    ó�   € Ø�ZŠZ˜˜˜Ñ%Ô%€FÝð  ð  ˆÝ˜˜DÑ!Ô!ˆØ—
’
˜L˜L˜LØ(˜L˜LØ(˜L˜Lð*à16ð ñ 8ô 8ˆõ Ô)¨%°¸Ñ;Ô;ˆØ˜ÒÐÐÐÐð ð  r;   c           	      ó6  — |                       g d¢¦  «        }t          D ]y}t          | |¦  «        }|                       g d¢g d¢g d¢g|¬¦  «        }t          j        |||                       ddg¦  «        ¦  «        }|d         d	k    sJ ‚|d
         dk    sJ ‚Œzd S )NrÖ  rÄ  rÅ  rÆ  r’   r   rZ   r   r×  r   rÇ  rÒ  r5  s         r9   Útest_minimum_position07rÛ  &  óË   € Ø�ZŠZ˜˜˜Ñ%Ô%€FÝð #ð #ˆÝ˜˜DÑ!Ô!ˆØ—
’
˜L˜L˜LØ(˜L˜LØ(˜L˜Lð*à16ð ñ 8ô 8ˆõ Ô)¨%°Ø*,¯*ª*°a¸°VÑ*<Ô*<ñ>ô >ˆà�aŒy˜FÒ"Ð"Ð"Ð"Ø�aŒy˜FÒ"Ð"Ð"Ð"Ð"ð#ð #r;   c                 ó  — t          j        ddgt          ¬¦  «        }|                      |¦  «        }t          D ]M}t	          | |¦  «        }|                      ddgddgg|¬¦  «        }t          j        ||¬¦  «        }|dk    sJ ‚ŒNd S )	Nr   r   r’   r   rZ   r    r2  ©r   r   )r(   r0   r4  r   r”   r+   Úmaximum_positionr5  s         r9   Útest_maximum_position01rà  3  s¥   € ÝŒZ˜˜A˜¥dÐ+Ñ+Ô+€FØ�ZŠZ˜ÑÔ€FÝð  ð  ˆÝ˜˜DÑ!Ô!ˆØ—
’
˜Q ˜F Q¨ FÐ+°5�
Ñ9Ô9ˆÝÔ)¨%Ø17ð9ñ 9ô 9ˆà˜ÒÐÐÐÐð ð  r;   c                 ó²   — t           D ]N}t          | |¦  «        }|                      g d¢g d¢g d¢g|¬¦  «        }t          j        |¦  «        }|dk    sJ ‚ŒOd S )NrÄ  ©rZ   r²   rJ  r   rÆ  r’   rÇ  )r   r”   r0   r+   rß  r"  s        r9   Útest_maximum_position02rã  >  rÉ  r;   c                 ó°   — t          j        g d¢g d¢g d¢gt          ¬¦  «        }|                      |¦  «        }t          j        |¦  «        }|dk    sJ ‚d S )NrÄ  râ  rÆ  r’   r¿  )r(   r0   r4  r+   rß  r¤  s      r9   Útest_maximum_position03rå  H  rÍ  r;   c                 óâ   — |                       g d¢¦  «        }t          D ]O}t          | |¦  «        }|                       g d¢g d¢g d¢g|¬¦  «        }t          j        ||¦  «        }|dk    sJ ‚ŒPd S )NrÑ  rÄ  râ  rÆ  r’   ©r   r   ©r0   r   r”   r+   rß  r5  s         r9   Útest_maximum_position04ré  Q  rÔ  r;   c                 óä   — |                       g d¢¦  «        }t          D ]P}t          | |¦  «        }|                       g d¢g d¢g d¢g|¬¦  «        }t          j        ||d¦  «        }|dk    sJ ‚ŒQd S )NrÑ  rÄ  râ  rÆ  r’   r   r¿  rè  r5  s         r9   Útest_maximum_position05rë  \  rÙ  r;   c           	      ó6  — |                       g d¢¦  «        }t          D ]y}t          | |¦  «        }|                       g d¢g d¢g d¢g|¬¦  «        }t          j        |||                       ddg¦  «        ¦  «        }|d         d	k    sJ ‚|d         d
k    sJ ‚Œzd S )NrÑ  rÄ  râ  rÆ  r’   r   r   r   r¿  rç  rè  r5  s         r9   Útest_maximum_position06rí  g  rÜ  r;   c           	      ó|  — t          | ¦  «        rt          j        d¦  «         |                      g d¢¦  «        }t          D ]y}t          | |¦  «        }|                      g d¢g d¢g d¢g|¬¦  «        }t          j        |||                      ddg¦  «        ¦  «        }|d	         d
k    sJ ‚|d         dk    sJ ‚Œzd S )Nzoutput[1] is wrong on pytorch)r%   r]  rK   ç      @rÄ  râ  rÆ  r’   r%   rï  r   r¿  r   )r   rZ   )r   rª   r«   r0   r   r”   r+   rß  r5  s         r9   Útest_maximum_position07rð  t  sï   € å��|„|ð 6ÝŒÐ4Ñ5Ô5Ð5à�ZŠZÐ,Ð,Ð,Ñ-Ô-€FÝð #ð #ˆÝ˜˜DÑ!Ô!ˆØ—
’
˜L˜L˜LØ(˜L˜LØ(˜L˜Lð*à16ð ñ 8ô 8ˆõ Ô)¨%°Ø*,¯*ª*°c¸3°ZÑ*@Ô*@ñBô Bˆà�aŒy˜FÒ"Ð"Ð"Ð"Ø�aŒy˜FÒ"Ð"Ð"Ð"Ð"ð#ð #r;   c                 óÌ  — t          j        ddgt          ¬¦  «        }|                      |¦  «        }t          D ]©}t	          | |¦  «        }|                      ddgddgg|¬¦  «        }t          j        ||¬¦  «        }t          j        ||¬¦  «        }t          j        ||¬¦  «        }t          j	        ||¬¦  «        }t          j
        ||¬¦  «        }	|||||	fk    sJ ‚Œªd S )Nr   r   r’   r   rZ   r    r2  )r(   r0   r4  r   r”   r+   Úextremarb  ro  rÀ  rß  ©
r3   r"   r–   r$   r#  Úoutput1Úoutput2Úoutput3Úoutput4Úoutput5s
             r9   Útest_extrema01rù  …  s  € ÝŒZ˜˜A˜¥dÐ+Ñ+Ô+€FØ�ZŠZ˜ÑÔ€FÝð 
?ð 
?ˆÝ˜˜DÑ!Ô!ˆØ—
’
˜Q ˜F Q¨ FÐ+°5�
Ñ9Ô9ˆÝ”/ %°Ð7Ñ7Ô7ˆÝ”/ %°Ð7Ñ7Ô7ˆÝ”/ %°Ð7Ñ7Ô7ˆÝÔ*¨5Ø28ð:ñ :ô :ˆåÔ*¨5Ø28ð:ñ :ô :ˆà˜7 G¨W°gÐ>Ò>Ð>Ð>Ð>Ð>ð
?ð 
?r;   c                 ó   — |                       ddg¦  «        }t          D ]®}t          | |¦  «        }|                       ddgddgg|¬¦  «        }t          j        ||d¬¦  «        }t          j        ||d¬¦  «        }t          j        ||d¬¦  «        }t          j        ||d¬¦  «        }t          j        ||d¬¦  «        }	|||||	fk    sJ ‚Œ¯d S )Nr   r   rZ   r    r’   r!   )	r0   r   r”   r+   rò  rb  ro  rÀ  rß  ró  s
             r9   Útest_extrema02rû  •  s  € Ø�ZŠZ˜˜A˜ÑÔ€FÝð ?ð ?ˆÝ˜˜DÑ!Ô!ˆØ—
’
˜Q ˜F Q¨ FÐ+°5�
Ñ9Ô9ˆÝ”/ %°Ø()ð+ñ +ô +ˆå”/ %°Ø()ð+ñ +ô +ˆå”/ %°Ø()ð+ñ +ô +ˆåÔ*¨5Ø28ÀðCñ Cô CˆåÔ*¨5Ø28ÀðCñ Cô Cˆà˜7 G¨W°gÐ>Ò>Ð>Ð>Ð>Ð>ð?ð ?r;   c           	      óD  — |                       ddgddgg¦  «        }t          D �]{}t          | ¦  «        r|dv rt          j        d¦  «         t          | |¦  «        }|                       ddgddgg|¬¦  «        }t          j        |||                       g d¢¦  «        ¬	¦  «        }t          j        |||                       g d¢¦  «        ¬	¦  «        }t          j	        |||                       g d¢¦  «        ¬	¦  «        }t          j
        |||                       g d¢¦  «        ¬	¦  «        }t          j        |||                       g d¢¦  «        ¬	¦  «        }	t          |d
         |¦  «         t          |d         |¦  «         |d         |k    sJ ‚|d         |	k    sJ ‚�Œ}d S )Nr   r   rZ   ©Úuint16Úuint32Úuint64ú/https://github.com/pytorch/pytorch/issues/58734r    r’   rk  r!   r   ©r0   r   r   rª   r«   r”   r+   rò  rb  ro  rÀ  rß  r	   ró  s
             r9   Útest_extrema03r  §  sß  € Ø�ZŠZ˜!˜Q˜ ! Q Ð(Ñ)Ô)€FÝð %ñ %ˆÝ�B‰<Œ<ð 	M˜DÐ$BÐBÐBÝŒ\ÐKÑLÔLÐLå˜˜DÑ!Ô!ˆØ—
’
˜Q ˜F Q¨ FÐ+°5�
Ñ9Ô9ˆÝ”/ %Ø)/Ø(*¯
ª
°9°9°9Ñ(=Ô(=ð?ñ ?ô ?ˆõ ”/ %Ø)/Ø(*¯
ª
°9°9°9Ñ(=Ô(=ð?ñ ?ô ?ˆõ ”/ %°Ø(*¯
ª
°9°9°9Ñ(=Ô(=ð?ñ ?ô ?ˆåÔ*¨5Ø28Ø13·²¸I¸I¸IÑ1FÔ1FðHñ Hô Hˆõ Ô*¨5Ø28Ø13·²¸I¸I¸IÑ1FÔ1FðHñ Hô Hˆõ 	" '¨!¤*¨gÑ6Ô6Ð6Ý! '¨!¤*¨gÑ6Ô6Ð6Ø�qŒz˜WÒ$Ð$Ð$Ð$Ø�qŒz˜WÒ$Ð$Ð$Ð$Ñ$ð/%ð %r;   c           	      ó8  — |                       g d¢¦  «        }t          D �]y}t          | ¦  «        r|dv rt          j        d¦  «         t          | |¦  «        }|                       g d¢g d¢g d¢g|¬¦  «        }t          j        |||                       dd	g¦  «        ¦  «        }t          j        |||                       dd	g¦  «        ¦  «        }t          j	        |||                       dd	g¦  «        ¦  «        }t          j
        |||                       dd	g¦  «        ¦  «        }t          j        |||                       dd	g¦  «        ¦  «        }	t          |d
         |¦  «         t          |d         |¦  «         |d	         |k    sJ ‚|d         |	k    sJ ‚�Œ{d S )NrÑ  rý  r  rÄ  râ  rÆ  r’   r   r   r   rZ   r  ró  s
             r9   Útest_extrema04r  Ã  s°  € Ø�ZŠZ˜˜˜Ñ%Ô%€FÝð %ñ %ˆÝ�B‰<Œ<ð 	M˜DÐ$BÐBÐBÝŒ\ÐKÑLÔLÐLå˜˜DÑ!Ô!ˆØ—
’
˜L˜L˜LØ(˜L˜LØ(˜L˜Lð*à16ð ñ 8ô 8ˆõ ”/ %¨°·²¸QÀ¸FÑ1CÔ1CÑDÔDˆÝ”/ %¨°·²¸QÀ¸FÑ1CÔ1CÑDÔDˆÝ”/ %¨°·²¸QÀ¸FÑ1CÔ1CÑDÔDˆÝÔ*¨5°&Ø+-¯:ª:°q¸!°fÑ+=Ô+=ñ?ô ?ˆåÔ*¨5°&Ø+-¯:ª:°q¸!°fÑ+=Ô+=ñ?ô ?ˆå! '¨!¤*¨gÑ6Ô6Ð6Ý! '¨!¤*¨gÑ6Ô6Ð6Ø�qŒz˜WÒ$Ð$Ð$Ð$Ø�qŒz˜WÒ$Ð$Ð$Ð$Ñ$ð%%ð %r;   c                 ó°   — d}t           D ]K}t          | |¦  «        }|                      ddgddgg|¬¦  «        }t          j        |¦  «        }||k    sJ ‚ŒLd S )N)rK   rK   r   r   r’   ©r   r”   r0   r+   Úcenter_of_mass©r3   r—   r–   r$   r#  r›   s         r9   Útest_center_of_mass01r
  Ú  óu   € Ø€HÝð "ð "ˆÝ˜˜DÑ!Ô!ˆØ—
’
˜Q ˜F Q¨ FÐ+°5�
Ñ9Ô9ˆÝÔ'¨Ñ.Ô.ˆØ˜Ò!Ð!Ð!Ð!Ð!ð	"ð "r;   c                 ó°   — d}t           D ]K}t          | |¦  «        }|                      ddgddgg|¬¦  «        }t          j        |¦  «        }||k    sJ ‚ŒLd S )NrÞ  r   r   r’   r  r	  s         r9   Útest_center_of_mass02r  ã  óu   € Ø€HÝð "ð "ˆÝ˜˜DÑ!Ô!ˆØ—
’
˜Q ˜F Q¨ FÐ+°5�
Ñ9Ô9ˆÝÔ'¨Ñ.Ô.ˆØ˜Ò!Ð!Ð!Ð!Ð!ð	"ð "r;   c                 ó°   — d}t           D ]K}t          | |¦  «        }|                      ddgddgg|¬¦  «        }t          j        |¦  «        }||k    sJ ‚ŒLd S )Nr×  r   r   r’   r  r	  s         r9   Útest_center_of_mass03r  ì  r  r;   c                 ó°   — d}t           D ]K}t          | |¦  «        }|                      ddgddgg|¬¦  «        }t          j        |¦  «        }||k    sJ ‚ŒLd S )Nrç  r   r   r’   r  r	  s         r9   Útest_center_of_mass04r  õ  r  r;   c                 ó°   — d}t           D ]K}t          | |¦  «        }|                      ddgddgg|¬¦  «        }t          j        |¦  «        }||k    sJ ‚ŒLd S )N©rC   rC   r   r’   r  r	  s         r9   Útest_center_of_mass05r  þ  r  r;   c                 ó®   — d}t          j        ddgddggt          ¬¦  «        }|                      |¦  «        }t          j        |¦  «        }||k    sJ ‚d S )Nr  r   r   rZ   r’   )r(   r0   r4  r+   r  ©r3   r—   r#  r›   s       r9   Útest_center_of_mass06r    s`   € Ø€HÝŒJ˜˜A˜  A Ð'­tÐ4Ñ4Ô4€EØ�JŠJ�uÑÔ€EÝÔ# EÑ*Ô*€FØ�XÒÐÐÐÐÐr;   c                 óÞ   — |                       ddg¦  «        }d}t          j         ddgddggt          ¬¦  «        }|                       |¦  «        }t          j        ||¦  «        }||k    sJ ‚d S )Nr   r   ©rC   rK   r   rZ   r’   ©r0   r(   r4  r+   r  ©r3   r"   r—   r#  r›   s        r9   Útest_center_of_mass07r    sw   € Ø�ZŠZ˜˜A˜ÑÔ€FØ€HÝŒJ˜˜A˜  A Ð'­tÐ4Ñ4Ô4€EØ�JŠJ�uÑÔ€EÝÔ# E¨6Ñ2Ô2€FØ�XÒÐÐÐÐÐr;   c                 óà   — |                       ddg¦  «        }d}t          j         ddgddggt          ¬¦  «        }|                       |¦  «        }t          j        ||d¦  «        }||k    sJ ‚d S )Nr   r   ©rC   r%   ru   rZ   r’   r  r  s        r9   Útest_center_of_mass08r     sy   € Ø�ZŠZ˜˜A˜ÑÔ€FØ€HÝŒJ˜˜A˜  A Ð'­tÐ4Ñ4Ô4€EØ�JŠJ�uÑÔ€EÝÔ# E¨6°1Ñ5Ô5€FØ�XÒÐÐÐÐÐr;   c                 óš  — |                       d¦  «        }|                       ddg| j        ¬¦  «        }t          j         ddgddggt          ¬¦  «        }|                       |¦  «        }t	          j        |||                       ddg¦  «        ¦  «        }t          |                       |¦  «        |                       |¦  «        ¦  «         d S )NrÇ  r  r  r’   r   r   )r0   Úfloat64r(   r4  r+   r  r   r  s        r9   Útest_center_of_mass09r#  !  s³   € Ø�ZŠZ˜ÑÔ€FØ�zŠz˜: zÐ2¸"¼*ˆzÑEÔE€HÝŒJ˜˜A˜  A Ð'­tÐ4Ñ4Ô4€EØ�JŠJ�uÑÔ€EÝÔ# E¨6°2·:²:¸qÀ!¸fÑ3EÔ3EÑFÔF€FÝ�B—J’J˜vÑ&Ô&¨¯
ª
°8Ñ(<Ô(<Ñ=Ô=Ð=Ð=Ð=r;   c                 ó¨   — |                       d¦  «        }|                      d¦  «        }t          j        |ddd¦  «        }t	          ||¦  «         d S )Nr©   r   )re   Úaranger+   Ú	histogramr	   r  s       r9   Útest_histogram01r'  *  sL   € Ø�wŠw�r‰{Œ{€HØ�IŠI�b‰MŒM€EÝÔ˜u a¨¨RÑ0Ô0€FÝ˜f hÑ/Ô/Ð/Ð/Ð/r;   c                 óâ   — |                       g d¢¦  «        }|                       g d¢¦  «        }|                       g d¢¦  «        }t          j        |ddd|d¦  «        }t          ||¦  «         d S )N)r   r   r   r   r   r   r   r   )r   r   r   r   r   )r   r   rZ   r    rZ   rZ   rZ   rZ   r   r    ru   r   ©r0   r+   r&  r	   r  s        r9   Útest_histogram02r*  1  sw   € Ø�ZŠZÐ0Ð0Ð0Ñ1Ô1€FØ�zŠz˜/˜/˜/Ñ*Ô*€HØ�JŠJÐ/Ð/Ð/Ñ0Ô0€EÝÔ˜u a¨¨A¨v°qÑ9Ô9€FÝ˜f hÑ/Ô/Ð/Ð/Ð/r;   zobject arraysc                 óH  — |                       g d¢¦  «        }|                       g d¢¦  «        }|                       g d¢¦  «        }|                       g d¢¦  «        }t          j        |ddd|d¦  «        }t          |d         |¦  «         t          |d	         |¦  «         d S )
N)r   r   r   r   r   r   r   r   )r   r   r   r   r   )r   r   r   rZ   r   )r   r   rZ   r    rZ   ru   rZ   rZ   r   r    ru   rÇ  r   r)  )r3   r"   Ú	expected1Ú	expected2r#  r›   s         r9   Útest_histogram03r.  9  s¤   € à�ZŠZÐ0Ð0Ð0Ñ1Ô1€FØ—
’
˜?˜?˜?Ñ+Ô+€IØ—
’
˜?˜?˜?Ñ+Ô+€IØ�JŠJÐ/Ð/Ð/Ñ0Ô0€EåÔ˜u a¨¨A¨v°vÑ>Ô>€Få˜f Qœi¨Ñ3Ô3Ð3Ý˜f Qœi¨Ñ3Ô3Ð3Ð3Ð3r;   c           	      ó°  — |                       g d¢g d¢g d¢g¦  «        }|                       g d¢g d¢g d¢g¦  «        }t          j        |||                       ddg¦  «        ¬¦  «        }t          ||                       d	d
g| j        ¬¦  «        ¦  «         t          j        |||                       ddg¦  «        ¬¦  «        }t          ||                       ddg| j        ¬¦  «        ¦  «         t          j        |||                       ddg¦  «        ¬¦  «        }t          ||                      |                       ddg| j        ¬¦  «        ¦  «        ¦  «         t          j	        |||                       ddg¦  «        ¬¦  «        }t          ||                       d	d
g| j        ¬¦  «        ¦  «         t          j
        |||                       ddg¦  «        ¬¦  «        }t          ||                       ddg¦  «        d¬¦  «         t          j        |||                       ddg¦  «        ¬¦  «        }t          ||                       ddg¦  «        d¬¦  «         d S )N)ru   r   r   r   r   )rJ  r>   r   r   r   )r   r   r   rZ   ru   )r   r   r   r   r   )r   r   r   r   r   r   r   r!   rV   r<  r’   r]  r%   ru   rZ   Fr³   r>   )r0   r+   rS  r   r"  r—  r®  r	   Úsqrtrƒ  rb  ro  )	r3   rÖ   ÚlblrS  ÚvarÚstdÚmedÚminÚmaxs	            r9   Útest_stat_funcs_2dr7  F  s$  € Ø
�
Š
�O�O�O _ _ _°o°o°oÐFÑGÔG€AØ
�*Š*�o�o�o   ¸¸¸ÐHÑ
IÔ
I€CåŒ<˜ #¨R¯ZªZ¸¸A¸Ñ-?Ô-?Ð@Ñ@Ô@€DÝ�D˜"Ÿ*š* c¨3 Z°r´z˜*ÑBÔBÑCÔCÐCå
Ô
˜1 S°·
²
¸A¸q¸6Ñ0BÔ0BÐ
CÑ
CÔ
C€CÝ�C˜Ÿš S¨# J°b´j˜ÑAÔAÑBÔBÐBå
Ô
$ Q¨s¸"¿*º*ÀaÈÀVÑ:LÔ:LÐ
MÑ
MÔ
M€CÝ˜c 2§7¢7¨2¯:ª:°s¸C°jÈÌ
¨:Ñ+SÔ+SÑ#TÔ#TÑUÔUÐUå
Œ.˜ 3¨b¯jªj¸!¸Q¸Ñ.@Ô.@Ð
AÑ
AÔ
A€CÝ�C˜Ÿš S¨# J°b´j˜ÑAÔAÑBÔBÐBå
Œ/˜! C¨r¯zªz¸1¸a¸&Ñ/AÔ/AÐ
BÑ
BÔ
B€CÝ�C˜Ÿš Q¨ FÑ+Ô+¸Ð?Ñ?Ô?Ð?å
Œ/˜! C¨r¯zªz¸1¸a¸&Ñ/AÔ/AÐ
BÑ
BÔ
B€CÝ�C˜Ÿš Q¨ FÑ+Ô+¸Ð?Ñ?Ô?Ð?Ð?Ð?r;   úno watershed_ift on CuPyc                   ó¶   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z e	dd¬	¦  «        d
„ ¦   «         Z
 e	dd¬¦  «        d„ ¦   «         Z e	dd¬¦  «        d„ ¦   «         ZdS )ÚTestWatershedIftc                 óº  — |                      g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g|j        ¬¦  «        }|                      g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g|j        ¬¦  «        }|                      g d¢g d¢g d¢g¦  «        }t          j        |||¬¦  «        }g d	¢g d
¢g d
¢g d
¢g d
¢g d
¢g d	¢g d	¢g}t          ||                      |¦  «        ¦  «         d S )N©r   r   r   r   r   r   r   ©r   r   r   r   r   r   r   ©r   r   r   r   r   r   r   r’   ©r±   r   r   r   r   r   r   ©r   r   r   r   r   r   r   ©r   r   r   ©Ú	structure©r±   r±   r±   r±   r±   r±   r±   ©r±   r   r   r   r   r   r±   ©r0   r¼  rE  r+   Úwatershed_iftr	   ©r2   r3   rh   ÚmarkersrC  ri   r—   s          r9   Útest_watershed_ift01z%TestWatershedIft.test_watershed_ift01`  sš  € Ø�zŠzÐ0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0ð2ð :<¼ð ñ Cô Cˆð —*’*Ð4Ð4Ð4Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3ð5ð =?¼Gð ñ Eô Eˆð —*’*˜i˜i˜iØ'˜i˜iØ'˜i˜ið)ñ *ô *ˆ	õ Ô# D¨'¸YÐGÑGÔGˆØ0Ð0Ð0Ø+Ð+Ð+Ø+Ð+Ð+Ø+Ð+Ð+Ø+Ð+Ð+Ø+Ð+Ð+Ø0Ð0Ð0Ø0Ð0Ð0ð2ˆõ 	" # r§z¢z°(Ñ';Ô';Ñ<Ô<Ð<Ð<Ð<r;   c                 óz  — |                      g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g|j        ¬¦  «        }|                      g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g|j        ¬¦  «        }t          j        ||¦  «        }g d¢g d¢g d	¢g d	¢g d	¢g d¢g d¢g d¢g}t          ||                      |¦  «        ¦  «         d S )
Nr<  r=  r>  r’   r?  r@  rD  )r±   r±   r   r   r   r±   r±   rE  rF  ©r2   r3   rh   rI  ri   r—   s         r9   Útest_watershed_ift02z%TestWatershedIft.test_watershed_ift02  sg  € Ø�zŠzÐ0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0ð2ð :<¼ð ñ Cô Cˆð —*’*Ð4Ð4Ð4Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3ð5ð =?¼Gð ñ Eô Eˆõ Ô# D¨'Ñ2Ô2ˆØ0Ð0Ð0Ø-Ð-Ð-Ø+Ð+Ð+Ø+Ð+Ð+Ø+Ð+Ð+Ø-Ð-Ð-Ø0Ð0Ð0Ø0Ð0Ð0ð2ˆõ 	" # r§z¢z°(Ñ';Ô';Ñ<Ô<Ð<Ð<Ð<r;   c           
      óh  — |                      g d¢g d¢g d¢g d¢g d¢g d¢g d¢g|j        ¬¦  «        }|                      g d¢g d¢g d¢g d¢g d¢g d¢g d¢g|j        ¬¦  «        }t          j        ||¦  «        }g d¢g d¢g d	¢g d	¢g d	¢g d¢g d¢g}t          ||                      |¦  «        ¦  «         d S )
Nr<  r=  ©r   r   r   r   r   r   r   r’   ©r   r   r   r   rZ   r   r   ©r   r   r   r   r   r   r±   rD  )r±   r±   r   r±   rZ   r±   r±   ©r±   r   r   rZ   rZ   rZ   r±   rF  rL  s         r9   Útest_watershed_ift03z%TestWatershedIft.test_watershed_ift03›  sM  € Ø�zŠzÐ0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0ð2ð :<¼ð ñ Cô Cˆð —*’*Ð3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø4Ð4Ð4ð6ð >@¼Wð ñ Fô Fˆõ Ô# D¨'Ñ2Ô2ˆØ0Ð0Ð0Ø.Ð.Ð.Ø+Ð+Ð+Ø+Ð+Ð+Ø+Ð+Ð+Ø.Ð.Ð.Ø0Ð0Ð0ð2ˆõ 	" # r§z¢z°(Ñ';Ô';Ñ<Ô<Ð<Ð<Ð<r;   c           
      ó¨  — |                      g d¢g d¢g d¢g d¢g d¢g d¢g d¢g|j        ¬¦  «        }|                      g d¢g d¢g d¢g d¢g d¢g d¢g d¢g|j        ¬¦  «        }|                      g d¢g d¢g d¢g¦  «        }t          j        |||¬¦  «        }g d	¢g d
¢g d
¢g d
¢g d
¢g d
¢g d	¢g}t          ||                      |¦  «        ¦  «         d S )Nr<  r=  rO  r’   rP  rQ  rA  rB  rD  rR  rF  rH  s          r9   Útest_watershed_ift04z%TestWatershedIft.test_watershed_ift04´  s}  € Ø�zŠzÐ0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0ð2ð :<¼ð ñ Cô Cˆð —*’*Ð3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø4Ð4Ð4ð6ð $&¤7ð ñ ,ô ,ˆð —*’*˜i˜i˜iØ'˜i˜iØ'˜i˜ið)ñ *ô *ˆ	õ Ô# D¨'¸YÐGÑGÔGˆØ0Ð0Ð0Ø+Ð+Ð+Ø+Ð+Ð+Ø+Ð+Ð+Ø+Ð+Ð+Ø+Ð+Ð+Ø0Ð0Ð0ð2ˆõ 	" # r§z¢z°(Ñ';Ô';Ñ<Ô<Ð<Ð<Ð<r;   c           
      ó¨  — |                      g d¢g d¢g d¢g d¢g d¢g d¢g d¢g|j        ¬¦  «        }|                      g d¢g d¢g d¢g d¢g d¢g d¢g d¢g|j        ¬¦  «        }|                      g d¢g d¢g d¢g¦  «        }t          j        |||¬¦  «        }g d	¢g d
¢g d
¢g d
¢g d
¢g d
¢g d	¢g}t          ||                      |¦  «        ¦  «         d S )Nr<  r=  rO  r’   )r   r   rZ   r   r   r   r   rQ  rA  rB  rD  )r±   rZ   rZ   r   r   r   r±   rF  rH  s          r9   Útest_watershed_ift05z%TestWatershedIft.test_watershed_ift05Ò  s}  € Ø�zŠzÐ0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0ð2ð :<¼ð ñ Cô Cˆð —*’*Ð3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø4Ð4Ð4ð6ð $&¤7ð ñ ,ô ,ˆð —J’J 	 	 	Ø ) 	 	Ø ) 	 	ð +ñ ,ô ,ˆ	õ Ô# D¨'¸YÐGÑGÔGˆØ0Ð0Ð0Ø+Ð+Ð+Ø+Ð+Ð+Ø+Ð+Ð+Ø+Ð+Ð+Ø+Ð+Ð+Ø0Ð0Ð0ð2ˆõ 	" # r§z¢z°(Ñ';Ô';Ñ<Ô<Ð<Ð<Ð<r;   c           	      ó–  — |                      g d¢g d¢g d¢g d¢g d¢g d¢g|j        ¬¦  «        }|                      g d¢g d¢g d¢g d¢g d¢g d¢g|j        ¬¦  «        }|                      g d¢g d¢g d¢g¦  «        }t          j        |||¬¦  «        }g d	¢g d	¢g d	¢g d	¢g d
¢g d
¢g}t          ||                      |¦  «        ¦  «         d S )Nr>  r=  r<  r’   r?  r@  rA  rB  rE  rD  rF  rH  s          r9   Útest_watershed_ift06z%TestWatershedIft.test_watershed_ift06ï  sd  € Ø�zŠzÐ0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0ð2ð
 :<¼ð ñ Cô Cˆð —*’*Ð4Ð4Ð4Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3ð5ð
 =?¼Gð ñ Eô Eˆð —*’*˜i˜i˜iØ'˜i˜iØ'˜i˜ið)ñ *ô *ˆ	õ Ô# D¨'¸YÐGÑGÔGˆØ+Ð+Ð+Ø+Ð+Ð+Ø+Ð+Ð+Ø+Ð+Ð+Ø0Ð0Ð0Ø0Ð0Ð0ð2ˆõ 	" # r§z¢z°(Ñ';Ô';Ñ<Ô<Ð<Ð<Ð<r;   Tzinplace ops are numpy-specificr   c           	      ó‚  — d}t          j        |t           j        ¬¦  «        }|                     ¦   «         }t          j        g d¢g d¢g d¢g d¢g d¢g d¢gt           j        ¬¦  «        |d<   |                     |¦  «        }|                     g d¢g d¢g d¢g d¢g d¢g d¢g|j        ¬¦  «        }|                     ||j        ¬¦  «        }|j        }|                     g d	¢g d	¢g d	¢g¦  «        }t          j	        ||||¬
¦  «         g d¢g d¢g d¢g d¢g d¢g d¢g}t          ||                     |¦  «        ¦  «         d S )N)r²   r   r’   r>  r=  r<  .r?  r@  rA  )rC  r›   rE  rD  )r(   rm   r¼  Ú	transposer0   rE  Úint16ÚTr+   rG  r	   )r2   r3   r¢   rh   rI  ri   rC  r—   s           r9   Útest_watershed_ift07z%TestWatershedIft.test_watershed_ift07  sÍ  € àˆÝŒx˜¥R¤XÐ.Ñ.Ô.ˆØ�~Š~ÑÔˆÝ”JÐ 5Ð 5Ð 5Ø 5Ð 5Ð 5Ø 5Ð 5Ð 5Ø 5Ð 5Ð 5Ø 5Ð 5Ð 5Ø 5Ð 5Ð 5ð 7õ
 ?A¼hðHñ Hô HˆˆS‰	ð �zŠz˜$ÑÔˆØ—*’*Ð4Ð4Ð4Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3ð5ð
 =?¼Gð ñ Eô Eˆð �hŠh�u B¤HˆhÑ-Ô-ˆØŒeˆØ—*’*˜i˜i˜iØ'˜i˜iØ'˜i˜ið)ñ *ô *ˆ	õ 	Ô˜d G°yØ%(ð	*ñ 	*ô 	*ð 	*à+Ð+Ð+Ø+Ð+Ð+Ø+Ð+Ð+Ø+Ð+Ð+Ø0Ð0Ð0Ø0Ð0Ð0ð2ˆõ 	" # r§z¢z°(Ñ';Ô';Ñ<Ô<Ð<Ð<Ð<r;   r   r8  rÃ   c                 ó  — |                      ddgddgg|j        ¬¦  «        }|                      ddgddgg|j        ¬¦  «        }t          j        ||¦  «        }ddgddgg}t          ||                      |¦  «        ¦  «         d S )Né   r   r’   r   )r0   rþ  rE  r+   rG  r	   rL  s         r9   Útest_watershed_ift08z%TestWatershedIft.test_watershed_ift08)  s«   € ð �zŠz˜C ˜8Ø˜q˜6ð#Ø*,¬)ð ñ 5ô 5ˆà—*’*˜q !˜fØ  !˜fð&Ø-/¬Wð ñ 6ô 6ˆåÔ# D¨'Ñ2Ô2ˆØ˜�FØ˜�Fðˆå! # r§z¢z°(Ñ';Ô';Ñ<Ô<Ð<Ð<Ð<r;   c                 óL  — |                      |                     |j        ¦  «        j        dgddgg|j        ¬¦  «        }|                      ddgddgg|j        ¬¦  «        }t          j        ||¦  «        }ddgddgg}t          ||                      |¦  «        d¬¦  «         d S )Nr   r’   r   Fr³   )r0   Úiinforþ  r6  rE  r+   rG  r   rL  s         r9   Útest_watershed_ift09z%TestWatershedIft.test_watershed_ift095  sÂ   € ð �zŠz˜BŸHšH R¤YÑ/Ô/Ô3°QÐ7Ø˜q˜6ð#Ø*,¬)ð ñ 5ô 5ˆà—*’*˜q !˜fØ  !˜fð&Ø-/¬Wð ñ 6ô 6ˆåÔ# D¨'Ñ2Ô2ˆØ˜�FØ˜�Fðˆå˜˜RŸZšZ¨Ñ1Ô1¸uÐEÑEÔEÐEÐEÐEr;   N)rN   rO   rP   rJ  rM  rS  rU  rW  rY  r   r^  ra  rd  rR   r;   r9   r:  r:  ]  sþ   € € € € € ð=ð =ð =ð>=ð =ð =ð8=ð =ð =ð2=ð =ð =ð<=ð =ð =ð:=ð =ð =ð2 Ð˜dÐ+KÐLÑLÔLð=ð =ñ MÔLð=ð@ Ð�fÐ%?Ð@Ñ@Ô@ð	=ð 	=ñ AÔ@ð	=ð Ð�fÐ%?ÐAÑAÔAð	Fð 	Fñ BÔAð	Fð 	Fð 	Fr;   r:  )r   Údtc                 ó  — t           j                             d¦  «        }d}|                     d|d¬¦  «                             | ¬¦  «        }t          j        |¦  «        }t          |                     ¦   «         ¦  «        |k    sJ ‚d S )Né{   rJ  r   )r©   r  )ÚlowÚhighrÊ   r’   )	r(   rÓ   Údefault_rngÚintegersÚastyper+   r   r^   r  )re  r3   ÚrngÚmax_valÚimageÚval_idxs         r9   Útest_gh_19423rq  B  s}   € õ Œ)×
Ò
 Ñ
$Ô
$€CØ€GØ�LŠL˜Q W°8ˆLÑ<Ô<×CÒCÈ"ÐCÑMÔM€EÝÔ# EÑ*Ô*€GÝˆw�|Š|‰~Œ~ÑÔ 'Ò)Ð)Ð)Ð)Ð)Ð)r;   )‰r¶   Úos.pathÚnumpyr(   Únumpy.testingr   Úscipy._lib._array_apir   r   r   r   r   r	   r
   rª   r   r¬   Úscipy.ndimager+   Ú r   Úscipy.conftestr   Úmarkr   ÚusefixturesÚ
pytestmarkÚnameÚ__version__r.   r   rT   rk   rn   Úthread_unsaferq   rs   rv   rz   r}   rˆ   rŽ   r�   r˜   rœ   rž   r    r¥   r§   r¯   rÂ   r×   rÝ   rß   r  r  r  r$  r&  r*  r.  r0  r6  r8  r:  r=  rB  rF  rK  rQ  rT  rW  rY  r`  rc  rg  ri  rl  rp  rr  rt  rv  rz  r…  r‰  r‹  rŽ  r’  rš  rŸ  r¢  r¥  r¨  r«  r¯  r²  r´  r¶  r¸  rº  r½  rÁ  rÈ  rÌ  rÏ  rÓ  rØ  rÛ  rà  rã  rå  ré  rë  rí  rð  rù  rû  r  r  r
  r  r  r  r  r  r  r   r#  r'  r*  r.  r7  r:  ÚparametrizeÚintcÚuintcrq  rR   r;   r9   ú<module>r‚     s’	  ðØ 	€	€	€	Ø €€€à Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð €€€Ø *Ð *Ð *Ð *Ð *Ð *à Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð à /Ð /Ð /Ð /Ð /Ð /Ø”;Ô/Ð Ø" F¤K×$;Ò$;Ð<NÑ$OÔ$OØÐ¨¸&À+Ð9NÐPÑPÔPðR€
ð ”W ’_Ð=¨¬¸#Ò)=Ð ð Ð˜$Ð'IÐJÑJÔJðO=ð O=ð O=ð O=ð O=ñ O=ô O=ñ KÔJðO=ðd#/ð #/ð #/ð #/ð #/ñ #/ô #/ð #/ðLð ð ðð ð ð „Ôðð ñ Ôððð ð ðð ð ðð ð ðð ð ð$ð ð ð"ð ð ð&ð ð ðð ð ð* Ð˜$Ð'IÐJÑJÔJðð ñ KÔJðð*ð ð ð&ð ð ð$ Ð˜$Ð'GÐHÑHÔHðð ñ IÔHðð Ð˜$Ð'GÐHÑHÔHð!ð !ñ IÔHð!ð
:ð 
:ð 
:ðð ð ð, Ð�&ØMðñ ô ðð ñô ðð$	5ð 	5ð 	5ð Ð�&Ð!PÐQÑQÔQðTCð TCð TCð TCð TCñ TCô TCñ RÔQðTCðn'ð 'ð 'ð4$ð $ð $ð/ð /ð /ð&ð ð ðð ð ðEð Eð EðEð Eð EðFð Fð Fðð ð ðð ð ðð ð ðEð Eð EðAð Að AðEð Eð EðGð Gð Gð
Nð 
Nð 
NðEð Eð EðAð Að AðEð Eð Eð'ð 'ð 'ðEð Eð EðAð Að AðEð Eð EðGð Gð GðEð Eð EðAð Að AðEð Eð EðGð Gð Gð$ð $ð $ð
Cð 
Cð 
CðAð Að Að
Að 
Að 
Að9ð 9ð 9ð:ð :ð :ð$ð $ð $ðEð Eð EðEð Eð EðBð Bð BðEð Eð EðKð Kð Kð$ð $ð $ðEð Eð EðEð Eð EðAð Að AðEð Eð Eð	Kð 	Kð 	Kð
?ð 
?ð 
?ð ð  ð  ð ð  ð  ðð ð ðð ð ð ð  ð  ð ð  ð  ð
#ð 
#ð 
#ð ð  ð  ð ð  ð  ðð ð ð ð  ð  ð ð  ð  ð
#ð 
#ð 
#ð#ð #ð #ð"?ð ?ð ?ð ?ð ?ð ?ð$%ð %ð %ð8%ð %ð %ð."ð "ð "ð"ð "ð "ð"ð "ð "ð"ð "ð "ð"ð "ð "ðð ð ðð ð ðð ð ð>ð >ð >ð0ð 0ð 0ð0ð 0ð 0ð Ð˜$ Ð7Ñ7Ô7ð	4ð 	4ñ 8Ô7ð	4ð@ð @ð @ð. Ð�&Ð!;Ð<Ñ<Ô<ðaFð aFð aFð aFð aFñ aFô aFñ =Ô<ðaFðH Ð˜$ÐÑÔØ„×Ò˜ ¤¨¬Ð2Ñ3Ô3ð*ð *ñ 4Ô3ñ  Ôð*ð *ð *r;   