Ë
    qwjöJ ã                   óD  — d dl mZmZ d dlZd dlZd dlZd dlZd dlZd dl	Z
d dlmZ d dlmZmZmZmZmZmZmZmZ d dlZd dlZd dlmZmZmZmZmZmZmZm Z m!Z! d dlm"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4 d dl5m6Z6m7Z7 d dl8m9Z9  ejt                  e!d	¬
«      d„ «       Z;g d¢Z< e
jz                  g d¢g d¢g d¢g d¢g d¢g d¢gd¬«      Z> ee>«      Z?i Z@d„ ZA eA«        d„ ZBdYd„ZC	 	 	 	 	 dZd„ZDd„ ZEd„ ZFdYd„ZG eed¬«      ZHeHd „ dfd!„ZId"dd#„ d$ddddddddddd%d eHfd&„ZJ eJed'd¬(«      ZK eJed'dd¬)«      ZL eJed'dd'¬*«      ZM eJed'ddd'¬+«      ZN eJe/«      ZO eJe*d¬,«      xZPZQ eJe4«      ZR eJe(«      ZS eJe%«      ZT eJe$«      ZU eJe'«      ZV eJe&«      ZW eJe+«      ZX eJe)d¬-«      ZY eJe3d¬-«      ZZ eJe"«      Z[ eJe#d¬-«      Z\ eJe2«      Z] eJe0«      Z^ G d.„ d/«      Z_ G d0„ d1«      Z` G d2„ d3«      Za G d4„ d5«      Zb G d6„ d7«      Zc G d8„ d9«      Zdd:„ Ze G d;„ d<«      Zfd=„ Zg G d>„ d?«      ZhejÒ                  jÕ                  d@g dA¢«      dB„ «       ZkdC„ ZldD„ ZmdE„ ZndF„ ZodG„ ZpdH„ ZqdI„ ZrdJ„ ZsdK„ ZtdL„ ZudM„ ZvdN„ ZwdO„ ZxdP„ ZydQ„ ZzdR„ Z{dS„ Z|dT„ Z} G dU„ dV«      Z~ G dW„ dX«      Zy)[é    )ÚwrapsÚpartialN)Únorm)ÚverboseÚassert_Úassert_array_equalÚassert_equalÚassert_almost_equalÚassert_allcloseÚbreak_cyclesÚIS_PYPY)	Ú
squareformÚpdistÚcdistÚ	num_obs_yÚ
num_obs_dmÚis_valid_dmÚ
is_valid_yÚ_validate_vectorÚ_METRICS_NAMES)Ú
braycurtisÚcanberraÚ	chebyshevÚ	cityblockÚcorrelationÚcosineÚdiceÚ	euclideanÚhammingÚjaccardÚjensenshannonÚmahalanobisÚ	minkowskiÚrogerstanimotoÚ
russellraoÚ
seuclideanÚsokalsneathÚsqeuclideanÚyule)Únp_longÚnp_ulong)Úskip_xp_invalid_argÚsession)ÚparamsÚscopec                 ó   — | j                   S )z;
    Fixture for all metrics in scipy.spatial.distance
    )Úparam)Úrequests    úf/var/www/html/newmanjeet/manjet/venv/lib/python3.12/site-packages/scipy/spatial/tests/test_distance.pyÚmetricr4   D   s   € ð
 �=‰=Ðó    )zcdist-X1.txtzcdist-X2.txtziris.txtzpdist-boolean-inp.txtzpdist-chebyshev-ml-iris.txtzpdist-chebyshev-ml.txtzpdist-cityblock-ml-iris.txtzpdist-cityblock-ml.txtzpdist-correlation-ml-iris.txtzpdist-correlation-ml.txtzpdist-cosine-ml-iris.txtzpdist-cosine-ml.txtzpdist-double-inp.txtzpdist-euclidean-ml-iris.txtzpdist-euclidean-ml.txtzpdist-hamming-ml.txtzpdist-jaccard-ml.txtzpdist-jensenshannon-ml-iris.txtzpdist-jensenshannon-ml.txtzpdist-minkowski-3.2-ml-iris.txtzpdist-minkowski-3.2-ml.txtzpdist-minkowski-5.8-ml-iris.txtzpdist-seuclidean-ml-iris.txtzpdist-seuclidean-ml.txtzpdist-spearman-ml.txtzrandom-bool-data.txtzrandom-double-data.txtzrandom-int-data.txtzrandom-uint-data.txt)r   é–  ém  éÿ   éœ  éä  )r6   r   é'  éÔ  é  é�  )r7   r;   r   éò  é4  éŠ   )r8   r<   r?   r   éÛ   ée  )r9   r=   r@   rB   r   é�  )r:   r>   rA   rC   rD   r   Údouble©Údtypec                  ó†  — t         D ]�  } | j                  dd«      j                  dd«      }t        j                  j	                  t        j                  j                  t        «      d| «      }t        |«      }t        j                  |«      t        |<   |j                  «        ŒŸ t        j                  t        d   «      t        d<   t        j                  t        d   «      t        d<   t        j                  t        d   «      t        d<   t        t        d	   «      t        d	<   t        t        d
   «      t        d
<   y )Nz.txtÚ z-mlÚdataúpdist-boolean-inpúrandom-bool-dataúrandom-double-dataúrandom-float32-dataúrandom-int-dataúrandom-uint-data)Ú
_filenamesÚreplaceÚosÚpathÚjoinÚdirnameÚ__file__ÚopenÚnpÚloadtxtÚeoÚcloseÚbool_Úfloat32r*   r+   )ÚfnÚnameÚfqfnÚfps       r3   Úload_testing_filesrc   {   së   € ßˆØ�z‰z˜& "Ó%×-Ñ-¨e°RÓ8ˆÜ�w‰w�|‰|œBŸG™GŸO™O¬HÓ5°v¸rÓBˆÜ�$‹ZˆÜ—:‘:˜b“>Œˆ4‰Ø
�‰�
ð ô !Ÿh™h¤rÐ*=Ñ'>Ó?„BÐÑÜŸX™X¤bÐ);Ñ&<Ó=„BÐÑÜ "§
¡
¬2Ð.BÑ+CÓ D„BÐÑÜ#¤BÐ'8Ñ$9Ó:„BÐÑÜ%¤bÐ);Ñ&<Ó=„BÐÒr5   c                  óF   — t        j                  d«      j                  dk  S )Nr   é   )rY   ÚintpÚitemsize© r5   r3   Ú	_is_32bitri   Œ   s   € Ü�7‰7�1‹:×Ñ Ñ"Ð"r5   c                 ó|  ‡ — ‰ D �cg c]  }t        j                  |«      ‘Œ c}Š |€6‰ D �cg c](  }|j                  dk7  rt        j                  |«      n|‘Œ* c}Š d}t	        d„ ‰ D «       «      Š |dk  r:t        ˆ fd„‰ D «       «      st        d«      ‚t        ‰ d   j                  «      |   }‰ |fz   S c c}w c c}w )Né   r   c              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­w©N)rY   Ú
atleast_1d©Ú.0Úas     r3   Ú	<genexpr>z _chk_asarrays.<locals>.<genexpr>—   s   è ø€ Ð4©V¨”2—=‘= ×#©Vùs   ‚!c              3   óV   •K  — | ]   }|j                   ‰d    j                   k(  –— Œ" y­w)r   N)Úndim)rp   rq   Úarrayss     €r3   rr   z _chk_asarrays.<locals>.<genexpr>™   s#   øè ø€ Ð<±V°�1—6‘6˜V A™YŸ^™^Õ+±Vùs   ƒ&)z(array ndim must be the same for neg axis)rY   Ú
asanyarrayrt   ÚravelÚtupleÚallÚ
ValueErrorÚrange)ru   Úaxisrq   s   `  r3   Ú_chk_asarraysr}   �   s¿   ø€ Ù(.Ó/© 1Œb�m‰m˜AÕ¨Ñ/€FØ€|ñ "ó#Ù!�að "#§¡¨1¢”"—(‘(˜1”+°!Ñ3Ø!ñ#ˆàˆÜÑ4©VÓ4Ó4€FØˆa‚xÜÓ<±VÓ<Ô<ÜÐGÓHÐHÜ�V˜A‘Y—^‘^Ó$ TÑ*ˆØ�T�GÑÐùò 0ùò#s
   †B4«-B9FTc
                 ób  ‡‡‡— t        | ‰¬«      }
|
d d |
d   c} Š|xr | }|s|rt        d„ | D «       «      }|r`| D �cg c]*  }t        j                  t        j                  |«      «      ‘Œ, }}t        |«      r d}d}t        d„ t        | |«      D «       «      } ‰�t        j                  ‰«      Šn/|r&t        j                  | d   j                  ‰   «      Šn| ‰‰fz   S |	rt        ‰«      Š|rt        | ‰‰«      Št        ˆˆfd„| D «       «      st        d«      ‚|r‰dk  j                  «       rt        d	«      ‚|rNt        j                  ‰dkD  «      d   Š‰j                  ‰j                  k  rt        ˆˆfd
„| D «       «      } ‰‰   Š|r‰dk(  j                  «       rd Š| ‰‰fz   S c c}w )N©r|   éÿÿÿÿc              3   óŽ   K  — | ]=  }t         j                  j                  |«      t         j                  j                  u–— Œ? y ­wrm   )rY   ÚmaÚgetmaskÚnomaskro   s     r3   rr   z_chk_weights.<locals>.<genexpr>©   s+   è ø€ ÐQÉ&ÀQœBŸE™EŸM™M¨!Ó,´B·E±E·L±LÔ@É&ùs   ‚AATc              3   óh   K  — | ]*  \  }}|rt         j                  j                  |«      n|–— Œ, y ­wrm   )rY   r‚   Úmasked_invalid)rp   rq   Úhas_nans      r3   rr   z_chk_weights.<locals>.<genexpr>°   s3   è ø€ ð DÙ-B™z˜q 'ñ 7>œ2Ÿ5™5×/Ñ/°Ô2À1ÓDÙ-Bùs   ‚02r   c              3   óX   •K  — | ]!  }‰j                   |j                   ‰   fk(  –— Œ# y ­wrm   ©Úshape)rp   rq   r|   Úweightss     €€r3   rr   z_chk_weights.<locals>.<genexpr>À   s&   øè ø€ ÐA¹&°Qˆw�}‰} §¡¨¡Ð 0Õ0¹&ùs   ƒ'*z*weights shape must match arrays along axiszweights cannot be negativec              3   óN   •K  — | ]  }t        j                  |‰‰¬ «      –— Œ y­w)r   N)rY   Útake)rp   rq   r|   Úpos_weightss     €€r3   rr   z_chk_weights.<locals>.<genexpr>È   s"   øè ø€ ÐNÁvÀ!œ2Ÿ7™7 1 k¸×=Ð=Ávùs   ƒ"%rk   )r}   ÚanyrY   ÚisnanÚsumrx   Úziprv   ÚonesrŠ   Ú_freq_weightsÚ_weight_maskedry   rz   ÚnonzeroÚsize)ru   r‹   r|   Úforce_weightsÚsimplify_weightsÚpos_onlyÚ	neg_checkÚ
nan_screenÚmask_screenÚddofÚchkedrq   Úhas_nansrŽ   s    ``          @r3   Ú_chk_weightsr¡   Ÿ   s®  ú€ ô
 ˜& tÔ,€EØ˜˜"�:˜u R™y€L€FˆDà'Ò=°Ð,=ÐÙ™[ÜÑQÉ&ÓQÓQˆáÙ17Ó8±¨A”B—H‘HœRŸV™V A›YÕ'°ˆÐ8ÜˆxŒ=ØˆKØ ˆMÜñ DÜ-0°¸Ô-BóDó DˆFð ÐÜ—-‘- Ó(‰Ù	Ü—'‘'˜& ™)Ÿ/™/¨$Ñ/Ó0‰à˜ $˜Ñ'Ð'áÜ Ó(ˆáÜ  ¨°$Ó7ˆäÔA¹&ÓAÔAÜÐEÓFÐFÙ�g ‘k×&Ñ&Ô(ÜÐ5Ó6Ð6áÜ—j‘j ¨1¡Ó-¨aÑ0ˆØ×Ñ˜gŸl™lÒ*ÜÔNÁvÓNÓNˆFØ˜kÑ*ˆGÙ˜W¨™\×.Ñ.Ô0ØˆØ�W˜d�OÑ#Ð#ùòA 9s   ¿/F,c                 óz   — | €| S | j                  t        «      }| |k7  j                  «       rt        d| › �«      ‚|S )Nz0frequency (integer count-type) weights required )ÚastypeÚintr�   rz   )r‹   Úint_weightss     r3   r”   r”   Ï   sD   € Ø€ØˆØ—.‘.¤Ó%€KØ�;Ñ×#Ñ#Ô%ÜÐKÈGÈ9ÐUÓVÐVØÐr5   c                 ó†  ‡— ‰€dŠt        j                  |«      }| D ]¡  }t         j                  j                  |«      }|t         j                  j                  u rŒ?|j
                  dkD  r9t        ˆfd„t        |j
                  «      D «       «      }|j                  |¬«      }|d|j                  t        «      z
  z  }Œ£ |S )Nr   rk   c              3   ó.   •K  — | ]  }|‰k7  sŒ	|–— Œ y ­wrm   rh   )rp   Úir|   s     €r3   rr   z!_weight_masked.<locals>.<genexpr>á   s   øè ø€ ÐC© 1¸¸d»œQ©ùs   ƒ
Žr   )rY   rv   r‚   rƒ   r„   rt   rx   r{   r�   r£   r¤   )ru   r‹   r|   rq   Ú	axis_maskÚnot_axess     `   r3   r•   r•   Ø   sž   ø€ Ø€|ØˆÜ�m‰m˜GÓ$€GÛˆÜ—E‘E—M‘M !Ó$ˆ	ØœŸ™Ÿ™Ñ$ØØ�6‰6�AŠ:ÜÓC¬¨a¯f©f¬ÓCÓCˆHØ!Ÿ™¨8˜Ó4ˆIØ�1�y×'Ñ'¬Ó,Ñ,Ñ,‰ð ð €Nr5   c                 óò  ‡‡— | D �cg c]Q  }t        j                  |j                  t         j                  «      r|j	                  t         j
                  «      n|‘ŒS } }t        j                  |t         j
                  ¬«      }t         j                  j                  |«      }d„ }| d   j                  ‰   Št        ˆˆfd„| D «       «      sJ d«       ‚t        t        |«      ‰z  «      D ]}  }|j                  ‰|z   «      }	||	   }
|j                  «       }||
z  ||	<   t        j                  |d|z
  |
z  «      }| D �cg c]#  }t        j                  | |||	‰¬«      ‰¬«      ‘Œ% } }Œ | |fS c c}w c c}w )NrF   c                 óî   — t        j                  t        j                  | ||¬«      «      }|j                  t	        | j
                  «      D �cg c]  }||k7  r| j                  |   nd‘Œ c}«      S c c}w )Nr   rk   )rY   rv   r�   Úreshaper{   rt   rŠ   )rq   Úixr|   Úrecordr¨   s        r3   Úmytakez_rand_split.<locals>.mytakeð   si   € Ü—‘œrŸw™w q¨"°4Ô8Ó9ˆØ�~‰~Ü(-¨a¯f©f¬ó7Ù(5 1ð ./°$ªY˜qŸw™w qšz¸AÑ=Ø(5ñ7ó 8ð 	8ùò 7s   ÁA2r   c              3   óB   •K  — | ]  }|j                   ‰   ‰k(  –— Œ y ­wrm   r‰   )rp   rq   r|   Ún_obss     €€r3   rr   z_rand_split.<locals>.<genexpr>ö   s   øè ø€ Ð6©v¨!ˆq�w‰w�t‰} Õ%©vùs   ƒz#data must be aligned on sample axisç      ð?r   )rY   Ú
issubdtyperG   Úintegerr£   Úfloat64ÚarrayÚrandomÚRandomStaterŠ   ry   r{   r¤   ÚrandintÚrandÚappend)ru   r‹   r|   Ú	split_perÚseedÚarrÚseeded_randr°   r¨   Úsplit_ixÚprev_wÚqrq   r²   s     `          @r3   Ú_rand_splitrÄ   ç   sj  ù€ ñ #)ó*Ù"(˜3ô )+¯©°c·i±iÄÇÁÔ(Lˆc�j‰jœŸ™Ô$ØñØ"(ð ð *ô �h‰h�w¤b§j¡jÔ1€GÜ—)‘)×'Ñ'¨Ó-€Kò8ð
 �1‰I�O‰O˜DÑ!€EÜÔ6©vÓ6Ô6ð 1Ø0ó1Ð6ä”3�y“> EÑ)Ö*ˆØ×&Ñ& u¨q¡yÓ1ˆØ˜Ñ"ˆØ×ÑÓˆØ ™Jˆ�ÑÜ—)‘)˜G b¨1¡f°Ñ%6Ó7ˆá06ó8Ù06¨1ô —)‘)˜A™v a¨¸Ô=Ø!%ö'Ø06ð 	ñ 8ð +ð �7ˆ?Ðùò/*ùò*8s   ‡AE/Ä?(E4çñhãˆµøä>©Úatolc                 ó   — | S rm   rh   ©Úxs    r3   Ú<lambda>rË     s   € ¡r5   c                 ó  —  || «      } ||«      }	 t        j                  ||k7  «      j                  «       r
 |||«       y y # t        $ r  |||«       Y y t        t
        f$ r% t        ||«      D ]  \  }}t        |||¬«       Œ Y y w xY w)N)Úcompare_assert)rY   r·   r�   ÚAttributeErrorÚ	TypeErrorrz   r’   Ú_rough_check)	rq   ÚbrÍ   ÚkeyÚwÚcheck_aÚcheck_bÚa_iÚb_is	            r3   rÐ   rÐ     sŒ   € á�!‹f€GÙ�!‹f€GðBÜ�8‰8�G˜wÑ&Ó'×+Ñ+Ô-Ù˜7 GÕ,ð .øäò )Ù�w Ö(Ü”zÐ"ò BÜ˜G WÖ-‰HˆC�Ü˜˜c°.ÖAò .ðBús   ’/A ÁB
