§
    fŠtj˜ô  ã                   ó–  — d dl Z d dlZ d dlZd dlZd dl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 ej        j        Ze j        dk    o
ej        dk     Z edd	¬
¦  «         G d„ d¦  «        ¦   «         Z edd	¬
¦  «         G d„ d¦  «        ¦   «         Z eej        ¦  «        d„ ¦   «         Z eej        ¦  «        d„ ¦   «         Z eej        ¦  «        d„ ¦   «         Z eej        ¦  «        d„ ¦   «         Z eej        ¦  «        d„ ¦   «         Z eej        ¦  «        d„ ¦   «         Z  eej        ¦  «        d„ ¦   «         Z! eej        ¦  «        d„ ¦   «         Z" eej        ¦  «        d„ ¦   «         Z# eej        ¦  «        d„ ¦   «         Z$ eej        ¦  «        d„ ¦   «         Z% edd¬
¦  «         eej        ¦  «        d„ ¦   «         ¦   «         Z& eej        ¦  «        d„ ¦   «         Z' eej        ¦  «        d„ ¦   «         Z( eddgd¬ ¦  «         eej        ¦  «        d!„ ¦   «         ¦   «         Z) eddgd¬ ¦  «         eej        ¦  «        d"„ ¦   «         ¦   «         Z* edd#¬
¦  «         eej        ¦  «        d$„ ¦   «         ¦   «         Z+ eej        ¦  «        d%„ ¦   «         Z, eej        ej-        ¦  «        d&„ ¦   «         Z. eej        ¦  «        d'„ ¦   «         Z/ eej        ej-        ¦  «         G d(„ d)¦  «        ¦   «         Z0 eej1        ¦  «        d*„ ¦   «         Z2 eej1        ¦  «        d+„ ¦   «         Z3 eej1        ¦  «        d,„ ¦   «         Z4 eej5        ¦  «        d-„ ¦   «         Z6 eej5        ¦  «        d.„ ¦   «         Z7 eej5        ¦  «        d/„ ¦   «         Z8 eej5        ¦  «        d0„ ¦   «         Z9 eej5        ¦  «        d1„ ¦   «         Z: eej5        ¦  «        d2„ ¦   «         Z; eej5        ¦  «        d3„ ¦   «         Z< eej5        ¦  «        d4„ ¦   «         Z= eej5        ¦  «        d5„ ¦   «         Z> eej5        ¦  «        d6„ ¦   «         Z? eej5        ¦  «        d7„ ¦   «         Z@ eej5        ¦  «        d8„ ¦   «         ZA eej5        ¦  «        d9„ ¦   «         ZB eejC        ¦  «        d:„ ¦   «         ZD eejC        ¦  «        d;„ ¦   «         ZE eejC        ¦  «        d<„ ¦   «         ZF eejC        ¦  «        d=„ ¦   «         ZG eejH        ¦  «        d>„ ¦   «         ZI eejH        ¦  «        d?„ ¦   «         ZJ eejH        ¦  «        d@„ ¦   «         ZK eejH        ¦  «        dA„ ¦   «         ZL eejM        ¦  «        dB„ ¦   «         ZN eejM        ¦  «        dC„ ¦   «         ZO eejM        ¦  «        dD„ ¦   «         ZP eejM        ¦  «        dE„ ¦   «         ZQ eejM        ¦  «        dF„ ¦   «         ZR eejS        ¦  «        dG„ ¦   «         ZT eejS        ¦  «        dH„ ¦   «         ZU eejS        ¦  «        dI„ ¦   «         ZV eejS        ¦  «        dJ„ ¦   «         ZW eejS        ¦  «        dK„ ¦   «         ZX eejY        ¦  «        dL„ ¦   «         ZZ eejY        ¦  «        dM„ ¦   «         Z[ eejY        ¦  «        dN„ ¦   «         Z\ eejY        ¦  «        dO„ ¦   «         Z] eejY        ¦  «        dP„ ¦   «         Z^ eejY        ¦  «        dQ„ ¦   «         Z_ eej`        ¦  «        dR„ ¦   «         Za eej`        ¦  «        dS„ ¦   «         Zb eej`        ¦  «        dT„ ¦   «         Zc eej`        ¦  «        dU„ ¦   «         Zd eej`        ¦  «        dV„ ¦   «         Ze eej`        ¦  «        dW„ ¦   «         Zf eej`        ¦  «        dX„ ¦   «         Zg eejh        ¦  «        dY„ ¦   «         Zi eejh        ¦  «        dZ„ ¦   «         Zj eejh        ¦  «        d[„ ¦   «         Zk eejh        ¦  «        d\„ ¦   «         Zl eejh        ¦  «        d]„ ¦   «         Zm eejh        ¦  «        d^„ ¦   «         Zn eejh        ¦  «        d_„ ¦   «         Zo eejp        ¦  «        d`„ ¦   «         Zq eejp        ¦  «        da„ ¦   «         Zr eejp        ¦  «        db„ ¦   «         Zs eejp        ¦  «        dc„ ¦   «         Zt eejp        ¦  «        dd„ ¦   «         Zu eejp        ¦  «        de„ ¦   «         Zv eejp        ¦  «        df„ ¦   «         Zw eejx        ejH        ejM        ejh        ejp        ¦  «        dg„ ¦   «         Zy eejx        ejH        ejM        ejh        ejp        ¦  «        dh„ ¦   «         Zz eejx        ejH        ejM        ejh        ejp        ¦  «        di„ ¦   «         Z{ eejx        ejH        ejM        ejh        ejp        ¦  «        dj„ ¦   «         Z| eej}        ¦  «        dk„ ¦   «         Z~ eej}        ¦  «        dl„ ¦   «         Z eej}        ¦  «        dm„ ¦   «         Z€ eej}        ¦  «        dn„ ¦   «         Z� eej}        ¦  «        do„ ¦   «         Z‚ eej}        ¦  «        dp„ ¦   «         Zƒ eej}        ¦  «        dq„ ¦   «         Z„ eej}        ¦  «        dr„ ¦   «         Z… eej}        ¦  «        ds„ ¦   «         Z† eej‡        ¦  «        dt„ ¦   «         Zˆ eej‡        ¦  «        du„ ¦   «         Z‰ eddv¬
¦  «         eej‡        ¦  «        dw„ ¦   «         ¦   «         ZŠ eejC        ejY        ej`        ejS        ejH        ejM        ¦  «        dx„ ¦   «         Z‹ eddy¬z¦  «         eejŒ        ¦  «         G d{„ d|¦  «        ¦   «         ¦   «         Z� ed¬}¦  «        ej         Ž                    d~ej�        ej�        g¦  «         eej1        ¦  «        d„ ¦   «         ¦   «         ¦   «         Z‘dS )€é    N)Úis_torchÚxp_assert_equalÚxp_assert_closeÚassert_array_almost_equalÚassert_almost_equalÚmake_xp_test_case)Úraisesé   )ÚtypesÚntÚ2Tz 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	            úc/var/www/html/CA-Chatbot/venv/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   é	   r7   r   r7   r   r   r   r   r   r   r    r*   s	            r2   Útest_bzTest_measurements_stats.test_b1   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ð	:ð 	:r4   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    ©
r+   r,   r-   r   r   r.   r/   r0   Úcentersr1   s
             r2   Útest_a_centeredz'Test_measurements_stats.test_a_centeredA   ó  € Øˆ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°
Ñ%;Ô%;Ñ<Ô<Ð<Ð<ð		=ð 		=r4   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   r6   r   r7   r   Tr:   r   r   r   r   r<   r    r=   s
             r2   Útest_b_centeredz'Test_measurements_stats.test_b_centeredP   r@   r4   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   )ç        rD   ç      "@rE   rD   rE   r   Tr:   r   r   r   r   r<   r    r=   s
             r2   Útest_nonint_labelsz*Test_measurements_stats.test_nonint_labels_   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°
Ñ%;Ô%;Ñ<Ô<Ð<Ð<ð		=ð 		=r4   N)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r3   r8   r?   rB   rF   © r4   r2   r   r      si   € € € € € ðð ð
:ð :ð :ð:ð :ð :ð =ð =ð =ð=ð =ð =ð=ð =ð =ð =ð =r4   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
   r6   r7   )rD   rD   ç      @rO   rD   rO   r   T)r   r   Úfind_maxr   )r   r   Úfind_minr   )r   r   rQ   Úfind_min_positionsé   Úi)r   r   rP   Úfind_max_positions)r$   r%   Ú_selectÚlenr   r   Úkind)r+   r,   r-   Úcasesr   r   Úresults          r2   Ú
test_basicz#Test_measurements_select.test_basics   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	/ð 	/r4   N)rG   rH   rI   rJ   r[   rK   r4   r2   rM   rM   o   s)   € € € € € àOÐOð /ð  /ð  /ð  /ð  /r4   rM   c                 ó~   — |                       d¦  «        }t          j        |¦  «        \  }}|dk    sJ ‚|dk    sJ ‚d S )NrK   r
   )Úonesr$   Úlabel©r,   ÚdataÚoutÚns       r2   Útest_label01rc   –   sB   € à�7Š7�2‰;Œ;€DÝŒ]˜4Ñ Ô �F€CˆØ�!Š8ˆ8ˆ8ˆ8Ø�Š6ˆ6ˆ6ˆ6ˆ6ˆ6r4   c                 ó~   — |                       d¦  «        }t          j        |¦  «        \  }}|dk    sJ ‚|dk    sJ ‚d S )NrK   r   )Úzerosr$   r^   r_   s       r2   Útest_label02rf   ž   sB   € à�8Š8�B‰<Œ<€DÝŒ]˜4Ñ Ô �F€CˆØ�!Š8ˆ8ˆ8ˆ8Ø�Š6ˆ6ˆ6ˆ6ˆ6ˆ6r4   c                 ó¸   — |                       dg¦  «        }t          j        |¦  «        \  }}t          ||                      dg¦  «        ¦  «         |dk    sJ ‚d S )Nr
   ©r]   r$   r^   r   r)   r_   s       r2   Útest_label03ri   ¦   sS   € à�7Š7�A�3‰<Œ<€DÝŒ]˜4Ñ Ô �F€CˆÝ˜c 2§:¢:¨q¨c¡?¤?Ñ3Ô3Ð3Ø�Š6ˆ6ˆ6ˆ6ˆ6ˆ6r4   c                 ó¸   — |                       dg¦  «        }t          j        |¦  «        \  }}t          ||                      dg¦  «        ¦  «         |dk    sJ ‚d S )Nr
   r   )re   r$   r^   r   r)   r_   s       r2   Útest_label04rk   ®   sS   € à�8Š8�Q�C‰=Œ=€DÝŒ]˜4Ñ Ô �F€CˆÝ˜c 2§:¢:¨q¨c¡?¤?Ñ3Ô3Ð3Ø�Š6ˆ6ˆ6ˆ6ˆ6ˆ6r4   c                 óº   — |                       dg¦  «        }t          j        |¦  «        \  }}t          ||                      g d¢¦  «        ¦  «         |dk    sJ ‚d S )Né   )r
   r
   r
   r
   r
   r
   rh   r_   s       r2   Útest_label05rn   ¶   sW   € à�7Š7�A�3‰<Œ<€DÝŒ]˜4Ñ Ô �F€CˆÝ˜c 2§:¢:¨o¨o¨oÑ#>Ô#>Ñ?Ô?Ð?Ø�Š6ˆ6ˆ6ˆ6ˆ6ˆ6r4   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   rS   rS   ©r)   r$   r^   r   r_   s       r2   Útest_label06rr   ¾   sa   € à�:Š:Ð(Ð(Ð(Ñ)Ô)€DÝŒ]˜4Ñ Ô �F€CˆÝ˜c 2§:¢:Ð.@Ð.@Ð.@Ñ#AÔ#AÑBÔBÐBØ�Š6ˆ6ˆ6ˆ6ˆ6ˆ6r4   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   rq   r_   s       r2   Útest_label07ru   Æ   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ˆ6r4   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   ©rS   rS   r   r   r   r   ©r   r   r   r   r   r   r   rq   r_   s       r2   Ú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ˆ6r4   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 )Nrw   rx   ry   rz   r{   r   r|   r}   )r   r   r   r   r   r   )r   r   r   rS   rS   r   rS   ©r)   r$   Úgenerate_binary_structurer^   r   ©r,   r`   Ústructra   rb   s        r2   Ú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ˆ6r4   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 )Nrt   )r   r
   r
   r   r
   r   )r   r
   r
   r
   r
   r   r   r
   r‚   r„   s        r2   Ú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ˆ6r4   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 )Nrw   rx   ry   rz   r{   ©r   r|   r}   r~   r   r   ©r   Úgetattrr)   r$   r^   r   ©r,   Útyper   r`   ra   rb   Úexpecteds          r2   Útest_label11r�     s  € åð ð ˆÝ˜˜DÑ!Ô!ˆØ�zŠzÐ-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-ð/ð
 7<ð ñ =ô =ˆõ ”˜tÑ$Ô$‰ˆˆQØ&Ð&Ð&Ø&Ð&Ð&Ø&Ð&Ð&Ø&Ð&Ð&Ø&Ð&Ð&Ø&Ð&Ð&ð(ˆð —:’:˜hÑ'Ô'ˆÝ! # xÑ0Ô0Ð0Ø�AŠvˆvˆvˆvˆvð#ð r4   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 )Nrw   rx   ry   rz   r{   rŠ   ©Úoutputr|   r}   r~   r   r   r‹   )r,   rŽ   r   r`   rb   r�   s         r2   Útest_label11_inplacer”   %  s	  € õ ð ð ˆÝ˜˜DÑ!Ô!ˆØ�zŠzÐ-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-ð/ð
 7<ð ñ =ô =ˆõ ŒM˜$ tÐ,Ñ,Ô,ˆØ&Ð&Ð&Ø&Ð&Ð&Ø&Ð&Ð&Ø&Ð&Ð&Ø&Ð&Ð&Ø&Ð&Ð&ð(ˆð —:’:˜hÑ'Ô'ˆÝ! $¨Ñ1Ô1Ð1Ø�AŠvˆvˆvˆvˆvð#ð r4   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          r2   Útest_label12r–   <  sô   € åð ð ˆÝ˜˜DÑ!Ô!ˆØ�zŠzÐ-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-ð	/ð 7<ð	 ñ =ô =ˆõ
 ”˜tÑ$Ô$‰ˆˆQØ&Ð&Ð&Ø&Ð&Ð&Ø&Ð&Ð&Ø&Ð&Ð&Ø&Ð&Ð&ð	(ˆð
 —:’:˜hÑ'Ô'ˆÝ! # xÑ0Ô0Ð0Ø�AŠvˆvˆvˆvˆvðð r4   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          r2   Útest_label13r˜   P  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ðð r4   Úcupyzoutput=dtype is numpy-specific)r   Ú
exceptionsr   c                 ó0  — |                       dg¦  «        }t          D ]w}t          | |¦  «        }|                      dg|¬¦  «        }t	          j        ||¬¦  «        }t          ||                       |j        |j        ¬¦  «        ¦  «         |dk    sJ ‚Œxd S )Nrm   rŠ   r’   r
   )	r]   r   rŒ   re   r$   r^   r   Úshaper   ©r,   r`   Útr   r“   rb   s         r2   Útest_label_output_typedrŸ   c  s£   € ð �7Š7�A�3‰<Œ<€DÝð ð ˆÝ˜˜A‘”ˆØ—’˜1˜# U�Ñ+Ô+ˆÝŒM˜$ vÐ.Ñ.Ô.ˆÝ! &Ø"$§'¢'¨&¬,¸f¼l 'Ñ"KÔ"Kñ	Mô 	Mð 	Mà�AŠvˆvˆvˆvˆvðð r4   c                 ó  — |                       dg¦  «        }t          D ]g}t          | |¦  «        }t          j        ||¬¦  «        \  }}t          ||                       |j        |j        ¬¦  «        ¦  «         |j        |k    sJ ‚Œhd S )Nrm   r’   rŠ   )r]   r   rŒ   r$   r^   r   rœ   r   r�   s         r2   Útest_label_output_dtyper¡   q  s—   € ð �7Š7�A�3‰<Œ<€DÝð !ð !ˆÝ˜˜A‘”ˆÝ”M $¨uÐ5Ñ5Ô5‰	ˆ�Ý! &Ø"$§'¢'¨&¬,¸f¼l 'Ñ"KÔ"Kñ	Mô 	Mð 	MàŒ|˜qÒ Ð Ð Ð Ð ð!ð !r4   z!in-place output is numpy-specificc                 óÚ   — |                       dg¦  «        }t          D ]L}t          | |¦  «        }|                      dg|¬¦  «        }t	          t
          t          j        ||¬¦  «         ŒMd S )Nrm   é
   rŠ   r’   )r]   r   rŒ   re   Úassert_raisesÚ
ValueErrorr$   r^   )r,   r`   rž   r   r“   s        r2   Útest_label_output_wrong_sizer¦   ~  sr   € ð �7Š7�A�3‰<Œ<€DÝð Fð FˆÝ˜˜A‘”ˆØ—’˜2˜$ e�Ñ,Ô,ˆÝ•j¥'¤-°¸fÐEÑEÔEÐEÐEðFð Fr4   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 )Nr`   zlabel_inputs.txtzlabel_strels.txtzlabel_results.txt)éÿÿÿÿé   r©   )r¨   rS   rS   r   F©Úcheck_dtyper
   )r!   ÚloadtxtÚosÚpathÚjoinÚdirnameÚ__file__r#   r)   Úrangerœ   r   r$   r^   )	r,   r`   ÚstrelsÚresultsÚrrT   ÚdÚjÚss	            r2   Ú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ð	ðð r4   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)rW   rœ   r$   rƒ   r)   r^   Úfind_objects)
