ó
¦–Õ\c        	   @   s9  d  d l  Z  e  j d ƒ d  d l Z d  d l j Z d  d l m Z m	 Z	 y d  d l
 Z
 Wn e k
 rs d Z
 n Xe  j j d e  j d d e  j j e
 d d ƒƒd	 g ƒ Z e d
 „  ƒ Z e  j j d „  ƒ Z e d „  ƒ Z e e  j j d d d e j d ƒ e j d ƒ g ƒ d „  ƒ ƒ Z e d „  ƒ Z d S(   iÿÿÿÿNt   numpy(   t	   assert_eqt	   same_keyst   methodt   tdigestt   markst   reasons   Requires crickt   daskc      	   C   sÙ  t  j d d d ƒ} d d d g } t t  j | | d |  ƒt j d d d g d	 | j ƒƒ t j d d d
 d
 d
 d
 d d g ƒ } t  j | d d ƒ} t  j | | d |  ƒ} t | t j d d
 d g d	 | j ƒƒ t t  j | | d |  ƒt  j | | d |  ƒƒ st	 ‚ t t  j | | d |  ƒt  j | d d g d |  ƒƒ sSt	 ‚ |  d k rÕt j d d d d d d g ƒ } t  j | d d ƒ} t t  j | d d d g ƒ t j d d d g d	 | j ƒƒ n  d  S(   Ni   t   chunksi   i    i2   id   R   i   t   dtypei   i   i   R   t   at   dt   e(   i   (   i   (   i   (   i   (
   t   dat   onesR   t
   percentilet   npt   arrayR	   t
   from_arrayR   t   AssertionError(   R   R   t   qst   xt   result(    (    s@   lib/python2.7/site-packages/dask/array/tests/test_percentiles.pyt   test_percentile   s$    "'"!(!c          C   s'  y d d  l  }  Wn t k
 r$ d  SX|  j d d d d d d g ƒ } |  j d d d d d d g ƒ } i | d 6| d 6} t j | d d	 d ƒ} t j | d g ƒ } | j ƒ  j | j k j ƒ  sÌ t	 ‚ | j ƒ  j
 d g k j ƒ  sð t	 ‚ t t j | d g ƒ t j | d g ƒ ƒ s#t	 ‚ d  S(   Niÿÿÿÿt   Alicet   Bobt   Charliet   DennisR   i    i   R   i   i2   (   R   i    (   R   i   (   i   i   (   (   i   i   (   t   pandast   ImportErrort   CategoricalR   t   ArrayR   t   computet
   categoriest   allR   t   codesR   (   t   pdt   x0t   x1t   dskR   t   p(    (    s@   lib/python2.7/site-packages/dask/array/tests/test_percentiles.pyt!   test_percentile_with_categoricals0   s    !!$$c         C   s\   t  j d d d ƒ} t t  j | d d d g d |  ƒt j d d d g d	 | j ƒƒ d  S(   Ni
   R   i   i    i2   iZ   R   i   R	   (   i   i    i   (   (   i   i    i   (   R   R   R   R   R   R   R	   (   R   R   (    (    s@   lib/python2.7/site-packages/dask/array/tests/test_percentiles.pyt"   test_percentiles_with_empty_arraysD   s    t   qi   g      @c         C   sM   t  j d d d ƒ} t t  j | | d |  ƒt j d g d | j ƒƒ d  S(	   Ni   R   i   R   i   R	   (   i   (   i   (   R   R   R   R   R   R   R	   (   R   R+   R   (    (    s@   lib/python2.7/site-packages/dask/array/tests/test_percentiles.pyt'   test_percentiles_with_scaler_percentileJ   s    c         C   sò   t  j j d d d ƒ} t j f d f | _ t  j | d d |  ƒj ƒ  } d | k  oc d k  n sn t ‚ t  j | d	 d
 g d |  ƒj ƒ  \ } } d | k  o¯ d k  n sº t ‚ d | k  oÑ d k  n sÜ t ‚ | | k  sî t ‚ d  S(   Niè  R   id   i
   i2   R   gš™™™™™¹?gÍÌÌÌÌÌì?i(   i<   (   id   (   R   t   randomR   t   nant   _chunksR   R    R   (   R   R   R   R
   t   b(    (    s@   lib/python2.7/site-packages/dask/array/tests/test_percentiles.pyt   test_unknown_chunk_sizesS   s    "*""(   t   pytestt   importorskipR    R   t
   dask.arrayR   R   t   dask.array.utilsR   R   t   crickR   t   Nonet   markt   parametrizet   paramt   skipift   percentile_methodsR   t   skipR)   R*   t   int64t   float64R,   R1   (    (    (    s@   lib/python2.7/site-packages/dask/array/tests/test_percentiles.pyt   <module>   s"   
%?