+
    0i                          ^ RI t^ RIHtHtHt ^ RIt^ RIHt ^ RI	H
t
 ^ RIHt  ! R R4      t]P                  P                  R 4       tR# )	    N)assert_allcloseassert_array_equalassert_equal)directed_hausdorff)distance)check_random_statec                   6  a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 t]P                  P                  R
RR]P"                  P%                  ^4      .4      R 4       tR t]P                  P                  RR.RR.]P*                  ! ^ 4      R3R.RR.^R3R.RR.]P"                  P%                  ^ 4      R3R.RR.]P"                  P%                  ^4      R3RR.. RORR3RR.. RO]P"                  P%                  R4      R3.4      R 4       tRtV tR# )TestHausdorffc                   \         P                  P                  R 4       \         P                  P                  ^d4      \         P                  ,          ^,          p\         P                  ! W\         P
                  ! ^d4      34      p\         P                  ! VR,          4      VR&   \         P                  ! VR,          4      VR&   \         P                  ! W\         P
                  ! ^d4      34      p\         P                  ! VR,          4      R,          VR&   \         P                  ! VR,          4      R,          VR&   \         P                  ! VR	,          4      R,          VR	&   \         P                  ! VR
,          4      R,          VR
&   W n        W0n	        \         P                  ! V P                  ^^^R7      V n        \         P                  ! V P                  ^^^R7      V n        R# )i  g       @gffffff
@axisN).r   ).   )r   NNr   )r   r   r   r   r   r   )nprandomseedpicolumn_stackzeroscossinpath_1path_2insert	path_1_4d	path_2_4d)selfrandom_anglesrandom_columnsrandom_columns_2s   &   `/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/spatial/tests/test_hausdorff.pysetup_methodTestHausdorff.setup_method   s[   
		t		((-59288C=9;!#v(>!?v!#v(>!?v??288C=9;"$&&)9%)@"AC"G"$&&)9%)@"AC"G!#(8(>!?#!E!#(8(>!?#!E$&4;;11=4;;2A>    c                    \        V P                  V P                  4      ^ ,          p\        V P                  V P                  4      ^ ,          pW8w  g   Q hR# )r   N)r   r   r   )r   forwardreverses   &  r#   test_symmetryTestHausdorff.test_symmetry!   sB     %T[[$++>qA$T[[$++>qA!!!r&   c                    \        V P                  V P                  4      ^ ,          p\        \        P
                  ! \        P                  ! V P                  V P                  4      ^R7      4      p\        W4       R# r   r   N	r   r   r   maxr   aminr   cdistr   r   actualexpecteds   &  r#   #test_brute_force_comparison_forward1TestHausdorff.test_brute_force_comparison_forward)   R     $DKK=a@rwwx~~dkk4;;G$%' ()r&   c                    \        V P                  V P                  4      ^ ,          p\        \        P
                  ! \        P                  ! V P                  V P                  4      ^ R7      4      p\        W4       R# r-   )	r   r   r   r/   r   r0   r   r1   r   r2   s   &  r#   #test_brute_force_comparison_reverse1TestHausdorff.test_brute_force_comparison_reverse3   r7   r&   c                l    \        V P                  V P                  4      ^ ,          p\        VR4       R# )r           N)r   r   r   )r   r3   s   & r#   test_degenerate_case"TestHausdorff.test_degenerate_case=   s'     $DKK=a@$r&   c           	     6   \        V P                  R,          V P                  R,          4      ^ ,          p\        \        P
                  ! \        P                  ! V P                  R,          V P                  R,          4      ^R7      4      p\        W4       R# ).r   N).:N   Nr.   r2   s   &  r#   test_2d_data_forward"TestHausdorff.test_2d_data_forwardC   sr     $DKK$8$(KK$8::;=rwwx~~dkk'.B.2kk'.B D$%' ( 	)r&   c                    \        V P                  V P                  4      ^ ,          p\        \        P
                  ! \        P                  ! V P                  V P                  4      ^ R7      4      p\        W4       R# r-   )	r   r   r   r/   r   r0   r   r1   r   r2   s   &  r#   test_4d_data_reverse"TestHausdorff.test_4d_data_reverseM   sR     $DNNDNNCAFrwwx~~dnndnnM$%' ()r&   c                    \         P                  ! RR.^ ^ .^^.^^.^^..4      p\         P                  ! ^ ^ .^^.^^d.^
^	..4      p\        W!4      R,          pRp\        W44       R# )r   r   Ni)r@      )r   arrayr   r   )r   path_simple_1path_simple_2r3   r4   s   &    r#   test_indicesTestHausdorff.test_indicesV   st     2c(Aa51Q%!A1!FG1Q%!A3"Q!@A#MA"E6,r&   c                    \        R 4      pVP                  4       p\        V P                  V P                  4       \        R 4      pVP                  4       p\        WB4       R # Nr   	get_stater   r   r   r   )r   rsold_global_staters2new_global_states   &    r#   test_random_stateTestHausdorff.test_random_state_   sK      %<<>4;;4 &==?%8r&   r   NiEc                    \        R 4      pVP                  4       p\        V P                  V P                  V4       \        R 4      pVP                  4       p\        WS4       R # rO   rP   )r   r   rR   rS   rT   rU   s   &&    r#   test_random_state_None_int(TestHausdorff.test_random_state_None_inti   sM      %<<>4;;T: &==?%8r&   c                $   \         P                  P                  R 4      pVP                  R4      pVP                  R4      pRp\        P                  ! \
        VR7      ;_uu_ 4        \        W#4       RRR4       R#   + '       g   i     R# ; i)l	   "{`R! z'need to have the same number of columns)matchNrH   r@   )rH      )r   r   default_rngpytestraises