ÚimgÚthreshÚsizeÚmaskÚrankr…   ÚlaÚcoÚ_r,   s
            €r2   ÚSEztest_ticket_742.<locals>.SE¢  sj   ø€ Ø�VŠ|ˆÝ�4”:‰ŒˆÝÔ2°4¸Ñ>Ô>ˆØ—’˜FÑ#Ô#ˆÝ”˜tØ%ñ'ô '‰ˆˆBåÔ  Ñ$Ô$ˆˆˆr4   rT   )rS   éØ  rÇ   )r»   r   )r!   r   ÚintpÚrandomÚrandÚprodr#   r)   )r,   rÆ   rœ   Úas   `   r2   Ú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‰Œˆˆˆð *Ð)r4   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  )rS   rS   )r!   re   r)   r$   r^   r]   )r,   r¶   s     r2   Ú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Ð4r4   c                   ó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£   r<   )
r!   rÉ   rÊ   r)   r$   r^   r   Úint32r(   r½   )r+   r,   Ú
test_arrayr^   Úno_featuress        r2   Útest_label_default_dtypez(TestFindObjects.test_label_default_dtypeÂ  st   € Ý”Y—^’^ B¨Ñ+Ô+ˆ
Ø—Z’Z 
Ñ+Ô+ˆ
Ý$œ]¨:¸Ò+;Ñ<Ô<Ñˆˆ{ØŒ{˜rœx¨¬Ð2Ð2Ð2Ð2Ð2åÔ˜UÑ#Ô#Ð#Ð#Ð#r4   c                 óx   — |                      g |j        ¬¦  «        }t          j        |¦  «        }|dgk    sJ ‚d S )NrŠ   rK   )r]   r(   r$   r½   ©r+   r,   r`   ra   s       r2   Útest_find_objects01z#TestFindObjects.test_find_objects01Ë  s<   € Ø�wŠw�r ¤ˆwÑ*Ô*ˆÝÔ" 4Ñ(Ô(ˆØ�r�dŠ{ˆ{ˆ{ˆ{ˆ{ˆ{r4   c                 óv   — |                      g |j        ¬¦  «        }t          j        |¦  «        }|g k    sJ ‚d S )NrŠ   ©re   r(   r$   r½   rÜ   s       r2   Útest_find_objects02z#TestFindObjects.test_find_objects02Ñ  s:   € Ø�xŠx˜ "¤(ˆxÑ+Ô+ˆÝÔ" 4Ñ(Ô(ˆØ�bŠyˆyˆyˆyˆyˆyr4   c                 óš   — |                      dg|j        ¬¦  «        }t          j        |¦  «        }|t	          ddd ¦  «        fgk    sJ ‚d S )Nr
   rŠ   r   ©r]   r(   r$   r½   ÚslicerÜ   s       r2   Útest_find_objects03z#TestFindObjects.test_find_objects03×  óT   € Ø�wŠw˜�s "¤(ˆwÑ+Ô+ˆÝÔ" 4Ñ(Ô(ˆØ�˜a  DÑ)Ô)Ð+Ð,Ò,Ð,Ð,Ð,Ð,Ð,r4   c                 óx   — |                      dg|j        ¬¦  «        }t          j        |¦  «        }|g k    sJ ‚d S )Nr
   rŠ   rß   rÜ   s       r2   Útest_find_objects04z#TestFindObjects.test_find_objects04Ý  s<   € Ø�xŠx˜˜ 2¤8ˆxÑ,Ô,ˆÝÔ" 4Ñ(Ô(ˆØ�bŠyˆyˆyˆyˆyˆyr4   c                 óš   — |                      dg|j        ¬¦  «        }t          j        |¦  «        }|t	          ddd ¦  «        fgk    sJ ‚d S )Nrm   rŠ   r   râ   rÜ   s       r2   Útest_find_objects05z#TestFindObjects.test_find_objects05ã  rå   r4   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 )Nrp   r   r
   r   r   rm   r   ©r)   r$   r½   rã   rÜ   s       r2   Útest_find_objects06z#TestFindObjects.test_find_objects06é  s…   € Ø�zŠzÐ,Ð,Ð,Ñ-Ô-ˆÝÔ" 4Ñ(Ô(ˆØ�˜a  DÑ)Ô)Ð+Ý˜a  DÑ)Ô)Ð+Ý˜a  DÑ)Ô)Ð+ð-ò -ð -ð -ð -ð -ð -r4   c           	      óŒ   — |                      g d¢g d¢g d¢g d¢g d¢g d¢g¦  «        }t          j        |¦  «        }|g k    sJ ‚d S )Nrt   )r)   r$   r½   rÜ   s       r2   Útest_find_objects07z#TestFindObjects.test_find_objects07ñ  ss   € Ø�zŠzÐ-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-ð/ñ 0ô 0ˆõ Ô" 4Ñ(Ô(ˆØ�bŠyˆyˆyˆyˆyˆyr4   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 )Nrw   r|   r}   r~   r   r   r
   rS   r   rm   r   rë   rÜ   s       r2   Ú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r4   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 )Nrw   r|   r}   rt   r   r   r
   rS   r   rm   r   rë   rÜ   s       r2   Ú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r4   N)rG   rH   rI   rÚ   rÝ   rà   rä   rç   ré   rì   rî   rð   rò   rK   r4   r2   rÕ   rÕ   À  s²   € € € € € ð$ð $ð $ðð ð ðð ð ð-ð -ð -ðð ð ð-ð -ð -ð-ð -ð -ðð ð ðCð Cð CðCð Cð Cð Cð Cr4   rÕ   c           	      ój  ‡ ‡— ‰                       g d¢g d¢g d¢g d¢g d¢g d¢g¦  «        Št          j        ‰d¬¦  «        }g d¢}t          |                     ¦   «         ¦  «        |k    sJ ‚ˆˆ fd	„|D ¦   «         }t          j        ‰d¬¦  «        }|                     ¦   «         |                     ¦   «         k    sJ ‚|                     ¦   «         D ]b}t          ||         ¦  «        t          ||         ¦  «        k    sJ ‚t          ||         ||         ¦  «        D ]\  }}t          ||¦  «         ŒŒcd