Á0B
Â	B
é   c                 ó   — | S rm   rh   rÉ   s    r3   rË   rË     s   € Á1r5   rÓ   r³   c                 ón   ‡ ‡‡‡‡‡‡‡‡‡	‡
‡‡‡‡‡‡— t        ‰ «      ˆˆˆˆ	ˆ ˆˆˆˆˆˆˆˆˆˆ
ˆˆfd„«       }|S )zŒruns fn on its arguments 2 or 3 ways, checks that the results are the same,
       then returns the same thing it would have returned beforec                  óÂ  •—  ‰| i |¤Ž}| d ‰ }| ‰d  }|j                  ‰%d «      }|j                  d‰«      }t        |||dd¬«      }|d d |d   |d   }}}‰$r0|D �cg c]%  }t        j                  |j	                  «       «      ‘Œ' }}	 t        |«      |z   } ‰r||‰%<   t        | ‰| i |¤Ž‰¬«       ‰r9|dz  |‰%<   t        | ‰| i |¤Ž‰¬«       |dz  |‰%<   	 t        | ‰| i |¤Ž‰¬«       ‰�rÍt        |||‰"‰ ¬	«      \  }
}||d |j                   d
||j                  d  t        |
«      |z   }||‰%<   t        | ‰|i |¤Ž‰¬«       |
D ]J  }t        d «      g|j                  z  }t        |j                  d «      ||<   t        |«      }||   dz  ||<   ŒL t        |
«      |z   }t        | ‰|i |¤Ž‰¬«       |
D ]X  }t        d «      g|j                  z  }t        |j                  d «      ||<   t        |«      }||   t        j                  z  ||<   ŒZ |j                  dd «      dk(  r$‰r"t        |
«      |z   }t        | ‰|i |¤Ž‰¬«       ‰ri|
D �cg c]!  }t        j                  j                  |«      ‘Œ# }
}t        |
«      |z   }t        | ‰|i |¤Ž‰¬«       ‰rd |‰%<   t        | ‰|i |¤Ž‰¬«       ~
~~‰rh|D �cg c]  }t        j                   |||¬«      ‘Œ }}t        j                   ||«      dz  }t        |«      |z   }||‰%<   t        | ‰|i |¤Ž‰¬«       ~~~‰#rA‰"d
kD  r<t        |||‰"‰ ¬	«      }|\  }}t        |«      |z   }||‰%<   t        | ‰|i |¤Ž‰¬«       |S c c}w # t        $ r}	 t        |	«      |	||f«      |	‚d }	~	ww xY wc c}w c c}w # t"        $ r3}	‰!s&t%        j&                  ‰j(                  › d|	› �d¬«       Y d }	~	|S d }	~	ww xY w)Nr|   T)r‹   r|   r˜   r�   éþÿÿÿr€   )rÒ   g     @Y@gB`åÐ"Û¹?)r½   r¾   r   ée   Ú
nan_policyÚomitr   ç       @z NotImplemented weights: é   )Ú
stacklevel)Úgetr¡   rY   rn   Úsqueezerx   rÐ   Ú	ExceptionÚtyperÄ   r—   Úslicert   Únanr‚   r†   r¼   ÚNotImplementedErrorÚwarningsÚwarnÚ__name__)&ÚargsÚkwargsÚresultru   Úrestr‹   r|   rŸ   rq   ÚeÚ
dud_arraysÚdud_weightsÚdud_argsÚindexerÚ
dup_arraysÚdup_weightsÚdup_argsÚsplitÚsplit_arraysÚsplit_weightsÚ
split_argsÚ
const_testÚdefault_axisÚdud_testÚdup_testr_   rÒ   Úma_safeÚma_very_safeÚn_argsÚnan_safeÚ	ones_testr¾   Úsilentr½   Ú
split_testrä   Ú
weight_args&                        €€€€€€€€€€€€€€€€€r3   Úwrappedz _weight_checked.<locals>.wrapped  s[  ø€ á�TÐ$˜VÑ$ˆà�g�v�ˆØ�F�Gˆ}ˆØ—*‘*˜Z¨Ó.ˆØ�z‰z˜& ,Ó/ˆä˜V¨W¸4Ø+/¸TôCˆà % c r 
¨E°"©I°u¸R±y˜�ˆÙÙ:@ÓA¹&°Q”b—m‘m A§I¡I£KÕ0¸&ˆFÐAðJ	,ä˜“= 4Ñ'ˆDÙØ%,��zÑ"Ü˜V¡R¨Ð%8°Ñ%8¸cÕBÙØ%,¨u¡_��zÑ"Ü˜V¡R¨Ð%8°Ñ%8¸cÕBØ%,¨u¡_��zÑ"ð?Ü  ©¨TÐ)<°VÑ)<À#ÕFò
 ä*5°f¸gÀtØ@IÐPTô+VÑ'�
˜Kà-4�˜M˜WŸ\™\Ð*Ø-.�˜GŸL™L˜MÐ*Ü  Ó,¨tÑ3�Ø%0��zÑ"Ü˜V¡R¨Ð%<°VÑ%<À#ÕFã#�AÜ$ T›{˜m¨a¯f©fÑ4�GÜ$)¨'¯,©,¸Ó$=�G˜D‘MÜ# G›n�GØ!" 7¡¨cÑ!1�A�g’Jð	 $ô
 ! Ó,¨tÑ3�Ü˜V¡R¨Ð%<°VÑ%<À#ÕFã#�AÜ$ T›{˜m¨a¯f©fÑ4�GÜ$)¨'¯,©,¸Ó$=�G˜D‘MÜ# G›n�GØ!" 7¡¬b¯f©fÑ!4�A�g’Jð	 $ð
 —:‘:˜l¨DÓ1°VÒ;ÁÜ$ ZÓ0°4Ñ7�HÜ  ©¨XÐ)@¸Ñ)@ÀcÕJáÙCMÓ!NÁ:¸a¤"§%¡%×"6Ñ"6°qÕ"9À:�JÐ!NÜ$ ZÓ0°4Ñ7�HÜ  ©¨XÐ)@¸Ñ)@ÀcÕJÙ#Ø-1˜˜zÑ*Ü$ V©R°Ð-D¸VÑ-DÈ#ÕNØ ¨+ñ ÙBHÓIÁ&¸QœbŸi™i¨¨1°4Ö8À&�
ÐIÜ Ÿi™i¨°Ó9¸CÑ?�Ü  Ó,¨tÑ3�Ø%0��zÑ"Ü˜V¡R¨Ð%<°VÑ%<À#ÕFØ˜j¨+ñ ˜i¨!šmÜ# F¨G°TØ.7¸dôD�à.3Ñ+�˜mÜ" <Ó0°4Ñ7�
Ø%2��zÑ"Ü˜V¡R¨Ð%>°vÑ%>ÀCÕHð ˆùò[ Bøô !ò ?Ø!œ$˜q›' 1 f¨gÐ"6Ó7¸QÐ>ûð?üò@ "Oùò Jøô #ò 	,ñ Ü—‘ §¡ Ð-FÀqÀcÐJØ)*õ,ûàˆûð	,ús^   Á*M-Â
AN" ÃM2 Ã.E(N" É&NÉ<AN" ËNË#BN" Í2	NÍ;NÎNÎN" Î"	OÎ+(OÏO)r   )r_   r  rþ   rÒ   r  rä   r  r  rý   r   r  rÿ   r  r  r  r½   r¾   rÍ   r	  s   `````````````````  r3   Ú_weight_checkedr
    s3   ÿÿø€ ô ˆ2ƒY÷Y÷ Yó Yó ðYðt €Nr5   rk   )rþ   rä   )rþ   rä   rý   )rþ   rä   r  )rþ   rä   rý   r  )rÿ   )rý   c                   ó(  — e Zd Zd„ Zd„ Zd„ Zd„ Zej                  j                  ddddd	d
dde
j                  g«      d„ «       Zd„ Zd„ Zd„ Zdd„Zd„ Zd„ Zej                  j'                   ej*                  «       dk(  d¬«      d„ «       Zd„ Zd„ Zy)Ú	TestCdistc                 ó  — g d¢| _         t        t        t        j                  t        j
                  gt        t        j                  t        j
                  gt        j                  t        j
                  gt        j
                  gdœ| _        y ©N)rN   rO   rP   rM   rL   )ÚboolÚuintr¤   r^   ©Úrnd_eo_namesr+   r*   rY   r^   r¶   Úvalid_upcasts©Úselfs    r3   Úsetup_methodzTestCdist.setup_method•  óW   € ò1ˆÔô (0´¼"¿*¹*ÄbÇjÁjÐ&QÜ'.´·
±
¼B¿J¹JÐ&GÜ&(§j¡j´"·*±*Ð%=Ü*,¯*©*¨ñ7ˆÕr5   c                 ó€  — g d¢g d¢g d¢g}g d¢g d¢g d¢g}dt        j                  d«      d	œ}dgd
z  }t        j                  t        «      5  t        ||fd|i|¤Ž d d d «       t        j                  t        «      5  t        ||fdt        |«      i|¤Ž d d d «       t        j                  t        «      5  t        ||fdd|z   i|¤Ž d d d «       t        j                  t        «      5  t        ||g|¢­d|iŽ d d d «       t        j                  t        «      5  t        ||g|¢­dt        |«      iŽ d d d «       t        j                  t        «      5  t        ||g|¢­dd|z   iŽ d d d «       y # 1 sw Y   �ŒxY w# 1 sw Y   ŒíxY w# 1 sw Y   ŒÅxY w# 1 sw Y   ŒŸxY w# 1 sw Y   ŒpxY w# 1 sw Y   y xY w)N©r³   rà   ç      @©ç333333ó?çffffff@ç333333@©çš™™™™™@r  çš™™™™™@©g      @ç      @g       @©g      @ç333333@gÍÌÌÌÌÌ @©g      @r%  r!  ç…ëQ¸	@rá   ©ÚN0tV4l1D_p4raMrÓ   éÈ   r4   Útest_)rY   ÚarangeÚpytestÚraisesrÏ   r   Úeval)r  r4   ÚX1ÚX2rî   rí   s         r3   Útest_cdist_extra_argszTestCdist.test_cdist_extra_argsž  sX  € ò šOª_Ð=ˆÚšOª_Ð=ˆØ$(¬r¯y©y¸«|Ñ<ˆØˆv˜‰|ˆä�]‰]œ9Õ%Ü�"�bÑ2 Ð2¨6Ò2÷ &ä�]‰]œ9Õ%Ü�"�bÑ8¤ f£Ð8°Ò8÷ &ä�]‰]œ9Õ%Ü�"�bÑ< ¨6Ñ!1Ð<°VÒ<÷ &ä�]‰]œ9Õ%Ü�"�bÐ/¨$Ò/ Ò/÷ &ä�]‰]œ9Õ%Ü�"�bÐ5°Ò5¤ f£Ò5÷ &ä�]‰]œ9Õ%Ü�"�bÐ9°DÒ9 ¨6Ñ!1Ò9÷ &Ð%÷ &Ñ%úç%Ð%úç%Ð%úç%Ð%úç%Ð%úç%Ð%úsH   ÁE7Á?FÂ9FÃ-FÄF(ÅF4Å7FÆFÆFÆF%Æ(F1Æ4F=c           	      ó€  — dd„}g d¢g d¢g d¢g}g d¢g d¢g d	¢g}d
t        j                  d«      dœ}d
gdz  }t        j                  t        «      5  t        |||«       d d d «       t        j                  t        «      5  t        |||g|¢­Ž  d d d «       t        j                  t        «      5  t        |||fi |¤Ž d d d «       t        j                  t        «      5  t        |||dd¬«       d d d «       t        j                  t        «      5  t        |||ddd¬«       d d d «       t        j                  t        «      5  t        |||ddd¬«       d d d «       t        j                  t        «      5  t        |||ddd«       d d d «       t        j                  t        «      5  t        |||dd«       d d d «       t        j                  t        «      5  t        |||d«       d d d «       t        j                  t        «      5  t        |||ddd¬«       d d d «       t        t        |||dd¬«      d«       y # 1 sw Y   �ŒãxY w# 1 sw Y   �ŒÀxY w# 1 sw Y   �Œ�xY w# 1 sw Y   �ŒxxY w# 1 sw Y   �ŒRxY w# 1 sw Y   �Œ,xY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒâxY w# 1 sw Y   Œ¾xY w# 1 sw Y   Œ—xY w)Nrk   rØ   c                 ó   — ||z   |z   S rm   rh   ©rÊ   ÚyÚargÚkwargÚkwarg2s        r3   Ú
_my_metricz:TestCdist.test_cdist_extra_args_custom.<locals>._my_metric¶  ó   € Ø˜‘; Ñ'Ð'r5   r  r  r  r"  r$  r&  r'  rá   r(  r*  r   çffffff
@©r8  r9  ©r8  çš™™™™™ñ?©r4   r7  r9  çš™™™™™@©rk   rØ   )rY   r,  r-  r.  rÏ   r   r   )r  r:  r0  r1  rî   rí   s         r3   Útest_cdist_extra_args_customz&TestCdist.test_cdist_extra_args_custom³  só  € ó	(ò šOª_Ð=ˆÚšOª_Ð=ˆØ$(¬r¯y©y¸«|Ñ<ˆØˆv˜‰|ˆä�]‰]œ9Õ%Ü�"�b˜*Ô%÷ &ä�]‰]œ9Õ%Ü�"�b˜*Ð, tÓ,÷ &ä�]‰]œ9Õ%Ü�"�b˜*Ñ/¨Ò/÷ &ä�]‰]œ9Õ%Ü�"�b˜*¨C¸Õ<÷ &ä�]‰]œ9Õ%Ü�"�b˜* a¨°#Õ6÷ &ä�]‰]œ9Õ%Ü�"�b˜* a¨°#Õ6÷ &ä�]‰]œ9Õ%Ü�"�b˜* c¨3°Ô4÷ &ä�]‰]œ9Õ%Ü�"�b˜* c¨3Ô/÷ &ä�]‰]œ9Õ%Ü�"�b˜* cÔ*÷ &ä�]‰]œ9Õ%Ü�"�b˜* c°¸SÕA÷ &ô 	œ˜b "¨ZØ"%¨cô3Ø47õ	9÷- &Ñ%úç%Ñ%úç%Ñ%úç%Ñ%úç%Ñ%úç%Ñ%úç%Ñ%úç%Ð%úç%Ð%úç%Ð%úsx   ÁIÂIÂ1IÃ!I(ÄI5ÅJÅ9JÆ+JÇJ(ÈJ4ÉIÉIÉI%É(I2É5I?ÊJÊJÊJ%Ê(J1Ê4J=c                 óŒ   — d}t         d   }t         d   }t        ||d«      }t        ||d«      }t        |||t        dkD  ¬«       y )NçVçž¯Ò<úcdist-X1úcdist-X2r   Útest_euclideanrØ   ©Úrtolr   ©r[   Úwcdist_no_constr   r   )r  Úepsr0  r1  ÚY1ÚY2s         r3   Ú#test_cdist_euclidean_random_unicodez-TestCdist.test_cdist_euclidean_random_unicode×  sH   € ØˆÜ�
‰^ˆÜ�
‰^ˆÜ˜R  [Ó1ˆÜ˜R Ð%5Ó6ˆÜ˜˜B S´'¸A±+Ö>r5   Úpçš™™™™™¹?ç      Ð?r³   ç®Gáz®ó?rà   gffffff@gffffff@c                 ó–   — d}t         d   }t         d   }t        ||d|¬«      }t        ||d|¬«      }t        ||d|t        dkD  ¬	«       y )
Nç‚vIhÂ%<=rF  rG  r#   ©rQ  Útest_minkowskir   rØ   )rÇ   rJ  r   rK  )r  rQ  rM  r0  r1  rN  rO  s          r3   Útest_cdist_minkowski_randomz%TestCdist.test_cdist_minkowski_randomß  sP   € ð ˆÜ�
‰^ˆÜ�
‰^ˆÜ˜R  [°AÔ6ˆÜ˜R Ð%5¸Ô;ˆÜ˜˜B Q¨S¼'ÀA¹+ÖFr5   c                 óâ   — d}t         d   }t         d   }t        ||d«      }d„ }dt        j                  | ||«      z  | ||«      z  j                  «      z
  }t        |||t        dkD  ¬«       y )	Nç›+¡†›„=rF  rG  r   c                 ód   — t         j                  j                  | d¬«      j                  dd«      S )Nrk   r   r€   )rY   Úlinalgr   r­   )ÚXs    r3   Únormsz1TestCdist.test_cdist_cosine_random.<locals>.normsð  s&   € Ü—9‘9—>‘> !¨!�>Ó,×4Ñ4°R¸Ó;Ð;r5   rk   rØ   rI  )r[   ÚwcdistrY   ÚdotÚTr   r   )r  rM  r0  r1  rN  r_  rO  s          r3   Útest_cdist_cosine_randomz"TestCdist.test_cdist_cosine_randomé  sk   € ØˆÜ�
‰^ˆÜ�
‰^ˆÜ�B˜˜HÓ%ˆò	<ð ”—‘˜™e B›i™¨2±°b³	©>×*<Ñ*<Ó=Ñ=ˆä˜˜B S´'¸A±+Ö>r5   c                 ó„  — t        j                  dgdgg«      }t        j                  dgdgg«      }t        ||d¬«      }t        |dt        j                  d«      gt        j                  d«      t        j                  d«      gg«       t        j                  d	d	gd
d	gg«      }t        j                  d	dgdd	gd	dgg«      }t        ||d¬«      }t        j                  d«      }t        ||||gdd|z  dgg«       t        j                  t        «      5  t        d	dggddggd¬«       d d d «       y # 1 sw Y   y xY w)NrØ   rá   é   r"   ©r4   ç        ç      @ç      à?r   r€   rk   rÜ   )rY   r·   r   r   Úsqrtr-  r.  rz   )r  Úx1Úx2ÚdistÚrt2s        r3   Útest_cdist_mahalanobisz TestCdist.test_cdist_mahalanobis÷  s  € ä�X‰X˜�s˜Q˜C�jÓ!ˆÜ�X‰X˜�s˜Q˜C�jÓ!ˆÜ�R˜ MÔ2ˆÜ˜ ¤R§W¡W¨S£\Ð2´R·W±W¸S³\Ä2Ç7Á7È1Ã:Ð4NÐOÔPô �X‰X˜˜1�v  A˜wÐ'Ó(ˆÜ�X‰X˜˜1�v  1˜v¨¨2 wÐ/Ó0ˆÜ�R˜ MÔ2ˆÜ�g‰g�a‹jˆÜ˜  S¨#˜°°A¸±G¸Q°Ð@ÔAô �]‰]œ:Õ&Ü�A�q�6�(˜a ˜V˜H¨]Õ;÷ '×&Ñ&ús   ÄD6Ä6D?c                 ó²   ‡—  G d„ d«      Šˆfd„}t        j                   ‰«       ggt        ¬«      }t        |||¬«      }d}t	        ||t
        dkD  ¬«       y )	Nc                   ó   — e Zd Zy)ú6TestCdist.test_cdist_custom_notdouble.<locals>.myclassN©rì   Ú
__module__Ú__qualname__rh   r5   r3   Úmyclassrr  
  ó   „ Ør5   rv  c                 óX   •— t        | d   ‰«      rt        |d   ‰«      st        d«      ‚y©Nr   zType has been changedç+‡ÙÎ÷ñ?©Ú
isinstancerz   ©rÊ   r6  rv  s     €r3   r:  z9TestCdist.test_cdist_custom_notdouble.<locals>._my_metric  ó-   ø€ Ü˜a ™d GÔ,´J¸qÀ¹tÀWÔ4MÜ Ð!8Ó9Ð9Ør5   rF   rf  rz  rØ   ©r   )rY   r·   Úobjectr   r	   r   )r  r:  rJ   Úcdist_yÚright_yrv  s        @r3   Útest_cdist_custom_notdoublez%TestCdist.test_cdist_custom_notdouble	  sM   ø€ ÷	ñ 	ô	ô �x‰x™'›)˜˜¬VÔ4ˆÜ˜˜d¨:Ô6ˆØˆÜ�W˜g¬w¸©{Ö;r5   c           	      óä  — 	 t        ||fd|i|¤Ž}t        ||fdt        |«      i|¤Ž}t        ||fdd|z   i|¤Ž}t        |||t        dkD  ¬«       t        |||t        dkD  ¬«       y # t        $ rþ}	|	j
                  }
