+
    nDjJ                       ^ 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 ^ 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-H.t.H/t/H0t0H1t1H2t2 ^ RI3H4t4 ^ RI5H6t6 ]Pn                  ! ]R	R
7      R 4       t8. RSOt9]
Pt                  ! . RTO. RUO. RVO. RWO. RXO. RYO.RR7      t;]! ];4      t</ t=R t>]>! 4        R t?RZR lt@R[R ltAR tBR tCRZR ltD]! ]RR7      tE]ER R3R ltF^RR RRRRRRRRRRRR^ ]E3R ltG]G! ]^RR7      tH]G! ]^RRR 7      tI]G! ]^R^R!7      tJ]G! ]^RR^R"7      tK]G! ]-4      tL]G! ](RR#7      ;tMtN]G! ]24      tO]G! ]&4      tP]G! ]#4      tQ]G! ]"4      tR]G! ]%4      tS]G! ]$4      tT]G! ])4      tU]G! ]'RR$7      tV]G! ]1RR$7      tW]G! ] 4      tX]G! ]!RR$7      tY]G! ]04      tZ]G! ].4      t[ ! R% R&4      t\ ! R' R(4      t] ! R) R*4      t^ ! R+ R,4      t_ ! R- R.4      t` ! R/ R04      taR1 tb ! R2 R34      tcR4 td ! R5 R64      te]P                  P                  R7. R\O4      R8 4       thR9 tiR: tjR; tkR< tlR= tmR> tnR? toR@ tpRA tqRB trRC tsRD ttRE tuRF tvRG twRH txRI tyRJ tz ! RK RL4      t{ ! RM RN4      t|]P                  P                  RO],^3],^3],RP3],]
P                  3]'R3]1R3.4      ]P                  P                  RQRR.4      RR 4       4       t~R# )]    )wrapspartialN)norm)verboseassert_assert_array_equalassert_equalassert_almost_equalassert_allclose)	
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)_apply_over_batch)skip_xp_invalid_argsession)paramsscopec                    V P                   # )z3
Fixture for all metrics in scipy.spatial.distance
)param)requests   &[/data/cameron/venvs/s3viz/lib/python3.14/site-packages/scipy/spatial/tests/test_distance.pymetricr1   C   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&   \        P                  ! \        R,          4      \        R&   \        P                  ! \        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_float32longulong)fnnamefqfnfps       r0   load_testing_filesrS   z   s    zz&"%--eR8ww||BGGOOH5vrB$Z::b>4

  !hhr*='>?BXXb);&<=B "

2.B+C DBGGB'8$9:BXXb);&<=Br2   c                  H    \         P                  ! ^ 4      P                  ^8  # r   )rG   intpitemsize r2   r0   	_is_32bitrY      s    771:""r2   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)rG   
atleast_1d.0as   & r0   	<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_   r`   arrayss   & r0   ra   rb      s      <V66VAY^^+Vs   ,/FTz(array ndim must be the same for neg axis)rG   
asanyarrayre   raveltupleall
ValueErrorrange)rf   axisr`   s   f& r0   _chk_asarraysrn      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 )rm   Nc              3      "   T F>  p\         P                  P                  V4      \         P                  P                  Jx  K@  	  R # 5ir\   )rG   magetmasknomaskr^   s   & r0   ra   _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\   )rG   rr   masked_invalid)r_   r`   has_nans   &  r0   ra   ru      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_   r`   rm   weightss   & r0   ra   ru      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)rp   N)rG   take)r_   r`   rm   pos_weightss   & r0   ra   ru      s!     Nv!2771k==vs   &))rn   anyrG   isnansumri   ziprg   onesr{   _freq_weights_weight_maskedrj   rk   nonzerosize)rf   r|   rm   force_weightssimplify_weightspos_only	neg_check
nan_screenmask_screenddofchkedr`   has_nansr   s   &ff&&&&&&&   @r0   _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   rk   )r|   int_weightss   & r0   r   r      sE    ..%K##%%KG9UVVr2   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\   rX   )r_   irm   s   & r0   ra   !_weight_masked.<locals>.<genexpr>   s     C1dQQs   
rp   )rG   rg   rr   rs   rt   re   ri   rl   r   r   r   )rf   r|   rm   r`   	axis_masknot_axess   &&f   r0   r   r      s    |mmG$GEEMM!$	$66A:uCaffCuuCaffCCH!84I1y'',,,  Nr2   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 )r4   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 )rp   )rG   rg   r~   reshaperl   re   r{   )r`   ixrm   recordr   s   &&&  r0   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\   rz   )r_   r`   rm   n_obss   & r0   ra   _rand_split.<locals>.<genexpr>   s     6v!wwt}%vs   "%FTz#data must be aligned on sample axis      ?rp   )rG   
issubdtyper5   integerr   float64arrayrandomRandomStater{   rj   rl   r   randintrandappend)rf   r|   rm   	split_perseedarrseeded_randr   r   split_ixprev_wqr`   r   s   &&f&&        @r0   _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\   rX   xs   &r0   <lambda>r     s    r2   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)rG   r   r   AttributeError	TypeErrorrk   r   _rough_check)	r`   br   keywcheck_acheck_ba_ib_is	   &&&&&    r0   r   r     s    !fG!fGB88G&'++--7, . )w(z" BG-HC.A .Bs   4A
 
