ó
¦–Õ\c        
   @` sù  d  d l  m Z m Z m Z d  d l Z d  d l Z e j d ƒ Z d  d l Z d  d l	 j
 Z d  d l m Z m Z d  d l m Z d  d l j Z d „  Z e j j d d d	 g ƒ e j j d
 e e g ƒ d „  ƒ ƒ Z e e d „ Z e j j d d d	 g ƒ d „  ƒ Z e e d „ Z d „  Z e j j e j j d d d	 g ƒ d „  ƒ ƒ Z e j j d d g e j e j f e j  e j  f e j! e j! f e j" e j" f g ƒ d „  ƒ Z# e j j d d g e j! e j! f e j" e j" f g ƒ d „  ƒ Z$ e j j d d d g ƒ d „  ƒ Z% e j j 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 d d d  d! d" d# g ƒ d$ „  ƒ Z, d% „  Z- d& „  Z. d' „  Z/ e d( „ Z0 d) „  Z1 d* „  Z2 d+ „  Z3 e j j d e j4 e j  g ƒ d, „  ƒ Z5 e j j d d- d. d/ d0 g ƒ e j j d1 e e g ƒ e j j d2 d d  d3 d4 g ƒ d5 „  ƒ ƒ ƒ Z7 e j j d e j8 e j9 g ƒ d6 „  ƒ Z: e j j d7 e j; e j< f e j= e j> f g ƒ e j j d8 d d9 d: d; g ƒ d< „  ƒ ƒ Z? e j j d7 e j; e j< f e j= e j> f g ƒ e j j d8 d d9 d= d: g ƒ e j j d> d3 d9 d= d: d? d@ g ƒ dA „  ƒ ƒ ƒ Z@ dB „  ZA e j j d e j8 e j9 e j e j  e jB e jC e jD e jE g ƒ dC „  ƒ ZF dD „  ZG d S(E   i    (   t   absolute_importt   divisiont   print_functionNt   numpy(   t	   assert_eqt	   same_keys(   t   get_depsc         C` s   t  |  | d t ƒd  S(   Nt	   equal_nan(   t
   _assert_eqt   True(   t   at   b(    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyR      s    t   dtypet   f4t   i4t   keepdimsc         C` s£  t  j d ƒ } t t j j | d d d | d |  ƒt  j | d d d | d |  ƒƒ x– t | j ƒ D]… } x| t	 j
 g  t | j ƒ D] } | ^ q„ | ƒ D]L } t t j j | d | d | d |  ƒt  j | d | d | d |  ƒƒ qš Wqe Wx® t | j ƒ D] } x” t	 j
 g  t | j ƒ D] } | ^ q| ƒ D]d } t  j j t | ƒ ƒ } t t j j | d | d | d |  ƒt  j | d | d | d |  ƒƒ q3Wqþ Wd  S(	   Ni   i   i   t   axisi    R   R   (   i   i   i   (   t   npt   onesR   t   dat
   reductionst   numelt   sumt   ranget   ndimt	   itertoolst   combinationst   randomt   shufflet   list(   R   R   t   xt   lengtht   dt   subt   ssub(    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt
   test_numel   s    $"5$*5$c         C` sª  t  |  | ƒ | | ƒ ƒ t  |  | d t ƒ| | d t ƒƒ t |  | ƒ |  | ƒ ƒ s_ t ‚ t |  | d t ƒ|  | d t ƒƒ sŒ t ‚ | rt  |  | d d ƒ| | d d ƒƒ t  |  | d d ƒ| | d d ƒƒ t |  | d d ƒ|  | d d ƒƒ st ‚ n  | r¦|  | d d ƒ} |  | d i d d 6ƒ} t | | ƒ sRt ‚ t  | | | ƒ ƒ t  | | | ƒ ƒ t  |  | d t d d ƒ| | d t ƒƒ n  d  S(   NR   R   t   f8t   i8t   split_everyi   i    (   R   R	   R   t   AssertionError(   t   da_funct   darrt   np_funct   narrt	   use_dtypeR&   t   a1t   a2(    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   reduction_1d_test(   s     %!-%%0c         C` sÓ  t  j d ƒ j |  ƒ } t j | d d ƒ} t t j | t  j | ƒ t t j | t  j | ƒ t t j | t  j | ƒ t t j	 | t  j	 | ƒ t t j
 | t  j
 | ƒ t t j | t  j | t ƒ t t j | t  j | t ƒ t t j | t  j | t ƒ t t j | t  j | t ƒ t t j | t  j | ƒ t t j | t  j | ƒ t t j | t  j | ƒ t t j | t  j	 | ƒ t t j | t  j
 | ƒ t t j | t  j | t ƒ t t j | t  j | t ƒ d  S(   Ni   t   chunksi   (   i   (   R   t   aranget   astypeR   t
   from_arrayR/   R   t   prodt   meant   vart   stdt   mint   Falset   maxt   anyt   allt   nansumt   nanprodt   nanmeant   nanvart   nanstdt   nanmint   nanmax(   R   R   R
   (    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   test_reductions_1D;   s$    c         C` sW  t  j d t ƒ ?t |  | ƒ | | ƒ ƒ t |  | d t ƒ| | d t ƒƒ t |  | d d ƒ| | d d ƒƒ t |  | d d ƒ| | d d ƒƒ t |  | d d ƒ| | d d ƒƒ t |  | d d ƒ| | d d ƒƒ t |  | d d d t ƒ| | d d d t ƒƒ t |  | d d ƒ| | d d ƒƒ t |  | d d ƒ|  | d d ƒƒ sht ‚ t |  | d d ƒ|  | d d ƒƒ s•t ‚ | rèt |  | d d	 ƒ| | d d	 ƒƒ t |  | d d
 ƒ| | d d
 ƒƒ n  | rM|  | d d ƒ} |  | d i d d 6d d 6ƒ} t | | ƒ s5t ‚ t | | | ƒ ƒ t | | | ƒ ƒ t |  | d t d d ƒ| | d t ƒƒ t |  | d d d d ƒ| | d d ƒƒ t |  | d d d t d d ƒ| | d d d t ƒƒ t |  | d d d d ƒ| | d d ƒƒ t |  | d d d t d d ƒ| | d d d t ƒƒ n  Wd  QXd  S(   Nt   recordR   R   i    i   iÿÿÿÿiþÿÿÿR   R$   R%   R&   i   i   (   i   i    (   i   i    (   i   i    (   i   i    (   t   warningst   catch_warningsR	   R   R   R'   (   R(   R)   R*   R+   R,   R&   R-   R.   (    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   reduction_2d_testS   s:    %%%%%%--%( ++c          C` se   t  j d d d ƒ}  t j t ƒ  |  j d d ƒ Wd  QXt j t ƒ  |  j d d ƒ Wd  QXd  S(	   Ni   R0   i   R   i   iýÿÿÿ(   i   i   (   i   i   (   R   R   t   pytestt   raisest
   ValueErrorR   (   R   (    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   test_reduction_errorsw   s
    c         C` s'  t  j d d ƒ j d ƒ j |  ƒ } t j | d d	 ƒ} | j d t ƒ } | j ƒ  | j	 d d f g g k su t
 ‚ t t j | t  j | ƒ t t j | t  j | ƒ t t j | t  j | ƒ t t j | t  j | t ƒ t t j | t  j | t ƒ t t j | t  j | t ƒ t t j | t  j | t ƒ t t j | t  j | t ƒ t t j | t  j | t ƒ t t j | t  j | ƒ t t j | t  j | ƒ t t j | t  j | ƒ t t j | t  j | t ƒ t t j | t  j | t ƒ t t j | t  j | t ƒ t t j | t  j | t ƒ d  S(
   Ni   iz   i   R0   i   R   i    (   i   i   (   i   i   (   R   R1   t   reshapeR2   R   R3   R   R	   t   __dask_keys__t   nameR'   RH   R4   R5   R6   R9   R7   R8   R:   R;   R<   R=   R>   R?   R@   RA   RB   RC   (   R   R   R
   R   (    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   test_reductions_2D   s(    $*t   dfunct   funcc      	   ` sé  t  j j d ƒ } t j | d d ƒ‰  t ˆ ˆ  ƒ | | ƒ ƒ t ˆ ˆ  d ƒ | | d ƒ ƒ t ˆ ˆ  d ƒ | | d ƒ ƒ t ˆ ˆ  d ƒ | | d ƒ ƒ t j d	 d ƒ { t ˆ ˆ  ƒ | | ƒ ƒ t ˆ ˆ  d ƒ | | d ƒ ƒ t ˆ ˆ  d ƒ | | d ƒ ƒ t ˆ ˆ  d ƒ | | d ƒ ƒ Wd  QXt j t	 ‡  ‡ f d
 †  ƒ t j t
 ‡  ‡ f d †  ƒ t  j d ƒ } t j | d d ƒ} t ˆ | ƒ | | ƒ ƒ t ˆ | d ƒ | | d ƒ ƒ t ˆ | d d	 d ƒ| | d ƒ ƒ d  S(   Ni
   R0   i   i   i   i    i   i   R&   c           ` s   ˆ ˆ  d ƒ S(   Ni   (    (    (   R
   RQ   (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   <lambda>­   t    c           ` s   ˆ ˆ  d ƒ S(   Ni    i   (   i    i   (    (    (   R
   RQ   (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyRS   ®   RT   (   i
   i
   i
   (   i   i   i   (   R   R   R   R3   R   t   configt   setRI   RJ   RK   t	   TypeErrorR1   (   RQ   RR   R   t   x2R.   (    (   R
   RQ   s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   test_arg_reductions›   s$    %c         C` sI  t  j j d	 ƒ } t  j | d <t j | d d
 ƒ} t |  | ƒ | | ƒ ƒ t |  | d ƒ | | d ƒ ƒ t j t ƒ . t j	 d  ƒ  |  | d ƒ j ƒ  Wd  QXWd  QXt j t ƒ . t j	 d  ƒ  |  | d ƒ j ƒ  Wd  QXWd  QXt  j | (t j | d d ƒ} t j t ƒ + t j	 d  ƒ  |  | ƒ j ƒ  Wd  QXWd  QXd  S(   Ni
   i   R0   i   i   i    i   i   (   i
   i
   i
   (   i   i   i   (   i   i   i   (   R   R   t   nanR   R3   R   RI   RJ   RK   t   warnst   Nonet   compute(   RQ   RR   R   R
   (    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   test_nanarg_reductions·   s     
t   argmaxt	   nanargmaxc         C` so   t  j d d d ƒ} | | d k } t j t ƒ  } t t  |  ƒ | ƒ Wd  QXd t | j ƒ k sk t ‚ d  S(   Ni
   R0   i   i   s   unknown chunksize(	   R   R1   RI   RJ   RK   t   getattrt   strt   valueR'   (   RR   R   t   info(    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt%   test_arg_reductions_unknown_chunksizeÐ   s
    c         C` s“   t  j d d d ƒ} | | d d  d  … f d k d  d  … f } t j t ƒ  t t  |  ƒ | d d ƒWd  QXt t  |  ƒ | d d ƒj ƒ  d  S(	   Ni
   R0   i   i    R   i   (   i
   i
   (   i   i   (   R   R   RI   RJ   RK   Ra   R]   (   RR   R   (    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt(   test_arg_reductions_unknown_chunksize_2dÛ   s
    ,c         C` sƒ   t  j d d d ƒ} | | d d  d  … f d k d  d  … f } t t  |  ƒ | d d ƒj ƒ  t t  |  ƒ | d d ƒj ƒ  d  S(   Ni
   R0   i    R   i   (   i
   i
   (   i
   i
   (   R   R   Ra   R]   (   RR   R   (    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt,   test_arg_reductions_unknown_single_chunksizeæ   s    ,c          C` s  t  j d
 t  j ƒ }  t  j d d g d d g g ƒ |  d  d … d  d … f <d |  d <d |  d <t j |  d d ƒ} t t j | t  j |  t t ƒ t t j	 | t  j	 |  t t ƒ t t j
 | t  j
 |  t t ƒ t t j | t  j |  t t ƒ t t j | t  j |  t t ƒ t t j | t  j |  t t ƒ t t j | t  j |  t t ƒ t t j | t  j |  t t ƒ t t j | t  j |  t t ƒ t t j | t  j |  t t ƒ t t j | t  j |  t t ƒ t t j | t  j |  t t ƒ t j d  ƒ $ t t j | t  j |  t t ƒ Wd  QXt j d  ƒ $ t t j | t  j |  t t ƒ Wd  QXt j d  ƒ $ t t j | t  j |  t t ƒ Wd  QXt j d  ƒ $ t t j | t  j |  t t ƒ Wd  QXt t j | ƒ t  j |  ƒ ƒ t t j | ƒ t  j |  ƒ ƒ t j d  ƒ $ t t j | ƒ t  j |  ƒ ƒ Wd  QXt j d  ƒ $ t t j | ƒ t  j |  ƒ ƒ Wd  QXt t j | d d	 ƒt  j |  d d	 ƒƒ t t j | d d	 ƒt  j |  d d	 ƒƒ t j d  ƒ 0 t t j | d d	 ƒt  j |  d d	 ƒƒ Wd  QXt 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 | d d ƒt  j |  d d ƒƒ t j d  ƒ 0 t t j | d d ƒt  j |  d d ƒƒ Wd  QXt j d  ƒ 0 t t j | d d ƒt  j |  d d ƒƒ Wd  QXd  S(   Ni   i   i   i   i   i   R0   R   i    (   i   i   (   i   i   (   i   i   (   i   i   (    R   t   fullRZ   t   arrayR   R3   RH   R   R9   R4   R5   R6   R7   R8   R:   R;   R<   R=   R>   R?   RI   R[   R\   R@   RA   RB   RC   R   R_   t   argminR`   t	   nanargmin(   R   R
   (    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   test_reductions_2D_nansï   sV    7

%%%%%%++11++1c          C` sÊ  d  d „ }  t j d d d g d ƒ j d ƒ d } t j | d d	 ƒ} t | j d
 ƒ |  | d
 ƒ ƒ t | j d ƒ |  | d ƒ ƒ t | j d ƒ |  | d ƒ ƒ t j d d ƒ j d ƒ j	 d ƒ } t j | d d ƒ} t | j d d d ƒ|  | d d d ƒƒ t | j d d d ƒ|  | d d d ƒƒ t | j d d d d ƒ |  | d ƒ ƒ t | j d d d d d d ƒ |  | d d d ƒƒ t | j d d d d d d ƒ |  | d d d ƒƒ d  S(   Nc         S` sC   |  |  j  d | d t ƒ | j d | ƒ t j |  ƒ j d | ƒ S(   NR   R   (   R5   R	   R   R   t	   ones_like(   R   t   nR   (    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   moment"  s    )g      ð?g       @g      @i
   i   g    „×—AR0   i   i   i   i   iz   i   R$   R   i    t   orderR&   (   i   i
   (   i   i   (   i   i   (   i   i    (   i   i    (
   R\   R   Ri   RM   R   R3   R   Ro   R1   R2   (   Ro   R   R
   (    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   test_moment!  s    )$++(4c          C` sÅ   t  j j d ƒ }  t j |  d d ƒ} t | j d d ƒ |  j d d ƒ ƒ t | j d d d d ƒ |  j d d ƒ ƒ t | j d d ƒ |  j d d ƒ ƒ t | j d d	 ƒ |  j d d
 ƒ ƒ d  S(   Ni   R0   i   R   iÿÿÿÿR&   i    (   i   i   i   (   i    iÿÿÿÿ(   i    iÿÿÿÿ(   R   R   R   R3   R   Rj   R   (   R   R
   (    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt"   test_reductions_with_negative_axes8  s    %+%c          C` så  t  j d t  j d d g d d d t  j g d d d	 d
 g g ƒ }  t j |  d d ƒ} t t  j |  ƒ t j | ƒ ƒ t t  j |  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 t  j	 |  d d ƒt j	 | d d ƒƒ t t  j
 |  ƒ t j
 | ƒ ƒ t t  j |  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 t  j |  ƒ t j | ƒ ƒ d  S(   Ni   i   i   i   i   i   i	   i
   i   i   R0   i   R   i    (   i   i   (   i    i   (   i    i   (   R   Ri   RZ   R   R3   R   R=   R?   RB   RC   R@   RA   Rk   R`   R>   (   R   R    (    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   test_nanC  s    +++++++R=   R   RB   R8   RC   R:   c         C` sý   t  j d t  j d d g d d d t  j g d d d	 d
 g g ƒ j t ƒ } t j | d d ƒ} t t t  |  ƒ | d d ƒt t |  ƒ | d d ƒƒ t t t  |  ƒ | d d ƒt t |  ƒ | d d ƒƒ t t t  |  ƒ | ƒ t t |  ƒ | ƒ ƒ d  S(   Ni   i   i   i   i   i   i	   i
   i   i   R0   i   R   i    (   i   i   (	   R   Ri   RZ   R2   t   objectR   R3   R   Ra   (   RR   R   R    (    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   test_nan_objectU  s    !77c          C` s¾   t  j t  j d d d ƒd d ƒj ƒ  }  t j t j d ƒ ƒ } t |  ƒ t | ƒ k s` t ‚ t  j t  j d d d ƒƒ j ƒ  }  t j t j d ƒ ƒ } t |  ƒ t | ƒ k sº t ‚ d  S(   Ni   R0   R   i    i   (	   R   R5   R   R]   R   t   typeR'   R   t   zeros(   R   t   y(    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   test_0d_arrayb  s    *$c          C` s:   t  j t j d ƒ d d ƒ}  |  |  k j ƒ  s6 t ‚ d  S(   Ng      ð?R0   (    (   R   R3   R   Ri   R<   R'   (   R   (    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   test_reduction_on_scalarl  s    c       
   C` s  t  j d	 d d ƒ}  |  j ƒ  } t  j d
 d d ƒ} | j ƒ  } xÄ |  | f | | f g D]ª \ } } t j d  ƒ  t | j ƒ  | j ƒ  ƒ t | j d d ƒ | j d d ƒ ƒ t | j d d ƒ | j d d ƒ ƒ t | j d d ƒ | j d d ƒ ƒ Wd  QXq[ Wd  S(   Ni
   i    i   R0   i   R   i   i   (   i
   i    i   (   i    i    i    (   R   R   R]   RI   R[   R\   R   R5   (   t   dx1t   x1t   dx2RX   t   dxR   (    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt    test_reductions_with_empty_arrayq  s    %%%c         C` sp   t  |  j ƒ \ } } | rE t t t | j ƒ  ƒ ƒ | k sl t ‚ n' t t t | j ƒ  ƒ ƒ | k sl t ‚ d  S(   N(   R   t   daskR:   t   mapt   lent   valuesR'   (   R   Rn   t   eqt   dependenciest
   dependents(    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   assert_max_deps  s    *c          C` sA  t  j t j d ƒ j d ƒ d d ƒ}  i d d 6d d	 6} t |  j d
 | ƒ d ƒ t |  j d d d
 | ƒ d ƒ t |  j d d	 d
 | ƒ d ƒ t |  j d
 d ƒ d t ƒ t |  j d d d
 d ƒ d ƒ t |  j d d	 d
 d ƒ d ƒ t  j t j d ƒ j d ƒ d d ƒ}  i d d 6d d	 6d d 6} t |  j d
 | ƒ d ƒ t |  j d d d
 | ƒ d ƒ t |  j d d	 d
 | ƒ d ƒ t |  j d d d
 | ƒ d ƒ t |  j d d d
 | ƒ d ƒ t |  j d d d
 | ƒ d ƒ t |  j d d d
 | ƒ d ƒ t |  j d
 d ƒ d t ƒ t |  j d d d
 d ƒ d ƒ t |  j d d	 d
 d ƒ d ƒ t |  j d d d
 d ƒ d ƒ t |  j d d  d
 d ƒ d t ƒ t |  j d d! d
 d ƒ d t ƒ t |  j d d" d
 d ƒ d t ƒ t |  j d d# d
 d ƒ d$ ƒ t |  j d d% d
 d ƒ d& ƒ t |  j d d' d
 d ƒ d( ƒ d  S()   Niò   i   i   R0   i   i   i   i    i   R&   R   i   i   i   i   i(   (   i   i   (   i   i   i   iò   ij  (   i   i   i   (   i   i   i   i   i   (   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   R3   R   R1   RM   R‡   R   R9   (   R   t   thresh(    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   test_tree_reduce_depth‡  s6    ''"""c          C` s~   t  j t j d ƒ j d ƒ d d ƒ}  t j d i d d	 6d d
 6ƒ 1 t |  j ƒ  d ƒ t |  j d d	 ƒ d ƒ Wd  QXd  S(   Niò   i   i   R0   i   i   R&   i   i    i   R   (   i   i   (   i   i   i   (	   R   R3   R   R1   RM   RU   RV   R‡   R   (   R   (    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   test_tree_reduce_set_options¨  s    '!c          C` sá   t  j d d d ƒ}  |  j ƒ  j j d ƒ s3 t ‚ d |  j ƒ  j j d ƒ d k s[ t ‚ |  j ƒ  j j d ƒ sy t ‚ |  j	 ƒ  j j d	 ƒ s— t ‚ t
 d
 „  t  j |  ƒ j Dƒ ƒ s¿ t ‚ |  j ƒ  j j d ƒ sÝ t ‚ d  S(   Ni   R0   i   R   R:   t   -i    R6   R<   c         s` s"   |  ] } | d  j  d ƒ Vq d S(   i    R=   N(   t
   startswith(   t   .0t   k(    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pys	   <genexpr>µ  s    R5   (   i   (   R   R   R   RO   RŒ   R'   R:   t   splitR6   R<   R;   R=   R€   R5   (   R   (    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   test_reduction_names¯  s    ((c         C` sf   t  j d d d ƒ} t  j d	 d d
 ƒ} |  | d d d | ƒt | |  t j d ƒ d d ƒƒ d  S(   Ni
   R0   i   i   R   i    t   out(   i   (   i
   i
   (   i   i   (   i
   i
   (   R   R1   R   R   R   (   RR   R   Rx   (    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   test_array_reduction_out¹  s    t   cumsumt   cumprodt	   nancumsumt
   nancumprodt   use_nanR   i   iÿÿÿÿc   
      C` s¥   t  t |  ƒ } t  t |  ƒ } d
 } t j t j | ƒ ƒ j | ƒ } | r[ t j | d <n  t j | d d ƒ} | | d	 | ƒ} | | d	 | ƒ}	 t | |	 ƒ d  S(   Ni
   i   i   i   R0   i   i   i   R   (   i
   i   i   (   i   i   i   (	   Ra   R   R   R1   R4   RM   RZ   R3   R   (
   RR   R—   R   R*   R(   t   sR
   R    t   a_rt   d_r(    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   test_array_cumreduction_axisÂ  s    !c         C` sQ   t  j d d d ƒ} |  | d d d | ƒt | |  t j d	 ƒ d d ƒƒ d  S(
   Ni
   R0   i   R   i    R‘   (   i
   i
   (   i   i   (   i
   i
   (   R   R   R   R   (   RR   R   (    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   test_array_cumreduction_outÕ  s    s   npfunc,daskfuncR&   i   i   i   c         C` sL  d } t  j j d ƒ } t  j j d ƒ } t j | d d ƒ} t j | d d ƒ} t |  | ƒ | d  d  d … | | | d | ƒƒ t |  | ƒ |  | | | d | ƒƒ t |  | d d ƒ| d  … d  d  … d  d  … f d  d  d … d  d  … d  d  … f | | | d d d | ƒƒ t |  | d d ƒd  d  … | d  … d  d  … f d  d  … d  d  d … d  d  … f | | | d d d | ƒƒ t |  | d d ƒd  d  … d  d  … | d  … f d  d  … d  d  … d  d  d … f | | | d d d | ƒƒ t j t ƒ  | | | d d d | ƒWd  QXt |  | d d ƒd  | … d  d  … d  d  … f | | | d d d | ƒƒ t |  | d d ƒd  d  … d  | … d  d  … f | | | d d d | ƒƒ t |  | d d ƒd  d  … d  d  … d  | … f | | | d d d | ƒƒ t j t ƒ  | | | d d d | ƒWd  QXd  S(   Ni   i   i
   i   i   R0   ix   iP   id   iÈ   i,  i   i   iÿÿÿÿR&   R   i    i   i   (   i
   i   i   (   ix   iP   id   iÈ   i,  (   (   ix   iP   id   iÈ   i,  (   i   i   i   (   R   R   R   R3   R   RI   RJ   RK   (   t   npfunct   daskfuncR&   RŽ   t   npat   npbR
   R   (    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   test_topk_argtopk1Ü  s2    TTT111i   t	   chunksizei   i
   c         C` sŒ   t  j j d ƒ } t j | d | ƒ} d } t |  | ƒ | d d d … | | | d | ƒƒ t |  | ƒ |  | | | d | ƒƒ d S(   s4   Fine test use cases when k is larger than chunk sizei
   R0   i   NiÿÿÿÿR&   (   i
   (   R   R   R   R3   R   (   R   Rž   R&   R¢   RŸ   R
   RŽ   (    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   test_topk_argtopk2  s    c       	   C` s   t  j j d d d ƒ}  t |  j d d d	 d
 d ƒt  j |  d d d	 d
 d ƒƒ t |  j d d d	 d
 d ƒt  j |  d d d	 d
 d ƒƒ d  S(   Ni
   i   i   R0   i   i   i   R   i   R&   i   (   i
   i   i   (   i   i   i   (   R   R   R   t   topkt   argtopk(   R
   (    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   test_topk_argtopk3  s
    c         C` s›   t  j d d d ƒ} |  | ƒ j |  | d ƒ j k s= t ‚ |  | d d ƒj |  | ƒ j k sg t ‚ |  | d d ƒj |  | d d ƒj k s— t ‚ d  S(	   Ni   i   R0   i   R   i    (   i   i   (   i   i   (   R   R   RO   R'   (   RR   R
   (    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   test_regres_3940)  s    (*c          C` sƒ  d „  }  t  j d ƒ j d ƒ } t j | d ƒ } |  | | ƒ |  | | d ƒ |  | | d ƒ |  | | d ƒ t  j d ƒ j d ƒ } t j | d	 ƒ } |  | | ƒ |  | | d ƒ |  | | d ƒ |  | | d ƒ |  | | d d d ƒ |  | | d d d	 ƒ |  | | d d d	 t ƒ |  | | d d d	 t ƒ |  | | d
 d d d d d	 d t ƒ|  | | d
 d d d d d	 d t ƒd  S(   Nc         _` s%   t  |  j | | Ž  | j | | Ž  ƒ S(   N(   R   t   trace(   R
   R   t   argst   kwargs(    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   _assert5  s    i   i   i   i   i    iÿÿÿÿi   i   t   offsett   axis1t   axis2R   (   i   i   (   i   i   i   (   R   R1   RM   R   R3   t   intt   float(   R«   R   R
   (    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt
   test_trace4  s&    	%(H   t
   __future__R    R   R   RF   RI   t   importorskipR   R   t
   dask.arrayRi   R   t   dask.array.utilsR   R   R   t	   dask.coreR   t   dask.configRU   t   markt   parametrizeR	   R9   R#   R/   RD   RH   RL   t   slowRP   Rj   R_   Rk   R`   RY   R^   Re   Rf   Rg   Rl   Rq   Rr   Rs   Ru   Ry   Rz   R   R‡   R‰   RŠ   R   R   R’   R\   R›   R“   R”   Rœ   t   sortR¤   t   argsortR¥   R¡   R£   R¦   R8   R:   R=   RC   R§   R±   (    (    (    s?   lib/python2.7/site-packages/dask/array/tests/test_reductions.pyt   <module>   s|   	'$#		'!!$$$		2				
			!		
0*-+6	
