+
    0iJ                    F   ^ RI HtHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t
^ RIHt ^ RIHtHtHtHtHtHtHtHt ^ RIt^ RIt^ RIHtHtHtHtHtHtHtH t H!t! ^ RIH"t"H#t#H$t$H%t%H&t&H't'H(t(H)t)H*t*H+t+H,t,H-t-H.t.H/t/H0t0H1t1H2t2H3t3H4t4 ^ RI5H6t6H7t7 ^ RI8H9t9 ]Pt                  ! ]!R	R
7      R 4       t;. ROOt<]
Pz                  ! . RPO. RQO. RRO. RSO. RTO. RUO.RR7      t>]! ]>4      t?/ t@R tA]A! 4        R tBRVR ltCRWR ltDR tER tFRVR ltG]! ]RR7      tH]HR R3R ltI^RR RRRRRRRRRRRR^ ]H3R ltJ]J! ]^RR7      tK]J! ]^RRR 7      tL]J! ]^R^R!7      tM]J! ]^RR^R"7      tN]J! ]/4      tO]J! ]*RR#7      ;tPtQ]J! ]44      tR]J! ](4      tS]J! ]%4      tT]J! ]$4      tU]J! ]'4      tV]J! ]&4      tW]J! ]+4      tX]J! ])RR$7      tY]J! ]3RR$7      tZ]J! ]"4      t[]J! ]#RR$7      t\]J! ]24      t]]J! ]04      t^ ! R% R&4      t_ ! R' R(4      t` ! R) R*4      ta ! R+ R,4      tb ! R- R.4      tc ! R/ R04      tdR1 te ! R2 R34      tfR4 tg ! R5 R64      th]P                  P                  R7. RXO4      R8 4       tkR9 tlR: tmR; tnR< toR= tpR> tqR? trR@ tsRA ttRB tuRC tvRD twRE txRF tyRG tzRH t{RI t|RJ t} ! RK RL4      t~ ! RM RN4      tR# )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                    V P                   # )z3
Fixture for all metrics in scipy.spatial.distance
)param)requests   &_/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/spatial/tests/test_distance.pymetricr4   D   s    
 ==    doubledtypec                     \          F  p V P                  R R4      P                  RR4      p\        P                  P	                  \        P                  P                  \        4      RV 4      p\        V4      p\        P                  ! V4      \        V&   VP                  4        K  	  \        P                  ! \        R,          4      \        R&   \        P                  ! \        R,          4      \        R&   \        P                  ! \        R,          4      \        R&   \        \        R,          4      \        R&   \        \        R	,          4      \        R	&   R
# )z.txt z-mldatapdist-boolean-inprandom-bool-datarandom-double-datarandom-float32-datarandom-int-datarandom-uint-dataN)
_filenamesreplaceospathjoindirname__file__opennploadtxteoclosebool_float32r*   r+   )fnnamefqfnfps       r3   load_testing_filesrT   {   s    zz&"%--eR8ww||BGGOOH5vrB$Z::b>4

  !hhr*='>?BXXb);&<=B "

2.B+C DB#B'8$9:B%b);&<=Br5   c                  H    \         P                  ! ^ 4      P                  ^8  # r   )rJ   intpitemsize r5   r3   	_is_32bitrZ      s    771:""r5   c                 8  a  S  Uu. uF  p\         P                  ! V4      NK  	  upo Vf<   S  Uu. uF,  pVP                  ^8w  d   \         P                  ! V4      MTNK.  	  upo ^ p\        ;QJ d    . R S  4       F  NK  	  5M! R S  4       4      o V^ 8  do   \
        ;QJ d    V 3R lS  4       F  '       d   K   RM	  RM! V 3R lS  4       4      '       g   \        R4      h\        S ^ ,          P                  4      V,          pS V3,           # u upi u upi )Nc              3   N   "   T F  p\         P                  ! V4      x  K  	  R # 5iN)rJ   
atleast_1d.0as   & r3   	<genexpr> _chk_asarrays.<locals>.<genexpr>   s     4V2==##Vs   #%c              3   b   <"   T F$  qP                   S^ ,          P                   8H  x  K&  	  R# 5ir   N)ndim)r`   ra   arrayss   & r3   rb   rc      s      <V66VAY^^+Vs   ,/FTz(array ndim must be the same for neg axis)rJ   
asanyarrayrf   raveltupleall
ValueErrorrange)rg   axisra   s   f& r3   _chk_asarraysro      s    (./1bmmA/F| "#!a "#1"((1+!3!#U4V4UU4V44Faxs<V<sss<V<<<GHHVAY^^$T*TG 0#s
   D2DFTc
                 t  aaa \        V SR 7      p
V
RR
 V
R
,          up oT;'       d    V'       * pV'       g=   V'       d5   \        ;QJ d    R V  4       F  '       g   K   RM	  RM! R V  4       4      pV'       d   V  Uu. uF-  p\        P                  ! \        P                  ! V4      4      NK/  	  pp\        V4      '       dC   RpRp\
        ;QJ d    . R \        W4       4       F  NK  	  5M! R \        W4       4       4      p Se   \        P                  ! S4      oMBV'       d0   \        P                  ! V ^ ,          P                  S,          4      oMV SS3,           # V	'       d   \        S4      oV'       d   \        V SS4      o\        ;QJ d     VV3R lV  4       F  '       d   K   RM	  RM! VV3R lV  4       4      '       g   \        R4      hV'       d%   S^ 8  P                  4       '       d   \        R4      hV'       dy   \        P                  ! S^ 8  4      ^ ,          oSP                  SP                  8  d>   \
        ;QJ d    . VV3R	 lV  4       F  NK  	  5M! VV3R	 lV  4       4      p SS,          oV'       d   S^8H  P                  4       '       d   RoV SS3,           # u upi )rn   Nc              3      "   T F>  p\         P                  P                  V4      \         P                  P                  Jx  K@  	  R # 5ir]   )rJ   magetmasknomaskr_   s   & r3   rb   _chk_weights.<locals>.<genexpr>   s*     Q&QBEEMM!,BEELL@&s   AATFc              3   x   "   T F0  w  rV'       d    \         P                  P                  V4      MTx  K2  	  R # 5ir]   )rJ   rs   masked_invalid)r`   ra   has_nans   &  r3   rb   rv      s0      D-Bzq 7>255//21D-Bs   8:c              3   f   <"   T F&  pSP                   VP                   S,          38H  x  K(  	  R # 5ir]   shape)r`   ra   rn   weightss   & r3   rb   rv      s%     A&Qw}} 00&s   .1z*weights shape must match arrays along axiszweights cannot be negativec              3   V   <"   T F  p\         P                  ! VSSR 7      x  K   	  R# 5i)rq   N)rJ   take)r`   ra   rn   pos_weightss   & r3   rb   rv      s!     Nv!2771k==vs   &))ro   anyrJ   isnansumrj   ziprh   onesr|   _freq_weights_weight_maskedrk   rl   nonzerosize)rg   r}   rn   force_weightssimplify_weightspos_only	neg_check
nan_screenmask_screenddofchkedra   has_nansr   s   &ff&&&&&&&   @r3   _chk_weightsr      s   
 &t,E":uRyLFD'==,=[Q&QQ&QQ178ABHHRVVAY'8x==K MU D-0-BDUU D-0-BD DF --(	''&)//$/0$''( $73A&A333A&AAAEFFgk&&((566jj1-a0gll*UNvNUUNvNNFk*GW\..00WdO##A 9s   3J5c                     V f   V # V P                  \        4      pW8g  P                  4       '       d   \        RV  24      hV# )Nz0frequency (integer count-type) weights required )astypeintr   rl   )r}   int_weightss   & r3   r   r      sE    ..%K##%%KG9UVVr5   c                   a Sf   ^ o\         P                  ! V4      pV  F  p\         P                  P                  V4      pV\         P                  P                  J d   KB  VP
                  ^8  dk   \        ;QJ d*    . V3R l\        VP
                  4       4       F  NK  	  5M#! V3R l\        VP
                  4       4       4      pVP                  VR7      pV^VP                  \        4      ,
          ,          pK  	  V# )Nc              3   8   <"   T F  qS8w  g   K  Vx  K  	  R # 5ir]   rY   )r`   irn   s   & r3   rb   !_weight_masked.<locals>.<genexpr>   s     C1dQQs   
rq   )rJ   rh   rs   rt   ru   rf   rj   rm   r   r   r   )rg   r}   rn   ra   	axis_masknot_axess   &&f   r3   r   r      s    |mmG$GEEMM!$	$66A:uCaffCuuCaffCCH!84I1y'',,,  Nr5   c                   aa V  Uu. uFY  p\         P                  ! VP                  \         P                  4      '       d    VP	                  \         P
                  4      MTNK[  	  p p\         P                  ! V\         P
                  R 7      p\         P                  P                  V4      pR pV ^ ,          P                  S,          o\        ;QJ d     VV3R lV  4       F  '       d   K   RM	  RM! VV3R lV  4       4      '       g   Q R4       h\        \        V4      S,          4       F  pVP                  SV,           4      p	W,          p
VP                  4       pW,          W&   \         P                  ! VRV,
          V
,          4      pV  Uu. uF#  p\         P                  ! W! WSR7      SR7      NK%  	  p pK  	  W3# u upi u upi )r7   c                     \         P                  ! \         P                  ! WVR 7      4      pTP                  \	        V P
                  4       Uu. uF  pWB8w  d   V P                  V,          M^NK   	  up4      # u upi )rq   )rJ   rh   r   reshaperm   rf   r|   )ra   ixrn   recordr   s   &&&  r3   mytake_rand_split.<locals>.mytake   se    rwwq489~~(-aff7(51 ./YqwwqzA=(57 8 	8 7s   $A:c              3   N   <"   T F  qP                   S,          S8H  x  K  	  R # 5ir]   r{   )r`   ra   rn   n_obss   & r3   rb   _rand_split.<locals>.<genexpr>   s     6v!wwt}%vs   "%FTz#data must be aligned on sample axis      ?rq   )rJ   
issubdtyper8   integerr   float64arrayrandomRandomStater|   rk   rm   r   randintrandappend)rg   r}   rn   	split_perseedarrseeded_randr   r   split_ixprev_wqra   r   s   &&f&&        @r3   _rand_splitr      sx    #)*"(3 )+cii(L(Lcjj$"(  * hhwbjj1G))''-K8
 1IOOD!E36v63336v666 10163y>E)*&&uqy1"J))Gb1f%67068061 ))Ava=!%'06 	 8 + ?/**8s   9G%G)Gh㈵>atolc                     V # r]   rY   xs   &r3   <lambda>r     s    r5   c                 0   V! V 4      pV! V4      p \         P                  ! WV8g  4      P                  4       '       d   V! WV4       R# R#   \         d    T! YV4        R# \        \
        3 d&    \        YV4       F  w  rx\        YxTR 7       K  	   R# i ; i))compare_assertN)rJ   r   r   AttributeError	TypeErrorrl   r   _rough_check)	ra   br   keywcheck_acheck_ba_ib_is	   &&&&&    r3   r   r     s    !fG!fGB88G&'++--7, . )w(z" BG-HC.A .Bs   4A
 
B B/"BBc                     V # r]   rY   r   s   &r3   r   r     s    1r5   r   r   c                p   a aaaaaaaaa	a
aaaaaa \        S 4      VVVV	V VVVVVVVVVV
VV3R l4       pV# )zruns 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            	        < S! V / VB pV R S pV SR  pVP                  S%R 4      pVP                  RS4      p\        W5VRRR7      pVR R VR,          VR,          repS$'       d4   V Uu. uF'  p\        P                  ! VP	                  4       4      NK)  	  pp \        V4      V,           p S'       d   WQS%&   \        VS! V / VB SR7       S'       dB   VR,          VS%&   \        VS! V / VB SR7       VR,          VS%&    \        VS! V / VB SR7       S'       Ed   \        W5VS"S R7      w  rW[R VP                  % ^ WP                  R % \        V
4      V,           pWS%&   \        VS! V/ VB SR7       V
 FT  p\        R 4      .VP                  ,          p\        VP                  R 4      W&   \        V4      pW,          ^e,          W&   KV  	  \        V
4      V,           p\        VS! V/ VB SR7       V
 Fb  p\        R 4      .VP                  ,          p\        VP                  R 4      W&   \        V4      pW,          \        P                  ,          W&   Kd  	  VP                  RR 4      R	8X  d/   S'       d'   \        V
4      V,           p\        VS! V/ VB SR7       S'       dv   V
 Uu. uF"  p\        P                  P                  V4      NK$  	  p
p\        V
4      V,           p\        VS! V/ VB SR7       S'       d   R VS%&   \        VS! V/ VB SR7       ?
??S'       dr   V Uu. uF  p\        P                   ! WVR
7      NK  	  pp\        P                   ! WU4      R,          p\        V4      V,           pWS%&   \        VS! V/ VB SR7       ???S#'       dG   S"^ 8  d@   \        W5VS"S R7      pVw  pp\        V4      V,           pVVS%&   \        VS! V/ VB SR7       V# u upi   \         d   p	\        T	4      ! YT34      T	hR p	?	ii ; iu upi u upi   \"         d;   p	S!'       g(   \$        P&                  ! SP(                   RT	 2^R7        R p	?	T# R p	?	ii ; i)Nrn   T)r}   rn   r   r   )r   g     @Y@gB`"۹?)r   r   
nan_policyomitrq          @z NotImplemented weights: )
stacklevelr   )getr   rJ   r^   squeezerj   r   	Exceptiontyper   r   slicerf   nanrs   rx   r   NotImplementedErrorwarningswarn__name__)&argskwargsresultrg   restr}   rn   r   ra   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_testrP   r   ma_safema_very_safen_argsnan_safe	ones_testr   silentr   
split_testr   
weight_args&   *,                   r3   wrapped _weight_checked.<locals>.wrapped  s5   T$V$gvFG}**Z.zz&,/V4+/TC %cr
E"IuRy:@A&QbmmAIIK0&FAJ	,=4'D%,z"VR%8%8cB%,u_z"VR%8%8cB%,u_z"? T)<V)<#F
 x*5ft@IPT+V'
