ó
¦–Õ\c           @` sT  d  d l  m Z m Z m Z d  d l Z d  d l m Z d  d l Z d  d l m	 Z	 e j
 d ƒ Z d  d l j Z d  d l m Z d  d l m Z d  d l m Z m Z m Z d	 „  Z e j j d
 d d d g ƒ d „  ƒ Z e j j d
 d d d g ƒ e j j d e ƒ  e ƒ  f dÞ dß f dà dá f dâ dã f dä då f g ƒ d „  ƒ ƒ Z e j j d
 d d d g ƒ e j j d e e j e ƒ  dæ dç dè dé g d ƒ ƒ ƒ d „  ƒ ƒ Z d „  Z  d „  Z! d „  Z" e j j d d i  f d i  f d  i d  d! 6f d  i d" d! 6f d  i d d! 6f d  i d# d! 6f g ƒ e j j d$ e ƒ  dê dë dì dí g ƒ d% „  ƒ ƒ Z# e j j d& dî dï g dð dñ g dò dó g dô dõ g dö d÷ g dø dù g dú dû g dü dý g dþ dÿ g d dg ddg ddg ddg dd	g d
dg ddg ddg ddg ddg ddg ddg ddg ddg ddg ddg g ƒ d, „  ƒ Z$ d- „  Z% e j j d. d  d" d d!d"d#f d$d%f d&d'f g ƒ d/ „  ƒ Z& d0 „  Z' d1 „  Z( e j j d d(d)f d*d+f g ƒ d3 „  ƒ Z) e j j d d,d-f d.d/f g ƒ d4 „  ƒ Z* e j j d5 d6 d7 „  g d8 d9 „  g d: d; „  g d< d= „  g g ƒ e j j d> d0d  g d1d" g d2d g d3d# g g ƒ d? „  ƒ ƒ Z+ e j j d@ dA dB „  g dC dD „  g d: dE „  g g ƒ e j j dF d4e ƒ  g d5d  g d6d7g d8d9g d:d;g g ƒ dG „  ƒ ƒ Z, e j j d> d<d g d=d  g d>d" g d?d g d@d# g g ƒ dH „  ƒ Z. e j j d> dAd  g dBd" g dCd g dDd# g g ƒ e j j dI d  d" d g ƒ dJ „  ƒ ƒ Z/ e j j d$ dEdFg ƒ e j j dK d d g d  d  g d" d g d d g g g ƒ dL „  ƒ ƒ Z0 e j j dM dGdHd g dIdJd g dKdLd g dMdNd  g dOdPd" g dQdRd g dSdTd# g dUdVdWg dXe j1 e j2 d ƒ ƒ e j1 e j2 d2 ƒ ƒ f dYg dZdQ e j1 e j2 d2 ƒ ƒ f d[g d\e j1 e j2 d2 ƒ ƒ f d# g g ƒ e j j dR d" d g ƒ dS „  ƒ ƒ Z3 dT „  Z4 dU „  Z5 dV „  Z6 dW „  Z7 dX „  Z8 dY „  Z9 dZ „  Z: d[ „  Z; d\ „  Z< d] „  Z= e j j d^ d]d^d d_f g ƒ d_ „  ƒ Z> d` „  Z? da „  Z@ db „  ZA e j j dc eB eC g ƒ e j j dd eB eC g ƒ e j j de eB eC g ƒ df „  ƒ ƒ ƒ ZD e j j dg dh di g ƒ e j j dj d  d g g ƒ e j j d d`dag dbdcg dddeg dfdgg g ƒ dk „  ƒ ƒ ƒ ZE e j j dg dh di g ƒ e j j dj d  d g g ƒ e j j dl dhdig djdkg dldmg dndog g ƒ e j j dm dpdqg drdsg dtdug dvdwg g ƒ e j j dn eC eB g ƒ do „  ƒ ƒ ƒ ƒ ƒ ZF e j j dp eC eB g ƒ dq „  ƒ ZG dr „  ZH e j j ds dxdyg ƒ e j j dt d d' du dzd{g ƒ e j j d! d d  d" d# d|d}g ƒ dv „  ƒ ƒ ƒ ZI dw „  ZJ dx „  ZK e j j dy eC eB g ƒ e j j d! d d  d# d~g ƒ dz „  ƒ ƒ ZL d{ „  ZM d| „  ZN d} „  ZO e j j d~ e jP e jP d  f e jQ e jQ d" f e jR e jR d f g ƒ d „  ƒ ZS d€ „  ZT d „  ZU d‚ „  ZV dƒ „  ZW d„ „  ZX d… „  ZY d† „  ZZ d‡ „  Z[ dˆ „  Z\ d‰ „  Z] dŠ „  Z^ d‹ „  Z_ dŒ „  Z` d „  Za dŽ „  Zb d „  Zc d „  Zd d‘ „  Ze d’ „  Zf d“ „  Zg e j j d! d d  dd€g ƒ d” „  ƒ Zh d• „  Zi e j j d! d d  dd‚g ƒ d– „  ƒ Zj d— „  Zk d˜ „  Zl d™ „  Zm dš „  Zn e j jo e	 e jp ƒ e	 d› ƒ k  dœ d ƒdž „  ƒ Zq dŸ „  Zr d  „  Zs d¡ „  Zt d¢ „  Zu d£ „  Zv d¤ „  Zw d¥ „  Zx e j j d¦ d§ d¨ d© dª d« d¬ d­ d® d¯ d° d± d² d³ d´ dµ d¶ d· d¸ d¹ dº d» d¼ d½ d¾ d¿ dÀ dÁ g ƒ dÂ „  ƒ Zy e j j dÃ eC eB f dÄ eB f dÅ eB f g ƒ dÆ „  ƒ Zz e j j dÇ dÈ dÉ dÊ dË g ƒ dÌ „  ƒ Z{ e j j dÍ dÎ dÏ dÐ dÑ dÒ g ƒ dÓ „  ƒ Z| e j j dÔ d d g ƒ dÕ „  ƒ Z} dÖ „  Z~ d× „  Z dØ „  Z€ dÙ „  Z e j j d± e j2 d( ƒ e j2 d ƒ j‚ dƒƒ g ƒ e j j dÚ eC eB g ƒ dÛ „  ƒ ƒ Zƒ dÜ „  Z„ dÝ „  Z… d S(„  i    (   t   divisiont   print_functiont   absolute_importN(   t   Number(   t   LooseVersiont   numpy(   t   PY2(   t   ignoring(   t	   assert_eqt	   same_keyst	   AxisErrorc          C` s§   t  j d d d ƒ}  t j d d d d d ƒ} t t j | d d d d ƒt  j |  d d d d ƒƒ t j d
 d d	 ƒ}  t j |  ƒ } t | t j ƒ s£ t ‚ d  S(   Ni   t   dtypet   i4t   chunksi   t   ndmint   i8id   i
   (   id   i   (   t   npt   onest   daR   t   arrayt
   isinstancet   Arrayt   AssertionError(   t   xt   dt   y(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt
   test_array   s    t   funcnamet
   atleast_1dt
   atleast_2dt
   atleast_3dc         C` sF   t  t |  ƒ } t  t |  ƒ } | ƒ  } | ƒ  } | | k sB t ‚ d  S(   N(   t   getattrR   R   R   (   R   t   np_funct   da_funct   np_r_nt   da_r_n(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_atleast_nd_no_args   s
    		s   shape, chunksi   i   i   i   i   i
   i   c   	      C` sn   t  j j | ƒ } t j | d | ƒ} t t  |  ƒ } t t |  ƒ } | | ƒ } | | ƒ } t | | ƒ d  S(   NR   (   R   t   randomR   t
   from_arrayR   R   (	   R   t   shapeR   t   np_at   da_aR    R!   t   np_rt   da_r(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_atleast_nd_one_arg,   s    s   shape1, shape2c         C` s)  t  j j | ƒ } t j | d t d „  | Dƒ ƒ ƒ} t  j j | ƒ } t j | d t d „  | Dƒ ƒ ƒ} | | g } | | g } t t  |  ƒ }	 t t |  ƒ }
 |	 | Œ  } |
 | Œ  } t | ƒ t | ƒ k sÚ t ‚ t | ƒ t | ƒ k sø t ‚ x* t	 | | ƒ D] \ } } t
 | | ƒ qWd  S(   NR   c         s` s   |  ] } | d  Vq d S(   i   N(    (   t   .0t   c(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pys	   <genexpr>X   s    c         s` s   |  ] } | d  Vq d S(   i   N(    (   R-   R.   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pys	   <genexpr>[   s    (   R   R%   R   R&   t   tupleR   t   typeR   t   lent   zipR   (   R   t   shape1t   shape2t   np_a_1t   da_a_1t   np_a_2t   da_a_2t   np_a_nt   da_a_nR    R!   R"   R#   R*   R+   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_atleast_nd_two_argsE   s    %%c          C` s  t  j d ƒ j d	 ƒ }  t j |  d
 ƒ } t | j d ƒ |  j d ƒ ƒ t | j d ƒ | j d ƒ ƒ sp t ‚ t | j d d d ƒ |  j d d d ƒ ƒ t | j d d d ƒ | j d d d ƒ ƒ sÎ t ‚ t	 j
 t ƒ  | j d d ƒ Wd  QXt	 j
 t ƒ  | j d ƒ Wd  QXd  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   (   R   t   aranget   reshapeR   R&   R   t	   transposeR	   R   t   pytestt   raisest
   ValueError(   R   R   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_transposen   s    '3c          C` s_   t  j d
 ƒ }  t j d d d ƒ} t |  j d d d d	 g ƒ | j d d d d	 g ƒ ƒ d  S(   Ni   i   i   i   R   iÿÿÿÿiþÿÿÿi    i   (   i   i   i   i   (   i   i   i   i   (   R   R   R   R   R>   (   R   R   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_transpose_negative_axes   s    c          C` s£  t  j j d d d d ƒ}  t j |  d d ƒ} t t  j |  d d
 ƒ t j | d d
 ƒ ƒ t t  j |  d	 d
 ƒ t j | d	 d
 ƒ ƒ t |  j d	 d
 ƒ | j d	 d
 ƒ ƒ t |  j d d ƒ | j d d ƒ ƒ t |  j d
 d	 ƒ | j d
 d	 ƒ ƒ t |  j d d ƒ | j d d ƒ ƒ t |  j d d
 ƒ | j d d
 ƒ ƒ | j d d
 ƒ j | j d d
 ƒ j k sot ‚ | j d d
 ƒ j | j d
 d ƒ j k sŸt ‚ d  S(   Ni    i
   t   sizei   i   R   i   i   i   i   iÿÿÿÿ(   i
   i   i   (   i   i   i   (	   R   R%   t   normalR   R&   R   t   swapaxest   nameR   (   R   R   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_swapaxes‰   s    ++%%%%%0s   funcname, kwargst   flipudt   fliplrt   flipt   axisi   iÿÿÿÿR'   c   
      C` s  | j  d ƒ } | d  k rH |  d k r0 d } qH |  d k rH d } qH n  t j j | ƒ } t j | d d ƒ} t t |  ƒ } t t |  ƒ } y t | j ƒ | Wn4 t	 k
 rØ t
 j t ƒ  | | |  Wd  QXn, X| | |  } | | |  }	 t | |	 ƒ d  S(   NRL   RI   i    RJ   i   R   (   t   gett   NoneR   R%   R   R&   R   t   ranget   ndimt
   IndexErrorR?   R@   RA   R   (
   R   t   kwargsR'   RL   R(   R)   R    R!   R*   R+   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt	   test_flip™   s$    	s   x_shape, y_shapei   i   i   i   i   c   	      C` sO  t  j j d ƒ t  j j |  ƒ d } t  j j | ƒ d } t j | d t d „  | j Dƒ ƒ ƒ} t j | d t d „  | j Dƒ ƒ ƒ} d  } y t  j | | ƒ } Wn t	 k
 r» n XxŒ t
 j | | g | | g ƒ D]l \ } } | j d k s| j d k r.t j t	 ƒ  t j | | ƒ Wd  QXqÛ t | t j | | ƒ ƒ qÛ Wd  S(   Ni”  R   c         s` s   |  ] } | d  Vq d S(   i   N(    (   R-   t   i(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pys	   <genexpr>ã   s    c         s` s   |  ] } | d  Vq d S(   i   N(    (   R-   RT   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pys	   <genexpr>ä   s    i    (    (    (   R   R%   t   seedR   R&   R/   R'   RN   t   matmulRA   t	   itertoolst   productRP   R?   R@   R   (	   t   x_shapet   y_shapeR   R   t   at   bt   expectedt   d1t   d2(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_matmulÂ   s    ((+c          C` s   t  j d ƒ j d ƒ }  t j |  d d ƒ} t  j d ƒ j d ƒ } t j | d d ƒ} x§ d d g D]™ } t t j | | d
 | ƒt  j |  | d
 | ƒƒ t t j |  | d
 | ƒt  j |  | d
 | ƒƒ t t j | | d
 | ƒt  j |  | d
 | ƒƒ qg Wt t j | | d
 d ƒt j | | d
 d ƒƒ s=t ‚ t	 j
 t rOd  n t j ƒ ? t t j | | d
 d	 ƒt j | | d
 d ƒƒ s–t ‚ Wd  QXd  S(   Ni  i   R   i   i   iÈ   i
   i   i    t   axes(   i   i   (   i   i   (   i   i
   (   i   i   (   i   i    (   i   i    (   i   i    (   R   R<   R=   R   R&   R   t	   tensordotR	   R   R?   t   warnsR   RN   t   PerformanceWarning(   R   R[   R   R\   Ra   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_tensordotô   s    115!Ra   c         C` sb   t  j d ƒ j d ƒ } t j | d d ƒ} t t j | | d |  ƒt  j | | d |  ƒƒ d  S(   Ni   R   i   Ra   i   i@   (   i   i   i   (   R   R<   R=   R   R&   R   Rb   (   Ra   R   R   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_tensordot_2  s    
c          C` sa   d }  t  j d d g |  ƒ } t j | d d ƒ} t t j | | |  ƒ t  j d |  ƒ ƒ d  S(   Ni   i   i   R   iÿÿÿÿ(   R   t   broadcast_toR   R&   R   Rb   R   (   RP   R   t   dx(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt    test_tensordot_more_than_26_dims  s    c          C` s}   t  j d ƒ j d ƒ }  t j |  d d ƒ} t  j d ƒ j d	 ƒ } t j | d d
 ƒ} t | j | ƒ |  j | ƒ ƒ d  S(   Ni  i   R   i   iÈ   i
   (   i   i   (   i   i   (   i   i
   (   i   i   (   R   R<   R=   R   R&   R   t   dot(   R   R[   R   R\   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_dot_method   s
    i   c         C` s  t  j j d ƒ d t  j j d |  ƒ d } | d d | d } d t  j j d |  ƒ d } | d d | d } t j | d | ƒ} t j | d | ƒ} t t  j | | ƒ t j | | ƒ ƒ t t  j | | ƒ t j | | ƒ ƒ t t j | | ƒ t j | | ƒ j ƒ  ƒ d  S(	   Ni9  i   i   i    y              ð?R   (   i   (   i   (   R   R%   R   R&   R   t   vdott   conj(   R'   R   R   R   R[   R\   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt	   test_vdot)  s    %%c         C` s¼   t  j j d ƒ d t  j j |  ƒ d } d t  j j | ƒ d } t j | d d ƒ} t j | d d ƒ} t t  j | | ƒ t j | | ƒ ƒ t t  j | | ƒ t j | | ƒ ƒ d  S(   Ni9  i   i   R   i   (   R   R%   R   R&   R   t   outer(   R3   R4   R   R   R[   R\   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt
   test_inner>  s    %s   func1d_name, func1dRP   c         C` s   |  j  S(   N(   RP   (   R   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   <lambda>P  t    t   sumc         C` s
   |  j  ƒ  S(   N(   Rs   (   R   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyRq   Q  Rr   RO   c         C` s   |  j  ƒ  |  j ƒ  g S(   N(   t   mint   max(   R   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyRq   R  Rr   t   range2c         C` s.   |  j  ƒ  |  j ƒ  g |  j ƒ  |  j  ƒ  g g S(   N(   Rt   Ru   (   R   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyRq   S  Rr   s   shape, axisc         C` sf   t  j j d d | ƒ } t j | d t | ƒ d ƒ} t t j | | | ƒ t  j | | | ƒ ƒ d  S(   Ni    i
   R   i   (   i   (   R   R%   t   randintR   R&   R1   R   t   apply_along_axis(   t   func1d_namet   func1dR'   RL   R[   R   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_apply_along_axisO  s
    s   func_name, funct   sum0c         C` s   |  j  d | ƒ S(   NRL   (   Rs   (   R   RL   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyRq   e  Rr   t   sum1c         C` s   |  j  d | d t ƒ S(   NRL   t   keepdims(   Rs   t   True(   R   RL   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyRq   f  Rr   c         C` s=   t  j |  j d | d t ƒ |  j d | d t ƒ g d | ƒS(   NRL   R~   (   R   t   concatenateRt   R   Ru   (   R   RL   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyRq   h  s    s   shape, axesc         C` sf   t  j j d d | ƒ } t j | d t | ƒ d ƒ} t t j | | | ƒ t  j | | | ƒ ƒ d  S(   Ni    i
   R   i   (   i   (   R   R%   Rw   R   R&   R1   R   t   apply_over_axes(   t	   func_namet   funcR'   Ra   R[   R   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_apply_over_axesd  s
    c         C` s`   t  j j d d |  ƒ } t j | d t |  ƒ d ƒ} t t j | | ƒ t  j | | ƒ ƒ d  S(   Ni    i
   R   i   (   i   (   R   R%   Rw   R   R&   R1   R   t   ptp(   R'   RL   R[   R   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_ptpƒ  s    t   nc         C` sf   t  j j d d |  ƒ } t j | d t |  ƒ d ƒ} t t j | | | ƒ t  j | | | ƒ ƒ d  S(   Ni    i
   R   i   (   i   (   R   R%   Rw   R   R&   R1   R   t   diff(   R'   R‡   RL   R   R[   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt	   test_diff‘  s    s   to_end, to_beginc         C` sf   t  j j d d |  ƒ } t j | d t |  ƒ d ƒ} t t j | | | ƒ t  j | | | ƒ ƒ d  S(   Ni    i
   R   i   (   i   (   R   R%   Rw   R   R&   R1   R   t   ediff1d(   R'   t   to_endt   to_beginR   R[   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_ediff1d£  s    
s   shape, varargs, axisg      ð?g      ø?g       @g      à?t
   edge_orderc   
      C` s$  t  j j d d |  ƒ } t j | d t |  ƒ d ƒ} t  j | d | d | | Œ} t j | d | d | | Œ} t | t ƒ r’ t	 | | ƒ nŽ t | ƒ t | ƒ k s° t
 ‚ x* t | | ƒ D] \ } }	 t	 | |	 ƒ qÀ Wt	 t j t t t j | ƒ ƒ ƒ t  j t t t  j | ƒ ƒ ƒ ƒ d  S(   Ni    i
   R   i   RL   RŽ   (   i   (   R   R%   Rw   R   R&   R1   t   gradientR   R   R   R   R2   t   sqrtRs   t   mapt   square(
   R'   t   varargsRL   RŽ   R[   t   d_at   r_at   r_d_at   e_r_d_at   e_r_a(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_gradient³  s    c          C` sø   t  j d d d d d g ƒ }  t j |  d d ƒ} t j | d d ƒ} t | t  j |  d d ƒƒ t t j | d d ƒ| ƒ sˆ t ‚ t j | d d ƒj t j | d d ƒj k s¾ t ‚ t j | d d ƒj t j | d d ƒj k sô t ‚ d  S(   Ni   i   i   R   t	   minlengthi   i   (	   R   R   R   R&   t   bincountR   R	   R   RG   (   R   R   t   e(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_bincountÙ  s    $6c          C` s×   t  j d d d d d g ƒ }  t j |  d d ƒ} t  j d d d d d g ƒ } t j | d d ƒ} t j | d | d d ƒ} t | t  j |  d | j ƒ  d d ƒƒ t t j | d | d d ƒ| ƒ sÓ t ‚ d  S(	   Ni   i   i   R   g      à?t   weightsRš   i   (	   R   R   R   R&   R›   R   t   computeR	   R   (   R   R   Rž   t   dweightsRœ   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_bincount_with_weightsä  s    (c          C` s˜   t  j d d d d d g ƒ }  t j |  d d ƒ} t j | ƒ } t | t  j |  ƒ ƒ t t j | ƒ | ƒ sv t ‚ t | j	 ƒ  ƒ d k s” t ‚ d  S(   Ni   i   i   i    R   i   i   (
   R   R   R   R&   R›   R   R	   R   R1   RŸ   (   R   R   Rœ   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt#   test_bincount_unspecified_minlengthï  s    c       	   C` sb  t  j d d d d d g ƒ }  t  j d d d d d g ƒ } xq d d g D]c } xZ t t g D]L } t j |  d | ƒ} t t j | | d | ƒt  j |  | d | ƒƒ q\ WqI Wt  j j d	 d ƒ }  t  j j d	 d ƒ } | j	 ƒ  xw d d d d g D]c } xZ t t g D]L } t j |  d | ƒ} t t j | | d | ƒt  j |  | d | ƒƒ q
Wq÷ Wd  S(   Ni   i   i   i   i   i   R   t   rightRD   id   i   i
   i   i   iW   i6   (   id   id   (   i
   i
   (   i
   i   (   i   i   (   iW   i6   (
   R   R   t   FalseR   R   R&   R   t   digitizeR%   t   sort(   R   t   binsR   R£   R   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_digitizeø  s    !
c          C` sÞ   d }  t  j j |  d d ƒ} t j d d d ƒ } t  j | d | ƒ\ } } t j | d | ƒ\ } } | j d d ƒ |  k s‡ t ‚ | j d d ƒ |  k s¥ t ‚ t | | ƒ t t  j | d | ƒd | ƒ sÚ t ‚ d  S(	   Nid   R   i
   i    g)\Âõ(ð?g{®Gáz„?R§   RL   (	   R   R%   R   R<   t	   histogramRs   R   R   R	   (   R‡   t   vR§   t   a1t   b1t   a2t   b2(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_histogram  s    c          C` sx   t  j j d d d ƒ}  t  j |  d d d d ƒ\ } } t j |  d d d d	 ƒ\ } } t | | ƒ t | | ƒ d  S(
   Nid   R   i
   R§   RO   i    i   (   i    i   (   i    i   (   R   R%   R©   R   R   (   Rª   R«   R¬   R­   R®   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt%   test_histogram_alternative_bins_range  s
    !!c          C` sŠ   t  j t j d t j d g ƒ d d ƒ}  t  j |  d d d d
 ƒ\ } } t j |  d d d d ƒ\ } } t | | ƒ t | | ƒ d  S(   Niþÿÿÿi   R   i   R§   i
   RO   iýÿÿÿi   (   iýÿÿÿi   (   iýÿÿÿi   (   R   R&   R   R   t   nanR©   R   (   Rª   R«   R¬   R­   R®   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt(   test_histogram_bins_range_with_nan_array"  s
    *!!c          C` s‡   t  j j d d d ƒ}  t j d d d ƒ } t j d d d d	 d
 ƒ} t t  j |  d d | ƒd t j |  d d | ƒd ƒ d  S(   Nid   R   i
   i    g)\Âõ(ð?g{®Gáz„?i   i   R   R   R§   (   R   R%   R   R<   R   R©   (   Rª   R§   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_histogram_return_type+  s
    c          C` sm  t  j d d d ƒ }  t j j d d d ƒ} | |  t j d d | j ƒd f t j j d d d ƒ|  t j d d d ƒd f g } xà | D]Ø \ } }  } t t j | d	 |  d
 t ƒd t  j | d	 |  d
 t ƒd ƒ t t j | d	 |  d | ƒd t  j | d	 |  d | ƒd ƒ t t j | d	 |  d | d
 t ƒd t j | d	 |  d | d
 t ƒd ƒ q Wd  S(   Ni    g)\Âõ(ð?g{®Gáz„?id   R   i
   i   i2   R§   t   densityRž   (   i2   i2   (   i2   i2   (	   R   R<   R   R%   R   R   R   R©   R   (   R§   Rª   t   datat   w(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt$   test_histogram_extra_args_and_shapes4  s    "7  %c       
   C` s‰   t  j d ƒ }  t j t ƒ ) } t  j |  d d d d g d t ƒWd  QXd t | j ƒ k sd t	 ‚ d t | j ƒ j
 ƒ  k s… t	 ‚ d  S(	   Ni
   R§   i   i   i   t   normedR´   t
   deprecated(   R   R<   R?   R@   RA   R©   R   t   strt   valueR   t   lower(   R   t   info(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt!   test_histogram_normed_deprecationH  s
    (s   bins, hist_rangec      
   C` s€   t  j j d d d ƒ} t j t ƒ   } t  j | d |  d | ƒWd  QXt | j ƒ } d | k sj t ‚ d | k s| t ‚ d  S(   Ni
   R   i   R§   RO   (	   R   R%   R?   R@   RA   R©   Rº   R»   R   (   R§   t
   hist_rangeRµ   R½   t   err_msg(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_histogram_bin_range_raisesQ  s    c       
   C` s£  t  j d ƒ j d ƒ }  t j |  d d ƒ} t t j | ƒ t  j |  ƒ ƒ t t j | d d ƒt  j |  d d ƒƒ t j d  ƒ 0 t t j | d d	 ƒt  j |  d d	 ƒƒ Wd  QXt t j | d
 d ƒt  j |  d
 d ƒƒ t t j | | ƒ t  j |  |  ƒ ƒ t  j d ƒ } t j | d d ƒ} t t j | | ƒ t  j |  | ƒ ƒ t t j | | ƒ t  j | |  ƒ ƒ t j
 t ƒ  t j | d d ƒWd  QXd  S(   Ni8   i   i   R   i   t   rowvari    t   ddofi
   t   biasi   g      ø?(   i   i   (   i   i   (   i   (   R   R<   R=   R   R&   R   t   covR?   Rc   RN   R@   RA   (   R   R   R   Rœ   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_cov_  s    +1+%%%c          C` s  t  j d ƒ j d ƒ }  t j |  d d	 ƒ} t t j | ƒ t  j |  ƒ ƒ t t j | d d ƒt  j |  d d ƒƒ t t j | | ƒ t  j |  |  ƒ ƒ t  j d ƒ } t j | d d
 ƒ} t t j | | ƒ t  j |  | ƒ ƒ t t j | | ƒ t  j | |  ƒ ƒ d  S(   Ni8   i   i   R   i   RÂ   i    (   i   i   (   i   i   (   i   (   R   R<   R=   R   R&   R   t   corrcoef(   R   R   R   Rœ   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_corrcoeft  s    +%%c          C` s}   t  j j d ƒ }  t j |  d d ƒ} x- d D]% } t |  j | ƒ | j | ƒ ƒ q. Wt | j d ƒ t j | d ƒ ƒ d  S(	   Ni
   R   i   i    i   i   i   (   i    i   i   i   (   R   R%   R   R&   R   t   round(   R   R   RT   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt
   test_roundƒ  s
    #t   return_indext   return_inverset   return_countsc         C` sV  t  d |  d | d | ƒ } t j d d d d d d g ƒ } t j | d d
 ƒ} t j | |  } t j | |  } t |  | | g ƒ sÏ t | t j ƒ s¢ t	 ‚ t | t j
 ƒ sº t	 ‚ | f } | f } n  t | ƒ t | ƒ k sí t	 ‚ | r%d t |  ƒ } | j f | | j k s%t	 ‚ n  x* t | | ƒ D] \ }	 }
 t |
 |	 ƒ q5Wd  S(   NRË   RÌ   RÍ   i   i   i   i   R   i   (   i   (   t   dictR   R   R   R&   t   uniquet   anyR   t   ndarrayR   R   R1   t   intRD   R'   R2   R   (   RË   RÌ   RÍ   RR   R[   R   R•   t   r_dRT   R˜   t   e_r_d(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_unique_kwargs  s&    	!	"RU   i   i  s	   low, highc         C` sí   t  j j |  ƒ t  j j | | d | ƒ} t j | d | ƒ} t d t d t d t ƒ } t  j | |  } t j | |  }	 t	 | ƒ t	 |	 ƒ k s t
 ‚ | j f |	 d j k s¼ t
 ‚ x* t | |	 ƒ D] \ }
 } t | |
 ƒ qÌ Wd  S(   NRD   R   RË   RÌ   RÍ   i   (   R   R%   RU   Rw   R   R&   RÎ   R   RÏ   R1   R   RD   R'   R2   R   (   RU   t   lowt   highR'   R   R[   R   RR   R•   RÓ   R˜   RÔ   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_unique_rand®  s    	s   elements_shape, elements_chunkss   test_shape, test_chunkst   invertc      	   C` sÇ   t  j j |  ƒ } | j | | d | ƒ}	 t j |	 d | ƒ}
 | j | | d | ƒd } t j | d | ƒ} t j d  ƒ 5 t  j	 |	 | d | ƒ} t j	 |
 | d | ƒ} Wd  QXt
 | | ƒ d  S(   NRD   R   i   RÙ   (   R   R%   t   RandomStateRw   R   R&   R?   Rc   RN   t   isinR   (   RU   RÖ   R×   t   elements_shapet   elements_chunkst
   test_shapet   test_chunksRÙ   t   rngR«   R^   R­   R_   R•   RÓ   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_isin_randÏ  s    t   assume_uniquec         C` sz   t  j d ƒ } t j | d d ƒ} t  j d d d ƒ } t  j | | d |  ƒ} t j | | d |  ƒ} t | | ƒ d  S(   Ni
   R   i   i    i   Râ   (   i   (   R   R<   R   R&   RÛ   R   (   Râ   R«   R^   t   test_elementsR•   RÓ   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_isin_assume_uniqueð  s    c         C` s'   y t  |  ƒ SWn t k
 r" d SXd  S(   Ni    (   R1   t	   TypeError(   t   l(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt
   _maybe_lenû  s    R   t   shifti	   c         C` s²   t  j j d d d ƒ} t j | d |  ƒ} t | ƒ t | ƒ k rƒ t j | d  k r] t	 n t
 ƒ  t j | | | ƒ Wd  QXn+ t t  j | | | ƒ t j | | | ƒ ƒ d  S(   Ni
   RD   i   i   R   (   i   i   (   R   R%   Rw   R   R&   Rç   R?   R@   RN   Rå   RA   t   rollR   (   R   Rè   RL   R   R[   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt	   test_roll  s    "c          C` sq  t  j j d d d
 ƒ}  x} d d g D]o } t j |  d | ƒ} t |  j ƒ  | j ƒ  ƒ t | j ƒ  j ƒ t | j ƒ t | j	 d ƒ k s% t
 ‚ q% Wt |  d j ƒ  | d j ƒ  ƒ | j ƒ  } t | j ƒ  | ƒ t  j j d d d ƒ}  xB d d g D]4 } t j |  d | ƒ} t |  j ƒ  | j ƒ  ƒ qý Wt |  j ƒ  | j ƒ  ƒ t t  j |  ƒ t j | ƒ ƒ d  S(   Ni
   RD   i   i   i   R   i    i   i   (   i   i   (   i   i   (   i   i   (   i    i    (   i    i    (   i   i   i   (   i   i   i   (   R   R%   Rw   R   R&   R   t   ravelR1   t   daskR   R   t   flatten(   R   R   R[   t   a_flat(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt
   test_ravel  s    ?!c          C` sw   t  j j d d d ƒ}  t j |  d d ƒ} t | j ƒ  |  j ƒ  ƒ t | | d k j ƒ  |  |  d k j ƒ  ƒ d  S(   Ni
   RD   id   R   i   (   R   R%   Rw   R   R&   R   Rë   (   R   Rh   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_ravel_1D_no_op*  s    t   is_funcc         ` sƒ  t  j d ƒ d  d  d  … d  d  f ‰  t j ˆ  d d	 ƒ} |  rm t  j ˆ  d ˆ ƒ} t j | d ˆ ƒ} n$ ˆ  j d ˆ ƒ } | j d ˆ ƒ } t | | ƒ t | t j | d ˆ ƒƒ sÂ t ‚ ˆ d  k ræ t	 t
 ˆ  j ƒ ƒ ‰ n: t ˆ t	 ƒ rû ˆ n ˆ f ‰ t	 ‡  f d †  ˆ Dƒ ƒ ‰ t	 ‡ f d †  t | j ƒ Dƒ ƒ ‰ t	 ‡ f d †  t | j ƒ Dƒ ƒ } | j | k st ‚ d  S(
   Ni
   R   i   i   RL   c         3` s   |  ] } | ˆ  j  Vq d  S(   N(   RP   (   R-   RT   (   R[   (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pys	   <genexpr>G  s    c         3` s9   |  ]/ \ } } | ˆ  k r t  | ƒ d  k r | Vq d S(   i   N(   R1   (   R-   RT   R.   (   RL   (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pys	   <genexpr>I  s    c         3` s'   |  ] \ } } | ˆ  k r | Vq d  S(   N(    (   R-   RT   R.   (   RL   (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pys	   <genexpr>M  s    (   i   i   i   i   (   R   R<   RN   R   R&   t   squeezeR   R	   R   R/   RO   RP   R   t	   enumerateR   (   Rñ   RL   R   t   a_st   d_st   exp_d_s_chunks(    (   R[   RL   s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_squeeze3  s$    %$""c          C` sÂ   t  j d ƒ }  t  j d ƒ } t j d d d ƒ} t j d d d ƒ} t t  j |  | f ƒ t j | | f ƒ ƒ t t  j |  | d  d  d  … f f ƒ t j | | d  d  d  … f f ƒ ƒ d  S(   Ni   R   i   (   R   R<   R   R   R   t   vstackRN   (   R   R   R[   R\   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_vstackR  s    +c          C` sâ   t  j d ƒ }  t  j d ƒ } t j d d d ƒ} t j d d d ƒ} t t  j |  d  d  d  … f | d  d  d  … f f ƒ t j | d  d  d  … f | d  d  d  … f f ƒ ƒ t t  j |  | f ƒ t j | | f ƒ ƒ d  S(   Ni   R   i   (   R   R<   R   R   R   t   hstackRN   (   R   R   R[   R\   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_hstack\  s    56c       	   C` sY  t  j d ƒ }  t  j d ƒ } t j d d d ƒ} t j d d d ƒ} t t  j |  d  d  d  d  … f | d  d  d  d  … f f ƒ t j | d  d  d  d  … f | d  d  d  d  … f f ƒ ƒ t t  j |  d  d  d  … f | d  d  d  … f f ƒ t j | d  d  d  … f | d  d  d  … f f ƒ ƒ t t  j |  | f ƒ t j | | f ƒ ƒ d  S(   Ni   R   i   (   R   R<   R   R   R   t   dstackRN   (   R   R   R[   R\   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_dstackg  s    ;<56s   np_func,dsk_func,nan_chunkc   	      C` s½   d } t  j | d d ƒ} t j | ƒ } t | j ƒ } t j f d | | <t | ƒ | _ t j t	 ƒ  | | | f ƒ Wd  QX|  | | f ƒ } | | | f d t
 ƒ} t | | ƒ d  S(   Nid   R   i2   i   t   allow_unknown_chunksizes(   id   id   id   (   i2   i2   i2   (   R   R   R   t   listt   _chunksR±   R/   R?   R@   RA   R   R   (	   R    t   dsk_funct	   nan_chunkR'   R   R   t   tmpt
   np_stackedt   dsk_stacked(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_stack_unknown_chunk_sizest  s    c       	   C` s  t  j d ƒ j d ƒ }  t j |  d d ƒ} t t  j |  d d d ƒt j | d d d ƒƒ t t  j |  d d d g d d	 ƒt j | d d d g d d	 ƒƒ t j t	 ƒ  t j | d d d
 ƒWd  QXt
 t j | d d d g d d	 ƒt j | d d d g d d	 ƒƒ st ‚ d  S(   Ni  i   R   i   i   RL   i    i   iÿÿÿÿi   (   i   i   (   i   i   (   R   R<   R=   R   R&   R   t   takeR?   R@   RA   R	   R   (   R   R[   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt	   test_takeŠ  s    1C!c       	   C` s¢   t  j d ƒ j d ƒ }  t j t  j d d d d d d g ƒ d d ƒ} t j |  d | ƒ } | j | j k sv t ‚ t	 | t  j d d d	 d	 d d g ƒ ƒ d  S(
   Ni   t   f8i   i   i   R   g       @g      @g      @(
   R   R<   t   astypeR   R&   R   R  R   R   R   (   R   R   t   z(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_take_dask_from_numpy˜  s
    0c       
   C` så  t  j d ƒ j d
 ƒ }  t j |  d d ƒ} t  j t t t t t g ƒ } t  j t t g ƒ } t t g } t j | d d ƒ} t j | d d ƒ} xÞ | | f | | f | | f | | f | | f | | f g D]  \ } } x‘ d  d d g D]€ }	 t j	 | | d |	 ƒ}
 t
 t  j	 | |  d |	 ƒ|
 ƒ t | t j ƒ rï |	 pGd }	 t  j |
 j |	 ƒ j ƒ  sot ‚ qï qï WqÓ Wt j t ƒ ! t j	 t t g | d d	 ƒWd  QXt j t ƒ ' t j	 t g t g g | d d	 ƒWd  QXd  S(   Ni   i   R   i   i   i    i   RL   id   (   i   i   (   i   i   (   R   R<   R=   R   R&   R   R   R¤   RN   t   compressR   R   R   t   isnanR   t   allR   R?   R@   RA   (   R   R[   t   c1t   c2t   c3t   dc1t   dc2R.   t   dcRL   t   res(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_compress¢  s&    +-"c          C` ss  t  j d ƒ j d ƒ }  t j |  d d	 ƒ} t  j t t t t t g ƒ } t  j t t g t t g g ƒ } t  j t t g ƒ } t j | d d ƒ} t j | d d
 ƒ} t j | d d ƒ} x¬ | | f | | f | | f | | f | | f | | f g D]n \ } }	 t j |	 | ƒ }
 t	 t  j | |  ƒ |
 ƒ t
 |	 t j ƒ rý t  j |
 j d ƒ j ƒ  skt ‚ qý qý Wd  S(   Ni   i   R   i   i   i   i    (   i   i   (   i   i   (   i   i   (   R   R<   R=   R   R&   R   R   R¤   t   extractR   R   R   R  R   R  R   (   R   R[   R  R  R  R  R  t   dc3R.   R  R  (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_extract¼  s    !+c          C` sƒ   t  j d t  j g ƒ }  t j |  d d ƒ} t t ƒ D t t j | ƒ t  j	 |  ƒ ƒ t t j
 | ƒ t  j	 |  ƒ ƒ Wd  QXd  S(   Ni   R   i   (   i   (   R   R   R±   R   R&   R   t   ImportErrorR   t   isnullR  t   notnull(   R   R[   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_isnullÏ  s
    c          C` sr   t  j t j d d t j ƒd d ƒ}  t t ƒ 9 t  j |  d ƒ j ƒ  } t	 | ƒ t j
 k sh t ‚ Wd  QXd  S(   Ni   R   R   iÿÿÿÿi    (   R   R&   R   R<   t   int64R   R  R  RŸ   R0   RÑ   R   (   t   arrt   result(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_isnull_result_is_an_array×  s    'c          C` s›   t  j d t  j d d g ƒ }  t  j d t  j d d g ƒ } t j |  d d ƒ} t j | d d	 ƒ} t t j | | d t ƒt  j |  | d t ƒƒ d  S(
   Ni    i   g      ø?g•Ö&è.>i   R   t	   equal_nan(   i   (   i   (   R   R   R±   R   R&   R   t   iscloseR   (   R   R   R[   R\   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_iscloseß  s    c          C` s´   t  j d t  j d d g ƒ }  t  j d t  j d d g ƒ } t j |  d d ƒ} t j | d d	 ƒ} t  j |  | d t ƒ} t j | | d t ƒ} t t  j | ƒ d
 | ƒ d  S(   Ni    i   g      ø?g•Ö&è.>i   R   R#  (   i   (   i   (    (   R   R   R±   R   R&   t   allcloseR   R   (   t   n_at   n_bR”   t   d_bt   n_rt   d_r(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_allcloseè  s    c          C` s  t  j j d d d	 ƒ}  t j |  d d
 ƒ} t t j | d k d | g ƒ t  j |  d k d |  g ƒ ƒ t t j | d k | | g ƒ t  j |  d k |  |  g ƒ ƒ | d k } |  d k } t | j d | g ƒ | j d |  g ƒ ƒ t | j | | g ƒ | j |  |  g ƒ ƒ d  S(   Ni
   RD   i   i   R   i   i   i    (   i   i   (   i   i   (   R   R%   Rw   R   R&   R   t   choose(   R   R   t
   index_daskt   index_numpy(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_chooseõ  s    =?+c       	   C` s´   t  j j d ƒ t  j j d d d ƒ}  t j |  d d ƒ} t t  j |  |  d k  |  d k g d	 „  d g d
 d d ƒt j | | d k  | d k g d „  d g d
 d d ƒƒ d  S(   Ni9  i
   RD   i   i   R   i   i   c         S` s   |  d S(   Ni   (    (   Rœ   Rª   t   k(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyRq     Rr   i   R1  i   c         S` s   |  d S(   Ni   (    (   Rœ   Rª   R1  (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyRq     Rr   (   i   i   (   i   i   (   R   R%   RU   Rw   R   R&   R   t	   piecewise(   R   R   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_piecewise  s    6c       	   C` sÆ   t  j j d ƒ t  j j d d d ƒ}  t j |  d d ƒ} t t  j |  |  d k |  d	 k g d
 „  d „  d „  g d d d	 ƒt j | | d k | d	 k g d „  d „  d „  g d d d	 ƒƒ d  S(   Ni9  i
   RD   i   i   R   i   i   i   c         S` s   |  d S(   Ni   (    (   Rœ   Rª   R1  (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyRq     Rr   c         S` s   | |  S(   N(    (   Rœ   Rª   R1  (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyRq     Rr   c         S` s   d S(   Ni    (    (   Rœ   Rª   R1  (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyRq     Rr   i   R1  c         S` s   |  d S(   Ni   (    (   Rœ   Rª   R1  (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyRq      Rr   c         S` s   | |  S(   N(    (   Rœ   Rª   R1  (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyRq      Rr   c         S` s   d S(   Ni    (    (   Rœ   Rª   R1  (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyRq      Rr   (   i   i   (   i   i   (   R   R%   RU   Rw   R   R&   R   R2  (   R   R   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_piecewise_otherwise  s    c          C` sŽ   x‡ d d	 f d
 d f d d f g D]d \ }  } t  j j d d |  ƒ} t j | d | ƒ} t  j | ƒ } t j | ƒ } t | | ƒ q" Wd  S(   Ni    i   i   i   i   i
   RD   R   (    (   i    i    (   i    i    (   i   i   (   i   i   (   R   R%   Rw   R   R&   t   argwhereR   (   R'   R   R   R   t   x_nzt   d_nz(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_argwhere&  s    .c          C` se   t  j j d d d ƒj t ƒ }  t j |  d d	 ƒ} t  j |  ƒ } t j | ƒ } t | | ƒ d  S(
   Ni
   RD   i   i   R   i   i   (   i   i   (   i   i   (	   R   R%   Rw   R
  t   objectR   R&   R5  R   (   R   R   R6  R7  (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_argwhere_obj1  s
    !c          C` sY   t  j t d ƒ ƒ }  t j |  d d ƒ} t  j |  ƒ } t j | ƒ } t | | ƒ d  S(   Ns   Hello worldR   i   (   i   (   R   R   Rÿ   R   R&   R5  R   (   R   R   R6  R7  (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_argwhere_str;  s
    c    
   
   C` sw  t  j j d d d
 ƒ}  d |  d <|  d <t j |  d d ƒ} t  j j d d d ƒj t  j ƒ } t j | d d ƒ} xø | d k |  d k f | |  f d d d t t f t  j t  j f t	 t	 f t  j
 t  j
 f g	 D]™ \ } } xŠ d | d  d  … d  f | d  d  … d  f f | d  | d  f g D]C \ } } t j | | | ƒ } t  j | |  | ƒ }	 t | |	 ƒ q(WqÖ Wd  S(   Ni
   RD   i   i   i    i   i   R   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   (   i   i   (   i    i    (   i   i   (   i    i    (   R   R%   Rw   R   R&   R
  t   uint8R   t   True_R¤   t   False_RN   t   whereR   (
   R   R   R   Rœ   R  R  R¬   R®   t   w1t   w2(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt
   test_whereE  s$    $			Rc    	      C` sä   t  j d ƒ }  t  j d d d g d t  j ƒ} t  j d d d g ƒ } t j | d d	 ƒ} t j | d d	 ƒ} t  j | |  | ƒ } t j | |  | ƒ } t | | ƒ t  j t |  | ƒ } t j t |  | ƒ } t | | ƒ d  S(
   Ni   i   i   i   R   i   i    R   i   (	   R   t   int32R   t   int16R   R&   R?  R   R   (	   R   t   y1R  t   y2R  R@  RA  t   w3t   w4(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_where_scalar_dtype[  s    !c          C` sâ   t  j j d d d
 ƒ}  t j |  d d ƒ} t  j j d d d ƒ} t j | d d ƒ} x t t t  j t  j d d	 g D]a } t j	 | | | ƒ } t  j	 | |  | ƒ } t
 | | ƒ | rÂ | n | } | | k sy t ‚ qy Wd  S(   Ni
   RD   i   i   R   i   i   i   i    (   i   i   (   i   i   (   i   i   (   i   i   (   R   R%   Rw   R   R&   R   R¤   R=  R>  R?  R   R   (   R   R   R   Rœ   R.   R@  RA  t   ex_w1(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_where_bool_optimizationj  s    %c          C` sì   xå d d	 f d
 d f d d f g D]Â \ }  } t  j j d d |  ƒ} t j | d | ƒ} t  j | ƒ } t j | ƒ } t | t | ƒ ƒ s” t ‚ t	 | ƒ t	 | ƒ k s² t ‚ x/ t
 t	 | ƒ ƒ D] } t | | | | ƒ qÅ Wq" Wd  S(   Ni    i   i   i   i   i
   RD   R   (    (   i    i    (   i    i    (   i   i   (   i   i   (   R   R%   Rw   R   R&   R?  R   R0   R   R1   RO   R   (   R'   R   R   R   t   x_wt   d_wRT   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_where_nonzero{  s    .c          C` s…   t  j d d d ƒ}  xi d d g D][ } i |  | 6} y t  j |  d k |  Wq" t k
 r| } d t | ƒ k s} t ‚ q" Xq" Wd  S(   Ni   R   i   R   R   i    s1   either both or neither of x and y should be given(   R   R   R?  RA   Rº   R   (   R[   t   kwdRR   Rœ   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_where_incorrect_argsŠ  s    c          C` s»   x´ d d	 f d
 d f d d f g D]‘ \ }  } t  j j d d |  ƒ} t j | d | ƒ} t  j | ƒ } t j | ƒ } | j t ƒ  k r¦ | | j ƒ  k s³ t	 ‚ q" t
 | | ƒ q" Wd  S(   Ni    i   i   i   i   i
   RD   R   (    (   i    i    (   i    i    (   i   i   (   i   i   (   R   R%   Rw   R   R&   t   count_nonzeroR'   R/   RŸ   R   R   (   R'   R   R   R   t   x_ct   d_c(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_count_nonzero•  s    .c         C` s¸   x± d	 d
 f d d f g D]— \ } } t  j j d d | ƒ} t j | d | ƒ} t  j | |  ƒ } t j | |  ƒ } | j t ƒ  k r£ | | j ƒ  k s° t	 ‚ q t
 | | ƒ q Wd  S(   Ni    i   i   i   i   i
   RD   R   (   i    i    (   i    i    (   i   i   (   i   i   (   R   R%   Rw   R   R&   RQ  R'   R/   RŸ   R   R   (   RL   R'   R   R   R   RR  RS  (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_count_nonzero_axis£  s    %c          C` s’   t  j j d d d ƒj t ƒ }  t j |  d d	 ƒ} t  j |  ƒ } t j | ƒ } | j t	 ƒ  k r | | j
 ƒ  k sŽ t ‚ n t | | ƒ d  S(
   Ni
   RD   i   i   R   i   i   (   i   i   (   i   i   (   R   R%   Rw   R
  R9  R   R&   RQ  R'   R/   RŸ   R   R   (   R   R   RR  RS  (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_count_nonzero_obj²  s    !c         C` s¤   t  j j d d d ƒj t ƒ } t j | d d	 ƒ} t  j | |  ƒ } t j | |  ƒ } | j t	 ƒ  k r‡ | | j
 ƒ  k s  t ‚ n t | j t  j ƒ | ƒ d  S(
   Ni
   RD   i   i   R   i   i   (   i   i   (   i   i   (   R   R%   Rw   R
  R9  R   R&   RQ  R'   R/   RŸ   R   R   t   intp(   RL   R   R   RR  RS  (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_count_nonzero_obj_axis¿  s    !c          C` sd   t  j t d ƒ ƒ }  t j |  d d ƒ} t  j |  ƒ } t j | ƒ } | | j ƒ  k s` t ‚ d  S(   Ns   Hello worldR   i   (   i   (   R   R   Rÿ   R   R&   RQ  RŸ   R   (   R   R   RR  RS  (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_count_nonzero_strÒ  s
    c          C` sŽ   x‡ d d	 f d
 d f d d f g D]d \ }  } t  j j d d |  ƒ} t j | d | ƒ} t  j | ƒ } t j | ƒ } t | | ƒ q" Wd  S(   Ni    i   i   i   i   i
   RD   R   (    (   i    i    (   i    i    (   i   i   (   i   i   (   R   R%   Rw   R   R&   t   flatnonzeroR   (   R'   R   R   R   t   x_fnzt   d_fnz(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_flatnonzeroÜ  s    .c          C` sì   xå d d	 f d
 d f d d f g D]Â \ }  } t  j j d d |  ƒ} t j | d | ƒ} t  j | ƒ } t j | ƒ } t | t | ƒ ƒ s” t ‚ t	 | ƒ t	 | ƒ k s² t ‚ x/ t
 t	 | ƒ ƒ D] } t | | | | ƒ qÅ Wq" Wd  S(   Ni    i   i   i   i   i
   RD   R   (    (   i    i    (   i    i    (   i   i   (   i   i   (   R   R%   Rw   R   R&   t   nonzeroR   R0   R   R1   RO   R   (   R'   R   R   R   R6  R7  RT   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_nonzeroç  s    .c          C` sæ   xß d d	 f d
 d f d d f g D]¼ \ }  } t  j j d d |  ƒ} t j | d | ƒ} | j ƒ  } | j ƒ  } t | t | ƒ ƒ sŽ t ‚ t	 | ƒ t	 | ƒ k s¬ t ‚ x/ t
 t	 | ƒ ƒ D] } t | | | | ƒ q¿ Wq" Wd  S(   Ni    i   i   i   i   i
   RD   R   (    (   i    i    (   i    i    (   i   i   (   i   i   (   R   R%   Rw   R   R&   R^  R   R0   R   R1   RO   R   (   R'   R   R   R   R6  R7  RT   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_nonzero_methodö  s    .s   1.14.0t   reasons@   NumPy 1.14.0+ needed for `unravel_index` to take an empty shape.c          C` s¤   t  ƒ  }  t j d d t ƒ} t j | d d ƒ} t j | |  ƒ } t j | |  ƒ } t | t | ƒ ƒ sr t	 ‚ t
 | ƒ t
 | ƒ k o• d k n s  t	 ‚ d  S(   Ni    R   R   i   (   R/   R   R   RÒ   R   R&   t   unravel_indexR   R0   R   R1   (   R'   t   findicest
   d_findicest   indicest	   d_indices(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_unravel_index_empty  s    	c    
      C` sv  xod d d f d d d f d d d f d d d f d d d f d d d f g D]\ }  } } t  j j | ƒ } t j | d	 d ƒ} t  j j t  j | d
 t ƒd |  ƒ} t j | d	 d ƒ} t  j | | | ƒ } t j | | | ƒ } t | t	 | ƒ ƒ st
 ‚ t | ƒ t | ƒ k s$t
 ‚ x/ t t | ƒ ƒ D] }	 t | |	 | |	 ƒ q7Wt | j | | | ƒ qO Wd  S(   Ni    i   t   Ci   i   t   Fi   i   R   R   RD   (   i   (   i   (   i   (   i   (   i   i   (   i   i   (   R   R%   R   R&   Rw   t   prodRÒ   Rb  R   R0   R   R1   RO   R   t   vindex(
   t   nindicesR'   t   orderR   t   darrRc  Rd  Re  Rf  RT   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_unravel_index  s"    'c          C` sÑ   t  j j d d d
 ƒ}  t j |  d d ƒ} t t j j t  j |  i d d 6d d	 6ƒ t j t  j | i d d 6d d	 6ƒ ƒ t t j j t  j |  i d d 6d d	 6ƒ t j t j | i d d 6d d	 6ƒ ƒ d  S(   Ni
   RD   i   R   i   i   i   i    i   (   i   i   (   i   i   (	   R   R%   Rw   R   R&   R   t   chunkt   coarsenRs   (   R   R   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_coarsen.  s    )')c          C` s   t  j d d d ƒ}  t t  j t j |  i d d 6d t ƒt j d d g ƒ ƒ t t  j t j |  i d d 6d t ƒt j d d g ƒ ƒ d  S(   Ni
   R   i   i   i    t   trim_excessi   i   i   i   i   i   i   i   (	   R   R<   R   Rq  R   Rt   R   R   Rs   (   R   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_coarsen_with_excess8  s
    %%c          C` s½  t  j j d d d ƒ}  t j |  d d ƒ} t  j j d d d ƒ} t j | d d ƒ} t t  j |  d d d d ƒt j | d d d d ƒƒ t t  j |  d	 d d d ƒt j | d	 d d d ƒƒ t t  j |  d d d d
 ƒt j | d d d d
 ƒƒ t t  j |  d d d d ƒt j | d d d d ƒƒ t t  j |  d d	 d	 g d d d
 ƒt j | d d	 d	 g d d d
 ƒƒ t t  j |  d d	 d d d d g d d d ƒt j | d d	 d d d d g d d d ƒƒ t t  j |  t d
 d ƒ d d d
 ƒt j | t d
 d ƒ d d d
 ƒƒ t t  j |  d g d	 d g d | d d ƒt j | d g d	 d g d | d d ƒƒ t t  j |  d | d d d
 ƒt j | d | d d d
 ƒƒ t t j | d d	 d d d d g d d d ƒt j | d d	 d d d d g d d d ƒƒ s t	 ‚ t
 j t ƒ $ t j | d d g d d d ƒWd  QXt
 j t ƒ ! t j | d	 g d d d ƒWd  QXt
 j t ƒ ! t j | d	 g d d d ƒWd  QXd  S(   Ni
   RD   R   i   i   i    iÿÿÿÿRL   i   i   iþÿÿÿi   i   iýÿÿÿ(   i
   i
   (   i   i   (   i   i
   (   i   i   (   R   R%   Rw   R   R&   R   t   insertt   sliceR	   R   R?   R@   t   NotImplementedErrorR
   (   R   R[   R   R\   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_insert@  s4    7777$%-.$%-. -6%"c       	   C` s¤   t  j j d d d	 ƒ}  t j |  d d
 ƒ} t t  j t  j |  d d g d d d ƒd g d d d ƒt j t j | d d g d d d ƒd g d d d ƒƒ d  S(   Ni
   RD   i   i   R   i    iÿÿÿÿRL   (   i   i   (   i   i   (   R   R%   Rw   R   R&   R   Ru  (   R  R.   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_multi_insertb  s    9c          C` s>  t  j t j d t j ƒ d d ƒ}  t  j t j d t j ƒ d d ƒ} t  j t j d t j ƒ d d	 ƒ} t j d t j ƒ } t  j | | ƒ t j k s¢ t ‚ t  j |  | | ƒ t j	 k sÆ t ‚ t  j | t j ƒ t j k sê t ‚ t  j | t j
 t j ƒ ƒ t j k st ‚ t  j | | ƒ t j k s8t ‚ t  j d | ƒ t j k sYt ‚ t  j d |  ƒ t j k szt ‚ t  j t j d ƒ | ƒ t j k s¤t ‚ t  j t j d
 t j ƒ | ƒ t j k sÔt ‚ t  j d |  ƒ t j	 k sõt ‚ t  j t j d t j	 ƒ d d ƒ} t  j |  | ƒ t j	 k s:t ‚ d  S(   Ni   R   i   i   g      ð?gZb××çti(   i   (   i   (   i   (    (    (    (   R   R&   R   R   t   float32RD  R  t   result_typeR   t   float64R   (   R[   R\   R.   R   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_result_typei  s     $$$!$$-!!!*0!$c   
      ` sL  i	 d d 6d d 6d d 6d d 6d d 6d	 d
 6d d 6d d 6d d 6‰ i	 d d 6d d 6d d 6d d 6d d 6d d
 6d d 6d d 6d d 6‰  ‡ f d †  } ‡  f d †  } g  |  D] } | | ƒ ^ q¯ } g  |  D] } | | ƒ ^ qÎ } g  | D] } t  j j | ƒ ^ qí } g  t | | ƒ D]! \ } } t j | d | ƒ^ q}	 | |	 f S(   Ni   R[   i   R\   i   R.   R   Rœ   i
   t   fi   t   gi   t   hi   t   *i   i   c         ` s   t  ‡  f d †  |  Dƒ ƒ S(   Nc         3` s   |  ] } ˆ  | Vq d  S(   N(    (   R-   R.   (   t   _dimensions(    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pys	   <genexpr>Š  s    (   R/   (   t   s(   R‚  (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   _shape_from_string‰  s    c         ` s   t  ‡  f d †  |  Dƒ ƒ S(   Nc         3` s   |  ] } ˆ  | Vq d  S(   N(    (   R-   R.   (   R   (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pys	   <genexpr>  s    (   R/   (   Rƒ  (   R   (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   _chunks_from_stringŒ  s    R   (   i   i   (   i   i   i   (   i   i   i   (   i   i   (   i   i   (   i   i   i   i   (   i   i   (   R   R%   R2   R   R&   (
   t
   input_sigsR„  R…  Rƒ  t   shapesR   t	   np_inputsRT   R.   t	   da_inputs(    (   R   R‚  s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   _numpy_and_dask_inputs~  s    %7t   einsum_signatures   abc,bad->abcds   abcdef,bcdfg->abcdegs   ea,fb,abcd,gc,hd->efghs   ab,bt   aas   a,a->s   a,a->as   a,as   a,bs   a,b,cR[   s   ba,bs   ba,b->s   defab,fedbc->defacs   ab...,bc...->ac...s   a...as   abc...->cba...s   ...ab->...as   a...a->a...s   ...abc,...abcd->...ds   ab...,b->ab...s   aa->as
   ab,ab,c->cs
   aab,bc->acs   aab,bcc->acs   fdf,cdd,ccd,afe->aes   fff,fae,bef,def->abdc      	   C` sy   |  j  d ƒ d j d d ƒ j  d ƒ } t | ƒ \ } } t j d  ƒ * t t j |  | Œ t	 j |  | Œ ƒ Wd  QXd  S(   Ns   ->i    s   ...R  t   ,(
   t   splitt   replaceRŠ  R?   Rc   RN   R   R   t   einsumR   (   R‹  R†  Rˆ  R‰  (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_einsum˜  s     	t   optimize_optst   greedyt   optimalc         C` s¦   d } | j  d ƒ d j  d ƒ } t | ƒ \ } } |  \ } } t t j | d | | Œt j | d | | Œƒ t t j | d | | Œt j | d | | Œƒ d  S(   Ns   ea,fb,abcd,gc,hd->efghs   ->i    R  t   optimize(   RŽ  RŠ  R   R   R  R   (   R’  t   sigR†  Rˆ  R‰  t   opt1t   opt2(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_einsum_optimizeÃ  s    Rm  Rh  Ri  t   At   Kc         C` si   d } | j  d ƒ d j  d ƒ } t | ƒ \ } } t t j | d |  | Œt j | d |  | Œƒ d  S(   Ns   ea,fb,abcd,gc,hd->efghs   ->i    R  Rm  (   RŽ  RŠ  R   R   R  R   (   Rm  R–  R†  Rˆ  R‰  (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_einsum_orderÖ  s
    t   castingt   not   equivt   safet	   same_kindt   unsafec         C` si   d } | j  d ƒ d j  d ƒ } t | ƒ \ } } t t j | d |  | Œt j | d |  | Œƒ d  S(   Ns   ea,fb,abcd,gc,hd->efghs   ->i    R  R  (   RŽ  RŠ  R   R   R  R   (   R  R–  R†  Rˆ  R‰  (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_einsum_castingà  s
    t   split_everyc         C` sA   t  d ƒ \ } } t t j d | Œ t j d d |  | Œƒ d  S(   NR[   R¤  (   RŠ  R   R   R  R   (   R¤  Rˆ  R‰  (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_einsum_split_everyë  s    c          C` sH   t  d ƒ \ }  } t j t ƒ ! t j d d d d d | ŒWd  QXd  S(   NR[   t   fooi   t   bari   (   RŠ  R?   R@   Rå   R   R  (   t   _R‰  (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_einsum_invalid_argsò  s    c          C` sX  t  j j d d d ƒ }  t  j j d d ƒ } t  j j d d ƒ } t  j j d ƒ } t j |  d d d d f ƒ} t j | d d d f ƒ} t j | d d d f ƒ} t j | d d ƒ} t  j d
 |  | | ƒ } t j d
 | | | ƒ }	 t | |	 ƒ |	 | }
 t  j d |  | | | ƒ } t j d | | | | ƒ }	 t | |	 ƒ t | |
 ƒ d  S(   Ni   i   i   i   i
   R   i   i   i   s	   ijk,kl,jls   ijk,kl,jl,i->i(   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   R   R%   t   randR   R&   R  R   (   R[   R\   R.   R   R”   R)  RS  t   d_dt   np_rest   da_rest   mul_res(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt$   test_einsum_broadcasting_contractionø  s     
c          C` sa  t  j j d d d d ƒ }  t  j j d d ƒ } t  j j d d ƒ } t  j j d d ƒ } t j |  d d d d d f ƒ} t j | d d d f ƒ} t j | d d d f ƒ} t j | d d ƒ} t  j d	 |  | | ƒ } t j d	 | | | ƒ }	 t | |	 ƒ |	 | }
 t  j d
 |  | | | ƒ } t j d
 | | | | ƒ }	 t | |	 ƒ t | |
 ƒ d  S(   Ni   i   i   i   i   R   i   i   s
   abjk,kl,jls   abjk,kl,jl,ab->ab(   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”   R)  RS  R«  R¬  R­  R®  (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt%   test_einsum_broadcasting_contraction2  s     !
c    
      C` s  t  j j d d d ƒ }  t  j j d d d ƒ } t  j j d d ƒ } t  j j d d ƒ } t j |  d d d
 d f ƒ} t j | d d d d f ƒ} t j | d d d f ƒ} t j | d d ƒ} t  j d	 |  | | | ƒ } t j d	 | | | | ƒ }	 t | |	 ƒ d  S(   Ni   i   i   i   i   R   i   i   s   ajk,kbl,jl,ab->ab(   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”   R)  RS  R«  R¬  R­  (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt%   test_einsum_broadcasting_contraction3&  s    t   returnedc         C` sP   t  j |  d d ƒ} t j |  d | ƒ} t  j | d | ƒ} t | | ƒ d  S(   NR   i   R²  (   R   R&   R   t   averageR   (   R[   R²  R”   t   np_avgt   da_avg(    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_average6  s    c          C` sž   t  j d ƒ j d
 ƒ }  t j |  d d ƒ} t  j d d g ƒ } t j | d d ƒ} t  j |  d | d d	 ƒ} t j | d | d d	 ƒ} t | | ƒ d  S(   Ni   i   i   R   g      Ð?g      è?Rž   RL   i   (   i   i   (   R   R<   R=   R   R&   R   R³  R   (   R[   R”   Rž   t	   d_weightsR´  Rµ  (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_average_weightsC  s    c       
   C` sƒ   t  j d d d ƒ}  t j t ƒ ! t  j |  d d d d g ƒWd  QXt j t ƒ ' t  j |  d t  j |  ƒ ƒj	 ƒ  Wd  QXd  S(   Ni   R   i   Rž   i   i   (
   R   R<   R?   R@   Rå   R³  Rc   t   RuntimeWarningt
   zeros_likeRŸ   (   R”   (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   test_average_raisesP  s
    "(   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   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   (   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   (    (   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    (   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   (   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   (   i
   (   i
   i   (   i
   i   i   (    (   i
   i   i   (   i   (   i
   i   i   (   g      ð?g      ø?g       @(   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   (   NN(   i
   N(   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   (   i   i   (   i   i   (   i   i	   (   i   i   (   i    i   (   i   i    (   i    iÿÿÿÿ(   i   (   i    i   (   i   (   i    i   (   i   i   (†   t
   __future__R    R   R   RW   t   numbersR   R?   t   distutils.versionR   t   importorskipR   t
   dask.arrayR   R   t   dask.compatibilityR   t
   dask.utilsR   t   dask.array.utilsR   R	   R
   R   t   markt   parametrizeR$   R/   R,   Rÿ   t   combinations_with_replacementR;   RB   RC   RH   RS   R`   Re   Rf   Ri   Rk   Rn   Rp   R{   R„   RN   R†   R‰   R   t   expR<   R™   R   R¡   R¢   R¨   R¯   R°   R²   R³   R·   R¾   RÁ   RÆ   RÈ   RÊ   R¤   R   RÕ   RØ   Rá   Rä   Rç   Rê   Rï   Rð   R÷   Rù   Rû   Rý   Rú   Rü   Rø   R  R  R  R  R  R  R"  R%  R,  R0  R3  R4  R8  R:  R;  RB  RI  RK  RN  RP  RT  RU  RV  RX  RY  R]  R_  R`  t   skipift   __version__Rg  Ro  Rr  Rt  Rx  Ry  R}  RŠ  R‘  R™  Rœ  R£  R¥  R©  R¯  R°  R±  R=   R¶  R¸  R»  (    (    (    s=   lib/python2.7/site-packages/dask/array/tests/test_routines.pyt   <module>   sH  																																						
								
															*	6$'																	
*			!						0$	!6			-	
		$		
												
	
						*	*	
						
		"					*
!
$				'
	