S )z Test dictionary keys and entriesrw   r|   r}   rt   r   r   )Úignore_value)r
   r   r   c                 óD   •— i | ]}|‰                      ‰|k    ¦  «        “ŒS rK   )Únonzero)Ú.0Úkr`   r,   s     €€r2   ú
<dictcomp>z(test_value_indices01.<locals>.<dictcomp>%  s+   ø€ Ð:Ð:Ð:¨1ˆa�—’˜D AšIÑ&Ô&Ð:Ð:Ð:r4   N)r)   r$   Úvalue_indicesÚlistÚkeysrW   Úzipr   )r,   ÚviÚ	true_keysÚtrueviÚkeyÚvÚtrue_vr`   s   `      @r2   Útest_value_indices01r    sj  øø€ ð �:Š:Ð)Ð)Ð)Ø)Ð)Ð)Ø)Ð)Ð)Ø)Ð)Ð)Ø)Ð)Ð)Ø)Ð)Ð)ð+ñ ,ô ,€Dõ 
Ô	˜t°!Ð	4Ñ	4Ô	4€BØ�	�	€IÝ�—’‘	”	‰?Œ?˜iÒ'Ð'Ð'Ð'à:Ð:Ð:Ð:Ð:°	Ð:Ñ:Ô:€Få	Ô	˜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Ñ&Ô&Ð&Ð&ð	'ð'ð 'r4   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)rm   r   rŠ   z(Parameter 'arr' must be an integer array)ÚmatchN)re   Úfloat32r¤   r¥   r$   rú   )r,   r`   Úmsgs      r2   Útest_value_indices02r	  /  s¨   € ð �8Š8�F "¤*ˆ8Ñ-Ô-€DØ
4€CÝ	•z¨Ð	-Ñ	-Ô	-ð $ð $ÝÔ˜dÑ#Ô#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð $ð $s   µAÁAÁAc                 ó|  — dD �]7}t          j        ddgz  ddgz  z   ddgz  z   t           j        ¬¦  «        }t          j        ||¦  «        }t          j        |¦  «        }|                      |¦  «        }t          j        |¦  «        }t          |                     ¦   «         ¦  «        t          |¦  «        k    sJ ‚d„ |D ¦   «         D ]o}|  	                    ||k    ¦  «        }t          ||         ¦  «        t          |¦  «        k    sJ ‚t          ||         |¦  «        D ]\  }}t          ||¦  «         ŒŒp�Œ9dS )	z2Test different input array shapes, from 1-D to 4-D))rÑ   )é   r   )rS   rS   r   )rS   rS   r   r   é   r
   r   rS   rŠ   c                 ó,   — g | ]}t          |¦  «        ‘ŒS rK   )Úint)r÷   r-   s     r2   ú
