ó
Ê½÷Xc           @` s+  d  Z  d d l m Z m Z m Z d Z d d l Z d d l Z d d l Z d d l	 Z
 d d l m Z m Z d d l	 m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z d d l  Z  d d l! m" Z" m# Z# m$ Z$ m% Z% m& Z& m' Z' m( Z( m) Z) m* Z* d d l+ Z, d d l- j. Z. d d l- m/ Z/ m0 Z0 m1 Z1 m2 Z2 m3 Z3 m4 Z4 m5 Z5 m6 Z6 m7 Z7 m8 Z8 m9 Z9 d d	 l: m; Z; m< Z< m= Z= d d
 l> m? Z? m@ Z@ mA ZA d d lB mC ZC d d lD mE ZE d d lF ZF y d d lG mH ZH Wn eI k
 r(eJ d „ ZH n Xd eK f d „  ƒ  YZL eM aN e
 jO eL ƒ  e
 j d g ƒ ƒ eP e d ƒ ZQ e jR d e8 ƒ e jR d e ƒ eJ eM eJ eJ eM d „ ZS d „  ZT d eK f d „  ƒ  YZU d eK f d „  ƒ  YZV d f  d „  ƒ  YZW d f  d „  ƒ  YZX d f  d „  ƒ  YZY d  f  d! „  ƒ  YZZ d" f  d# „  ƒ  YZ[ d$ f  d% „  ƒ  YZ\ d& f  d' „  ƒ  YZ] e j^ d( „  ƒ Z_ d) f  d* „  ƒ  YZ` d+ f  d, „  ƒ  YZa d- f  d. „  ƒ  YZb d/ f  d0 „  ƒ  YZc d1 eK f d2 „  ƒ  YZd d3 eK f d4 „  ƒ  YZe ef d5 „ Zg ef ef ef ef ef ef ef ef ef d6 „	 Zh d7 eh ƒ  f d8 „  ƒ  YZi d9 eh ƒ  f d: „  ƒ  YZj d; eh d< eM d= eM ƒ f d> „  ƒ  YZk d? eh d< eM ƒ f d@ „  ƒ  YZl dA eh dB eM dC eM dD eM dE eM dF eM ƒ f dG „  ƒ  YZm dH eh dB eM dC eM dD eM dE eM dF eM d< eM d= eM ƒ f dI „  ƒ  YZn dJ eh dB eM dC eM dD eM dE eM dF eM d= eM ƒ f dK „  ƒ  YZo dL „  Zp dM eK f dN „  ƒ  YZq dO eq f dP „  ƒ  YZr dQ er f dR „  ƒ  YZs dS es ei f dT „  ƒ  YZt dU es ej f dV „  ƒ  YZu dW er eo f dX „  ƒ  YZv dY eq em f dZ „  ƒ  YZw d[ eK f d\ „  ƒ  YZx ey d] k r'e) ƒ  n  d S(^   sò    Test functions for sparse matrices. Each class in the "Matrix class
based tests" section become subclasses of the classes in the "Generic
tests" section. This is done by the functions in the "Tailored base
class for generic tests" section.