B B/"BBc                     V # r\   rX   r   s   &r0   r   r     s    1r2   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)Nrm   T)r|   rm   r   r   )r   g     @Y@gB`"۹?)r   r   
nan_policyomitrp          @z NotImplemented weights: )
stacklevelr   )getr   rG   r]   squeezeri   r   	Exceptiontyper   r   slicere   nanrr   rw   r   NotImplementedErrorwarningswarn__name__)&argskwargsresultrf   restr|   rm   r   r`   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_testrO   r   ma_safema_very_safen_argsnan_safe	ones_testr   silentr   
split_testr   
weight_args&   *,                   r0   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   )rO   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s   fffffffffffffffff& r0   _weight_checkedr     s3     2YY Y Y Yt Nr2   )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                b   . ROV n         R\        P                  \        P                  \        P                  \        P
                  .R\        P                  \        P                  \        P
                  .R\        P                  \        P
                  .R\        P
                  ./V n        R# r<   booluintr   rL   N)r<   r=   r>   r;   r:   rnd_eo_namesrG   rN   rM   rL   r   valid_upcastsselfs   &r0   setup_methodTestCdist.setup_method  k    1 %rxx"**bjj&Q$rww

BJJ&G#bjj"**%='"**7r2   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   r1   Ntest_r   r         @333333?ffffff@333333@皙@r  皙@g      @      @g       @g      @333333@g @g      @r  r  )rG   arangepytestraisesr   r   eval)r  r1   X1X2r   r   s   &&    r0   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\   rX   r   yargkwargkwarg2s   &&&&&r0   
_my_metric:TestCdist.test_cdist_extra_args_custom.<locals>._my_metric      ;''r2   r  r  r  r   Nffffff
@r,  r-  r,  皙?r1   r+  r-  皙@r'     r  r  r  r  r  r  )rG   r  r  r   r   r   r   )r  r.  r"  r#  r   r   s   &     r0   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rI   wcdist_no_constr   r   )r  epsr"  r#  Y1Y2s   &     r0   #test_cdist_euclidean_random_unicode-TestCdist.test_cdist_euclidean_random_unicode  sB    
^
^R[1R%56S'A+>r2   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!   rI  test_minkowski)r   rA  r   NrB  )r  rI  rD  r"  r#  rE  rF  s   &&     r0   test_cdist_minkowski_random%TestCdist.test_cdist_minkowski_random  sJ     
^
^R[A6R%5;QS'A+Fr2   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'  rp   r   )rG   linalgr   r   )Xs   &r0   norms1TestCdist.test_cdist_cosine_random.<locals>.norms  s&    99>>!!>,44R;;r2   r@  N)rI   wcdistrG   dotTr   r   )r  rD  r"  r#  rE  rX  rF  s   &      r0   test_cdist_cosine_random"TestCdist.test_cdist_cosine_random  sg    
^
^BH%	< eBi2b	>*<*<==S'A+>r2   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)	r8  r    r1                 @      ?Nr   r   )rG   r   r   r   sqrtr  r   rk   )r  x1x2distrt2s   &    r0   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	  rX   Nr   
__module____qualname____firstlineno____static_attributes__rX   r2   r0   myclassrm  	      r2   rs  c                    < \        V ^ ,          S4      '       d   \        V^ ,          S4      '       g   \        R4      hR# r   zType has been changed+?
isinstancerk   r   r*  rs  s   &&r0   r.  9TestCdist.test_cdist_custom_notdouble.<locals>._my_metric  3    adG,,JqtW4M4M !899r2   r4   r`  rw  r   N)rG   r   objectr   r	   r   )r  r.  r8   cdist_yright_yrs  s   &    @r0   test_cdist_custom_notdouble%TestCdist.test_cdist_custom_notdouble  sI    	 		 xx')V4:6Ww{;r2   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r1   r  r@  N)
r   r!  r   r   r   	__class__printr   r  r   )r  r"  r#  r1   rD  r   y1y2y3r   e_clss   &&&&&,     r0   _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$   rm   r   Vr    VIr   :r'  Nr  NNr8  >   r   r'   r#   r%   r"   )r  rI   r   r  r  rG   vstackr   r   var
atleast_2dcovr\  r   rV  inv)r  r1   eo_namer"  r#  X12r  r  s   &&      r0   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/ )r2   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  r>   r  r=   r   r<   rL   r  Nr`  r@  r   r  )rI   r  r   r   r   r   r  r  r   r  r   )r  r1   rD  teststestr"  r#  r  new_typer  r   r  X1newX2news   &&            r0   test_cdist_dtype_equivalence&TestCdist.test_cdist_dtype_equivalenceG  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!   rL  rI  r4   outr@  NF)r5   orderr  r  )rI   r{   dictrG   emptyr   r   r   r   r   r  r   rk   int64)r  r1   rD  r"  r#  out_rout_cr   out1rE  rF  out2out3out4out5s   &&             r0   test_cdist_outTestCdist.test_cdist_outb  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!   rL  rI  r@  Nr  )
rI   copyr	   r   flagsc_contiguousr  r   r   r   )
r  r1   rD  r"  r#  X1_copyX2_copyr   rE  rF  s
   &&        r0   test_stridingTestCdist.test_striding  s     