-4MW\\*-.LLM* ,t3%0z"VR%<V%<#F#A$T{maff4G$)',,$=GM#GnG!"c!1AJ	 $
 !,t3VR%<V%<#F#A$T{maff4G$)',,$=GM#GnG!"bff!4AJ	 $
 ::lD1V;$Z047H X)@)@cJCM!N:a"%%"6"6q"9:J!N$Z047H X)@)@cJ#-1z*$VR-DV-D#N+ BHI&Qbii48&
I ii9C? ,t3%0z"VR%<V%<#Fj+ i!m#FT.7dD.3+m"<047
%2z"VR%>v%>CH [ B ! ?q'1g"67Q>?@ "O J # 	, -FqcJ)*,	,s   )-O*9P  ,P   O/ P  EP  ;-P  )P  -(PAP  )P  -!PAP  "AP  /P:PPP   Q%+/Q  Q%)r   )rP   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s   fffffffffffffffff& r3   _weight_checkedr     s3     2YY Y Y Yt Nr5   )r   r   )r   r   r   )r   r   r   )r   r   r   r   )r   )r   c                   >  a  ] tR tRt o R tR tR tR t]P                  P                  RRRR	R
RRR]P                  .4      R 4       tR tR tR tRR ltR tR t]P                  P)                  ]P,                  ! 4       R8H  RR7      R 4       tR tR tRtV tR# )	TestCdisti  c                &   . ROV n         R\        \        \        P                  \        P
                  .R\        \        P                  \        P
                  .R\        P                  \        P
                  .R\        P
                  ./V n        R# r?   booluintr   rO   N)r?   r@   rA   r>   r=   rnd_eo_namesr+   r*   rJ   rO   r   valid_upcastsselfs   &r3   setup_methodTestCdist.setup_method  _    1 %x"**bjj&Q$w

BJJ&G#bjj"**%='"**7r5   c           	     V   . RO. RO. R	O.p. R
O. RO. RO.pRRR\         P                  ! ^4      /pR.^,          p\        P                  ! \        4      ;_uu_ 4        \        W#3RV/VB  RRR4       \        P                  ! \        4      ;_uu_ 4        \        W#3R\        V4      /VB  RRR4       \        P                  ! \        4      ;_uu_ 4        \        W#3RRV,           /VB  RRR4       \        P                  ! \        4      ;_uu_ 4        \        W#.VO5RV/  RRR4       \        P                  ! \        4      ;_uu_ 4        \        W#.VO5R\        V4      /  RRR4       \        P                  ! \        4      ;_uu_ 4        \        W#.VO5RRV,           /  RRR4       R#   + '       g   i     ELS; i  + '       g   i     EL%; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)r   N0tV4l1D_p4raMQ	@r   r4   Ntest_r   r         @333333?ffffff@333333@皙@r  皙@g      @      @g       @g      @333333@g @g      @r  r  )rJ   arangepytestraisesr   r   eval)r	  r4   X1X2r   r   s   &&    r3   test_cdist_extra_argsTestCdist.test_cdist_extra_args  sk    O_=O_="D#ryy|<v|]]9%%"2262 &]]9%%"8f88 &]]9%%"<6!1<V< &]]9%%"/$// &]]9%%"55f5 &]]9%%"9D96!19 &% &%%%%%%%%%%%%%%sH   F6G
GG1HH6G	
G	G.	1H	H	H(	c                   RR lp. RO. RO. RO.p. RO. RO. RO.pRRR\         P                  ! ^4      /pR.^,          p\        P                  ! \        4      ;_uu_ 4        \        W#V4       RRR4       \        P                  ! \        4      ;_uu_ 4        \        W#V.VO5!   RRR4       \        P                  ! \        4      ;_uu_ 4        \        W#V3/ VB  RRR4       \        P                  ! \        4      ;_uu_ 4        \        W#VRRR7       RRR4       \        P                  ! \        4      ;_uu_ 4        \        W#V^^RR	7       RRR4       \        P                  ! \        4      ;_uu_ 4        \        W#V^^RR	7       RRR4       \        P                  ! \        4      ;_uu_ 4        \        W#VR
RR4       RRR4       \        P                  ! \        4      ;_uu_ 4        \        W#VR
R4       RRR4       \        P                  ! \        4      ;_uu_ 4        \        W#VR
4       RRR4       \        P                  ! \        4      ;_uu_ 4        \        W#VR
RRR7       RRR4       \        \        W#VR
RR7      R4       R#   + '       g   i     EL3; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELv; i  + '       g   i     ELP; i  + '       g   i     EL+; i  + '       g   i     EL; i  + '       g   i     L; i)   c                      W#,           V,           # r]   rY   r   yargkwargkwarg2s   &&&&&r3   
_my_metric:TestCdist.test_cdist_extra_args_custom.<locals>._my_metric      ;''r5   r  r  r  r   Nffffff
@r-  r.  r-  皙?r4   r,  r.  皙@r(     r  r  r  r  r  r  )rJ   r  r   r!  r   r   r   )r	  r/  r#  r$  r   r   s   &     r3   test_cdist_extra_args_custom&TestCdist.test_cdist_extra_args_custom  s   	( O_=O_="D#ryy|<v|]]9%%"*% &]]9%%"*,t, &]]9%%"*// &]]9%%"*C< &]]9%%"*a#6 &]]9%%"*a#6 &]]9%%"*c34 &]]9%%"*c3/ &]]9%%"*c* &]]9%%"*cSA & 	bZ"%c347	9- &%%%%%%%%%%%%%%%%%%%%%%%%%%%%sx   "JJ-K
KK)?K=:L4L%-L9%MJ*	-J>	K	K&	)K:	=L	L"	%L6	9M
	M	c                    R p\         R,          p\         R,          p\        W#R4      p\        W#R4      p\        WEV\        ^8  R7       R# )V瞯<cdist-X1cdist-X2r   test_euclideanrtolr   NrL   wcdist_no_constr   r   )r	  epsr#  r$  Y1Y2s   &     r3   #test_cdist_euclidean_random_unicode-TestCdist.test_cdist_euclidean_random_unicode  sB    
^
^R[1R%56S'A+>r5   p皙?      ?r   Gz?r   gffffff@gffffff@c                    R p\         R,          p\         R,          p\        W4RVR7      p\        W4RVR7      p\        WV^ V\        ^8  R7       R# )vIh%<=r>  r?  r#   rJ  test_minkowski)r   rB  r   NrC  )r	  rJ  rE  r#  r$  rF  rG  s   &&     r3   test_cdist_minkowski_random%TestCdist.test_cdist_minkowski_random  sJ     
^
^R[A6R%5;QS'A+Fr5   c                   R p\         R,          p\         R,          p\        W#R4      pR p^\        P                  ! W%! V4      ,          W5! V4      ,          P                  4      ,
          p\        WFV\        ^8  R7       R# )+=r>  r?  r   c                 d    \         P                  P                  V ^R7      P                  R^4      # )r(  rq   r   )rJ   linalgr   r   )Xs   &r3   norms1TestCdist.test_cdist_cosine_random.<locals>.norms  s&    99>>!!>,44R;;r5   rA  N)rL   wcdistrJ   dotTr   r   )r	  rE  r#  r$  rF  rY  rG  s   &      r3   test_cdist_cosine_random"TestCdist.test_cdist_cosine_random  sg    
^
^BH%	< eBi2b	>*<*<==S'A+>r5   c                   \         P                  ! ^.^..4      p\         P                  ! ^.^..4      p\        WRR7      p\        VR\         P                  ! R4      .\         P                  ! R4      \         P                  ! ^4      ..4       \         P                  ! ^ ^ .R^ ..4      p\         P                  ! ^ ^.^^ .^ R..4      p\        WRR7      p\         P                  ! ^4      p\        W4WD.^^V,          ^..4       \
        P                  ! \        4      ;_uu_ 4        \        ^ ^..^^..RR7       RRR4       R#   + '       g   i     R# ; i)	r9  r"   r4                 @      ?Nr   r   )rJ   r   r   r   sqrtr   r!  rl   )r	  x1x2distrt2s   &    r3   test_cdist_mahalanobis TestCdist.test_cdist_mahalanobis  s   XXsQCj!XXsQCj!RM2RWWS\2RWWS\2771:4NOP XX1vAw'(XX1v1v2w/0RM2ggajSAGQ@A ]]:&&Aq6(aVH]; '&&&s   )EE	c                   a  ! R  R4      oV3R lp\         P                  ! S! 4       ..\        R7      p\        W"VR7      pRp\	        W4\
        ^8  R7       R# )c                       ] tR tRtRtR# )6TestCdist.test_cdist_custom_notdouble.<locals>.myclassi
  rY   Nr   
__module____qualname____firstlineno____static_attributes__rY   r5   r3   myclassrn  
      r5   rt  c                    < \        V ^ ,          S4      '       d   \        V^ ,          S4      '       g   \        R4      hR# r   zType has been changed+?
isinstancerl   r   r+  rt  s   &&r3   r/  9TestCdist.test_cdist_custom_notdouble.<locals>._my_metric  3    adG,,JqtW4M4M !899r5   r7   ra  rx  r   N)rJ   r   objectr   r	   r   )r	  r/  r;   cdist_yright_yrt  s   &    @r3   test_cdist_custom_notdouble%TestCdist.test_cdist_custom_notdouble	  sI    	 		 xx')V4:6Ww{;r5   c           
     P    \        W3R V/VB p\        W3R \        V4      /VB p\        W3R RV,           /VB p\        WgV\        ^8  R7       \        WhV\        ^8  R7       R#   \         Ed2   p	T	P
                  p