<listcomp>z(test_value_indices03.<locals>.<listcomp>C  s   € Ð+Ð+Ð+˜Q•#�a‘&”&Ð+Ð+Ð+r4   N)r!   r)   r×   r#   Úuniquer$   rú   rû   rü   rö   rW   rý   r   )	r,   rœ   rÌ   ÚtrueKeysrþ   rø   ÚtrueNdxÚvikÚtrue_viks	            r2   Útest_value_indices03r  8  sA  € ð ;ð /ñ /ˆÝŒJ˜˜A˜3™˜r 1 #™v™ b¨!¨¡fÑ,µR´XÐ>Ñ>Ô>ˆÝŒJ�q˜%Ñ Ô ˆå”9˜Q‘<”<ˆØ�JŠJ�q‰MŒMˆÝÔ" 1Ñ%Ô%ˆÝ�B—G’G‘I”I‰Œ¥$ x¡.¤.Ò0Ð0Ð0Ð0Ø+Ð+ (Ð+Ñ+Ô+ð 	/ð 	/ˆAØ—j’j  a¢Ñ(Ô(ˆGÝ�r˜!”u‘:”:¥ W¡¤Ò-Ð-Ð-Ð-Ý!$ R¨¤U¨GÑ!4Ô!4ð /ð /‘��XÝ  XÑ.Ô.Ð.Ð.ð/ñ	/ð/ð /r4   c                 ó    — t           D ]E}t          | |¦  «        }|                      g |¬¦  «        }t          j        |¦  «        }|dk    sJ ‚ŒFd S )NrŠ   r   )r   rŒ   r)   r$   Úsum©r,   rŽ   r   Úinputr“   s        r2   Ú
test_sum01r  J  s]   € åð ð ˆÝ˜˜DÑ!Ô!ˆØ—
’
˜2 U�
Ñ+Ô+ˆÝ”˜UÑ#Ô#ˆØ˜Š{ˆ{ˆ{ˆ{ˆ{ð	ð r4   c                 ó¤   — t           D ]G}t          | |¦  «        }|                      ddg|¬¦  «        }t          j        |¦  «        }|dk    sJ ‚ŒHd S )Nr   r   rŠ   )r   rŒ   re   r$   r  r  s        r2   Ú
test_sum02r  S  sa   € åð ð ˆÝ˜˜DÑ!Ô!ˆØ—’˜!˜Q˜ u�Ñ-Ô-ˆÝ”˜UÑ#Ô#ˆØ˜Š{ˆ{ˆ{ˆ{ˆ{ð	ð r4   c                 óÚ   — t           D ]b}t          | |¦  «        }|                      g |¬¦  «        }t          j        |¦  «        }t          ||                      d¦  «        d¬¦  «         Œcd S )NrŠ   r   F©Úcheck_0d)r   rŒ   r]   r$   r  r   r)   r  s        r2   Ú
test_sum03r   \  st   € åð Eð EˆÝ˜˜DÑ!Ô!ˆØ—’˜ %�Ñ(Ô(ˆÝ”˜UÑ#Ô#ˆÝ˜F B§J¢J¨s¡O¤O¸eÐDÑDÔDÐDÐDð	Eð Er4   c                 óÞ   — t           D ]d}t          | |¦  «        }|                      ddg|¬¦  «        }t          j        |¦  «        }t          ||                      d¦  «        d¬¦  «         Œed S )Nr
   r   rŠ   ç      @Fr  ©r   rŒ   r)   r$   r  r   r  s        r2   Ú
test_sum04r$  e  sx   € åð Eð EˆÝ˜˜DÑ!Ô!ˆØ—
’
˜A˜q˜6¨�
Ñ/Ô/ˆÝ”˜UÑ#Ô#ˆÝ˜F B§J¢J¨s¡O¤O¸eÐDÑDÔDÐDÐDð	Eð Er4   c                 óæ   — t           D ]h}t          | |¦  «        }|                      ddgddgg|¬¦  «        }t          j        |¦  «        }t          ||                      d¦  «        d¬¦  «         Œid S )	Nr
   r   rS   r   rŠ   g      $@Fr  r#  r  s        r2   Ú
test_sum05r&  n  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r4   c                 ó  — t          j        g t          ¬¦  «        }|                      |¦  «        }t          D ]G}t	          | |¦  «        }|                      g |¬¦  «        }t          j        ||¬¦  «        }|dk    sJ ‚ŒHd S )NrŠ   ©r   r   ©r!   r)   Úboolr   rŒ   r$   r  ©r,   r   rŽ   r   r  r“   s         r2   Ú
test_sum06r,  w  s‡   € åŒZ˜¥$Ð'Ñ'Ô'€FØ�ZŠZ˜ÑÔ€FÝð ð ˆÝ˜˜DÑ!Ô!ˆØ—
’
˜2 U�
Ñ+Ô+ˆÝ”˜U¨6Ð2Ñ2Ô2ˆØ˜Š{ˆ{ˆ{ˆ{ˆ{ð	ð r4   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(  )	r!   r]   r*  r)   r   rŒ   re   r$   r  r+  s         r2   Ú
test_sum07r.  ‚  s�   € åŒW�a˜�V¥4Ð(Ñ(Ô(€FØ�ZŠZ˜ÑÔ€FÝð ð ˆÝ˜˜DÑ!Ô!ˆØ—’˜!˜Q˜ u�Ñ-Ô-ˆÝ”˜U¨6Ð2Ñ2Ô2ˆØ˜Š{ˆ{ˆ{ˆ{ˆ{ð	ð r4   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   r(  r)  r+  s         r2   Ú
test_sum08r0  �  s�   € åŒZ˜˜A˜¥dÐ+Ñ+Ô+€FØ�ZŠZ˜ÑÔ€FÝð ð ˆÝ˜˜DÑ!Ô!ˆØ—
’
˜A˜q˜6¨�
Ñ/Ô/ˆÝ”˜U¨6Ð2Ñ2Ô2ˆØ˜Š{ˆ{ˆ{ˆ{ˆ{ð	ð r4   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   rS   r   r(  ç      @Fr  )r!   r)   r*  r   rŒ   r$   r  r   r+  s         r2   Ú
test_sum09r3  ˜  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r4   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   rS   r   r(  ç       @Fr  )r!   r)   r*  r$   r  r   ©r,   r   r  r“   s       r2   Ú
test_sum10r8  £  s–   € åŒZ˜˜A˜¥dÐ+Ñ+Ô+€FÝŒJ˜˜A˜  A Ð'­tÐ4Ñ4Ô4€Eà�ZŠZ˜ÑÔ€FØ�JŠJ�uÑÔ€EÝŒ[˜ vÐ.Ñ.Ô.€FÝ˜ §
¢
¨3¡¤¸%Ð@Ñ@Ô@Ð@Ð@Ð@r4   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Š   rS   r   r   ç      @Fr  )r)   Úint8r   rŒ   r$   r  r   r+  s         r2   Ú
test_sum11r<  ®  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r4   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Š   rS   ©r   é   r   r   )r2  rD   g      @)r)   r;  r   rŒ   r$   r  r   r+  s         r2   Ú
test_sum12rA  ¹  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r4   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 r>  )	r)   r;  r   rŒ   r$   r  Ú
sum_labelsÚallr   )r,   r   rŽ   r   r  Ú
output_sumÚoutput_labelss          r2   Útest_sum_labelsrG  Ã  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r4   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 r5  )r!   r)   r*  r   rŒ   r$   Úmeanr   r+  s         r2   Útest_mean01rJ  Ñ  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r4   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   rS   r   r(  r   Fr  )r!   r)   r*  r$   rI  r   r7  s       r2   Útest_mean02rM  Ü  s–   € åŒZ˜˜A˜¥dÐ+Ñ+Ô+€FÝŒJ˜˜A˜  A Ð'­tÐ4Ñ4Ô4€Eà�ZŠZ˜ÑÔ€FØ�JŠJ�uÑÔ€EÝŒ\˜%¨Ð/Ñ/Ô/€FÝ˜ §
¢
¨3¡¤¸%Ð@Ñ@Ô@Ð@Ð@Ð@r4   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   rS   r   rŠ   r   r"  Fr  )r)   r   rŒ   r$   rI  r   r+  s         r2   Útest_mean03rO  ç  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r4   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©rD  rS   r?  r   r   r2  ç      @)	r)   r;  r!   Úerrstater   rŒ   r$   rI  Úisnanr+  s         r2   Útest_mean04rV  ò  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 rL  )r!   r)   r*  r   rŒ   r$   Úminimumr   r+  s         r2   Útest_minimum01rY    ó¯   € åŒ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r4   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   r(  r   Fr  )r!   r)   r*  r$   rX  r   r7  s       r2   Útest_minimum02r]    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¡¤¸%Ð@Ñ@Ô@Ð@Ð@Ð@r4   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   rS   r   rŠ   r   r6  Fr  )r)   r   rŒ   r$   rX  r   r+  s         r2   Útest_minimum03r_    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r4   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   rS   r   rŠ   ©r   rS   r@  r   )r6  r2  rD   )r)   r   rŒ   r$   rX  r   r+  s         r2   Útest_minimum04rb  $  ó¾   € à�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r4   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   rS   r   r(  r"  Fr  )r!   r)   r*  r   rŒ   r$   Úmaximumr   r+  s         r2   Útest_maximum01rf  /  rZ  r4   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 r\  )r!   r)   r*  r$   re  r   r7  s       r2   Útest_maximum02rh  :  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¡¤¸%Ð@Ñ@Ô@Ð@Ð@Ð@r4   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   rS   r   rŠ   r   r2  Fr  )r)   r   rŒ   r$   re  r   r+  s         r2   Útest_maximum03rj  D  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r4   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   rS   r   rŠ   ra  r   )r"  r2  rD   )r)   r   rŒ   r$   re  r   r+  s         r2   Útest_maximum04rl  O  rc  r4   c                 óh   — |                       g d¢¦  «        }t          j        |¦  «        dk    sJ ‚d S )N)éýÿÿÿéþÿÿÿr¨   r¨   )r)   r$   re  )r,   r-   s     r2   Útest_maximum05rp  Z  s:   € ð 	�
Š
�<�<�<Ñ Ô €AÝŒ?˜1ÑÔ Ò#Ð#Ð#Ð#Ð#Ð#r4   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
   ©rm   rS   r   r   ©r   r   r   r©   ©r7   rS   r   r   ©r
   r
   r   r   ©r   r   r   r   ©rS   rS   r   r   )r
   r   rS   r   )rS  r2  r:  )r)   r$   Úmedianr   ©r,   rÌ   r   r“   s       r2   Útest_median01r{  a  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ÐBr4   c                 óº   — |                       g d¢g d¢g d¢g d¢g¦  «        }t          j        |¦  «        }t          ||                       d¦  «        d¬¦  «         d S )Nrr  rs  rt  ru  r   Fr  ©r)   r$   ry  r   ©r,   rÌ   r“   s      r2   Útest_median02r  o  sk   € à
