o
    Ö­jE
  ã                	   @   s`   d dl Zd dlmZ d dlmZ d dlmZmZm	Z	m
Z
 ejZeddddd ejddf	dd„ZdS )	é    N)Úissparse)Úconvert_pydata_sparse_to_scipy)Úcsgraph_to_denseÚcsgraph_from_denseÚcsgraph_masked_from_denseÚcsgraph_from_maskedTFc                 C   sD  |s|st dƒ‚|g}|	r| tj¡ |
r| tj¡ t| |d�} |s/t| ƒr/| jdkr/| j} t| ƒrH|rA| j	|d�j
tdd�} nHt| |d�} nAtj | ¡rf|ra| j}tj| jt|d�} || |< n(t| ƒ} n#|r�t| |||
|	d�} | j}tj| jtd	�} || |< nt| ||	|
d
�} | jdkr’t dƒ‚| jd | jd kr t dƒ‚| S )z7Routine for validation and conversion of csgraph inputsz*Internal: dense or csr output must be true)Ú	accept_fvÚcsc)ÚcopyF)Ú
null_value)Údtyper
   )r
   r   Únan_nullÚinfinity_null)r   )r   r   r   é   z#compressed-sparse graph must be 2-Dr   é   z,compressed-sparse graph must be shape (N, N))Ú
ValueErrorÚappendÚnpÚinfÚnanr   r   ÚformatÚTÚtocsrÚastypeÚDTYPEr   ÚmaÚisMaskedArrayÚmaskÚarrayÚdatar   r   Úasarrayr   ÚndimÚshape)ÚcsgraphÚdirectedr   Ú
csr_outputÚdense_outputÚcopy_if_denseÚcopy_if_sparseÚnull_value_inÚnull_value_outr   r   r   r   © r+   ú]/var/www/html/CropPilot/venv/lib/python3.10/site-packages/scipy/sparse/csgraph/_validation.pyÚvalidate_graph   sN   

ü
þ
r-   )Únumpyr   Úscipy.sparser   Úscipy.sparse._sputilsr   Úscipy.sparse.csgraph._toolsr   r   r   r   Úfloat64r   r   r-   r+   r+   r+   r,   Ú<module>   s    ü