t        dkD  r t        |
j                  «       t        |	«       t        j                  |
«      5  t        ||fd|i|¤Ž d d d «       n# 1 sw Y   nxY wt        j                  |
«      5  t        ||fdt        |«      i|¤Ž d d d «       n# 1 sw Y   nxY wt        j                  |
«      5  t        ||fdd|z   i|¤Ž d d d «       n# 1 sw Y   nxY wY d }	~	y Y d }	~	y d }	~	ww xY w©Nr4   r+  rØ   rI  )
r   r/  r   r   rå   Ú	__class__Úprintrì   r-  r.  )r  r0  r1  r4   rM  rî   Úy1Úy2Úy3rñ   Úe_clss              r3   Ú_check_calling_conventionsz$TestCdist._check_calling_conventions  sC  € ð	CÜ�r˜2Ñ7 fÐ7°Ñ7ˆBÜ�r˜2Ñ=¤d¨6£lÐ=°fÑ=ˆBÜ�r˜2ÑA g°Ñ&6ÐA¸&ÑAˆBô ˜B ¨´gÀ±kÕBÜ˜B ¨´gÀ±kÖBøô ò 
	AØ—K‘KˆEÜ˜Š{Ü�e—n‘nÔ%Ü�a”Ü—‘˜uÕ%Ü�b˜"Ñ6 VÐ6¨vÒ6÷ &×%Ñ%úä—‘˜uÕ%Ü�b˜"Ñ<¤T¨&£\Ð<°VÒ<÷ &×%Ñ%úä—‘˜uÕ%Ü�b˜"Ñ@ W¨vÑ%5Ð@¸Ò@÷ &×%Ñ%ú×%Ñ%ûð
	Aús`   ‚9A( Á(	E/Á1A
E*Â;CÃ	E*ÃC	ÃE*Ã5DÄ	E*ÄD 	ÄE*Ä8EÅ	E*ÅE	ÅE*Å*E/c                 ó(  — | j                   D �]‚  }t        |   d d d…d d d…f   }t        |   dd d…d d d…f   }t        dkD  rt        d|d|«       |dv rd|vrŒL| j	                  |||«       |d	k(  rbt        j                  ||g«      j                  t
        j                  «      }t        j                  |d
d¬«      }| j	                  ||||¬«       ŒÆ|dk(  sŒÌt        j                  ||g«      j                  t
        j                  «      }t        j                  t        j                  |j                  «      «      }t        j                  t
        j                  j                  |«      j                  «      }| j	                  ||||¬«       �Œ… y )Nre  rÜ   rk   rØ   ú	testing: ú with: >   r   r)   r%   r'   r$   r  r&   r   ©r|   rž   ©ÚVr"   ©ÚVI)r  r[   r   r‡  rŒ  rY   Úvstackr£   r¶   ÚvarÚ
atleast_2dÚcovrb  r·   r]  Úinv)r  r4   Úeo_namer0  r1  ÚX12r’  r”  s           r3   Útest_cdist_calling_conventionsz(TestCdist.test_cdist_calling_conventions+  sZ  € ð ×(Õ(ˆGô �G‘™S˜q˜S¡$ B $˜YÑ'ˆBÜ�G‘˜Q˜T ˜T¡3 Q 3˜YÑ'ˆBÜ˜Š{Ü�k 6¨9°gÔ>Øð *ñ *à 'Ñ)àØ×+Ñ+¨B°°FÔ;ð ˜Ò%Ü—i‘i  R Ó)×0Ñ0´·±Ó<�Ü—F‘F˜3 Q¨QÔ/�Ø×/Ñ/°°B¸À!Ð/ÕDØ˜=Ó(Ü—i‘i  R Ó)×0Ñ0´·±Ó<�Ü—M‘M¤"§&¡&¨¯©£-Ó0�Ü—X‘XœbŸi™iŸm™m¨AÓ.×0Ñ0Ó1�Ø×/Ñ/°°B¸À2Ð/ÖFñ/ )r5   c           	      óà  — d}t         d   | j                  d   ft         d   | j                  d   ft         d   | j                  d   ft         d   | j                  d	   fg}|D ]k  }|d
   d d d…d d d…f   }|d
   dd d…d d d…f   }	 t        |||¬«      }|d   D ]2  }t         ||«       ||«      |¬«      }	t        ||	|t        dkD  ¬«       Œ4 Œm y # t
        $ r’}
|
j                  }t        dkD  r t        |j                  «       t        |
«       |d   D ]J  } ||«      } ||«      }t        j                  |«      5  t        |||¬«       d d d «       Œ@# 1 sw Y   ŒIxY w Y d }
~
�Œd }
~
ww xY w)NçH¯¼šò×z>rL   r  rP   r  rO   r¤   rN   r^   r   re  rÜ   rk   rØ   rf  rI  )r[   r  r   r   r   rå   r†  r‡  rì   r-  r.  )r  r4   rM  ÚtestsÚtestr0  r1  rˆ  Únew_typer‰  rñ   r‹  ÚX1newÚX2news                 r3   Útest_cdist_dtype_equivalencez&TestCdist.test_cdist_dtype_equivalenceH  sz  € àˆÜÐ'Ñ(¨$×*<Ñ*<¸VÑ*DÐEÜÐ'Ñ(¨$×*<Ñ*<¸VÑ*DÐEÜÐ&Ñ'¨×);Ñ);¸EÑ)BÐCÜÐ*Ñ+¨T×-?Ñ-?À	Ñ-JÐKðMˆó ˆDØ�a‘™˜1˜™d ˜d˜Ñ#ˆBØ�a‘˜˜˜A˜™s ˜s˜Ñ#ˆBðKÜ˜2˜r¨&Ô1�ð !% Q¤�HÜ™x¨›|©X°b«\À&ÔI�BÜ# B¨°¼gÈ¹kÖJñ !(ñ! øô
 ò 	;ØŸ™�Ü˜Q’;Ü˜%Ÿ.™.Ô)Ü˜!”HØ $ Q¤�HÙ$ R›L�EÙ$ R›L�EÜŸ™ uÕ-Ü˜e U°6Õ:÷ .×-Ñ-úö !(ûð	;ús1   ÂCÃ	E-ÃA"E(Ä=E	Å	E(ÅEÅE(Å(E-z	win-arm64znumpy#29442)Úreasonc                 óº  — d}t         d   }t         d   }|j                  d   |j                  d   }}t        «       }|dk(  rd|d<   t        j                  ||ft        j
                  ¬«      }t        |||fi |¤Ž}	t        |||fd	|i|¤Ž}
t        |	|
|t        d
kD  ¬«       t        |
|u «       t        j                  |dz
  |dz   ft        j
                  ¬«      }t        j                  t        «      5  t        |||fd	|i|¤Ž d d d «       t        j                  d
|z  d
|z  ft        j
                  ¬«      d d d
…d d d
…f   }t        j                  ||ft        j
                  d¬«      }t        j                  t        «      5  t        |||fd	|i|¤Ž d d d «       t        j                  t        «      5  t        |||fd	|i|¤Ž d d d «       t        j                  ||ft        j                  ¬«      }t        j                  t        «      5  t        |||fd	|i|¤Ž d d d «       y # 1 sw Y   �Œ(xY w# 1 sw Y   Œ¢xY w# 1 sw Y   Œ|xY w# 1 sw Y   y xY w)NrE  rF  rG  r   r#   rT  rQ  rF   ÚoutrØ   rI  rk   ÚF)rG   Úorder)r[   rŠ   ÚdictrY   Úemptyr¶   r   r   r   r   r-  r.  rz   Úint64)r  r4   rM  r0  r1  Úout_rÚout_crî   Úout1rN  rO  Úout2Úout3Úout4Úout5s                  r3   Útest_cdist_outzTestCdist.test_cdist_outc  s  € ð ˆÜ�
‰^ˆÜ�
‰^ˆØ—x‘x ‘{ B§H¡H¨Q¡Kˆuˆä“ˆØ�[Ò ØˆF�3‰KÜ�x‰x˜ ˜¬b¯j©jÔ9ˆÜ�2�r˜6Ñ, VÑ,ˆÜ�2�r˜6Ñ6 tÐ6¨vÑ6ˆô 	˜˜B S´'¸A±+Õ>ô 	��d�
Ôô �x‰x˜˜q™ %¨¡'Ð*´"·*±*Ô=ˆÜ�]‰]œ:Õ&Ü�"�b˜&Ñ5 dÐ5¨fÒ5÷ 'ô �x‰xØ�‰Y˜˜E™	Ð"¬"¯*©*ô6Ù69¸°c¹3¸Q¸3°hñ@ˆä�x‰x˜ ˜¬b¯j©jÀÔDˆÜ�]‰]œ:Õ&Ü�"�b˜&Ñ5 dÐ5¨fÒ5÷ 'ä�]‰]œ:Õ&Ü�"�b˜&Ñ5 dÐ5¨fÒ5÷ 'ô �x‰x˜ ˜¬b¯h©hÔ7ˆÜ�]‰]œ:Õ&Ü�"�b˜&Ñ5 dÐ5¨fÒ5÷ 'Ð&÷ 'Ñ&ú÷ 'Ð&úç&Ð&ú÷
 'Ð&ús0   Ã5H,ÆH9Æ9IÈIÈ,H6È9IÉIÉIc                 óP  — d}t         d   d d d…d d d…f   }t         d   d d d…d d d…f   }|j                  «       }|j                  «       }t        ||«       t        ||«       t        |j                  j
                   «       t        |j                  j
                   «       t        |j                  j
                  «       t        |j                  j
                  «       t        «       }|dk(  rd|d<   t        |||fi |¤Ž}t        |||fi |¤Ž}	t        ||	|t        dkD  ¬«       y )	NrE  rF  rØ   rG  r#   rT  rQ  rI  )
r[   Úcopyr	   r   ÚflagsÚc_contiguousrª  r   r   r   )
r  r4   rM  r0  r1  ÚX1_copyÚX2_copyrî   rN  rO  s
             r3   Útest_stridingzTestCdist.test_striding‹  s  € ð ˆÜ�
‰^™C˜a˜C¡ 1 ˜HÑ%ˆÜ�
‰^™C˜a˜C¡ 1 ˜HÑ%ˆØ—'‘'“)ˆØ—'‘'“)ˆô 	�R˜Ô!Ü�R˜Ô!ä�B—H‘H×)Ñ)Ð)Ô*Ü�B—H‘H×)Ñ)Ð)Ô*Ü�—‘×*Ñ*Ô+Ü�—‘×*Ñ*Ô+ä“ˆØ�[Ò ØˆF�3‰KÜ�2�r˜6Ñ, VÑ,ˆÜ�7˜G VÑ6¨vÑ6ˆä˜˜B S´'¸A±+Ö>r5   c                 ól  — t         j                  j                  dd«      }t         j                  j                  dd«      }t        «       }|dk(  rd|d<   t	        ||fd|i|¤Ž}|||fD �cg c]  }t        j                  |«      ‘Œ }}~~~t        r
t        «        t        d„ |D «       «      sJ ‚y c c}w )Né
   r#   rT  rQ  r4   c              3   ó.   K  — | ]  } |«       d u –— Œ y ­wrm   rh   )rp   Úweak_refs     r3   rr   z0TestCdist.test_cdist_refcount.<locals>.<genexpr>¶  s   è ø€ Ð@±i¨(‘8“: Ô%±iùs   ‚)
rY   r¸   r»   rª  r   ÚweakrefÚrefr   r   ry   )r  r4   rk  rl  rî   r§  ÚvÚ	weak_refss           r3   Útest_cdist_refcountzTestCdist.test_cdist_refcount¥  s¤   € Ü�Y‰Y�^‰^˜B Ó#ˆÜ�Y‰Y�^‰^˜B Ó#ˆä“ˆØ�[Ò ØˆF�3‰Kä�B˜Ñ4 6Ð4¨VÑ4ˆð /1°"°c©]Ó;©]¨”W—[‘[ •^¨]ˆ	Ð;Ø��CåÜŒNÜÑ@±iÓ@Ô@Ð@Ñ@ùò <s   Á+B1N©rž  )rì   rt  ru  r  r2  rC  rP  r-  ÚmarkÚparametrizerY   ÚinfrY  rc  ro  rƒ  rŒ  rœ  r¤  ÚskipifÚ	sysconfigÚget_platformr´  r»  rÄ  rh   r5   r3   r  r  “  s¿   „ ò7ò:ò*"9òH?ð ‡[�[×Ñ˜S 3¨¨c°4Ø#&¨¨S°"·&±&ð#:ó ;ñGó;ðGò?ò<ò$<óCò*Gò:Kð6 ‡[�[×ÑÐ.˜	×.Ñ.Ó0°KÑ?ÈÐÓVñ%6ó Wð%6òN?ó4Ar5   r  c            	       ó   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	e
j                  j                  d„ «       Ze
j                  j                  d	„ «       Ze
j                  j                  d
„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze
j                  j                  d„ «       Ze
j                  j                  d„ «       Ze
j                  j                  d„ «       Zd„ Zd„ Zd„ Zd„ Ze
j                  j                  d„ «       Z e
j                  j                  d„ «       Z!e
j                  j                  d„ «       Z"d„ Z#d„ Z$d „ Z%e
j                  j                  d!„ «       Z&e
j                  j                  d"„ «       Z'e
j                  j                  d#„ «       Z(e
j                  jS                  d$d%d&d'd(d)e*jV                  g«      d*„ «       Z,d+„ Z-d,„ Z.d-„ Z/e
j                  j                  d.„ «       Z0e
j                  j                  d/„ «       Z1e
j                  j                  d0„ «       Z2e
j                  j                  d1„ «       Z3e
j                  j                  d2„ «       Z4e
j                  j                  d3„ «       Z5d4„ Z6d5„ Z7d6„ Z8d7„ Z9d8„ Z:d9„ Z;d:„ Z<d;„ Z=d<„ Z>d=„ Z?d>„ Z@d?„ ZAd@„ ZBdA„ ZCdB„ ZDdC„ ZEdD„ ZFdE„ ZGdF„ ZHdG„ ZIdH„ ZJdI„ ZKdJ„ ZLdK„ ZMdL„ ZNe
j                  j                  dM„ «       ZOdN„ ZPeQdO„ «       ZRdVdP„ZSdQ„ ZTdR„ ZUdS„ ZVdT„ ZWyU)WÚ	TestPdistc                 ó  — g d¢| _         t        t        t        j                  t        j
                  gt        t        j                  t        j
                  gt        j                  t        j
                  gt        j
                  gdœ| _        y r  r  r  s    r3   r  zTestPdist.setup_method»  r  r5   c                 ó^  — ddgddgddgg}dt        j                  d«      dœ}dgd	z  }t        j                  t        «      5  t        |fd
|i|¤Ž d d d «       t        j                  t        «      5  t        |fd
t        |«      i|¤Ž d d d «       t        j                  t        «      5  t        |fd
d|z   i|¤Ž d d d «       t        j                  t        «      5  t        |g|¢­d
|iŽ d d d «       t        j                  t        «      5  t        |g|¢­d
t        |«      iŽ d d d «       t        j                  t        «      5  t        |g|¢­d
d|z   iŽ d d d «       y # 1 sw Y   �ŒxY w# 1 sw Y   ŒéxY w# 1 sw Y   ŒÂxY w# 1 sw Y   Œ�xY w# 1 sw Y   ŒoxY w# 1 sw Y   y xY w)Nr³   rà   r  r  r   r'  rØ   r(  r*  r4   r+  )rY   r,  r-  r.  rÏ   r   r/  )r  r4   r0  rî   rí   s        r3   Útest_pdist_extra_argszTestPdist.test_pdist_extra_argsÄ  sJ  € à�2ˆh˜˜c˜
 S¨# JÐ/ˆØ$(¬r¯y©y¸«|Ñ<ˆØˆv˜‰|ˆä�]‰]œ9Õ%Ü�"Ñ.˜VÐ. vÒ.÷ &ä�]‰]œ9Õ%Ü�"Ñ4œT &›\Ð4¨VÒ4÷ &ä�]‰]œ9Õ%Ü�"Ñ8˜W vÑ-Ð8°Ò8÷ &ä�]‰]œ9Õ%Ü�"Ð+ dÒ+˜VÒ+÷ &ä�]‰]œ9Õ%Ü�"Ð1¨DÒ1œT &›\Ò1÷ &ä�]‰]œ9Õ%Ü�"Ð5°Ò5˜W vÑ-Ò5÷ &Ð%÷ &Ñ%úç%Ð%úç%Ð%úç%Ð%úç%Ð%úç%Ð%úsH   ÁE&Á3E3Â,E?ÃFÄFÅ
F#Å&E0Å3E<Å?FÆFÆF Æ#F,c                 óT  — dd„}ddgddgddgg}d	t        j                  d«      d
œ}d	gdz  }t        j                  t        «      5  t        ||«       d d d «       t        j                  t        «      5  t        ||g|¢­Ž  d d d «       t        j                  t        «      5  t        ||fi |¤Ž d d d «       t        j                  t        «      5  t        ||dd¬«       d d d «       t        j                  t        «      5  t        ||ddd¬«       d d d «       t        j                  t        «      5  t        ||ddd¬«       d d d «       t        j                  t        «      5  t        ||ddd«       d d d «       t        j                  t        «      5  t        ||dd«       d d d «       t        j                  t        «      5  t        ||d«       d d d «       t        j                  t        «      5  t        ||ddd¬«       d d d «       t        t        ||dd¬«      d«       y # 1 sw Y   �ŒÙxY w# 1 sw Y   �Œ·xY w# 1 sw Y   �Œ•xY w# 1 sw Y   �ŒqxY w# 1 sw Y   �ŒLxY w# 1 sw Y   �Œ'xY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒßxY w# 1 sw Y   Œ¼xY w# 1 sw Y   Œ–xY w)Nrk   rØ   c                 ó   — ||z   |z   S rm   rh   r5  s        r3   r:  z:TestPdist.test_pdist_extra_args_custom.<locals>._my_metricÚ  r;  r5   r³   rà   r  r  r   r'  r(  r*  r<  r=  r>  r?  r@  rA  rB  )rY   r,  r-  r.  rÏ   r   r   )r  r:  r0  rî   rí   s        r3   Útest_pdist_extra_args_customz&TestPdist.test_pdist_extra_args_custom×  sÝ  € ó	(ð �2ˆh˜˜c˜
 S¨# JÐ/ˆØ$(¬r¯y©y¸«|Ñ<ˆØˆv˜‰|ˆä�]‰]œ9Õ%Ü�"�jÔ!÷ &ä�]‰]œ9Õ%Ü�"�jÐ( 4Ó(÷ &ä�]‰]œ9Õ%Ü�"�jÑ+ FÒ+÷ &ä�]‰]œ9Õ%Ü�"�j¨°CÕ8÷ &ä�]‰]œ9Õ%Ü�"�j ! Q¨cÕ2÷ &ä�]‰]œ9Õ%Ü�"�j ! Q¨cÕ2÷ &ä�]‰]œ9Õ%Ü�"�j # s¨CÔ0÷ &ä�]‰]œ9Õ%Ü�"�j # sÔ+÷ &ä�]‰]œ9Õ%Ü�"�j #Ô&÷ &ä�]‰]œ9Õ%Ü�"�j #¨S¸Õ=÷ &ô 	œ˜b¨Ø"%¨cô3Ø47õ	9÷- &Ñ%úç%Ñ%úç%Ñ%úç%Ñ%úç%Ñ%úç%Ñ%úç%Ñ%úç%Ð%úç%Ð%úç%Ð%úsx   ÁH+Á5H8Â$IÃIÄIÄ6I,Å(I9ÆJÇ	JÇ8JÈ+H5È8IÉIÉIÉI)É,I6É9JÊJÊJÊJ'c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y ©Nrž  úpdist-double-inpúpdist-euclideanr   ©rJ  ©r[   Úwpdist_no_constr   ©r  rM  r^  ÚY_rightÚY_test1s        r3   Útest_pdist_euclidean_randomz%TestPdist.test_pdist_euclidean_randomú  ó5   € ØˆÜÐ!Ñ"ˆÜÐ&Ñ'ˆÜ! ! [Ó1ˆÜ˜ ¨sÖ3r5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y rÕ  rÙ  rÛ  s        r3   Útest_pdist_euclidean_random_uz'TestPdist.test_pdist_euclidean_random_u  rß  r5   c                 ó†   — d}t        j                  t        d   «      }t        d   }t        |d«      }t	        |||¬«       y rÕ  ©rY   r^   r[   rÚ  r   rÛ  s        r3   Ú#test_pdist_euclidean_random_float32z-TestPdist.test_pdist_euclidean_random_float32  s>   € ØˆÜ�J‰J”rÐ,Ñ-Ó.ˆÜÐ&Ñ'ˆÜ! ! [Ó1ˆÜ˜ ¨sÖ3r5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y )Nrž  rÖ  r×  rH  rØ  rÙ  ©r  rM  r^  rÜ  ÚY_test2s        r3   Ú test_pdist_euclidean_random_nonCz*TestPdist.test_pdist_euclidean_random_nonC  s6   € ØˆÜÐ!Ñ"ˆÜÐ&Ñ'ˆÜ! !Ð%5Ó6ˆÜ˜ ¨sÖ3r5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y )Nrž  Úirisúpdist-euclidean-irisr   rØ  rÙ  rÛ  s        r3   Ú test_pdist_euclidean_iris_doublez*TestPdist.test_pdist_euclidean_iris_double  s3   € àˆÜˆv‰JˆÜÐ+Ñ,ˆÜ! ! [Ó1ˆÜ˜ ¨sÖ3r5   c                 ó–   — d}t        j                  t        d   «      }t        d   }t        |d«      }t	        |||t
        dkD  ¬«       y )NrÅ   rê  rë  r   rØ   rI  ©rY   r^   r[   rÚ  r   r   rÛ  s        r3   Ú!test_pdist_euclidean_iris_float32z+TestPdist.test_pdist_euclidean_iris_float32  óB   € àˆÜ�J‰J”r˜&‘zÓ"ˆÜÐ+Ñ,ˆÜ! ! [Ó1ˆÜ˜ ¨s¼GÀa¹KÖHr5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y )Nrž  rê  rë  rH  rØ  rÙ  ræ  s        r3   Útest_pdist_euclidean_iris_nonCz(TestPdist.test_pdist_euclidean_iris_nonC&  s6   € ð ˆÜˆv‰JˆÜÐ+Ñ,ˆÜ! !Ð%5Ó6ˆÜ˜ ¨sÖ3r5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y )Nrž  rÖ  úpdist-seuclideanr&   rØ  ©r[   r   r   rÛ  s        r3   Útest_pdist_seuclidean_randomz&TestPdist.test_pdist_seuclidean_random0  s5   € ØˆÜÐ!Ñ"ˆÜÐ'Ñ(ˆÜ˜˜<Ó(ˆÜ˜ ¨sÖ3r5   c                 óî   — d}t        j                  t        d   «      }t        d   }t        |d«      }t	        |||¬«       t        j
                  |dd¬«      }t        |d|¬	«      }t	        |||¬«       y )
Nrž  rÖ  rô  r&   rØ  r   rk   r�  r‘  )rY   r^   r[   r   r   r–  )r  rM  r^  rÜ  rÝ  r’  rç  s          r3   Ú$test_pdist_seuclidean_random_float32z.TestPdist.test_pdist_seuclidean_random_float327  sl   € ØˆÜ�J‰J”rÐ,Ñ-Ó.ˆÜÐ'Ñ(ˆÜ˜˜<Ó(ˆÜ˜ ¨sÕ3ô �F‰F�1˜1 1Ô%ˆÜ˜˜<¨1Ô-ˆÜ˜ ¨sÖ3r5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y )Nrž  rÖ  rô  Útest_seuclideanrØ  rõ  ræ  s        r3   Ú!test_pdist_seuclidean_random_nonCz+TestPdist.test_pdist_seuclidean_random_nonCC  s6   € àˆÜÐ!Ñ"ˆÜÐ'Ñ(ˆÜ˜Ð,Ó-ˆÜ˜ ¨sÖ3r5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y )Nrž  rê  úpdist-seuclidean-irisr&   rØ  rõ  rÛ  s        r3   Útest_pdist_seuclidean_irisz$TestPdist.test_pdist_seuclidean_irisK  s3   € ØˆÜˆv‰JˆÜÐ,Ñ-ˆÜ˜˜<Ó(ˆÜ˜ ¨sÖ3r5   c                 ó†   — d}t        j                  t        d   «      }t        d   }t        |d«      }t	        |||¬«       y )NrÅ   rê  rý  r&   rØ  )rY   r^   r[   r   r   rÛ  s        r3   Ú"test_pdist_seuclidean_iris_float32z,TestPdist.test_pdist_seuclidean_iris_float32R  s<   € àˆÜ�J‰J”r˜&‘zÓ"ˆÜÐ,Ñ-ˆÜ˜˜<Ó(ˆÜ˜ ¨sÖ3r5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y )Nrž  rê  rý  rú  rØ  rõ  ræ  s        r3   Útest_pdist_seuclidean_iris_nonCz)TestPdist.test_pdist_seuclidean_iris_nonCZ  s6   € ð ˆÜˆv‰JˆÜÐ,Ñ-ˆÜ˜Ð,Ó-ˆÜ˜ ¨sÖ3r5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y ©Nrž  rÖ  úpdist-cosiner   rØ  ©r[   Úwpdistr   rÛ  s        r3   Útest_pdist_cosine_randomz"TestPdist.test_pdist_cosine_randomc  s4   € ØˆÜÐ!Ñ"ˆÜ�^Ñ$ˆÜ˜˜HÓ%ˆÜ˜ ¨sÖ3r5   c                 ó†   — d}t        j                  t        d   «      }t        d   }t        |d«      }t	        |||¬«       y r  ©rY   r^   r[   r  r   rÛ  s        r3   Ú test_pdist_cosine_random_float32z*TestPdist.test_pdist_cosine_random_float32j  s=   € ØˆÜ�J‰J”rÐ,Ñ-Ó.ˆÜ�^Ñ$ˆÜ˜˜HÓ%ˆÜ˜ ¨sÖ3r5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y )Nrž  rÖ  r  Útest_cosinerØ  r  ræ  s        r3   Útest_pdist_cosine_random_nonCz'TestPdist.test_pdist_cosine_random_nonCq  s4   € àˆÜÐ!Ñ"ˆÜ�^Ñ$ˆÜ˜˜MÓ*ˆÜ˜ ¨sÖ3r5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y )NrÅ   rê  úpdist-cosine-irisr   rÆ   r  rÛ  s        r3   Útest_pdist_cosine_irisz TestPdist.test_pdist_cosine_irisy  s3   € àˆÜˆv‰JˆÜÐ(Ñ)ˆÜ˜˜HÓ%ˆÜ˜ ¨sÖ3r5   c                 ó–   — d}t        j                  t        d   «      }t        d   }t        |d«      }t	        |||t
        dkD  ¬«       y )NrÅ   rê  r  r   rØ   ©rÇ   r   )rY   r^   r[   r  r   r   rÛ  s        r3   Útest_pdist_cosine_iris_float32z(TestPdist.test_pdist_cosine_iris_float32�  sB   € àˆÜ�J‰J”r˜&‘zÓ"ˆÜÐ(Ñ)ˆÜ˜˜HÓ%ˆÜ˜ ¨s¼GÀa¹KÖHr5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y )NrÅ   rê  r  r  rÆ   r  ræ  s        r3   Útest_pdist_cosine_iris_nonCz%TestPdist.test_pdist_cosine_iris_nonC‰  s3   € àˆÜˆv‰JˆÜÐ(Ñ)ˆÜ˜˜MÓ*ˆÜ˜ ¨sÖ3r5   c                 óî   — t        j                  t         j                  j                  d«      j	                  d«      «      }t        j
                  ||g«      }t        t        |d«      d   dk\  d¬«       y )Ni9  é[   r   r   z&cosine distance should be non-negative)Úmsg)rY   Úabsr¸   r¹   r»   r•  r   r  )r  rÊ   r^  s      r3   Útest_pdist_cosine_boundsz"TestPdist.test_pdist_cosine_bounds‘  s\   € ô �F‰F”2—9‘9×(Ñ(¨Ó.×3Ñ3°BÓ7Ó8ˆÜ�I‰I�q˜!�fÓˆÜ”�q˜(Ó# AÑ&¨!Ñ+Ø<ö	>r5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y ©Nrž  rÖ  úpdist-cityblockr   rØ  rÙ  rÛ  s        r3   Útest_pdist_cityblock_randomz%TestPdist.test_pdist_cityblock_randomš  s5   € ØˆÜÐ!Ñ"ˆÜÐ&Ñ'ˆÜ! ! [Ó1ˆÜ˜ ¨sÖ3r5   c                 ó†   — d}t        j                  t        d   «      }t        d   }t        |d«      }t	        |||¬«       y r  rã  rÛ  s        r3   Ú#test_pdist_cityblock_random_float32z-TestPdist.test_pdist_cityblock_random_float32¡  s>   € ØˆÜ�J‰J”rÐ,Ñ-Ó.ˆÜÐ&Ñ'ˆÜ! ! [Ó1ˆÜ˜ ¨sÖ3r5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y )Nrž  rÖ  r  Útest_cityblockrØ  rÙ  ræ  s        r3   Ú test_pdist_cityblock_random_nonCz*TestPdist.test_pdist_cityblock_random_nonC¨  s6   € ØˆÜÐ!Ñ"ˆÜÐ&Ñ'ˆÜ! !Ð%5Ó6ˆÜ˜ ¨sÖ3r5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y )Nr[  rê  úpdist-cityblock-irisr   rØ  rÙ  rÛ  s        r3   Útest_pdist_cityblock_irisz#TestPdist.test_pdist_cityblock_iris¯  s3   € àˆÜˆv‰JˆÜÐ+Ñ,ˆÜ! ! [Ó1ˆÜ˜ ¨sÖ3r5   c                 ó–   — d}t        j                  t        d   «      }t        d   }t        |d«      }t	        |||t
        dkD  ¬«       y )NrÅ   rê  r&  r   rØ   rI  rî  rÛ  s        r3   Ú!test_pdist_cityblock_iris_float32z+TestPdist.test_pdist_cityblock_iris_float32·  rð  r5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y )Nr[  rê  r&  r#  rØ  rÙ  ræ  s        r3   Útest_pdist_cityblock_iris_nonCz(TestPdist.test_pdist_cityblock_iris_nonC¿  s6   € ð ˆÜˆv‰JˆÜÐ+Ñ,ˆÜ! !Ð%5Ó6ˆÜ˜ ¨sÖ3r5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y ©Nrž  rÖ  úpdist-correlationr   rØ  r  rÛ  s        r3   Útest_pdist_correlation_randomz'TestPdist.test_pdist_correlation_randomÉ  s5   € ØˆÜÐ!Ñ"ˆÜÐ(Ñ)ˆÜ˜˜MÓ*ˆÜ˜ ¨sÖ3r5   c                 ó†   — d}t        j                  t        d   «      }t        d   }t        |d«      }t	        |||¬«       y r-  r
  rÛ  s        r3   Ú%test_pdist_correlation_random_float32z/TestPdist.test_pdist_correlation_random_float32Ð  s>   € ØˆÜ�J‰J”rÐ,Ñ-Ó.ˆÜÐ(Ñ)ˆÜ˜˜MÓ*ˆÜ˜ ¨sÖ3r5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y )Nrž  rÖ  r.  Útest_correlationrØ  r  ræ  s        r3   Ú"test_pdist_correlation_random_nonCz,TestPdist.test_pdist_correlation_random_nonC×  s6   € ØˆÜÐ!Ñ"ˆÜÐ(Ñ)ˆÜ˜Ð.Ó/ˆÜ˜ ¨sÖ3r5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y )Nrž  rê  úpdist-correlation-irisr   rØ  r  rÛ  s        r3   Útest_pdist_correlation_irisz%TestPdist.test_pdist_correlation_irisÞ  s3   € àˆÜˆv‰JˆÜÐ-Ñ.ˆÜ˜˜MÓ*ˆÜ˜ ¨sÖ3r5   c                 ó–   — d}t         d   }t        j                  t         d   «      }t        |d«      }t	        |||t
        dkD  ¬«       y )Nrž  rê  r6  r   rØ   rI  )r[   rY   r^   r  r   r   rÛ  s        r3   Ú#test_pdist_correlation_iris_float32z-TestPdist.test_pdist_correlation_iris_float32æ  sB   € àˆÜˆv‰JˆÜ—*‘*œRÐ 8Ñ9Ó:ˆÜ˜˜MÓ*ˆÜ˜ ¨s¼GÀa¹KÖHr5   c                 ó²   — t         j                  dkD  rd}nt        j                  d«       t        d   }t        d   }t        |d«      }t        ||¬«       y )Nl        rž  zsee gh-16456rê  r6  r3  rØ  )ÚsysÚmaxsizer-  Úskipr[   r  r   ræ  s        r3   Ú test_pdist_correlation_iris_nonCz*TestPdist.test_pdist_correlation_iris_nonCî  sL   € ä�;‰;˜ÒØ‰Cä�K‰K˜Ô'Üˆv‰JˆÜÐ-Ñ.ˆÜ˜Ð.Ó/ˆÜ˜ ¨sÖ3r5   rQ  rR  rS  r³   rà   çš™™™™™	@c                 óp   — d}t         d   }t        |d|¬«      }t        |d|¬«      }t        ||d|¬«       y )NrV  rÖ  r#   rW  rX  r   )rÇ   rJ  rÙ  )r  rQ  rM  r^  rN  rO  s         r3   Útest_pdist_minkowski_random_pz'TestPdist.test_pdist_minkowski_random_pù  s=   € àˆÜÐ!Ñ"ˆÜ˜Q ¨qÔ1ˆÜ˜QÐ 0°AÔ6ˆÜ˜˜B Q¨SÖ1r5   c                 ód   — d}t         d   }t         d   }t        |dd¬«      }t        |||¬«       y ©Nrž  rÖ  úpdist-minkowski-3.2r#   r?  rW  rØ  rÙ  rÛ  s        r3   Útest_pdist_minkowski_randomz%TestPdist.test_pdist_minkowski_random  s7   € ØˆÜÐ!Ñ"ˆÜÐ*Ñ+ˆÜ! ! [°CÔ8ˆÜ˜ ¨sÖ3r5   c                 óŠ   — d}t        j                  t        d   «      }t        d   }t        |dd¬«      }t	        |||¬«       y rC  rã  rÛ  s        r3   Ú#test_pdist_minkowski_random_float32z-TestPdist.test_pdist_minkowski_random_float32  s@   € ØˆÜ�J‰J”rÐ,Ñ-Ó.ˆÜÐ*Ñ+ˆÜ! ! [°CÔ8ˆÜ˜ ¨sÖ3r5   c                 ód   — d}t         d   }t         d   }t        |dd¬«      }t        |||¬«       y )Nrž  rÖ  rD  rX  r?  rW  rØ  rÙ  ræ  s        r3   Ú test_pdist_minkowski_random_nonCz*TestPdist.test_pdist_minkowski_random_nonC  s8   € ØˆÜÐ!Ñ"ˆÜÐ*Ñ+ˆÜ! !Ð%5¸Ô=ˆÜ˜ ¨sÖ3r5   c                 ód   — d}t         d   }t         d   }t        |dd¬«      }t        |||¬«       y )Nrž  rê  úpdist-minkowski-3.2-irisr#   r?  rW  rØ  rÙ  rÛ  s        r3   Útest_pdist_minkowski_3_2_irisz'TestPdist.test_pdist_minkowski_3_2_iris  ó5   € àˆÜˆv‰JˆÜÐ/Ñ0ˆÜ! ! [°CÔ8ˆÜ˜ ¨sÖ3r5   c                 óŠ   — d}t        j                  t        d   «      }t        d   }t        |dd¬«      }t	        |||¬«       y )NrÅ   rê  rK  r#   r?  rW  rØ  rã  rÛ  s        r3   Ú%test_pdist_minkowski_3_2_iris_float32z/TestPdist.test_pdist_minkowski_3_2_iris_float32  s>   € àˆÜ�J‰J”r˜&‘zÓ"ˆÜÐ/Ñ0ˆÜ! ! [°CÔ8ˆÜ˜ ¨sÖ3r5   c                 ód   — d}t         d   }t         d   }t        |dd¬«      }t        |||¬«       y )Nrž  rê  rK  rX  r?  rW  rØ  rÙ  ræ  s        r3   Ú"test_pdist_minkowski_3_2_iris_nonCz,TestPdist.test_pdist_minkowski_3_2_iris_nonC&  ó6   € àˆÜˆv‰JˆÜÐ/Ñ0ˆÜ! !Ð%5¸Ô=ˆÜ˜ ¨sÖ3r5   c                 ód   — d}t         d   }t         d   }t        |dd¬«      }t        |||¬«       y )Nrž  rê  úpdist-minkowski-5.8-irisr#   r%  rW  rØ  rÙ  rÛ  s        r3   Útest_pdist_minkowski_5_8_irisz'TestPdist.test_pdist_minkowski_5_8_iris.  rM  r5   c                 óš   — d}t        j                  t        d   «      }t        d   }t        |dd¬«      }t	        |||t
        dkD  ¬«       y )	NrÅ   rê  rT  r#   r%  rW  rØ   rI  rî  rÛ  s        r3   Ú%test_pdist_minkowski_5_8_iris_float32z/TestPdist.test_pdist_minkowski_5_8_iris_float326  sD   € àˆÜ�J‰J”r˜&‘zÓ"ˆÜÐ/Ñ0ˆÜ! ! [°CÔ8ˆÜ˜ ¨s¼GÀa¹KÖHr5   c                 ód   — d}t         d   }t         d   }t        |dd¬«      }t        |||¬«       y )Nrž  rê  rT  rX  r%  rW  rØ  rÙ  ræ  s        r3   Ú"test_pdist_minkowski_5_8_iris_nonCz,TestPdist.test_pdist_minkowski_5_8_iris_nonC>  rR  r5   c                 ó”  — t        j                  g d¢«      j                  dd«      }t        |d¬«      }t	        |dt        j
                  d«      t        j
                  d«      t        j
                  d«      t        j
                  d«      t        j
                  d	«      g«       t        j                  d
d
gdd
gd
dgdd
gd
dgg«      }t        |d¬«      }t        j
                  d«      }t	        |||||dd|z  ddd|z  dg
«       t        j                  t        «      5  t        d
dgddggd¬«       d d d «       y # 1 sw Y   y xY w)N)rà   rà   r  r#  r€   rk   r"   rf  rg  ri  rh  rà   r   rØ   rÜ   rá   )
rY   r·   r­   r   r   rj  r-  r.  rz   r  )r  rÊ   rm  rn  s       r3   Útest_pdist_mahalanobisz TestPdist.test_pdist_mahalanobisF  s  € ä�H‰HÒ)Ó*×2Ñ2°2°qÓ9ˆÜ�Q˜}Ô-ˆÜ˜˜s¤B§G¡G¨C£L´"·'±'¸#³,Ü!Ÿw™w s›|¬R¯W©W°S«\¼2¿7¹7À3»<ðIô 	Jô �H‰H�q˜!�f˜r 1˜g¨¨1 v°°1¨v¸¸2°wÐ?Ó@ˆÜ�Q˜}Ô-ˆÜ�g‰g�a‹jˆÜ˜˜s C¨¨c°1°a¸#±g¸qÀ!ÀQÈÁWÈaÐPÔQô �]‰]œ:Õ&Ü�Q˜�F˜Q ˜FÐ#¨MÕ:÷ '×&Ñ&ús   Ä!D>Ä>Ec                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y ©NrE  rK   úpdist-hammingr   rØ  r  rÛ  s        r3   Útest_pdist_hamming_randomz#TestPdist.test_pdist_hamming_randomW  s4   € ØˆÜÐ"Ñ#ˆÜ�_Ñ%ˆÜ˜˜IÓ&ˆÜ˜ ¨sÖ3r5   c                 ó†   — d}t        j                  t        d   «      }t        d   }t        |d«      }t	        |||¬«       y r]  r
  rÛ  s        r3   Ú!test_pdist_hamming_random_float32z+TestPdist.test_pdist_hamming_random_float32^  ó=   € ØˆÜ�J‰J”rÐ-Ñ.Ó/ˆÜ�_Ñ%ˆÜ˜˜IÓ&ˆÜ˜ ¨sÖ3r5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y ©NrE  rK   r^  Útest_hammingrØ  r  ræ  s        r3   Útest_pdist_hamming_random_nonCz(TestPdist.test_pdist_hamming_random_nonCe  s4   € ØˆÜÐ"Ñ#ˆÜ�_Ñ%ˆÜ˜˜NÓ+ˆÜ˜ ¨sÖ3r5   c                 ó†   — d}t        j                  t        d   «      }t        d   }t        |d«      }t	        |||¬«       y r]  ©rY   r¶   r[   r  r   rÛ  s        r3   Útest_pdist_dhamming_randomz$TestPdist.test_pdist_dhamming_randoml  rb  r5   c                 ó†   — d}t        j                  t        d   «      }t        d   }t        |d«      }t	        |||¬«       y r]  r
  rÛ  s        r3   Ú"test_pdist_dhamming_random_float32z,TestPdist.test_pdist_dhamming_random_float32s  rb  r5   c                 ó†   — d}t        j                  t        d   «      }t        d   }t        |d«      }t	        |||¬«       y rd  rh  ræ  s        r3   Útest_pdist_dhamming_random_nonCz)TestPdist.test_pdist_dhamming_random_nonCz  s=   € ØˆÜ�J‰J”rÐ-Ñ.Ó/ˆÜ�_Ñ%ˆÜ˜˜NÓ+ˆÜ˜ ¨sÖ3r5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y )Nç•dyáý¥=rÖ  úpdist-jensenshannonr!   rØ  rõ  rÛ  s        r3   Útest_pdist_jensenshannon_randomz)TestPdist.test_pdist_jensenshannon_random�  s5   € ØˆÜÐ!Ñ"ˆÜÐ*Ñ+ˆÜ˜˜?Ó+ˆÜ˜ ¨sÖ3r5   c                 ó–   — d}t        j                  t        d   «      }t        d   }t        |d«      }t	        |||t
        dkD  ¬«       y )Nç:Œ0âŽyE>rÖ  rp  r!   rØ   rI  ©rY   r^   r[   r   r   r   rÛ  s        r3   Ú'test_pdist_jensenshannon_random_float32z1TestPdist.test_pdist_jensenshannon_random_float32ˆ  sD   € ØˆÜ�J‰J”rÐ,Ñ-Ó.ˆÜÐ*Ñ+ˆÜ˜˜?Ó+ˆÜ˜ ¨s¼GÀa¹KÖHr5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y )Nro  rÖ  rp  Útest_jensenshannonrØ  rõ  ræ  s        r3   Ú$test_pdist_jensenshannon_random_nonCz.TestPdist.test_pdist_jensenshannon_random_nonC�  s6   € ØˆÜÐ!Ñ"ˆÜÐ*Ñ+ˆÜ˜Ð/Ó0ˆÜ˜ ¨sÖ3r5   c                 óz   — t        «       rd}nd}t        d   }t        d   }t        |d«      }t        |||¬«       y )Ng•Ö&è.ñ=gê-�™—q=rê  úpdist-jensenshannon-irisr!   rÆ   )ri   r[   r   r   rÛ  s        r3   Útest_pdist_jensenshannon_irisz'TestPdist.test_pdist_jensenshannon_iris–  s=   € ÜŒ;à‰CàˆCäˆv‰JˆÜÐ/Ñ0ˆÜ˜˜?Ó+ˆÜ˜ ¨sÖ3r5   c                 ó–   — d}t        j                  t        d   «      }t        d   }t        |d«      }t	        |||t
        dkD  ¬«       y )Ng�íµ ÷Æ°>rê  rz  r!   rØ   r  rt  rÛ  s        r3   Ú%test_pdist_jensenshannon_iris_float32z/TestPdist.test_pdist_jensenshannon_iris_float32¢  sB   € ØˆÜ�J‰J”r˜&‘zÓ"ˆÜÐ/Ñ0ˆÜ˜˜?Ó+ˆÜ˜ ¨s¼GÀa¹KÖHr5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y )Ng-Cëâ6
?rê  rz  rw  rØ  rõ  ræ  s        r3   Ú"test_pdist_jensenshannon_iris_nonCz,TestPdist.test_pdist_jensenshannon_iris_nonC©  s4   € ØˆÜˆv‰JˆÜÐ/Ñ0ˆÜ˜Ð/Ó0ˆÜ˜ ¨sÖ3r5   c                 ó0  — t        t        j                  g d¢«      t        j                  g d¢«      «      }t        t        j                  g d¢t        ¬«      t        j                  g d¢t        ¬«      «      }t	        |ddd¬«       t	        |ddd¬«       y ©N©rk   r   rk   rk   r   ©rk   rk   r   rk   rk   rF   ç333333ã?r   ç»½×Ùß|Û=©rJ  rÇ   ©Ú	wmatchingrY   r·   r  r   ©r  ÚmÚm2s      r3   Útest_pdist_matching_mtica1z$TestPdist.test_pdist_matching_mtica1°  sd   € ä”b—h‘hšÓ/Ü—h‘hšÓ/ó1ˆä”r—x‘x¢´tÔ<Ü—x‘x¢´tÔ<ó>ˆä˜˜3 Q¨UÕ3Ü˜˜C a¨eÖ4r5   c                 ó0  — t        t        j                  g d¢«      t        j                  g d¢«      «      }t        t        j                  g d¢t        ¬«      t        j                  g d¢t        ¬«      «      }t	        |ddd¬«       t	        |ddd¬«       y ©N©rk   r   rk   ©rk   rk   r   rF   çUUUUUUå?r   r…  r†  r‡  r‰  s      r3   Útest_pdist_matching_mtica2z$TestPdist.test_pdist_matching_mtica2¹  sd   € ä”b—h‘hšyÓ)Ü—X‘XšiÓ(ó*ˆä”r—x‘x¢	´Ô6Ü—h‘hšy´Ô5ó7ˆä˜˜5 q¨uÕ5Ü˜˜E¨°Ö6r5   c                 óX  — t        t        j                  g d¢«      t        j                  g d¢«      «      }t        t        j                  g d¢t        ¬«      t        j                  g d¢t        ¬«      «      }t        dkD  rt        |«       t        |ddd¬«       t        |ddd¬«       y )Nr‚  rƒ  rF   rØ   r   r…  r†  ©ÚwyulerY   r·   r  r   r‡  r   r‰  s      r3   Útest_pdist_yule_mtica1z TestPdist.test_pdist_yule_mtica1Â  sr   € Ü”"—(‘(š?Ó+Ü—(‘(š?Ó+ó-ˆä”2—8‘8šO´4Ô8Ü—8‘8šO´4Ô8ó:ˆä�QŠ;Ü�!ŒHÜ˜˜1 1¨5Õ1Ü˜˜A A¨EÖ2r5   c                 óX  — t        t        j                  g d¢«      t        j                  g d¢«      «      }t        t        j                  g d¢t        ¬«      t        j                  g d¢t        ¬«      «      }t        dkD  rt        |«       t        |ddd¬«       t        |ddd¬«       y )Nr�  r�  rF   rØ   r   r…  r†  r”  r‰  s      r3   Útest_pdist_yule_mtica2z TestPdist.test_pdist_yule_mtica2Ì  sr   € Ü”"—(‘(š9Ó%Ü—(‘(š9Ó%ó'ˆä”2—8‘8šI¬TÔ2Ü—8‘8šI¬TÔ2ó4ˆä�QŠ;Ü�!ŒHÜ˜˜1 1¨5Õ1Ü˜˜A A¨EÖ2r5   c                 óX  — t        t        j                  g d¢«      t        j                  g d¢«      «      }t        t        j                  g d¢t        ¬«      t        j                  g d¢t        ¬«      «      }t        dkD  rt        |«       t        |ddd¬«       t        |ddd¬«       y )	Nr‚  rƒ  rF   rØ   gÛ¶mÛ¶mÛ?r   r…  r†  ©ÚwdicerY   r·   r  r   r‡  r   r‰  s      r3   Útest_pdist_dice_mtica1z TestPdist.test_pdist_dice_mtica1Ö  sr   € Ü”"—(‘(š?Ó+Ü—(‘(š?Ó+ó-ˆä”2—8‘8šO´4Ô8Ü—8‘8šO´4Ô8ó:ˆä�QŠ;Ü�!ŒHÜ˜˜5 q¨uÕ5Ü˜˜E¨°Ö6r5   c                 óX  — t        t        j                  g d¢«      t        j                  g d¢«      «      }t        t        j                  g d¢t        ¬«      t        j                  g d¢t        ¬«      «      }t        dkD  rt        |«       t        |ddd¬«       t        |ddd¬«       y )	Nr�  r�  rF   rØ   ri  r   r…  r†  rš  r‰  s      r3   Útest_pdist_dice_mtica2z TestPdist.test_pdist_dice_mtica2à  sr   € Ü”"—(‘(š9Ó%Ü—(‘(š9Ó%ó'ˆä”2—8‘8šI¬TÔ2Ü—8‘8šI¬TÔ2ó4ˆä�QŠ;Ü�!ŒHÜ˜˜3 Q¨UÕ3Ü˜˜C a¨eÖ4r5   c                 óX  — t        t        j                  g d¢«      t        j                  g d¢«      «      }t        t        j                  g d¢t        ¬«      t        j                  g d¢t        ¬«      «      }t        dkD  rt        |«       t        |ddd¬«       t        |ddd¬«       y ©	Nr‚  rƒ  rF   rØ   g      è?r   r…  r†  )r'   rY   r·   r  r   r‡  r   r‰  s      r3   Útest_pdist_sokalsneath_mtica1z'TestPdist.test_pdist_sokalsneath_mtica1ê  ós   € ÜœŸ™¢Ó1ÜŸ™¢Ó1ó3ˆäœŸ™¢/¼Ô>ÜŸ™¢/¼Ô>ó@ˆä�QŠ;Ü�!ŒHÜ˜˜5 q¨uÕ5Ü˜˜E¨°Ö6r5   c                 óX  — t        t        j                  g d¢«      t        j                  g d¢«      «      }t        t        j                  g d¢t        ¬«      t        j                  g d¢t        ¬«      «      }t        dkD  rt        |«       t        |ddd¬«       t        |ddd¬«       y ©	Nr�  r�  rF   rØ   gš™™™™™é?r   r…  r†  )ÚwsokalsneathrY   r·   r  r   r‡  r   r‰  s      r3   Útest_pdist_sokalsneath_mtica2z'TestPdist.test_pdist_sokalsneath_mtica2ô  sr   € ÜœŸ™¢)Ó,ÜŸ™¢)Ó,ó.ˆäœ"Ÿ(™(¢9´DÔ9ÜŸ(™(¢9´DÔ9ó;ˆä�QŠ;Ü�!ŒHÜ˜˜5 q¨uÕ5Ü˜˜E¨°Ö6r5   c                 óX  — t        t        j                  g d¢«      t        j                  g d¢«      «      }t        t        j                  g d¢t        ¬«      t        j                  g d¢t        ¬«      «      }t        dkD  rt        |«       t        |ddd¬«       t        |ddd¬«       y r   ©ÚwrogerstanimotorY   r·   r  r   r‡  r   r‰  s      r3   Ú test_pdist_rogerstanimoto_mtica1z*TestPdist.test_pdist_rogerstanimoto_mtica1þ  ss   € ÜœBŸH™H¢_Ó5ÜŸH™H¢_Ó5ó7ˆäœRŸX™X¢o¼TÔBÜŸX™X¢o¼TÔBóDˆä�QŠ;Ü�!ŒHÜ˜˜5 q¨uÕ5Ü˜˜E¨°Ö6r5   c                 óX  — t        t        j                  g d¢«      t        j                  g d¢«      «      }t        t        j                  g d¢t        ¬«      t        j                  g d¢t        ¬«      «      }t        dkD  rt        |«       t        |ddd¬«       t        |ddd¬«       y r¤  r¨  r‰  s      r3   Ú test_pdist_rogerstanimoto_mtica2z*TestPdist.test_pdist_rogerstanimoto_mtica2  sr   € ÜœBŸH™H¢YÓ/ÜŸH™H¢YÓ/ó1ˆäœRŸX™X¢i´tÔ<ÜŸX™X¢i´tÔ<ó>ˆä�QŠ;Ü�!ŒHÜ˜˜5 q¨uÕ5Ü˜˜E¨°Ö6r5   c                 óX  — t        t        j                  g d¢«      t        j                  g d¢«      «      }t        t        j                  g d¢t        ¬«      t        j                  g d¢t        ¬«      «      }t        dkD  rt        |«       t        |ddd¬«       t        |ddd¬«       y )	Nr‚  rƒ  rF   rØ   r„  r   r…  r†  ©ÚwrussellraorY   r·   r  r   r‡  r   r‰  s      r3   Útest_pdist_russellrao_mtica1z&TestPdist.test_pdist_russellrao_mtica1  r¢  r5   c                 óX  — t        t        j                  g d¢«      t        j                  g d¢«      «      }t        t        j                  g d¢t        ¬«      t        j                  g d¢t        ¬«      «      }t        dkD  rt        |«       t        |ddd¬«       t        |ddd¬«       y )	Nr�  r�  rF   rØ   r‘  r   r…  r†  r®  r‰  s      r3   Útest_pdist_russellrao_mtica2z&TestPdist.test_pdist_russellrao_mtica2  sr   € ÜœŸ™¢Ó+ÜŸ™¢Ó+ó-ˆäœŸ™¢)´4Ô8ÜŸ™¢)´4Ô8ó:ˆä�QŠ;Ü�!ŒHÜ˜˜5 q¨uÕ5Ü˜˜E¨°Ö6r5   c                 óÈ   — t         d   }t        dkD  r t        |j                  |j                  «       d}t        |d«      }t        |d«      }t        |||t        dkD  ¬«       y )Nrê  rØ   rE  r   Útest_canberrarI  )r[   r   r‡  rŠ   rG   rÚ  r   )r  ÚDrM  rˆ  r‰  s        r3   Útest_pdist_canberra_matchz#TestPdist.test_pdist_canberra_match&  sS   € äˆv‰JˆÜ�QŠ;Ü�!—'‘'˜1Ÿ7™7Ô#ØˆÜ˜Q 
Ó+ˆÜ˜Q Ó0ˆÜ˜˜B S´'¸A±+Ö>r5   c                 óX   — d}t        dgdgfd«      }d}t        |||t        dkD  ¬«       y )Nrs  r<  r  r   gdß>@1‘Ž?rØ   r  )rÚ  r   r   )r  rM  Úpdist_yr‚  s       r3   Útest_pdist_canberra_ticket_711z(TestPdist.test_pdist_canberra_ticket_7110  s4   € ð ˆÜ! C 5¨3¨% .°*Ó=ˆØˆÜ˜ ¨s¼GÀa¹KÖHr5   c                 ó¾   ‡—  G d„ d«      Šˆfd„}t        j                   ‰«       g ‰«       ggt        ¬«      }t        ||¬«      }d}t	        ||t
        dkD  ¬«       y )	Nc                   ó   — e Zd Zy)ú6TestPdist.test_pdist_custom_notdouble.<locals>.myclassNrs  rh   r5   r3   rv  r¼  ;  rw  r5   rv  c                 óX   •— t        | d   ‰«      rt        |d   ‰«      st        d«      ‚yry  r{  r}  s     €r3   r:  z9TestPdist.test_pdist_custom_notdouble.<locals>._my_metric>  r~  r5   rF   rf  rz  rØ   r  )rY   r·   r€  r   r	   r   )r  r:  rJ   r¸  r‚  rv  s        @r3   Útest_pdist_custom_notdoublez%TestPdist.test_pdist_custom_notdouble8  sR   ø€ ÷	ñ 	ô	ô �x‰x™'›)˜¡w£y kÐ2¼&ÔAˆÜ˜ ZÔ0ˆØˆÜ�W˜g¬w¸©{Ö;r5   c           	      óØ  — 	 t        |fd|i|¤Ž}t        |fdt        |«      i|¤Ž}t        |fdd|z   i|¤Ž}t        |||t        dkD  ¬«       t        |||t        dkD  ¬«       y # t        $ rû}|j
                  }	t        dkD  r t        |	j                  «       t        |«       t        j                  |	«      5  t        |fd|i|¤Ž d d d «       n# 1 sw Y   nxY wt        j                  |	«      5  t        |fdt        |«      i|¤Ž d d d «       n# 1 sw Y   nxY wt        j                  |	«      5  t        |fdd|z   i|¤Ž d d d «       n# 1 sw Y   nxY wY d }~y Y d }~y d }~ww xY wr…  )
r   r/  r   r   rå   r†  r‡  rì   r-  r.  )
r  r^  r4   rM  rî   rˆ  r‰  rŠ  rñ   r‹  s
             r3   rŒ  z$TestPdist._check_calling_conventionsG  s5  € ð	CÜ�qÑ2 Ð2¨6Ñ2ˆBÜ�qÑ8¤ f£Ð8°Ñ8ˆBÜ�qÑ< ¨6Ñ!1Ð<°VÑ<ˆBô ˜B ¨´gÀ±kÕBÜ˜B ¨´gÀ±kÖBøô ò 
	<Ø—K‘KˆEÜ˜Š{Ü�e—n‘nÔ%Ü�a”Ü—‘˜uÕ%Ü�aÑ1 Ð1¨&Ò1÷ &×%Ñ%úä—‘˜uÕ%Ü�aÑ7¤ V£Ð7°Ò7÷ &×%Ñ%úä—‘˜uÕ%Ü�aÑ; ¨&Ñ 0Ð;°FÒ;÷ &×%Ñ%ú×%Ñ%ûð
	<ús`   ‚6A% Á%	E)Á.A