\        ^8  d!   \        T
P                  4       \        T	4       \        P                  ! T
4      ;_uu_ 4        \        Y3R T/TB  RRR4       M  + '       g   i     M; i\        P                  ! T
4      ;_uu_ 4        \        Y3R \        T4      /TB  RRR4       M  + '       g   i     M; i\        P                  ! T
4      ;_uu_ 4        \        Y3R RT,           /TB  RRR4        Rp	?	R#   + '       g   i      Rp	?	R# ; iRp	?	ii ; ir4   r  rA  N)
r   r"  r   r   r   	__class__printr   r   r!  )r	  r#  r$  r4   rE  r   y1y2y3r   e_clss   &&&&&,     r3   _check_calling_conventions$TestCdist._check_calling_conventions  sA   	Cr7f77Br=d6l=f=BrAg&6A&AB BgkBBgkB  
	AKKE{enn%au%%b6V6v6 &%%%u%%b<T&\<V< &%%%u%%b@Wv%5@@ &%%%%
	Af   :A( (F%4AF 	C!	F !C1,&F D3*	F 3E>&F $F:F FF F  F%c                T   V P                    EF  p\        V,          R RRR
13,          p\        V,          R,          p\        ^8  d   \        RVRV4       VR9   d
   RV9  d   KZ  V P	                  W4V4       VR8X  dc   \
        P                  ! W4.4      P                  \
        P                  4      p\
        P                  ! V^ ^R7      pV P	                  W4WR7       K  VR8X  g   K  \
        P                  ! W4.4      P                  \
        P                  4      p\
        P                  ! \
        P                  ! VP                  4      4      p\
        P                  ! \
        P                  P                  V4      P                  4      pV P	                  W4WR	7       EK  	  R# )NN   N	testing:  with: r  r&   rn   r   Vr"   VIr   :r(  Nr  NNr9  >   r   r)   r%   r'   r$   )r  rL   r   r  r  rJ   vstackr   r   var
atleast_2dcovr]  r   rW  inv)r	  r4   eo_namer#  r$  X12r  r  s   &&      r3   test_cdist_calling_conventions(TestCdist.test_cdist_calling_conventions+  s:    ((G GS$B$Y'BGY'B{k69g> * *')++BF; %ii)00<FF3QQ////D=(ii)00<MM"&&-0XXbiimmA.001///F/ )r5   c                n   R p\         R,          V P                  R,          3\         R,          V P                  R,          3\         R,          V P                  R,          3\         R,          V P                  R,          3.pV Fu  pV^ ,          R	R
R
R13,          pV^ ,          R,          p \        WVVR7      pV^,           F2  p\        V! V4      V! V4      VR7      p	\        WyV\        ^8  R7       K4  	  Kw  	  R
#   \
         d   p
T
P                  p\        ^8  d!   \        TP                  4       \        T
4       T^,           F[  pT! T4      pT! T4      p\        P                  ! T4      ;_uu_ 4        \        YTR7       R
R
R
4       KI    + '       g   i     KZ  ; i	   R
p
?
EK,  R
p
?
ii ; i)Hz>r=   r  rA   r  r@   r   r?   rO   r  Nra  rA  r   r  )rL   r  r   r   r   r   r  r  r   r   r!  )r	  r4   rE  teststestr#  r$  r  new_typer  r   r  X1newX2news   &&            r3   test_cdist_dtype_equivalence&TestCdist.test_cdist_dtype_equivalenceH  sn   '($*<*<V*DE'($*<*<V*DE&'););E)BC*+T-?-?	-JKM Dadd#Ba#BK2&1 !%QHx|Xb\&IB#BgkJ !(! 
  	;Q;%..)!H $QH$RLE$RLEu--e6: .--- !(	;s1   ,C>>F4	A1F/:F
F/F#F//F4z	win-arm64znumpy#29442)reasonc                l   R p\         R,          p\         R,          pVP                  ^ ,          VP                  ^ ,          re\        4       pVR8X  d   RVR&   \        P                  ! WV3\        P
                  R7      p\        W4V3/ VB p	\        W4V3RV/VB p
\        WV\        ^8  R7       \        WJ 4       \        P                  ! V^,
          V^,           3\        P
                  R7      p\        P                  ! \        4      ;_uu_ 4        \        W4V3RV/VB  R	R	R	4       \        P                  ! ^V,          ^V,          3\        P
                  R7      R,          p\        P                  ! WV3\        P
                  R
R7      p\        P                  ! \        4      ;_uu_ 4        \        W4V3RV/VB  R	R	R	4       \        P                  ! \        4      ;_uu_ 4        \        W4V3RV/VB  R	R	R	4       \        P                  ! WV3\        P                  R7      p\        P                  ! \        4      ;_uu_ 4        \        W4V3RV/VB  R	R	R	4       R	#   + '       g   i     ELM; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R	# ; i)r=  r>  r?  r#   rM  rJ  r7   outrA  NF)r8   orderr  r  )rL   r|   dictrJ   emptyr   r   r   r   r   r   r!  rl   int64)r	  r4   rE  r#  r$  out_rout_cr   out1rF  rG  out2out3out4out5s   &&             r3   test_cdist_outTestCdist.test_cdist_outc  s    
^
^xx{BHHQKu[ F3Kxxbjj926,V,266t6v6 	S'A+> 	
 xxq%'*"**=]]:&&"&5d5f5 ' xxYE	""**66>@xxbjjD]]:&&"&5d5f5 ']]:&&"&5d5f5 ' xxbhh7]]:&&"&5d5f5 '& '&& '&&&
 '&&s0   I(3I<-JJ"(I9	<J	J	"J3	c                \   R p\         R,          R,          p\         R,          R,          pVP                  4       pVP                  4       p\        W54       \        WF4       \        VP                  P
                  '       * 4       \        VP                  P
                  '       * 4       \        VP                  P
                  4       \        VP                  P
                  4       \        4       pVR8X  d   RVR&   \        W4V3/ VB p\        WVV3/ VB p	\        WV\        ^8  R7       R# )	r=  r>  r?  r#   rM  rJ  rA  Nr  )
rL   copyr	   r   flagsc_contiguousr  r   r   r   )
r	  r4   rE  r#  r$  X1_copyX2_copyr   rF  rG  s
   &&        r3   test_stridingTestCdist.test_striding  s     
^H%
^H%'')'') 	R!R!BHH)))*BHH)))***+**+[ F3K26,V,7V6v6S'A+>r5   c                   \         P                  P                  ^
^
4      p\         P                  P                  ^
^
4      p\        4       pVR8X  d   RVR&   \	        W#3RV/VB pW#V3 Uu. uF  p\
        P                  ! V4      NK  	  pp???\        '       d   \        4        \        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       g   Q hR# u upi )	
   r#   rM  rJ  r4   c              3   2   "   T F  q! 4       R J x  K  	  R # 5ir]   rY   )r`   weak_refs   & r3   rb   0TestCdist.test_cdist_refcount.<locals>.<genexpr>  s     @i(8:%is   FTN)
rJ   r   r   r  r   weakrefrefr   r   rk   )r	  r4   rf  rg  r   r  v	weak_refss   &&      r3   test_cdist_refcountTestCdist.test_cdist_refcount  s    YY^^B#YY^^B#[ F3KB464V4 /1c];]W[[^]	;C7Ns@i@sss@i@@@@@ <s   +C#r  r  Nr  )r   rp  rq  rr  r
  r%  r:  rH  r   markparametrizerJ   infrR  r^  rj  r  r  r  r  skipif	sysconfigget_platformr  r  r  rs  __classdictcell____classdict__s   @r3   r   r     s     7:*"9H? [[S3c4#&S"&&#: ;G;G?<$<C*G:K6 [[	..0K?V%6 W%6N?4A Ar5   r   c            	         a  ] tR tRt o R tR tR tR tR tR t	R t
]P                  P                  R	 4       t]P                  P                  R
 4       t]P                  P                  R 4       tR tR tR tR tR tR tR tR tR t]P                  P                  R 4       t]P                  P                  R 4       t]P                  P                  R 4       tR tR tR tR t ]P                  P                  R 4       t!]P                  P                  R 4       t"]P                  P                  R 4       t#R t$R  t%R! t&]P                  P                  R" 4       t']P                  P                  R# 4       t(]P                  P                  R$ 4       t)]P                  PU                  R%R&R'R(R)R*]+PX                  .4      R+ 4       t-R, t.R- t/R. t0]P                  P                  R/ 4       t1]P                  P                  R0 4       t2]P                  P                  R1 4       t3]P                  P                  R2 4       t4]P                  P                  R3 4       t5]P                  P                  R4 4       t6R5 t7R6 t8R7 t9R8 t:R9 t;R: t<R; t=R< t>R= t?R> t@R? tAR@ tBRA tCRB tDRC tERD tFRE tGRF tHRG tIRH tJRI tKRJ tLRK tMRL tNRM tO]P                  P                  RN 4       tPRO tQ]RRP 4       tSRXRQ ltTRR tURS tVRT tWRU tXRVtYV tZRW# )Y	TestPdisti  c                &   . ROV n         R\        \        \        P                  \        P
                  .R\        \        P                  \        P
                  .R\        P                  \        P
                  .R\        P
                  ./V n        R# r  r  r  s   &r3   r
  TestPdist.setup_method  r  r5   c           	     @   R R.RR.RR..pRRR\         P                  ! ^4      /pR.^,          p\        P                  ! \        4      ;_uu_ 4        \        V3RV/VB  R	R	R	4       \        P                  ! \        4      ;_uu_ 4        \        V3R\        V4      /VB  R	R	R	4       \        P                  ! \        4      ;_uu_ 4        \        V3RR
V,           /VB  R	R	R	4       \        P                  ! \        4      ;_uu_ 4        \        V.VO5RV/  R	R	R	4       \        P                  ! \        4      ;_uu_ 4        \        V.VO5R\        V4      /  R	R	R	4       \        P                  ! \        4      ;_uu_ 4        \        V.VO5RR
V,           /  R	R	R	4       R	#   + '       g   i     ELS; i  + '       g   i     EL%; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R	# ; i)r   r   r  r  r  r  r  r   r4   Nr  )rJ   r  r   r!  r   r   r"  )r	  r4   r#  r   r   s   &&   r3   test_pdist_extra_argsTestPdist.test_pdist_extra_args  si   2hc
S#J/"D#ryy|<v|]]9%%".V.v. &]]9%%"4T&\4V4 &]]9%%"8Wv-88 &]]9%%"+d+V+ &]]9%%"1D1T&\1 &]]9%%"55Wv-5 &% &%%%%%%%%%%%%%%sH   F+F?GG&G9
H+F<	?G	G#	&G6	9H		H	c           
        RR lpRR.RR.RR..pRRR	\         P                  ! ^4      /pR.^,          p\        P                  ! \        4      ;_uu_ 4        \        W!4       R