ValueErrorr   )r   rngABmsgs   &    r#   test_invalid_dimensions%TestHausdorff.test_invalid_dimensionst   sb     ii##$KLJJvJJv8]]:S11q$ 2111s   (A>>B	zA, B, seed, expected*- c                   \        WVR 7      p\        V^ ,          V^ ,          4       Tp\        VR4      '       d!   VP                  P                  P
                  pV^8X  g   VR8w  d   VR,          VR,          8X  g   Q h\        V\        P                  P                  4      '       g*   \        WVR7      p\        V^ ,          V^ ,          4       R# R# ))uvr   bit_generatorri   r   )rk   rl   rc   N)
r   r   hasattrrm   	_seed_seqentropy
isinstancer   r   RandomState)r   rd   re   r   r4   num_parallel_threadsr3   starting_seeds   &&&&&&  r#   test_subsetsTestHausdorff.test_subsets   s    L $a48q	8A;/4)) ..88@@M1$(>":"---$		 5 566'!d;FF1Ix{3 7r&   )r   r   r   r   r   r   )r<   r   r   rH   )r   r   rw   )r<   r   r   )r<   r   r@   )__name__
__module____qualname____firstlineno__r$   r*   r5   r9   r=   rA   rD   rL   rV   r`   markparametrizer   r   r_   rY   rg   int64ru   __static_attributes____classdictcell__)__classdict__s   @r#   r
   r
      sl    ?&"**%**-9 [[VdHbii6K6KC6P%QR9 S9% [[3

	!		 
	
		
 
			q	!		 
			q	!		
 5		 	 
	 5		 			u	% 
	9#6 #H4I#H4r&   r
   c                      ^ RI p X P	                  4       P
                  R8  d   \        P                  ! R4       \        R4      p\        P                  ! V^3R7      p\        P                  ! R	R7      p^^.W!^,
          &   \        W#R7      p\        V^ ,          R4       \        V^,          V^,
          4       R#   \         d    \        P                  ! R4        Li ; i)
r   Nz)psutil required to check available memoryz.insufficient memory available to run this testg   ZA)shape)rk   rl   g
 H@l       P r]   )psutilModuleNotFoundErrorr`   skipvirtual_memory	availableintr   r   r   r   )r   sizearr1arr2r3   s        r#   test_massive_arr_overflowr      s    
A ((83DEs8D884)$D88&!DVDN$/FF1I12F1Itax(  A?@As   B> >!C"!C")numpyr   numpy.testingr   r   r   r`   scipy.spatial.distancer   scipy.spatialr   scipy._lib._utilr   r
   r}   xslowr    r&   r#   <module>r      sK    ) )  5 " /g4 g4T ) )r&   