E$Â8CÃ	E$ÃC	ÃE$Ã1DÄ		E$ÄD	ÄE$Ä3EÅ	E$ÅE	ÅE$Å$E)c                 óž  — | j                   D �]=  }t        |   d d d…d d d…f   }t        dkD  rt        d|d|«       |dv rd|vrŒ8| j	                  ||«       |dk(  rJt        j                  |j                  t
        j                  «      dd	¬
«      }| j	                  |||¬«       Œ™|dk(  sŒŸt        j                  t        j                  |j                  t
        j                  «      j                  «      «      }t        j                  t
        j                  j                  |«      j                  «      }| j	                  |||¬«       �Œ@ y )Nre  rØ   rŽ  r�  >   r   r)   Úmatchingr%   r'   r$   r  r&   r   rk   r�  r‘  r"   r“  )r  r[   r   r‡  rŒ  rY   r–  r£   r¶   r—  r˜  rb  r·   r]  r™  )r  r4   rš  r^  r’  r”  s         r3   Útest_pdist_calling_conventionsz(TestPdist.test_pdist_calling_conventions\  s  € ð
 ×(Õ(ˆGô �7‘™C˜a˜C¡ 1 ˜HÑ%ˆAÜ˜Š{Ü�k 6¨9°gÔ>Øð )ñ )Ø-3¸7Ñ-BàØ×+Ñ+¨A¨vÔ6ð ˜Ò%Ü—F‘F˜1Ÿ8™8¤B§J¡JÓ/°a¸aÔ@�Ø×/Ñ/°°6¸QÐ/Õ?Ø˜=Ó(Ü—M‘M¤"§&¡&¨¯©´"·*±*Ó)=×)?Ñ)?Ó"@ÓA�Ü—X‘XœbŸi™iŸm™m¨AÓ.×0Ñ0Ó1�Ø×/Ñ/°°6¸bÐ/ÖAñ' )r5   c           	      óœ  — d}t         d   | j                  d   ft         d   | j                  d   ft         d   | j                  d   ft         d   | j                  d	   fg}|D ]S  }|d
   d d d…d d d…f   }	 t        ||¬«      }|d   D ]+  }t         ||«      |¬«      }t        |||t        dkD  ¬«       Œ- ŒU y # t
        $ rˆ}	|	j                  }