R
R
4       \        P                  ! \        4      ;_uu_ 4        \        W!.VO5!   R
R
R
4       \        P                  ! \        4      ;_uu_ 4        \        W!3/ VB  R
R
R
4       \        P                  ! \        4      ;_uu_ 4        \        W!RRR7       R
R
R
4       \        P                  ! \        4      ;_uu_ 4        \        W!^^RR7       R
R
R
4       \        P                  ! \        4      ;_uu_ 4        \        W!^^RR7       R
R
R
4       \        P                  ! \        4      ;_uu_ 4        \        W!RRR4       R
R
R
4       \        P                  ! \        4      ;_uu_ 4        \        W!RR4       R
R
R
4       \        P                  ! \        4      ;_uu_ 4        \        W!R4       R
R
R
4       \        P                  ! \        4      ;_uu_ 4        \        W!RRRR7       R
R
R
4       \        \        W!RRR7      R4       R
#   + '       g   i     EL); i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELq; i  + '       g   i     ELL; i  + '       g   i     EL(; i  + '       g   i     EL; i  + '       g   i     L; i)r(  c                      W#,           V,           # r]   rY   r*  s   &&&&&r3   r/  :TestPdist.test_pdist_extra_args_custom.<locals>._my_metric  r1  r5   r   r   r  r  r  r  r  r   Nr2  r3  r4  r5  r6  r7  r8  )rJ   r  r   r!  r   r   r   )r	  r/  r#  r   r   s   &    r3   test_pdist_extra_args_custom&TestPdist.test_pdist_extra_args_custom  s   	( 2hc
S#J/"D#ryy|<v|]]9%%"! &]]9%%"(4( &]]9%%"+F+ &]]9%%"C8 &]]9%%"!Qc2 &]]9%%"!Qc2 &]]9%%"#sC0 &]]9%%"#s+ &]]9%%"#& &]]9%%"#S= & 	b"%c347	9- &%%%%%%%%%%%%%%%%%%%%%%%%%%%%sx   JJJ+<J?5K/K')K;"LL#L7J	J(	+J<	?K	K$	'K8	;L	L 	#L4	7M	c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# r  pdist-double-inppdist-euclideanr   rB  NrL   wpdist_no_constr   r	  rE  rX  Y_rightY_test1s   &    r3   test_pdist_euclidean_random%TestPdist.test_pdist_euclidean_random  3    !"&'!![1s3r5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# r  r  r  s   &    r3   test_pdist_euclidean_random_u'TestPdist.test_pdist_euclidean_random_u  r  r5   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       R# r  rJ   rO   rL   r  r   r  s   &    r3   #test_pdist_euclidean_random_float32-TestPdist.test_pdist_euclidean_random_float32  s<    JJr,-.&'!![1s3r5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r  r  r  r@  r  Nr  r	  rE  rX  r  Y_test2s   &    r3    test_pdist_euclidean_random_nonC*TestPdist.test_pdist_euclidean_random_nonC  s4    !"&'!!%56s3r5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r  irispdist-euclidean-irisr   r  Nr  r  s   &    r3    test_pdist_euclidean_iris_double*TestPdist.test_pdist_euclidean_iris_double  s1    vJ+,!![1s3r5   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCV\
        ^8  R7       R# )r   r  r  r   rA  NrJ   rO   rL   r  r   r   r  s   &    r3   !test_pdist_euclidean_iris_float32+TestPdist.test_pdist_euclidean_iris_float32  @    JJr&z"+,!![1sGaKHr5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r  r  r  r@  r  Nr  r  s   &    r3   test_pdist_euclidean_iris_nonC(TestPdist.test_pdist_euclidean_iris_nonC&  s4     vJ+,!!%56s3r5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r  r  pdist-seuclideanr&   r  NrL   r   r   r  s   &    r3   test_pdist_seuclidean_random&TestPdist.test_pdist_seuclidean_random0  s3    !"'(<(s3r5   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       \         P
                  ! V^ ^R7      p\        VRVR7      p\	        WcVR7       R# )r  r  r  r&   r  r  r  N)rJ   rO   rL   r   r   r  )r	  rE  rX  r  r  r  r  s   &      r3   $test_pdist_seuclidean_random_float32.TestPdist.test_pdist_seuclidean_random_float327  sh    JJr,-.'(<(s3 FF111%<1-s3r5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r  r  r  test_seuclideanr  Nr  r  s   &    r3   !test_pdist_seuclidean_random_nonC+TestPdist.test_pdist_seuclidean_random_nonCC  s4    !"'(,-s3r5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r  r  pdist-seuclidean-irisr&   r  Nr  r  s   &    r3   test_pdist_seuclidean_iris$TestPdist.test_pdist_seuclidean_irisK  s1    vJ,-<(s3r5   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       R# )r   r  r  r&   r  N)rJ   rO   rL   r   r   r  s   &    r3   "test_pdist_seuclidean_iris_float32,TestPdist.test_pdist_seuclidean_iris_float32R  s:    JJr&z",-<(s3r5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r  r  r  r  r  Nr  r  s   &    r3   test_pdist_seuclidean_iris_nonC)TestPdist.test_pdist_seuclidean_iris_nonCZ  s4     vJ,-,-s3r5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# r  r  pdist-cosiner   r  NrL   wpdistr   r  s   &    r3   test_pdist_cosine_random"TestPdist.test_pdist_cosine_randomc  s2    !"^$H%s3r5   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       R# r&  rJ   rO   rL   r)  r   r  s   &    r3    test_pdist_cosine_random_float32*TestPdist.test_pdist_cosine_random_float32j  s;    JJr,-.^$H%s3r5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r  r  r'  test_cosiner  Nr(  r  s   &    r3   test_pdist_cosine_random_nonC'TestPdist.test_pdist_cosine_random_nonCq  s2    !"^$M*s3r5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r   r  pdist-cosine-irisr   r   Nr(  r  s   &    r3   test_pdist_cosine_iris TestPdist.test_pdist_cosine_irisy  s1    vJ()H%s3r5   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCV\
        ^8  R7       R# )r   r  r5  r   r   r   N)rJ   rO   rL   r)  r   r   r  s   &    r3   test_pdist_cosine_iris_float32(TestPdist.test_pdist_cosine_iris_float32  s@    JJr&z"()H%sGaKHr5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r   r  r5  r1  r   Nr(  r  s   &    r3   test_pdist_cosine_iris_nonC%TestPdist.test_pdist_cosine_iris_nonC  s1    vJ()M*s3r5   c                    \         P                  ! \         P                  P                  R 4      P	                  ^[4      4      p\         P
                  ! W.4      p\        \        VR4      ^ ,          ^ 8  RR7       R# )i9  r   z&cosine distance should be non-negative)msgN)rJ   absr   r   r   r  r   r)  )r	  r   rX  s   &  r3   test_pdist_cosine_bounds"TestPdist.test_pdist_cosine_bounds  sZ     FF299((.33B78IIqfq(#A&!+<	>r5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# r  r  pdist-cityblockr   r  Nr  r  s   &    r3   test_pdist_cityblock_random%TestPdist.test_pdist_cityblock_random  s3    !"&'!![1s3r5   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       R# rE  r  r  s   &    r3   #test_pdist_cityblock_random_float32-TestPdist.test_pdist_cityblock_random_float32  s<    JJr,-.&'!![1s3r5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r  r  rF  test_cityblockr  Nr  r  s   &    r3    test_pdist_cityblock_random_nonC*TestPdist.test_pdist_cityblock_random_nonC  s4    !"&'!!%56s3r5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )rU  r  pdist-cityblock-irisr   r  Nr  r  s   &    r3   test_pdist_cityblock_iris#TestPdist.test_pdist_cityblock_iris  s1    vJ+,!![1s3r5   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCV\
        ^8  R7       R# )r   r  rQ  r   rA  Nr  r  s   &    r3   !test_pdist_cityblock_iris_float32+TestPdist.test_pdist_cityblock_iris_float32  r  r5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )rU  r  rQ  rM  r  Nr  r  s   &    r3   test_pdist_cityblock_iris_nonC(TestPdist.test_pdist_cityblock_iris_nonC  s4     vJ+,!!%56s3r5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# r  r  pdist-correlationr   r  Nr(  r  s   &    r3   test_pdist_correlation_random'TestPdist.test_pdist_correlation_random  s3    !"()M*s3r5   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       R# r[  r-  r  s   &    r3   %test_pdist_correlation_random_float32/TestPdist.test_pdist_correlation_random_float32  s<    JJr,-.()M*s3r5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r  r  r\  test_correlationr  Nr(  r  s   &    r3   "test_pdist_correlation_random_nonC,TestPdist.test_pdist_correlation_random_nonC  s4    !"()./s3r5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r  r  pdist-correlation-irisr   r  Nr(  r  s   &    r3   test_pdist_correlation_iris%TestPdist.test_pdist_correlation_iris  s1    vJ-.M*s3r5   c                    R p\         R,          p\        P                  ! \         R,          4      p\        VR4      p\	        WCV\
        ^8  R7       R# )r  r  rg  r   rA  N)rL   rJ   rO   r)  r   r   r  s   &    r3   #test_pdist_correlation_iris_float32-TestPdist.test_pdist_correlation_iris_float32  s@    vJ**R 89:M*sGaKHr5   c                    \         P                  R8  d   RpM\        P                  ! R4       \        R,          p\        R,          p\        VR4      p\        WCXR7       R# )	r9  r  zsee gh-16456r  rg  rc  r  Nl        )sysmaxsizer   skiprL   r)  r   r  s   &    r3    test_pdist_correlation_iris_nonC*TestPdist.test_pdist_correlation_iris_nonC  sJ    ;;CKK'vJ-../s3r5   rJ  rK  rL  r   r   皙	@c                x    R p\         R,          p\        VRVR7      p\        VRVR7      p\        WE^ VR7       R# )rO  r  r#   rP  rQ  )r   rB  Nr  )r	  rJ  rE  rX  rF  rG  s   &&    r3   test_pdist_minkowski_random_p'TestPdist.test_pdist_minkowski_random_p  s;    !"Qq1Q 0A6QS1r5   c                t    R p\         R,          p\         R,          p\        VRRR7      p\        WCVR7       R# r  r  pdist-minkowski-3.2r#   rs  rP  r  Nr  r  s   &    r3   test_pdist_minkowski_random%TestPdist.test_pdist_minkowski_random  s5    !"*+!![C8s3r5   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VRRR7      p\	        WCVR7       R# rx  r  r  s   &    r3   #test_pdist_minkowski_random_float32-TestPdist.test_pdist_minkowski_random_float32  s>    JJr,-.*+!![C8s3r5   c                t    R p\         R,          p\         R,          p\        VRRR7      p\        WCVR7       R# )r  r  ry  rQ  rs  rP  r  Nr  r  s   &    r3    test_pdist_minkowski_random_nonC*TestPdist.test_pdist_minkowski_random_nonC  s6    !"*+!!%5=s3r5   c                t    R p\         R,          p\         R,          p\        VRRR7      p\        WCVR7       R# )r  r  pdist-minkowski-3.2-irisr#   rs  rP  r  Nr  r  s   &    r3   test_pdist_minkowski_3_2_iris'TestPdist.test_pdist_minkowski_3_2_iris  3    vJ/0!![C8s3r5   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VRRR7      p\	        WCVR7       R# )r   r  r  r#   rs  rP  r  Nr  r  s   &    r3   %test_pdist_minkowski_3_2_iris_float32/TestPdist.test_pdist_minkowski_3_2_iris_float32  s<    JJr&z"/0!![C8s3r5   c                t    R p\         R,          p\         R,          p\        VRRR7      p\        WCVR7       R# )r  r  r  rQ  rs  rP  r  Nr  r  s   &    r3   "test_pdist_minkowski_3_2_iris_nonC,TestPdist.test_pdist_minkowski_3_2_iris_nonC&  4    vJ/0!!%5=s3r5   c                t    R p\         R,          p\         R,          p\        VRRR7      p\        WCVR7       R# )r  r  pdist-minkowski-5.8-irisr#   r  rP  r  Nr  r  s   &    r3   test_pdist_minkowski_5_8_iris'TestPdist.test_pdist_minkowski_5_8_iris.  r  r5   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VRRR7      p\	        WCV\
        ^8  R7       R# )r   r  r  r#   r  rP  rA  Nr  r  s   &    r3   %test_pdist_minkowski_5_8_iris_float32/TestPdist.test_pdist_minkowski_5_8_iris_float326  sB    JJr&z"/0!![C8sGaKHr5   c                t    R p\         R,          p\         R,          p\        VRRR7      p\        WCVR7       R# )r  r  r  rQ  r  rP  r  Nr  r  s   &    r3   "test_pdist_minkowski_5_8_iris_nonC,TestPdist.test_pdist_minkowski_5_8_iris_nonC>  r  r5   c                   \         P                  ! . RO4      P                  R^4      p\        VRR7      p\	        VR\         P
                  ! R4      \         P
                  ! R4      \         P
                  ! R4      \         P
                  ! R4      \         P
                  ! R 4      .4       \         P                  ! ^ ^ .R^ .^ ^.^^ .^ R	..4      p\        VRR7      p\         P
                  ! ^4      p\	        W#W3V^^V,          ^^^V,          ^.
4       \        P                  ! \        4      ;_uu_ 4        \        ^ ^.^^..RR7       RRR4       R#   + '       g   i     R# ; i)
r   r"   ra  rb  rd  rc  N)r   r   r  r  r   r   )
rJ   r   r   r   r   re  r   r!  rl   r)  )r	  r   rh  ri  s   &   r3   test_pdist_mahalanobis TestPdist.test_pdist_mahalanobisF  s   HH)*222q9Q}-sBGGCL"''#,!wws|RWWS\2773<I 	J HHq!fr1g1v1v2w?@Q}-ggajCc1a#gq!QWaPQ ]]:&&QFQF#M: '&&&s   8EE'	c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# r=  r<   pdist-hammingr   r  Nr(  r  s   &    r3   test_pdist_hamming_random#TestPdist.test_pdist_hamming_randomW  s2    "#_%I&s3r5   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       R# r  r-  r  s   &    r3   !test_pdist_hamming_random_float32+TestPdist.test_pdist_hamming_random_float32^  ;    JJr-./_%I&s3r5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# r=  r<   r  test_hammingr  Nr(  r  s   &    r3   test_pdist_hamming_random_nonC(TestPdist.test_pdist_hamming_random_nonCe  s2    "#_%N+s3r5   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       R# r  rJ   r   rL   r)  r   r  s   &    r3   test_pdist_dhamming_random$TestPdist.test_pdist_dhamming_randoml  r  r5   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       R# r  r-  r  s   &    r3   "test_pdist_dhamming_random_float32,TestPdist.test_pdist_dhamming_random_float32s  r  r5   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       R# r  r  r  s   &    r3   test_pdist_dhamming_random_nonC)TestPdist.test_pdist_dhamming_random_nonCz  s;    JJr-./_%N+s3r5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )dy=r  pdist-jensenshannonr!   r  Nr  r  s   &    r3   test_pdist_jensenshannon_random)TestPdist.test_pdist_jensenshannon_random  s3    !"*+?+s3r5   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCV\
        ^8  R7       R# ):0yE>r  r  r!   rA  NrJ   rO   rL   r   r   r   r  s   &    r3   'test_pdist_jensenshannon_random_float321TestPdist.test_pdist_jensenshannon_random_float32  sB    JJr,-.*+?+sGaKHr5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r  r  r  test_jensenshannonr  Nr  r  s   &    r3   $test_pdist_jensenshannon_random_nonC.TestPdist.test_pdist_jensenshannon_random_nonC  s4    !"*+/0s3r5   c                    \        4       '       d   R pMRp\        R,          p\        R,          p\        VR4      p\        WCVR7       R# )g&.=g-q=r  pdist-jensenshannon-irisr!   r   N)rZ   rL   r   r   r  s   &    r3   test_pdist_jensenshannon_iris'TestPdist.test_pdist_jensenshannon_iris  s=    ;;CCvJ/0?+s3r5   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCV\
        ^8  R7       R# )gư>r  r  r!   r9  Nr  r  s   &    r3   %test_pdist_jensenshannon_iris_float32/TestPdist.test_pdist_jensenshannon_iris_float32  s@    JJr&z"/0?+sGaKHr5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )g-C6
