ó
î&]\c        
   @` sš   d  d l  m Z m Z m Z d  d l Z d  d l m Z m Z m	 Z	 d d l
 m Z m Z m Z m Z e j Z e e e e e d  e j e e d „	 Z d S(   i    (   t   divisiont   print_functiont   absolute_importN(   t
   csr_matrixt
   isspmatrixt   isspmatrix_csci   (   t   csgraph_to_denset   csgraph_from_denset   csgraph_masked_from_denset   csgraph_from_maskedc      
   C` s˜  | p	 | s t  d ƒ ‚ n  | r: t |  ƒ r: |  j }  n  t |  ƒ r| | rg t |  d t d | ƒ}  qMt |  d | ƒ}  nÑ t j j	 |  ƒ r× | rÈ |  j
 } t j |  j d t d | ƒ}  | |  | <qMt |  ƒ }  nv | r/t |  d | d | d |
 d |	 ƒ}  |  j
 } t j |  j d t ƒ}  | |  | <n t |  d | d |	 d |
 ƒ}  |  j d k rkt  d ƒ ‚ n  |  j d	 |  j d
 k r”t  d ƒ ‚ n  |  S(   s7   Routine for validation and conversion of csgraph inputss*   Internal: dense or csr output must be truet   dtypet   copyt
   null_valuet   nan_nullt   infinity_nulli   s/   compressed-sparse graph must be two dimensionali    i   s,   compressed-sparse graph must be shape (N, N)(   t
   ValueErrorR   t   TR   R   t   DTYPER   t   npt   mat   isMaskedArrayt   maskt   arrayt   dataR	   R   t   asarrayR   t   ndimt   shape(   t   csgrapht   directedR
   t
   csr_outputt   dense_outputt   copy_if_denset   copy_if_sparset   null_value_int   null_value_outR   R   R   (    (    s?   lib/python2.7/site-packages/scipy/sparse/csgraph/_validation.pyt   validate_graph   s>    					(   t
   __future__R    R   R   t   numpyR   t   scipy.sparseR   R   R   t   _toolsR   R   R   R	   t   float64R   t   Truet   Falset   infR#   (    (    (    s?   lib/python2.7/site-packages/scipy/sparse/csgraph/_validation.pyt   <module>   s   "		