^H%
^H%'')'') 	R!R!BHH)))*BHH)))***+**+[ F3K26,V,7V6v6S'A+>r2   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???\        ;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!   rL  rI  r1   c              3   2   "   T F  q! 4       R J x  K  	  R # 5ir\   rX   )r_   weak_refs   & r0   ra   0TestCdist.test_cdist_refcount.<locals>.<genexpr>  s     @i(8:%is   FTN)rG   r   r   r  r   weakrefrefrj   )r  r1   re  rf  r   r  v	weak_refss   &&      r0   test_cdist_refcountTestCdist.test_cdist_refcount  s    YY^^B#YY^^B#[ F3KB464V4 /1c];]W[[^]	;Cs@i@sss@i@@@@@ <s   +Cr  r  Nr  )r   ro  rp  rq  r	  r$  r9  rG  r  markparametrizerG   infrQ  r]  ri  r  r  r  r  skipif	sysconfigget_platformr  r  r  rr  __classdictcell____classdict__s   @r0   r   r     s     7:*"9H? [[S3c4#&S"&&#: ;G;G?<$<C*G:K6 [[	..0K?V%6 W%6N?4A Ar2   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                b   . ROV n         R\        P                  \        P                  \        P                  \        P
                  .R\        P                  \        P                  \        P
                  .R\        P                  \        P
                  .R\        P
                  ./V n        R# r  r  r  s   &r0   r	  TestPdist.setup_method  r  r2   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   r1   Nr  )rG   r  r  r   r   r   r!  )r  r1   r"  r   r   s   &&   r0   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\   rX   r)  s   &&&&&r0   r.  :TestPdist.test_pdist_extra_args_custom.<locals>._my_metric  r0  r2   r   r   r  r  r  r  r  r   Nr1  r2  r3  r4  r5  r6  r7  )rG   r  r  r   r   r   r   )r  r.  r"  r   r   s   &    r0   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   rA  NrI   wpdist_no_constr   r  rD  rW  Y_rightY_test1s   &    r0   test_pdist_euclidean_random%TestPdist.test_pdist_euclidean_random  3    !"&'!![1s3r2   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# r  r  r  s   &    r0   test_pdist_euclidean_random_u'TestPdist.test_pdist_euclidean_random_u  r  r2   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       R# r  rG   rL   rI   r  r   r  s   &    r0   #test_pdist_euclidean_random_float32-TestPdist.test_pdist_euclidean_random_float32  s<    JJr,-.&'!![1s3r2   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r  r  r  r?  r  Nr  r  rD  rW  r  Y_test2s   &    r0    test_pdist_euclidean_random_nonC*TestPdist.test_pdist_euclidean_random_nonC  s4    !"&'!!%56s3r2   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   &    r0    test_pdist_euclidean_iris_double*TestPdist.test_pdist_euclidean_iris_double  s1    vJ+,!![1s3r2   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCV\
        ^8  R7       R# )r   r  r  r   r@  NrG   rL   rI   r  r   r   r  s   &    r0   !test_pdist_euclidean_iris_float32+TestPdist.test_pdist_euclidean_iris_float32  @    JJr&z"+,!![1sGaKHr2   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r  r  r  r?  r  Nr  r  s   &    r0   test_pdist_euclidean_iris_nonC(TestPdist.test_pdist_euclidean_iris_nonC#  s4     vJ+,!!%56s3r2   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r  r  pdist-seuclideanr$   r  NrI   r   r   r  s   &    r0   test_pdist_seuclidean_random&TestPdist.test_pdist_seuclidean_random-  s3    !"'(<(s3r2   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)rG   rL   rI   r   r   r  )r  rD  rW  r  r  r  r  s   &      r0   $test_pdist_seuclidean_random_float32.TestPdist.test_pdist_seuclidean_random_float324  sh    JJr,-.'(<(s3 FF111%<1-s3r2   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r  r  r  test_seuclideanr  Nr  r  s   &    r0   !test_pdist_seuclidean_random_nonC+TestPdist.test_pdist_seuclidean_random_nonC@  s4    !"'(,-s3r2   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   &    r0   test_pdist_seuclidean_iris$TestPdist.test_pdist_seuclidean_irisH  s1    vJ,-<(s3r2   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       R# )r   r  r  r$   r  N)rG   rL   rI   r   r   r  s   &    r0   "test_pdist_seuclidean_iris_float32,TestPdist.test_pdist_seuclidean_iris_float32O  s:    JJr&z",-<(s3r2   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r  r  r  r  r  Nr  r  s   &    r0   test_pdist_seuclidean_iris_nonC)TestPdist.test_pdist_seuclidean_iris_nonCW  s4     vJ,-,-s3r2   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# r  r  pdist-cosiner   r  NrI   wpdistr   r  s   &    r0   test_pdist_cosine_random"TestPdist.test_pdist_cosine_random`  s2    !"^$H%s3r2   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       R# r%  rG   rL   rI   r(  r   r  s   &    r0    test_pdist_cosine_random_float32*TestPdist.test_pdist_cosine_random_float32g  s;    JJr,-.^$H%s3r2   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r  r  r&  test_cosiner  Nr'  r  s   &    r0   test_pdist_cosine_random_nonC'TestPdist.test_pdist_cosine_random_nonCn  s2    !"^$M*s3r2   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   &    r0   test_pdist_cosine_iris TestPdist.test_pdist_cosine_irisv  s1    vJ()H%s3r2   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCV\
        ^8  R7       R# )r   r  r4  r   r   r   N)rG   rL   rI   r(  r   r   r  s   &    r0   test_pdist_cosine_iris_float32(TestPdist.test_pdist_cosine_iris_float32~  s@    JJr&z"()H%sGaKHr2   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r   r  r4  r0  r   Nr'  r  s   &    r0   test_pdist_cosine_iris_nonC%TestPdist.test_pdist_cosine_iris_nonC  s1    vJ()M*s3r2   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)rG   absr   r   r   r  r   r(  )r  r   rW  s   &  r0   test_pdist_cosine_bounds"TestPdist.test_pdist_cosine_bounds  sZ     FF299((.33B78IIqfq(#A&!+<	>r2   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# r  r  pdist-cityblockr   r  Nr  r  s   &    r0   test_pdist_cityblock_random%TestPdist.test_pdist_cityblock_random  s3    !"&'!![1s3r2   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       R# rD  r  r  s   &    r0   #test_pdist_cityblock_random_float32-TestPdist.test_pdist_cityblock_random_float32  s<    JJr,-.&'!![1s3r2   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r  r  rE  test_cityblockr  Nr  r  s   &    r0    test_pdist_cityblock_random_nonC*TestPdist.test_pdist_cityblock_random_nonC  s4    !"&'!!%56s3r2   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )rT  r  pdist-cityblock-irisr   r  Nr  r  s   &    r0   test_pdist_cityblock_iris#TestPdist.test_pdist_cityblock_iris  s1    vJ+,!![1s3r2   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCV\
        ^8  R7       R# )r   r  rP  r   r@  Nr  r  s   &    r0   !test_pdist_cityblock_iris_float32+TestPdist.test_pdist_cityblock_iris_float32  r
  r2   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )rT  r  rP  rL  r  Nr  r  s   &    r0   test_pdist_cityblock_iris_nonC(TestPdist.test_pdist_cityblock_iris_nonC  s4     vJ+,!!%56s3r2   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# r  r  pdist-correlationr   r  Nr'  r  s   &    r0   test_pdist_correlation_random'TestPdist.test_pdist_correlation_random  s3    !"()M*s3r2   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       R# rZ  r,  r  s   &    r0   %test_pdist_correlation_random_float32/TestPdist.test_pdist_correlation_random_float32  s<    JJr,-.()M*s3r2   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r  r  r[  test_correlationr  Nr'  r  s   &    r0   "test_pdist_correlation_random_nonC,TestPdist.test_pdist_correlation_random_nonC  s4    !"()./s3r2   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   &    r0   test_pdist_correlation_iris%TestPdist.test_pdist_correlation_iris  s1    vJ-.M*s3r2   c                    R p\         R,          p\        P                  ! \         R,          4      p\        VR4      p\	        WCV\
        ^8  R7       R# )r  r  rf  r   r@  N)rI   rG   rL   r(  r   r   r  s   &    r0   #test_pdist_correlation_iris_float32-TestPdist.test_pdist_correlation_iris_float32  s@    vJ**R 89:M*sGaKHr2   c                    \         P                  R8  d   RpM\        P                  ! R4       \        R,          p\        R,          p\        VR4      p\        WCXR7       R# )	r8  r  zsee gh-16456r  rf  rb  r  Nl        )sysmaxsizer  skiprI   r(  r   r  s   &    r0    test_pdist_correlation_iris_nonC*TestPdist.test_pdist_correlation_iris_nonC  sJ    ;;CKK'vJ-../s3r2   rI  rJ  rK  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# )rN  r  r!   rO  rP  )r   rA  Nr  )r  rI  rD  rW  rE  rF  s   &&    r0   test_pdist_minkowski_random_p'TestPdist.test_pdist_minkowski_random_p  s;    !"Qq1Q 0A6QS1r2   c                t    R p\         R,          p\         R,          p\        VRRR7      p\        WCVR7       R# r  r  pdist-minkowski-3.2r!   rr  rO  r  Nr  r  s   &    r0   test_pdist_minkowski_random%TestPdist.test_pdist_minkowski_random  s5    !"*+!![C8s3r2   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VRRR7      p\	        WCVR7       R# rw  r  r  s   &    r0   #test_pdist_minkowski_random_float32-TestPdist.test_pdist_minkowski_random_float32  s>    JJr,-.*+!![C8s3r2   c                t    R p\         R,          p\         R,          p\        VRRR7      p\        WCVR7       R# )r  r  rx  rP  rr  rO  r  Nr  r  s   &    r0    test_pdist_minkowski_random_nonC*TestPdist.test_pdist_minkowski_random_nonC  s6    !"*+!!%5=s3r2   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!   rr  rO  r  Nr  r  s   &    r0   test_pdist_minkowski_3_2_iris'TestPdist.test_pdist_minkowski_3_2_iris  3    vJ/0!![C8s3r2   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VRRR7      p\	        WCVR7       R# )r   r  r  r!   rr  rO  r  Nr  r  s   &    r0   %test_pdist_minkowski_3_2_iris_float32/TestPdist.test_pdist_minkowski_3_2_iris_float32  s<    JJr&z"/0!![C8s3r2   c                t    R p\         R,          p\         R,          p\        VRRR7      p\        WCVR7       R# )r  r  r  rP  rr  rO  r  Nr  r  s   &    r0   "test_pdist_minkowski_3_2_iris_nonC,TestPdist.test_pdist_minkowski_3_2_iris_nonC#  4    vJ/0!!%5=s3r2   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  rO  r  Nr  r  s   &    r0   test_pdist_minkowski_5_8_iris'TestPdist.test_pdist_minkowski_5_8_iris+  r  r2   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  rO  r@  Nr  r  s   &    r0   %test_pdist_minkowski_5_8_iris_float32/TestPdist.test_pdist_minkowski_5_8_iris_float323  sB    JJr&z"/0!![C8sGaKHr2   c                t    R p\         R,          p\         R,          p\        VRRR7      p\        WCVR7       R# )r  r  r  rP  r  rO  r  Nr  r  s   &    r0   "test_pdist_minkowski_5_8_iris_nonC,TestPdist.test_pdist_minkowski_5_8_iris_nonC;  r  r2   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    r`  ra  rc  rb  N)r   r   r  r  r   r   )
rG   r   r   r   r   rd  r  r   rk   r(  )r  r   rg  rh  s   &   r0   test_pdist_mahalanobis TestPdist.test_pdist_mahalanobisC  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<  r9   pdist-hammingr   r  Nr'  r  s   &    r0   test_pdist_hamming_random#TestPdist.test_pdist_hamming_randomT  s2    "#_%I&s3r2   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       R# r  r,  r  s   &    r0   !test_pdist_hamming_random_float32+TestPdist.test_pdist_hamming_random_float32[  ;    JJr-./_%I&s3r2   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# r<  r9   r  test_hammingr  Nr'  r  s   &    r0   test_pdist_hamming_random_nonC(TestPdist.test_pdist_hamming_random_nonCb  s2    "#_%N+s3r2   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       R# r  rG   r   rI   r(  r   r  s   &    r0   test_pdist_dhamming_random$TestPdist.test_pdist_dhamming_randomi  r  r2   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       R# r  r,  r  s   &    r0   "test_pdist_dhamming_random_float32,TestPdist.test_pdist_dhamming_random_float32p  r  r2   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       R# r  r  r  s   &    r0   test_pdist_dhamming_random_nonC)TestPdist.test_pdist_dhamming_random_nonCw  s;    JJr-./_%N+s3r2   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )dy=r  pdist-jensenshannonr   r  Nr  r  s   &    r0   test_pdist_jensenshannon_random)TestPdist.test_pdist_jensenshannon_random~  s3    !"*+?+s3r2   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCV\
        ^8  R7       R# ):0yE>r  r  r   r@  NrG   rL   rI   r   r   r   r  s   &    r0   'test_pdist_jensenshannon_random_float321TestPdist.test_pdist_jensenshannon_random_float32  sB    JJr,-.*+?+sGaKHr2   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r  r  r  test_jensenshannonr  Nr  r  s   &    r0   $test_pdist_jensenshannon_random_nonC.TestPdist.test_pdist_jensenshannon_random_nonC  s4    !"*+/0s3r2   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)rY   rI   r   r   r  s   &    r0   test_pdist_jensenshannon_iris'TestPdist.test_pdist_jensenshannon_iris  s=    ;;CCvJ/0?+s3r2   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCV\
        ^8  R7       R# )gư>r  r  r   r8  Nr  r  s   &    r0   %test_pdist_jensenshannon_iris_float32/TestPdist.test_pdist_jensenshannon_iris_float32  s@    JJr&z"/0?+sGaKHr2   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   &    r0   "test_pdist_jensenshannon_iris_nonC,TestPdist.test_pdist_jensenshannon_iris_nonC  s2    vJ/0/0s3r2   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'  r4   333333?绽|=rA  r   Nr'  r   r'  r'  r   r'  r'  r   r'  r'  	wmatchingrG   r   r  r   r  mm2s   &  r0   test_pdist_matching_mtica1$TestPdist.test_pdist_matching_mtica1  sd    bhh/hh/1rxxt<xxt<>3QU3Cae4r2   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'  r4   r  r  Nr'  r   r'  r'  r'  r   gUUUUUU?r  r  s   &  r0   test_pdist_matching_mtica2$TestPdist.test_pdist_matching_mtica2  sd    bhhy)XXi(*rxx	6hhy575qu5E6r2   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'  r4   r  r  Nr  r  wyulerG   r   r  r   r  r   r  s   &  r0   test_pdist_yule_mtica1 TestPdist.test_pdist_yule_mtica1  sr    "((?+((?+-288O4888O48:Q;!H1151AAE2r2   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'  r4   r  r  Nr  r  r  r  s   &  r0   test_pdist_yule_mtica2 TestPdist.test_pdist_yule_mtica2  sr    "((9%((9%'288IT288IT24Q;!H1151AAE2r2   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'  r4   r  r  Nr  r  g۶m۶m?wdicerG   r   r  r   r  r   r  s   &  r0   test_pdist_dice_mtica1 TestPdist.test_pdist_dice_mtica1  sr    "((?+((?+-288O4888O48:Q;!H5qu5E6r2   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'  r4   rc  r  r  Nr  r  r  r  s   &  r0   test_pdist_dice_mtica2 TestPdist.test_pdist_dice_mtica2  sr    "((9%((9%'288IT288IT24Q;!H3QU3Cae4r2   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'  r4   r  r  Nr  r  g      ?)r%   rG   r   r  r   r  r   r  s   &  r0   test_pdist_sokalsneath_mtica1'TestPdist.test_pdist_sokalsneath_mtica1  s    113/>/>@Q;!H5qu5E6r2   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'  r4   r  r  Nr  r  g?)wsokalsneathrG   r   r  r   r  r   r  s   &  r0   test_pdist_sokalsneath_mtica2'TestPdist.test_pdist_sokalsneath_mtica2  sr    ),),."((9D9((9D9;Q;!H5qu5E6r2   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  wrogerstanimotorG   r   r  r   r  r   r  s   &  r0    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6r2   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   &  r0    test_pdist_rogerstanimoto_mtica2*TestPdist.test_pdist_rogerstanimoto_mtica2  sr    BHHY/HHY/1RXXit<XXit<>Q;!H5qu5E6r2   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'  r4   r  r  Nr  r  r  wrussellraorG   r   r  r   r  r   r  s   &  r0   test_pdist_russellrao_mtica1&TestPdist.test_pdist_russellrao_mtica1  r  r2   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   &  r0   test_pdist_russellrao_mtica2&TestPdist.test_pdist_russellrao_mtica2  sr    ++-)48)48:Q;!H5qu5E6r2   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_canberrar@  N)rI   r   r  r{   r5   r  r   )r  DrD  r  r  s   &    r0   test_pdist_canberra_match#TestPdist.test_pdist_canberra_match#  sQ    vJQ;!''177#Q
+Q0S'A+>r2   c                X    R p\        R.R.3R4      pRp\        W#V\        ^8  R7       R# )r  r1  r  r   gd>@1?r8  N)r  r   r   )r  rD  pdist_yr  s   &   r0   test_pdist_canberra_ticket_711(TestPdist.test_pdist_canberra_ticket_711-  s2     !C53%.*=sGaKHr2   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>.myclassi8  rX   Nrn  rX   r2   r0   rs  r  8  rt  r2   rs  c                    < \        V ^ ,          S4      '       d   \        V^ ,          S4      '       g   \        R4      hR# rv  rx  rz  s   &&r0   r.  9TestPdist.test_pdist_custom_notdouble.<locals>._my_metric;  r|  r2   r4   r`  rw  r}  N)rG   r   r~  r   r	   r   )r  r.  r8   r  r  rs  s   &    @r0   test_pdist_custom_notdouble%TestPdist.test_pdist_custom_notdouble5  sN    	 		 xx')wyk2&A0Ww{;r2   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  rW  r1   rD  r   r  r  r  r   r  s
   &&&&,     r0   r  $TestPdist._check_calling_conventionsD  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  rI   r   r  r  rG   r  r   r   r  r  r\  r   rV  r  )r  r1   r  rW  r  r  s   &&    r0   test_pdist_calling_conventions(TestPdist.test_pdist_calling_conventionsY  s   
 ((G 7H%A{k69g> ) )-37-B++A6 %FF188BJJ/aa@//Q/?=(MM"&&"**)=)?)?"@AXXbiimmA.001//b/A' )r2   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  r>   r  r=   r   r<   rL   r`  r@  Nr  )rI   r  r   r   r   r   r  r  r   r  r   )r  r1   rD  r  r  r"  r  r  r  r   r  r#  s   &&          r0   test_pdist_dtype_equivalence&TestPdist.test_pdist_dtype_equivalences  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!   rL  rI  r4   r  r  Nr  )rI   r   r{   r  rG   r  r   r   r   r   r  r   rk   r  )r  r1   rD  rW  out_sizer   r  r  r  r  r  r  s   &&          r0   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!   rL  rI  r@  Nr  )	rI   r  r   r  r  r  r   r   r   )r  r1   rD  rW  X_copyr   rE  rF  s   &&      r0   r  TestPdist.test_striding  s     $%h/ 	AGG((()))*[ F3K1''6,V,S'A+>r2   r  Nr  )[r   ro  rp  rq  r	  r  r  r  r  r  r  r  r  slowr  r  r  r  r  r  r  r  r"  r)  r-  r1  r5  r9  r<  rA  rF  rI  rM  rQ  rT  rW  r\  r_  rc  rg  rj  rp  r  rG   r  rt  ry  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r)   r  r  r  r   r$  r  rr  r  r  s   @r0   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? ?r2   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  )rG   r   cases)r  r   r*  s   &  r0   r	  &TestSomeDistanceFunctions.setup_method  s)    HH_%HH_%fX
r2   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'  rO  r        ?rK  i`  i  i^  i  uint16Ngqaz@gw@gR"6@)r.  r!   r
   rG   r   r	   r   )	r  r   r*  dist1dist1p5dist2dist0p25r`   r   s	   &        r0   rP  (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r2   c                    V P                    F0  w  r\        W4      p\        V\        P                  ! ^4      4       K2  	  R# r  N)r.  
weuclideanr
   rG   rd  r  r   r*  rg  s   &   r0   r?  (TestSomeDistanceFunctions.test_euclidean  s.    JJDAa#Dbggaj1 r2   c                ^    V P                    F  w  r\        W4      p\        VR 4       K  	  R# )r  N)r.  wsqeuclideanr
   r;  s   &   r0   test_sqeuclidean*TestSomeDistanceFunctions.test_sqeuclidean  s&    JJDA%Dc* r2   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
   rG   rd  r;  s   &   r0   r0  %TestSomeDistanceFunctions.test_cosine  sD    JJDA1=DcDBGGBK"''"+4M,N&NO r2   c                    \        \        ^^.^^.RR7      \        4      '       g   Q h\        \        ^^.^^.4      \        4      '       g   Q hR# )r'  F)centeredN)ry  wcorrelationfloatrB  r  s   &r0   test_cosine_output_dtype2TestSomeDistanceFunctions.test_cosine_output_dtype  sH    ,1v1vFNNNN'1a&1a&159999r2   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   )UUUUUUrL  gUUUUUU@)rG   r   r.  rF  r
   r[  r   )r  xmymr   r*  rg  s   &     r0   rb  *TestSomeDistanceFunctions.test_correlation  sb    XXn%XX9:JJDA%DcBFF2Nd2hb>Q,R&RS r2   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# )ra  r   r   Ng       rK  )rG   r   r   finfor   rD  r;  s   &   r0   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9r2   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  rT  r   r*  s   &&  r0   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   ra  )r   r   r   )ra  r   r   )rG   r   r.  r    r
   rd  )r  r   r*  virg  s   &    r0   test_mahalanobis*TestSomeDistanceFunctions.test_mahalanobis  sa    HH_%HH_%XXIJJJDAqR(Dbggcl3 r2   )r.  N)r   ro  rp  rq  r	  rP  r?  r?  r0  rH  rb  rR  r  r  filterwarningsr  r   r   rY  r]  rr  r  r  s   @r0   r+  r+    s|     H&2
+
P
:
T	: [[ 89[[Vk6%:; < :4 4r2   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  r5   s   & r0   test_squareform_matrix%TestSquareForm.test_squareform_matrix       ((E((/ )r2   c                N    V P                    F  pV P                  V4       K  	  R # r\   )rc  check_squareform_vectorre  s   & r0   test_squareform_vector%TestSquareForm.test_squareform_vector  rh  r2   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   r4   g@N)r   r   rU   r'  r'  r'  )rG   zerosr   r	   r{   r5   r   r   )r  r5   ArAs   &&  r0   rd  &TestSquareForm.check_squareform_matrix  s    HHV5)]RXXt$RXXu%HHV5)]RXXt$RXXu%HHq#ha)7]RXXt$RXXu%2rxxU;<r2   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   r4   g @NrU   rn  )r8  r8  )rG   rp  r   r	   r{   r5   r   r   )r  r5   r  rvs   &&  r0   rj  &TestSquareForm.check_squareform_vector0  s    HHT']RXXv&RXXu%2u%HHcU%(]RXXv&RXXu%2rxx!SC8(<EJKr2   c                N    \        ^^4       F  pV P                  V4       K  	  R# r8  N)rl   check_squareform_multi_matrixr  ns   & r0   test_squareform_multi_matrix+TestSquareForm.test_squareform_multi_matrix=  s     q!A..q1 r2   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)rG   r   r   r  r	   lenr{   r   r   r  rl   )
r  r{  rW  Yrq  Yrskr   js
   &&        r0   ry  ,TestSquareForm.check_squareform_multi_matrixA  s    IINN1a AS\1%qM]GGa<!''177BHH-SVQS]A&QqT1Q4 q!A$A1q5!A$'6 a4!$/FA a4!, (  r2   rX   N)r   ro  rp  rq  rG   r   rL   int32int8r  rc  rf  rk  rd  rj  r|  ry  rr  r  r  s   @r0   ra  ra    sI     jj"**bhhFN00="L2- -r2   ra  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# )TestNumObsYiW  c                    \        ^^
4       FC  p\        P                  P                  V^4      p\	        V4      p\        \        V4      V4       KE  	  R# rx  )rl   rG   r   r   r  r	   r   )r  r{  rW  r  s   &   r0   test_num_obs_y_multi_matrix'TestNumObsY.test_num_obs_y_multi_matrixY  s>    q"A		q!$A"A1q) r2   c                    \         P                  ! \        4      ;_uu_ 4        V P                  ^4       RRR4       R#   + '       g   i     R# ; ir'  N)r  r   rk   check_yr  s   &r0   test_num_obs_y_1TestNumObsY.test_num_obs_y_1_  s-     ]]:&&LLO '&&&s	   ?A	c                :    \        V P                  ^4      4       R# rx  r   r  r  s   &r0   test_num_obs_y_2TestNumObsY.test_num_obs_y_2e  s     	Q r2   c                :    \        V P                  ^4      4       R# )   Nr  r  s   &r0   test_num_obs_y_3TestNumObsY.test_num_obs_y_3j      Q r2   c                :    \        V P                  ^4      4       R# r  r  r  s   &r0   test_num_obs_y_4TestNumObsY.test_num_obs_y_4m  r  r2   c                N    \        ^^4       F  pV P                  V4       K  	  R# r9  )rl   minit)r  r   s   & r0   test_num_obs_y_5_10TestNumObsY.test_num_obs_y_5_10p  s    q"AJJqM r2   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rx  setrl   addr  r   rk   bad_yr  r`   r{  r   s   &   r0   test_num_obs_y_2_100 TestNumObsY.test_num_obs_y_2_100t  sr     Eq"AEE!1u+/" q#Az]]:..JJqM /. ...   <BB-c                :    \        V P                  V4      4       R # r\   r  rz  s   &&r0   r  TestNumObsY.minit  r  r2   c                V    \         P                  P                  V4      p\        V4      # r\   )rG   r   r   r   r  r{  r*  s   && r0   r  TestNumObsY.bad_y  s    IINN1|r2   c                <    \        V P                  V4      4      V8H  # r\   )r   make_yrz  s   &&r0   r  TestNumObsY.check_y  s    Q(A--r2   c                h    \         P                  P                  W^,
          ,          ^,          4      # ro  rG   r   r   rz  s   &&r0   r  TestNumObsY.make_y  s     yy~~qE{q011r2   rX   N)r   ro  rp  rq  r  r  r  r  r  r  r  r  r  r  r  rr  r  r  s   @r0   r  r  W  sA     *!
!!	"!.2 2r2   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  )rl   rG   r   r   r  r   r   r  r{   r	   r   )r  r{  rW  r  rq  s   &    r0   test_num_obs_dm_multi_matrix)TestNumObsDM.test_num_obs_dm_multi_matrix  s`    q"A		q!$A"A1A!|aggqww'A* r2   c                :    \        V P                  ^ 4      4       R# rd   r   check_Dr  s   &r0   test_num_obs_dm_0TestNumObsDM.test_num_obs_dm_0      Q r2   c                :    \        V P                  ^4      4       R# r  r  r  s   &r0   test_num_obs_dm_1TestNumObsDM.test_num_obs_dm_1  r  r2   c                :    \        V P                  ^4      4       R# rx  r  r  s   &r0   test_num_obs_dm_2TestNumObsDM.test_num_obs_dm_2  r  r2   c                :    \        V P                  ^4      4       R# rx  r  r  s   &r0   test_num_obs_dm_3TestNumObsDM.test_num_obs_dm_3  r  r2   c                :    \        V P                  ^4      4       R# r  r  r  s   &r0   test_num_obs_dm_4TestNumObsDM.test_num_obs_dm_4  r  r2   c                <    \        V P                  V4      4      V8H  # r\   )r   make_Drz  s   &&r0   r  TestNumObsDM.check_D  s    $++a.)Q..r2   c                @    \         P                  P                  W4      # r\   r  rz  s   &&r0   r  TestNumObsDM.make_D  s    yy~~a##r2   rX   N)r   ro  rp  rq  r  r  r  r  r  r  r  r  rr  r  r  s   @r0   r  r    s2     +!!!!!/$ $r2   r  c                     \        V R R7      # T)throw)r   )r
  s   &r0   is_valid_dm_throwr    s    q%%r2   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  r4   Nr  rG   rp  r   r  r   rk   r  r  r
  s   & r0   $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  r4   FNr  rG   rp  r   r	   r   r  s   & r0   $test_is_valid_dm_improper_shape_1D_F2TestIsValidDM.test_is_valid_dm_improper_shape_1D_F  s$    HHT,[^U+r2   c                    \         P                  ! R\         P                  R7      p\        P                  ! \
        4      ;_uu_ 4        \        V4       RRR4       R#   + '       g   i     R# ; ir  r4   Nr  r  r  r  r  s   & r0   $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  r4   FNr  r  r  s   & r0   $test_is_valid_dm_improper_shape_3D_F2TestIsValidDM.test_is_valid_dm_improper_shape_3D_F  s$    HHYbjj1[^U+r2   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)	rG   r   r   r   rl   r  r   rk   r  r  r*  r
  r   s   &   r0   #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)rG   r   r   r   rl   r	   r   r  s   &   r0   #test_is_valid_dm_nonzero_diagonal_F1TestIsValidDM.test_is_valid_dm_nonzero_diagonal_F  sF    IINN2qMq!AAdG [^U+r2   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  )rG   r   r   r   r  r   rk   r  r  r*  r
  s   &  r0   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  rG   r   r   r   r	   r   r  s   &  r0   test_is_valid_dm_asymmetric_F+TestIsValidDM.test_is_valid_dm_asymmetric_F  s<    IINN2qMD'A+$[^U+r2   c                |    \         P                  ! R\         P                  R7      p\        \	        V4      R4       R# )r'  r4   TNrn  r  r  s   & r0   test_is_valid_dm_correct_1_by_1-TestIsValidDM.test_is_valid_dm_correct_1_by_1  s$    HHV2::.[^T*r2   c                    \         P                  P                  ^4      p\        V4      p\	        \        V4      R4       R# )r'  TNr  r  s   &  r0   test_is_valid_dm_correct_2_by_2-TestIsValidDM.test_is_valid_dm_correct_2_by_2  +    IINN1qM[^T*r2   c                    \         P                  P                  ^4      p\        V4      p\	        \        V4      R4       R# r  TNr  r  s   &  r0   test_is_valid_dm_correct_3_by_3-TestIsValidDM.test_is_valid_dm_correct_3_by_3  r  r2   c                    \         P                  P                  ^4      p\        V4      p\	        \        V4      R4       R# )   TNr  r  s   &  r0   test_is_valid_dm_correct_4_by_4-TestIsValidDM.test_is_valid_dm_correct_4_by_4  r  r2   c                    \         P                  P                  ^
4      p\        V4      p\	        \        V4      R4       R# )r  TNr  r  s   &  r0   test_is_valid_dm_correct_5_by_5-TestIsValidDM.test_is_valid_dm_correct_5_by_5  s+    IINN2qM[^T*r2   rX   N)r   ro  rp  rq  r  r  r  r  r  r  r  r  r   r  r  r  r  rr  r  r  s   @r0   r  r    sK     !
,!
,!,!,++
+
+
+ +r2   r  c                     \        V R R7      # r  )r   )r*  s   &r0   is_valid_y_throwr    s    at$$r2   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  r4   Nr  r  rG   rp  r   r  r   rk   r  r  r*  s   & r0   #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  r4   FNr  rG   rp  r   r	   r   r  s   & r0   #test_is_valid_y_improper_shape_2D_F0TestIsValidY.test_is_valid_y_improper_shape_2D_F  s$    HHWBJJ/Z]E*r2   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   & r0   #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   & r0   #test_is_valid_y_improper_shape_3D_F0TestIsValidY.test_is_valid_y_improper_shape_3D_F  s$    HHYbjj1Z]E*r2   c                R    V P                  ^4      p\        \        V4      R4       R# )r8  TNcorrect_n_by_nr	   r   r  s   & r0   test_is_valid_y_correct_2_by_2+TestIsValidY.test_is_valid_y_correct_2_by_2       "Z]D)r2   c                R    V P                  ^4      p\        \        V4      R4       R# r  r&  r  s   & r0   test_is_valid_y_correct_3_by_3+TestIsValidY.test_is_valid_y_correct_3_by_3  r*  r2   c                R    V P                  ^4      p\        \        V4      R4       R# )r  TNr&  r  s   & r0   test_is_valid_y_correct_4_by_4+TestIsValidY.test_is_valid_y_correct_4_by_4   r*  r2   c                R    V P                  ^4      p\        \        V4      R4       R# )r  TNr&  r  s   & r0   test_is_valid_y_correct_5_by_5+TestIsValidY.test_is_valid_y_correct_5_by_5$  r*  r2   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rx  r  r  s   &   r0   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  )rG   r   r   r   r  s   && r0   r  TestIsValidY.bad_y1  s!    IINN1!4((r2   c                l    \         P                  P                  W^,
          ,          ^,          4      pV# ro  r  r  s   && r0   r'  TestIsValidY.correct_n_by_n5  s$    IINNAQKA-.r2   rX   N)r   ro  rp  rq  r  r  r   r#  r(  r,  r/  r2  r5  r  r'  rr  r  r  s   @r0   r  r    sA     
 
+ 
+****") r2   r  rI  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   rk   r!   rO  s   &r0   
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   rk   r%   rX   r2   r0   test_sokalsneath_all_falser>  C  s,    	z	"	")+@A 
#	"	"	"s	   >A	c                  n    \        \        . RO. RO4      ^4       \        \        . RO. RO4      ^4       R# )r'  Nr'  r8  r  r8  r  r  r'  r'  r   r   r'  r   r'  r   )r	   	wcanberrarX   r2   r0   r	  r	  I  s$    9i0!4<6:r2   c                  v    \        \        . RO. RO4      R^R7       \        \        . RO. RO4      R^R7       R# )	r'  decimalrc  Nr@  rA  UUUUUU?rB  rC  )r
   wbraycurtisrX   r2   r0   test_braycurtisrJ  O  s(    Iy962NL,?bQr2   c                     \         P                  ! . RO4      p \         P                  ! . RO4      p\        \        W4      R^R7       \        \	        W4      \         P
                  ! ^4      ^R7       \         P                  P                  R4      pVP                  ^
4      pVP                  ^
4      p\	        W44      p\        W44      p\        V^,          V^R7       R# )r'  r  rF  iIN)r'  r'  r'  r   r   r   )	rG   r   r
   r>  r:  rd  r   r   r   )re  rf  rsr   r*  d1d2s          r0   test_euclideansrP  U  s    	)	B	)	B R,c2>
2*BGGAJC 
		z	*B
A
A	A	B	a	BAr2.r2   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'  rC  r  r   rk   whammingr   r*  s     r0   test_hamming_unequal_lengthrV  g  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'.rW  NrR  rC  rS  )ur  r   r?  s       r0   "test_hamming_unequal_length_with_wrY  p  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|S4r4   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[  )rG   r   r   rT  )r`   r   desireds      r0   test_hamming_string_arrayr^  y  sK    
 B 	A 	 B 	A GHQNG,r2   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)r1   rI  r   )r1   rI  r<  r  )