?r  r  r  r  Nr  r  s   &    r3   "test_pdist_jensenshannon_iris_nonC,TestPdist.test_pdist_jensenshannon_iris_nonC  s2    vJ/0/0s3r5   c                :   \        \        P                  ! . RO4      \        P                  ! . RO4      4      p\        \        P                  ! . RO\        R7      \        P                  ! . RO\        R7      4      p\	        VR^ RR7       \	        VR^ RR7       R# r(  r7   333333?绽|=rB  r   Nr(  r   r(  r(  r   r(  r(  r   r(  r(  	wmatchingrJ   r   r  r   r	  mm2s   &  r3   test_pdist_matching_mtica1$TestPdist.test_pdist_matching_mtica1  sd    bhh/hh/1rxxt<xxt<>3QU3Cae4r5   c                :   \        \        P                  ! . RO4      \        P                  ! . RO4      4      p\        \        P                  ! . RO\        R7      \        P                  ! . RO\        R7      4      p\	        VR^ RR7       \	        VR^ RR7       R# r(  r7   r  r  Nr(  r   r(  r(  r(  r   gUUUUUU?r  r  s   &  r3   test_pdist_matching_mtica2$TestPdist.test_pdist_matching_mtica2  sd    bhhy)XXi(*rxx	6hhy575qu5E6r5   c                f   \        \        P                  ! . RO4      \        P                  ! . RO4      4      p\        \        P                  ! . RO\        R7      \        P                  ! . RO\        R7      4      p\        ^8  d   \        V4       \        V^^ RR7       \        V^^ RR7       R# )r(  r7   r  r  Nr  r  wyulerJ   r   r  r   r  r   r  s   &  r3   test_pdist_yule_mtica1 TestPdist.test_pdist_yule_mtica1  sr    "((?+((?+-288O4888O48:Q;!H1151AAE2r5   c                f   \        \        P                  ! . RO4      \        P                  ! . RO4      4      p\        \        P                  ! . RO\        R7      \        P                  ! . RO\        R7      4      p\        ^8  d   \        V4       \        V^^ RR7       \        V^^ RR7       R# )r(  r7   r  r  Nr  r  r  r  s   &  r3   test_pdist_yule_mtica2 TestPdist.test_pdist_yule_mtica2  sr    "((9%((9%'288IT288IT24Q;!H1151AAE2r5   c                f   \        \        P                  ! . RO4      \        P                  ! . RO4      4      p\        \        P                  ! . RO\        R7      \        P                  ! . RO\        R7      4      p\        ^8  d   \        V4       \        VR^ RR7       \        VR^ RR7       R# )r(  r7   r  r  Nr  r  g۶m۶m?wdicerJ   r   r  r   r  r   r  s   &  r3   test_pdist_dice_mtica1 TestPdist.test_pdist_dice_mtica1  sr    "((?+((?+-288O4888O48:Q;!H5qu5E6r5   c                f   \        \        P                  ! . RO4      \        P                  ! . RO4      4      p\        \        P                  ! . RO\        R7      \        P                  ! . RO\        R7      4      p\        ^8  d   \        V4       \        VR^ RR7       \        VR^ RR7       R# )r(  r7   rd  r  r  Nr  r  r  r  s   &  r3   test_pdist_dice_mtica2 TestPdist.test_pdist_dice_mtica2  sr    "((9%((9%'288IT288IT24Q;!H3QU3Cae4r5   c                f   \        \        P                  ! . RO4      \        P                  ! . RO4      4      p\        \        P                  ! . RO\        R7      \        P                  ! . RO\        R7      4      p\        ^8  d   \        V4       \        VR^ RR7       \        VR^ RR7       R# r(  r7   r  r  Nr  r  g      ?)r'   rJ   r   r  r   r  r   r  s   &  r3   test_pdist_sokalsneath_mtica1'TestPdist.test_pdist_sokalsneath_mtica1  s    113/>/>@Q;!H5qu5E6r5   c                f   \        \        P                  ! . RO4      \        P                  ! . RO4      4      p\        \        P                  ! . RO\        R7      \        P                  ! . RO\        R7      4      p\        ^8  d   \        V4       \        VR^ RR7       \        VR^ RR7       R# r(  r7   r  r  Nr  r  g?)wsokalsneathrJ   r   r  r   r  r   r  s   &  r3   test_pdist_sokalsneath_mtica2'TestPdist.test_pdist_sokalsneath_mtica2  sr    ),),."((9D9((9D9;Q;!H5qu5E6r5   c                f   \        \        P                  ! . RO4      \        P                  ! . RO4      4      p\        \        P                  ! . RO\        R7      \        P                  ! . RO\        R7      4      p\        ^8  d   \        V4       \        VR^ RR7       \        VR^ RR7       R# r  wrogerstanimotorJ   r   r  r   r  r   r  s   &  r3    test_pdist_rogerstanimoto_mtica1*TestPdist.test_pdist_rogerstanimoto_mtica1  ss    BHH_5HH_57RXXoTBXXoTBDQ;!H5qu5E6r5   c                f   \        \        P                  ! . RO4      \        P                  ! . RO4      4      p\        \        P                  ! . RO\        R7      \        P                  ! . RO\        R7      4      p\        ^8  d   \        V4       \        VR^ RR7       \        VR^ RR7       R# r  r  r  s   &  r3    test_pdist_rogerstanimoto_mtica2*TestPdist.test_pdist_rogerstanimoto_mtica2  sr    BHHY/HHY/1RXXit<XXit<>Q;!H5qu5E6r5   c                f   \        \        P                  ! . RO4      \        P                  ! . RO4      4      p\        \        P                  ! . RO\        R7      \        P                  ! . RO\        R7      4      p\        ^8  d   \        V4       \        VR^ RR7       \        VR^ RR7       R# )r(  r7   r  r  Nr  r  r  wrussellraorJ   r   r  r   r  r   r  s   &  r3   test_pdist_russellrao_mtica1&TestPdist.test_pdist_russellrao_mtica1  r  r5   c                f   \        \        P                  ! . RO4      \        P                  ! . RO4      4      p\        \        P                  ! . RO\        R7      \        P                  ! . RO\        R7      4      p\        ^8  d   \        V4       \        VR^ RR7       \        VR^ RR7       R# r  r  r  s   &  r3   test_pdist_russellrao_mtica2&TestPdist.test_pdist_russellrao_mtica2  sr    ++-)48)48:Q;!H5qu5E6r5   c                    \         R ,          p\        ^8  d!   \        VP                  VP                  4       Rp\        VR4      p\        VR4      p\        W4V\        ^8  R7       R# )r  r=  r   test_canberrarA  N)rL   r   r  r|   r8   r  r   )r	  DrE  r  r  s   &    r3   test_pdist_canberra_match#TestPdist.test_pdist_canberra_match&  sQ    vJQ;!''177#Q
+Q0S'A+>r5   c                X    R p\        R.R.3R4      pRp\        W#V\        ^8  R7       R# )r  r2  r  r   gd>@1?r9  N)r  r   r   )r	  rE  pdist_yr  s   &   r3   test_pdist_canberra_ticket_711(TestPdist.test_pdist_canberra_ticket_7110  s2     !C53%.*=sGaKHr5   c                   a  ! R  R4      oV3R lp\         P                  ! S! 4       .S! 4       ..\        R7      p\        W!R7      pRp\	        W4\
        ^8  R7       R# )c                       ] tR tRtRtR# )6TestPdist.test_pdist_custom_notdouble.<locals>.myclassi;  rY   Nro  rY   r5   r3   rt  r  ;  ru  r5   rt  c                    < \        V ^ ,          S4      '       d   \        V^ ,          S4      '       g   \        R4      hR# rw  ry  r{  s   &&r3   r/  9TestPdist.test_pdist_custom_notdouble.<locals>._my_metric>  r}  r5   r7   ra  rx  r~  N)rJ   r   r  r   r	   r   )r	  r/  r;   r  r  rt  s   &    @r3   test_pdist_custom_notdouble%TestPdist.test_pdist_custom_notdouble8  sN    	 		 xx')wyk2&A0Ww{;r5   c           
     P    \        V3R V/VB p\        V3R \        V4      /VB p\        V3R RV,           /VB p\        WVV\        ^8  R7       \        WWV\        ^8  R7       R#   \         Ed2   pTP
                  p	\        ^8  d!   \        T	P                  4       \        T4       \        P                  ! T	4      ;_uu_ 4        \        T3R T/TB  RRR4       M  + '       g   i     M; i\        P                  ! T	4      ;_uu_ 4        \        T3R \        T4      /TB  RRR4       M  + '       g   i     M; i\        P                  ! T	4      ;_uu_ 4        \        T3R RT,           /TB  RRR4        Rp?R#   + '       g   i      Rp?R# ; iRp?ii ; ir  )
r   r"  r   r   r   r  r  r   r   r!  )
r	  rX  r4   rE  r   r  r  r  r   r  s
   &&&&,     r3   r  $TestPdist._check_calling_conventionsG  s?   	Cq2262Bq8f88Bq<6!1<V<B BgkBBgkB  
	<KKE{enn%au%%a11&1 &%%%u%%a7V77 &%%%u%%a;& 0;F; &%%%%
	<r  c                   V P                    EFN  p\        V,          R
,          p\        ^8  d   \        RVRV4       VR9   d
   RV9  d   KA  V P	                  W14       VR8X  dL   \
        P                  ! VP                  \
        P                  4      ^ ^R7      pV P	                  W1VR7       K  VR8X  g   K  \
        P                  ! \
        P                  ! VP                  \
        P                  4      P                  4      4      p\
        P                  ! \
        P                  P                  V4      P                  4      pV P	                  W1VR7       EKQ  	  R	# )r  r  r  r  r&   r  r  r"   r  Nr  r  >   r   r)   matchingr%   r'   r$   )r  rL   r   r  r  rJ   r  r   r   r  r  r]  r   rW  r  )r	  r4   r  rX  r  r  s   &&    r3   test_pdist_calling_conventions(TestPdist.test_pdist_calling_conventions\  s   
 ((G 7H%A{k69g> ) )-37-B++A6 %FF188BJJ/aa@//Q/?=(MM"&&"**)=)?)?"@AXXbiimmA.001//b/A' )r5   c           
     "   R p\         R,          V P                  R,          3\         R,          V P                  R,          3\         R,          V P                  R,          3\         R,          V P                  R,          3.pV FX  pV^ ,          R,          p \        WQR	7      pV^,           F+  p\        V! V4      VR	7      p\        WhV\        ^8  R
7       K-  	  KZ  	  R#   \
         d   p	T	P                  p
\        ^8  d!   \        T
P                  4       \        T	4       T^,           FR  pT! T4      p\        P                  ! T
4      ;_uu_ 4        \        YR	7       RRR4       K@    + '       g   i     KQ  ; i	   Rp	?	EK  Rp	?	ii ; i)r  r=   r  rA   r  r@   r   r?   rO   ra  rA  Nr  )rL   r  r   r   r   r   r  r  r   r   r!  )r	  r4   rE  r  r  r#  r  r  r  r   r  r$  s   &&          r3   test_pdist_dtype_equivalence&TestPdist.test_pdist_dtype_equivalencev  sE   '($*<*<V*DE'($*<*<V*DE&'););E)BC*+T-?-?	-JKM Da"BK2- !%QHx|F;B#BgkJ !(   1Q;%..)!H $QH!"Bu--b0 .--- !(1s1   C!!F,A)F	E,"
F	,E=7F		Fc                l   R p\         R,          R
,          p\        VP                  ^ ,          VP                  ^ ,          ^,
          ,          ^,          4      p\        4       pVR8X  d   RVR&   \        P
                  ! V\        P                  R7      p\        W13/ VB p\        W13RV/VB p\        WVR7       \        WJ 4       \        P
                  ! V^,           \        P                  R7      p	\        P                  ! \        4      ;_uu_ 4        \        W13RV	/VB  R	R	R	4       \        P
                  ! ^V,          \        P                  R7      R,          p
\        P                  ! \        4      ;_uu_ 4        \        W13RV
/VB  R	R	R	4       \        P
                  ! V\        P                  R7      p\        P                  ! \        4      ;_uu_ 4        \        W13RV/VB  R	R	R	4       R	#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R	# ; i)r=  r?   r  r#   rM  rJ  r7   r  r  Nr  )rL   r   r|   r  rJ   r  r   r   r   r   r   r!  rl   r  )r	  r4   rE  rX  out_sizer   r  r  r  r  r  r  s   &&          r3   test_pdist_outTestPdist.test_pdist_out  s   $%h/
aggaj1n5:;[ F3Kxx

3,V,6t6v6 	s3 	  xx1BJJ7]]:&&!000 ' xxHBJJ7<]]:&&!000 ' xx1]]:&&!000 '& '&
 '&
 '&&s$   G<H#H"<H	H	"H3	c                ^   R p\         R,          R,          pVP                  4       p\        VP                  P                  '       * 4       \        VP                  P                  4       \        4       pVR8X  d   RVR&   \        W13/ VB p\        WA3/ VB p\        WgV\        ^8  R7       R# )r=  r?   r#   rM  rJ  rA  Nr  )	rL   r  r   r  r  r  r   r   r   )r	  r4   rE  rX  X_copyr   rF  rG  s   &&      r3   r  TestPdist.test_striding  s     $%h/ 	AGG((()))*[ F3K1''6,V,S'A+>r5   r  Nr  )[r   rp  rq  rr  r
  r  r  r  r  r  r   r   r  slowr  r	  r  r  r  r  r  r   r#  r*  r.  r2  r6  r:  r=  rB  rG  rJ  rN  rR  rU  rX  r]  r`  rd  rh  rk  rq  r  rJ   r  ru  rz  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r,   r  r  r  r!  r%  r  rs  r  r  s   @r3   r  r    s    76&!9F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 [[S3c3RVV"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 1D? ?r5   r  c                      a  ] tR tRt o R tR tR tR tR tR t	R t
R	 t]P                  P                  R
4      ]P                  P                  R]].4      R 4       4       tR tRtV tR# )TestSomeDistanceFunctionsi  c                x    \         P                  ! . RO4      p\         P                  ! . RO4      pW3.V n        R# )r   Nr  r   r   r  )rJ   r   cases)r	  r   r+  s   &  r3   r
  &TestSomeDistanceFunctions.setup_method  s)    HH_%HH_%fX