�
Š
�L�L�LØ �L�LØ �L�LØ �L�Lð"ñ 	#ô 	#€Aõ Œ^˜AÑÔ€FÝ˜ §
¢
¨3¡¤¸%Ð@Ñ@Ô@Ð@Ð@Ð@r4   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 )Nrr  rs  rt  ru  rv  rw  rx  r(  r"  Fr  r}  rz  s       r2   Útest_median03r�  y  s¥   € à
�
Š
�L�L�LØ �L�LØ �L�LØ �L�Lð"ñ 	#ô 	#€Að �ZŠZ˜˜˜Ø%˜˜Ø%˜˜Ø%˜˜ð'ñ (ô (€Fõ Œ^˜A fÐ-Ñ-Ô-€FÝ˜ §
¢
¨3¡¤¸%Ð@Ñ@Ô@Ð@Ð@Ð@r4   c                 ó.  — t          j        ddgt          ¬¦  «        }|                      |¦  «        }t          j        ||                      d¦  «        |                      dg¦  «        ¬¦  «        }t          ||                      dg¦  «        ¦  «         d S )Nr
   rŠ   ©r   r   r   )r!   r)   r*  r$   ry  r]   r   r~  s      r2   Útest_median_gh12836_boolr„  ‡  s{   € õ 	Œ
�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Ð8r4   c                 ó  — |                       ddg| j        ¬¦  «        }t          j        ||                      d¦  «        |                       dg¦  «        ¬¦  «        }t          ||                       dg¦  «        ¦  «         d S )NéA   éF   rŠ   rƒ  r
   r   g     àP@)r)   r;  r$   ry  r]   r   r~  s      r2   Útest_median_no_int_overflowrˆ  �  so   € ð 	�
Š
�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Ð9r4   c                 ó¨  — t          j        d¬¦  «        5  t          D ]š}t          | |¦  «        }|                      g |¬¦  «        }t          j        ¦   «         5  t          j        ddt          ¦  «         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 ©NrQ  rR  rŠ   zMean of empty slice)r!   rT  r   rŒ   r)   ÚwarningsÚcatch_warningsÚfilterwarningsÚRuntimeWarningr$   ÚvariancerU  r  s        r2   Útest_variance01r�  ˜  sX  € å	Œ˜Ð	"Ñ	"Ô	"ð $ð $Ýð 	$ð 	$ˆDÝ˜B Ñ%Ô%ˆEØ—J’J˜r¨�JÑ/Ô/ˆEÝÔ(Ñ*Ô*ð 1ð 1ÝÔ'¨Ð2GÍÑXÔXÐXÝ Ô)¨%Ñ0Ô0�ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1ð —8’8˜FÑ#Ô#Ð#Ð#Ð#Ð#ð	$ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð $ð $ó6   –A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Š   rD   Fr  ©r   rŒ   r)   r$   r�  r   r  s        r2   Útest_variance02r•  ¤  sw   € åð Eð EˆÝ˜˜DÑ!Ô!ˆØ—
’
˜A˜3 e�
Ñ,Ô,ˆÝÔ! %Ñ(Ô(ˆÝ˜F B§J¢J¨s¡O¤O¸eÐDÑDÔDÐDÐDð	Eð Er4   c                 óÞ   — t           D ]d}t          | |¦  «        }|                      ddg|¬¦  «        }t          j        |¦  «        }t          ||                      d¦  «        d¬¦  «         Œed S ©Nr
   rS   rŠ   r   Fr  r”  r  s        r2   Útest_variance03r˜  ­  sy   € åð Eð EˆÝ˜˜DÑ!Ô!ˆØ—
’
˜A˜q˜6¨�
Ñ/Ô/ˆÝÔ! %Ñ(Ô(ˆÝ˜F B§J¢J¨s¡O¤O¸eÐDÑDÔDÐDÐDð	Eð Er4   c                 óÜ   — t          j        ddgt          ¬¦  «        }|                      |¦  «        }t          j        |¦  «        }t          ||                      d¦  «        d¬¦  «         d S )Nr
   r   rŠ   g      Ð?Fr  )r!   r)   r*  r$   r�  r   ©r,   r  r“   s      r2   Útest_variance04r›  ¶  sb   € åŒJ˜˜1�v¥TÐ*Ñ*Ô*€EØ�JŠJ�uÑÔ€EÝÔ˜eÑ$Ô$€FÝ˜ §
¢
¨4Ñ 0Ô 0¸5ÐAÑAÔAÐAÐAÐAr4   c                 ó  — |                       g d¢¦  «        }t          D ]f}t          | |¦  «        }|                       g d¢|¬¦  «        }t          j        ||d¦  «        }t          ||                       d¦  «        d¬¦  «         Œgd S ©N)r   r   rS   )r
   rS   r@  rŠ   r   r   Fr  )r)   r   rŒ   r$   r�  r   r+  s         r2   Ú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r4   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   rS   rS   r   rQ  rR  )r
   rS   r@  r£   r@  rŠ   )r   rS   r   )r   r   rD   )r)   r!   rT  r   rŒ   r$   r�  r   r+  s         r2   Ú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          j        ¦   «         5  t          j        ddt          ¦  «         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!   rT  r   rŒ   r)   r‹  rŒ  r�  rŽ  r$   Ústandard_deviationrU  r  s        r2   Útest_standard_deviation01r¥  Ô  sX  € å	Œ˜Ð	"Ñ	"Ô	"ð $ð $Ýð 	$ð 	$ˆDÝ˜B Ñ%Ô%ˆEØ—J’J˜r¨�JÑ/Ô/ˆEÝÔ(Ñ*Ô*ð ;ð ;ÝÔ'¨Ð2GÍÑXÔXÐXÝ Ô3°EÑ:Ô:�ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;ð —8’8˜FÑ#Ô#Ð#Ð#Ð#Ð#ð	$ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð $ð $r‘  c                 óÜ   — t           D ]c}t          | |¦  «        }|                      dg|¬¦  «        }t          j        |¦  «        }t          ||                      d¦  «        d¬¦  «         Œdd S r“  ©r   rŒ   r)   r$   r¤  r   r  s        r2   Ú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r4   c                 óÞ   — t           D ]d}t          | |¦  «        }|                      ddg|¬¦  «        }t          j        |¦  «        }t          ||                      d¦  «        d¬¦  «         Œed S r—  r§  r  s        r2   Ú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r4   c                 óÜ   — t          j        ddgt          ¬¦  «        }|                      |¦  «        }t          j        |¦  «        }t          ||                      d¦  «        d¬¦  «         d S )Nr
   r   rŠ   r<   Fr  )r!   r)   r*  r$   r¤  r   rš  s      r2   Útest_standard_deviation04r¬  ò  s`   € åŒJ˜˜1�v¥TÐ*Ñ*Ô*€EØ�JŠJ�uÑÔ€EÝÔ'¨Ñ.Ô.€FÝ˜ §
¢
¨3¡¤¸%Ð@Ñ@Ô@Ð@Ð@Ð@r4   c                 ó  — |                       g d¢¦  «        }t          D ]f}t          | |¦  «        }|                       g d¢|¬¦  «        }t          j        ||d¦  «        }t          ||                       d¦  «        d¬¦  «         Œgd S r�  )r)   r   rŒ   r$   r¤  r   r+  s         r2   Ú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r4   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   )r)   r!   rT  r   rŒ   r$   r¤  r   r+  s         r2   Ú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
   rQ  rR  Úuint8z8value cannot be converted to type uint8 without overflowgl�§ `y¿rŠ   r   )r)   r!   rT  r   r   ÚpytestÚxfailrŒ   r$   r¤  r   r+  s         r2   Ú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   rS   r   r(  ©r   r   )r!   r)   r*  r   rŒ   r$   Úminimum_positionr+  s         r2   Útest_minimum_position01r¹    sž   € åŒZ˜˜A˜¥dÐ+Ñ+Ô+€FØ�ZŠZ˜ÑÔ€FÝð  ð  ˆÝ˜˜DÑ!Ô!ˆØ—