r`        Y@r`  ra  g      B@g      N@g     V@g     b@g      8@g      H@)rG   r   r   r   r   )arr_inp0c0p1c1s        r0   test_minkowski_wrg    sq    XX 223 4F 
vkQ$	7B	vkQ$	?B	vkQ	/B	vkQ	7BB'B'r2   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'  r4   Nr@  )r  r  r  )float16float128)rG   r  int16r  r  r>  asarrayr   r   r5   floatinguint8r2  uint32uint64iinfomaxr	   r   rL   	complex64
complex128hasattrr   getattr)r   r*  r5   dumaxrN  rO  dtypess           r0   test_sqeuclidean_dtypesrz    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$ r2   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@)rG   rl  r  r   r   r   )r1   r"  r  s   &  r0   test_modifies_inputr}    sG    	\$$') 
*B ggiG	"&	"r#r2   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   NrI  r  r  r$   r    r!   r  r  r  r|  )rI  r  r  )rG   rl  r  r   r   r   r   )r1   r"  r+  r   s   &   r0   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   )rI   rG   r   r{   r  ro  r!  r   rk   r   r   )r1   rW  r   r  s   &   r0   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'  r4   zInput vector should be 1-DrW  Nr@  r   )r   r   rG   r   r	   r5   re   r  r   rk   r  r   rU  s     r0   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# )r8  r4   ra  r'   :Nr'  NN)r8  r  )rG   r   r  r  r   r	   r   )r   rw  s     r0   test_yule_all_samer    sm    
d#AadAaDA8O8aASEaeQrUF#AcUGr2   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   ra  r   rc  g)>d?r1  rp   gД?T)rm   keepdimsN)r   ra  ra  )ra  r   ra  )r'  r8  r  r  )r  r        )	   r        )            )            )            )g'Y?gTyCЇ?gFw$?g\BZ?)g;0%7/?g)o?gku?)r
   r   rG   r   )r`   r   s     r0   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;r2   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   r`  N)r'  r   r   )r8  r   r   )rG   r   r   r   r   r   r  )arr_1arr_2expectedactuals       r0   test_gh_17703r  0  si    HHYEHHYEE!HE>&1FF%2=='=='8FF%r2   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  r4   F)writer  N)r   r    r$   )