r5   c           	        V P                    Fi  w  r\        W^R7      p\        VR4       \        WRR7      p\        VR4       \        W^R7      p\        VR4       \        WRR7      p\        VR4       Kk  	  \        P                  ! RR.4      p\        P                  ! RR.4      p\        \        Wx4      \        VP                  R	4      VP                  R	4      4      4       R
# )r(  rP  r        ?rL  i`  i  i^  i  uint16Ngqaz@gw@gR"6@)r/  r#   r
   rJ   r   r	   r   )	r	  r   r+  dist1dist1p5dist2dist0p25ra   r   s	   &        r3   rQ  (TestSomeDistanceFunctions.test_minkowski  s    JJDAaa(Es+,G)CDaa(Ez2 .H*BC  HHc3Z HHc3Z Yq_qxx1188H3EF	Hr5   c                    V P                    F0  w  r\        W4      p\        V\        P                  ! ^4      4       K2  	  R# r  N)r/  
weuclideanr
   rJ   re  r	  r   r+  rh  s   &   r3   r@  (TestSomeDistanceFunctions.test_euclidean  s.    JJDAa#Dbggaj1 r5   c                ^    V P                    F  w  r\        W4      p\        VR 4       K  	  R# )r  N)r/  wsqeuclideanr
   r<  s   &   r3   test_sqeuclidean*TestSomeDistanceFunctions.test_sqeuclidean  s&    JJDA%Dc* r5   c           
         V P                    FY  w  r\        W4      p\        VR R\        P                  ! ^4      \        P                  ! ^4      ,          ,          ,
          4       K[  	  R# )r   g      2@N)r/  wcosiner
   rJ   re  r<  s   &   r3   r1  %TestSomeDistanceFunctions.test_cosine  sD    JJDA1=DcDBGGBK"''"+4M,N&NO r5   c                    \        \        ^^.^^.RR7      \        4      '       g   Q h\        \        ^^.^^.4      \        4      '       g   Q hR# )r(  F)centeredN)rz  wcorrelationfloatrC  r  s   &r3   test_cosine_output_dtype2TestSomeDistanceFunctions.test_cosine_output_dtype  sH    ,1v1vFNNNN'1a&1a&159999r5   c           
     4   \         P                  ! . RO4      p\         P                  ! . RO4      pV P                   FW  w  r4\        W44      p\	        VR \         P
                  ! W4      \        V4      \        V4      ,          ,          ,
          4       KY  	  R# )r   N)      r   r   )UUUUUUrM  gUUUUUU@)rJ   r   r/  rG  r
   r\  r   )r	  xmymr   r+  rh  s   &     r3   rc  *TestSomeDistanceFunctions.test_correlation  sb    XXn%XX9:JJDA%DcBFF2Nd2hb>Q,R&RS r5   c                *   \         P                  ! . R NR NR NR NR NR NRNR NR NR NRNRNRNR NRNR NRNR NR NRNRNR NRNR NR NRNR NR NRNR NRNRNRNRNRNRNR N4      p\         P                  ! . RNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRN4      p\        W4      p^ Tu;8:  d<   ^
\         P                  ! \         P                  4      P
                  ,          8:  g   Q h Q hR# )rb  r   r   Ng       rL  )rJ   r   r   finfor   rE  r<  s   &   r3   test_correlation_positive3TestSomeDistanceFunctions.test_correlation_positive  s   HH Ib I" Ib I" Ib I" Ic I2 Ir I2 Is IC I III!I#&I(*I,.I03I58I:<I>@IBDIFHIJMIII!I#%I'*I,/I14I69I;>I@CIEGI J HH Ib I" Ib I" Ib I" Ic I2 Ir I2 Is IC I III!I#&I(*I,.I02I47I9;I=?IACIEGIILIII!I#%I'*I,/I14I69I;>I@CIEGI J 1 D9B"**!5!9!9999999r5   zignore:Casting complexfuncc                    RR.pRR.p\         P                  ! \        RR7      ;_uu_ 4        V! W#4       RRR4       R#   + '       g   i     R# ; i)r(  realmatchNy      ?        y       @        y      @        y      @        )r   r!  r   )r	  rU  r   r+  s   &&  r3   test_corr_dep_complex/TestSomeDistanceFunctions.test_corr_dep_complex  s=     4L4L]]9F33J 4333s   	A  A	c                &   \         P                  ! . RO4      p\         P                  ! . RO4      p\         P                  ! . RO. RO. RO.4      pV P                   F1  w  r\        WV4      p\	        V\         P
                  ! R4      4       K3  	  R# )r   g      @Nr  r.  )r   r   rb  )r   r   r   )rb  r   r   )rJ   r   r/  r"   r
   re  )r	  r   r+  virh  s   &    r3   test_mahalanobis*TestSomeDistanceFunctions.test_mahalanobis  sa    HH_%HH_%XXIJJJDAqR(Dbggcl3 r5   )r/  N)r   rp  rq  rr  r
  rQ  r@  r@  r1  rI  rc  rS  r   r  filterwarningsr  r   r   rZ  r^  rs  r  r  s   @r3   r,  r,    s|     H&2
+
P
:
T	: [[ 89[[Vk6%:; < :4 4r5   r,  c                      a  ] tR tRt o ]P
                  ]P                  ]P                  ]P                  ]	.t
R tR tR tR tR tR tRtV tR	# )
TestSquareFormi  c                N    V P                    F  pV P                  V4       K  	  R # r]   )checked_dtypescheck_squareform_matrixr	  r8   s   & r3   test_squareform_matrix%TestSquareForm.test_squareform_matrix       ((E((/ )r5   c                N    V P                    F  pV P                  V4       K  	  R # r]   )rd  check_squareform_vectorrf  s   & r3   test_squareform_vector%TestSquareForm.test_squareform_vector  ri  r5   c                2   \         P                  ! RVR7      p\        V4      p\        VP                  R4       \        VP
                  V4       \         P                  ! RVR7      p\        V4      p\        VP                  R4       \        VP
                  V4       \         P                  ! ^ R.R^ ..VR7      p\        V4      p\        VP                  R4       \        VP
                  V4       \        V\         P                  ! R.VR7      4       R# )r   r7   g@N)r   r   rV   r(  r(  r(  )rJ   zerosr   r	   r|   r8   r   r   )r	  r8   ArAs   &&  r3   re  &TestSquareForm.check_squareform_matrix"  s    HHV5)]RXXt$RXXu%HHV5)]RXXt$RXXu%HHq#ha)7]RXXt$RXXu%2rxxU;<r5   c                   \         P                  ! RVR7      p\        V4      p\        VP                  R4       \        VP
                  V4       \        V^ ..4       \         P                  ! R.VR7      p\        V4      p\        VP                  R4       \        VP
                  V4       \        V\         P                  ! ^ R.R^ ..VR7      4       R# )r   r7   g @NrV   ro  )r9  r9  )rJ   rq  r   r	   r|   r8   r   r   )r	  r8   r  rvs   &&  r3   rk  &TestSquareForm.check_squareform_vector3  s    HHT']RXXv&RXXu%2u%HHcU%(]RXXv&RXXu%2rxx!SC8(<EJKr5   c                N    \        ^^4       F  pV P                  V4       K  	  R# r9  N)rm   check_squareform_multi_matrixr	  ns   & r3   test_squareform_multi_matrix+TestSquareForm.test_squareform_multi_matrix@  s     q!A..q1 r5   c                   \         P                  P                  V^4      p\        V4      p\	        \        VP                  4      ^4       \        V4      p\        V4      pVP                  p^ p\        ^8  d,   \        VP                  VP                  VP                  4       \	        \        V4      ^4       \	        \        VP                  4      ^4       \	        V^ ,          V^,          4       \        ^ V^ ,          4       Fc  p\        V^,           V^,          4       FB  p	W8w  d&   \	        WHV	3,          W7,          4       V^,          pK.  \	        WHV	3,          ^ 4       KD  	  Ke  	  R#    N)rJ   r   r   r  r	   lenr|   r   r   r  rm   )
r	  r|  rX  Yrr  Yrskr   js
   &&        r3   rz  ,TestSquareForm.check_squareform_multi_matrixD  s    IINN1a AS\1%qM]GGa<!''177BHH-SVQS]A&QqT1Q4 q!A$A1q5!A$'6 a4!$/FA a4!, (  r5   rY   N)r   rp  rq  rr  rJ   r   rO   int32int8r  rd  rg  rl  re  rk  r}  rz  rs  r  r  s   @r3   rb  rb    sI     jj"**bhhFN00="L2- -r5   rb  c                   b   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tRtV tR# )TestNumObsYiZ  c                    \        ^^
4       FC  p\        P                  P                  V^4      p\	        V4      p\        \        V4      V4       KE  	  R# ry  )rm   rJ   r   r   r  r	   r   )r	  r|  rX  r  s   &   r3   test_num_obs_y_multi_matrix'TestNumObsY.test_num_obs_y_multi_matrix\  s>    q"A		q!$A"A1q) r5   c                    \         P                  ! \        4      ;_uu_ 4        V P                  ^4       RRR4       R#   + '       g   i     R# ; ir(  N)r   r!  rl   check_yr  s   &r3   test_num_obs_y_1TestNumObsY.test_num_obs_y_1b  s-     ]]:&&LLO '&&&s	   ?A	c                :    \        V P                  ^4      4       R# ry  r   r  r  s   &r3   test_num_obs_y_2TestNumObsY.test_num_obs_y_2h  s     	Q r5   c                :    \        V P                  ^4      4       R# )   Nr  r  s   &r3   test_num_obs_y_3TestNumObsY.test_num_obs_y_3m      Q r5   c                :    \        V P                  ^4      4       R# r  r  r  s   &r3   test_num_obs_y_4TestNumObsY.test_num_obs_y_4p  r  r5   c                N    \        ^^4       F  pV P                  V4       K  	  R# r:  )rm   minit)r	  r   s   & r3   test_num_obs_y_5_10TestNumObsY.test_num_obs_y_5_10s  s    q"AJJqM r5   c                `   \        4       p\        ^^4       F(  pVP                  W"^,
          ,          ^,          4       K*  	  \        ^^i4       FG  pW19  g   K  \        P                  ! \
        4      ;_uu_ 4        V P                  V4       RRR4       KI  	  R#   + '       g   i     K^  ; iry  setrm   addr   r!  rl   bad_yr	  ra   r|  r   s   &   r3   test_num_obs_y_2_100 TestNumObsY.test_num_obs_y_2_100w  sr     Eq"AEE!1u+/" q#Az]]:..JJqM /. ...   <BB-c                :    \        V P                  V4      4       R # r]   r  r{  s   &&r3   r  TestNumObsY.minit  r  r5   c                V    \         P                  P                  V4      p\        V4      # r]   )rJ   r   r   r   r	  r|  r+  s   && r3   r  TestNumObsY.bad_y  s    IINN1|r5   c                <    \        V P                  V4      4      V8H  # r]   )r   make_yr{  s   &&r3   r  TestNumObsY.check_y  s    Q(A--r5   c                h    \         P                  P                  W^,
          ,          ^,          4      # rp  rJ   r   r   r{  s   &&r3   r  TestNumObsY.make_y  s     yy~~qE{q011r5   rY   N)r   rp  rq  rr  r  r  r  r  r  r  r  r  r  r  r  rs  r  r  s   @r3   r  r  Z  sA     *!
