
    1-Ph                     "   d dl Zd dlmc mZ d dlmZmZmZ d dl	m
Z
 ej                            d             ej        dej                  Zd edddf<   d edddf<   dZd	 Zd
 Zd Zd Zd Z edddgdz            d             Zd ZdS )    N)assert_array_equalassert_almost_equalparametrize)expected_warnings)   r   )dtype   z|\A\Zc                  l   t          dt          z   g          5  t          j        t          d          } d d d            n# 1 swxY w Y   |                     dg          \  }}|                     d          }t          |g dg dg dg d	g d
g dg dg dg           t          |g d           d S )NUpgrading NumPyTfully_connectedr	            )      ?r   r   r   r   r   r   r   r           r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r          @r   r   r   r   )r   r   r   r         @r   r   r   )r   r   r   r   r         @r   r   )r   r   r   r   r   r         @r   )r   r   r   r   r   r   r         @r   r	      r	      r	      r	   r   r   r	   r"   r	   r    r	   r   r	   r   r	   r   r   warning_optionalmcpMCPa
find_costs	tracebackr   mcostsr/   return_paths       \/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/skimage/graph/tests/test_mcp.py
test_basicr5      s>   	-0@@A	B	B - -GAt,,,- - - - - - - - - - - - - - -||VH--E9++f%%K444444444444444444444444		
   	
 	
 	
       AAAc                  @   t          j        t          dk    t           j        d          } g d}t          j        t          dk    dd          }t          j        t          dk    t           j        d          }t	          dt
          z   g          5  t          j        |d          }d d d            n# 1 swxY w Y   |                    dg          \  }}|	                    d	          }t          ||            t          ||           t	          dt
          z   g          5  t          j        |d          }d d d            n# 1 swxY w Y   |                    dg          \  }}|	                    d	          }t          ||            t          ||           d S )
Nr	   r   )
r   r   r   r!   r#   r$   r%   r&   r'   r(   r
   r   Tr   r   r(   )npwherer-   infr   r*   r+   r,   r.   r/   r   )expected_costsexpected_pathtest_negtest_infr1   r2   r/   r3   s           r4   test_neg_infr?   5   s   Xa1fbfa00N  M xQA&&HxQ**H	-0@@A	B	B 4 4GHd3334 4 4 4 4 4 4 4 4 4 4 4 4 4 4||VH--E9++f%%Kun---{M222	-0@@A	B	B 4 4GHd3334 4 4 4 4 4 4 4 4 4 4 4 4 4 4||VH--E9++f%%Kun---{M22222s$   B11B58B5"EE	E	c                     t          dt          z   g          5  t          j        t          ddd          \  } }d d d            n# 1 swxY w Y   t          |t          j        d          dz             t          | g d           d S )Nr   r   r   T)	geometricr   r   )	r   r*   r+   route_through_arrayr-   r   r8   sqrtr   )r3   costs     r4   
test_routerE   S   s    	-0@@A	B	B W W3AvvQUVVVTW W W W W W W W W W W W W W Wbgajj1n---	
 	
 	
    s   !AA
A
c                  l   t          dt          z   g          5  t          j        t          d          } d d d            n# 1 swxY w Y   |                     dg          \  }}|                     d          }t          |g dg dg dg d	g d
g dg dg dg           t          |g d           d S )Nr   Fr   r   r   )r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   g      @)r   r   r   r!   r#   )r	   r	   r$   r%   r&   r'   r(   )r   r	   r   r)   r0   s       r4   test_no_diagonalrG   i   s>   	-0@@A	B	B . .GAu---. . . . . . . . . . . . . . .||VH--E9++f%%K444444444444444444444444		
   	
 	
 	
    r6   c                     d t          d          D             d t          dd          D             z   } t          dt          z   g          5  t          j        t
          |           }d d d            n# 1 swxY w Y   |                    dg          \  }}t          |g dg d	g d
g dg dg dg dg dg           t          |d          sJ t          | |j	                   d S )Nc                     g | ]}d |fS r	    .0is     r4   
<listcomp>z test_offsets.<locals>.<listcomp>   s    )))!1v)))    
   c                     g | ]}d | fS rJ   rK   rL   s     r4   rO   z test_offsets.<locals>.<listcomp>   s    ,K,K,Ka!W,K,K,KrP   r	   r   )offsetsr   )rT   rT   rT   rT   rT   rT   rT   )rT   rT   rT   rT   rT   rT   r
   rT   )               rQ   r   r	   )rQ   r   r	   r   r"   r    r   r   rS   )
ranger   r*   r+   r,   r-   r.   r   hasattrrS   )rS   r1   r2   r/   s       r4   test_offsetsr\      sb   ))uRyy))),K,KeArll,K,K,KKG	-0@@A	B	B ( (GAw'''( ( ( ( ( ( ( ( ( ( ( ( ( ( (||VH--E9,,,,,,***%%%%%%%%%%%%%%%		
   1i     w	*****s   A55A9<A9shape)d   r^   )r   r   rW      r   c                 $    t          |            d S )N)_test_random)r]   s    r4   test_crashingrb      s    rP   c                 &    t          j        j                              t           j                  }dgt                     z  dgt                     z  t           j                            t                                z                      t                    g} fdt          d          D             }t          dt          z   g          5  t          j        |d          }d d d            n# 1 swxY w Y   |                    |          \  }} fdt          d          D             D ]}|                    |           |                                 |                    ||           |D ]}|                    |           |||fS )	Nr   r
   c                     g | ]I}t           j                            t                              z                      t
                    JS rK   r8   randomrandlenastypeintrM   rN   r]   s     r4   rO   z _test_random.<locals>.<listcomp>   s@    OOORY^^CJJ''%/77<<OOOrP   r    r   Tr   c                     g | ]I}t           j                            t                              z                      t
                    JS rK   re   rk   s     r4   rO   z _test_random.<locals>.<listcomp>   s@    UUUq29>>#e**--5==cBBUUUrP   )r8   rf   rg   ri   float32rh   rj   rZ   r   r*   r+   r,   r.   r/   _reset)	r]   r-   startsendsr1   r2   rS   pointends	   `        r4   ra   ra      s   
	%%bj11A	
c%jj	s5zz	E

	#	#e	+33C88F
 POOOeAhhOOOD	-0@@A	B	B - -GAt,,,- - - - - - - - - - - - - - -\\&))NE7UUUUERSHHUUU  	EHHJJJLL  	CeWs   C44C8;C8)numpyr8   skimage.graph.mcpgraphr+   skimage._shared.testingr   r   r   skimage._shared._warningsr   rf   seedonesrm   r-   r*   r5   r?   rE   rG   r\   rb   ra   rK   rP   r4   <module>rz      sJ                X X X X X X X X X X 7 7 7 7 7 7 	q   BGF"*%%%!B$'
!QrT'
 " " "J3 3 3<  ,# # #L+ + +, Wz>2Q677  87    rP   