r  ro  rG   r  r   setflagsrv  scipyspatialdistance)r1   r   s   & r0   test_immutable_inputr  ;  sU    ??$%
		"BJJ'AJJUJEMM""F+AA6r2   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'   )r1   r   N)r   r   r'  r'  )r   r'  r'  r   )r1  r  gffffff?g?)rG   r   rl  r'   r   r   r  )r`   r   r   r  r  s        r0   test_gh_23109r  C  ss    
A
A


'(AAAHH012==#==# A'F F%r2   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# )TestJaccardiO  c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# r  r9   pdist-jaccardr   r  Nr'  r  s   &    r0   test_pdist_jaccard_random%TestJaccard.test_pdist_jaccard_randomQ  s2    "#_%I&s3r2   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       R# r  r,  r  s   &    r0   !test_pdist_jaccard_random_float32-TestJaccard.test_pdist_jaccard_random_float32X  ;    JJr-./_%I&s3r2   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# r  r9   r  test_jaccardr  Nr'  r  s   &    r0   test_pdist_jaccard_random_nonC*TestJaccard.test_pdist_jaccard_random_nonC_  s2    "#_%N+s3r2   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       R# r  r  r  s   &    r0   test_pdist_djaccard_random&TestJaccard.test_pdist_djaccard_randomf  r  r2   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       R# r  r,  r  s   &    r0   "test_pdist_djaccard_random_float32.TestJaccard.test_pdist_djaccard_random_float32m  r  r2   c                    R p\        \        P                  ! R4      R4      p\        \        P                  ! ^
4      W!R7       R# )r<  r   r  Nr  r  r   rG   rp  r   r  rD  r  s   &  r0   test_pdist_djaccard_allzeros(TestJaccard.test_pdist_djaccard_allzerost  s.    "((6"I.a2r2   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCVR7       R# r  r  r  s   &    r0   test_pdist_djaccard_random_nonC+TestJaccard.test_pdist_djaccard_random_nonCy  s;    JJr-./_%N+s3r2   c                    R p\        \        P                  ! R4      R4      p\        \        P                  ! ^
4      W!R7       R# )r<  r  r  Nr  r  r  s   &  r0   !test_pdist_djaccard_allzeros_nonC-TestJaccard.test_pdist_djaccard_allzeros_nonC  s.    "((6"N3a2r2   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  wjaccardrG   r   r  r   r  s   &  r0   test_pdist_jaccard_mtica1%TestJaccard.test_pdist_jaccard_mtica1  sd    RXXo.XXo.0bhhd;hhd;=3QU3Cae4r2   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   &  r0   test_pdist_jaccard_mtica2%TestJaccard.test_pdist_jaccard_mtica2  sd    RXXi(XXi(*bhhy5hhy575qu5E6r2   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   )r8  r8  rH  )	rG   r   rQ  rG  rD  r   r   r   r   )r  r   r*  rD  s   &   r0   test_non_01_inputTestJaccard.test_non_01_input  ss     HH]#HH]#hhuo!!s5qcA3	2cUG<qfi03%8r2   rX   N)r   ro  rp  rq  r  r  r  r  r  r  r  r  r  r  r  rr  r  r  s   @r0   r  r  O  sA     444443
43
579 9r2   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   &    r0   test_pdist_chebyshev_random)TestChebyshev.test_pdist_chebyshev_random  s3    !"&';'s3r2   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCV\
        ^8  R7       R# )r  r  r  r   r@  Nr  r  s   &    r0   #test_pdist_chebyshev_random_float321TestChebyshev.test_pdist_chebyshev_random_float32  sB    JJr,-.&';'sGaKHr2   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )r  r  r  test_chebyshevr  Nr  r  s   &    r0    test_pdist_chebyshev_random_nonC.TestChebyshev.test_pdist_chebyshev_random_nonC  s4    !"&'+,s3r2   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )rT  r  pdist-chebyshev-irisr   r  Nr  r  s   &    r0   test_pdist_chebyshev_iris'TestChebyshev.test_pdist_chebyshev_iris  s1    vJ+,;'s3r2   c                    R p\         P                  ! \        R,          4      p\        R,          p\        VR4      p\	        WCV\
        ^8  R7       R# )r   r  r  r   r@  Nr  r  s   &    r0   !test_pdist_chebyshev_iris_float32/TestChebyshev.test_pdist_chebyshev_iris_float32  s@    JJr&z"+,;'sGaKHr2   c                p    R p\         R,          p\         R,          p\        VR4      p\        WCVR7       R# )rT  r  r  r  r  Nr  r  s   &    r0   test_pdist_chebyshev_iris_nonC,TestChebyshev.test_pdist_chebyshev_iris_nonC  s2    vJ+,+,s3r2   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  Nr@  r  r  r  )r   r'  r  r	   r   r   r   r  r   r*  r   s   &   r0   test_weightedTestChebyshev.test_weighted  sX     YqQ'+UA6;!4qc:UA3[A6!>r2   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  Nr@  r  rL  r  r  s   &   r0   test_zero_weightTestChebyshev.test_zero_weight  sV    YqQ'+UA6;!4qc:UA3[A6!>r2   rX   N)r   ro  rp  rq  r  r  r  r  r  r  r  r  rr  r  r  s   @r0   r  r    s4     4I44I4?? ?r2   r  zfunc,pg      @r|   c                 <   \         P                  P                  R 4      p\        RRRR4      ! V 4      pVP                  R4      pVP                  R	4      pV'       d   VP                  ^4      MRpVf   RV/MRVRV/pV ! WV3/ VB p	V! WV3/ VB p