!!	"!.2 2r5   r  c                   P   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
tV tR# )TestNumObsDMi  c                   \        ^^
4       Fy  p\        P                  P                  V^4      p\	        V4      p\        V4      p\        ^8  d!   \        VP                  VP                  4       \        \        V4      V4       K{  	  R# r  )rm   rJ   r   r   r  r   r   r  r|   r	   r   )r	  r|  rX  r  rr  s   &    r3   test_num_obs_dm_multi_matrix)TestNumObsDM.test_num_obs_dm_multi_matrix  s`    q"A		q!$A"A1A!|aggqww'A* r5   c                :    \        V P                  ^ 4      4       R# re   r   check_Dr  s   &r3   test_num_obs_dm_0TestNumObsDM.test_num_obs_dm_0      Q r5   c                :    \        V P                  ^4      4       R# r  r  r  s   &r3   test_num_obs_dm_1TestNumObsDM.test_num_obs_dm_1  r  r5   c                :    \        V P                  ^4      4       R# ry  r  r  s   &r3   test_num_obs_dm_2TestNumObsDM.test_num_obs_dm_2  r  r5   c                :    \        V P                  ^4      4       R# ry  r  r  s   &r3   test_num_obs_dm_3TestNumObsDM.test_num_obs_dm_3  r  r5   c                :    \        V P                  ^4      4       R# r  r  r  s   &r3   test_num_obs_dm_4TestNumObsDM.test_num_obs_dm_4  r  r5   c                <    \        V P                  V4      4      V8H  # r]   )r   make_Dr{  s   &&r3   r  TestNumObsDM.check_D  s    $++a.)Q..r5   c                @    \         P                  P                  W4      # r]   r  r{  s   &&r3   r  TestNumObsDM.make_D  s    yy~~a##r5   rY   N)r   rp  rq  rr  r  r  r  r  r  r  r  r  rs  r  r  s   @r3   r  r    s2     +!!!!!/$ $r5   r  c                     \        V R R7      # T)throw)r   )r  s   &r3   is_valid_dm_throwr    s    q%%r5   c                   n   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tRtV tR# )TestIsValidDMi  c                    \         P                  ! R\         P                  R7      p\        P                  ! \
        4      ;_uu_ 4        \        V4       RRR4       R#   + '       g   i     R# ; i)r  r7   Nr  rJ   rq  r   r   r!  rl   r  r	  r  s   & r3   $test_is_valid_dm_improper_shape_1D_E2TestIsValidDM.test_is_valid_dm_improper_shape_1D_E  s<    HHT,]]:&&a  '&&&   	AA0	c                |    \         P                  ! R\         P                  R7      p\        \	        V4      R4       R# )r  r7   FNr  rJ   rq  r   r	   r   r  s   & r3   $test_is_valid_dm_improper_shape_1D_F2TestIsValidDM.test_is_valid_dm_improper_shape_1D_F  s$    HHT,[^U+r5   c                    \         P                  ! R\         P                  R7      p\        P                  ! \
        4      ;_uu_ 4        \        V4       RRR4       R#   + '       g   i     R# ; ir  r7   Nr  r  r  r  r  s   & r3   $test_is_valid_dm_improper_shape_3D_E2TestIsValidDM.test_is_valid_dm_improper_shape_3D_E  s<    HHYbjj1]]:&&a  '&&&r  c                |    \         P                  ! R\         P                  R7      p\        \	        V4      R4       R# r  r7   FNr  r  r  s   & r3   $test_is_valid_dm_improper_shape_3D_F2TestIsValidDM.test_is_valid_dm_improper_shape_3D_F  s$    HHYbjj1[^U+r5   c                    \         P                  P                  ^
4      p\        V4      p\	        ^ ^4       F	  pRW#V3&   K  	  \
        P                  ! \        4      ;_uu_ 4        \        V4       RRR4       R#   + '       g   i     R# ; i)r  r   N)	rJ   r   r   r   rm   r   r!  rl   r  r	  r+  r  r   s   &   r3   #test_is_valid_dm_nonzero_diagonal_E1TestIsValidDM.test_is_valid_dm_nonzero_diagonal_E  s^    IINN2qMq!AAdG ]]:&&a  '&&&s   &A<<B	c                    \         P                  P                  ^
4      p\        V4      p\	        ^ ^4       F	  pRW#V3&   K  	  \        \        V4      R4       R# )r  r   FN)rJ   r   r   r   rm   r	   r   r  s   &   r3   #test_is_valid_dm_nonzero_diagonal_F1TestIsValidDM.test_is_valid_dm_nonzero_diagonal_F  sF    IINN2qMq!AAdG [^U+r5   c                   \         P                  P                  ^
4      p\        V4      pVR,          ^,           VR&   \        P
                  ! \        4      ;_uu_ 4        \        V4       RRR4       R#   + '       g   i     R# ; i)r  Nr  r(  r(  r  )rJ   r   r   r   r   r!  rl   r  r	  r+  r  s   &  r3   test_is_valid_dm_asymmetric_E+TestIsValidDM.test_is_valid_dm_asymmetric_E  sT    IINN2qMD'A+$]]:&&a  '&&&s    A66B	c                    \         P                  P                  ^
4      p\        V4      pVR,          ^,           VR&   \	        \        V4      R4       R# )r  FNr  r  rJ   r   r   r   r	   r   r  s   &  r3   test_is_valid_dm_asymmetric_F+TestIsValidDM.test_is_valid_dm_asymmetric_F  s<    IINN2qMD'A+$[^U+r5   c                |    \         P                  ! R\         P                  R7      p\        \	        V4      R4       R# )r(  r7   TNro  r  r  s   & r3   test_is_valid_dm_correct_1_by_1-TestIsValidDM.test_is_valid_dm_correct_1_by_1  s$    HHV2::.[^T*r5   c                    \         P                  P                  ^4      p\        V4      p\	        \        V4      R4       R# )r(  TNr  r  s   &  r3   test_is_valid_dm_correct_2_by_2-TestIsValidDM.test_is_valid_dm_correct_2_by_2  +    IINN1qM[^T*r5   c                    \         P                  P                  ^4      p\        V4      p\	        \        V4      R4       R# r  TNr  r  s   &  r3   test_is_valid_dm_correct_3_by_3-TestIsValidDM.test_is_valid_dm_correct_3_by_3  r  r5   c                    \         P                  P                  ^4      p\        V4      p\	        \        V4      R4       R# )   TNr  r  s   &  r3   test_is_valid_dm_correct_4_by_4-TestIsValidDM.test_is_valid_dm_correct_4_by_4  r  r5   c                    \         P                  P                  ^
4      p\        V4      p\	        \        V4      R4       R# )r  TNr  r  s   &  r3   test_is_valid_dm_correct_5_by_5-TestIsValidDM.test_is_valid_dm_correct_5_by_5  s+    IINN2qM[^T*r5   rY   N)r   rp  rq  rr  r  r  r  r  r  r  r  r  r  r  r	  r  r  rs  r  r  s   @r3   r  r    sK     !
,!
,!,!,++
+
+
+ +r5   r  c                     \        V R R7      # r  )r   )r+  s   &r3   is_valid_y_throwr     s    at$$r5   c                   b   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tRtV tR# )TestIsValidYi  c                    \         P                  ! R\         P                  R7      p\        P                  ! \
        4      ;_uu_ 4        \        V4       RRR4       R#   + '       g   i     R# ; i)r  r7   Nr  r  rJ   rq  r   r   r!  rl   r  r	  r+  s   & r3   #test_is_valid_y_improper_shape_2D_E0TestIsValidY.test_is_valid_y_improper_shape_2D_E	  s<    HHWBJJ/]]:&&Q '&&&r  c                |    \         P                  ! R\         P                  R7      p\        \	        V4      R4       R# )r  r7   FNr  rJ   rq  r   r	   r   r  s   & r3   #test_is_valid_y_improper_shape_2D_F0TestIsValidY.test_is_valid_y_improper_shape_2D_F  s$    HHWBJJ/Z]E*r5   c                    \         P                  ! R\         P                  R7      p\        P                  ! \
        4      ;_uu_ 4        \        V4       RRR4       R#   + '       g   i     R# ; ir  r  r  s   & r3   #test_is_valid_y_improper_shape_3D_E0TestIsValidY.test_is_valid_y_improper_shape_3D_E  s<    HHYbjj1]]:&&Q '&&&r  c                |    \         P                  ! R\         P                  R7      p\        \	        V4      R4       R# r  r  r  s   & r3   #test_is_valid_y_improper_shape_3D_F0TestIsValidY.test_is_valid_y_improper_shape_3D_F  s$    HHYbjj1Z]E*r5   c                R    V P                  ^4      p\        \        V4      R4       R# )r9  TNcorrect_n_by_nr	   r   r  s   & r3   test_is_valid_y_correct_2_by_2+TestIsValidY.test_is_valid_y_correct_2_by_2       "Z]D)r5   c                R    V P                  ^4      p\        \        V4      R4       R# r  r'  r  s   & r3   test_is_valid_y_correct_3_by_3+TestIsValidY.test_is_valid_y_correct_3_by_3  r+  r5   c                R    V P                  ^4      p\        \        V4      R4       R# )r  TNr'  r  s   & r3   test_is_valid_y_correct_4_by_4+TestIsValidY.test_is_valid_y_correct_4_by_4#  r+  r5   c                R    V P                  ^4      p\        \        V4      R4       R# )r  TNr'  r  s   & r3   test_is_valid_y_correct_5_by_5+TestIsValidY.test_is_valid_y_correct_5_by_5'  r+  r5   c                `   \        4       p\        ^^4       F(  pVP                  W"^,
          ,          ^,          4       K*  	  \        ^^i4       FG  pW19  g   K  \        P                  ! \
        4      ;_uu_ 4        V P                  V4       RRR4       KI  	  R#   + '       g   i     K^  ; iry  r  r  s   &   r3   test_is_valid_y_2_100"TestIsValidY.test_is_valid_y_2_100+  sp    Eq"AEE!1u+/" q#Az]]:..JJqM /. ...r  c                Z    \         P                  P                  V4      p\        VR R7      # r  )rJ   r   r   r   r  s   && r3   r  TestIsValidY.bad_y4  s!    IINN1!4((r5   c                l    \         P                  P                  W^,
          ,          ^,          4      pV# rp  r  r  s   && r3   r(  TestIsValidY.correct_n_by_n8  s$    IINNAQKA-.r5   rY   N)r   rp  rq  rr  r  r  r!  r$  r)  r-  r0  r3  r6  r  r(  rs  r  r  s   @r3   r  r    sA     
 
+ 
+****") r5   r  rJ  c           	      J   \         P                  ! \        4      ;_uu_ 4        \        ^^.^^.V 4       RRR4       \         P                  ! \        4      ;_uu_ 4        \        ^^.^^.V ^^.4       RRR4       R#   + '       g   i     LQ; i  + '       g   i     R# ; ir  )r   r!  rl   r#   rP  s   &r3   
test_bad_pr=  =  sp     
z	"	"1a&1a&!$ 
#	z	"	"1a&1a&!aV, 
#	" 
#	"	"	"	"s   A>B>B	B"	c                      \         P                  ! \        4      ;_uu_ 4        \        . RO. RO4       RRR4       R#   + '       g   i     R# ; i)FN)FFF)r   r!  rl   r'   rY   r5   r3   test_sokalsneath_all_falser?  F  s,    	z	"	")+@A 
#	"	"	"s	   >A	c                  n    \        \        . RO. RO4      ^4       \        \        . RO. RO4      ^4       R# )r(  Nr(  r9  r  r9  r  r  r(  r(  r   r   r(  r   r(  r   )r	   	wcanberrarY   r5   r3   r
  r
  L  s$    9i0!4<6:r5   c                  v    \        \        . RO. RO4      R^R7       \        \        . RO. RO4      R^R7       R# )	r(  decimalrd  NrA  rB  UUUUUU?rC  rD  )r
   wbraycurtisrY   r5   r3   test_braycurtisrK  R  s(    Iy962NL,?bQr5   c                  @   \         P                  ! . RO4      p \         P                  ! . R	O4      p\        \        W4      R^R7       \        \	        W4      \         P
                  ! ^4      ^R7       \        P                  ! \        RR7      ;_uu_ 4        \	        V \         P                  R3,          V\         P                  R3,          4      \         P
                  ! ^4      3 RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        V \         P                  R3,          V\         P                  R3,          4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        V R\         P                  3,          VR\         P                  3,          4       RRR4       \         P                  ! ^4      P                  ^^4      p\        P                  ! \        4      ;_uu_ 4        \	        W"4       RRR4       \        P                  ! \        4      ;_uu_ 4        \        W"4       RRR4       \         P                  P                  R4      pVP                  ^
4      pVP                  ^
4      p\	        W$4      p\        W$4      p\        V^,          V^R7       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL9; i  + '       g   i     L; i  + '       g   i     L; i)
r(  r  rG  Input vector should be 1-DrX  :NNNNiI)r(  r(  r(  r   r   r   )rJ   r   r
   r?  r;  re  r   r!  rl   newaxisr  r   r   r   r   )rf  rg  r   rsr+  d1d2s          r3   test_euclideansrS  X  s   	)	B	)	B R,c2>
2*BGGAJC 
z)E	F	F2bjj!m$bQ&78"''!*D 
G	z)E	F	FR

A&2::q=(9: 
G	z)E	F	FR2::&1bjj=(9: 
G 			!Q"A	z	"	"1 
#	z	"	"Q 
# 
		z	*B
A
A	A	B	a	BAr2.) 
G	F	F	F	F	F	F	F	F
 
#	"	"	"s=   AJ>;K;;K&K:<L>K	K#	&K7	:L
	L	c                      . ROp . ROp\         P                  ! \        4      ;_uu_ 4        \        W4       RRR4       R#   + '       g   i     R# ; i)r   Nr   r   r(  rD  r   r!  rl   whammingr   r+  s     r3   test_hamming_unequal_lengthrY  y  s1    AA	z	"	" 
#	"	"	"s   AA	c                      . ROp . ROp. ROpRp\         P                  ! \        VR7      ;_uu_ 4        \        WV4       RRR4       R#   + '       g   i     R# ; i)r   z/'w' should have the same length as 'u' and 'v'.rX  NrU  rD  rV  )ur  r   r@  s       r3   "test_hamming_unequal_length_with_wr\    s@    AAA
;C	z	-	-q 
.	-	-	-s   A

A	c                      \         P                  ! . RORR7      p \         P                  ! . RORR7      pRp\        \        W4      V4       R# )eggsz|S4r7   g?N)r^  spamr_  r^  r_  r_  r_  r_  r_  r_  r_  r^  r^  r_  r^  r^  r^  r^  r^  r_  )r^  r_  r_  r^  r^  r_  r_  r_  r_  r^  r_  r^  r_  r^  r_  r_  r^  r_  r_  r^  )rJ   r   r   rW  )ra   r   desireds      r3   test_hamming_string_arrayra    sK    
 B 	A 	 B 	A GHQNG,r5   c                      \         P                  ! . RO. RO.4      p \        V R^RR7      p\        W R^RR7      p\        V R^R7      p\        W R^R7      p\	        WRR7       \	        W$RR7       R# )QUUT@r#   N)r4   rJ  r   )r4   rJ  r=  r  )