t        dkD  r t        |
j                  «       t        |	«       |d   D ]A  } ||«      }t        j                  |
«      5  t        ||¬«       d d d «       Œ7# 1 sw Y   Œ@xY w Y d }	~	Œãd }	~	ww xY w)Nrž  rL   r  rP   r  rO   r¤   rN   r^   r   re  rØ   rf  rk   rI  )r[   r  r   r   r   rå   r†  r‡  rì   r-  r.  )r  r4   rM  rŸ  r   r0  rˆ  r¡  r‰  rñ   r‹  r1  s               r3   Útest_pdist_dtype_equivalencez&TestPdist.test_pdist_dtype_equivalencev  sK  € àˆÜÐ'Ñ(¨$×*<Ñ*<¸VÑ*DÐEÜÐ'Ñ(¨$×*<Ñ*<¸VÑ*DÐEÜÐ&Ñ'¨×);Ñ);¸EÑ)BÐCÜÐ*Ñ+¨T×-?Ñ-?À	Ñ-JÐKðMˆó ˆDØ�a‘™˜1˜™c ˜c˜Ñ"ˆBðKÜ˜2 fÔ-�ð !% Q¤�HÜ™x¨›|°FÔ;�BÜ# B¨°¼gÈ¹kÖJñ !(ñ øô ò 1ØŸ™�Ü˜Q’;Ü˜%Ÿ.™.Ô)Ü˜!”HØ $ Q¤�HÙ! "›�BÜŸ™ uÕ-Ü˜b¨Õ0÷ .×-Ñ-úõ !(ûð1ús1   Á7B:Â:	EÃAEÄD4	Ä+	EÄ4D=Ä9EÅEc                 óÐ  — d}t         d   d d d…d d d…f   }t        |j                  d   |j                  d   dz
  z  dz  «      }t        «       }|dk(  rd|d	<   t	        j
                  |t        j                  ¬
«      }t        ||fi |¤Ž}t        ||fd|i|¤Ž}t        |||¬«       t        ||u «       t	        j
                  |dz   t        j                  ¬
«      }	t        j                  t        «      5  t        ||fd|	i|¤Ž d d d «       t	        j
                  d|z  t        j                  ¬
«      d d d…   }
t        j                  t        «      5  t        ||fd|
i|¤Ž d d d «       t	        j
                  |t        j                  ¬
«      }t        j                  t        «      5  t        ||fd|i|¤Ž d d d «       y # 1 sw Y   Œ¿xY w# 1 sw Y   ŒlxY w# 1 sw Y   y xY w)NrE  rN   re  rØ   r   rk   r#   rT  rQ  rF   r§  rØ  rá   )r[   r¤   rŠ   rª  rY   r«  r¶   r   r   r   r-  r.  rz   r¬  )r  r4   rM  r^  Úout_sizerî   r¯  rÜ  rÝ  r°  r±  r³  s               r3   Útest_pdist_outzTestPdist.test_pdist_out�  sš  € àˆÜÐ$Ñ%¡c¨ c©3¨Q¨3 hÑ/ˆÜ˜Ÿ™ ™
 a§g¡g¨a¡j°1¡nÑ5¸Ñ:Ó;ˆä“ˆØ�[Ò ØˆF�3‰KÜ�x‰x˜¬¯
©
Ô3ˆÜ˜˜6Ñ, VÑ,ˆÜ˜˜6Ñ6 tÐ6¨vÑ6ˆô 	˜ ¨sÕ3ô 	�˜4�Ô ô �x‰x˜ 1™¬B¯J©JÔ7ˆÜ�]‰]œ:Õ&Ü�!�VÑ0 Ð0¨Ò0÷ 'ô �x‰x˜˜H™¬B¯J©JÔ7¹¸!¸Ñ<ˆÜ�]‰]œ:Õ&Ü�!�VÑ0 Ð0¨Ò0÷ 'ô �x‰x˜¬¯©Ô1ˆÜ�]‰]œ:Õ&Ü�!�VÑ0 Ð0¨Ò0÷ 'Ð&÷ 'Ð&ú÷
 'Ð&ú÷
 'Ð&ús$   Ã6GÅGÆ+GÇGÇGÇG%c                 óV  — d}t         d   d d d…d d d…f   }|j                  «       }t        |j                  j                   «       t        |j                  j                  «       t        «       }|dk(  rd|d<   t        ||fi |¤Ž}t        ||fi |¤Ž}t        |||t        dkD  ¬«       y )	NrE  rN   re  rØ   r#   rT  rQ  rI  )	r[   r¶  r   r·  r¸  rª  r   r   r   )r  r4   rM  r^  ÚX_copyrî   rN  rO  s           r3   r»  zTestPdist.test_striding±  s¥   € ð ˆÜÐ$Ñ%¡c¨ c©3¨Q¨3 hÑ/ˆØ—‘“ˆô 	�A—G‘G×(Ñ(Ð(Ô)Ü�—‘×)Ñ)Ô*ä“ˆØ�[Ò ØˆF�3‰KÜ�1�fÑ' Ñ'ˆÜ�6˜6Ñ, VÑ,ˆä˜˜B S´'¸A±+Ö>r5   NrÅ  )Xrì   rt  ru  r  rÐ  rÓ  rÞ  rá  rä  rè  r-  rÆ  Úslowrì  rï  rò  rö  rø  rû  rþ  r   r  r  r  r  r  r  r  r  r  r!  r$  r'  r)  r+  r/  r1  r4  r7  r9  r>  rÇ  rY   rÈ  rA  rE  rG  rI  rL  rO  rQ  rU  rW  rY  r[  r_  ra  rf  ri  rk  rm  rq  ru  rx  r{  r}  r  rŒ  r’  r–  r˜  rœ  rž  r¡  r¦  rª  r¬  r°  r²  r¶  r¹  r,   r¾  rŒ  rÂ  rÄ  rÇ  r»  rh   r5   r3   rÍ  rÍ  ¹  s¶  „ ò7ò6ò&!9òF4ò4ò4ò4ð ‡[�[×Ññ4ó ð4ð ‡[�[×ÑñIó ðIð ‡[�[×Ññ4ó ð4ò4ò