\	        W4       R# )
l   nnrI  r   N)rX  r'  )r  r'  )rI  r'  )r   r'  )r  r8  r  )r8  r  )rG   r   default_rngr(   r   )rT  rI  r|   rngref_funcrX  r  r   r   resr  s   &&&        r0   test_distance_ndr    s     ))


.C 8XxHNH

9A

6A 

1dAc1Xaa(8F
q
v
C
1
"6
"CCr2   )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      ra  )	functoolsr   r   os.pathrA   rm  r  r   r  numpyrG   numpy.linalgr   numpy.testingr   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(   scipy.conftestr)   fixturer1   r?   r   _tdist_ytdistrI   rS   rY   rn   r   r   r   r   assert_allclose_forgivingr   r   rZ  rC  r(  r  r  r  rT  r  r  
wcityblock
wchebyshevrB  rF  r  r:  r>  rI  rD  r  r  r   r  r+  ra  r  r  r  r  r  r  r  r  r<  r>  r	  rJ  rP  rV  rY  r^  rg  rz  r}  r  r  r  r  r  r  r  r  r  r  r  r  rX   r2   r0   <module>r     s  F %  
     A A  & & &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)aA aAH	I? I?VP4 P4f@- @-F32 32l $  $F&F+ F+R%6 6r 01- 2-B;R/$-(%>	$(8 4
;:&7	&N9 N9b=? =?@ 	A	A	C	BFF	D	d
 T5M2 3
r2   