’
˜Q ˜F Q¨ FÐ+°5�
Ñ9Ô9ˆÝÔ)¨%¸Ð?Ñ?Ô?ˆØ˜ÒÐÐÐÐð	 ð  r4   c                 ó²   — t           D ]N}t          | |¦  «        }|                      g d¢g d¢g d¢g|¬¦  «        }t          j        |¦  «        }|dk    sJ ‚ŒOd S ©N©rm   r   r   rm   ©rS   r©   r   r   ©r
   rm   r
   r
   rŠ   ©r
   r   )r   rŒ   r)   r$   r¸  r  s        r2   Útest_minimum_position02rÀ  *  ó„   € åð  ð  ˆÝ˜˜DÑ!Ô!ˆØ—
’
˜L˜L˜LØ(˜L˜LØ(˜L˜Lð*à16ð ñ 8ô 8ˆõ Ô)¨%Ñ0Ô0ˆØ˜ÒÐÐÐÐð ð  r4   c                 ó°   — t          j        g d¢g d¢g d¢gt          ¬¦  «        }|                      |¦  «        }t          j        |¦  «        }|dk    sJ ‚d S r»  ©r!   r)   r*  r$   r¸  rš  s      r2   Útest_minimum_position03rÄ  5  ón   € åŒJ˜˜˜Ø$˜˜Ø$˜˜ð&å-1ð3ñ 3ô 3€Eð �JŠJ�uÑÔ€EÝÔ% eÑ,Ô,€FØ�VÒÐÐÐÐÐr4   c                 ó°   — t          j        g d¢g d¢g d¢gt          ¬¦  «        }|                      |¦  «        }t          j        |¦  «        }|dk    sJ ‚d S )Nr¼  )rS   r©   r
   r   r¾  rŠ   r·  rÃ  rš  s      r2   Útest_minimum_position04rÇ  ?  rÅ  r4   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
   rm   r   rS   rŠ   )r   r   ©r)   r   rŒ   r$   r¸  r+  s         r2   Útest_minimum_position05rË  I  ó›   € à�ZŠZ˜˜˜Ñ%Ô%€FÝð  ð  ˆÝ˜˜DÑ!Ô!ˆØ—
’
˜L˜L˜LØ(˜L˜LØ(˜L˜Lð*à16ð ñ 8ô 8ˆõ Ô)¨%°Ñ8Ô8ˆØ˜ÒÐÐÐÐð ð  r4   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   rS   r   r¼  r½  r¾  rŠ   r   ©r   r
   rÊ  r+  s         r2   Útest_minimum_position06rÐ  U  ó�   € à�ZŠZ˜˜˜Ñ%Ô%€FÝð  ð  ˆÝ˜˜DÑ!Ô!ˆØ—
’
˜L˜L˜LØ(˜L˜LØ(˜L˜Lð*à16ð ñ 8ô 8ˆõ Ô)¨%°¸Ñ;Ô;ˆØ˜ÒÐÐÐÐð ð  r4   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   rS   r   rÏ  r
   r¿  rÊ  r+  s         r2   Útest_minimum_position07rÓ  a  óË   € à�ZŠZ˜˜˜Ñ%Ô%€FÝð #ð #ˆÝ˜˜DÑ!Ô!ˆØ—
’
˜L˜L˜LØ(˜L˜LØ(˜L˜Lð*à16ð ñ 8ô 8ˆõ Ô)¨%°Ø*,¯*ª*°a¸°VÑ*<Ô*<ñ>ô >ˆà�aŒy˜FÒ"Ð"Ð"Ð"Ø�aŒy˜FÒ"Ð"Ð"Ð"Ð"ð#ð #r4   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   rS   r   r(  ©r
   r   )r!   r)   r*  r   rŒ   r$   Úmaximum_positionr+  s         r2   Útest_maximum_position01rØ  o  s¥   € åŒZ˜˜A˜¥dÐ+Ñ+Ô+€FØ�ZŠZ˜ÑÔ€FÝð  ð  ˆÝ˜˜DÑ!Ô!ˆØ—
’
˜Q ˜F Q¨ FÐ+°5�
Ñ9Ô9ˆÝÔ)¨%Ø17ð9ñ 9ô 9ˆà˜ÒÐÐÐÐð ð  r4   c                 ó²   — t           D ]N}t          | |¦  «        }|                      g d¢g d¢g d¢g|¬¦  «        }t          j        |¦  «        }|dk    sJ ‚ŒOd S )Nr¼  ©rS   r©   r@  r   r¾  rŠ   r¿  )r   rŒ   r)   r$   r×  r  s        r2   Útest_maximum_position02rÛ  {  rÁ  r4   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!   r)   r*  r$   r×  rš  s      r2   Útest_maximum_position03rÝ  †  rÅ  r4   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
   ©r)   r   rŒ   r$   r×  r+  s         r2   Útest_maximum_position04rá  �  rÌ  r4   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à  r+  s         r2   Útest_maximum_position05rã  œ  rÑ  r4   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à  r+  s         r2   Útest_maximum_position06rå  ¨  rÔ  r4   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 )N)r   rS  rD   ç      @r¼  rÚ  r¾  rŠ   r   rç  r   r·  r
   )r   rS   rà  r+  s         r2   Útest_maximum_position07rè  ¶  sÒ   € ð �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Ò"Ð"Ð"Ð"Ð"ð#ð #r4   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   rS   r   r(  )r!   r)   r*  r   rŒ   r$   ÚextremarX  re  r¸  r×  ©
r,   r   rŽ   r   r  Úoutput1Úoutput2Úoutput3Úoutput4Úoutput5s
             r2   Ú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Ð>Ò>Ð>Ð>Ð>Ð>ð
?ð 
?r4   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   rS   r   rŠ   r   )	r)   r   rŒ   r$   rê  rX  re  r¸  r×  rë  s
             r2   Ú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Ð>Ò>Ð>Ð>Ð>Ð>ð?ð ?r4   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   rS   ©Úuint16Úuint32Úuint64ú/https://github.com/pytorch/pytorch/issues/58734r   rŠ   ra  r   r   ©r)   r   r   r³  r´  rŒ   r$   rê  rX  re  r¸  r×  r   rë  s
             r2   Ú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Ò$Ð$Ð$Ð$Ñ$ð/%ð %r4   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   rS   rú  rë  s
             r2   Ú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Ò$Ð$Ð$Ð$Ñ$ð%%ð %r4   c                 ó°   — d}t           D ]K}t          | |¦  «        }|                      ddgddgg|¬¦  «        }t          j        |¦  «        }||k    sJ ‚ŒLd S )N)rD   rD   r
   r   rŠ   ©r   rŒ   r)   r$   Úcenter_of_mass©r,   r�   rŽ   r   r  r“   s         r2   Útest_center_of_mass01r  "  óu   € à€HÝð "ð "ˆÝ˜˜DÑ!Ô!ˆØ—