i    (   t   divisiont   print_functiont   absolute_imports¹   
Build sparse:
  python setup.py build
Run tests if scipy is installed:
  python -c 'import scipy;scipy.sparse.test()'
Run tests if sparse is not installed:
  python tests/test_base.py
N(   t   xranget   zip(   t   aranget   zerost   arrayt   dott   matrixt   asmatrixt   asarrayt   vstackt   ndarrayt	   transposet   diagt   kront   inft	   conjugatet   int8t   ComplexWarningt   power(	   t   assert_raisest   assert_equalt   assert_array_equalt   assert_array_almost_equalt   assert_almost_equalt   assert_t   dect   run_module_suitet   assert_allclose(   t
   csc_matrixt
   csr_matrixt
   dok_matrixt
   coo_matrixt
   lil_matrixt
   dia_matrixt
   bsr_matrixt   eyet
   isspmatrixt   SparseEfficiencyWarningt   issparse(   t   supported_dtypest   isscalarliket   get_index_dtype(   t   splut   expmt   inv(   t   NumpyVersion(   t	   decorator(   t	   assert_inc         C` s6   t  |  | k d | d  k	 r! | n d |  | f ƒd  S(   Nt   msgs   %r not found in %r(   R   t   None(   t   membert
   collectionR3   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR2   5   s    t   _UFuncCheckc           B` s   e  Z d  „  Z d „  Z RS(   c         C` s   t  j d g ƒ S(   Ni   (   t   npR   (   t   self(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt	   __array__;   s    c         O` s
   t  a d  S(   N(   t   Truet   HAS_NUMPY_UFUNC(   R9   t   at   kwargs(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   __numpy_ufunc__>   s    (   t   __name__t
   __module__R:   R?   (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR7   :   s   	i   t   matmult   ignorec         ` sâ   ˆ d
 k r d ‰ n  | r0 d d
 t d „ ‰ nu ˆ d
 k	 rW d d
 t ‡ f d † ‰ nN | r t j j d d ƒ ‰  d d
 t ‡  f d † ‰ n d d
 t ‡ f d † ‰ ˆ d
 k	 rÃ ‡ f d †  ‰ n  t ‡ ‡ ‡ f d	 †  ƒ } | S(   s‚   
    Monkeypatch the maxval threshold at which scipy.sparse switches to
    64-bit index arrays, or make it (pseudo-)random.

    i
   c         S` s`   t  |  | | ƒ } t t j | ƒ j t j t j ƒ j ƒ t | t j k pX | t j k ƒ | S(   N(   R,   R   R8   t   iinfot   maxt   int32R   t   intc(   t   arrayst   maxvalt   check_contentst   tp(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   new_get_index_dtypeY   s    ("c         ` s   ˆ  S(   N(    (   RH   RI   RJ   (   t   fixed_dtype(    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRL   _   s    t   seediÒ  c         ` s   t  j t  j f ˆ  j d ƒ S(   Ni   (   R8   RF   t   int64t   randint(   RH   RI   RJ   (   t   counter(    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRL   d   s    c         ` sâ   t  j } | d  k	 r0 | ˆ  k r0 t  j } q0 n  x« |  D]£ } t  j | ƒ } | j t  j k r7 | rÎ | j d k ry q7 qÎ t  j | j t  j ƒ rÎ | j	 ƒ  } | j
 ƒ  } | ˆ  k rË | ˆ  k rË q7 qË qÎ n  t  j } q7 q7 W| S(   Ni    (   R8   RF   R4   RO   R   t   dtypet   sizet
   issubdtypet   integerRE   t   min(   RH   RI   RJ   RR   t   arrt   minval(   t   maxval_limit(    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRL   g   s"    	c         ` s1   |  j  ƒ  ˆ  k r! t d ƒ ‚ n  |  j t j ƒ S(   Ns   downcast limited(   RE   t   AssertionErrort   astypeR8   t   intp(   RW   (   t   downcast_maxval(    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   new_downcast_intp_index}   s    c      
   ` s<  g  } t  j j t  j j t  j j t  j j t  j j t  j j t  j j t  j j	 t  j j
 t  j j g
 } z• x | D]y } | j | d t | d d  ƒ f ƒ t | d ˆ ƒ ˆ  d  k	 rp | j | d t | d d  ƒ f ƒ t | d ˆ ƒ qp qp W|  | |   SWd  x6 | D]. \ } } } | d  k	 rt | | | ƒ qqWXd  S(   NR,   t   downcast_intp_index(   t   scipyt   sparset   bsrt   coot   csct   csrt   diat   dokt   lilt   sputilst
   compressedt	   constructt   appendt   getattrR4   t   setattr(   t   funcR=   t   kwt   backupt   modulest   modt   namet   oldfunc(   R]   R^   RL   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   deco‚   s$    N(    (    (    (    (   R4   t   FalseR8   t   randomt   RandomStateR1   (   RY   Rx   RM   R]   t   assert_32bitRv   (    (   RQ   R]   RM   RY   R^   RL   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   with_64bit_maxval_limitN   s    	c         C` s,   t  |  t j ƒ s t |  ƒ r" |  S|  j ƒ  S(   N(   t
   isinstanceR8   R   R+   t   todense(   R=   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR}   ›   s    t   BinopTesterc           B` sP   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c         C` s   d S(   Ns   matrix on the right(    (   R9   t   mat(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   __add__¤   s    c         C` s   d S(   Ns   matrix on the right(    (   R9   R   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   __mul__§   s    c         C` s   d S(   Ns   matrix on the right(    (   R9   R   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   __sub__ª   s    c         C` s   d S(   Ns   matrix on the left(    (   R9   R   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   __radd__­   s    c         C` s   d S(   Ns   matrix on the left(    (   R9   R   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   __rmul__°   s    c         C` s   d S(   Ns   matrix on the left(    (   R9   R   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   __rsub__³   s    c         C` s   d S(   Ns   matrix on the right(    (   R9   R   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt
   __matmul__¶   s    c         C` s   d S(   Ns   matrix on the left(    (   R9   R   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   __rmatmul__¹   s    (
   R@   RA   R€   R   R‚   Rƒ   R„   R…   R†   R‡   (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR~   ¡   s   							t   BinopTester_with_shapec           B` sk   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z RS(   c         C` s   | |  _  d  S(   N(   t   _shape(   R9   t   shape(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   __init__¿   s    c         C` s   |  j  S(   N(   R‰   (   R9   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRŠ   Â   s    c         C` s   t  |  j ƒ S(   N(   t   lenR‰   (   R9   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   ndimÅ   s    c         C` s   d S(   Ns   matrix on the right(    (   R9   R   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR€   È   s    c         C` s   d S(   Ns   matrix on the right(    (   R9   R   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR   Ë   s    c         C` s   d S(   Ns   matrix on the right(    (   R9   R   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR‚   Î   s    c         C` s   d S(   Ns   matrix on the left(    (   R9   R   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRƒ   Ñ   s    c         C` s   d S(   Ns   matrix on the left(    (   R9   R   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR„   Ô   s    c         C` s   d S(   Ns   matrix on the left(    (   R9   R   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR…   ×   s    c         C` s   d S(   Ns   matrix on the right(    (   R9   R   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR†   Ú   s    c         C` s   d S(   Ns   matrix on the left(    (   R9   R   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR‡   İ   s    (   R@   RA   R‹   RŠ   R   R€   R   R‚   Rƒ   R„   R…   R†   R‡   (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRˆ   ¼   s   										t   _TestCommonc           B` s÷  e  Z d  Z e Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z e j d „  ƒ Z d „  Z d „  Z d „  Z d „  Z  d „  Z! d „  Z" d „  Z# d „  Z$ d „  Z% d  „  Z& d! „  Z' d" „  Z( d# „  Z) d$ „  Z* d% „  Z+ d& „  Z, d' „  Z- d( „  Z. d) „  Z/ d* „  Z0 d+ „  Z1 d, „  Z2 d- „  Z3 d. „  Z4 d/ „  Z5 d0 „  Z6 d1 „  Z7 d2 „  Z8 d3 „  Z9 d4 „  Z: d5 „  Z; d6 „  Z< d7 „  Z= d8 „  Z> d9 „  Z? d: „  Z@ d; „  ZA d< „  ZB d= „  ZC d> „  ZD d? „  ZE d@ „  ZF dA „  ZG dB „  ZH dC „  ZI dD „  ZJ dE „  ZK dF „  ZL dG „  ZM dH „  ZN dI „  ZO dJ „  ZP dK „  ZQ dL „  ZR dM „  ZS dN „  ZT e jU eV dO ƒ dP „  ƒ ZW RS(Q   s6   test common functionality shared by all sparse formatsc         C` s  t  d d d d g d d d d g d d d d g g d ƒ |  _ |  j |  j ƒ |  _ t t ƒ j |  j ƒ |  _ i  |  _	 i  |  _
 xL |  j D]A } |  j j | ƒ |  j	 | <|  j |  j j | ƒ ƒ |  j
 | <q‹ Wt |  j |  j	 t j ƒ t |  j j ƒ  |  j
 t j j ƒ  ƒ d  S(   Ni   i    i   i   t   d(   R	   t   datt   spmatrixt   datspt   setR*   t   uniont   math_dtypest   checked_dtypest
   dat_dtypest   datsp_dtypesR[   R   R8   t   float64R}   (   R9   RR   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR‹   í   s    ?		&c         #` sY   ‡  f d †  } xC ˆ  j  D]8 } t ˆ  t ƒ } d } t j | | ƒ | ƒ | f Vq Wd  S(   Nc         ` sN   ˆ  j  |  } t t t | ƒ t ˆ  j d g ƒ ƒ t ˆ  j d g ƒ ƒ d  S(   Ni   i    (   R˜   R   t
   ValueErrort   boolR   R‘   (   RR   R’   (   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   check  s    s%   Cannot create a rank <= 2 DOK matrix.(   R–   R|   t   TestDOKR   t   skipif(   R9   Rœ   RR   t   failsR3   (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt	   test_bool  s
    c         C` si   t  j t t g g ƒ } |  j | ƒ } x( t d ƒ D] } | | } | | } q4 Wt | | j ƒ  ƒ d  S(   Ni
   (   R8   R	   R;   Rw   R‘   t   rangeR   R}   (   R9   R   R’   t   _(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_bool_rollover  s    
c      	   #` sŸ   ‡  f d †  } d } t  ˆ  t t t f ƒ } xj ˆ  j D]_ } t j ƒ  K t j d d t j	 ƒt j d d t
 ƒt j | | ƒ | ƒ | f VWd  QXq8 Wd  S(   Nc   	      ` s–  ˆ  j  |  } ˆ  j |  } | j ƒ  } d | d  d  … d f <ˆ  j | ƒ } t | ƒ } t | ƒ } t | ƒ } t | ƒ } t | | k | | k j	 ƒ  ƒ t | | k | | k j	 ƒ  ƒ t | | k | | k j	 ƒ  ƒ t | | k | | k j	 ƒ  ƒ t | | k | | k j	 ƒ  ƒ t | | k | | k ƒ t | d k | d k j	 ƒ  ƒ t | d k | d k j	 ƒ  ƒ t | t
 j k | t
 j k j	 ƒ  ƒ d  S(   Ni    i   (   R—   R˜   t   copyR‘   R%   R    R   R#   R   R}   R8   t   nan(	   RR   R   R’   t   dat2t   datsp2t   datbsrt   datcsrt   datcsct   datlil(   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ     s$    s8   Bool comparisons only implemented for BSR, CSC, and CSR.RC   t   category(   R|   t   TestBSRt   TestCSCt   TestCSRR–   t   warningst   catch_warningst   simplefilterR8   R   R(   R   R   (   R9   Rœ   R3   RŸ   RR   (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_eq  s    c      	   #` sŸ   ‡  f d †  } d } t  ˆ  t t t f ƒ } xj ˆ  j D]_ } t j ƒ  K t j d d t j	 ƒt j d d t
 ƒt j | | ƒ | ƒ | f VWd  QXq8 Wd  S(   Nc   	      ` sÔ  ˆ  j  |  } ˆ  j |  } | j ƒ  } d | d  d  … d f <ˆ  j | ƒ } t | ƒ } t | ƒ } t | ƒ } t | ƒ } t | | k | | k j	 ƒ  ƒ t | | k | | k j	 ƒ  ƒ t | | k | | k j	 ƒ  ƒ t | | k | | k j	 ƒ  ƒ t | | k | | k j	 ƒ  ƒ t | | k | | k ƒ t | d k | d k j	 ƒ  ƒ t | d k | d k j	 ƒ  ƒ t d | k d | k j	 ƒ  ƒ t d | k d | k j	 ƒ  ƒ t | t
 j k | t
 j k j	 ƒ  ƒ d  S(   Ni    i   (   R—   R˜   R¤   R‘   R%   R   R    R#   R   R}   R8   R¥   (	   RR   R   R’   R¦   R§   R¨   Rª   R©   R«   (   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   =  s(    s8   Bool comparisons only implemented for BSR, CSC, and CSR.RC   R¬   (   R|   R­   R®   R¯   R–   R°   R±   R²   R8   R   R(   R   R   (   R9   Rœ   R3   RŸ   RR   (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_ne<  s    c         #` s¸   ‡  f d †  } d } t  ˆ  t t t f ƒ } xƒ ˆ  j D]x } t j ƒ  d t j d d ƒ K t j	 d d t j
 ƒt j	 d d t ƒt j | | ƒ | ƒ | f VWd  QXWd  QXq8 Wd  S(   Nc         ` só  ˆ  j  |  } ˆ  j |  } | j ƒ  } d | d  d  … d f <ˆ  j | ƒ } | j t ƒ } d	 | d  d  … d f <ˆ  j | ƒ } t | ƒ } t | ƒ } t | ƒ }	 t	 | ƒ }
 t
 | | k  | | k  j ƒ  ƒ t
 | | k  | | k  j ƒ  ƒ t
 | | k  | | k  j ƒ  ƒ t
 | | k  | | k  j ƒ  ƒ t
 | | k  |	 | k  j ƒ  ƒ t
 | | k  |
 | k  j ƒ  ƒ t
 | | k  | | k  j ƒ  ƒ t
 | | k  | | k  j ƒ  ƒ t
 | | k  | |	 k  j ƒ  ƒ t
 | | k  | |
 k  j ƒ  ƒ t
 | | k  | | k  ƒ t
 | | k  | | k  ƒ t
 | d k  j ƒ  | d k  ƒ t
 | d k  j ƒ  | d k  ƒ t
 | d k  j ƒ  | d k  ƒ t
 | d k  j ƒ  | d k  ƒ t
 | d k  j ƒ  | d k  ƒ t j d d ƒ * t
 | t j k  j ƒ  | t j k  ƒ Wd  QXt
 d | k  j ƒ  d | k  ƒ t
 d | k  j ƒ  d | k  ƒ t
 d | k  j ƒ  d | k  ƒ t
 d | k  j ƒ  d | k  ƒ t
 d | k  j ƒ  d | k  ƒ ˆ  j  |  } ˆ  j |  } | j ƒ  } d | d  d  … d f <ˆ  j | ƒ } t
 | | k  | | k  ƒ d  S(
   Ni    i   y              ğ?i   iÿÿÿÿişÿÿÿt   invalidRC   y      ğ?      ğ?(   R—   R˜   R¤   R‘   R[   t   complexR%   R   R    R#   R   R}   R8   t   errstateR¥   (   RR   R   R’   R¦   R§   t
   datcomplext   datspcomplexR¨   Rª   R©   R«   (   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   a  sT    +s8   Bool comparisons only implemented for BSR, CSC, and CSR.Rµ   RC   R¬   (   R|   R­   R®   R¯   R–   R°   R±   R8   R·   R²   R   R(   R   R   (   R9   Rœ   R3   RŸ   RR   (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_lt`  s    8c      	   #` sŸ   ‡  f d †  } d } t  ˆ  t t t f ƒ } xj ˆ  j D]_ } t j ƒ  K t j d d t j	 ƒt j d d t
 ƒt j | | ƒ | ƒ | f VWd  QXq8 Wd  S(   Nc         ` só  ˆ  j  |  } ˆ  j |  } | j ƒ  } d | d  d  … d f <ˆ  j | ƒ } | j t ƒ } d	 | d  d  … d f <ˆ  j | ƒ } t | ƒ } t | ƒ } t | ƒ }	 t	 | ƒ }
 t
 | | k | | k j ƒ  ƒ t
 | | k | | k j ƒ  ƒ t
 | | k | | k j ƒ  ƒ t
 | | k | | k j ƒ  ƒ t
 | | k |	 | k j ƒ  ƒ t
 | | k |
 | k j ƒ  ƒ t
 | | k | | k j ƒ  ƒ t
 | | k | | k j ƒ  ƒ t
 | | k | |	 k j ƒ  ƒ t
 | | k | |
 k j ƒ  ƒ t
 | | k | | k ƒ t
 | | k | | k ƒ t
 | d k j ƒ  | d k ƒ t
 | d k j ƒ  | d k ƒ t
 | d k j ƒ  | d k ƒ t
 | d k j ƒ  | d k ƒ t
 | d k j ƒ  | d k ƒ t j d d ƒ * t
 | t j k j ƒ  | t j k ƒ Wd  QXt
 d | k j ƒ  d | k ƒ t
 d | k j ƒ  d | k ƒ t
 d | k j ƒ  d | k ƒ t
 d | k j ƒ  d | k ƒ t
 d | k j ƒ  d | k ƒ ˆ  j  |  } ˆ  j |  } | j ƒ  } d | d  d  … d f <ˆ  j | ƒ } t
 | | k | | k ƒ d  S(
   Ni    i   y              ğ?i   iÿÿÿÿişÿÿÿRµ   RC   y      ğ?      ğ?(   R—   R˜   R¤   R‘   R[   R¶   R%   R   R    R#   R   R}   R8   R·   R¥   (   RR   R   R’   R¦   R§   R¸   R¹   R¨   Rª   R©   R«   (   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   £  sT    +s8   Bool comparisons only implemented for BSR, CSC, and CSR.RC   R¬   (   R|   R­   R®   R¯   R–   R°   R±   R²   R8   R   R(   R   R   (   R9   Rœ   R3   RŸ   RR   (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_gt¢  s    7c      	   #` sŸ   ‡  f d †  } d } t  ˆ  t t t f ƒ } xj ˆ  j D]_ } t j ƒ  K t j d d t j	 ƒt j d d t
 ƒt j | | ƒ | ƒ | f VWd  QXq8 Wd  S(   Nc         ` sw  ˆ  j  |  } ˆ  j |  } | j ƒ  } d | d  d  … d f <ˆ  j | ƒ } | j t ƒ } d | d  d  … d f <ˆ  j | ƒ } t | ƒ } t | ƒ } t | ƒ }	 t	 | ƒ }
 t
 | | k | | k j ƒ  ƒ t
 | | k | | k j ƒ  ƒ t
 | | k j ƒ  | | k ƒ t
 | | k j ƒ  | | k ƒ t
 |	 | k j ƒ  | | k ƒ t
 |
 | k j ƒ  | | k ƒ t
 | | k j ƒ  | | k ƒ t
 | | k j ƒ  | | k ƒ t
 | |	 k j ƒ  | | k ƒ t
 | |
 k j ƒ  | | k ƒ t
 | | k | | k ƒ t
 | | k | | k ƒ t
 | d k j ƒ  | d k ƒ t
 | d k j ƒ  | d k ƒ t
 | d k j ƒ  | d k ƒ t
 | d k j ƒ  | d k ƒ t
 d | k j ƒ  d | k ƒ t
 d | k j ƒ  d | k ƒ t
 d | k j ƒ  d | k ƒ t
 d | k j ƒ  d | k ƒ ˆ  j  |  } ˆ  j |  } | j ƒ  } d | d  d  … d f <ˆ  j | ƒ } t
 | | k | | k ƒ d  S(   Ni    i   y              ğ?i   iÿÿÿÿişÿÿÿy      ğ?      ğ?(   R—   R˜   R¤   R‘   R[   R¶   R%   R   R    R#   R   R}   (   RR   R   R’   R¦   R§   R¸   R¹   R¨   Rª   R©   R«   (   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   ã  sL    s8   Bool comparisons only implemented for BSR, CSC, and CSR.RC   R¬   (   R|   R­   R®   R¯   R–   R°   R±   R²   R8   R   R(   R   R   (   R9   Rœ   R3   RŸ   RR   (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_leâ  s    3c      	   #` sŸ   ‡  f d †  } d } t  ˆ  t t t f ƒ } xj ˆ  j D]_ } t j ƒ  K t j d d t j	 ƒt j d d t
 ƒt j | | ƒ | ƒ | f VWd  QXq8 Wd  S(   Nc         ` sw  ˆ  j  |  } ˆ  j |  } | j ƒ  } d | d  d  … d f <ˆ  j | ƒ } | j t ƒ } d | d  d  … d f <ˆ  j | ƒ } t | ƒ } t | ƒ } t | ƒ }	 t	 | ƒ }
 t
 | | k | | k j ƒ  ƒ t
 | | k | | k j ƒ  ƒ t
 | | k j ƒ  | | k ƒ t
 | | k j ƒ  | | k ƒ t
 |	 | k j ƒ  | | k ƒ t
 |
 | k j ƒ  | | k ƒ t
 | | k j ƒ  | | k ƒ t
 | | k j ƒ  | | k ƒ t
 | |	 k j ƒ  | | k ƒ t
 | |
 k j ƒ  | | k ƒ t
 | | k | | k ƒ t
 | | k | | k ƒ t
 | d k j ƒ  | d k ƒ t
 | d k j ƒ  | d k ƒ t
 | d k j ƒ  | d k ƒ t
 | d k j ƒ  | d k ƒ t
 d | k j ƒ  d | k ƒ t
 d | k j ƒ  d | k ƒ t
 d | k j ƒ  d | k ƒ t
 d | k j ƒ  d | k ƒ ˆ  j  |  } ˆ  j |  } | j ƒ  } d | d  d  … d f <ˆ  j | ƒ } t
 | | k | | k ƒ d  S(   Ni    i   y              ğ?i   iÿÿÿÿişÿÿÿy      ğ?      ğ?(   R—   R˜   R¤   R‘   R[   R¶   R%   R   R    R#   R   R}   (   RR   R   R’   R¦   R§   R¸   R¹   R¨   Rª   R©   R«   (   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ     sL    s8   Bool comparisons only implemented for BSR, CSC, and CSR.RC   R¬   (   R|   R­   R®   R¯   R–   R°   R±   R²   R8   R   R(   R   R   (   R9   Rœ   R3   RŸ   RR   (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_ge  s    4c         C` s^   t  |  j d ƒ j ƒ  t j d ƒ ƒ t  |  j d ƒ j d ƒ t  |  j d ƒ j ƒ  d ƒ d  S(   Ni   i    (   i   i   (   i   i   (   i   i   (   i   i   (   R   R‘   R}   R8   R   t   nnzt   count_nonzero(   R9   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt
   test_empty[  s    %c         C` sK   t  j |  j j ƒ  ƒ } t |  j j ƒ  | ƒ t |  j j j ƒ  | ƒ d  S(   N(   R8   R¿   R’   t   toarrayR   t   T(   R9   t   expected(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_count_nonzeroa  s    c         C` s=   t  t |  j d ƒ t  t |  j d ƒ t  t |  j d ƒ d  S(   Niÿÿÿÿi   (   iÿÿÿÿi   (   i   iÿÿÿÿ(   iÿÿÿÿiÿÿÿÿ(   R   Rš   R‘   (   R9   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_invalid_shapesf  s    c         C` s   t  |  j ƒ d  S(   N(   t   reprR’   (   R9   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt	   test_reprk  s    c         C` s   t  |  j ƒ d  S(   N(   t   strR’   (   R9   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_strn  s    c   
      C` s  d	 } xt  j d ƒ t  j d ƒ t  j d ƒ t  j d ƒ t  j d ƒ g D]¿ } |  j | d | ƒ} | | } d | } | | j ƒ  } | | j ƒ  } | | j ƒ  } x] | | | | | | g D]C }	 t |	 j | j | j ƒ t |	 j | ƒ t |	 j j | ƒ qÁ WqI Wd  S(
   Ni   RF   t   float32R™   t	   complex64t
   complex128RR   i   (   i   i   (   R8   RR   R‘   t   tocsct   tocsrt   tocooR   t   A(
   R9   RŠ   t   mytypeR=   t   bt   cR   t   et   ft   m(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_empty_arithmeticq  s    

c         C` sk   t  d d d g d d d g d d d g d d d g g d ƒ } t t | ƒ t |  j | ƒ ƒ j ƒ  ƒ d  S(   Niÿÿÿÿi    i   iûÿÿÿi   iüÿÿÿR   (   R	   R   t   absR‘   R}   (   R9   RĞ   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_absƒ  s    ?c         C` s„   t  d d d g d d d g d d d	 g g d
 ƒ } t t j | d ƒ |  j | ƒ j d ƒ j ƒ  ƒ t t |  j | ƒ j | ƒ d  S(   Niüÿÿÿiıÿÿÿişÿÿÿiÿÿÿÿi    i   i   i   i   R   (   R	   R   R8   R   R‘   R}   R   t   NotImplementedError(   R9   RĞ   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_elementwise_power‡  s    31c         C` s   t  d d d g d d d g d d d g d d d g g d ƒ } t | |  j | ƒ j ƒ  ƒ t  t t t g t t t g g ƒ } t t |  j | ƒ j ƒ d  S(   Niÿÿÿÿi    i   iûÿÿÿi   iüÿÿÿR   (	   R	   R   R‘   R}   R;   Rw   R   RÚ   t   __neg__(   R9   RĞ   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_neg  s    ?$c         C` sA   t  d d g g ƒ } |  j | ƒ } t | j j ƒ  | j ƒ d  S(   Ni   y              @i   y              @y      ğ?      @y       @      À(   R	   R‘   R   t   realR}   (   R9   t   DRĞ   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt	   test_real–  s    c         C` sA   t  d d g g ƒ } |  j | ƒ } t | j j ƒ  | j ƒ d  S(   Ni   y              @i   y              @y      ğ?      @y       @      À(   R	   R‘   R   t   imagR}   (   R9   Rß   RĞ   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt	   test_imag›  s    c         C` sé  g  } | j  d d d g g ƒ | j  d g d g d g g ƒ | j  d d g d d g d d g g ƒ | j  d d d g d d d g d d d g g ƒ | j  t | d d d g g ƒ ƒ | j  t | d d g d g g ƒ ƒ | j  t | d d d g d d g g ƒ ƒ | j  t | d d d g d d g g ƒ ƒ | j  t | d d d g d d g g ƒ ƒ | j  t | d d d d d g g ƒ ƒ x0 | D]( } t |  j | ƒ j ƒ  t | ƒ ƒ q”Wt |  j d ƒ j ƒ  t j d ƒ ƒ d  S(	   Ni   i    i   i   i   i(   i?  (   i(   i?  (   Rl   R   R   R‘   t   diagonalR   R8   R   (   R9   t   matsRÖ   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_diagonal   s    (1#&,,,)&c      	   ` sJ  ‡  f d †  ‰  ‡  ‡ f d †  } t  j j d ƒ d	 d
 d d d g } xı t  j t  j g D]é } xà | D]Ø \ } } t  j | d | d ƒ } x® | D]¦ } t | | | | f ƒ ‰ t  j | | f d | ƒ} |  j | | f d | ƒ}	 | | |	 | ƒ x? t  j j	 | d t
 t | ƒ d ƒ ƒD] }
 | | |	 |
 ƒ q Wq” Wqf WqY Wd  S(   Nc         ` sÏ   t  j | ƒ } | d k r¨ t |  j d |  j d | ƒ } | j d k rm t | t | ƒ ƒ } | |  } n  t  j d | ƒ } t  j | | | ƒ } | |  | | f <n# | d k  rË ˆ  |  j | | ƒ n  d  S(   Ni    i   (   R8   R   RV   RŠ   R   RŒ   R   RÂ   (   R=   t   vt   kt   nt   it   j(   t   dense_setdiag(    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRë   ·  s    !c         ` sH  xAd t  t j |  | ƒ ƒ d d g D]} | d k  r[ t t j j d d d d ƒƒ } n t j j d d d | ƒ} ˆ  |  | | ƒ | j | | ƒ t j |  | ƒ } t j | ƒ j d k rà t	 | | d d	 ˆ | f ƒn@ t
 t  | ƒ t  | ƒ ƒ } t	 | |  | |  d d	 ˆ | f ƒt	 | j |  d d	 ˆ | f ƒq% Wd  S(
   Niÿÿÿÿi   i   i    i   i   RS   t   err_msgs   %s %d(   RŒ   R8   R   t   intRx   RP   t   setdiagR   R   R   RV   RĞ   (   R=   RÒ   Rç   t   rRæ   R   Rè   (   Rë   R3   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   check_setdiagÄ  s    +$ %iÒ  i    i   i   RR   RS   (   i    i   (   i   i    (   i   i   (   i   i   (   i   i   (   R8   Rx   RN   R   R™   R   RÆ   R   R‘   t   choiceRV   RŒ   (   R9   Rğ   t   shapesRR   RÖ   Rè   t   ksRç   R=   RÒ   t   k2(    (   Rë   R3   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_setdiag_comprehensiveµ  s    .c         C` sR  |  j  t j d ƒ ƒ } d d d g } t t | j | d d ƒ| j | ƒ t | j ƒ  | ƒ | j | d d ƒt | j t j	 d d d g d d d g d d d g g ƒ ƒ | j | d d ƒt | j t j	 d d d g d d d g d d d g g ƒ ƒ | j d	 d d ƒt | j d
 d ƒ | j d d d ƒt | j d d ƒ d  S(   Ni   i   i   Rç   i   i    işÿÿÿi	   (   i	   (   i    i   (   i	   (   i   i    (
   R‘   R8   R&   R   Rš   Rî   R   Rã   RĞ   R   (   R9   RÖ   t   values(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_setdiagë  s"    c         C` s²   t  d d d g d d d g d d d g g ƒ } |  j | ƒ } t g  t | j ƒ  ƒ D] } t | ƒ ^ qU ƒ } t g  t | j ƒ  ƒ D] } t | ƒ ^ q† ƒ } t | | ƒ d  S(   Ni   i    (   R   R‘   R“   R   t   nonzerot   tupleR   (   R9   RĞ   t   Aspt   ijt   A_nzt   Asp_nz(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_nonzeroÿ  s
    011c         C` s¸   t  d d d g d d d g d d d g g ƒ } |  j | ƒ } t g  t t j | ƒ ƒ D] } t | ƒ ^ qX ƒ } t g  t t j | ƒ ƒ D] } t | ƒ ^ qŒ ƒ } t | | ƒ d  S(   Ni   i    (   R   R‘   R“   R   R8   Rø   Rù   R   (   R9   RĞ   Rú   Rû   Rü   Rı   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_numpy_nonzero  s
    044c         C` sh   t  |  j j d ƒ j ƒ  |  j d d  d  … f ƒ t  |  j j d ƒ j ƒ  |  j d d  d  … f ƒ d  S(   Ni   iÿÿÿÿ(   R   R’   t   getrowR}   R   (   R9   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_getrow  s    2c         C` sh   t  |  j j d ƒ j ƒ  |  j d  d  … d f ƒ t  |  j j d ƒ j ƒ  |  j d  d  … d f ƒ d  S(   Ni   iÿÿÿÿ(   R   R’   t   getcolR}   R   (   R9   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_getcol  s    2c   	      #` sş   t  j j d ƒ t  j d d d g d d d g d d	 d
 g g ƒ } t  j j d d ƒ } t  j g  g ƒ } t  j d ƒ } t j d d d d ƒj } | | | | | g ‰  ‡  ‡ f d †  } x< ˆ j	 D]1 } x( t
 t ˆ  ƒ ƒ D] } | | | f VqŞ WqÅ Wd  S(   NiÒ  i    i   i   i   iüÿÿÿi   iúÿÿÿi   i	   i(   t   densityg{®Gáz„?c      	   ` s2  t  j ˆ  | d |  ƒ} ˆ j | d |  ƒ} t  j d d ƒ ìt | j ƒ  | j ƒ  ƒ t | j ƒ  j | j ƒ  j ƒ t t  j	 | j d d  ƒ ƒ ƒ t | j d d  ƒ | j d d  ƒ ƒ t | j d d  ƒ j | j d d  ƒ j ƒ t | j d d ƒ | j d d ƒ ƒ t | j d d ƒ j | j d d ƒ j ƒ t | j d d ƒ | j d d ƒ ƒ t | j d d ƒ j | j d d ƒ j ƒ t | j d d ƒ | j d d ƒ ƒ t | j d d ƒ j | j d d ƒ j ƒ t | j d d ƒ | j d d ƒ ƒ t | j d d ƒ j | j d d ƒ j ƒ Wd  QXd  S(	   NRR   t   overRC   t   axisi    i   işÿÿÿiÿÿÿÿ(   R8   R	   R‘   R·   R   t   sumR   RR   R   t   isscalarR4   (   RR   Rê   R   R’   (   t   matricesR9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   %  s$    %+%+%+%(   i(   i(   (   R8   Rx   RN   R	   t   randR   R   Ra   RĞ   R–   R¡   RŒ   (	   R9   t   dat_1t   dat_2t   dat_3t   dat_4t   dat_5Rœ   RR   Rê   (    (   R	  R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_sum  s    c         C` s¼   t  j t  j d ƒ ƒ } t  j d d d g d d d g d d d	 g g ƒ } |  j | ƒ } t t | j d
 d ƒt t | j d
 d ƒt t | j d
 d ƒt t | j d
 d d | ƒd  S(   Ni   i   i    i   iüÿÿÿi   iúÿÿÿi   i	   R  g      ø?t   out(   i   i   (   i    i   (	   R8   R
   R   R	   R‘   R   Rš   R  t	   TypeError(   R9   R  R   R’   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_sum_invalid_params=  s    c         #` sw   t  j d d d g d d d g d d d	 g g ƒ ‰  |  j ˆ  ƒ ‰ ‡  ‡ f d
 †  } x |  j D] } | | f Vq^ Wd  S(   Ni    i   i   i   iüÿÿÿi   iúÿÿÿi   i	   c         ` sH   ˆ  j  d |  ƒ } ˆ j  d |  ƒ } t | | ƒ t | j | j ƒ d  S(   NRR   (   t   meanR   R   RR   (   RR   t   dat_meant
   datsp_mean(   R   R’   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   O  s    (   R8   R	   R‘   R–   (   R9   Rœ   RR   (    (   R   R’   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_sum_dtypeI  s    c         C` sú   t  j d d d g d d d g d d d	 g g ƒ } |  j | ƒ } t  j d ƒ } t  j d ƒ } | j d
 | ƒ | j d
 | ƒ t | | ƒ t  j t  j d ƒ ƒ } t  j t  j d ƒ ƒ } | j d d d
 | ƒ | j d d d
 | ƒ t | | ƒ d  S(   Ni    i   i   i   iüÿÿÿi   iúÿÿÿi   i	   R  R  (   i   i   (   i   i   (   R8   R	   R‘   R  R   R
   R   (   R9   R   R’   t   dat_outt	   datsp_out(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_sum_outY  s    c         C` s„   t  j d d d g d d d g d d d	 g g ƒ } |  j | ƒ } t  j | ƒ } t  j | ƒ } t | | ƒ t | j | j ƒ d  S(
   Ni    i   i   i   iüÿÿÿi   iúÿÿÿi   i	   (   R8   R	   R‘   R  R   R   RR   (   R9   R   R’   R  R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_numpy_summ  s    c         #` s2   ‡  f d †  } x ˆ  j  D] } | | f Vq Wd  S(   Nc         ` s9  t  j d d d g d d d g d d d	 g g d
 |  ƒ} ˆ  j | d
 |  ƒ} t | j ƒ  | j ƒ  ƒ t | j ƒ  j | j ƒ  j ƒ t t  j | j d d  ƒ ƒ ƒ t | j d d  ƒ | j d d  ƒ ƒ t | j d d  ƒ j | j d d  ƒ j ƒ t | j d d ƒ | j d d ƒ ƒ t | j d d ƒ j | j d d ƒ j ƒ t | j d d ƒ | j d d ƒ ƒ t | j d d ƒ j | j d d ƒ j ƒ t | j d d ƒ | j d d ƒ ƒ t | j d d ƒ j | j d d ƒ j ƒ t | j d d ƒ | j d d ƒ ƒ t | j d d ƒ j | j d d ƒ j ƒ d  S(   Ni    i   i   i   iüÿÿÿi   iúÿÿÿi   i	   RR   R  işÿÿÿiÿÿÿÿ(
   R8   R	   R‘   R   R  R   RR   R   R  R4   (   RR   R   R’   (   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   {  s"    %+%+%+%+%(   R–   (   R9   Rœ   RR   (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt	   test_meanz  s    c         C` s¼   t  j t  j d ƒ ƒ } t  j d d d g d d d g d d d	 g g ƒ } |  j | ƒ } t t | j d
 d ƒt t | j d
 d ƒt t | j d
 d ƒt t | j d
 d d | ƒd  S(   Ni   i   i    i   iüÿÿÿi   iúÿÿÿi   i	   R  g      ø?R  (   i   i   (   i    i   (	   R8   R
   R   R	   R‘   R   Rš   R  R  (   R9   R  R   R’   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_mean_invalid_params’  s    c         #` sw   t  j d d d g d d d g d d d	 g g ƒ ‰  |  j ˆ  ƒ ‰ ‡  ‡ f d
 †  } x |  j D] } | | f Vq^ Wd  S(   Ni    i   i   i   iüÿÿÿi   iúÿÿÿi   i	   c         ` sH   ˆ  j  d |  ƒ } ˆ j  d |  ƒ } t | | ƒ t | j | j ƒ d  S(   NRR   (   R  R   R   RR   (   RR   R  R  (   R   R’   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   ¤  s    (   R8   R	   R‘   R–   (   R9   Rœ   RR   (    (   R   R’   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_mean_dtype  s    c         C` sú   t  j d d d g d d d g d d d	 g g ƒ } |  j | ƒ } t  j d ƒ } t  j d ƒ } | j d
 | ƒ | j d
 | ƒ t | | ƒ t  j t  j d ƒ ƒ } t  j t  j d ƒ ƒ } | j d d d
 | ƒ | j d d d
 | ƒ t | | ƒ d  S(   Ni    i   i   i   iüÿÿÿi   iúÿÿÿi   i	   R  R  (   i   i   (   i   i   (   R8   R	   R‘   R  R   R
   R   (   R9   R   R’   R  R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_mean_out®  s    c         C` s„   t  j d d d g d d d g d d d	 g g ƒ } |  j | ƒ } t  j | ƒ } t  j | ƒ } t | | ƒ t | j | j ƒ d  S(
   Ni    i   i   i   iüÿÿÿi   iúÿÿÿi   i	   (   R8   R	   R‘   R  R   R   RR   (   R9   R   R’   R  R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_numpy_meanÂ  s    c   	   
   C` s9  t  j ƒ  't  j d d t ƒt d d d g d d d g d d d	 g g t ƒ } |  j | d
 d d t ƒ} t j j	 | ƒ } t	 | ƒ j
 ƒ  } t | | t d ƒ ƒ t d d d g d d d g d d d g g ƒ } |  j | d
 d d t ƒ} t j j	 | ƒ } t	 | ƒ j
 ƒ  } t | | t d ƒ ƒ Wd  QXd  S(   NRC   R¬   i   i    i   i   iüÿÿÿi   i   RŠ   RR   g      @g        g      ğ?g       @(   i   i   (   i   i   (   i   i   (   i   i   (   R°   R±   R²   R(   R   t   floatR‘   R`   t   linalgR.   R}   R   R   (	   R9   t   Mt   sMt   Mexpt   sMexpt   Nt   sNt   Nexpt   sNexp(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt	   test_expmÏ  s    30c      	   #` sX   ‡  f d †  } xB t  g D]7 } t j ƒ  # t j d d t ƒ| | f VWd  QXq Wd  S(   Nc         ` sƒ   t  d d d g d d d g d d d g g |  ƒ } ˆ  j | d d
 d	 |  ƒ} t | ƒ } t | j | ƒ j ƒ  t j d ƒ ƒ d  S(   Ni   i    i   i   iüÿÿÿi   i   RŠ   RR   (   i   i   (   R   R‘   R/   R   R   R}   R8   R&   (   RR   R#  R$  t   sMinv(   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   à  s    3RC   R¬   (   R!  R°   R±   R²   R(   (   R9   Rœ   RR   (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_invß  s
    c      	   C` sü   t  d d d g d d d g d d d g d d d g g ƒ } t |  j | ƒ j ƒ  | ƒ t  d d d g d d d g d d d g g ƒ } t |  j | ƒ j ƒ  | ƒ t j ƒ  F t j d
 d t j ƒt |  j | d d ƒj ƒ  | j	 d ƒ ƒ Wd  QXd  S(   Ni   i    i   i   i   i   g      ğ?y              @g       @RC   R¬   RR   t   int16y      ğ?      @g      @(
   R   R   R‘   RÁ   R°   R±   R²   R8   R   R[   (   R9   RĞ   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_from_arrayê  s    <c      	   C` sü   t  d d d g d d d g d d d g d d d g g ƒ } t |  j | ƒ j ƒ  | ƒ t  d d d g d d d g d d d g g ƒ } t |  j | ƒ j ƒ  | ƒ t j ƒ  F t j d
 d t j	 ƒt |  j | d d ƒj ƒ  | j
 d ƒ ƒ Wd  QXd  S(   Ni   i    i   i   i   i   g      ğ?y              @g       @RC   R¬   RR   R.  y      ğ?      @g      @(   R	   R   R‘   R}   RÁ   R°   R±   R²   R8   R   R[   (   R9   RĞ   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_from_matrixö  s    <c      	   C` sü   d d d g d d d g d d d g d d d g g } t  |  j | ƒ j ƒ  | ƒ d d d g d d d g d d d g g } t  |  j | ƒ j ƒ  t | ƒ ƒ t j ƒ  L t j d
 d t j	 ƒt  |  j | d d ƒj ƒ  t | ƒ j
 d ƒ ƒ Wd  QXd  S(   Ni   i    i   i   i   i   g      ğ?y              @g       @RC   R¬   RR   R.  y      ğ?      @g      @(   R   R‘   R}   RÁ   R   R°   R±   R²   R8   R   R[   (   R9   RĞ   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_from_list  s    6"c      
   C` s•  t  d d d g d d d g d d d g d d d g g ƒ } t | ƒ } t |  j | ƒ j ƒ  | ƒ |  j | ƒ } t |  j | ƒ j ƒ  | ƒ t j ƒ  ô t j d d t j	 ƒt  d d d g d d d g d d d g g ƒ } t | ƒ } t |  j | ƒ j ƒ  | ƒ t |  j | d d ƒj ƒ  | j
 d ƒ ƒ |  j | ƒ } t |  j | ƒ j ƒ  | ƒ t |  j | d d ƒj ƒ  | j
 d ƒ ƒ Wd  QXd  S(   Ni   i    i   i   i   i   RC   R¬   g      ğ?y              @g       @RR   R.  y      ğ?      @g      @(   R   R    R   R‘   RÁ   R°   R±   R²   R8   R   R[   (   R9   Rß   t   S(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_from_sparse  s     <+c   
      C` so  |  j  j ƒ  } t | |  j ƒ t | j j ƒ t | j j ƒ |  j  j d d ƒ } t | |  j ƒ t | j j ƒ t | j j ƒ |  j  j d d ƒ } t | |  j ƒ t | j j ƒ t | j j ƒ t j	 |  j  j
 d |  j  j ƒ} |  j  j d | ƒ } t |  j | ƒ t |  j | ƒ t | j | k ƒ t j t j	 |  j  j
 d |  j  j ƒƒ } |  j  j d | ƒ } t |  j | ƒ t |  j | ƒ t | | k ƒ t d d d g ƒ } | |  j } | |  j  j ƒ  } t | | ƒ t d d d d	 g ƒ j } |  j | } |  j  j ƒ  | } t | | ƒ |  j |  j d t ƒ} |  j j t ƒ }	 t | j ƒ  |	 ƒ d  S(
   Nt   ordert   Ct   FRR   R  g      ğ?g       @g      @g      @(   R’   R}   R   R   R   t   flagst   c_contiguoust   f_contiguousR8   R   RŠ   RR   t   baseR
   R	   RÂ   R‘   R›   R[   (
   R9   t   chkR  R=   t   dense_dot_denseRœ   RÒ   t   check2t   spboolt   matbool(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_todense%  sB    !*c         C` s  t  |  j ƒ } |  j j ƒ  } t | | ƒ t | j j ƒ t | j j ƒ |  j j d d ƒ } t | | ƒ t | j j ƒ t | j j ƒ |  j j d d ƒ } t | | ƒ t | j j ƒ t | j j ƒ t	 j
 |  j j d |  j j ƒ} |  j j d | ƒ t | | ƒ d | d <|  j j d | ƒ t | | ƒ t d d d	 g ƒ } t | | ƒ } t | |  j j ƒ  ƒ } t | | ƒ t d d d	 d
 g ƒ } t | | ƒ } t |  j j ƒ  | ƒ } t | | ƒ |  j |  j d t ƒ}	 | j t ƒ }
 t |	 j ƒ  |
 ƒ d  S(   NR4  R5  R6  RR   R  g      ğ?.g       @g      @g      @(   R   R   R’   RÁ   R   R   R7  R8  R9  R8   R   RŠ   RR   R   R   R‘   R›   R[   (   R9   R   R;  R  R=   R<  Rœ   RÒ   R=  R>  t   arrbool(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_toarrayN  s<    !
c      	   C` sã   t  d d d g d d	 d g d d d g g ƒ } |  j | ƒ } t j ƒ  ’ t j d d t j ƒxt t D]l } t | j	 | ƒ j
 | j	 | ƒ j
 ƒ t | j	 | ƒ j ƒ  | j	 | ƒ ƒ t | j	 | ƒ j | j ƒ qi WWd  QXd  S(
   Ng       @y              @i    g      @y              @RC   R¬   y       @      @y      @      @(   R   R‘   R°   R±   R²   R8   R   R*   R   R[   RR   RÁ   t   format(   R9   Rß   R2  t   x(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_astypet  s    %%c         C` sô   |  j  t d d d ƒj d d ƒ ƒ } t | j t j d ƒ ƒ t | j ƒ  j t j d ƒ ƒ t | j ƒ  j | j ƒ t | j d ƒ j ƒ  j t j d ƒ ƒ t | j d	 ƒ j ƒ  j t j d	 ƒ ƒ | j ƒ  } | j ƒ  } t	 | | k ƒ d  S(
   Ni   RR   RF   i   i   R™   R.  RÊ   RÌ   (
   R‘   R   t   reshapeR   RR   R8   t   asfptypeRC  R[   R   (   R9   RĞ   t   BR5  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_asfptype‚  s    '((c         #` s2   ‡  f d †  } x ˆ  j  D] } | | f Vq Wd  S(   Nc         ` sT   ˆ  j  |  } ˆ  j |  } t | d | d j ƒ  ƒ t | d | d j ƒ  ƒ d  S(   Ni   gÍÌÌÌÌL1@(   R—   R˜   R   R}   (   RR   R   R’   (   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ     s    (   R•   (   R9   Rœ   RR   (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_mul_scalar  s    c         #` s2   ‡  f d †  } x ˆ  j  D] } | | f Vq Wd  S(   Nc         ` sT   ˆ  j  |  } ˆ  j |  } t d | d | j ƒ  ƒ t d | d | j ƒ  ƒ d  S(   Ni   gÍÌÌÌÌL1@(   R—   R˜   R   R}   (   RR   R   R’   (   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   ›  s    (   R•   (   R9   Rœ   RR   (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_rmul_scalarš  s    c         #` s2   ‡  f d †  } x ˆ  j  D] } | | f Vq Wd  S(   Nc         ` s   ˆ  j  |  } ˆ  j |  } | j ƒ  } d | d <| } | | } t | | j ƒ  | ƒ | | j ƒ  } t | j ƒ  | j ƒ  | j ƒ  ƒ d  S(   Ng       @i    i   (   i    i   (   R—   R˜   R¤   R   R}   RÎ   (   RR   R   R’   R=   RÒ   RÓ   (   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   ¦  s    

(   R•   (   R9   Rœ   RR   (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_add¥  s    c         #` s2   ‡  f d †  } x ˆ  j  D] } | | f Vq Wd  S(   Nc         ` s[   ˆ  j  |  } ˆ  j |  } | j ƒ  } d | d <| } | | } t | | | j ƒ  ƒ d  S(   Ng       @i    i   (   i    i   (   R—   R˜   R¤   R   R}   (   RR   R   R’   R=   RÒ   RÓ   (   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   ¸  s    

(   R•   (   R9   Rœ   RR   (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt	   test_radd·  s    
c         #` s2   ‡  f d †  } x ˆ  j  D] } | | f Vq Wd  S(   Nc         ` s   ˆ  j  |  } ˆ  j |  } t | | j ƒ  d d d d g d d d d g d d d d g g ƒ t | d j ƒ  | ƒ ˆ  j t d d d d g d d d d g d d d d g g d ƒ ƒ } t | | j ƒ  | | j ƒ  ƒ t | | j ƒ  | j ƒ  | ƒ d  S(   Ni    i   i   iÿÿÿÿi   iûÿÿÿR   (   R—   R˜   R   R}   R‘   R	   (   RR   R   R’   RĞ   (   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   Æ  s    DE!(   R•   (   R9   Rœ   RR   (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_subÅ  s    c         #` sM   ‡  f d †  } x7 ˆ  j  D], } | t j d ƒ k r: q n  | | f Vq Wd  S(   Nc         ` so  ˆ  j  |  } ˆ  j |  } t | | d d d d g d d d d g d d d d g g ƒ t | | d d d d g d d d d g d d d d g g ƒ t d | j ƒ  | ƒ ˆ  j t d d d d g d d d d g d d d d g g d ƒ ƒ } t | | | | j ƒ  ƒ t | | | j ƒ  | ƒ t | j ƒ  | | j ƒ  | ƒ t | | j ƒ  | | j ƒ  ƒ d  S(   Ni    i   i   iÿÿÿÿi   iûÿÿÿR   (   R—   R˜   R   R}   R‘   R	   (   RR   R   R’   RĞ   (   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   Õ  s    >>E!R›   (   R•   R8   RR   (   R9   Rœ   RR   (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt	   test_rsubÔ  s
    c         #` s2   ‡  f d †  } x ˆ  j  D] } | | f Vq Wd  S(   Nc         ` s    ˆ  j  |  } ˆ  j |  } t | d j ƒ  | ƒ t g  t d d ƒ D] } | | ^ qD ƒ } t g  t d d ƒ D] } | | ^ qp ƒ } t | j ƒ  | ƒ d  S(   Ni    i   i   (   R—   R˜   R   R}   R  R¡   R   (   RR   R   R’   Rç   t   sumSt   sumD(   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   ë  s    ,,(   R•   (   R9   Rœ   RR   (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt	   test_add0ê  s    c   	      C` s  t  d d d g d d d g g ƒ } t  d d d g d d d g g ƒ } |  j | ƒ } |  j | ƒ } t | j | ƒ j ƒ  | | ƒ t | j | ƒ j ƒ  | | ƒ t  d d d g d d d g g ƒ } t  d d d g d d d g g ƒ } |  j | ƒ } |  j | ƒ } t | j | ƒ j ƒ  | | ƒ t | j | ƒ j ƒ  | | ƒ t | j | ƒ j ƒ  | | ƒ t | j | ƒ j ƒ  | | ƒ d  S(   Ni   i    i	   i   iıÿÿÿi   i   iüÿÿÿi   y               @y              @iÿÿÿÿy                y              @y              @işÿÿÿy              ğ?y      ğ?       Ày              @y      ğ¿        y      @      Ày      À      @y      @       @y      @      Ày       À      ğ?y              ğ¿y      À       @(   R   R‘   R   t   multiplyR}   (	   R9   RĞ   RH  Rú   t   BspR5  Rß   t   Cspt   Dsp(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_elementwise_multiplyù  s    $$  $$   c         C` s)  t  d g ƒ } t  d g g ƒ } t  d d d g ƒ } t  d d d g g ƒ } t  d g d	 g d g g ƒ } t  d
 d d g d d d	 g d d d g g ƒ } d d	 d g } t j d ƒ } | j }	 t  d g g ƒ }
 t  d d	 g d d g g g ƒ } |  j | ƒ } |  j | ƒ } |  j | ƒ } |  j | ƒ } |  j | ƒ } |  j | d ƒ } |  j |	 ƒ } |  j |	 d  d  … d d  f ƒ } |  j |
 ƒ } | | | | | | | | |	 |
 | g } | | | | | | | | | g	 } x | D]… } x| | D]t } y" t j | j ƒ  | j ƒ  ƒ } Wn' t k
 rAt	 t | j | ƒ qğn X| j | ƒ } t
 | j ƒ  | ƒ qğWqãWx¶ | D]® } x¥ | D] } y t j | j ƒ  | ƒ } Wn: t k
 r¸q€n' t k
 rŞt	 t | j | ƒ q€n X| j | ƒ } t | ƒ rt
 | j ƒ  | ƒ q€t
 | | ƒ q€WqsWd  S(   Ni   i÷ÿÿÿi   iÿÿÿÿi    i   i	   i   i   i   i   iüÿÿÿ(   i   i   (   i    N(   R   R8   t   onesRÂ   R‘   R4   RS  R}   Rš   R   R   R  R'   (   R9   RĞ   RH  R5  Rß   t   ER6  t   Gt   Ht   Jt   Kt   LRT  RV  t   Espt   Fspt   Hspt   Hsppt   Jspt   Jsppt   KspR	  t
   spmatricesRé   Rê   t
   dense_multt   sp_mult(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt#   test_elementwise_multiply_broadcast  sX    0	!"'!"c      
   C` sÅ  d t  j t  j d g d t  j d t  j g t  j d t  j t  j g g } t t |  j |  j ƒ | ƒ |  j t d d d d g d d d d g d d d d g g d ƒ ƒ } d t  j t  j d g d	 t  j t t  j g t  j d
 t  j d g g } t t |  j | ƒ | ƒ t d d d g d d d g g ƒ } t d  d! d" g d# d$ d g g ƒ } |  j | ƒ } |  j | ƒ } t	 t | | ƒ | | ƒ t d d d g d	 d d g g ƒ } t d d d g d d d g g ƒ } |  j | ƒ } |  j | ƒ } t  j
 d d ƒ   t t | | ƒ | | ƒ Wd  QXt d d g d d g g ƒ } t d d g d d g g ƒ } |  j | ƒ } |  j | ƒ } t  j
 d d d d ƒ ) t t  j t | | ƒ ƒ | | ƒ Wd  QXd  S(%   Ni   i    i   iÿÿÿÿi   iûÿÿÿR   g      à?iıÿÿÿg      Ğ?y               @y              @y                y              @y              @i   i   işÿÿÿy              ğ?iüÿÿÿi	   i   i   t   divideRC   Rµ   y      ğ?       Ày              @y      ğ¿        y      @      Ày      À      @y      @       @y      @      Ày       À      ğ?y              ğ¿y      À       @(   R8   R¥   R   R}   R’   R‘   R	   R   R   R   R·   (   R9   RÃ   t   denomRĞ   RH  Rú   RT  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_elementwise_divideE  s4    E$$$$!c         C` sø   t  d d d d g d d d d g d d d d g d d d d	 g g ƒ } |  j | ƒ } x5 d d d d g D]! } t | | j ƒ  | | ƒ qj Wx* d
 d d g D] } t t | j | ƒ qŸ W|  j | d  d … d  d  … f ƒ } t t | j d ƒ d  S(   Ni   i    i   i   i   i   i   i   i   iÿÿÿÿgš™™™™™@y              @y      ğ?      @(   R	   R‘   R   R}   R   t	   Exceptiont   __pow__(   R9   RĞ   RH  t   exponent(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_powh  s    H%c         C` s·   |  j  t d d d g d d d g d d d g d d d g g ƒ ƒ } t d d d d g | t d d d d g | j ƒ  ƒ ƒ t d d d d g g ƒ } t | | | | j ƒ  ƒ d  S(   Ni   i    i   i   g      @i   (   R‘   R	   R   R   RÁ   R}   (   R9   R#  t   row(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_rmatvecw  s    E8c         C` sï   |  j  d g d g d g g ƒ } t t | t d ƒ ƒ ƒ t | t d ƒ j ƒ  d g d g d g g ƒ t | t d g ƒ t d d d g ƒ ƒ t | t d g g ƒ t d g d g d g g ƒ ƒ t | t j d ƒ t j d ƒ ƒ d  S(   Ni   i   i   i    (   i   i    (   i   i    (   R‘   R   R'   R   R   R}   R8   RX  (   R9   RĞ   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_small_multiplication}  s    !/)5c         C` sÃ   |  j  d g d g d g g ƒ } t ƒ  } t | | d ƒ t | | d ƒ t | | d ƒ t | | d ƒ t | | d ƒ t | | d ƒ t r¿ t t d ƒ d ƒ t t d ƒ d ƒ n  d  S(   Ni   i   i   s   matrix on the lefts   matrix on the rights   A @ Bs   B @ A(   R‘   R~   R   t   TEST_MATMULt   eval(   R9   RĞ   RH  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_binop_custom_type‡  s    !	c         C` sÆ   |  j  d g d g d g g ƒ } t d ƒ } t | | d ƒ t | | d ƒ t | | d ƒ t | | d ƒ t | | d ƒ t | | d ƒ t rÂ t t d ƒ d ƒ t t d ƒ d ƒ n  d  S(	   Ni   i   i   s   matrix on the lefts   matrix on the rights   A @ Bs   B @ A(   i   i   (   R‘   Rˆ   R   Rt  Ru  (   R9   RĞ   RH  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt!   test_binop_custom_type_with_shape™  s    !c         C` sv  t  s t j d ƒ ‚ n  |  j t d d d g d d d g d d d g d d d g g ƒ ƒ } |  j t d d g d d g d d g g d ƒ ƒ } t d d d g ƒ j } t t j | | ƒ | j	 ƒ  | ƒ t t j | | ƒ j	 ƒ  | | j	 ƒ  ƒ t t j | j	 ƒ  | ƒ | | j	 ƒ  ƒ t t j | | j	 ƒ  ƒ | | j	 ƒ  ƒ t
 t t j | d ƒ t
 t t j d | ƒ d  S(   Ns$   matmul is only tested in Python 3.5+i   i    i   i   g      @R   (   Rt  t   noset   SkipTestR‘   R	   RÂ   R   t   operatorRB   R}   R   Rš   (   R9   R#  RH  t   col(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_matmul§  s    E3c         C` sF  |  j  t d d d g d d d g d d d g d d d g g ƒ ƒ } t d d d g ƒ j } t | | | j ƒ  | ƒ t | t d d d g ƒ j d ƒ t | t d g d g d g g ƒ j d ƒ t | t d g d g d g g ƒ j d	 ƒ t t	 | t d d d g ƒ t
 ƒ ƒ t t	 | t d d d g ƒ j t ƒ ƒ t d d g ƒ t d d d d g ƒ t d g d g g ƒ t d d d g ƒ t d g d g g ƒ g } x! | D] } t t | j | ƒ q¯Wt | t d d d g ƒ t | j d d d g ƒ ƒ t | d g d g d g g t t | j d d d g ƒ ƒ j ƒ d  S(
   Ni   i    i   i   g      @i   (   i   (   i   i   (   i   i   (   R‘   R	   RÂ   R   R}   R   R   RŠ   R   R|   R   R   Rš   R   R   RĞ   R
   (   R9   R#  R{  t   bad_vecsRD  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_matvec¿  s    E#,,&)9-5c         C` s¤  t  d d d g d d d g d d d g d d d g g ƒ } t d d d g d d d g d d d g d d d g g ƒ } t  d d g d d g d d g g d ƒ } |  j | ƒ } |  j | ƒ } t | | j ƒ  | | ƒ t | | | | ƒ t | | | | ƒ t | | | | ƒ | j ƒ  } | } t | | j ƒ  | | ƒ t | | | | ƒ t | | | | ƒ t | | | | ƒ | j ƒ  } t | | j ƒ  | | ƒ t | | | | ƒ t | | | | ƒ t | | | | ƒ | j ƒ  } t | | j ƒ  | | ƒ t | | | | ƒ t | | | | ƒ t | | | | ƒ d } d }	 t j	 d ƒ t
 | d f ƒ }
 xZ t | ƒ D]L } xC t d ƒ D]5 } t j ƒ  } | |	 k  r| |	 |
 | | f <qqWqŠW|  j |
 ƒ }
 |
 |
 j } t | j ƒ  |
 j ƒ  |
 j j ƒ  ƒ t | j ƒ  |
 j ƒ  |
 j ƒ  j ƒ |  j d d g d d	 g g ƒ }
 |  j d d g d d	 g d
 d g g ƒ } t t |
 j | ƒ d  S(   Ni   i    i   i   g      @R   i   g333333Ó?i   i   i   (   R	   R   R‘   R   R}   RÍ   RÎ   RÏ   Rx   RN   R   R   RÂ   R   Rš   R   (   R9   R=   t   a2RÒ   t   aspt   bspt   cspRÓ   R^  t   fracRĞ   Ré   Rê   Rï   RH  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_matmat_sparseç  sR    <<*&&!*c         C` s÷   t  d d d g d d d g d d d g d d d g g ƒ } |  j | ƒ } t d d g d d g d d g g ƒ t  d d g d d g d d g g ƒ g } xW | D]O } | | } t t | t | ƒ ƒ ƒ t | j d	 ƒ t | t | | ƒ ƒ q  Wd  S(
   Ni   i    i   i   g      @i   i   i   (   i   i   (	   R	   R‘   R   R   R|   t   typeR   RŠ   R   (   R9   R=   R€  t   bsRÒ   t   result(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_matmat_dense  s    <N
c         C` s;  t  j d d d g d d d g d d d g g d d g d d g g ƒ } | j ƒ  } |  j | ƒ } xÑ d d d	 d
 d d d g D]´ } | j | ƒ } t | j | ƒ t | j ƒ  | ƒ |  j | d ƒ j | ƒ } t | j | ƒ t | j ƒ  | d ƒ t | d ƒ | ƒ } t | j | ƒ t | j ƒ  | ƒ q Wd  S(   Ni   i    i   i   i   i   Rb   Rc   Rd   Re   Rf   Rg   Rh   y              @t   _matrix(	   Ra   R   R}   R‘   t   asformatR   RC  R   Ru  (   R9   RĞ   Rß   RC  R=   RÒ   RÓ   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_sparse_format_conversions)  s    H"c   	      C` s  t  d d d d g d d d d g d d d d g g ƒ } t  d d d g d d d g g ƒ } t | | ƒ } |  j | ƒ } x† d g D]{ } t | d | ƒ } x_ d d d d	 g D]K } xB d d d d d	 d
 g D]( } t | d | | f ƒ j ƒ  | ƒ qĞ Wq± Wq… Wd  S(   Ni   i    i   i   i   i   Rb   t   toi   i   t	   blocksize(   R   R   R‘   Rm   R   R}   (	   R9   RD  t   yRĞ   Rú   RC  t   fnt   Xt   Y(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt
   test_tobsr;  s    9$c         #` sè   ˆ j  } t j g  g ƒ } | | g ‰  ‡  ‡ f d †  } ˆ j d ƒ } t t j | ƒ j ƒ  t j t d ƒ ƒ ƒ t | j j ƒ  t d ƒ ƒ t	 t
 | j d d ƒx< ˆ j D]1 } x( t t ˆ  ƒ ƒ D] } | | | f VqÈ Wq¯ Wd  S(	   Nc         ` sƒ   t  j ˆ  | d |  ƒ} ˆ j | ƒ } | j ƒ  } | j ƒ  } t | j ƒ  | ƒ t | j ƒ  j ƒ  | ƒ t | j | j ƒ d  S(   NRR   (   R8   R	   R‘   R   R   R}   R   RR   (   RR   Rê   R   R’   R=   RÒ   (   R	  R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   L  s    i   i   t   axesi    (   i   i   (   i   i   (   i   i   (   R   R8   R   R‘   R   R   R}   R   RÂ   R   Rš   R–   R¡   RŒ   (   R9   R  R  Rœ   t   emptyRR   Rê   (    (   R	  R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_transposeG  s    	c         #` s2   ‡  f d †  } x ˆ  j  D] } | | f Vq Wd  S(   Nc         ` sT   ˆ  j  |  } ˆ  j |  } | | } t | | | ƒ | | } t | | | ƒ d  S(   N(   R—   R˜   R   (   RR   R   R’   t   sum1t   sum2(   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   c  s    

(   R•   (   R9   Rœ   RR   (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_add_denseb  s    
c         #` sb   ‡  f d †  } xL ˆ  j  D]A } | t j d ƒ k rO t t j ƒ d k rO q n  | | f Vq Wd  S(   Nc         ` s¬   ˆ  j  |  } ˆ  j |  } | j t k rb | | } t | | | ƒ | | } t | | | ƒ nF | | | | } t | | | ƒ | | | | } t | | | ƒ d  S(   N(   R—   R˜   RR   R›   R   (   RR   R   R’   R–  R—  (   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   r  s    

R›   s	   1.9.0.dev(   R•   R8   RR   R0   t   __version__(   R9   Rœ   RR   (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_sub_densep  s    c         #` s,  t  j d d d g d d d g d d d g g ƒ ‰  t  j d d d g d d d g d d d g g ƒ ‰ t  j d d d g d d d g d d
 d g g ƒ ‰ ‡  ‡ ‡ ‡ f d †  } xt ˆ j D]i } x` t  j t  j t  j g D]F } x= d d d d g D]) } | t  j | ƒ t  j | ƒ | f Vqó WqÚ Wq» Wd  S(   Ni   i    i   i   i   i   i   iÿÿÿÿy               @y              ğ?y              ğ¿c   	      ` s|  t  j |  t  j ƒ r0 ˆ j ˆ j |  ƒ ƒ } n ˆ j ˆ  j |  ƒ ƒ } | d k rf | j d ƒ } nl | d k r„ | j d ƒ } nN | d k r¢ ˆ j | ƒ } n0 | d k rÉ ˆ j ˆ j | ƒ ƒ } n	 t ƒ  ‚ | j | ƒ } t  j t | ƒ t | ƒ ƒ } t	 t | ƒ | ƒ t
 | j | j ƒ | j | ƒ } t  j t | ƒ t | ƒ ƒ } t	 t | ƒ | ƒ t
 | j | j ƒ d  S(   Nt   scalari   t   scalar2iÿÿÿÿt   denseRa   (   R8   RT   t   complexfloatingR‘   R[   R…  Rš   t   maximumR}   R   R   RR   t   minimum(	   RR   t   dtype2t   btypeRĞ   RH  t   max_st   max_dt   min_st   min_d(   t   A_denset   A_dense_cpxt   B_denseR9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   ’  s(    	R›  Rœ  R  Ra   y      @       @(   R8   R   R•   R   t   float_t   complex_RR   (   R9   Rœ   RR   R¡  R¢  (    (   R§  R¨  R©  R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_maximum_minimumŒ  s    333c         C` sù  |  j  } t | j ƒ  j | j ƒ t | j | d t ƒj | j ƒ t | j | d t ƒj | j ƒ t | j ƒ  j ƒ  | j ƒ  ƒ t | j | d t ƒj ƒ  | j ƒ  ƒ t | j | d t ƒj ƒ  | j ƒ  ƒ t | d | j ƒ } t | ƒ  j | j ƒ t | d t ƒ j | j ƒ t | d t ƒ j | j ƒ t | ƒ  j ƒ  | j ƒ  ƒ t | d t ƒ j ƒ  | j ƒ  ƒ t | d t ƒ j ƒ  | j ƒ  ƒ | j ƒ  } y, | d c d 7<t	 | d | d k ƒ Wn! t
 k
 rän t k
 rôn Xd  S(   NR¤   RŒ  i    i   (   i    i    (   i    i    (   i    i    (   R’   R   R¤   RC  t	   __class__R;   Rw   R}   Rm   R   RÚ   R  (   R9   RĞ   t   toselfRH  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt	   test_copy±  s,    	""((""c         C` sj   t  j t  j d ƒ j d d ƒ ƒ } |  j | ƒ } x0 t | | ƒ D] \ } } t | j ƒ  | ƒ qC Wd  S(   Ni2   i   i
   (   R8   R	   R   RF  R‘   R   R   R}   (   R9   RH  RĞ   RD  R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_iteratorÖ  s    $c         C` s_  t  j g  ƒ } | j d ƒ } | j d ƒ } | j d ƒ } | j d ƒ } | j d	 ƒ } t  j t  j d d g ƒ ƒ } |  j | ƒ } |  j | ƒ }	 |  j | ƒ }
 |  j | ƒ } |  j | ƒ } |  j | ƒ } t | j | ƒ j t  j | | ƒ j ƒ t |	 j | ƒ j t  j | | ƒ j ƒ t | j |	 ƒ j t  j | | ƒ j ƒ t |
 j | ƒ j t  j | | ƒ j ƒ t |
 j | ƒ j t  j | | ƒ j ƒ t | j |
 ƒ j t  j | | ƒ j ƒ t | j |
 ƒ j t  j | | ƒ j ƒ t | j | ƒ j t  j | | ƒ j ƒ t t	 | j | ƒ t t	 | j | ƒ t | j
 | ƒ j t  j
 | | ƒ j ƒ t |	 j
 |	 ƒ j t  j
 | | ƒ j ƒ t | j
 | ƒ j t  j
 | | ƒ j ƒ t | j
 | ƒ j t  j
 | | ƒ j ƒ t |	 j
 | ƒ j t  j
 | | ƒ j ƒ t | j
 | ƒ j t  j
 | | ƒ j ƒ t | j
 d ƒ j t  j
 | d ƒ j ƒ t |	 j
 d ƒ j t  j
 | d ƒ j ƒ t | j
 d ƒ j t  j
 | d ƒ j ƒ t t	 | j
 | ƒ t t	 | j
 | ƒ t | j | ƒ j | j | ƒ j ƒ t |	 j |	 ƒ j | j | ƒ j ƒ t | j | ƒ j | j | ƒ j ƒ t t	 | j | ƒ t t	 |	 j | ƒ d  S(
   Ni    i   i   i   (   i    i    (   i    i   (   i    i   (   i   i    (   i   i    (   R8   R	   RF  RX  R‘   R   R   RĞ   R   Rš   RS  R€   (   R9   R   R=   RÒ   RÓ   R   RÔ   RÕ   R€  R  R‚  t   dspt   espt   fsp(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt    test_size_zero_matrix_arithmeticİ  sN    (((((((((((((((((%%%c         C` sí   t  j g  ƒ } | j d ƒ } | j d ƒ } | j d ƒ } xª | | | g D]™ } |  j | ƒ } t | j ƒ  j | ƒ t | j ƒ  j | ƒ t | j ƒ  j | ƒ t | j	 ƒ  j | ƒ t | j
 ƒ  j | ƒ t | j ƒ  j | ƒ qL Wd  S(   Ni    i   (   i    i    (   i    i   (   i   i    (   R8   R	   RF  R‘   R   RÏ   RĞ   RÎ   RÍ   t   tolilt   todokt   tobsr(   R9   R   R=   RÒ   RÓ   RÖ   t   spm(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_size_zero_conversions  s    c         #` sh   ‡  f d †  } xR d d d d d d d d	 d
 d d d d d d d d d d g D] } | | f VqO Wd  S(   Nc         ` s‚  t  sN |  d k r$ t j d ƒ ‚ n  ˆ  j t t f k rN t j d ƒ ‚ qN n  t t |  ƒ } ˆ  j t j d ƒ j	 d d ƒ d ƒ } | | j
 ƒ  ƒ } | | ƒ } t | j
 ƒ  | ƒ t  r~t j | ƒ } | | d | ƒ} t | | k ƒ t t | ƒ | t | ƒ ƒ ƒ t | j d	 | j ƒ} d
 | d  d  … d f <| | d | ƒ} t | | k ƒ t t | ƒ | t | ƒ ƒ ƒ n  d  S(   Nt   signsJ   sign conflicts with comparison op support on Numpy without __numpy_ufunc__sH   Unary ops not implemented for dok/lil with Numpy without __numpy_ufunc__i   i   i   g      4@R  RR   iç  i   (   R<   Rx  Ry  R‘   R!   R#   Rm   R8   R   RF  RÁ   R   t
   zeros_likeR   R}   R   RŠ   RR   (   Rt   t   ufuncR  t   X0t   X2R  t   X3t   X4(   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   '  s(    (t   sint   tant   arcsint   arctant   sinht   tanht   arcsinht   arctanht   rintRº  t   expm1t   log1pt   deg2radt   rad2degt   floort   ceilt   trunct   sqrtRØ   (    (   R9   Rœ   Rt   (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_unary_ufunc_overrides&  s    c         #` sŠ  t  j d d d g d d d g d d d	 g g ƒ } t  j d	 d d g d
 d d g d d d g g ƒ } d } d } d } |  j | ƒ } |  j | ƒ } t d | d | d | d | d | ƒ ‰  t d | d | d | d | d | ƒ ‰ t j t d ƒ ‡  ‡ f d †  ƒ } xz ˆ  j ƒ  D]l }	 xc ˆ j ƒ  D]U }
 xL t  j t  j	 t  j
 g D]2 } |	 d k sf|
 d k rH| |	 |
 | f VqHqHWq)WqWd  S(   Ni   i   i   i   i   i    i   i   i	   i   g      ğ?y               @R  R›  t   cplx_scalart
   int_scalarRa   s+   feature requires Numpy with __numpy_ufunc__c      
   ` sÒ  ˆ |  ‰ ˆ | ‰ t  ˆ ƒ r2 ˆ j | ƒ ‰ n  t  ˆ ƒ rP ˆ j | ƒ ‰ n  t ˆ ƒ ‰  t ˆ ƒ ‰ t ‡  ‡ ‡ ‡ f d † } | t j ƒ t ˆ ƒ s¨ t ˆ ƒ rĞ y | t j ƒ Wqİ t k
 rÌ qİ Xn | t j ƒ | t j	 ƒ | t j
 ƒ | t j ƒ t ˆ ƒ st ˆ ƒ rDy | t j ƒ WqQt k
 r@qQXn | t j ƒ t j d d d d ƒ c t ˆ ƒ rŒ| t j d t ƒn | t j ƒ t ˆ ƒ r»| t j d t ƒn | t j ƒ Wd  QXd  S(   Nc         ` sv  |  ˆ  ˆ ƒ } |  ˆ ˆ ƒ } | rF t  t | ƒ | d d d d ƒn t t | ƒ | ƒ t j | j d | j ƒ} | j t j ƒ |  ˆ ˆ d | ƒ} t	 | | k ƒ | rÑ t  t | ƒ | d d d d ƒn t t | ƒ | ƒ t
 | j d | j ƒ} d | d d  d  … f <|  ˆ ˆ d | ƒ} t	 | | k ƒ | r_t  t | ƒ | d d d d ƒn t t | ƒ | ƒ d  S(   Nt   rtolg›+¡†›„ö<t   atoli    RR   R  iç  (   R   R}   R   R8   R   RŠ   RR   t   fillR¥   R   R    (   R¼  t   allcloseRÃ   t   gotR  (   R=   t   axRÒ   t   bx(    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt	   check_onei  s,    Rj  RC   Rµ   RØ  (   R)   R[   R}   Rw   R8   RS  R+   t   addRÚ   RŸ  R   R   t   subtractR·   Rj  R;   t   true_divide(   Ré   Rê   RR   RÜ  (   t   a_itemst   b_items(   R=   RÚ  RÒ   RÛ  s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   \  s@    

"y      ğ?       @(   R8   R   R‘   t   dictR   R   R<   t   keyst   int_Rª  R«  (   R9   R=   RÒ   RÓ   R   RÔ   R€  R  Rœ   Ré   Rê   RR   (    (   Rà  Rá  s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_binary_ufunc_overridesJ  s&    ''%_s+   feature requires Numpy with __numpy_ufunc__c         C` s)  |  j  d d g g ƒ } |  j  d g d g g ƒ } |  j  d g d g g ƒ } t j | t j | g | g g ƒ ƒ } t | j t j k ƒ t | j d	 k ƒ t | d
 j	 | | j	 ƒ t | d j	 | | j	 ƒ t j | | g | g g ƒ } t | j t j k ƒ t | j d k ƒ t | d j	 | | j	 ƒ t | d j	 | | j	 ƒ t j t j | g | g g ƒ | ƒ } t | j t j k ƒ t | j d k ƒ t | d j	 | | j	 ƒ t | d j	 | | j	 ƒ t j
 t j | d t ƒ| ƒ } t t | t j  ƒ ƒ t | j	 | | j	 ƒ d  S(   Ni   i   i   i   i   i   i    RR   (   i   i   (   i    i    (   i   i    (   i   i   (   i    i    (   i   i    (   i   i   (   i    i    (   i   i    (   R‘   R8   RS  R   R   RR   t   object_RŠ   R   RĞ   RŞ  t   objectR|   Ra   (   R9   R=   RÒ   RÓ   R   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_ufunc_object_arrayÁ  s*    ''!(X   R@   RA   t   __doc__R*   R•   R‹   R    R£   R³   R´   Rº   R»   R¼   R½   RÀ   RÄ   RÅ   RÇ   RÉ   R×   RÙ   RÛ   Rİ   Rà   Râ   Rå   R   t   slowRõ   R÷   Rş   Rÿ   R  R  R  R  R  R  R  R  R  R  R  R   R+  R-  R/  R0  R1  R3  R@  RB  RE  RI  RJ  RK  RL  RM  RN  RO  RR  RW  Ri  Rl  Rp  Rr  Rs  Rv  Rw  R|  R~  R„  Rˆ  R‹  R’  R•  R˜  Rš  R¬  R¯  R°  R´  R¹  RÒ  Rå  R   R<   Rè  (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR   é   s¢   				"	$	B	@	<	=												6				
			#																)	&											7	#			
				(	5							%	%		:		$	wt   _TestInplaceArithmeticc           B` s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c      	   C` s0  t  j d ƒ } |  j | ƒ } t j ƒ   t sD t j d t ƒ n  | j ƒ  } | j ƒ  } | | 7} | | 7} t	 | | ƒ | j ƒ  } | j ƒ  } | | 8} | | 8} t	 | | ƒ t
 t t j | | ƒ | j ƒ  } | j ƒ  } | j | j ƒ } | | j 9} t	 | | ƒ t
 t t j | | ƒ Wd  QXd  S(   Ni   i   RC   (   i   i   (   R8   RX  R‘   R°   R±   R<   R²   t   DeprecationWarningR¤   R   R   Rš   Rz  t   imulR   RÂ   R  t	   ifloordiv(   R9   R=   RÒ   RD  R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_inplace_denseä  s,    



c         #` s2   ‡  f d †  } x ˆ  j  D] } | | f Vq Wd  S(   Nc         ` sŞ   ˆ  j  |  } ˆ  j |  } t j t d ƒ |  d d ƒrz | j ƒ  } | d 9} | j ƒ  } | d 9} t | | j ƒ  ƒ n  t j t d ƒ |  d d ƒrÚ | j ƒ  } | d 9} | j ƒ  } | d 9} t | | j ƒ  ƒ n  d  S(   Ni   t   castingt	   same_kindgÍÌÌÌÌL1@(   R—   R˜   R8   t   can_castR…  R¤   R   R}   (   RR   R   R’   R=   RÒ   (   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ     s    



(   R•   (   R9   Rœ   RR   (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_imul_scalar  s    c         #` sJ   ‡  f d †  } x4 ˆ  j  D]) } t j | t j ƒ s | | f Vq q Wd  S(   Nc         ` sŞ   ˆ  j  |  } ˆ  j |  } t j t d ƒ |  d d ƒrz | j ƒ  } | d } | j ƒ  } | d } t | | j ƒ  ƒ n  t j t d ƒ |  d d ƒrÚ | j ƒ  } | d } | j ƒ  } | d } t | | j ƒ  ƒ n  d  S(   Ni   Rğ  Rñ  gÍÌÌÌÌL1@(   R—   R˜   R8   Rò  R…  R¤   R   R}   (   RR   R   R’   R=   RÒ   (   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ     s    



(   R•   R8   Rò  Rä  (   R9   Rœ   RR   (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_idiv_scalar  s    c         C` s×   |  j  t j d ƒ ƒ } |  j  t j d ƒ ƒ } |  j  t j d ƒ ƒ } | | 7} | | } t | j | j ƒ | | 9} | | } t | j | j ƒ | | 8} | | } t | j | j ƒ t t t j | | ƒ d  S(   Ni   (	   R‘   R8   R&   R   RĞ   R   R  Rz  Rî  (   R9   R=   RÒ   t   bp(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_inplace_success3  s    





(   R@   RA   Rï  Ró  Rô  Rö  (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRë  ã  s   			t   _TestGetSetc           B` s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         #` s8   ‡  f d †  } x" t  D] } | t j | ƒ f Vq Wd  S(   Nc         ` s  t  j ƒ  t  j d d t ƒt d d d g d d d g d d d g d d d g g d |  ƒ} ˆ  j | ƒ } | j \ } } xT t | | ƒ D]B } x9 t | | ƒ D]' } t | | | f | | | f ƒ q¨ Wq‘ Wx9 d
 d d d d d g D] } t	 t
 t f | j | ƒ qğ WWd  QXd  S(   NRC   R¬   i   i    i   i   i   RR   iÿÿÿÿ(   i    i   (   iÿÿÿÿi   (   i   i    (   i   i   (   i   iÿÿÿÿ(   i   i   i   (   R°   R±   R²   R(   R   R‘   RŠ   R¡   R   R   t
   IndexErrorR  t   __getitem__(   RR   Rß   RĞ   R#  R'  Ré   Rê   Rû   (   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   K  s    )(   R*   R8   RR   (   R9   Rœ   RR   (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_getelementJ  s    c         #` s8   ‡  f d †  } x" t  D] } | t j | ƒ f Vq Wd  S(   Nc         ` sã  t  j ƒ  Ñt  j d d t ƒˆ  j d d |  ƒ} |  j d ƒ | d <|  j d ƒ | d <|  j d ƒ | d <|  j d
 ƒ | d <|  j d ƒ | d <|  j d ƒ | d <|  j d ƒ | d <|  t j k rt | j	 ƒ  d d d d g d d d d g d	 d d d g g ƒ n  x3 d d d d d g D] } t
 t | j | d ƒ q"WxB d d	 d g t d d	 d g ƒ g D] } t
 t | j d | ƒ qgWt j |  t j ƒ rÙ|  t j k rÙx* d g D] } t
 t | j d  | ƒ q¶Wn  Wd  QXd  S(!   NRC   R¬   i   i   RR   i    g      @i   i   g       @i   iÿÿÿÿi   işÿÿÿi   g     À^@y              @(   i   i   (   i    i    (   i   i   (   i    i   (   i   i    (   i    iÿÿÿÿ(   iÿÿÿÿişÿÿÿ(   i    i   (   i    i   (   iÿÿÿÿi   (   i   i    (   i   i   (   i   iÿÿÿÿ(   i    i    (   i    i    (   R°   R±   R²   R(   R‘   R…  R8   t   bool_R   R}   R   Rø  t   __setitem__R   Rš   RT   R  R  (   RR   RĞ   Rû   Ræ   (   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   a  s(    C+(   R*   R8   RR   (   R9   Rœ   RR   (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_setelement`  s    c         #` s;   ‡  f d †  } x% ˆ  j  D] } | t j | ƒ f Vq Wd  S(   Nc         ` s4   ˆ  j  d d |  ƒ} d | d <t | d	 d ƒ d  S(
   Ni   i
   RR   i   i    iüÿÿÿ(   i   i
   (   i    iüÿÿÿ(   i    iüÿÿÿ(   R‘   R   (   RR   RĞ   (   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ     s    
(   R•   R8   RR   (   R9   Rœ   RR   (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_negative_index_assignment~  s    c      	   ` s®   d \ ‰ ‰  ‡  ‡ ‡ f d †  } x† d d d t  d ƒ d f d t  d ƒ f t  d ƒ t  d ƒ f g D]B \ } } t j ƒ  ( t j d	 d
 t ƒ| | | d ƒ Wd  QXqd Wd  S(   Ni   i
   c         ` sr   d |  | | f } ˆ j  ˆ ˆ  f ƒ } d | |  | f <t | j ƒ  | d | ƒt | |  | f d d | ƒd  S(   Ns   %r ; %r ; %ri   Rì   (   R‘   R   R  (   Ré   Rê   t   nitemsR3   RĞ   (   RÖ   Rè   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt	   _test_setŒ  s
    i   i   iÿÿÿÿi   işÿÿÿRC   R¬   i   (   i   i
   (   i   i   (   iÿÿÿÿi   (   iÿÿÿÿişÿÿÿ(   R   R°   R±   R²   R(   (   R9   R   Ré   Rê   (    (   RÖ   Rè   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_scalar_assign_2‰  s    *%c      	   C` s   t  j ƒ  ~ t  j d d t ƒ|  j d	 ƒ } t j d
 ƒ } x2 | | g D]$ } d | d <d | d <d | d <qK Wt | j ƒ  | ƒ Wd  QXd  S(   NRC   R¬   i   i   i    i   i   i	   (   i   i   (   i   i   (   i    i   (   i   i    (   i   i    (	   R°   R±   R²   R(   R‘   R8   R   R   RÁ   (   R9   RĞ   RH  R5  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_index_scalar_assignš  s    

(   R@   RA   Rú  Rı  Rş  R  R  (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR÷  I  s
   				t
   _TestSolvec           B` s   e  Z d  „  Z RS(   c         C` s=  d } t  j j d ƒ t | | f d t ƒ} t  j j | ƒ } t  j j | d ƒ d t  j j | d ƒ } t  j j | ƒ } x. t t | ƒ ƒ D] } | | | | | f <q“ WxP t t | ƒ ƒ D]< } | | | | | d f <t | | ƒ | | d | f <qÄ W|  j	 | ƒ } t
 | ƒ j | ƒ } t | | | ƒ d  S(   Ni   i    RR   i   y              ğ?(   R8   Rx   RN   R   R¶   R
  R¡   RŒ   R   R‘   R-   t   solveR   (   R9   Rè   RĞ   RD  R  Rï   Ré   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt
   test_solve§  s    ."(   R@   RA   R  (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR  ¦  s   t   _TestSlicingc           B` sw   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 e
 j e e j ƒ d k ƒ d	 „  ƒ Z RS(
   c         C` sØ   t  |  j d d t j ƒd d d … f j t j ƒ t  |  j d d t j ƒd d d … f j t j ƒ t  |  j d d t j ƒd d d … f j t j ƒ t  |  j d	 d t j ƒd d d … f j t j ƒ d  S(
   Ni   i
   RR   i    i   (   i   i
   (   i   i
   (   i   i
   (   i   i
   (   R   R‘   R8   R.  RR   RF   RÊ   R™   (   R9   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_dtype_preservation»  s    555c         C` s  t  t d ƒ j d d ƒ ƒ } |  j | ƒ } t | d d  d  … f | d d  d  … f j ƒ  ƒ t | d d d … f | d d d … f j ƒ  ƒ t d d d g d d d g d d d g d d d g g ƒ } |  j | ƒ } t | d d d	 … f | d d d	 … f j ƒ  ƒ t d d d g d d d g d d d g d d d g g ƒ } |  j | ƒ } t | d d d	 … f | d d d	 … f j ƒ  ƒ t | d d
 d  … f | d d
 d  … f j ƒ t t	 | j
 t d  ƒ d f ƒ t t	 | j
 d t d	 d ƒ f ƒ d  S(   Ng      I@i   i
   i   i   i   i    i   i   işÿÿÿi   i   (   R
   R   RF  R‘   R   R}   R	   RĞ   R   Rø  Rù  t   sliceR4   (   R9   RH  RĞ   R5  Rß   RY  R6  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_get_horiz_sliceÁ  s    33<3<30c         C` s:  t  t d ƒ j d d ƒ ƒ } |  j | ƒ } t | d d … d f | d d … d f j ƒ  ƒ t | d  d  … d f | d  d  … d f j ƒ  ƒ t d d d g d d d g d d d g d d d g g ƒ } |  j | ƒ } t | d d	 … d f | d d	 … d f j ƒ  ƒ t | d  d  … d f | d  d  … d f j ƒ  ƒ t d d d g d d d g d d d g d d d g g ƒ } |  j | ƒ } t | d  d  … d f | d  d  … d f j ƒ  ƒ t | d
 d  … d f | d
 d  … d f j ƒ  ƒ t t | j	 t
 d  ƒ d f ƒ t t | j	 d t
 d	 d ƒ f ƒ d  S(   Ng      I@i   i
   i   i    i   i   i   i   işÿÿÿi   i   (   R
   R   RF  R‘   R   R}   R	   R   Rø  Rù  R  R4   (   R9   RH  RĞ   R5  Rß   RY  R6  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_get_vert_sliceÕ  s    33<33<33c         C` s·  t  t d ƒ j d d ƒ ƒ } |  j | ƒ } t | d d … d d … f j ƒ  | d d … d d … f ƒ t | d d  … d  d … f j ƒ  | d d  … d  d … f ƒ t | d  d … d d  … f j ƒ  | d  d … d d  … f ƒ t d d d g d	 d d g d d d g d d d g g ƒ } |  j | ƒ } t | d d … d d … f | d d … d d … f j ƒ  ƒ t | d  d  … d d  … f | d  d  … d d  … f j ƒ  ƒ d  S(
   Ng      I@i   i
   i   i    i   i   iÿÿÿÿi   (   R
   R   RF  R‘   R   R}   R	   (   R9   RH  RĞ   RY  R6  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_get_slicesê  s    ???<?c         C` sš   t  j j d d ƒ } y/ |  j | ƒ d d d … d d d … f } Wn  t k
 rf t j d ƒ ‚ n Xt | j ƒ  | d d d … d d d … f ƒ d  S(   Ni2   i    i   i   i   i   s   feature not implemented(	   R8   Rx   R
  R‘   Rš   Rx  Ry  R   R}   (   R9   t   v0Ræ   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt    test_non_unit_stride_2d_indexing÷  s    /c         C` sê  t  t d ƒ j d d ƒ ƒ } |  j | ƒ } t | d | d ƒ t | d | d ƒ t | d | d ƒ t | t d ƒ d f | d ƒ t | d t d ƒ f | d ƒ t | t d ƒ t d ƒ f | d ƒ t | d d  d  … f j ƒ  | d d  d  … f ƒ t | d d d … f j ƒ  | d d d … f ƒ t | t d ƒ d d … f j ƒ  | d d d … f ƒ t | d  d  … d f j ƒ  | d  d  … d f ƒ t | d d	 … d
 f j ƒ  | d d	 … d
 f ƒ t | d d	 … d f j ƒ  | d d	 … d f ƒ t | d d … d f j ƒ  | d d … d f ƒ t | d d … t d ƒ f j ƒ  | d d … d f ƒ t | d d … d d … f j ƒ  | d d … d d … f ƒ t | d	 d  … d d  … f j ƒ  | d	 d  … d d  … f ƒ t | d  d	 … d  d … f j ƒ  | d  d	 … d  d … f ƒ t | d d … d  d … f j ƒ  | d d … d  d … f ƒ t | d d  d  … f j ƒ  | d d  d  … f ƒ t | d d  d  … f j ƒ  | d d  d  … f ƒ t | t d ƒ d  d  … f j ƒ  | d d  d  … f ƒ t | d d	 !j ƒ  | d d	 !ƒ t | d d !j ƒ  | d d !ƒ t t d ƒ t d	 ƒ d  ƒ } t | | d  d  … f j ƒ  | d d	 … d  d  … f ƒ t | d  d  … | f j ƒ  | d  d  … d d	 … f ƒ d  S(   Ni2   i   i
   i   i   iÿÿÿÿi   işÿÿÿi   i	   i   iûÿÿÿ(   i   i   (   i   i   (   iÿÿÿÿi   (   iÿÿÿÿi   (   iÿÿÿÿişÿÿÿ(   iÿÿÿÿişÿÿÿ(   iÿÿÿÿişÿÿÿ(   iÿÿÿÿişÿÿÿ(   iÿÿÿÿişÿÿÿ(
   R
   R   RF  R‘   R   R   R}   R  R   R4   (   R9   RH  RĞ   t   s(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_slicing_2	  s8    !!'33933339????339!!9c   	      #` s^  t  t d ƒ j d d ƒ ƒ ‰ |  j ˆ ƒ ‰  t j } | d  | d d !| d | d d  d … | d d d … | d	 d  d
 … | d  d d … d d | | d d !d d
 d t d ƒ t j d ƒ g } ‡  ‡ f d †  } x% t | ƒ D] \ } } | | f Vqå W‡  ‡ f d †  } xE t | ƒ D]7 \ } } x( t | ƒ D] \ } } | | | f Vq8WqWd  S(   Ni2   i   i
   i   i   i   i   iÿÿÿÿi   işÿÿÿi    iûÿÿÿiıÿÿÿc         ` s}   ˆ  |  } ˆ |  } | j  d k r< t | | t |  ƒ ƒ n= | j d k r] | j d k r] n t | j ƒ  | t |  ƒ ƒ d  S(   Ni    (    (   RŠ   R   RÆ   RS   R   R}   (   R=   RD  R  (   RĞ   RH  (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   check_1:	  s    

c         ` sã   t  |  t j ƒ r! t |  ƒ } n |  } t  | t j ƒ rH t | ƒ } n | } ˆ  |  | f } ˆ | | f } | j d k rœ t | | t |  | f ƒ ƒ nC | j d k r½ | j d k r½ n" t | j	 ƒ  | t |  | f ƒ ƒ d  S(   Ni    (    (
   R|   R8   R   Rí   RŠ   R   RÆ   RS   R   R}   (   R=   RÒ   t   ait   biRD  R  (   RĞ   RH  (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   check_2H	  s    (	   R
   R   RF  R‘   R8   t   s_R   R   t	   enumerate(	   R9   R  t   slicesR  Rê   R=   R  Ré   RÒ   (    (   RĞ   RH  s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_slicing_30	  s    	(0c         C` sŸ  t  t d ƒ j d d ƒ ƒ } |  j | ƒ } t | d j | d j ƒ t | d j | d j ƒ t | d j | d	 j ƒ t | d
 j | d j ƒ t | d d  … d f j | d d  … d f j ƒ t | d d d  … f j | d d d  … f j ƒ t | d d  … d d f j | d d  … d d f j ƒ t | d d d d  … f j | d d d d  … f j ƒ t | d | d ƒ t | d | d ƒ d  S(   Ni2   i   i
   .i   (   .(   .(   i   .(   i   .(   .i   (   .i   (   i   i   .(   i   i   .(   i   .i   (   i   .i   (   R
   R   RF  R‘   R   RĞ   R   (   R9   RÒ   R=   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_ellipsis_slicingd	  s    3399s	   1.9.0.devc         C` s  t  t d ƒ j d d ƒ ƒ } |  j | ƒ } t | d j | d j ƒ t | d j | d	 j ƒ t | d
 j | d j ƒ t | d d  … d d f j | d d  … d d f j ƒ t | d d d d  … f j | d d d d  … f j ƒ t | d j | d j j d ƒ ƒ d  S(   Ni2   i   i
   .i   (   ..(   ..(   ...(   ...(   i   ..(   i   ..(   ..i   (   ..i   (   i   i   (   R
   R   RF  R‘   R   RĞ   (   R9   RÒ   R=   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_multiple_ellipsis_slicingv	  s    99(   R@   RA   R  R	  R
  R  R  R  R  R  R   R   R0   R8   R™  R  (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR  º  s   						-	4	t   _TestSlicingAssignc           B` s>   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c      
   C` sé   t  j ƒ  × t  j d d t ƒ|  j d
 ƒ } t j d ƒ } x‹ | | g D]} } d | d d … d f <d | d d … d f <d | d d … d f <d | d d d  … f <d | d d  d	 … d d  … f <qK Wt | j ƒ  | ƒ Wd  QXd  S(   NRC   R¬   i   i   i    i   i   i	   iÿÿÿÿ(   i   i   (   i   i   (	   R°   R±   R²   R(   R‘   R8   R   R   RÁ   (   R9   RĞ   RH  R5  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_slice_scalar_assign†	  s    #c      	   ` s½   d
 \ ‰ ‰  ‡  ‡ ‡ f d †  } x• d t  d ƒ f d t  d  d d ƒ f d t  d d ƒ f t d ƒ t  d d ƒ f g D]? \ } } t j ƒ  % t j d d	 t ƒ| | | ƒ Wd  QXqv Wd  S(   Ni   i
   c         ` sw   d |  | f } ˆ j  ˆ ˆ  f ƒ } d | |  | f <t j ˆ ˆ  f ƒ } d | |  | f <t | j ƒ  | d | ƒd  S(   Ns
   i=%r; j=%ri   Rì   (   R‘   R8   R   R   R}   (   Ré   Rê   R3   RĞ   RH  (   RÖ   Rè   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR   –	  s    i   i   i   işÿÿÿRC   R¬   (   i   i
   (   R  R4   R   R°   R±   R²   R(   (   R9   R   Ré   Rê   (    (   RÖ   Rè   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_slice_assign_2“	  s    9(c      
   C` s  t  j ƒ  ‹t  j d d t ƒ|  j d ƒ } d | d <d | d <d | d <d	 | d <| d	 } | d d  d  … f | d d  d  … f <t | d d  d  … f j | d d  d  … f j ƒ t | j | j ƒ | d	 } | d  d … d  d … f | d  d  … d  d  … f <t t	 j
 d ƒ | d | j ƒ | d	 } | d d  d  … f j | d  d
 … d f <t | d d  d  … f j j | d  d
 … d f j ƒ Wd  QXd  S(   NRC   R¬   i   i   i   i    i   i   i
   iÿÿÿÿ(   i   i   (   i    i    (   i   i   (   i   i   (   i   i    (   i   i   (   i    i    (   R°   R±   R²   R(   R‘   R   RĞ   R   R¾   R8   R   RÂ   (   R9   RH  RĞ   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_self_self_assignment¤	  s"    




&3
2!
)c         C` s/  t  j ƒ  t  j d d t ƒ|  j d ƒ } d | d <d | d <d	 | d <t d
 d d g d d d g d d d g d d d g g ƒ } | | | d  d  … d  d  … f <t | j ƒ  | ƒ d d g d d g g } t t | ƒ ƒ | d  d … d  d … f <t | j ƒ  d  d … d  d … f | ƒ Wd  QXd  S(   NRC   R¬   i   i   i   i    i   i   i   i
   i   i   (   i   i   (   i    i    (   i   i   (   i   i   (	   R°   R±   R²   R(   R‘   R   R   R}   R   (   R9   RH  RÃ   t   block(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_slice_assignment¼	  s    


 (c         C` sÉ   t  j ƒ  · t  j d d t ƒ|  j d ƒ } d | d <d | d <d	 | d <d
 | d <t d d d g d d d g d d d g d
 d d g g ƒ } t t j d ƒ ƒ | d *t	 | j
 ƒ  | ƒ Wd  QXd  S(   NRC   R¬   i   i   i   i    i   i   i   i
   (   i   i   (   i    i    (   i   i   (   i   i   (   i   i    (   R°   R±   R²   R(   R‘   R   R    R8   R&   R   RÁ   (   R9   RH  RÃ   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt"   test_sparsity_modifying_assignmentĞ	  s    



<c   	      C` s(  t  j ƒ  t  j d d t ƒ|  j d ƒ } t t d t ƒ ƒ } t j	 } | d  | d d !| d | d d  d … | d d d	 … | d
 d  d … | d  d d	 … d d | | d d !d	 d d t
 d	 ƒ t j d ƒ g } xJ t | ƒ D]< \ } } | | | <| | | <t | j ƒ  | t | ƒ ƒ qê Wx™ t | ƒ D]‹ \ } } x| t | ƒ D]n \ } } d | d | d | | | f <d | d | d | | | f <t | j ƒ  | t | | f ƒ ƒ qPWq7Wt d d d ƒ | d d d d … f <t d d d ƒ | d d d d … f <t | j ƒ  | ƒ t j
 t d d d ƒ ƒ d  d  … d  f | d d d … d f <t j
 t d d d ƒ ƒ d  d  … d  f | d d d … d f <t | j ƒ  | ƒ t t | j d t t d ƒ ƒ ƒ t t | j d t d ƒ ƒ t t | j d t d  ƒ f t t d ƒ ƒ ƒ t t | j t d  ƒ d f t t d ƒ ƒ ƒ t t | j t d  ƒ d f | j ƒ  ƒ t t | j d d d g d d d
 g g d d d g f d d d d
 g ƒ t t | j d d d g d d d
 g d
 d d g g d d d
 g d d d g g f d d d
 g ƒ Wd  QXd  S(   NRC   R¬   i   i
   i   i   i   i   iÿÿÿÿi   işÿÿÿi    iûÿÿÿiıÿÿÿiè  id   (   i   i
   (   i   i
   (   i    i    (   i    i    (   R°   R±   R²   R(   R‘   R	   R   R!  R8   R  R   R   R  R   R}   RÆ   R   R¡   R4   R   Rš   Rü  t   listR   R  R¤   (	   R9   RĞ   RH  R  R  Rê   R=   Ré   RÒ   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_set_sliceİ	  sH    	(0

   *%%>>"(='(   R@   RA   R  R  R  R  R   R"  (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR  …	  s   					t   _TestFancyIndexingc           B` sV   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(	   s†   Tests fancy indexing features.  The tests for any matrix formats
    that implement these features should derive from this class.
    c         C` s   |  j  t j d d g ƒ ƒ } t t t t f | j d ƒ t t t t f | j d ƒ t t t f | j d d d g d d d d g f ƒ d  S(   Ni   t   fooi   i   i   i   (   i   R$  (   R‘   R8   R   R   Rø  Rš   R  Rù  (   R9   RĞ   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_bad_index
  s
    c         C` s}  t  t d ƒ j d d ƒ ƒ } |  j | ƒ } t | d d g j ƒ  | d d g ƒ t | d d d g f j ƒ  | d d d g f ƒ t | d d d g f j ƒ  | d d d g f ƒ t | t d ƒ d d g f j ƒ  | d d d g f ƒ t | d t d d g ƒ f j ƒ  | d d d g f ƒ t | t d ƒ t d d g ƒ f j ƒ  | d d d g f ƒ t | d  d  … d d	 d d g f j ƒ  | d  d  … d d	 d d g f ƒ t | d d
 … d g f j ƒ  | d d
 … d g f ƒ t | d d
 … d d g f j ƒ  | d d
 … d d g f ƒ t | d d
 … t d d g ƒ f j ƒ  | d d
 … d d g f ƒ t | d d g d f j ƒ  | d d g d f ƒ t | d d g d f j ƒ  | d d g d f ƒ t | t d d g ƒ d f j ƒ  | d d g d f ƒ t | d d g t d ƒ f j ƒ  | d d g d f ƒ t | t d d g ƒ t d ƒ f j ƒ  | d d g d f ƒ t | d d g d  d  … f j ƒ  | d d g d  d  … f ƒ t | d d g d	 d … f j ƒ  | d d g d	 d … f ƒ t | t d d g ƒ d	 d … f j ƒ  | d d g d	 d … f ƒ t t | d d g d d
 g f ƒ | d d g d d
 g f ƒ t t | d d g d d g f ƒ | d d g d d g f ƒ t t | t d d g ƒ d d g f ƒ | d d g d d g f ƒ t t | d d g t d d g ƒ f ƒ | d d g d d g f ƒ t t | t d d g ƒ t d d g ƒ f ƒ | d d g d d g f ƒ t | d g d g g d d
 g f j ƒ  | d g d g g d d
 g f ƒ t | d g d g d g g d d g f j ƒ  | d g d g d g g d d g f ƒ t | t d g d g d g g ƒ d d g f j ƒ  | d g d g d g g d d g f ƒ t | d g d g d g g t d d g ƒ f j ƒ  | d g d g d g g d d g f ƒ t | t d g d g d g g ƒ t d d g ƒ f j ƒ  | d g d g d g g d d g f ƒ t | d d g j ƒ  | d d g ƒ t | d d g j ƒ  | d d g ƒ t | t d d g ƒ j ƒ  | d d g ƒ t | d d g d  d  … f d  d  … d d
 g f j ƒ  | d d g d  d  … f d  d  … d d
 g f ƒ t | d d g d  d  … f d  d  … d d g f j ƒ  | d d g d  d  … f d  d  … d d g f ƒ t | t d d g ƒ d  d  … f d  d  … t d d g ƒ f j ƒ  | d d g d  d  … f d  d  … d d g f ƒ t | d  d  … d d g f d d
 g d  d  … f j ƒ  | d  d  … d d g f d d
 g d  d  … f ƒ t | d  d  … d d g f d d g d  d  … f j ƒ  | d  d  … d d g f d d g d  d  … f ƒ t | d  d  … t d d g ƒ f t d d g ƒ d  d  … f j ƒ  | d  d  … d d g f d d g d  d  … f ƒ t t d ƒ t d
 ƒ d  ƒ } t | | d  d  … f j ƒ  | d d
 … d  d  … f ƒ t | d  d  … | f j ƒ  | d  d  … d d
 … f ƒ t
 j d g g d t ƒ} t | | | f j ƒ  | | | f ƒ t | g  g g  g f j ƒ  | g  g g  g f ƒ d  S(   Ni2   i   i
   i   i   iÿÿÿÿi   iûÿÿÿi   i   i	   iüÿÿÿiıÿÿÿişÿÿÿRR   (   R
   R   RF  R‘   R   R}   R   R  R   R4   R8   Rí   (   R9   RH  RĞ   R  Ré   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_fancy_indexing
  sZ    '3399?K9?E3399???E??EEKKW]]c''-kkwkkw99'c         C` s3  t  j j d ƒ d } d } d } t  j t  j j | | ƒ ƒ } t  j | | d k ƒ } t  j j | d | d | ƒ} t  j j | d | d | ƒ} |  j | ƒ } | | | f } t | ƒ rÒ | j	 ƒ  } n  t
 | | | | f ƒ | | }	 | | }
 t t | j |	 | f ƒ t t | j | |
 f ƒ d  S(   NiÒ  i2   i   i   g      à?i   RS   (   R8   Rx   RN   R
   R
  RS  RP   R‘   R'   R}   R   R   Rø  Rù  (   R9   t   NUM_SAMPLESR#  R'  Rß   t   IR\  R2  t   SIJt   I_badt   J_bad(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_fancy_indexing_randomized`
  s"      

c   	      C` ss  t  j j d ƒ t t d ƒ j d d ƒ ƒ } |  j | ƒ } t  j t  j j d d d d ƒd t	 ƒ} t  j t  j j d d d d ƒd t	 ƒ} t  j t  j j d d d d ƒd t	 ƒ} t
 t | | ƒ | | ƒ t
 t | d  d  … | f ƒ | d  d  … | f ƒ t
 t | | ƒ | | ƒ t
 t | | d	 k ƒ | | d	 k ƒ t  j t t t t t g ƒ } t  j t t t t t t t t t t g
 ƒ } t
 t | | | f ƒ | | | f ƒ t  j d d t	 ƒ} t  j d d t	 ƒ} t | d <t  j d d t	 ƒ} t | d <t
 | | t  j g  ƒ ƒ t t | j | ƒ t t | j | ƒ t t t f | j | d f ƒ d  S(   NiÒ  i2   i   i
   i    i   RS   RR   i	   i   i   iÿÿÿÿi   (   i   i
   (   i   i   (   i   i   (   i    iÿÿÿÿ(   i   i   (   iÿÿÿÿi    (   R8   Rx   RN   R
   R   RF  R‘   R   RP   R›   R   R}   R;   Rw   R   R   Rø  Rù  Rš   (	   R9   RH  RĞ   R(  R\  R  t   Z1t   Z2t   Z3(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_fancy_indexing_booleanz
  s.    ***3''

c   	      C` sj  t  j j d ƒ t t d ƒ j d d ƒ ƒ } |  j | ƒ } t  j t  j j d d d d ƒd t	 ƒ} t
 | ƒ } t t | | ƒ | | ƒ t t | | d	 k ƒ | | d	 k ƒ t  j t  j j d d d d ƒd t	 ƒ} t  j t  j j d d d d ƒd t	 ƒ} t
 | ƒ } t
 | ƒ } t t | j | ƒ t t | j | ƒ t t t f | j | d f ƒ d  S(   NiÒ  i2   i   i
   i    i   RS   RR   i	   i   i   i   (   i   i
   (   i   i   (   i   i
   (   R8   Rx   RN   R
   R   RF  R‘   R   RP   R›   R    R   R}   R   Rø  Rù  Rš   (	   R9   RH  RĞ   R  t   Xspt   ZR‘  t   Zspt   Ysp(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt"   test_fancy_indexing_sparse_booleanš
  s    *'**c         C` s–   |  j  t d d d g d d d g d d d g g ƒ ƒ } t j | j d ƒ ƒ d k } t | d  d  … | f j d d g d d g d d g g ƒ d  S(   Ni   i    (   R‘   R   R8   t   ravelR  R   RĞ   (   R9   R   t   desired_cols(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt#   test_fancy_indexing_regression_3087±
  s    9c         C` sP   |  j  t d d g d d g g ƒ ƒ } t t | j d t j d d g ƒ ƒ d  S(   Ni   i    i   (   i    i    (   R‘   R   R   Rš   Rü  R8   (   R9   R   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_fancy_indexing_seq_assign¶
  s    'c         C` sy  t  t d ƒ j d d ƒ ƒ } d | d d  d  … f <d | d  d  … d f <d | d <|  j | ƒ } t j t t t t t g ƒ } t t | | ƒ | | ƒ t j g  d	 t	 ƒ} t t | | ƒ | | ƒ t t | | | f ƒ | | | f ƒ t j d d d d d
 g d	 t	 ƒd  d  … d  f } t t | | | f ƒ | | | f ƒ t t | | | f ƒ | | | f ƒ d  S(   Ni2   i   i
   i    i   i   i   i   RR   i   (   i   i   (   R
   R   RF  R‘   R8   R   Rw   R   R}   Rí   R4   (   R9   RH  RĞ   R]  R\  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_fancy_indexing_emptyº
  s    
'4'(   R@   RA   Ré  R%  R&  R,  R0  R5  R8  R9  R:  (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR#  

  s   		J		 			c         c` sa   t  |  d ƒ s |  j r# d Vd Sd V|  j j ƒ  } t |  _ |  j ƒ  t | |  j d ƒ d S(   sI   Checks that sorted indices property is retained through an operation
    t   has_sorted_indicesNs'   Expected sorted indices, found unsorted(   t   hasattrR;  t   indicesR¤   Rw   t   sort_indicesR   (   R  R=  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   check_remains_sortedË
  s    	
t   _TestFancyIndexingAssignc           B` s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c      	   C` s†   t  j ƒ  t t  j d d t ƒ|  j t j d d g ƒ ƒ } t t t	 t
 f | j d d ƒ t t t	 t
 f | j d d ƒ Wd  QXd  S(   NRC   R¬   i   R$  i   (   i   s   foo(   R°   R±   R²   R(   R‘   R8   R   R   Rø  Rš   R  Rü  (   R9   RĞ   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_bad_index_assignÛ
  s
    c      
   ` s  d \ ‰ ‰  ‡  ‡ ‡ f d †  } t  j ƒ  Ï t  j d d t ƒxl d t d  d d ƒ f t j d ƒ t d d	 ƒ f t d d ƒ t d d	 ƒ f g D] \ } } | | | ƒ q“ WxE t j d ƒ t j d ƒ f d d f g D] \ } } | | | ƒ qÛ WWd  QXd  S(   Ni   i
   c         ` sz   ˆ j  ˆ ˆ  f ƒ } t | ƒ  d | |  | f <Wd  QXt t j ˆ ˆ  f ƒ ƒ } d | |  | f <t | j ƒ  | ƒ d  S(   Ni   (   R‘   R?  R
   R8   R   R   R}   (   Ré   Rê   RĞ   RH  (   RÖ   Rè   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   _test_set_sliceå
  s    RC   R¬   i   i   i   işÿÿÿi    i   (   i   i
   (   i   i   i   (   i    i   i   (   i   i   i   (   R°   R±   R²   R(   R  R4   R8   R   (   R9   RB  Ré   Rê   (    (   RÖ   Rè   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_fancy_indexing_setâ
  s    +7c         #` s8   ‡  f d †  } x" t  D] } | t j | ƒ f Vq Wd  S(   Nc         ` sã   ˆ  j  d d |  ƒ} |  j d ƒ | d d g d d g f <t | j ƒ  |  j d ƒ d ƒ |  j d ƒ | d d … d d … f <t | j ƒ  |  j d ƒ d ƒ |  j d ƒ | d	 <t | j ƒ  |  j d ƒ d |  j d ƒ ƒ d  S(
   Ni   RR   i   i    i   g      ğ?i   (   i   i   (   i   i   (   R‘   R…  R   R  (   RR   RĞ   (   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   ÷
  s    % % (   R*   R8   RR   (   R9   Rœ   RR   (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_fancy_assignment_dtypesö
  s    	c         C` sî  t  j ƒ  Üt  j d d t ƒ|  j d ƒ } |  j t d d ƒ ƒ } d d d g } d } t | ƒ } t | ƒ \ | | d f j | d | f <| | d f j | d | f <| | d f j | d | f <Wd  QXt	 | j
 ƒ  | j j
 ƒ  ƒ |  j d ƒ } t | ƒ ! d d	 g | d d d … f <Wd  QXt	 | j
 ƒ  d d d g d d d	 g g ƒ |  j d ƒ } t | ƒ ' d g d	 g g | d d … d f <Wd  QXt	 | j
 ƒ  d d g d d g d d	 g g ƒ |  j d ƒ } t t j d ƒ ƒ } t | ƒ G x? | | g D]1 } d d
 d g | d d d g d d d g f <qWWd  QXt	 | j ƒ  | ƒ |  j d ƒ } t | ƒ  d d d g | d d f <Wd  QXt | j ƒ  d ƒ t t j d ƒ ƒ } d d d g | d d f <t	 | j
 ƒ  | ƒ Wd  QXd  S(   NRC   R¬   i   i   i    i   i   i
   i   i   i   (   i   i   (   i    i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   i   (   i    i   i   (   i   i   (   i   i   i   (   i    i   i   (   R°   R±   R²   R(   R‘   R&   R   R?  RÂ   R   R}   R
   R8   R   RÁ   R   R  (   R9   RĞ   RH  t   i0t   i1t   i2R5  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_sequence_assignment  sB    #"+(.5c         C` sq  t  t d ƒ j d d ƒ ƒ } d | d d  d  … f <d | d  d  … d f <d | d <|  j | ƒ } t j t t t t t g ƒ } d	 | | <t t | ƒ | ƒ t j g  d
 t	 ƒ} d	 | | <t t | ƒ | ƒ d	 | | | f <t t | ƒ | ƒ t j d d d d d g d
 t	 ƒd  d  … d  f } d	 | | | f <t t | ƒ | ƒ d	 | | | f <t t | ƒ | ƒ d  S(   Ni2   i   i
   i    i   i   i   i   i*   RR   i   (   i   i   (   R
   R   RF  R‘   R8   R   Rw   R   R}   Rí   R4   (   R9   RH  RĞ   R]  R\  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_fancy_assign_empty0  s$    


4(   R@   RA   RA  RC  RD  RH  RI  (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR@  Ú
  s
   				-t   _TestFancyMultidimc           B` s   e  Z d  „  Z RS(   c   	   
   C` sY  t  j d g d g d g g ƒ t  j d d d g ƒ f t  j d g d g d g g ƒ t  j d d d g g ƒ f t  j d d d g g ƒ t  j d g d g d g g ƒ f t  j d d d g ƒ t  j d g d g d g g ƒ f t  j d d d g d d d g g ƒ t  j d d d g d d d g g ƒ f g } x#| D]\ } } t  j j d ƒ t  j t  j j d d ƒ ƒ } |  j | ƒ } | | | f } t | ƒ rª| j ƒ  } n  t	 | | | | f ƒ | d } | d } t
 t | j | | f ƒ t
 t | j | | f ƒ t
 t | j | | g t d  ƒ f ƒ t
 t | j t d  ƒ | | g f ƒ q6Wd  S(	   Ni   i   i   i   i   i   iÒ  i   (   R8   R   Rx   RN   R
   R
  R‘   R'   R}   R   R   Rø  Rù  R  R4   (	   R9   t   setsR(  R\  Rß   R2  R)  R*  R+  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_fancy_indexing_ndarrayI  s(    6996$-

%(   R@   RA   RL  (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRJ  H  s   t   _TestFancyMultidimAssignc           B` s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c   	   
   C` sÑ  t  j j d ƒ t  j t  j j d d ƒ ƒ } |  j | ƒ } t  j j d d ƒ } t  j d d d g d d d g g ƒ } t  j d d d g d d d g g ƒ } t | ƒ  | | | | f <Wd  QX| | | | f <t | j	 ƒ  | ƒ | d } | d } d d d g } t | ƒ  | | | | f <Wd  QX| | | | f <t | j	 ƒ  | ƒ t | ƒ  d | | | f <Wd  QXd | | | f <t | j	 ƒ  | ƒ t
 t | j | | f | ƒ t
 t | j | | f | ƒ d  S(	   NiÒ  i   i   i   i   i   i   i   (   R8   Rx   RN   R
   R
  R‘   R   R?  R   R}   R   Rø  Rü  (	   R9   Rß   R2  R  R(  R\  R*  R+  R5  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_fancy_assign_ndarrayl  s.    ''

c         ` sü   d \ ‰ ‰  ‡  ‡ ‡ f d †  } t  j ƒ  É t  j d d t ƒx® t j d d g d d g g ƒ d d g f t j d	 d
 g ƒ d	 d g d d g g f d d d g d	 d d
 g g d	 d
 d g d
 d d g g f g D] \ } } | | | ƒ qÕ WWd  QXd  S(   Ni   i
   c         ` sz   ˆ j  ˆ ˆ  f ƒ } t | ƒ  d | |  | f <Wd  QXt t j ˆ ˆ  f ƒ ƒ } d | |  | f <t | j ƒ  | ƒ d  S(   Ni   (   R‘   R?  R
   R8   R   R   R}   (   Ré   Rê   RĞ   RH  (   RÖ   Rè   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRB    s    RC   R¬   i   i   i   i    i   (   i   i
   (   R°   R±   R²   R(   R8   R   (   R9   RB  Ré   Rê   (    (   RÖ   Rè   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt    test_fancy_indexing_multidim_set  s    -*Ic         C` sÒ  t  j j d ƒ t  j t  j j d d ƒ ƒ } |  j | ƒ } t  j j d d ƒ } d d d g d d d g g } d d d g d d d g g } | | | | f <| | | | f <t | j ƒ  | ƒ g  | D]# } g  | D] } | d ^ qÕ ^ qÈ } g  | D]# }	 g  |	 D] }
 |
 d ^ q^ qø } d d d g } | | | | f <| | | | f <t | j ƒ  | ƒ d | | | f <d | | | f <t | j ƒ  | ƒ t t	 | j
 | | f | ƒ t t	 | j
 | | f | ƒ d  S(	   NiÒ  i   i   i   i   i   i   i   (   R8   Rx   RN   R
   R
  R‘   R   R}   R   Rø  Rü  (   R9   Rß   R2  R  R(  R\  Ré   t   iiR*  Rê   t   jjR+  R5  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_fancy_assign_listŸ  s(    00c         C` s<  t  j j d ƒ t  j t  j j d d ƒ ƒ } |  j | ƒ } d d d g d d d g g } d d d g d d d g g } g  | D]# } g  | D] } | d ^ q ^ q€ } g  | D]# } g  | D] }	 |	 d ^ q½ ^ q° }
 d d d d d d d g } t t | j | t	 d  ƒ f | ƒ t t | j t	 d  ƒ |
 f | ƒ d  S(	   NiÒ  i   i   i   i   i   i   i   (   R8   Rx   RN   R
   R
  R‘   R   Rø  Rü  R  R4   (   R9   Rß   R2  R(  R\  Ré   RP  R*  Rê   RQ  R+  R5  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_fancy_assign_slice¼  s    00"(   R@   RA   RN  RO  RR  RS  (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRM  k  s   	!		t   _TestArithmeticc           B` s)   e  Z d  Z d „  Z d „  Z d „  Z RS(   s&   
    Test real/complex arithmetic
    c      
   C` sÛ  t  d d d d d d g d d d d d d g d d d d	 d d g d d d
 d d d g g d ƒ |  _ t  d d d d d d g d d d d d d g d d d d d d g d d d d d d g g d ƒ |  _ t  d d d d d d g d d d d d d g d d d d d d g d d d d d d g g d ƒ |  j _ t |  j d j d ƒ d |  j ƒ t |  j j d j d ƒ d |  j j ƒ t |  j j d j d ƒ d |  j j ƒ |  j |  j ƒ |  _ |  j |  j ƒ |  _	 d  S(   Ng      ø¿g      @i    g      @g      	@g     €Àg      ä?g      À¿g      ğ?g     À @R™   g      Ø?iûÿÿÿg      @g     €,@g      Àg      @g     €2@g      °¿RÌ   g      ô?i   g      Àg     €@g      @i   RF   (
   R	   t   _TestArithmetic__At   _TestArithmetic__BRá   R   R[   RŞ   R‘   t   _TestArithmetic__Aspt   _TestArithmetic__Bsp(   R9   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   __arith_initÑ  s"    $$'$**c   	      C` s´  |  j  ƒ  t |  j |  j j ƒ  |  j |  j ƒ x|t D]t} |  j j | ƒ } |  j	 | ƒ } xJt D]B} t
 j | t
 j ƒ s™ |  j j j | ƒ } n |  j j | ƒ } |  j	 | ƒ } | | } | | } t | j | j ƒ t | j ƒ  | ƒ t | | | ƒ t | | | ƒ t
 j d ƒ | | g k rLt t
 j ƒ d k rLqf n  | | } | | } t | j | j ƒ t | j ƒ  | ƒ t | | | ƒ t | | | ƒ qf Wq8 Wd  S(   NR›   s	   1.9.0.dev(   t   _TestArithmetic__arith_initR   RW  RX  R}   RU  RV  R*   R[   R‘   R8   RT   R  RŞ   R   RR   R0   R™  (	   R9   RD  RĞ   Rú   R  RH  RT  t   D1t   S1(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_add_subè  s2    
'



c   	   	   C` s"  |  j  ƒ  t |  j |  j j j ƒ  |  j |  j j ƒ xä t D]Ü } |  j j	 | ƒ } |  j
 | ƒ } x² t D]ª } t j | t j ƒ rœ |  j j	 | ƒ } n |  j j j	 | ƒ } |  j
 | ƒ } | | j } | | j } t | j ƒ  | d d t | ƒ j ƒ  ƒt | j | j ƒ ql Wq> Wd  S(   NRÖ  g›+¡†›„=(   RZ  R   RW  RX  RÂ   R}   RU  RV  R*   R[   R‘   R8   RT   R  RŞ   R   RØ   RE   R   RR   (	   R9   RD  RĞ   Rú   R  RH  RT  R[  R\  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_mu  s    
-(   R@   RA   Ré  RZ  R]  R^  (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRT  Í  s   		(t   _TestMinMaxc           B` s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C` sÍ  x,t  j t  j t  j t  j t  j g D]} t  j d d | ƒj d d ƒ } |  j | ƒ } t	 | j
 ƒ  d ƒ t	 | j ƒ  d ƒ t	 | j
 ƒ  j | ƒ t	 | j ƒ  j | ƒ | d 9} |  j | ƒ } t	 | j
 ƒ  d ƒ t	 | j ƒ  d ƒ | d 7} |  j | ƒ } t	 | j
 ƒ  d	 ƒ t	 | j ƒ  d ƒ q% W|  j t  j d
 d ƒ j d d ƒ ƒ } t	 | j
 ƒ  d
 ƒ t	 | j
 ƒ  j | j ƒ | } t	 | j ƒ  d ƒ |  j t  j d
 ƒ ƒ } t	 | j
 ƒ  d ƒ t	 | j ƒ  d ƒ t	 | j ƒ  j | j ƒ t  j d d t ƒj d d ƒ } d | d d … d  d  … f <|  j | ƒ } t	 | j
 ƒ  d ƒ t	 | j ƒ  d ƒ xa t  j d ƒ t  j d ƒ t  j d ƒ g D]5 } |  j | ƒ } t t | j
 ƒ t t | j ƒ qWd  S(   Ni   RR   i   i   i    i   iÿÿÿÿiíÿÿÿiòÿÿÿi   i
   i   i   (   i    i    (   i    i
   (   i
   i    (   R8   RÊ   R™   RF   RO   RÌ   R   RF  R‘   R   RV   RE   RR   R   R!  R   Rš   (   R9   RR   Rß   R  R2  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_minmax)  sB    +!

'!1c         C` sŸ  t  j t  j d ƒ j d d ƒ ƒ } d | d d  d  … f <d | d  d  … d f <d | d <d | d <|  j | ƒ } d
 d d d g } xd | D]\ } t | j d | ƒ j | j d | ƒ j ƒ t | j d | ƒ j | j d | ƒ j ƒ qŒ Wt  j t  j d d ƒ j d d ƒ ƒ } |  j | ƒ } xd | D]\ } t | j d | ƒ j | j d | ƒ j ƒ t | j d | ƒ j | j d | ƒ j ƒ q)Wt  j t  j	 d ƒ ƒ } |  j | ƒ } xd | D]\ } t | j d | ƒ j | j d | ƒ j ƒ t | j d | ƒ j | j d | ƒ j ƒ q·Wd d
 g } d d g } t  j	 d ƒ } |  j | ƒ } x: | D]2 } t
 t | j d | ƒt
 t | j d | ƒqTWxX | D]P } t t  j	 d ƒ | j d | ƒ j ƒ t t  j	 d ƒ | j d | ƒ j ƒ q‘Wt  j	 d ƒ } |  j | ƒ } x: | D]2 } t
 t | j d | ƒt
 t | j d | ƒq
WxX | D]P } t t  j	 d ƒ | j d | ƒ j ƒ t t  j	 d ƒ | j d | ƒ j ƒ qGWd  S(   Ni2   i   i
   i    i   i	   i   iÿÿÿÿi   işÿÿÿR  i3   (   i   i   (   i   i   (   i
   i   (   i    i
   (   i    i   (   i    i   (   i
   i    (   i   i    (   i   i    (   R8   R	   R   RF  R‘   R   RE   RĞ   RV   R   R   Rš   (   R9   Rß   R  R“  R  t	   axes_event   axes_odd(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_minmax_axisX  sL    $

+/'+/+/%)%c         C` s¸   t  j d d d g d d d g d d d	 g g ƒ } |  j | ƒ } xo d D]g } t | | ƒ } t t | d d ƒt t | d d ƒt t | d d ƒt t | d d d d ƒqI Wd  S(   Ni    i   i   i   iüÿÿÿi   iúÿÿÿi   i	   RV   RE   R  g      ø?R  (   s   mins   max(   i    i   (   R8   R	   R‘   Rm   R   Rš   R  (   R9   R   R’   t   fnameRo   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_minmax_invalid_params  s    c         C` s©   d d l  m } t j d d d g d d d g d d	 d
 g g ƒ } |  j | ƒ } t | | j ƒ r¥ t t j | ƒ t j | ƒ ƒ t t j	 | ƒ t j	 | ƒ ƒ n  d  S(   Ni    (   t   datai   i   i   iüÿÿÿi   iúÿÿÿi   i	   (
   t   scipy.sparseRf  R8   R	   R‘   R|   t   _minmax_mixinR   RV   RE   (   R9   Rf  R   R’   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_numpy_minmaxš  s    c      	   C` sc  t  j d d d d g d d d d g d d d d g d	 d d d
 g d	 d d d g g ƒ } | j ƒ  } x4| | g D]&} t | ƒ } t | j ƒ  t  j | ƒ ƒ t | j ƒ  t  j | ƒ ƒ t | j d d ƒ t  j t  j | d d ƒƒ ƒ t | j d d ƒ t  j t  j | d d ƒƒ ƒ t | j d d	 ƒ t  j t  j | d d	 ƒj d d	 ƒ ƒ ƒ t | j d d	 ƒ t  j t  j | d d	 ƒj d d	 ƒ ƒ ƒ qs Wt  j	 d ƒ } t  j	 d ƒ } xO d  d g D]A } |  j | ƒ } t t | j d | ƒt t | j d | ƒqÈWxO d  d	 g D]A } |  j | ƒ } t t | j d | ƒt t | j d | ƒqWd  S(   Niÿÿÿÿi   i   i   i    işÿÿÿiıÿÿÿiüÿÿÿi   i   R  (   i    i   (   i   i    (   R8   R   R   R    R   t   argmaxt   argminR
   RF  R”  R4   R‘   R   Rš   (   R9   R[  t   D2Rß   R   R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_argmax¬  s:    +/(   R@   RA   R`  Rc  Re  Ri  Rm  (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR_  (  s
   	/	5		t   _TestGetNnzAxisc           B` s   e  Z d  „  Z RS(   c         C` s¹  t  j d d g d d g d d g g ƒ } | j t ƒ j } |  j | ƒ } t  j t  j f } t | j	 d d  ƒ | j d d  ƒ ƒ t | j	 ƒ  | j ƒ  ƒ t | j	 d d ƒ | j d d ƒ ƒ t | j d d ƒ j | ƒ t | j	 d d ƒ | j d d ƒ ƒ t | j d d ƒ j | ƒ t | j	 d d	 ƒ | j d d	 ƒ ƒ t | j d d	 ƒ j | ƒ t | j	 d d
 ƒ | j d d
 ƒ ƒ t | j d d
 ƒ j | ƒ t t | j d d ƒd  S(   Ni    i   i   i   iúÿÿÿi	   R  i   işÿÿÿiÿÿÿÿ(   R8   R	   R[   R›   RĞ   R‘   RF   RO   R   R  R4   t   getnnzR2   RR   R   Rš   (   R9   R   t   bool_datR’   t   accepted_return_dtypes(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_getnnz_axisÕ  s"    	%%%%%(   R@   RA   Rr  (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRn  Ô  s   c         C` s‚   | r
 |  Sd „  } t  |  j ƒ } x? |  j j ƒ  D]. \ } } | j d ƒ r2 | | ƒ | | <q2 q2 Wt |  j d |  j | ƒ Sd S(   s   
    Construct a class that either runs tests as usual (require=True),
    or each method raises SkipTest if it encounters a common error.
    c         ` s   ‡  f d †  } ˆ  j  | _  | S(   Nc       	   ` sG   y ˆ  |  |   SWn/ t  t t t t f k
 rB t j d ƒ ‚ n Xd  S(   Ns   feature not implemented(   RÚ   R  Rš   Rø  t   AttributeErrorRx  Ry  (   R=   Rp   (   t   fc(    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   wrapperù  s
    
(   R@   (   Rt  Ru  (    (   Rt  s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   wrapø  s    t   test_t   NotImplementedN(   Râ  t   __dict__t   itemst
   startswithR…  R@   t	   __bases__(   t   clst   requireRv  t   new_dictRt   Ro   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   _possibly_unimplementedğ  s    	c	         C` s!  t  t t |  ƒ t t t t t | ƒ t t | ƒ t t | ƒ t t	 | ƒ t t
 | oW | ƒ t t | oi | ƒ t t | ƒ t t | ƒ f }	 i  }
 x~ |	 D]v } xm | j D]b } | j d ƒ sÂ q§ n  |
 j | ƒ } | d k	 rÿ t d | j | | j f ƒ ‚ n  | |
 | <q§ Wq— Wt d |	 i  ƒ S(   sˆ   
    Construct a base class, optionally converting some of the tests in
    the suite to check that the feature is not implemented.
    Rw  s-   Test class %s overloads test %s defined in %st   TestBaseN(   R   R€  R÷  R  Rë  RT  R  R  R#  R@  RJ  RM  R_  Rn  Ry  R{  t   getR4   Rš   R@   R…  (   t   getsett   slicingt   slicing_assignt   fancy_indexingt   fancy_assignt   fancy_multidim_indexingt   fancy_multidim_assignt   minmaxt   nnz_axist   basest   namesR}  Rt   t   old_cls(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   sparse_test_class  s6    R¯   c           B` sª   e  Z e Z e j e j e j e j g Z	 d  „  Z
 d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z RS(   c         C` sÊ   t  d d d g d d d g d d d g g d ƒ } t | ƒ } t | j d d d g ƒ t | j d d d g ƒ t | j d d d d g ƒ t | j ƒ  d ƒ t | j	 ƒ  d ƒ t | j
 ƒ  | ƒ d  S(   Ni    i   i   i   R   i   Re   (   R	   R    R   Rf  R   R=  t   indptrR   Ro  t	   getformatR}   (   R9   RÒ   R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_constructor1<  s    c      	   C` s‡   t  d d ƒ } d | d	 <t | ƒ } t | j d g ƒ t | j d g ƒ t | j d d d d d d d g ƒ t | j ƒ  | ƒ d  S(
   Ni   R   i   i   i   i    i   (   i   i   (   i   i   (   R   R    R   Rf  R   R=  R  R}   (   R9   RÒ   R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_constructor2H  s    
%c         C` s›   t  d d g d d g d d g g d ƒ } t | ƒ } t | j d d d g ƒ t | j d d d g ƒ t | j d d d d g ƒ t | j ƒ  | ƒ d  S(   Ni   i    i   i   R   (   R	   R    R   Rf  R   R=  R  R}   (   R9   RÒ   R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_constructor3Q  s    	c         C` s×   t  d d d d d d d d d d d g ƒ } t  d d d d d d d d d d d g ƒ } t  d d d d d	 d
 d d d d d g ƒ } t | | f ƒ } t | | f d ƒ } t t d ƒ j d d ƒ | j ƒ  ƒ d  S(   Ni   i   i   i    g      @g      $@g      @g      "@g      ğ?g      @g      &@g       @g       @g      @g      @i   i   (   i   i   (   R   R   R    R   R   RF  R}   (   R9   Rq  R{  Rf  Rû   Re   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_constructor4l  s    --c         C` sq   t  d d d d g ƒ } t  d d d d g ƒ } t  d d d d g ƒ } t | | | f ƒ } t | j d ƒ d  S(	   Ni    i   i   i   i   i   i   (   i   i   (   R   R    R   RŠ   (   R9   R  R=  Rf  Re   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_constructor5w  s
    c         C` sx   d d d d g } d d d d g } d d d d g } t  | | | f ƒ } t | j d ƒ t t j | j t ƒ ƒ d  S(	   Ni    i   i   i   i   i   i   (   i   i   (   R    R   RŠ   R   R8   RT   RR   Rí   (   R9   R  R=  Rf  Re   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_constructor6  s    c         C` s©   t  d ƒ } t d d d d d g ƒ } t d d d g ƒ } t | | | f d d
 ƒ} | j ƒ  } | j ƒ  t | j d d d d d g ƒ t | j ƒ  | j ƒ  ƒ d  S(   Ni   i   i   i   i   i    i   RŠ   i
   (   i   i
   (   R   R   R    R¤   R>  R   R=  R}   (   R9   Rf  R=  R  R€  R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_sort_indicesˆ  s    
c      	   C` sÔ   t  d d d d d d d d g ƒ } t  d d d d d d d d	 g ƒ } t  d d d	 g ƒ } t | | | f d
 d ƒ} | j ƒ  } | j ƒ  t | j d ƒ t | j d d d g ƒ t | j ƒ  | j ƒ  ƒ d  S(   Ni   i    i   i   i   i   i   i   i   RŠ   i
   (   i   i
   (   R   R    R¤   t   eliminate_zerosR   R¾   Rf  R}   (   R9   Rf  R=  R  R€  R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_eliminate_zeros’  s    $$
c         C` sù   t  t j d ƒ j d d ƒ d ƒ } xÍ d d d d d	 d
 d d d d d d d d d d d d g D] } t t t  | ƒ t ƒ t | | ƒ ƒ  } t | j | j ƒ t	 | j
 | j
 ƒ t	 | j | j ƒ t	 | j ƒ  t t | ƒ | j ƒ  ƒ ƒ qb Wd  S(   Ni   i   i   g      4@RÁ  RÂ  RÃ  RÄ  RÅ  RÆ  RÇ  RÈ  RÉ  Rº  RÊ  RË  RÌ  RÍ  RÎ  RÏ  RĞ  RÑ  (   R    R8   R   RF  R   R<  R;   Rm   RŠ   R   R=  R  RÁ   (   R9   R  RÕ   R¾  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_ufuncs  s    %c         C` sÜ   t  d ƒ } t d d d d d g ƒ } t d d d g ƒ } t | | | f d d ƒ} t  d
 ƒ } t d d d d d d g ƒ } t d d d
 g ƒ } t | | | f d d ƒ} t | | j ƒ  | j ƒ  | j ƒ  ƒ d  S(   Ni   i   i   i   i   i    i   RŠ   i
   i   i   (   i   i
   (   i   i
   (   R   R   R    R   R}   (   R9   Rf  R=  R  R€  R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_unsorted_arithmetic©  s    c         C` s¼   t  j d g d g d g g ƒ } t  j d d d g ƒ } t  j j d ƒ t  j t  j j d d ƒ ƒ } |  j | ƒ } | | | f } t | ƒ r¡ | j ƒ  } n  t	 | | | | f ƒ d  S(   Ni   i   i   i   iÒ  i   i   (
   R8   R   Rx   RN   R
   R
  R‘   R'   R}   R   (   R9   R(  R\  Rß   R2  R)  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_fancy_indexing_broadcast´  s    !c         C` s6  t  j d d g ƒ } t  j d d g ƒ } t  j d d g ƒ } t  j d d g ƒ } t | | | f ƒ j ƒ  } t t | j ƒ t | | | f ƒ j ƒ  } t t | j ƒ | j ƒ  t t | j ƒ t	 | j
 | ƒ t | | | f ƒ j ƒ  } t | _ t t | j ƒ t	 | j
 | ƒ | j ƒ  t	 | j
 | ƒ d S(   s@   Ensure has_sorted_indices memoizes sorted state for sort_indicesi    i   i   N(   R8   R   R    R¤   R   R;   R;  Rw   R>  R   R=  (   R9   t   sorted_indst   unsorted_indsRf  R  R#  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_has_sorted_indicesÂ  s"    
	
c         C` sT  t  t j d g ƒ t j d g ƒ t j d d g ƒ f ƒ } t t | j ƒ t j d d g ƒ } t j d d g ƒ } t j d d g ƒ } t  | | | f ƒ j ƒ  } t t | j ƒ | j ƒ  t t | j ƒ t d t	 | j
 ƒ ƒ t  | | | f ƒ j ƒ  } t | _ t t | j ƒ t d t	 | j
 ƒ ƒ | j ƒ  t d t	 | j
 ƒ ƒ d S(   s=   Ensure has_canonical_format memoizes state for sum_duplicatesi   i    i   N(   R    R8   R   R   R;   t   has_canonical_formatR¤   Rw   t   sum_duplicatesRŒ   R=  (   R9   R#  R=  Rf  R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_has_canonical_formatİ  s     <
	
c         C` s¬  t  j d d t  j ƒ} t  j d d t  j ƒ} t  j d ƒ } t | | | f d d d f ƒ} t | | | f d d d	 f ƒ} t  j d
 d t  j ƒ} t | | f d d d f ƒ} t | | f d d d f ƒ} t d d f ƒ }	 t d d f ƒ }
 t | j j t  j ƒ t | j j t  j ƒ t | j j t  j ƒ t | j j t  j ƒ t |	 j j t  j ƒ t |
 j j t  j ƒ x( | | | | |	 |
 g D] } | | q–Wd  S(   Ni   RR   i    RŠ   i   i   I   €    iÿÿÿI   €    (   i   i    I   €    iÿÿÿI   €    I   €    iÿÿÿI   €    (   R8   R   RF   R    R   R  RR   RO   (   R9   R  R=  t   valsR=   RÒ   Rû   RÓ   R   RÔ   RÕ   RD  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_scalar_idx_dtypeù  s$    !!(   R@   RA   R    R‘   R8   Rû  Rä  Rª  R«  R•   R’  R“  R”  R•  R–  R—  R˜  Rš  R›  Rœ  R  R   R£  R¥  (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR¯   8  s    									
						R®   c           B` s˜   e  Z e Z e j e j e j e j g Z	 d  „  Z
 d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d	 „  Z d
 „  Z d „  Z RS(   c         C` sÜ   t  d d d d g d d d d g d d d d g g d ƒ } t | ƒ } t | j d d d d g ƒ t | j d d d d g ƒ t | j d d d d d g ƒ t | j ƒ  d ƒ t | j	 | j	 ƒ t | j
 ƒ  d ƒ d  S(   Ni   i    i   i   R   i   Rd   (   R	   R   R   Rf  R   R=  R  R   Ro  RŠ   R‘  (   R9   RÒ   R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR’    s    <c      	   C` st   t  d d ƒ } d | d	 <t | ƒ } t | j d g ƒ t | j d g ƒ t | j d d d d d d d g ƒ d  S(
   Ni   R   i   i   i   i    i   (   i   i   (   i   i   (   R   R   R   Rf  R   R=  R  (   R9   RÒ   R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR“     s    
c         C` s   t  d d g d d g d d g g d ƒ } t | ƒ } t | j d d g ƒ t | j d d g ƒ t | j d d d g ƒ d  S(   Ni   i    i   R   (   R	   R   R   Rf  R   R=  R  (   R9   RÒ   R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR”  (  s
    *c         C` s×   t  d d d d d d d d d d d g ƒ } t  d d d d d d d d d d d g ƒ } t  d d d d d	 d
 d d d d d g ƒ } t | | f ƒ } t | | f d ƒ } t t d ƒ j d d ƒ | j ƒ  ƒ d  S(   Ni   i   i   i    g      @g      $@g      @g      "@g      ğ?g      @g      &@g       @g       @g      @g      @i   i   (   i   i   (   R   R   R   R   R   RF  R}   (   R9   Rq  R{  Rf  Rû   Rd   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR•  /  s    --c         C` sq   t  d d d d g ƒ } t  d d d d g ƒ } t  d d d d g ƒ } t | | | f ƒ } t | j d ƒ d  S(	   Ni    i   i   i   i   i   i   (   i   i   (   R   R   R   RŠ   (   R9   R  R=  Rf  Rd   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR–  :  s
    c         C` sx   d d d d g } d d d d g } d d d d g } t  | | | f ƒ } t | j d ƒ t t j | j t ƒ ƒ d  S(	   Ni    i   i   i   i   i   i   (   i   i   (   R   R   RŠ   R   R8   RT   RR   Rí   (   R9   R  R=  Rf  Rd   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR—  B  s    c      	   C` sÔ   t  d d d d d d d d g ƒ } t  d d d d d d d d	 g ƒ } t  d d d	 g ƒ } t | | | f d
 d ƒ} | j ƒ  } | j ƒ  t | j d ƒ t | j d d d g ƒ t | j ƒ  | j ƒ  ƒ d  S(   Ni   i    i   i   i   i   i   i   i   RŠ   i
   (   i
   i   (   R   R   R¤   R™  R   R¾   Rf  R}   (   R9   Rf  R=  R  R€  R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRš  K  s    $$
c         C` s£   t  d ƒ } t d d d d d g ƒ } d d d g } t | | | f d d
 ƒ} | j ƒ  } | j ƒ  t | j d d d d d g ƒ t | j ƒ  | j ƒ  ƒ d  S(   Ni   i   i   i   i   i    i   RŠ   i
   (   i
   i   (   R   R   R   R¤   R>  R   R=  R}   (   R9   Rf  Rq  t   ptrR€  R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR˜  V  s    
c         C` sù   t  t j d ƒ j d d ƒ d ƒ } xÍ d d d d d	 d
 d d d d d d d d d d d d g D] } t t t | ƒ t ƒ t | | ƒ ƒ  } t | j	 | j	 ƒ t
 | j | j ƒ t
 | j | j ƒ t
 | j ƒ  t t | ƒ | j ƒ  ƒ ƒ qb Wd  S(   Ni   i   i   g      5@RÁ  RÂ  RÃ  RÄ  RÅ  RÆ  RÇ  RÈ  RÉ  Rº  RÊ  RË  RÌ  RÍ  RÎ  RÏ  RĞ  RÑ  (   R   R8   R   RF  R   R<  R    R;   Rm   RŠ   R   R=  R  RÁ   (   R9   R  RÕ   R¾  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR›  `  s    %c         C` sÜ   t  d ƒ } t d d d d d g ƒ } t d d d g ƒ } t | | | f d d ƒ} t  d
 ƒ } t d d d d d d g ƒ } t d d d
 g ƒ } t | | | f d d ƒ} t | | j ƒ  | j ƒ  | j ƒ  ƒ d  S(   Ni   i   i   i   i   i    i   RŠ   i
   i   i   (   i
   i   (   i
   i   (   R   R   R   R   R}   (   R9   Rf  R=  R  R€  R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ  l  s    c         C` s¼   t  j d g d g d g g ƒ } t  j d d d g ƒ } t  j j d ƒ t  j t  j j d d ƒ ƒ } |  j | ƒ } | | | f } t | ƒ r¡ | j ƒ  } n  t	 | | | | f ƒ d  S(   Ni   i   i   i   iÒ  i   i   (
   R8   R   Rx   RN   R
   R
  R‘   R'   R}   R   (   R9   R(  R\  Rß   R2  R)  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR  w  s    !c         C` s”  t  j d d t  j ƒ} t  j d d t  j ƒ} t  j d ƒ } t | | | f d d	 ƒ} t | | | f d d ƒ} t  j d d t  j ƒ} t | | f d d ƒ} t | | f d d ƒ} t d d f ƒ }	 t d d f ƒ }
 t | j j t  j ƒ t | j j t  j ƒ t | j j t  j ƒ t | j j t  j ƒ t |	 j j t  j ƒ t |
 j j t  j ƒ x( | | | | |	 |
 g D] } | | q~Wd  S(   Ni   RR   i    RŠ   i   i   I   €    iÿÿÿ(   iÿÿÿi   I   €    (   I   €    i   (   i   i    I   €    iÿÿÿ(   iÿÿÿi   I   €    (   I   €    i   I   €    iÿÿÿI   €    (	   R8   R   RF   R   R    R   R  RR   RO   (   R9   R  R=  R¤  R=   RÒ   Rû   RÓ   R   RÔ   RÕ   RD  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR¥  …  s$    (   R@   RA   R   R‘   R8   Rû  Rä  Rª  R«  R•   R’  R“  R”  R•  R–  R—  Rš  R˜  R›  Rœ  R  R¥  (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR®     s   	
								
			R   RŠ  R‹  c           B` se   e  Z e Z e j e j e j g Z d  „  Z	 d „  Z
 d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C` sQ   t  d ƒ } d | d <d | d	 <| | j } | | j } t | j | j ƒ d  S(
   Ni
   i    i   i   i   i   (   i
   i
   (   i    i   (   i   i   (   R!   RÂ   R[  R   RĞ   (   R9   RĞ   Rß   RY  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt	   test_mult¢  s    

c      	   C` s¸   t  j ƒ  ¦ t  j d d t ƒ|  j d ƒ } d | d <d | d <| d	 } t d	 d g d	 d	 g d
 d	 g g ƒ } t | j ƒ  | ƒ | d } | d } t | j ƒ  | ƒ Wd  QXd  S(   NRC   R¬   i   i   iöÿÿÿi    i   i   i
   i   y              ğ?(   i   i   (   i    i   (   i   i    (   R°   R±   R²   R(   R‘   R	   R   R}   (   R9   RĞ   RH  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_add_nonzeroª  s    


'

c         C` si   |  j  d	 ƒ } d | d
 <d | d <t | d j ƒ  | j ƒ  d ƒ t | d j ƒ  | j ƒ  d ƒ d  S(   Ni   i   iöÿÿÿi    i   i   y              ğ?i	   (   i   i   (   i    i   (   i   i    (   R‘   R   R}   (   R9   RĞ   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_dok_divide_scalar¸  s
    

!c         C` sY  d	 \ } } t  | | f ƒ } d | d
 <d | d <d | d <d | d <d | d <d | d <t | j ƒ  d  d  … | d f t | ƒ ƒ | j ƒ  } t | j ƒ  d  d  … | d f t | ƒ ƒ | | } } | j ƒ  } t | j | | f ƒ t | j ƒ  | d d  d  … f t | ƒ ƒ | j ƒ  } t | j ƒ  | d d  d  … f t | ƒ ƒ d  S(   Ni   i   i   i   i    i   i   i   (   i   i   (   i   i   (   i    i   (   i   i   (   i   i   (   i   i   (   i   i   (	   R!   R   RÁ   R   RÍ   R   R   RŠ   RÎ   (   R9   RÖ   Rè   R=   Rd   RÒ   Re   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_convertÀ  s"    





---c         C` s  t  t t ƒ t d d d d g d d d d g d d d d g g d ƒ } t | ƒ } t | j | j ƒ t | j ƒ  | ƒ t | ƒ } t | j ƒ  | j ƒ  ƒ d d d g d d d g g } t | d t j	 ƒ} t | j t j	 ƒ | j
 ƒ  } t | j t j	 ƒ t | | ƒ d  S(   Ni   i    i   i   R   RR   (   R   R  R!   R	   R   RR   R}   R    R8   RÊ   RÁ   R   (   R9   RÒ   RĞ   RÓ   Rf  R   t   da(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt	   test_ctorß  s    <c         C` s«   t  d ƒ } d | d  d  … d f <| j d ƒ t d d g d d g g ƒ } t | j ƒ  | ƒ | j d ƒ t d d g d d g d d g g ƒ } t | j ƒ  | ƒ d  S(	   Ni   i   i    i   i   (   i   i   (   i   i   (   i   i   (   R!   t   resizeR   R   R}   (   R9   R=   t	   expected1t	   expected2(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_resizeô  s    'c         C` st   t  d ƒ } d | d <t d | j ƒ  k d ƒ t  d ƒ } d | d  d  … d f <t t | j ƒ  ƒ d k d ƒ d  S(	   Ni   i    s   Unexpected entry (0,0) in keyss   Unexpected entries in keys(   i   i   (   i    i    (   i    i    (   i   i   (   R!   R   Rã  RŒ   (   R9   R=   RÒ   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_ticket1160  s    
(   R@   RA   R!   R‘   R8   Rä  Rª  R«  R•   R§  R¨  R©  Rª  R¬  R°  R±  (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR     s   						t   TestLILc           B` sw   e  Z e Z e j e j e j g Z d  „  Z	 d „  Z
 d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(	   c         C` sŒ   t  t d ƒ ƒ } d | d <d | d	 <t d
 ƒ } d | d <d | d <t | | j | | j j ƒ  ƒ t | | j | | j j ƒ  ƒ d  S(   Ni
   i    i   i   i   i   (   i
   i
   (   i    i   (   i   i   (   i
   i
   (   i    i   (   i   i   (   R	   R   R#   R   RÂ   R}   R[  (   R9   RĞ   RH  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_dot  s    



!c         C` sP   t  d ƒ } d | d <| d } t | d d ƒ | d } t | d d ƒ d  S(	   Ni   i   i    i   (   i   i   (   i    i    (   i    i    (   i    i    (   R#   R   (   R9   RD  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_scalar_mul  s    


c         C` sM  t  d ƒ } d | d <d | d <d | d <d | d <x§ d d g D]™ } t | j | ƒ j ƒ  | j ƒ  j | ƒ ƒ t | j | d	 d
 ƒj ƒ  | j ƒ  j | d	 d
 ƒƒ t t j | | ƒ j ƒ  t j | j ƒ  | ƒ ƒ qA Wt t | j d ƒ t t | j d ƒ t t | j d ƒ t t | j d d	 d ƒt t | j d d	 d ƒd  S(   Ni   i   i   i    i   i   i   i   R4  R5  i   RĞ   (   i   i   (   i    i    (   i   i   (   i   i   (   i    i   (   i   i   (   i   i   (   i   i   i   (   i   i   (   i   i   (   i   i   (   R#   R   RF  R}   R8   R   R  Rš   (   R9   RD  R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_reshape(  s"    



c         C` sY  t  d d d g d d d g g ƒ } t  d d d g d d d g g ƒ } i | | | f d 6| | | f d 6d | d f d	 6} x\ | j ƒ  D]N \ } \ } } | j ƒ  } t | d
 | ƒ | ƒ t | j ƒ  | j ƒ  ƒ q Wt  d d t j d ƒ ƒ} t d d d g ƒ } | d d  d  … f c | 7<t | d d  d  … f j	 ƒ  j
 ƒ  | ƒ d  S(   Ni    i   i   i   i   i   Rİ  t   subt   muls   __i%s__RR   R™   gš™™™™™¹?(   i   i   (   R#   Rz  R¤   Rm   R   R}   R8   RR   R   RÁ   t   squeeze(   R9   RĞ   RH  Rf  t   opt   otherRÃ   R‡  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_inplace_opsA  s    $$c         C` st   d d d g d d d g g } t  t | ƒ ƒ } x= t | ƒ D]/ \ } } t | j ƒ  t | | d d ƒƒ q= Wd  S(   Ni   i   i   i   i   i   t   ndmin(   R#   R   R  R   R}   (   R9   t   row_dataRH  Rï   Rq  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_lil_iterationU  s    c         C` sm   t  d ƒ } d | d <d | d <d | d <d	 | d <d
 | d <| j ƒ  } t  | ƒ } t | j | j ƒ d  S(   Ni
   i    i   i   i   i   i   i   i(   i2   i	   (   i
   i
   (   i    i   (   i   i   (   i   i   (   i   i   (   i   i	   (   R#   RÎ   R   RĞ   (   R9   RH  R5  Rß   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_lil_from_csr[  s    




c         C` s   t  t d ƒ j d d ƒ ƒ } t | ƒ } t | t d d d g ƒ d d … f j ƒ  | t d d d g ƒ d d … f ƒ d  S(   Ni   i   i   i   i   (   R
   R   RF  R#   R   R   R}   (   R9   R#  RĞ   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_fancy_indexing_lilh  s    c         C` sí   t  d ƒ } d | d	 <d | d
 <d | d <d | d <t  d ƒ } d | d <d | d <d | d <d | d <d | d <t | j | ƒ j ƒ  | j | ƒ j ƒ  ƒ t | j | ƒ j ƒ  d d d g d d d g d d d g d d d g g ƒ d  S(   Ni   i   i   i    i   i	   i   (   i   i   (   i    i    (   i   i   (   i   i   (   i   i   (   i   i   (   i    i    (   i    i   (   i   i   (   i   i   (   i   i   (   R#   R   RS  R}   (   R9   t   lRÖ   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_point_wise_multiplyn  s$    








c         C` s9   t  t j d ƒ ƒ } | d 9} d | d d  d  … f <d  S(   Ni   g       @i    (   i   i   (   R#   R8   RX  (   R9   R=   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_lil_multiply_removal…  s    
(   R@   RA   R#   R‘   R8   Rä  Rª  R«  R•   R³  R´  Rµ  R»  R¾  R¿  RÀ  RÂ  RÃ  (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR²    s   		
						t   TestCOORƒ  R„  R…  R†  R‡  c           B` s‰   e  Z e Z e j e j e j g Z d  „  Z	 d „  Z
 d „  Z d „  Z e j e d ƒ d „  ƒ Z d „  Z d „  Z d „  Z d	 „  Z RS(
   c         C` sË   t  d d d d d d d d d d d g ƒ } t  d d d d d d d d d d d g ƒ } t  d d d d d	 d
 d d d d d g ƒ } t | | | f f d ƒ } t t d ƒ j d d ƒ | j ƒ  ƒ d  S(   Ni   i   i   i    g      @g      $@g      @g      "@g      ğ?g      @g      &@g       @g       @g      @g      @i   i   (   i   i   (   R   R"   R   R   RF  R}   (   R9   Rq  R{  Rf  Rc   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR’  ’  s    --c         C` sà   t  d d d d d d d d d d g
 ƒ } t  d d d d d d d d d d g
 ƒ } t  d d d d d d d d d d	 g
 ƒ } t | | | f f d ƒ } t d d d g d d d g d d d g g ƒ } t | | j ƒ  ƒ d  S(   Ni    i   i   i	   iüÿÿÿi   i   iÿÿÿÿiûÿÿÿi   i   iıÿÿÿ(   i   i   (   R   R"   R	   R   R}   (   R9   Rq  R{  Rf  Rc   R   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR“    s    ***0c         C` si   t  d ƒ } t | j d ƒ t | j g  ƒ t | j g  ƒ t | j g  ƒ t | j ƒ  t d ƒ ƒ d  S(   Ni   i   (   i   i   (   i   i   (   i   i   (   R"   R   RŠ   Rq  R{  Rf  R}   R   (   R9   Rc   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR”  ¨  s    c         C` sŸ   t  d d d d g d d d d g d d d d g g ƒ } t | ƒ } t | j ƒ  | ƒ t  d d d d g ƒ } t | ƒ } t | j ƒ  | j d d ƒ ƒ d  S(   Ni    i   i   i   i   iÿÿÿÿ(   R   R"   R   R}   RF  (   R9   R   Rc   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR•  ²  s    s   COO does not have a __getitem__c         C` s   d  S(   N(    (   R9   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR°  ¿  s    c         C` s5   d d g g } t  | ƒ j ƒ  } t | j | ƒ d  S(   Ni    (   R"   t   todiaR   RĞ   (   R9   R   Rf   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_todia_all_zerosÃ  s    c         C` sÿ   t  d ƒ } | j ƒ  t  d d g d d g d d g f f ƒ } | j ƒ  t | j d d g d d g g ƒ t  d d g d d g d d g f f ƒ } | j ƒ  t | j d d g d d g g ƒ t | j d g ƒ t | j d g ƒ t | j d g ƒ d  S(   Ni   i   i   i   i    (   i   i   (   R"   R¢  R   RĞ   Rq  R{  Rf  (   R9   Rc   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_sum_duplicatesÈ  s    
*
"*
"c         C` s_   t  d d d d g d d d d g d d d d g f f ƒ } | j ƒ  } t | j | j ƒ d  S(   Ni   i    i   (   R"   R¶  R   RĞ   (   R9   Rc   Rg   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_todok_duplicatesÕ  s    <c      	   C` sĞ   t  d d d d d d d d g ƒ } t  d d d d d d d d g ƒ } t  d d d d d d d d	 g ƒ } t | | | f f d
 d ƒ} | j ƒ  } | j ƒ  t | j d k j ƒ  ƒ t | j | j ƒ d  S(   Ni   i    i   i   i   i   i   i   i   RŠ   i
   (   i   i
   (	   R   R"   R¤   R™  R   Rf  t   allR   RĞ   (   R9   Rf  Rq  R{  R€  R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRš  Ú  s    $$$
(   R@   RA   R"   R‘   R8   Rä  Rª  R«  R•   R’  R“  R”  R•  R   t   knownfailureifR;   R°  RÆ  RÇ  RÈ  Rš  (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRÄ  Œ  s   			
				t   TestDIAc           B` sz   e  Z e Z e j e j e j g Z d  „  Z	 e
 j e d ƒ d „  ƒ Z e d ƒ d „  ƒ Z e
 j e d ƒ d „  ƒ Z RS(   c         C` s¶   t  d d d d g d d d d g d d d d g d d d d g g ƒ } t j d d d d g g ƒ j d d d ƒ} t j d d d g ƒ } t t | | f d d	 ƒj ƒ  | ƒ d  S(
   Ni   i    i   i   i   R  iÿÿÿÿRŠ   (   i   i   (   R	   R8   R   t   repeatR   R$   R}   (   R9   Rß   Rf  t   offsets(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR’  ë  s    -s   DIA does not have a __getitem__c         C` s   d  S(   N(    (   R9   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR°  ô  s    i   c         C` s¬   t  t j d ƒ ƒ } t | j j t j ƒ | j d d d ƒt | j j t j ƒ t  t j d ƒ ƒ } t | j j t j ƒ | j d d d ƒt | j j t j ƒ d  S(   Ni   Rç   i   i   (   i   (   i   (	   R$   R8   R&   R   RÍ  RR   RF   Rî   RO   (   R9   RÖ   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_setdiag_dtypeø  s    s   DIA stores extra zerosc         C` s   d  S(   N(    (   R9   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRr    s    (   R@   RA   R$   R‘   R8   Rä  Rª  R«  R•   R’  R   RÊ  R;   R°  R{   RÎ  R   Rr  (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRË  å  s   		R­   c           B` s¿   e  Z e Z e j e j e j g Z d  „  Z	 d „  Z
 d „  Z d „  Z d „  Z d „  Z d „  Z e j e d ƒ d „  ƒ Z e j e d	 ƒ d
 „  ƒ Z e j e d	 ƒ d „  ƒ Z d „  Z RS(   c         C` sŠ  t  d d d d g ƒ } t  d d d d g ƒ } t d ƒ } t  d d d g d d d g g ƒ | d <t  d d d g d d d g g ƒ | d <t  d d d	 g d
 d d g g ƒ | d <t  d d d g d d d g g ƒ | d <t d d d d g d d d d g d d d d g g d d d g d d d g g ƒ } t | | | f d d ƒ} t | j ƒ  | ƒ t | | | f ƒ } t | j ƒ  | ƒ d  S(   Ni    i   i   i   i   i   i   i
   i   i   i   i   i   RŠ   (   i   i   i   (   i   i   (   R   R   R   R%   R   R}   (   R9   R  R=  Rf  RĞ   Rú   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR’    s     Tc         C` sO  xE d d d d d d g D]+ } t  | ƒ } t t | ƒ j ƒ  | ƒ q Wt  d ƒ } t t | d	 d ƒj ƒ  | ƒ t t | d	 d ƒj ƒ  | ƒ t d d
 d d
 g d
 d
 d
 d
 g d
 d
 d d g g d
 d d g d d
 d g g ƒ } t t | ƒ j ƒ  | ƒ t t | d d ƒj ƒ  | ƒ t t | d	 d ƒj ƒ  | ƒ t t | d	 d ƒj ƒ  | ƒ t t | d	 d ƒj ƒ  | ƒ t t | d	 d ƒj ƒ  | ƒ t t | d	 d ƒj ƒ  | ƒ t t | d	 d ƒj ƒ  | ƒ t d d
 d d
 g d
 d d
 d
 g d
 d
 d
 d
 g g d
 d d g d d
 d g g ƒ } t t | d	 d ƒj ƒ  | ƒ d  S(   Ni   i   i
   i   i   i   i   i   R  i    RŠ   i   (   i   i   (   i   i   (   i   i
   (   i
   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   R   R   R%   R}   R   (   R9   RŠ   RĞ   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR“  '  s"    TTc         C` sn   d d d g d d d g d d d g f f } t  d d g d d g g ƒ } t t | d d ƒj ƒ  | ƒ d  S(   Ni   i   i   i    R  (   i   i   (   R   R   R%   R}   (   R9   t   argRĞ   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR”  ?  s    -c         C` s†   d } t  j | | d f d t  j ƒ} t  j d | g d t  j ƒ} t  j | d t  j ƒ} t | | | f d | d f d t ƒd  S(   Ni   i   RR   i    R  R¤   (   R8   RX  R   R   RF   R   R%   Rw   (   R9   Rè   Rf  R  R=  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR•  E  s
    !c      	   C` sè   t  d d d d d d d d g d d g d d g g ƒ j } | j d d d ƒ } t d d d d d d d	 d
 g ƒ } t d d d
 g ƒ } t | | | f d d ƒ} | j ƒ  } | j ƒ  t | j d ƒ t | j	 ƒ  | j	 ƒ  ƒ d  S(   Ni   i    i   i   iÿÿÿÿi   i   i   i   i   RŠ   i   (   i   i   i   (
   R   RÂ   RF  R   R%   R¤   R™  R   R¾   R}   (   R9   Rf  R=  R  R€  R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRš  N  s    <$
c         C` sb   t  t d
 ƒ j d d ƒ d d ƒ} t | j d ƒ j d d ƒ } t | | | j ƒ  | ƒ d  S(   Ni   i   i   i   R  i   iÿÿÿÿi   i   ix   i   i   (   i   i   (   R%   R   RF  RŠ   R   R}   (   R9   RĞ   RD  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_bsr_matvecY  s    $c         C` sf   t  t d ƒ j d d ƒ d d ƒ} t | j d d ƒ j d d ƒ } t | | | j ƒ  | ƒ d  S(   Ni   i   i   i   R  i   i   iÿÿÿÿi   i   ix   i   i   (   i   i   (   R%   R   RF  RŠ   R   R}   (   R9   RĞ   RD  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_bsr_matvecs^  s    $#s   BSR does not have a __getitem__c         C` s   d  S(   N(    (   R9   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR°  c  s    s   BSR does not have a __setitem__c         C` s   d  S(   N(    (   R9   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR÷   g  s    c         C` s   d  S(   N(    (   R9   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRõ   k  s    c         C` sô  t  j d d t  j ƒ} t  j d d t  j ƒ} t  j d ƒ } t | | | f d d d	 f ƒ} t | | | f d d d
 f ƒ} t d d f ƒ } t d d f ƒ } t | j j t  j ƒ t | j j t  j ƒ t | j j t  j ƒ t | j j t  j ƒ y¢ t  j d d d f ƒ } t  j d d d f ƒ }	 t | | | f d d d f ƒ}
 t |	 | | f d d d f ƒ} t |
 j j t  j ƒ t | j j t  j ƒ Wn# t t	 f k
 rÄd }
 d } n Xx( | | | | |
 | g D] } | | qŞWd  S(   Ni   RR   i    i   RŠ   i   (   i    i   i   I   €    iÿÿÿI   €    I   €    iÿÿÿI   €    I   €    iÿÿÿI   €    I   €    iÿÿÿI   €    (
   R8   R   RF   R%   R   R  RR   RO   t   MemoryErrorRš   (   R9   R  R=  R¤  R=   RÒ   RÓ   R   t   vals2t   vals3RÔ   RÕ   RD  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR¥  o  s.    !!!!
(   R@   RA   R%   R‘   R8   Rä  Rª  R«  R•   R’  R“  R”  R•  Rš  RĞ  RÑ  R   RÊ  R;   R°  R÷   Rõ   R¥  (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR­   	  s   								c         O` s~  | j  d d ƒ } t j |  j t j ƒ sB t j |  j t j ƒ rn | d k rY |  f | S|  f | | f Sn  |  d k j ƒ  } |  j d d d ƒ}  |  d d d … c d 8<d |  d d d … <| d j	 d k r7t
 d „  | Dƒ ƒ } d | d f | d } d | d d f | d } d |  | <d |  | <n  t
 d „  | Dƒ ƒ } | d k rd|  f | S|  f | | d f Sd S(	   s-   Duplicates entries to produce the same matrixR  i    i   R  Ni   c         s` s   |  ] } | d  Vq d S(   i    N(    (   t   .0t   p(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pys	   <genexpr>¦  s    c         s` s   |  ] } | j  d  ƒ Vq d S(   i   N(   RÌ  (   RÕ  R=  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pys	   <genexpr>¬  s    (   t   popR4   R8   RT   RR   Rû  t   unsignedintegerRø   RÌ  RS   Rù   (   Rf  t   indsR>   R  t	   zeros_post   post   pos1t   pos2(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   _same_sum_duplicate“  s(    
t   _NonCanonicalMixinc           B` s}   e  Z d  „  Z e j e d ƒ d „  ƒ Z e j e d ƒ d „  ƒ Z e j e d ƒ d „  ƒ Z e j	 e d ƒ d „  ƒ Z
 RS(	   c         K` s+  t  t |  ƒ j } | | |  } | j d k j ƒ  } | d j d k } | rˆ | d j d } |  j | | d | | d | ƒ } n  |  j | ƒ } d | k r³ | j | d <n  | | |  }	 |	 j	 t
 j t
 j g k ræ d }
 n d }
 t |	 j | j d |
 ƒ| r't |	 j d k j ƒ  ƒ n  |	 S(   sc   Replace D with a non-canonical equivalent: containing
        duplicate elements and explicit zerosi    i   i   RŠ   gñhãˆµøä>gH¯¼šò×z>RÕ  (   t   superRß  R‘   RĞ   Rø   RS   t   _insert_explicit_zerot   _arg1_for_noncanonicalRŠ   RR   R8   RÊ   RË   R   R   Rf  t   any(   R9   Rß   R>   Rk   R#  t   zero_post	   has_zerosRç   t   arg1t   NCRÕ  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR‘   µ  s(    		s"   bool(matrix) counts explicit zerosc         C` s   d  S(   N(    (   R9   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR    Ù  s    s!   getnnz-axis counts explicit zerosc         C` s   d  S(   N(    (   R9   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRr  İ  s    s   nnz counts explicit zerosc         C` s   d  S(   N(    (   R9   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRÀ   á  s    s6   unary ufunc overrides broken with non-canonical matrixc         C` s   d  S(   N(    (   R9   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRÒ  å  s    (   R@   RA   R‘   R   R   R;   R    Rr  RÀ   RÊ  RÒ  (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRß  ´  s
   	$t   _NonCanonicalCompressedMixinc           B` s   e  Z d  „  Z d „  Z RS(   c         C` s¦   t  | j | j d | j ƒ\ } } } xo t | | d ƒ D]Z \ } } | | | !d d d … j ƒ  | | | +| | | !d d d … j ƒ  | | | +q; W| | | f S(   s5   Return non-canonical constructor arg1 equivalent to MR  i   Niÿÿÿÿ(   RŞ  Rf  R=  R  t   izipR¤   (   R9   R#  Rf  R=  R  t   startt   stop(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRâ  ë  s     '+c         C` s   d | | | f <| S(   Ni    (    (   R9   R#  Ré   Rê   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRá  õ  s    (   R@   RA   Râ  Rá  (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRè  ê  s   	
t   _NonCanonicalCSMixinc           B` s>   e  Z e j e d  ƒ d „  ƒ Z e j e d ƒ d „  ƒ Z RS(   s(   inverse broken with non-canonical matrixc         C` s   d  S(   N(    (   R9   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR-  û  s    s&   solve broken with non-canonical matrixc         C` s   d  S(   N(    (   R9   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR  ÿ  s    (   R@   RA   R   RÊ  R;   R-  R  (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRì  ú  s   t   TestCSRNonCanonicalc           B` s   e  Z RS(    (   R@   RA   (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRí    s   t   TestCSCNonCanonicalc           B` s   e  Z RS(    (   R@   RA   (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRî    s   t   TestBSRNonCanonicalc           B` sG   e  Z d  „  Z e j e d ƒ d „  ƒ Z e j e d ƒ d „  ƒ Z RS(   c         C` s/   | j  ƒ  } d | | | f <| j d | j ƒ S(   Ni    R  (   RÎ   R·  R  (   R9   R#  Ré   Rê   RD  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRá    s    s&   diagonal broken with non-canonical BSRc         C` s   d  S(   N(    (   R9   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRå     s    s"   expm broken with non-canonical BSRc         C` s   d  S(   N(    (   R9   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyR+    s    (   R@   RA   Rá  R   RÊ  R;   Rå   R+  (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRï    s   	t   TestCOONonCanonicalc           B` s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C` s4   t  | j | j | j ƒ \ } } } | | | f f S(   s5   Return non-canonical constructor arg1 equivalent to M(   RŞ  Rf  Rq  R{  (   R9   R#  Rf  Rq  R{  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRâ    s    $c         C` s|   t  j | j j j d ƒ | j f | _ t  j | j j j | ƒ | j f | _ t  j | j j j | ƒ | j f | _ | S(   Ni    (   R8   t   r_Rf  RR   R…  Rq  R{  (   R9   R#  Ré   Rê   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRá  !  s    (((c         C` sn   |  j  t j d ƒ ƒ } | j ƒ  | j d d g d d ƒ| j ƒ  t t j t j | j ƒ d k ƒ ƒ d  S(   Ni   i   Rç   i   i    (	   R‘   R8   R&   R¢  Rî   R   RÉ  t   diffR{  (   R9   RÖ   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_setdiag_noncanonical'  s
    

(   R@   RA   Râ  Rá  Ró  (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRğ    s   		t	   Test64Bitc           B` s¶   e  Z e e e e e e e g Z	 e
 e e e e g Z i d  d 6d d 6d d 6Z d „  Z d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   s%   expm for 64-bit indices not availableR+  s)   linsolve for 64-bit indices not availableR  s   test implemented in base classR¥  c         C` s   | t  j j | | ƒ ƒ S(   N(   R8   Rx   R
  (   R9   t   mat_clsRÖ   Rè   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   _create_some_matrix?  s    c         C` sÅ   t  j | ƒ } t | t ƒ s< t | t ƒ s< t | t ƒ r^ | j j | k o] | j j | k St | t ƒ r | j	 j | k o | j
 j | k St | t ƒ r® | j j | k St d | f ƒ ‚ d  S(   Ns    matrix %r has no integer indices(   R8   RR   R|   R   R    R%   R=  R  R"   Rq  R{  R$   RÍ  Rš   (   R9   RÖ   RR   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   _compare_index_dtypeB  s    ""c         #` sA   t  d d ƒ ‡  f d †  ƒ } x ˆ  j D] } | | f Vq( Wd  S(   NRY   i
   c         ` sl   |  t  j j d d ƒ ƒ } t ˆ  j | t  j ƒ ƒ |  t  j j d d ƒ ƒ } t ˆ  j | t  j ƒ ƒ d  S(   Ni
   i   i   (   R8   Rx   R
  R   R÷  RF   RO   (   Rõ  RÖ   (   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   Q  s    (   R{   t   MAT_CLASSES(   R9   Rœ   Rõ  (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_decorator_maxval_limitN  s    c         #` sA   t  d t ƒ ‡  f d †  ƒ } x ˆ  j D] } | | f Vq( Wd  S(   NRx   c         ` s   t  } t  } x{ t d ƒ D]a } ˆ  j |  d d ƒ } | pL ˆ  j | t j ƒ } | pg ˆ  j | t j ƒ } | r | r Pq q Wt d ƒ ‚ d  S(   Nid   i	   s#   both 32 and 64 bit indices not seen(   Rw   R¡   Rö  R÷  R8   RF   RO   RZ   (   Rõ  t   seen_32t   seen_64Rç   RÖ   (   R9   (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   ^  s    (   R{   R;   Rø  (   R9   Rœ   Rõ  (    (   R9   s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_decorator_maxval_random[  s    c         k` sÓ   | j  d d ƒ } t |   d „  ƒ } x¥ |  j D]š } x‘ t | ƒ D]ƒ } t | | ƒ } | j d ƒ rD t | d t ƒ rD | j d | | k rD |  j j	 | ƒ } t
 j | | ƒ | ƒ | | f VqD qD Wq1 Wd  S(   Nt   skipc         S` s]   |  ƒ  } t  | d ƒ r% | j ƒ  n  z t | | ƒ ƒ  Wd  t  | d ƒ rX | j ƒ  n  Xd  S(   Nt   setupt   teardown(   R<  Rş  Rm   Rÿ  (   R}  t   method_namet   instance(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRœ   t  s    	Rw  Rê  t   .(    (   R×  R{   t   TEST_CLASSESt   dirRm   R{  Rw   R@   t
   SKIP_TESTSR‚  R   R   (   R9   Rp   Rı  Rœ   R}  R   t   methodR3   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   _check_resiliencyn  s    c         c` s&   x |  j  d d ƒ D] } | Vq Wd  S(   NRY   i
   (   R  (   R9   t   t(    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_resiliency_limit_10ˆ  s    c         c` s5   d g } x% |  j  d t d | ƒ D] } | Vq" Wd  S(   Ns   TestBSR.test_eliminate_zerosRx   Rı  (   R  R;   (   R9   Rı  R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_resiliency_randomŒ  s    	c         c` s)   x" |  j  d t j ƒ D] } | Vq Wd  S(   NRM   (   R  R8   RF   (   R9   R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_resiliency_all_32•  s    c         c` s)   x" |  j  d t j ƒ D] } | Vq Wd  S(   NRM   (   R  R8   RO   (   R9   R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_resiliency_all_64™  s    c         c` s&   x |  j  d t ƒ D] } | Vq Wd  S(   NRz   (   R  R;   (   R9   R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt
   test_no_64  s    c         C` sN   t  d t j d d ƒ d „  ƒ } t  d t j ƒ d „  ƒ } | ƒ  | ƒ  d  S(   NRM   R]   i   c          S` sË   t  d d g d d g d d g g ƒ }  t t |  j d d ƒt t |  j d d ƒt d d d g d d d g g ƒ }  t t |  j d d ƒt d d d g d d d g g ƒ }  t t |  j d d ƒd  S(	   Ni   i   i   i   i   i   R  i    (   R   R   RZ   Ro  R  R    R"   (   R=   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   check_limited¨  s    '$$c          S` s³   t  d d g d d g d d g g ƒ }  |  j d d ƒ |  j d d ƒ t d d d g d d d g g ƒ }  |  j d d ƒ t d d d g d d d g g ƒ }  |  j d d ƒ d  S(	   Ni   i   i   i   i   i   R  i    (   R   Ro  R  R    R"   (   R=   (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   check_unlimited¶  s    '$$(   R{   R8   RO   (   R9   R  R  (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   test_downcast_intp¡  s
    (   R@   RA   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  (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyRô  /  s$   
											t   __main__(z   Ré  t
   __future__R    R   R   t	   __usage__R°   Rz  t
   contextlibt   numpyR8   t   scipy._lib.sixR   R   Ré  R   R   R   R   R	   R
   R   R   R   R   R   R   R   R   R   R   R   Rx   t   numpy.testingR   R   R   R   R   R   R   R   R   t   scipy.linalgR`   Rg  Ra   R   R    R!   R"   R#   R$   R%   R&   R'   R(   R)   t   scipy.sparse.sputilsR*   R+   R,   t   scipy.sparse.linalgR-   R.   R/   t   scipy._lib._versionR0   t   scipy._lib.decoratorR1   Rx  t
   nose.toolsR2   t   ImportErrorR4   Rç  R7   Rw   R<   Rİ  R<  Rt  R²   R{   R}   R~   Rˆ   R   Rë  R÷  R  R  R  R#  t   contextmanagerR?  R@  RJ  RM  RT  R_  Rn  R;   R€  R  R¯   R®   R   R²  RÄ  RË  R­   RŞ  Rß  Rè  Rì  Rí  Rî  Rï  Rğ  Rô  R@   (    (    (    s;   /tmp/pip-build-7oUkmx/scipy/scipy/sparse/tests/test_base.pyt   <module>	   s¨   	p@L	L	-ÿ ÿ ÿ ÿ ÿ ÿ ÿ f]Ë…Án#b[¬	)ÚŒ%q}W"‡	!6
˜