rc        Y@rc  rd  g      B@g      N@g     V@g     b@g      8@g      H@)rJ   r   r   r   r   )arr_inp0c0p1c1s        r3   test_minkowski_wrj    sq    XX 223 4F 
vkQ$	7B	vkQ$	?B	vkQ	/B	vkQ	7BB'B'r5   c            	         . ROp . ROp\         P                  \         P                  \         P                  \         P                  3 Fq  p\        \         P                  ! WR7      \         P                  ! WR7      4      p\        \         P                  ! VP                  \         P                  4      4       Ks  	  \         P                  \         P                  \         P                  \         P                  3 F  p\         P                  ! V4      P                   p\        ^ .\         P                  ! V.VR7      4      p\        \         P                  ! V.VR7      ^ .4      p\#        WV4       \#        V\         P$                  ! V4      ^,          4       K  	  \         P&                  \         P$                  \         P(                  \         P*                  .pR F:  p\-        \         V4      '       g   K  VP/                  \1        \         V4      4       K<  	  V FO  p\        \         P                  ! WR7      \         P                  ! WR7      4      p\#        VP                  V4       KQ  	  R# )r(  r7   NrA  )r  r  r  )float16float128)rJ   r  int16r  r  r?  asarrayr   r   r8   floatinguint8r3  uint32uint64iinfomaxr	   r   rO   	complex64
complex128hasattrr   getattr)r   r+  r8   dumaxrQ  rR  dtypess           r3   test_sqeuclidean_dtypesr}    s|    	AA''288RXXrxx8A3RZZ5OPaggr{{34 9 ((BIIryy"))<xx""1#rzz4&>?"**dV59A3?RRD)1,- = jj"**bllBMMBF( 2uMM'"e,-	 ) A3RZZ5OPQWWe$ r5   c                     \         P                  ! . RO. RO. RO. RO.4      pVP                  4       p\        WV 4       \	        W4       \        W4       R# )r   Nr  r  r  g3333336@gL7@g333333F@)rJ   ro  r  r   r   r   )r4   r#  r  s   &  r3   test_modifies_inputr    sG    	\$$') 
*B ggiG	"&	"r#r5   c                 >   \         P                  ! . R	O. R
O. RO. RO.4      p\        P                  ! \        4      ;_uu_ 4        \        WV R4       RRR4       \        P                  ! \        4      ;_uu_ 4        \        WR4       RRR4       R F  pV\         P                  ! R 4      /pVR8X  d   V R8X  g   VR8X  d   V R8X  g   VR8X  d
   V R8X  d   KG  \        P                  ! \        4      ;_uu_ 4        \        WV 3/ VB  RRR4       \        P                  ! \        4      ;_uu_ 4        \        W3/ VB  RRR4       K  	  R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     Lt; i  + '       g   i     EK  ; i)r   r   NrJ  r  r  r&   r"   r#   r  r  r  r  )rJ  r  r  )rJ   ro  r   r!  r   r   r   )r4   r#  r,  r   s   &   r3   test_Xdist_deprecated_argsr    s    	\$$') 
*B
 
y	!	!bfb! 
" 
y	!	!b" 
"  rzz"~&CZFl24KFm$;3J6[#8]]9%%"&+F+ & ]]9%%"'' &%   
"	!	! 
"	! &% &%%s0   E=E$=E75F
E!	$E4	7F
Fc           
      6   \         R ,          R,          p\        P                  ! VP                  ^,          4      pVR,          ) VR&   V R9   d   \        P
                  ! R4       V \        V 4      RV ,           3 Fs  p\        P                  ! \        4      ;_uu_ 4        \        WVR7       RRR4       \        P                  ! \        4      ;_uu_ 4        \        WW2R7       RRR4       Ku  	  R#   + '       g   i     LN; i  + '       g   i     K  ; i)r?   r  not applicabler  r   Nr  )r&   r"   r!   )rL   rJ   r   r|   r   rp  r"  r!  rl   r   r   )r4   rX  r   r  s   &   r3   test_Xdist_non_negative_weightsr    s    
 !(+A

AfWAcF??$%d6lGf$45]]:&&!! ']]:&&! '& 6&&&&&s    C4D4DDc                  R   . ROp \        V 4      p\        W4       \        V \        P                  R7      p\        W4       \	        VP
                  \        P                  4       ^.p \        V 4      p\	        VP                  ^4       \	        W4       ^p \        P                  ! \        RR7      ;_uu_ 4        \        V 4       RRR4       \        P                  ! ^4      P                  ^R^4      p \        P                  ! \        RR7      ;_uu_ 4        \        V 4       RRR4       ^^.^^..p \        P                  ! \        RR7      ;_uu_ 4        \        V 4       RRR4       R#   + '       g   i     L; i  + '       g   i     Le; i  + '       g   i     R# ; i)r(  r7   rM  rX  NrA  r   )r   r   rJ   r   r	   r8   rf   r   r!  rl   r  r   rX  s     r3   test__validate_vectorr    s%   AAq"**-Aq"**%	
AA	A	z)E	F	F 
G 			!QA&A	z)E	F	F 
G Q!QA	z)E	F	F 
G	F 
G	F 
G	F 
G	F	Fs$   :E/FF/E?	F	F&	c                     \         P                  ! R\        R7      p \        V ^ ,          V ^ ,          4      pVR8X  g   Q h\	        V R4      p\        VR.4       \        V R,          V R,          R4      p\        VR..4       R# )r9  r7   rb  r)   :Nr(  NN)r9  r  )rJ   r   r  r  r   r	   r   )r   rz  s     r3   test_yule_all_samer    sm    
d#AadAaDA8O8aASEaeQrUF#AcUGr5   c            	         \        \        . RO. ROR4      R 4       \        \        R R.RR.4      R4       \        \        . RO. RO4      R4       \        \        R R..RR..^ R7      RR.4       \        \        R R..RR..^R7      R.4       \        \        R R..RR..^ RR	7      RR..4       \        \        R R..RR..^RR	7      R..4       \        P                  ! . RO. RO. RO.4      p \        P                  ! . RO. RO. RO.4      p\        \        W^ R7      . RO4       \        \        W^R7      . RO4       R
# )r   rb  r   rd  g)>d?r2  rq   gД?T)rn   keepdimsN)r   rb  rb  )rb  r   rb  )r(  r9  r  r  )r  r        )	   r        )            )            )            )g'Y?gTyCЇ?gFw$?g\BZ?)g;0%7/?g)o?gku?)r
   r!   rJ   r   )ra   r   s     r3   r  r  %  sO   oLsCj3*=+-oGMSzlc3ZLqIc
$Szlc3ZLqI"%Szlc3ZLq/358;SzlDSzlc3ZLq/358A{mE 	,!# 	$A 	"""$ 	%A a3DFa39;r5   c                  0   \         P                  ! . RO4      p \         P                  ! . RO4      p\        W4      p\        W.RR7      p\	        W24       \        \         P                  ! V 4      \         P                  ! V4      RR7      p\	        W24       R# )r(  r   ra  N)r(  r   r   )r9  r   r   )rJ   r   r   r   r   r   r  )arr_1arr_2expectedactuals       r3   test_gh_17703r  B  si    HHYEHHYEE!HE>&1FF%2=='=='8FF%r5   c                    V R9   d   \         P                  ! R4       \        P                  ! ^
\        P                  R7      pVP                  RR7       \        \        P                  P                  V 4      ! WVR7       R# )r!   r  r7   F)writer  N)r!   r"   r&   )
r   rp  rJ   r  r   setflagsry  scipyspatialdistance)r4   r   s   & r3   test_immutable_inputr  M  sU    ??$%
		"BJJ'AJJUJEMM""F+AA6r5   c                  L   \         P                  ! . RO4      p \         P                  ! . RO4      p\         P                  ! . RO4      p\        WVR7      p\	        VR4       \        \         P                  ! V 4      \         P                  ! V4      RVR7      p\	        WC4       R# )	r   r  g2)^ ?r)   )r4   r   N)r   r   r(  r(  )r   r(  r(  r   )r2  r  gffffff?g?)rJ   r   ro  r)   r   r   r  )ra   r   r   r  r  s        r3   test_gh_23109r  U  ss    
A
A


'(AAAHH012==#==# A'F F%r5   c                   b   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tRtV tR# )TestJaccardia  c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# r  r<   pdist-jaccardr    r  Nr(  r  s   &    r3   test_pdist_jaccard_random%TestJaccard.test_pdist_jaccard_randomc  s2    "#_%I&s3r5   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       R# r  r-  r  s   &    r3   !test_pdist_jaccard_random_float32-TestJaccard.test_pdist_jaccard_random_float32j  ;    JJr-./_%I&s3r5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# r  r<   r  test_jaccardr  Nr(  r  s   &    r3   test_pdist_jaccard_random_nonC*TestJaccard.test_pdist_jaccard_random_nonCq  s2    "#_%N+s3r5   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       R# r  r  r  s   &    r3   test_pdist_djaccard_random&TestJaccard.test_pdist_djaccard_randomx  r  r5   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       R# r  r-  r  s   &    r3   "test_pdist_djaccard_random_float32.TestJaccard.test_pdist_djaccard_random_float32  r  r5   c                    R p\        \        P                  ! R4      R4      p\        \        P                  ! ^
4      W!R7       R# )r=  r    r  Nr  r  r   rJ   rq  r   r	  rE  r  s   &  r3   test_pdist_djaccard_allzeros(TestJaccard.test_pdist_djaccard_allzeros  s.    "((6"I.a2r5   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       R# r  r  r  s   &    r3   test_pdist_djaccard_random_nonC+TestJaccard.test_pdist_djaccard_random_nonC  s;    JJr-./_%N+s3r5   c                    R p\        \        P                  ! R4      R4      p\        \        P                  ! ^
4      W!R7       R# )r=  r  r  Nr  r  r  s   &  r3   !test_pdist_djaccard_allzeros_nonC-TestJaccard.test_pdist_djaccard_allzeros_nonC  s.    "((6"N3a2r5   c                :   \        \        P                  ! . RO4      \        P                  ! . RO4      4      p\        \        P                  ! . RO\        R7      \        P                  ! . RO\        R7      4      p\	        VR^ RR7       \	        VR^ RR7       R# r  wjaccardrJ   r   r  r   r  s   &  r3   test_pdist_jaccard_mtica1%TestJaccard.test_pdist_jaccard_mtica1  sd    RXXo.XXo.0bhhd;hhd;=3QU3Cae4r5   c                :   \        \        P                  ! . RO4      \        P                  ! . RO4      4      p\        \        P                  ! . RO\        R7      \        P                  ! . RO\        R7      4      p\	        VR^ RR7       \	        VR^ RR7       R# r  r  r  s   &  r3   test_pdist_jaccard_mtica2%TestJaccard.test_pdist_jaccard_mtica2  sd    RXXi(XXi(*bhhy5hhy575qu5E6r5   c                B   \         P                  ! . RO4      p\         P                  ! . RO4      p\         P                  ! \        4      P                  p\        \        W4      RVR7       \        \        V.V.R4      R..4       \        \        W.R4      R.4       R# )r  r  r    N)ig      @r   )r9  r9  rI  )	rJ   r   rR  rH  rE  r   r    r   r   )r	  r   r+  rE  s   &   r3   test_non_01_inputTestJaccard.test_non_01_input  ss     HH]#HH]#hhuo!!s5qcA3	2cUG<qfi03%8r5   rY   N)r   rp  rq  rr  r  r  r  r  r  r  r  r  r  r  r  rs  r  r  s   @r3   r  r  a  sA     444443
43
579 9r5   r  c                   P   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
tV tR# )TestChebyshevi  c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r  r  pdist-chebyshevr   r  Nr  r  s   &    r3   test_pdist_chebyshev_random)TestChebyshev.test_pdist_chebyshev_random  s3    !"&';'s3r5   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCV\
        ^8  R7       R# )r  r  r  r   rA  Nr  r  s   &    r3   #test_pdist_chebyshev_random_float321TestChebyshev.test_pdist_chebyshev_random_float32  sB    JJr,-.&';'sGaKHr5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r  r  r  test_chebyshevr  Nr  r  s   &    r3    test_pdist_chebyshev_random_nonC.TestChebyshev.test_pdist_chebyshev_random_nonC  s4    !"&'+,s3r5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )rU  r  pdist-chebyshev-irisr   r  Nr  r  s   &    r3   test_pdist_chebyshev_iris'TestChebyshev.test_pdist_chebyshev_iris  s1    vJ+,;'s3r5   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCV\
        ^8  R7       R# )r   r  r  r   rA  Nr  r  s   &    r3   !test_pdist_chebyshev_iris_float32/TestChebyshev.test_pdist_chebyshev_iris_float32  s@    JJr&z"+,;'sGaKHr5   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )rU  r  r  r  r  Nr  r  s   &    r3   test_pdist_chebyshev_iris_nonC,TestChebyshev.test_pdist_chebyshev_iris_nonC  s2    vJ+,+,s3r5   c           	         . ROp. ROp. ROp\        \        WV4      ^4       \        \        W.RVR7      ^.4       \        \        V.V.RVR7      ^..4       R# )r(  r   r  NrA  r  r  r  )r   r(  r  r	   r   r   r   r	  r   r+  r   s   &   r3   test_weightedTestChebyshev.test_weighted  sX     YqQ'+UA6;!4qc:UA3[A6!>r5   c           	         . ROp. ROp. ROp\        \        WV4      ^ 4       \        \        W.RVR7      ^ .4       \        \        V.V.RVR7      ^ ..4       R# )r(  r   r  NrA  r  rN  r  r  s   &   r3   test_zero_weightTestChebyshev.test_zero_weight  sV    YqQ'+UA6;!4qc:UA3[A6!>r5   rY   N)r   rp  rq  rr  r  r  r  r  r  r  r  r  rs  r  r  s   @r3   r  r    s4     4I44I4?? ?r5   r  )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         )r  r   '        )r  r   r     4     )r  r  r  r      e  )r  r  r  r  r     )r  r  r  r  r	  r   r]   )	NNFTFFFFN)g      $g      rb  )	functoolsr   r   os.pathrD   rn  r  r   r  numpyrJ   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   rB   r   _tdist_ytdistrL   rT   rZ   ro   r   r   r   r   assert_allclose_forgivingr   r   r[  rD  r)  r  r  r  rW  r  r  
wcityblock
wchebyshevrC  rG  r  r;  r?  rJ  rE  r  r  r   r  r,  rb  r  r  r  r  r  r  r  r  r=  r?  r
  rK  rS  rY  r\  ra  rj  r}  r  r  r  r  r  r  r  r  r  r  r  rY   r5   r3   <module>r     sM  F %  
     2 2 2  & & &D D D D D D / . ~Y7 8
@ 
/222224
 <D
E V

 >  #-$`8 $O$?  '@!TB   !tQT "td#dEPU"c#<cL 
Q	>!%a*/EC	Qa	H!%a-21>!.1&w? ?	HY'
Y'

&
!{+7#Y59
{u=j)H7	{+j)cA cAL	I? I?VP4 P4f@- @-F32 32l $  $F&F+ F+R%6 6r 01- 2-B;R/B-(%>	$(8 4
;:&7	&N9 N9b=? =?r5   