’
˜Q ˜F Q¨ FÐ+°5�
Ñ9Ô9ˆÝÔ'¨Ñ.Ô.ˆØ˜Ò!Ð!Ð!Ð!Ð!ð	"ð "r4   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         r2   Útest_center_of_mass02r  ,  óu   € à€HÝð "ð "ˆÝ˜˜DÑ!Ô!ˆØ—
’
˜Q ˜F Q¨ FÐ+°5�
Ñ9Ô9ˆÝÔ'¨Ñ.Ô.ˆØ˜Ò!Ð!Ð!Ð!Ð!ð	"ð "r4   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         r2   Útest_center_of_mass03r  6  r  r4   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         r2   Útest_center_of_mass04r
  @  r  r4   c                 ó°   — d}t           D ]K}t          | |¦  «        }|                      ddgddgg|¬¦  «        }t          j        |¦  «        }||k    sJ ‚ŒLd S )N©r<   r<   r
   rŠ   rÿ  r  s         r2   Útest_center_of_mass05r  J  r  r4   c                 ó®   — d}t          j        ddgddggt          ¬¦  «        }|                      |¦  «        }t          j        |¦  «        }||k    sJ ‚d S )Nr  r
   r   rS   rŠ   )r!   r)   r*  r$   r   ©r,   r�   r  r“   s       r2   Útest_center_of_mass06r  T  s`   € à€HÝŒJ˜˜A˜  A Ð'­tÐ4Ñ4Ô4€EØ�JŠJ�uÑÔ€EÝÔ# EÑ*Ô*€FØ�XÒÐÐÐÐÐr4   c                 óÞ   — |                       ddg¦  «        }d}t          j         ddgddggt          ¬¦  «        }|                       |¦  «        }t          j        ||¦  «        }||k    sJ ‚d S )Nr
   r   ©r<   rD   r   rS   rŠ   ©r)   r!   r*  r$   r   ©r,   r   r�   r  r“   s        r2   Ú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ÒÐÐÐÐÐr4   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   ©r<   r   rm   rS   rŠ   r  r  s        r2   Útest_center_of_mass08r  g  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ÒÐÐÐÐÐr4   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   )r)   Úfloat64r!   r*  r$   r   r   r  s        r2   Útest_center_of_mass09r  q  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Ñ(<Ô(<Ñ=Ô=Ð=Ð=Ð=r4   c                 ó¨   — |                       d¦  «        }|                      d¦  «        }t          j        |ddd¦  «        }t	          ||¦  «         d S )Nr£   r   )r]   Úaranger$   Ú	histogramr   r  s       r2   Útest_histogram01r  {  sL   € à�wŠw�r‰{Œ{€HØ�IŠI�b‰MŒM€EÝÔ˜u a¨¨RÑ0Ô0€FÝ˜f hÑ/Ô/Ð/Ð/Ð/r4   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
   rS   r   rS   rS   rS   rS   r   r   rm   r
   ©r)   r$   r  r   r  s        r2   Útest_histogram02r"  ƒ  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Ñ/Ô/Ð/Ð/Ð/r4   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   rS   r   )r
   r
   rS   r   rS   rm   rS   rS   r   r   rm   r¿  r
   r!  )r,   r   Ú	expected1Ú	expected2r  r“   s         r2   Útest_histogram03r&  Œ  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Ð3r4   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)rm   r   r   r   r   )r@  r7   r   r   r   )r   r   r   rS   rm   )r
   r
   r   r   r   )r   r   r   r   r   r
   r   r   rO   r2  rŠ   rS  r   rm   rS   Frª   r7   )r)   r$   rI  r   r  r�  r¤  r   Úsqrtry  rX  re  )	r,   rÌ   ÚlblrI  ÚvarÚstdÚmedÚminÚmaxs	            r2   Útest_stat_funcs_2dr/  ™  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Ñ+Ô+¸Ð?Ñ?Ô?Ð?Ð?Ð?r4   úno watershed_ift on CuPy©r   c                   ó¶   — 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¨   ©r)   r²  r;  r$   Úwatershed_iftr   ©r+   r,   r`   Úmarkersr<  ra   r�   s          r2   Ú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°(Ñ';Ô';Ñ<Ô<Ð<Ð<Ð<r4   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 )
Nr5  r6  r7  rŠ   r8  r9  r=  )r¨   r¨   r
   r
   r
   r¨   r¨   r>  r?  ©r+   r,   r`   rB  ra   r�   s         r2   Ú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°(Ñ';Ô';Ñ<Ô<Ð<Ð<Ð<r4   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 )
Nr5  r6  ©r   r
   r   r
   r   r
   r   rŠ   ©r   r   r   r   rS   r   r   ©r   r   r   r   r   r   r¨   r=  )r¨   r¨   r   r¨   rS   r¨   r¨   ©r¨   r   r   rS   rS   rS   r¨   r?  rE  s         r2   Ú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°(Ñ';Ô';Ñ<Ô<Ð<Ð<Ð<r4   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 )Nr5  r6  rH  rŠ   rI  rJ  r:  r;  r=  rK  r?  rA  s          r2   Ú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°(Ñ';Ô';Ñ<Ô<Ð<Ð<Ð<r4   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 )Nr5  r6  rH  rŠ   )r   r   rS   r   r   r   r   rJ  r:  r;  r=  )r¨   rS   rS   r   r   r   r¨   r?  rA  s          r2   Ú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°(Ñ';Ô';Ñ<Ô<Ð<Ð<Ð<r4   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 )Nr7  r6  r5  rŠ   r8  r9  r:  r;  r>  r=  r?  rA  s          r2   Útest_watershed_ift06z%TestWatershedIft.test_watershed_ift06E  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°(Ñ';Ô';Ñ<Ô<Ð<Ð<Ð<r4   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Š   r7  r6  r5  .r8  r9  r:  )r<  r“   r>  r=  )r!   re   r²  Ú	transposer)   r;  Úint16ÚTr$   r@  r   )r+   r,   rœ   r`   rB  ra   r<  r�   s           r2   Ú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°(Ñ';Ô';Ñ<Ô<Ð<Ð<Ð<r4   r™   r0  r1  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
   )r)   rö  r;  r$   r@  r   rE  s         r2   Ú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°(Ñ';Ô';Ñ<Ô<Ð<Ð<Ð<r4   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ª   )r)   Úiinforö  r.  r;  r$   r@  r   rE  s         r2   Útest_watershed_ift09z%TestWatershedIft.test_watershed_ift09‹  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ÐEr4   N)rG   rH   rI   rC  rF  rL  rN  rP  rR  Úskip_xp_backendsrW  rZ  r]  rK   r4   r2   r3  r3  ²  sþ   € € € € € ð=ð =ð =ð>=ð =ð =ð8=ð =ð =ð2=ð =ð =ð<=ð =ð =ð:=ð =ð =ð2 Ð˜dÐ+KÐLÑLÔLð=ð =ñ MÔLð=ð@ Ð�fÐ%?Ð@Ñ@Ô@ð	=ð 	=ñ AÔ@ð	=ð Ð�fÐ%?Ð@Ñ@Ô@ð	Fð 	Fñ AÔ@ð	Fð 	Fð 	Fr4   r3  )r   Údtc                 ó  — t           j                             d¦  «        }d}|                     d|d¬¦  «                             | ¬¦  «        }t          j        |¦  «        }t          |                     ¦   «         ¦  «        |k    sJ ‚d S )Né{   r@  r   )r£   r  )ÚlowÚhighrÀ   rŠ   )	r!   rÉ   Údefault_rngÚintegersÚastyper$   rú   rW   rü   )r_  r,   ÚrngÚmax_valÚimageÚval_idxs         r2   Útest_gh_19423rk  ˜  s}   € õ Œ)×
Ò
 Ñ