4ò4ò4ò4ò4ò4ò4ò4ð ‡[�[×Ññ4ó ð4ð ‡[�[×ÑñIó ðIð ‡[�[×Ññ4ó ð4ò>ò4ò4ò4ð ‡[�[×Ññ4ó ð4ð ‡[�[×ÑñIó ðIð ‡[�[×Ññ4ó ð4ò4ò4ò4ð ‡[�[×Ññ4ó ð4ð ‡[�[×ÑñIó ðIð ‡[�[×Ññ4ó ð4ð ‡[�[×Ñ˜S 3¨¨c°3¸¸R¿V¹VÐ"DÓEñ2ó Fð2ò4ò4ò4ð ‡[�[×Ññ4ó ð4ð ‡[�[×Ññ4ó ð4ð ‡[�[×Ññ4ó ð4ð ‡[�[×Ññ4ó ð4ð ‡[�[×ÑñIó ðIð ‡[�[×Ññ4ó ð4ò;ò"4ò4ò4ò4ò4ò4ò4òIò4ò
4òIò4ò5ò7ò3ò3ò7ò5ò7ò7ò7ò7ò7ò7ð ‡[�[×Ññ?ó ð?òIð ñ<ó ð<óCò*Bò4Kò2 1óD?r5   rÍ  c                   óÆ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ej                  j                  d	«      ej                  j                  d
eeg«      d„ «       «       Zd„ Zy)ÚTestSomeDistanceFunctionsc                 ót   — t        j                  g d¢«      }t        j                  g d¢«      }||fg| _        y )Nr  ©r³   r³   r#  )rY   r·   Úcases)r  rÊ   r6  s      r3   r  z&TestSomeDistanceFunctions.setup_methodÆ  s+   € ä�H‰H’_Ó%ˆÜ�H‰H’_Ó%ˆà˜!�f�Xˆ�
r5   c           	      óÔ  — | j                   D ]m  \  }}t        ||d¬«      }t        |d«       t        ||d¬«      }t        |d«       t        ||d¬«      }t        |d«       t        ||d¬«      }t        |d	«       Œo t        j                  d
dg«      }t        j                  ddg«      }t        t        ||«      t        |j                  d«      |j                  d«      «      «       y )Nrk   rW  r  ç      ø?gqÎazý“@rØ   g¨ô—›wã@rS  gÙRÏ"ø6@i`  i”  i^  i”  Úuint16)rÏ  r#   r
   rY   r·   r	   r£   )	r  rÊ   r6  Údist1Údist1p5Údist2Údist0p25rq   rÑ   s	            r3   rX  z(TestSomeDistanceFunctions.test_minkowskiÍ  sÉ   € Ø—J”J‰DˆAˆqÜ˜a  aÔ(ˆEÜ  sÔ+Ü  1¨Ô,ˆGÜ Ð)CÔDÜ˜a  aÔ(ˆEÜ  zÔ2Ü   A¨Ô.ˆHÜ Ð*BÕCð ô �H‰H�c˜3�ZÓ ˆÜ�H‰H�c˜3�ZÓ ˆÜ”Y˜q !“_Ü˜qŸx™x¨Ó1°1·8±8¸HÓ3EÓFõ	Hr5   c                 ó‚   — | j                   D ]0  \  }}t        ||«      }t        |t        j                  d«      «       Œ2 y )Nre  )rÏ  Ú
weuclideanr
   rY   rj  ©r  rÊ   r6  rm  s       r3   rH  z(TestSomeDistanceFunctions.test_euclideanà  s2   € Ø—J”J‰DˆAˆqÜ˜a Ó#ˆDÜ ¤b§g¡g¨a£jÕ1ñ r5   c                 ó\   — | j                   D ]  \  }}t        ||«      }t        |d«       Œ y )Nr#  )rÏ  Úwsqeuclideanr
   rÙ  s       r3   Útest_sqeuclideanz*TestSomeDistanceFunctions.test_sqeuclideanå  s*   € Ø—J”J‰DˆAˆqÜ  1Ó%ˆDÜ  cÕ*ñ r5   c           
      óº   — | j                   D ]L  \  }}t        ||«      }t        |ddt        j                  d«      t        j                  d«      z  z  z
  «       ŒN y )Nr³   g      2@é   é   )rÏ  Úwcosiner
   rY   rj  rÙ  s       r3   r  z%TestSomeDistanceFunctions.test_cosineê  sH   € Ø—J”J‰DˆAˆqÜ˜1˜a“=ˆDÜ  c¨D´B·G±G¸B³KÄ"Ç'Á'È"Ã+Ñ4MÑ,NÑ&NÕOñ r5   c                 óˆ   — t        t        ddgddgd¬«      t        «      sJ ‚t        t        ddgddg«      t        «      sJ ‚y )Nrk   F)Úcentered)r|  ÚwcorrelationÚfloatrà  r  s    r3   Útest_cosine_output_dtypez2TestSomeDistanceFunctions.test_cosine_output_dtypeï  sB   € äœ,¨¨1 v°°1¨vÀÔFÌÔNÐNÐNÜœ' 1 a &¨1¨a¨&Ó1´5Ô9Ð9Ñ9r5   c           
      ó  — t        j                  g d¢«      }t        j                  g d¢«      }| j                  D ]L  \  }}t        ||«      }t	        |dt        j
                  ||«      t        |«      t        |«      z  z  z
  «       ŒN y )N)ç      ð¿r   r³   )çUUUUUUõ¿rè  gUUUUUU@r³   )rY   r·   rÏ  rã  r
   ra  r   )r  ÚxmÚymrÊ   r6  rm  s         r3   r3  z*TestSomeDistanceFunctions.test_correlationô  sh   € Ü�X‰X’nÓ%ˆÜ�X‰XÒ9Ó:ˆØ—J”J‰DˆAˆqÜ  1Ó%ˆDÜ  c¬B¯F©F°2°r«N¼dÀ2»hÌÈbËÑ>QÑ,RÑ&RÕSñ r5   c                 óô   — t        j                  g d¢«      }t        j                  g d¢«      }t        ||«      }d|cxk  r4dt        j                  t         j                  «      j
                  z  k  sJ ‚ J ‚y )N)%rg  rg  rg  rg  rg  rg  ç       Àrg  rg  rg  rì  rì  rì  rg  rì  rg  rì  rg  rg  rç  rì  rg  r³   rg  rg  rì  rg  rg  rì  rg  rì  rì  rì  rì  rì  rì  rg  )%r³   r³   r³   r³   r³   r³   rç  r³   r³   r³   rç  rç  rç  r³   rç  r³   rç  r³   r³   rg  rç  r³   rà   r³   r³   rç  r³   r³   rç  r³   rç  rç  rç  rç  rç  rç  r³   r   r½  )rY   r·   r   Úfinfor¶   rM  rÙ  s       r3   Útest_correlation_positivez3TestSomeDistanceFunctions.test_correlation_positiveû  sm   € ä�H‰Hò Ió Jˆô �H‰Hò Ió Jˆô ˜1˜aÓ ˆØ�DÔ9˜B¤§¡¬"¯*©*Ó!5×!9Ñ!9Ñ9Ò9Ð9Ñ9Ð9Ñ9r5   zignore:Casting complexÚfuncc                 ó†   — ddg}ddg}t        j                  t        d¬«      5   |||«       d d d «       y # 1 sw Y   y xY w)Ny      ð?        y       @        y      @        y      @        Úreal©Úmatch)r-  r.  rÏ   )r  rï  rÊ   r6  s       r3   Útest_corr_dep_complexz/TestSomeDistanceFunctions.test_corr_dep_complex  s9   € ð �4ˆLˆØ�4ˆLˆÜ�]‰]œ9¨FÖ3Ù��AŒJ÷ 4×3Ñ3ús	   ¤
7·A c                 ó  — t        j                  g d¢«      }t        j                  g d¢«      }t        j                  g d¢g d¢g d¢g«      }| j                  D ]1  \  }}t        |||«      }t	        |t        j
                  d«      «       Œ3 y )Nr  rÎ  )rà   r³   rg  )r³   rà   r³   )rg  r³   rà   g      @)rY   r·   rÏ  r"   r
   rj  )r  rÊ   r6  Úvirm  s        r3   Útest_mahalanobisz*TestSomeDistanceFunctions.test_mahalanobis  se   € Ü�H‰H’_Ó%ˆÜ�H‰H’_Ó%ˆÜ�X‰X’ªºÐIÓJˆØ—J”J‰DˆAˆqÜ˜q ! RÓ(ˆDÜ ¤b§g¡g¨c£lÕ3ñ r5   N)rì   rt  ru  r  rX  rH  rÜ  r  rå  r3  rî  r-  rÆ  ÚfilterwarningsrÇ  r   r   rô  r÷  rh   r5   r3   rÌ  rÌ  Ä  st   „ òòHò&2ò
+ò
Pò
:ò
Tò	:ð ‡[�[×ÑÐ 8Ó9Ø‡[�[×Ñ˜V k°6Ð%:Ó;ñó <ó :ðó4r5   rÌ  c                   óŽ   — e Zd Zej                  ej
                  ej                  ej                  egZ	d„ Z
d„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestSquareFormc                 óH   — | j                   D ]  }| j                  |«       Œ y rm   )Úchecked_dtypesÚcheck_squareform_matrix©r  rG   s     r3   Útest_squareform_matrixz%TestSquareForm.test_squareform_matrix  ó    € Ø×(Ô(ˆEØ×(Ñ(¨Õ/ñ )r5   c                 óH   — | j                   D ]  }| j                  |«       Œ y rm   )rü  Úcheck_squareform_vectorrþ  s     r3   Útest_squareform_vectorz%TestSquareForm.test_squareform_vector  r   r5   c                 ó(  — t        j                  d|¬«      }t        |«      }t        |j                  d«       t        |j
                  |«       t        j                  d|¬«      }t        |«      }t        |j                  d«       t        |j
                  |«       t        j                  ddgddgg|¬«      }t        |«      }t        |j                  d«       t        |j
                  |«       t        |t        j                  dg|¬«      «       y )N)r   r   rF   ©r   ©rk   rk   r   gÍÌÌÌÌÌ@)rk   )rY   Úzerosr   r	   rŠ   rG   r·   r   )r  rG   ÚAÚrAs       r3   rý  z&TestSquareForm.check_squareform_matrix"  sÅ   € Ü�H‰H�V 5Ô)ˆÜ˜‹]ˆÜ�R—X‘X˜tÔ$Ü�R—X‘X˜uÔ%ä�H‰H�V 5Ô)ˆÜ˜‹]ˆÜ�R—X‘X˜tÔ$Ü�R—X‘X˜uÔ%ä�H‰H�q˜#�h  a Ð)°Ô7ˆÜ˜‹]ˆÜ�R—X‘X˜tÔ$Ü�R—X‘X˜uÔ%Ü˜2œrŸx™x¨¨°UÔ;Õ<r5   c                 ó¨  — t        j                  d|¬«      }t        |«      }t        |j                  d«       t        |j
                  |«       t        |dgg«       t        j                  dg|¬«      }t        |«      }t        |j                  d«       t        |j
                  |«       t        |t        j                  ddgddgg|¬«      «       y )Nr  rF   r  r   gš™™™™™ @)rØ   rØ   )rY   r  r   r	   rŠ   rG   r   r·   )r  rG   rÂ  Úrvs       r3   r  z&TestSquareForm.check_squareform_vector3  sž   € Ü�H‰H�T Ô'ˆÜ˜‹]ˆÜ�R—X‘X˜vÔ&Ü�R—X‘X˜uÔ%Ü˜2  ˜uÔ%ä�H‰H�c�U %Ô(ˆÜ˜‹]ˆÜ�R—X‘X˜vÔ&Ü�R—X‘X˜uÔ%Ü˜2œrŸx™x¨!¨S¨°C¸°8Ð(<ÀEÔJÕKr5   c                 óH   — t        dd«      D ]  }| j                  |«       Œ y )NrØ   re  )r{   Úcheck_squareform_multi_matrix©r  Úns     r3   Útest_squareform_multi_matrixz+TestSquareForm.test_squareform_multi_matrix@  s    € Ü�q˜!–ˆAØ×.Ñ.¨qÕ1ñ r5   c                 óŠ  — t         j                  j                  |d«      }t        |«      }t	        t        |j                  «      d«       t        |«      }t        |«      }|j                  }d}t        dk\  r+t        |j                  |j                  |j                  «       t	        t        |«      d«       t	        t        |j                  «      d«       t	        |d   |d   «       t        d|d   «      D ]I  }t        |dz   |d   «      D ]2  }	||	k7  rt	        |||	f   ||   «       |dz  }Œ"t	        |||	f   d«       Œ4 ŒK y )Né   rk   r   rá   rØ   )rY   r¸   r»   rÚ  r	   ÚlenrŠ   r   r   r‡  r{   )
r  r  r^  ÚYr  ÚYrÚsÚkr¨   Újs
             r3   r  z,TestSquareForm.check_squareform_multi_matrixD  s  € Ü�I‰I�N‰N˜1˜aÓ ˆÜ˜AÓˆÜ”S˜Ÿ™“\ 1Ô%Ü�q‹MˆÜ˜‹]ˆØ�G‰GˆØˆÜ�aŠ<Ü�!—'‘'˜1Ÿ7™7 B§H¡HÔ-Ü”S˜“V˜QÔÜ”S˜Ÿ™“] AÔ&Ü�Q�q‘T˜1˜Q™4Ô Ü�q˜!˜A™$–ˆAÜ˜1˜q™5 ! A¡$Ö'�Ø˜’6Ü   1 a 4¡¨!¨A©$Ô/Ø˜‘F‘Aä   1 a 4¡¨!Õ,ñ (ñ  r5   N)rì   rt  ru  rY   r¶   r^   Úint32Úint8r  rü  rÿ  r  rý  r  r  r  rh   r5   r3   rú  rú    sA   „ Ø—j‘j "§*¡*¨b¯h©h¸¿¹ÀÐF€Nò0ò0ò=ò"Lò2ó-r5   rú  c                   óN   — 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„ Zy)ÚTestNumObsYc                 ó¦   — t        dd«      D ]B  }t        j                  j                  |d«      }t	        |«      }t        t        |«      |«       ŒD y )NrØ   r½  r  )r{   rY   r¸   r»   rÚ  r	   r   )r  r  r^  r  s       r3   Útest_num_obs_y_multi_matrixz'TestNumObsY.test_num_obs_y_multi_matrix\  s>   € Ü�q˜"–ˆAÜ—	‘	—‘˜q !Ó$ˆAÜ Ó"ˆAÜœ 1› qÕ)ñ r5   c                 ó‚   — t        j                  t        «      5  | j                  d«       d d d «       y # 1 sw Y   y xY w©Nrk   )r-  r.  rz   Úcheck_yr  s    r3   Útest_num_obs_y_1zTestNumObsY.test_num_obs_y_1b  s'   € ô �]‰]œ:Õ&Ø�L‰L˜ŒO÷ '×&Ñ&ús   š5µ>c                 ó8   — t        | j                  d«      «       y ©NrØ   ©r   r!  r  s    r3   Útest_num_obs_y_2zTestNumObsY.test_num_obs_y_2h  s   € ô 	�—‘˜Q“Õ r5   c                 ó8   — t        | j                  d«      «       y )Nrá   r%  r  s    r3   Útest_num_obs_y_3zTestNumObsY.test_num_obs_y_3m  ó   € Ü�—‘˜Q“Õ r5   c                 ó8   — t        | j                  d«      «       y ©Nr  r%  r  s    r3   Útest_num_obs_y_4zTestNumObsY.test_num_obs_y_4p  r)  r5   c                 óH   — t        dd«      D ]  }| j                  |«       Œ y )Nre  é   )r{   Úminit)r  r¨   s     r3   Útest_num_obs_y_5_10zTestNumObsY.test_num_obs_y_5_10s  s   € Ü�q˜"–ˆAØ�J‰J�q�Mñ r5   c                 ó  — t        «       }t        dd«      D ]  }|j                  ||dz
  z  dz  «       Œ t        dd«      D ]:  }||vsŒt        j                  t
        «      5  | j                  |«       d d d «       Œ< y # 1 sw Y   ŒGxY w©NrØ   r.  rk   re  éi   ©Úsetr{   Úaddr-  r.  rz   Úbad_y©r  rq   r  r¨   s       r3   Útest_num_obs_y_2_100z TestNumObsY.test_num_obs_y_2_100w  sp   € ô ‹EˆÜ�q˜"–ˆAØ�E‰E�!�q˜1‘u‘+ ‘/Õ"ð ä�q˜#–ˆAØ˜ŠzÜ—]‘]¤:Õ.Ø—J‘J˜q”M÷ /Ð.ñ ç.Ð.úó   Á#B Â B		c                 ó8   — t        | j                  |«      «       y rm   r%  r  s     r3   r/  zTestNumObsY.minit‚  r)  r5   c                 óV   — t         j                  j                  |«      }t        |«      S rm   )rY   r¸   r»   r   ©r  r  r6  s      r3   r7  zTestNumObsY.bad_y…  s   € Ü�I‰I�N‰N˜1ÓˆÜ˜‹|Ðr5   c                 ó<   — t        | j                  |«      «      |k(  S rm   )r   Úmake_yr  s     r3   r!  zTestNumObsY.check_y‰  s   € Ü˜Ÿ™ Q›Ó(¨AÑ-Ð-r5   c                 óR   — t         j                  j                  ||dz
  z  dz  «      S ©Nrk   rØ   ©rY   r¸   r»   r  s     r3   r?  zTestNumObsY.make_yŒ  s"   € Ü�y‰y�~‰~˜q A¨¡E™{¨qÑ0Ó1Ð1r5   N)rì   rt  ru  r  r"  r&  r(  r,  r0  r9  r/  r7  r!  r?  rh   r5   r3   r  r  Z  s9   „ ò*òò!ò
!ò!òò	"ò!òò.ó2r5   r  c                   ó<   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
y	)
ÚTestNumObsDMc                 ó  — t        dd«      D ]v  }t        j                  j                  |d«      }t	        |«      }t        |«      }t        dk\  r t        |j                  |j                  «       t        t        |«      |«       Œx y )Nrk   r½  r  rá   )r{   rY   r¸   r»   rÚ  r   r   r‡  rŠ   r	   r   )r  r  r^  r  r  s        r3   Útest_num_obs_dm_multi_matrixz)TestNumObsDM.test_num_obs_dm_multi_matrix’  s`   € Ü�q˜"–ˆAÜ—	‘	—‘˜q !Ó$ˆAÜ Ó"ˆAÜ˜1“ˆAÜ˜!Š|Ü�a—g‘g˜qŸw™wÔ'Üœ A›¨Õ*ñ r5   c                 ó8   — t        | j                  d«      «       y )Nr   ©r   Úcheck_Dr  s    r3   Útest_num_obs_dm_0zTestNumObsDM.test_num_obs_dm_0›  ó   € ä�—‘˜Q“Õ r5   c                 ó8   — t        | j                  d«      «       y r   rH  r  s    r3   Útest_num_obs_dm_1zTestNumObsDM.test_num_obs_dm_1Ÿ  rK  r5   c                 ó8   — t        | j                  d«      «       y r$  rH  r  s    r3   Útest_num_obs_dm_2zTestNumObsDM.test_num_obs_dm_2£  r)  r5   c                 ó8   — t        | j                  d«      «       y r$  rH  r  s    r3   Útest_num_obs_dm_3zTestNumObsDM.test_num_obs_dm_3¦  r)  r5   c                 ó8   — t        | j                  d«      «       y r+  rH  r  s    r3   Útest_num_obs_dm_4zTestNumObsDM.test_num_obs_dm_4©  r)  r5   c                 ó<   — t        | j                  |«      «      |k(  S rm   )r   Úmake_Dr  s     r3   rI  zTestNumObsDM.check_D¬  s   € Ü˜$Ÿ+™+ a›.Ó)¨QÑ.Ð.r5   c                 óB   — t         j                  j                  ||«      S rm   rB  r  s     r3   rU  zTestNumObsDM.make_D¯  s   € Ü�y‰y�~‰~˜a Ó#Ð#r5   N)rì   rt  ru  rF  rJ  rM  rO  rQ  rS  rI  rU  rh   r5   r3   rD  rD  �  s*   „ ò+ò!ò!ò!ò!ò!ò/ó$r5   rD  c                 ó   — t        | d¬«      S ©NT)Úthrow)r   )rµ  s    r3   Úis_valid_dm_throwrZ  ³  s   € Ü�q Ô%Ð%r5   c                   óZ   — 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„ Zd„ Zd„ Zy)ÚTestIsValidDMc                 óÀ   — t        j                  dt         j                  ¬«      }t        j                  t
        «      5  t        |«       d d d «       y # 1 sw Y   y xY w)N©re  rF   ©rY   r  r¶   r-  r.  rz   rZ  ©r  rµ  s     r3   Ú$test_is_valid_dm_improper_shape_1D_Ez2TestIsValidDM.test_is_valid_dm_improper_shape_1D_E¹  s6   € Ü�H‰H�T¤§¡Ô,ˆÜ�]‰]œ:Õ&Ü˜aÔ ÷ '×&Ñ&úó   ¿AÁAc                 óx   — t        j                  dt         j                  ¬«      }t        t	        |«      d«       y )Nr^  rF   F©rY   r  r¶   r	   r   r`  s     r3   Ú$test_is_valid_dm_improper_shape_1D_Fz2TestIsValidDM.test_is_valid_dm_improper_shape_1D_F¾  s$   € Ü�H‰H�T¤§¡Ô,ˆÜ”[ “^ UÕ+r5   c                 óÀ   — t        j                  dt         j                  ¬«      }t        j                  t
        «      5  t        |«       d d d «       y # 1 sw Y   y xY w©N©rá   rá   rá   rF   r_  r`  s     r3   Ú$test_is_valid_dm_improper_shape_3D_Ez2TestIsValidDM.test_is_valid_dm_improper_shape_3D_EÂ  s6   € Ü�H‰H�Y¤b§j¡jÔ1ˆÜ�]‰]œ:Õ&Ü˜aÔ ÷ '×&Ñ&úrb  c                 óx   — t        j                  dt         j                  ¬«      }t        t	        |«      d«       y ©Nrh  rF   Frd  r`  s     r3   Ú$test_is_valid_dm_improper_shape_3D_Fz2TestIsValidDM.test_is_valid_dm_improper_shape_3D_FÇ  s$   € Ü�H‰H�Y¤b§j¡jÔ1ˆÜ”[ “^ UÕ+r5   c                 óú   — t         j                  j                  d«      }t        |«      }t	        dd«      D ]	  }d|||f<   Œ t        j                  t        «      5  t        |«       d d d «       y # 1 sw Y   y xY w)Nr½  r   re  rà   )	rY   r¸   r»   r   r{   r-  r.  rz   rZ  ©r  r6  rµ  r¨   s       r3   Ú#test_is_valid_dm_nonzero_diagonal_Ez1TestIsValidDM.test_is_valid_dm_nonzero_diagonal_EË  sZ   € Ü�I‰I�N‰N˜2ÓˆÜ�q‹MˆÜ�q˜!–ˆAØˆAˆa�ˆdŠGð ä�]‰]œ:Õ&Ü˜aÔ ÷ '×&Ñ&ús   ÁA1Á1A:c                 ó²   — t         j                  j                  d«      }t        |«      }t	        dd«      D ]	  }d|||f<   Œ t        t        |«      d«       y )Nr½  r   re  rà   F)rY   r¸   r»   r   r{   r	   r   rn  s       r3   Ú#test_is_valid_dm_nonzero_diagonal_Fz1TestIsValidDM.test_is_valid_dm_nonzero_diagonal_FÓ  sH   € Ü�I‰I�N‰N˜2ÓˆÜ�q‹MˆÜ�q˜!–ˆAØˆAˆa�ˆdŠGð ä”[ “^ UÕ+r5   c                 óà   — t         j                  j                  d«      }t        |«      }|d   dz   |d<   t	        j
                  t        «      5  t        |«       d d d «       y # 1 sw Y   y xY w)Nr½  ©rá   rk   rk   ©rk   rá   )rY   r¸   r»   r   r-  r.  rz   rZ  ©r  r6  rµ  s      r3   Útest_is_valid_dm_asymmetric_Ez+TestIsValidDM.test_is_valid_dm_asymmetric_EÚ  sN   € Ü�I‰I�N‰N˜2ÓˆÜ�q‹MˆØ�D‘'˜A‘+ˆˆ$‰Ü�]‰]œ:Õ&Ü˜aÔ ÷ '×&Ñ&ús   ÁA$Á$A-c                 ó˜   — t         j                  j                  d«      }t        |«      }|d   dz   |d<   t	        t        |«      d«       y )Nr½  rs  rk   rt  F©rY   r¸   r»   r   r	   r   ru  s      r3   Útest_is_valid_dm_asymmetric_Fz+TestIsValidDM.test_is_valid_dm_asymmetric_Fá  s<   € Ü�I‰I�N‰N˜2ÓˆÜ�q‹MˆØ�D‘'˜A‘+ˆˆ$‰Ü”[ “^ UÕ+r5   c                 óx   — t        j                  dt         j                  ¬«      }t        t	        |«      d«       y )Nr  rF   Trd  r`  s     r3   Útest_is_valid_dm_correct_1_by_1z-TestIsValidDM.test_is_valid_dm_correct_1_by_1ç  s$   € Ü�H‰H�V¤2§:¡:Ô.ˆÜ”[ “^ TÕ*r5   c                 ó‚   — t         j                  j                  d«      }t        |«      }t	        t        |«      d«       y )Nrk   Trx  ru  s      r3   Útest_is_valid_dm_correct_2_by_2z-TestIsValidDM.test_is_valid_dm_correct_2_by_2ë  ó+   € Ü�I‰I�N‰N˜1ÓˆÜ�q‹MˆÜ”[ “^ TÕ*r5   c                 ó‚   — t         j                  j                  d«      }t        |«      }t	        t        |«      d«       y ©Nrá   Trx  ru  s      r3   Útest_is_valid_dm_correct_3_by_3z-TestIsValidDM.test_is_valid_dm_correct_3_by_3ð  r~  r5   c                 ó‚   — t         j                  j                  d«      }t        |«      }t	        t        |«      d«       y )Né   Trx  ru  s      r3   Útest_is_valid_dm_correct_4_by_4z-TestIsValidDM.test_is_valid_dm_correct_4_by_4õ  r~  r5   c                 ó‚   — t         j                  j                  d«      }t        |«      }t	        t        |«      d«       y )Nr½  Trx  ru  s      r3   Útest_is_valid_dm_correct_5_by_5z-TestIsValidDM.test_is_valid_dm_correct_5_by_5ú  s+   € Ü�I‰I�N‰N˜2ÓˆÜ�q‹MˆÜ”[ “^ TÕ*r5   N)rì   rt  ru  ra  re  ri  rl  ro  rq  rv  ry  r{  r}  r�  r„  r†  rh   r5   r3   r\  r\  ·  sC   „ ò!ò