$Ô
$€CØ€GØ�LŠL˜Q W°8ˆLÑ<Ô<×CÒCÈ"ÐCÑMÔM€EÝÔ# EÑ*Ô*€GÝˆw�|Š|‰~Œ~ÑÔ 'Ò)Ð)Ð)Ð)Ð)Ð)r4   )’r­   Úos.pathr‹  Únumpyr!   Úscipy._lib._array_apir   r   r   r   r   r   r³  r	   r¤   Úscipy.ndimager$   Ú r   Úmarkr^  ÚnameÚ__version__r'   r   rM   r^   rc   rf   ri   rk   rn   rr   ru   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.  r0  r3  r8  r<  rA  rG  rI  rJ  rM  rO  rV  rX  rY  r]  r_  rb  re  rf  rh  rj  rl  rp  ry  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  r  r  r  r  r  r"  r&  r/  r@  r3  ÚparametrizeÚintcÚuintcrk  rK   r4   r2   ú<module>rw     s4  ðØ 	€	€	€	Ø €€€Ø €€€à Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð €€€Ø *Ð *Ð *Ð *Ð *Ð *à Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð à”;Ô/Ð à”W ’_Ð=¨¬¸#Ò)=Ð ð Ð˜$Ð'IÐJÑJÔJðO=ð O=ð O=ð O=ð O=ñ O=ô O=ñ KÔJðO=ðd Ð˜$Ð'IÐJÑJÔJð#/ð #/ð #/ð #/ð #/ñ #/ô #/ñ KÔJð#/ðL Ð�7”=Ñ!Ô!ðð ñ "Ô!ðð Ð�7”=Ñ!Ô!ðð ñ "Ô!ðð Ð�7”=Ñ!Ô!ðð ñ "Ô!ðð Ð�7”=Ñ!Ô!ðð ñ "Ô!ðð Ð�7”=Ñ!Ô!ðð ñ "Ô!ðð Ð�7”=Ñ!Ô!ðð ñ "Ô!ðð Ð�7”=Ñ!Ô!ðð ñ "Ô!ðð$ Ð�7”=Ñ!Ô!ðð ñ "Ô!ðð" Ð�7”=Ñ!Ô!ðð ñ "Ô!ðð& Ð�7”=Ñ!Ô!ðð ñ "Ô!ðð Ð�7”=Ñ!Ô!ðð ñ "Ô!ðð* Ð˜$Ð'IÐJÑJÔJØÐ�7”=Ñ!Ô!ðð ñ "Ô!ñ KÔJðð* Ð�7”=Ñ!Ô!ðð ñ "Ô!ðð& Ð�7”=Ñ!Ô!ðð ñ "Ô!ðð$ Ð˜$¨F¨8Ø9ð;ñ ;ô ;àÐ�7”=Ñ!Ô!ðð ñ "Ô!ñ;ô ;ðð Ð˜$¨F¨8Ø9ð;ñ ;ô ;àÐ�7”=Ñ!Ô!ð!ð !ñ "Ô!ñ;ô ;ð!ð Ð˜$Ð'JÐKÑKÔKØÐ�7”=Ñ!Ô!ðFð Fñ "Ô!ñ LÔKðFð Ð�7”=Ñ!Ô!ðð ñ "Ô!ðð. Ð�7”= 'Ô"6Ñ7Ô7ðð ñ 8Ô7ðð$ Ð�7”=Ñ!Ô!ð	5ð 	5ñ "Ô!ð	5ð Ð�7”= 'Ô"6Ñ7Ô7ðTCð TCð TCð TCð TCñ TCô TCñ 8Ô7ðTCðn Ð�7Ô(Ñ)Ô)ð'ð 'ñ *Ô)ð'ð, Ð�7Ô(Ñ)Ô)ð$ð $ñ *Ô)ð$ð Ð�7Ô(Ñ)Ô)ð/ð /ñ *Ô)ð/ð" Ð�7”;ÑÔðð ñ  Ôðð Ð�7”;ÑÔðð ñ  Ôðð Ð�7”;ÑÔðEð Eñ  ÔðEð Ð�7”;ÑÔðEð Eñ  ÔðEð Ð�7”;ÑÔðFð Fñ  ÔðFð Ð�7”;ÑÔðð ñ  Ôðð Ð�7”;ÑÔðð ñ  Ôðð Ð�7”;ÑÔðð ñ  Ôðð Ð�7”;ÑÔðEð Eñ  ÔðEð Ð�7”;ÑÔðAð Añ  ÔðAð Ð�7”;ÑÔðEð Eñ  ÔðEð Ð�7”;ÑÔðGð Gñ  ÔðGð Ð�7”;ÑÔð
Nð 
Nñ  Ôð
Nð Ð�7”<Ñ Ô ðEð Eñ !Ô ðEð Ð�7”<Ñ Ô ðAð Añ !Ô ðAð Ð�7”<Ñ Ô ðEð Eñ !Ô ðEð Ð�7”<Ñ Ô ð'ð 'ñ !Ô ð'ð Ð�7”?Ñ#Ô#ðEð Eñ $Ô#ðEð Ð�7”?Ñ#Ô#ðAð Añ $Ô#ðAð Ð�7”?Ñ#Ô#ðEð Eñ $Ô#ðEð Ð�7”?Ñ#Ô#ðGð Gñ $Ô#ðGð Ð�7”?Ñ#Ô#ðEð Eñ $Ô#ðEð Ð�7”?Ñ#Ô#ðAð Añ $Ô#ðAð Ð�7”?Ñ#Ô#ðEð Eñ $Ô#ðEð Ð�7”?Ñ#Ô#ðGð Gñ $Ô#ðGð Ð�7”?Ñ#Ô#ð$ð $ñ $Ô#ð$ð Ð�7”>Ñ"Ô"ð
Cð 
Cñ #Ô"ð
Cð Ð�7”>Ñ"Ô"ðAð Añ #Ô"ðAð Ð�7”>Ñ"Ô"ð
Að 
Añ #Ô"ð
Að Ð�7”>Ñ"Ô"ð9ð 9ñ #Ô"ð9ð Ð�7”>Ñ"Ô"ð:ð :ñ #Ô"ð:ð Ð�7Ô#Ñ$Ô$ð$ð $ñ %Ô$ð$ð Ð�7Ô#Ñ$Ô$ðEð Eñ %Ô$ðEð Ð�7Ô#Ñ$Ô$ðEð Eñ %Ô$ðEð Ð�7Ô#Ñ$Ô$ðBð Bñ %Ô$ðBð Ð�7Ô#Ñ$Ô$ðEð Eñ %Ô$ðEð Ð�7Ô#Ñ$Ô$ðKð Kñ %Ô$ðKð Ð�7Ô-Ñ.Ô.ð$ð $ñ /Ô.ð$ð Ð�7Ô-Ñ.Ô.ðEð Eñ /Ô.ðEð Ð�7Ô-Ñ.Ô.ðEð Eñ /Ô.ðEð Ð�7Ô-Ñ.Ô.ðAð Añ /Ô.ðAð Ð�7Ô-Ñ.Ô.ðEð Eñ /Ô.ðEð Ð�7Ô-Ñ.Ô.ð	Kð 	Kñ /Ô.ð	Kð Ð�7Ô-Ñ.Ô.ð
?ð 
?ñ /Ô.ð
?ð Ð�7Ô+Ñ,Ô,ð ð  ñ -Ô,ð ð Ð�7Ô+Ñ,Ô,ð ð  ñ -Ô,ð ð Ð�7Ô+Ñ,Ô,ðð ñ -Ô,ðð Ð�7Ô+Ñ,Ô,ðð ñ -Ô,ðð Ð�7Ô+Ñ,Ô,ð ð  ñ -Ô,ð ð Ð�7Ô+Ñ,Ô,ð ð  ñ -Ô,ð ð Ð�7Ô+Ñ,Ô,ð
#ð 
#ñ -Ô,ð
#ð Ð�7Ô+Ñ,Ô,ð ð  ñ -Ô,ð ð Ð�7Ô+Ñ,Ô,ð ð  ñ -Ô,ð ð Ð�7Ô+Ñ,Ô,ðð ñ -Ô,ðð Ð�7Ô+Ñ,Ô,ð ð  ñ -Ô,ð ð Ð�7Ô+Ñ,Ô,ð ð  ñ -Ô,ð ð Ð�7Ô+Ñ,Ô,ð
#ð 
#ñ -Ô,ð
#ð Ð�7Ô+Ñ,Ô,ð#ð #ñ -Ô,ð#ð Ð�7”? G¤O°W´_ØÔ+¨WÔ-EñGô Gð?ð ?ñGô Gð?ð  Ð�7”? G¤O°W´_ØÔ+¨WÔ-EñGô Gð?ð ?ñGô Gð?ð$ Ð�7”? G¤O°W´_ØÔ+¨WÔ-EñGô Gð%ð %ñGô Gð%ð8 Ð�7”? G¤O°W´_ØÔ+¨WÔ-EñGô Gð%ð %ñGô Gð%ð. Ð�7Ô)Ñ*Ô*ð"ð "ñ +Ô*ð"ð Ð�7Ô)Ñ*Ô*ð"ð "ñ +Ô*ð"ð Ð�7Ô)Ñ*Ô*ð"ð "ñ +Ô*ð"ð Ð�7Ô)Ñ*Ô*ð"ð "ñ +Ô*ð"ð Ð�7Ô)Ñ*Ô*ð"ð "ñ +Ô*ð"ð Ð�7Ô)Ñ*Ô*ðð ñ +Ô*ðð Ð�7Ô)Ñ*Ô*ðð ñ +Ô*ðð Ð�7Ô)Ñ*Ô*ðð ñ +Ô*ðð Ð�7Ô)Ñ*Ô*ð>ð >ñ +Ô*ð>ð Ð�7Ô$Ñ%Ô%ð0ð 0ñ &Ô%ð0ð Ð�7Ô$Ñ%Ô%ð0ð 0ñ &Ô%ð0ð Ð˜$ Ð7Ñ7Ô7ØÐ�7Ô$Ñ%Ô%ð	4ð 	4ñ &Ô%ñ 8Ô7ð	4ð Ð�7”< Ô!1°7Ô3MØ”> 7¤?°G´OñEô Eð@ð @ñEô Eð@ð. Ð�&Ð!;Ð<Ñ<Ô<ØÐ�7Ô(Ñ)Ô)ðaFð aFð aFð aFð aFñ aFô aFñ *Ô)ñ =Ô<ðaFðH Ð˜$ÐÑÔØ„×Ò˜ ¤¨¬Ð2Ñ3Ô3ØÐ�7Ô(Ñ)Ô)ð*ð *ñ *Ô)ñ 4Ô3ñ  Ôð*ð *ð *r4   