,ò!ò
,ò!ò,ò!ò,ò+ò+ò
+ò
+ó
+r5   r\  c                 ó   — t        | d¬«      S rX  )r   )r6  s    r3   Úis_valid_y_throwrˆ     s   € Ü�a˜tÔ$Ð$r5   c                   óN   — 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„ Zy)ÚTestIsValidYc                 óÀ   — t        j                  dt         j                  ¬«      }t        j                  t
        «      5  t        |«       d d d «       y # 1 sw Y   y xY w)N©rá   rá   rF   ©rY   r  r¶   r-  r.  rz   rˆ  ©r  r6  s     r3   Ú#test_is_valid_y_improper_shape_2D_Ez0TestIsValidY.test_is_valid_y_improper_shape_2D_E	  s6   € Ü�H‰H�W¤B§J¡JÔ/ˆÜ�]‰]œ:Õ&Ü˜QÔ÷ '×&Ñ&úrb  c                 óx   — t        j                  dt         j                  ¬«      }t        t	        |«      d«       y )NrŒ  rF   F©rY   r  r¶   r	   r   rŽ  s     r3   Ú#test_is_valid_y_improper_shape_2D_Fz0TestIsValidY.test_is_valid_y_improper_shape_2D_F  s$   € Ü�H‰H�W¤B§J¡JÔ/ˆÜ”Z “] EÕ*r5   c                 óÀ   — t        j                  dt         j                  ¬«      }t        j                  t
        «      5  t        |«       d d d «       y # 1 sw Y   y xY wrg  r�  rŽ  s     r3   Ú#test_is_valid_y_improper_shape_3D_Ez0TestIsValidY.test_is_valid_y_improper_shape_3D_E  s6   € Ü�H‰H�Y¤b§j¡jÔ1ˆÜ�]‰]œ:Õ&Ü˜QÔ÷ '×&Ñ&úrb  c                 óx   — t        j                  dt         j                  ¬«      }t        t	        |«      d«       y rk  r‘  rŽ  s     r3   Ú#test_is_valid_y_improper_shape_3D_Fz0TestIsValidY.test_is_valid_y_improper_shape_3D_F  s$   € Ü�H‰H�Y¤b§j¡jÔ1ˆÜ”Z “] EÕ*r5   c                 óP   — | j                  d«      }t        t        |«      d«       y )NrØ   T©Úcorrect_n_by_nr	   r   rŽ  s     r3   Útest_is_valid_y_correct_2_by_2z+TestIsValidY.test_is_valid_y_correct_2_by_2  ó    € Ø×Ñ Ó"ˆÜ”Z “] DÕ)r5   c                 óP   — | j                  d«      }t        t        |«      d«       y r€  r˜  rŽ  s     r3   Útest_is_valid_y_correct_3_by_3z+TestIsValidY.test_is_valid_y_correct_3_by_3  r›  r5   c                 óP   — | j                  d«      }t        t        |«      d«       y )Nr  Tr˜  rŽ  s     r3   Útest_is_valid_y_correct_4_by_4z+TestIsValidY.test_is_valid_y_correct_4_by_4#  r›  r5   c                 óP   — | j                  d«      }t        t        |«      d«       y )Nre  Tr˜  rŽ  s     r3   Útest_is_valid_y_correct_5_by_5z+TestIsValidY.test_is_valid_y_correct_5_by_5'  r›  r5   c                 ó  — t        «       }t        dd«      D ]  }|j                  ||dz
  z  dz  «       Œ t        dd«      D ]:  }||vsŒt        j                  t
        «      5  | j                  |«       d d d «       Œ< y # 1 sw Y   ŒGxY wr2  r4  r8  s       r3   Útest_is_valid_y_2_100z"TestIsValidY.test_is_valid_y_2_100+  sn   € Ü‹EˆÜ�q˜"–ˆAØ�E‰E�!�q˜1‘u‘+ ‘/Õ"ð ä�q˜#–ˆAØ˜ŠzÜ—]‘]¤:Õ.Ø—J‘J˜q”M÷ /Ð.ñ ç.Ð.úr:  c                 óZ   — t         j                  j                  |«      }t        |d¬«      S rX  )rY   r¸   r»   r   r=  s      r3   r7  zTestIsValidY.bad_y4  s!   € Ü�I‰I�N‰N˜1ÓˆÜ˜! 4Ô(Ð(r5   c                 óV   — t         j                  j                  ||dz
  z  dz  «      }|S rA  rB  r=  s      r3   r™  zTestIsValidY.correct_n_by_n8  s&   € Ü�I‰I�N‰N˜A  Q¡™K¨AÑ-Ó.ˆØˆr5   N)rì   rt  ru  r�  r’  r”  r–  rš  r�  rŸ  r¡  r£  r7  r™  rh   r5   r3   rŠ  rŠ    s9   „ ò
 ò
+ò ò
+ò*ò*ò*ò*ò"ò)ór5   rŠ  rQ  )g      $Àg      à¿rg  c                 ó  — t        j                  t        «      5  t        ddgddg| «       d d d «       t        j                  t        «      5  t        ddgddg| ddg«       d d d «       y # 1 sw Y   Œ@xY w# 1 sw Y   y xY w)Nrk   rØ   rá   r  )r-  r.  rz   r#   rW  s    r3   Ú
test_bad_pr§  =  sg   € ô 
�‰”zÕ	"Ü�1�a�&˜1˜a˜& !Ô$÷ 
#ä	�‰”zÕ	"Ü�1�a�&˜1˜a˜& ! a¨ VÔ,÷ 
#Ð	"÷ 
#Ð	"úç	"Ð	"ús   šA+ÁA7Á+A4Á7B c                  ó€   — t        j                  t        «      5  t        g d¢g d¢«       d d d «       y # 1 sw Y   y xY w)N)FFF)r-  r.  rz   r'   rh   r5   r3   Útest_sokalsneath_all_falser©  F  s&   € ä	�‰”zÕ	"ÜÒ)Ò+@ÔA÷ 
#×	"Ñ	"ús   š4´=c                  ól   — t        t        g d¢g d¢«      d«       t        t        g d¢g d¢«      d«       y )N©rk   rØ   rá   ©rØ   r  rƒ  rk   ©rk   rk   r   r   ©rk   r   rk   r   rØ   )r	   Ú	wcanberrarh   r5   r3   r´  r´  L  s$   € ä”š9¢iÓ0°!Ô4Ü”š<ªÓ6¸Õ:r5   c                  ót   — t        t        g d¢g d¢«      dd¬«       t        t        g d¢g d¢«      dd¬«       y )	Nr«  r¬  çUUUUUUÕ?é   ©Údecimalr­  r®  ri  )r
   Úwbraycurtisrh   r5   r3   Útest_braycurtisr¶  R  s(   € äœ¢IªyÓ9¸6È2ÕNÜœ¢L²,Ó?ÀÈbÖQr5   c                  ó€  — t        j                  g d¢«      } t        j                  g d¢«      }t        t        | |«      dd¬«       t        t	        | |«      t        j
                  d«      d¬«       t        j                  t        d¬«      5  t	        | t         j                  d d …f   |t         j                  d d …f   «      t        j
                  d«      f d d d «       t        j                  t        d¬«      5  t        | t         j                  d d …f   |t         j                  d d …f   «       d d d «       t        j                  t        d¬«      5  t        | d d …t         j                  f   |d d …t         j                  f   «       d d d «       t        j                  d	«      j                  d
d
«      }t        j                  t        «      5  t	        ||«       d d d «       t        j                  t        «      5  t        ||«       d d d «       t         j                  j                  d«      }|j                  d«      }|j                  d«      }t	        ||«      }t        ||«      }t        |d
z  |d¬«       y # 1 sw Y   �ŒªxY w# 1 sw Y   �Œ]xY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒÉxY w# 1 sw Y   Œ§xY w)N)rk   rk   rk   ©r   r   r   r  rÞ  r³  rá   úInput vector should be 1-Drò  r  rØ   iÒ–Ir½  )rY   r·   r
   rÛ  rØ  rj  r-  r.  rz   Únewaxisr,  r­   r¸   r¹   r»   )rk  rl  rÊ   Úrsr6  Úd1Úd2s          r3   Útest_euclideansr¾  X  sÚ  € ä	�‰’)Ó	€BÜ	�‰’)Ó	€Bô œ R¨Ó,¨c¸2Õ>Üœ
 2 rÓ*¬B¯G©G°A«JÀÕCô 
�‰”zÐ)EÖ	FÜ�2”b—j‘j¢!�mÑ$ b¬¯©²Q¨Ñ&7Ó8¼"¿'¹'À!»*ÑD÷ 
Gä	�‰”zÐ)EÖ	FÜ�RœŸ
™
¢A˜Ñ&¨¬2¯:©:²q¨=Ñ(9Ô:÷ 
Gä	�‰”zÐ)EÖ	FÜ�Ršœ2Ÿ:™:˜Ñ&¨ª1¬b¯j©j¨=Ñ(9Ô:÷ 
Gô 	�	‰	�!‹×Ñ˜Q Ó"€AÜ	�‰”zÕ	"Ü�1�aÔ÷ 
#ä	�‰”zÕ	"Ü�Q˜Ô÷ 
#ô 
�‰×	Ñ	˜zÓ	*€BØ
�‰�‹€AØ
�‰�‹€AÜ	�A�qÓ	€BÜ	�a˜Ó	€BÜ˜˜A™˜r¨2Ö.÷) 
GÑ	Fúç	FÑ	Fúç	FÑ	Fú÷
 
#Ð	"úç	"Ð	"ús=   ÂAJÃ<7JÅ7JÇJ(ÈJ4ÊJÊJÊJ%Ê(J1Ê4J=c                  óˆ   — g d¢} g d¢}t        j                  t        «      5  t        | |«       d d d «       y # 1 sw Y   y xY w)N©r   r   rk   r®  ©r-  r.  rz   Úwhamming©rÊ   r6  s     r3   Útest_hamming_unequal_lengthrÄ  y  s-   € â€AÚ€Aä	�‰”zÕ	"Ü��AŒ÷ 
#×	"Ñ	"ús	   ¢8¸Ac                  óš   — g d¢} g d¢}g d¢}d}t        j                  t        |¬«      5  t        | ||«       d d d «       y # 1 sw Y   y xY w)NrÀ  r®  z/'w' should have the same length as 'u' and 'v'.rò  rÁ  )ÚurÂ  rÓ   r  s       r3   Ú"test_hamming_unequal_length_with_wrÇ  ‚  s<   € Ú€AÚ€AÚ€AØ
;€CÜ	�‰”z¨Ö	-Ü��A�qÔ÷ 
.×	-Ñ	-ús   ªAÁA
c                  ó˜   — t        j                  g d¢d¬«      } t        j                  g d¢d¬«      }d}t        t        | |«      |«       y )N)ÚeggsÚspamrÊ  rÉ  rÊ  rÊ  rÊ  rÊ  rÊ  rÊ  rÊ  rÉ  rÉ  rÊ  rÉ  rÉ  rÉ  rÉ  rÉ  rÊ  z|S4rF   )rÉ  rÊ  rÊ  rÉ  rÉ  rÊ  rÊ  rÊ  rÊ  rÉ  rÊ  rÉ  rÊ  rÉ  rÊ  rÊ  rÉ  rÊ  rÊ  rÉ  gÍÌÌÌÌÌÜ?)rY   r·   r   rÂ  )rq   rÑ   Údesireds      r3   Útest_hamming_string_arrayrÌ  ‹  sM   € ä
�‰ò Bð ô	€Aô 	�‰ò Bð ô	€Að €GÜ”H˜Q “N GÕ,r5   c                  óê   — t        j                  g d¢g d¢g«      } t        | ddd ¬«      }t        | | ddd ¬«      }t        | dd¬«      }t        | | dd¬«      }t	        ||d¬«       t	        ||d¬«       y )N)
çÁQUUÕT@ç      Y@rÎ  rÏ  g      B@g      N@g     €V@g     Àb@g      8@g      H@r#   rk   )r4   rQ  rÓ   )r4   rQ  rE  rØ  )rY   r·   r   r   r   )Úarr_inÚp0Úc0Úp1Úc1s        r3   Útest_minkowski_wrÕ  ™  sy   € ä�X‰Xò 2ò2ð3ó 4€Fô 
ˆv˜k¨Q°$Ô	7€BÜ	ˆv�v k°Q¸$Ô	?€BÜ	ˆv˜k¨QÔ	/€BÜ	ˆv�v k°QÔ	7€Bä�B˜ Õ'Ü�B˜ Ö'r5   c                  ó°  — g d¢} g d¢}t         j                  t         j                  t         j                  t         j                  fD ]o  }t        t        j                  | |¬«      t        j                  ||¬«      «      }t        t        j                  |j                  t         j                  «      «       Œq t         j                  t         j                  t         j                  t         j                  fD ]•  }t        j                  |«      j                   }t        dgt        j                  |g|¬«      «      }t        t        j                  |g|¬«      dg«      }t#        ||«       t#        |t        j$                  |«      dz  «       Œ— t         j&                  t         j$                  t         j(                  t         j*                  g}dD ]2  }t-        t         |«      sŒ|j/                  t1        t         |«      «       Œ4 |D ]N  }t        t        j                  | |¬«      t        j                  ||¬«      «      }t#        |j                  |«       ŒP y )Nr«  )r  re  rƒ  rF   r   rØ   )Úfloat16Úfloat128)rY   r  Úint16r  r¬  rÛ  Úasarrayr   r´   rG   ÚfloatingÚuint8rÒ  Úuint32Úuint64ÚiinfoÚmaxr	   r¶   r^   Ú	complex64Ú
complex128Úhasattrr¼   Úgetattr)rÊ   r6  rG   ÚdÚumaxr¼  r½  Údtypess           r3   Útest_sqeuclidean_dtypesrè  ¨  sƒ  € ò 	€AÚ€Aä—'‘'œ2Ÿ8™8¤R§X¡X¬r¯x©xÓ8ˆÜœŸ™ A¨UÔ3´R·Z±ZÀÈÔ5OÓPˆÜ”—‘˜aŸg™g¤r§{¡{Ó3Õ4ð 9ô —(‘(œBŸI™I¤r§y¡y´"·)±)Ó<ˆÜ�x‰x˜‹×"Ñ"ˆÜ˜1˜#œrŸz™z¨4¨&¸Ô>Ó?ˆÜœ"Ÿ*™* d V°5Ô9¸A¸3Ó?ˆä�R˜ÔÜ�RœŸ™ DÓ)¨1Ñ,Õ-ð =ô �j‰jœ"Ÿ*™*¤b§l¡l´B·M±MÐB€FÛ(ˆô ”2�uÕØ�M‰Mœ'¤" eÓ,Õ-ð	 )ó ˆÜœŸ™ A¨UÔ3´R·Z±ZÀÈÔ5OÓPˆÜ�Q—W‘W˜eÕ$ñ r5   c                 ó°   — t        j                  g d¢g d¢g d¢g d¢g«      }|j                  «       }t        ||| «       t	        || «       t        ||«       y )Nr  r  r  ©g3333336@gÍÌÌÌÌL7@g333333F@)rY   rÚ  r¶  r   r   r   )r4   r0  r¹  s      r3   Útest_modifies_inputrë  Ç  sM   € ä	�‰’\Ú$Ú$Ú'ð)ó 
*€Bð �g‰g‹i€GÜ	ˆ"ˆb�&ÔÜ	ˆ"ˆfÔÜ�r˜7Õ#r5   c                 óœ  — t        j                  g d¢g d¢g d¢g d¢g«      }t        j                  t        «      5  t        ||| d«       d d d «       t        j                  t        «      5  t        || d«       d d d «       dD ]—  }|t        j                  d«      i}|dk(  r| d	k(  s|d
k(  r| dk(  s
|dk(  r| dk(  rŒ9t        j                  t        «      5  t        ||| fi |¤Ž d d d «       t        j                  t        «      5  t        || fi |¤Ž d d d «       Œ™ y # 1 sw Y   ŒÕxY w# 1 sw Y   Œ²xY w# 1 sw Y   ŒSxY w# 1 sw Y   ŒÈxY w)Nr  r  r  rê  rà   )rQ  r’  r”  r³   r’  r&   r”  r"   rQ  r#   )rY   rÚ  r-  r.  rÏ   r   r   )r4   r0  r7  rî   s       r3   Útest_Xdist_deprecated_argsrí  Ó  s  € ä	�‰’\Ú$Ú$Ú'ð)ó 
*€Bô
 
�‰”yÕ	!Üˆb�"�f˜bÔ!÷ 
"ô 
�‰”yÕ	!Üˆb�&˜"Ô÷ 
"ó  ˆØ”r—z‘z "“~Ð&ˆà�CŠZ˜F lÒ2Ø˜4’K F¨mÒ$;Ø˜3’J 6¨[Ò#8Øä�]‰]œ9Õ%Ü�"�b˜&Ñ+ FÒ+÷ &ô �]‰]œ9Õ%Ü�"�fÑ' Ò'÷ &Ð%ñ  ÷ 
"Ð	!ú÷ 
"Ð	!ú÷ &Ð%ú÷ &Ð%ús/   »DÁ+D*ÃD6ÄEÄD'Ä*D3Ä6D?	ÅE	c                 óÞ  — t         d   d d d…d d d…f   }t        j                  |j                  d   «      }|d d d…    |d d d…<   | dv rt	        j
                  d«       | t        | «      d| z   fD ]c  }t	        j                  t        «      5  t        |||¬«       d d d «       t	        j                  t        «      5  t        ||||¬«       d d d «       Œe y # 1 sw Y   Œ=xY w# 1 sw Y   Œ|xY w)	NrN   re  rØ   rk   )r&   r"   r!   únot applicabler+  ©rÓ   )r[   rY   r“   rŠ   r-  r=  r/  r.  rz   r   r   )r4   r^  rÓ   rŠ  s       r3   Útest_Xdist_non_negative_weightsrñ  ï  sÈ   € Ü
Ð Ñ!¡# A #¡s¨ s (Ñ+€AÜ
�‰�—‘˜‘
Ó€AØ‘�!�‰fˆW€A�cˆ€c�FàÐ?Ñ?Ü�‰Ð$Ô%à”d˜6“l G¨fÑ$4Ó5ˆÜ�]‰]œ:Õ&Ü�!�Q˜!Õ÷ 'ä�]‰]œ:Õ&Ü�!�Q˜˜QÕ÷ 'Ð&ñ 6ß&Ð&úç&Ð&ús   ÂCÂ<C#ÃC 	Ã#C,	c                  óò  — g d¢} t        | «      }t        || «       t        | t        j                  ¬«      }t        || «       t	        |j
                  t        j                  «       dg} t        | «      }t	        |j                  d«       t	        || «       d} t        j                  t        d¬«      5  t        | «       d d d «       t        j                  d«      j                  ddd«      } t        j                  t        d¬«      5  t        | «       d d d «       ddgd	d
gg} t        j                  t        d¬«      5  t        | «       d d d «       y # 1 sw Y   Œ–xY w# 1 sw Y   ŒMxY w# 1 sw Y   y xY w)Nr«  rF   rk   r¹  rò  re  r€   rØ   rá   r  )r   r   rY   r¶   r	   rG   rt   r-  r.  rz   r,  r­   rÃ  s     r3   Útest__validate_vectorró  þ  s  € Ú€AÜ˜Ó€AÜ�q˜!Ôä˜¤"§*¡*Ô-€AÜ�q˜!ÔÜ�—‘œ"Ÿ*™*Ô%à	
ˆ€AÜ˜Ó€AÜ�—‘˜ÔÜ��AÔà	€AÜ	�‰”zÐ)EÖ	FÜ˜Ô÷ 
Gô 	�	‰	�!‹×Ñ˜Q  AÓ&€AÜ	�‰”zÐ)EÖ	FÜ˜Ô÷ 
Gð ˆQˆ�!�Q�Ð€AÜ	�‰”zÐ)EÖ	FÜ˜Ô÷ 
GÐ	F÷ 
GÐ	Fú÷ 
GÐ	Fú÷ 
GÐ	Fús$   Â4EÄ	E!Å E-ÅEÅ!E*Å-E6c                  óà   — t        j                  dt        ¬«      } t        | d   | d   «      }|dk(  sJ ‚t	        | d«      }t        |dg«       t        | d d | d d d«      }t        |dgg«       y )N)rØ   rƒ  rF   r   rg  r)   rk   )rY   r“   r  r•  r   r	   r   )rÊ   rå  s     r3   Útest_yule_all_samerõ    sq   € ä
�‰�œdÔ#€AÜˆa�‰d�A�a‘DÓ€AØ�Š8€Oˆ8äˆa�Ó€AÜ��S�EÔäˆa��ˆe�Q�r˜�U˜FÓ#€AÜ��c�U�GÕr5   c                  ó†  — t        t        g d¢g d¢d«      d«       t        t        ddgddg«      d«       t        t        g d¢g d¢«      d«       t        t        ddggddggd	¬
«      ddg«       t        t        ddggddggd¬
«      dg«       t        t        ddggddggd	d¬«      ddgg«       t        t        ddggddggdd¬«      dgg«       t        j                  g d¢g d¢g d¢g«      } t        j                  g d¢g d¢g d¢g«      }t        t        | |d	¬
«      g d¢«       t        t        | |d¬
«      g d¢«       y )N)r³   rg  rg  )rg  r³   rg  rà   r³   rg  ri  g)>ÎdºÝ?rÑ  r   r   rk   gÆüÜÐ”�°?T)r|   Úkeepdims)rk   rØ   rá   r  )re  rƒ  é   re   )é	   r½  é   é   )é   rÞ  r²  r.  )é   é   é   é   )é   é   é   é   )gº'Y˜ÏÉ?gTÒyCÐ‡Â?g¥F�®w$½?gœ\BôZ¿·?)g;0%7/óÁ?g�‡ƒ)o¤?gkØï‰uª”?)r
   r!   rY   r·   )rq   rÑ   s     r3   rw  rw  %  sS  € Üœ¢o²ÈÓLØôäœ s¨C j°3¸°*Ó=Ø+ô-äœ¢o²ÓGÈÔMäœ¨¨S z l°c¸3°Z°LÀqÔIØ˜c˜
ô$äœ¨¨S z l°c¸3°Z°LÀqÔIØ"˜ô%äœ¨¨S z l°c¸3°Z°LÀqØ/3ô5Ø8;¸S°z°lôDäœ¨¨S z l°c¸3°Z°LÀqØ/3ô5Ø8A°{°môEô 	�‰’,ÚÚ!ð#ó 	$€Aô 	�‰Ò"Ú"Ú"ð$ó 	%€Aô œ a¨°Ô3ÚDôFäœ a¨°Ô3Ú9õ;r5   c                  ó.  — t        j                  g d¢«      } t        j                  g d¢«      }t        | |«      }t        | |gd¬«      }t	        ||«       t        t        j                  | «      t        j                  |«      d¬«      }t	        ||«       y )N)rk   r   r   )rØ   r   r   r   rf  )rY   r·   r   r   r   r   r—  )Úarr_1Úarr_2ÚexpectedÚactuals       r3   Útest_gh_17703r
  B  sq   € Ü�H‰H’YÓ€EÜ�H‰H’YÓ€EÜ�E˜5Ó!€HÜ�E˜5�>¨&Ô1€FÜ�F˜HÔ%Ü”2—=‘= Ó'Ü—=‘= Ó'°ô8€Fä�F˜HÕ%r5   c                 óþ   — | dv rt        j                  d«       t        j                  dt        j                  ¬«      }|j                  d¬«        t        t        j                  j                  | «      |||¬«       y )N)r!   r"   r&   rï  r½  rF   F)Úwriterð  )
r-  r=  rY   r,  r¶   Úsetflagsrä  ÚscipyÚspatialÚdistance)r4   rÊ   s     r3   Útest_immutable_inputr  M  sY   € ØÐ?Ñ?Ü�‰Ð$Ô%Ü
�	‰	�"œBŸJ™JÔ'€AØ‡J�J�U€JÔØ+„GŒE�M‰M×"Ñ" FÓ+¨A¨q°AÖ6r5   c                  óD  — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  g d¢«      }t        | ||¬«      }t	        |d«       t        t        j                  | «      t        j                  |«      d|¬«      }t	        ||«       y )N)r   r   rk   rk   )r   rk   rk   r   )rÑ  r  gffffffæ?gÍÌÌÌÌÌô?rð  gã2)^ ó?r)   )r4   rÓ   )rY   r·   rÚ  r)   r   r   r—  )rq   rÑ   rÓ   r  r	  s        r3   Útest_gh_23109r  U  sw   € Ü
�‰’Ó€AÜ
�‰’Ó€AÜ
�
‰
Ò'Ó(€AÜ�A�q˜AŒ€HÜ�HÐ0Ô1Ü”2—=‘= Ó#Ü—=‘= Ó#Ø  Aô'€Fô �F˜HÕ%r5   c                   óN   — 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„ Zy)ÚTestJaccardc                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y ©Nrs  rK   úpdist-jaccardr    rØ  r  rÛ  s        r3   Útest_pdist_jaccard_randomz%TestJaccard.test_pdist_jaccard_randomc  s4   € ØˆÜÐ"Ñ#ˆÜ�_Ñ%ˆÜ˜˜IÓ&ˆÜ˜ ¨sÖ3r5   c                 ó†   — d}t        j                  t        d   «      }t        d   }t        |d«      }t	        |||¬«       y r  r
  rÛ  s        r3   Ú!test_pdist_jaccard_random_float32z-TestJaccard.test_pdist_jaccard_random_float32j  ó=   € ØˆÜ�J‰J”rÐ-Ñ.Ó/ˆÜ�_Ñ%ˆÜ˜˜IÓ&ˆÜ˜ ¨sÖ3r5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y ©Nrs  rK   r  Útest_jaccardrØ  r  ræ  s        r3   Útest_pdist_jaccard_random_nonCz*TestJaccard.test_pdist_jaccard_random_nonCq  s4   € ØˆÜÐ"Ñ#ˆÜ�_Ñ%ˆÜ˜˜NÓ+ˆÜ˜ ¨sÖ3r5   c                 ó†   — d}t        j                  t        d   «      }t        d   }t        |d«      }t	        |||¬«       y r  rh  rÛ  s        r3   Útest_pdist_djaccard_randomz&TestJaccard.test_pdist_djaccard_randomx  r  r5   c                 ó†   — d}t        j                  t        d   «      }t        d   }t        |d«      }t	        |||¬«       y r  r
  rÛ  s        r3   Ú"test_pdist_djaccard_random_float32z.TestJaccard.test_pdist_djaccard_random_float32  r  r5   c                 óˆ   — d}t        t        j                  d«      d«      }t        t        j                  d«      ||¬«       y )NrE  ©re  rá   r    r½  rØ  ©r   rY   r  r   ©r  rM  r  s      r3   Útest_pdist_djaccard_allzerosz(TestJaccard.test_pdist_djaccard_allzeros†  s0   € ØˆÜ”"—(‘(˜6Ó" IÓ.ˆÜœŸ™ › a¨cÖ2r5   c                 ó†   — d}t        j                  t        d   «      }t        d   }t        |d«      }t	        |||¬«       y r  rh  ræ  s        r3   Útest_pdist_djaccard_random_nonCz+TestJaccard.test_pdist_djaccard_random_nonC‹  s=   € ØˆÜ�J‰J”rÐ-Ñ.Ó/ˆÜ�_Ñ%ˆÜ˜˜NÓ+ˆÜ˜ ¨sÖ3r5   c                 óˆ   — d}t        t        j                  d«      d«      }t        t        j                  d«      ||¬«       y )NrE  r&  r  r½  rØ  r'  r(  s      r3   Ú!test_pdist_djaccard_allzeros_nonCz-TestJaccard.test_pdist_djaccard_allzeros_nonC’  s0   € ØˆÜ”"—(‘(˜6Ó" NÓ3ˆÜœŸ™ › a¨cÖ2r5   c                 ó0  — t        t        j                  g d¢«      t        j                  g d¢«      «      }t        t        j                  g d¢t        ¬«      t        j                  g d¢t        ¬«      «      }t	        |ddd¬«       t	        |ddd¬«       y r�  ©ÚwjaccardrY   r·   r  r   r‰  s      r3   Útest_pdist_jaccard_mtica1z%TestJaccard.test_pdist_jaccard_mtica1—  sd   € Ü”R—X‘XšoÓ.Ü—X‘XšoÓ.ó0ˆä”b—h‘hš´dÔ;Ü—h‘hš´dÔ;ó=ˆä˜˜3 Q¨UÕ3Ü˜˜C a¨eÖ4r5   c                 ó0  — t        t        j                  g d¢«      t        j                  g d¢«      «      }t        t        j                  g d¢t        ¬«      t        j                  g d¢t        ¬«      «      }t	        |ddd¬«       t	        |ddd¬«       y rŽ  r/  r‰  s      r3   Útest_pdist_jaccard_mtica2z%TestJaccard.test_pdist_jaccard_mtica2Ÿ  sd   € Ü”R—X‘XšiÓ(Ü—X‘XšiÓ(ó*ˆä”b—h‘hšy´Ô5Ü—h‘hšy´Ô5ó7ˆä˜˜5 q¨uÕ5Ü˜˜E¨°Ö6r5   c                 ó>  — t        j                  g d¢«      }t        j                  g d¢«      }t        j                  t        «      j                  }t        t        ||«      d|¬«       t        t        |g|gd«      dgg«       t        t        ||gd«      dg«       y )N)iöÿÿÿg      @r   )rØ   éûÿÿÿrØ   r±  rØ  r    )	rY   r·   rí  rä  rM  r   r    r   r   )r  rÊ   r6  rM  s       r3   Útest_non_01_inputzTestJaccard.test_non_01_input§  sw   € ô �H‰H’]Ó#ˆÜ�H‰H’]Ó#ˆÜ�h‰h”u‹o×!Ñ!ˆÜœ  1› s°Õ5Üœ˜q˜c A 3¨	Ó2°c°U°GÔ<Üœ˜q !˜f iÓ0°3°%Õ8r5   N)rì   rt  ru  r  r  r   r"  r$  r)  r+  r-  r1  r3  r6  rh   r5   r3   r  r  a  s9   „ ò4ò4ò4ò4ò4ò3ò
4ò3ò
5ò7ó9r5   r  c                   ó<   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
y	)
ÚTestChebyshevc                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y )Nrs  rÖ  úpdist-chebyshevr   rØ  rõ  rÛ  s        r3   Útest_pdist_chebyshev_randomz)TestChebyshev.test_pdist_chebyshev_random´  s5   € ØˆÜÐ!Ñ"ˆÜÐ&Ñ'ˆÜ˜˜;Ó'ˆÜ˜ ¨sÖ3r5   c                 ó–   — d}t        j                  t        d   «      }t        d   }t        |d«      }t	        |||t
        dkD  ¬«       y )Nrž  rÖ  r:  r   rØ   rI  rt  rÛ  s        r3   Ú#test_pdist_chebyshev_random_float32z1TestChebyshev.test_pdist_chebyshev_random_float32»  sD   € ØˆÜ�J‰J”rÐ,Ñ-Ó.ˆÜÐ&Ñ'ˆÜ˜˜;Ó'ˆÜ˜ ¨s¼GÀa¹KÖHr5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y )Nrs  rÖ  r:  Útest_chebyshevrØ  rõ  ræ  s        r3   Ú test_pdist_chebyshev_random_nonCz.TestChebyshev.test_pdist_chebyshev_random_nonCÂ  s6   € ØˆÜÐ!Ñ"ˆÜÐ&Ñ'ˆÜ˜Ð+Ó,ˆÜ˜ ¨sÖ3r5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y )Nr[  rê  úpdist-chebyshev-irisr   rØ  rõ  rÛ  s        r3   Útest_pdist_chebyshev_irisz'TestChebyshev.test_pdist_chebyshev_irisÉ  s3   € ØˆÜˆv‰JˆÜÐ+Ñ,ˆÜ˜˜;Ó'ˆÜ˜ ¨sÖ3r5   c                 ó–   — d}t        j                  t        d   «      }t        d   }t        |d«      }t	        |||t
        dkD  ¬«       y )NrÅ   rê  rB  r   rØ   rI  rt  rÛ  s        r3   Ú!test_pdist_chebyshev_iris_float32z/TestChebyshev.test_pdist_chebyshev_iris_float32Ð  sB   € ØˆÜ�J‰J”r˜&‘zÓ"ˆÜÐ+Ñ,ˆÜ˜˜;Ó'ˆÜ˜ ¨s¼GÀa¹KÖHr5   c                 ó`   — d}t         d   }t         d   }t        |d«      }t        |||¬«       y )Nr[  rê  rB  r?  rØ  rõ  ræ  s        r3   Útest_pdist_chebyshev_iris_nonCz,TestChebyshev.test_pdist_chebyshev_iris_nonC×  s4   € ØˆÜˆv‰JˆÜÐ+Ñ,ˆÜ˜Ð+Ó,ˆÜ˜ ¨sÖ3r5   c                 óº   — g d¢}g d¢}g d¢}t        t        |||«      d«       t        t        ||gd|¬«      dg«       t        t        |g|gd|¬«      dgg«       y )Nr«  ©rƒ  re  r  )r   rk   re  rá   r   rð  ©r	   r   r   r   ©r  rÊ   r6  rÓ   s       r3   Útest_weightedzTestChebyshev.test_weightedÞ  s\   € ò ˆÚˆÚˆÜ”Y˜q ! QÓ'¨Ô+Ü”U˜A˜q˜6 ;°!Ô4°q°cÔ:Ü”U˜A˜3   [°AÔ6¸!¸¸Õ>r5   c                 óº   — g d¢}g d¢}g d¢}t        t        |||«      d«       t        t        ||gd|¬«      dg«       t        t        |g|gd|¬«      dgg«       y )Nr«  rI  r¸  r   r   rð  rJ  rK  s       r3   Útest_zero_weightzTestChebyshev.test_zero_weightè  sZ   € âˆÚˆÚˆÜ”Y˜q ! QÓ'¨Ô+Ü”U˜A˜q˜6 ;°!Ô4°q°cÔ:Ü”U˜A˜3   [°AÔ6¸!¸¸Õ>r5   N)rì   rt  ru  r;  r=  r@  rC  rE  rG  rL  rN  rh   r5   r3   r8  r8  ²  s,   „ ò4òIò4ò4òIò4ò?ó?r5   r8  rm   )	NNFTFFFFN)€Ú	functoolsr   r   Úos.pathrS   r;  rÊ  rê   rÀ  ÚnumpyrY   Únumpy.linalgr   Únumpy.testingr   r   r   r	   r
   r   r   r   r-  Úscipy.spatial.distancer  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)   Úscipy._lib._utilr*   r+   Úscipy.conftestr,   Úfixturer4   rQ   r·   Ú_tdistÚ_ytdistr[   rc   ri   r}   r¡   r”   r•   rÄ   Úassert_allclose_forgivingrÐ   r
  r`  rL  r  rÚ  r©  rˆ  rÂ  r•  r›  Ú
wcityblockÚ
wchebyshevrà  rã  r0  rØ  rÛ  rµ  r¯  r¥  r¯  r  rÍ  rÌ  rú  r  rD  rZ  r\  rˆ  rŠ  rÆ  rÇ  r§  r©  r´  r¶  r¾  rÄ  rÇ  rÌ  rÕ  rè  rë  rí  rñ  ró  rõ  rw  r
  r  r  r  r8  rh   r5   r3   Ú<module>r]     sb  ð÷F %Û Û 
Û Û Û ã Ý ÷2÷ 2ó 2ó ã ÷&÷ &õ &÷D÷ D÷ D÷ D÷ Dñ D÷ /Ý .ð €‡��~¨YÔ7ñó 8ðò€
ð@ 
ˆ�‰Ò/Ú2Ú2Ú2Ú2Ú2ð4ð
 <Dô
E€ñ �VÓ
€ð
 €ò>ñ Ô ò#óð -1Ø7;Ø+0Ø/4Øó	-$ò`òóñ8 $ O¸$Ô?Ð ð '@Ù! TóBð   !¨t¹ÐQTØ ¨Ø"¨t¸dØ#¨d¸EÐPUØ"¨c¸Ø#<ócñL 
˜¨Q¸Ô	>€Ù! %°aØ*/¸EôC€á	˜¨Q¸ÀaÔ	H€Ù! %°aÀØ-2¸1ô>€á! .Ó1€Ù& w¸Ô?Ð ?€	ˆHÙ˜Ó€Ù˜Ó€Ù˜YÓ'€
Ù˜YÓ'€
Ù
˜&Ó
!€Ù˜{Ó+€Ù˜7Ó#€Ù˜Y°5Ô9€
Ù˜{°uÔ=€Ù˜jÓ)€Ù˜H°Ô7€	Ù˜{Ó+€Ù˜jÓ)€÷cAñ cA÷L	I?ñ I?÷VP4ñ P4÷f@-ñ @-÷F32ñ 32÷l $ñ  $òF&÷F+ñ F+òR%÷6ñ 6ðr ‡�×Ñ˜Ò0Ó1ñ-ó 2ð-òBò;òRò/òBòò-ò(ò%ò>	$ò(ò8 òò4
ò;ò:&ò7ò	&÷N9ñ N9÷b=?ò =?r5   