ó
ÐEe]c           @` s  d  d l  m Z m Z m Z d  d l Z d  d l m Z m Z m	 Z	 m
 Z
 d  d l m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z d  d l m Z d  d l m Z d e e j f d „  ƒ  YZ d	 e f d
 „  ƒ  YZ d e f d „  ƒ  YZ  d e f d „  ƒ  YZ! d S(   i    (   t   divisiont   absolute_importt   print_functionN(   t   assert_t   assert_equalt   assert_raisest   assert_array_equal(   t   masked_arrayt   masked_valuest   maskedt   allequalt   MaskTypet   getmaskt   MaskedArrayt   nomaskt   logt   addt   hypott   divide(   t   mr_(   t   picklet   MMatrixc           B` s5   e  Z e d  „ Z d „  Z d „  Z e d e ƒ Z RS(   c         C` s.   t  j | ƒ } t j |  d | d | ƒ} | S(   Nt   datat   mask(   t   npt   matrixR   t   __new__(   t   clsR   R   t   matt   _data(    (    sG   lib/python2.7/site-packages/numpy/matrixlib/tests/test_masked_matrix.pyR      s    c         C` s'   t  j j |  | ƒ t j |  | ƒ d  S(   N(   R   R   t   __array_finalize__R   (   t   selft   obj(    (    sG   lib/python2.7/site-packages/numpy/matrixlib/tests/test_masked_matrix.pyR      s    c         C` s   |  j  t ƒ } t | _ | S(   N(   t   viewR   t   Falset   _sharedmask(   R   t   _view(    (    sG   lib/python2.7/site-packages/numpy/matrixlib/tests/test_masked_matrix.pyt   _get_series   s    	t   fget(   t   __name__t
   __module__R   R   R   R%   t   propertyt   _series(    (    (    sG   lib/python2.7/site-packages/numpy/matrixlib/tests/test_masked_matrix.pyR      s   		t   TestMaskedMatrixc           B` sP   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c         C` s  t  j d d d g d d d g g ƒ } t | d d d d g d d d g g ƒ} t | d d d d g d d d g g ƒ} t | ƒ } t | ƒ t | ƒ t t | d ƒ t | d ƒ k ƒ t | d | d k ƒ t | d t k ƒ t | d | d ƒ t | d d d  … f | d d d  … f ƒ t | d  d  … d f | d  d  … d f ƒ t | | ƒ t | d | d ƒ d | d <d | d <t | | ƒ d | d d d  … f <d | d d d  … f <t | | ƒ t | d <t | | ƒ t | d d d  … f <t | | ƒ | d d  d  … f | d d  d  … f <t | d <t t	 t
 | ƒ t  j d d d g d d d g g ƒ ƒ ƒ t d d d g d d d g ƒ | d d  d  … f <t t	 t
 | ƒ d t d d d g ƒ ƒ ƒ t t	 t
 | d ƒ t d d d g ƒ ƒ ƒ t d d d g d d d g ƒ | d d  d  … f <t t	 t
 | d ƒ t d d d g ƒ ƒ ƒ t t	 | d t d d d g ƒ ƒ ƒ t  j t  j d	 ƒ d
 ƒ } t | d ƒ } t | | ƒ t t	 t d d d d d g d t ƒ| j ƒ ƒ t d | j ƒ d  S(   Ni   i   i   i   R   i    i	   ic   i   g      ð?g      @t   dtype(   i   i    (   i   i    (   i   i    (   i   i    (   i   i   (   i    i   (   i    i   (   i    i   (   i    i   (   i    i   (   i    i   (   R   R   R   t   strt   reprR   t   typeR	   R   R
   R   t   arrayt   arangeR   R   R   t
   fill_value(   R   t   x1t   x2t   x3t   x4(    (    sG   lib/python2.7/site-packages/numpy/matrixlib/tests/test_masked_matrix.pyt   test_matrix_indexing!   sN    '**

$--


&
:1,,1,&$c         C` s¶   t  t j t t d ƒ ƒ ƒ d d d d d d g d ƒ} xu t d t j d ƒ D]] } t j t j | d | ƒƒ } t	 | j
 | j
 ƒ t	 | | ƒ t t | j t j ƒ ƒ qQ Wd  S(   Ni
   R   i   i    i   t   protocol(   R   R   R   t   listt   rangeR   t   HIGHEST_PROTOCOLt   loadst   dumpsR   t   _maskR   t
   isinstanceR   (   R   t   at   protot	   a_pickled(    (    sG   lib/python2.7/site-packages/numpy/matrixlib/tests/test_masked_matrix.pyt   test_pickling_subbaseclassM   s    :c         C` s¹   t  t j d d g d d g g ƒ d t j d ƒ ƒ} t | j d d ƒ j d ƒ t | j d d ƒ j d ƒ t | j d d ƒ d d	 g g ƒ t | j d d ƒ d
 g d g g ƒ d  S(   Ni   i   i   i   R   t   axisi    g       @g      @g      ø?g      @(   i   i   (   i   i   (   i   i   (   R   R   R   t   zerosR   t   countt   shapet   mean(   R   t   m(    (    sG   lib/python2.7/site-packages/numpy/matrixlib/tests/test_masked_matrix.pyt   test_count_mean_with_matrixV   s
    6"c         C` s  t  t j d d d g g ƒ d d d d g ƒ} t | j d d ƒ t | j d t ƒ t t j | j d d !| d d d … f k ƒ ƒ t  t j d d d g g ƒ d d d d g ƒ} t  d d d g d d d d g ƒ| _ t  t j d d d g g ƒ d d d d g ƒ} t | | ƒ t  t j d d d g g ƒ d d d d g ƒ} | j } | d d d g | (t | | ƒ d | d <t  t j t j d ƒ ƒ d d ƒ} | j } | d  } t | j	 t j
 d d g g ƒ ƒ t | j t j
 t t g g ƒ ƒ d  S(	   Ni   i   i   R   i    i	   g      ð?g        (   R   R   R   R   t   flatR	   R   t   allt   eyeR   R0   R   R"   (   R   t   testt   controlt   testflatR@   t   bt   b01(    (    sG   lib/python2.7/site-packages/numpy/matrixlib/tests/test_masked_matrix.pyt	   test_flat`   s$    030'00	
$	
"c         C` s:  t  j d d d g d d d g d d d	 g g ƒ } t  j | ƒ } t  j t t t g t t t g t t t g g d
 t  j ƒ} t | d | ƒ} | d k } | d k  } t | j ƒ  ƒ t | j	 ƒ  ƒ t
 | j d ƒ t  j t t t g ƒ ƒ t
 | j d ƒ t  j t t t g ƒ j ƒ t
 | j	 d ƒ t  j t t t g ƒ ƒ t
 | j	 d ƒ t  j t t t g ƒ j ƒ t | j ƒ  ƒ t | j	 ƒ  ƒ t
 | j d ƒ t  j t t t g ƒ ƒ t
 | j d ƒ t  j t t t g ƒ j ƒ t
 | j	 d ƒ t  j t t t g ƒ ƒ t
 | j	 d ƒ t  j t t t g ƒ j ƒ d  S(   Ng¤p=
×£À?g¤p=
×£Ð?gÍÌÌÌÌÌì?gìQ¸…ëÑ?g…ëQ¸Õ?g)\Âõ(ä?g×£p=
×Ó?g×£p=
×ë?gffffffæ?R,   R   g      à?i    i   (   R   R0   R   t   TrueR"   t   bool_R   R   RL   t   anyR   t   T(   R   t   xt   XRI   t   mXt   mXbigt   mXsmall(    (    sG   lib/python2.7/site-packages/numpy/matrixlib/tests/test_masked_matrix.pyt   test_allany_onmatricesy   s,    (+(+(+(c         C` s•   t  t j d d d d g ƒ d d d d d g ƒ} | j ƒ  } t | | ƒ t t | t j ƒ ƒ t | d <| j ƒ  } t | d d d g g ƒ d  S(   Ni   i   i   i   R   i    (   i    i    (   R   R   R   t
   compressedR   R   R?   R	   (   R   R@   RQ   (    (    sG   lib/python2.7/site-packages/numpy/matrixlib/tests/test_masked_matrix.pyt   test_compressed“   s    3
c         C` sr   t  t j d d d d d g ƒ d d d d d d g g ƒ} | j ƒ  } t | j d ƒ t | j j | j ƒ d  S(	   Ni   i   i   i   i   R   i    (   i   i   (   R   R   R   t   ravelR   RG   R>   (   R   R@   t   aravel(    (    sG   lib/python2.7/site-packages/numpy/matrixlib/tests/test_masked_matrix.pyt
   test_ravelœ   s    <c         C` sÀ   t  t t j d ƒ t j j d ƒ ƒ ƒ } t j | ƒ } t | d d t f d t f g ƒ} d | j	 d <| j
 t d f t j ƒ } t | | ƒ t t | t j ƒ ƒ t t | t ƒ ƒ d  S(	   Ni
   R,   R@   RQ   i   i    i   (   i   i    (   R9   t   zipR   R1   t   randomt   randR0   R   t   floatR   R!   R   R   R   R?   R   (   R   t   iteratorR   R@   RN   (    (    sG   lib/python2.7/site-packages/numpy/matrixlib/tests/test_masked_matrix.pyt	   test_view¢   s    *$(
   R'   R(   R7   RC   RJ   RS   R]   R_   Rb   Rh   (    (    (    sG   lib/python2.7/site-packages/numpy/matrixlib/tests/test_masked_matrix.pyR+       s   	,			
					t   TestSubclassingc           B` s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C` sI   t  j d d d ƒ} t | d d d d d d g ƒ} | | f |  _ d  S(   Ni   R,   Rf   R   i    i   (   R   R1   R   R   (   R   RX   t   mx(    (    sG   lib/python2.7/site-packages/numpy/matrixlib/tests/test_masked_matrix.pyt   setup±   s    !c         C` s,   |  j  \ } } t t | j t j ƒ ƒ d  S(   N(   R   R   R?   R   R   R   (   R   RX   Rj   (    (    sG   lib/python2.7/site-packages/numpy/matrixlib/tests/test_masked_matrix.pyt   test_maskedarray_subclassing¶   s    c         C` sa   |  j  \ } } t j d d ƒ : t t t | ƒ t ƒ ƒ t t | ƒ t j | ƒ ƒ Wd  QXd  S(   NR   t   ignore(   R   R   t   errstateR   R?   R   R   R   (   R   RX   Rj   (    (    sG   lib/python2.7/site-packages/numpy/matrixlib/tests/test_masked_matrix.pyt   test_masked_unary_operations»   s    c         C` sÞ   |  j  \ } } t t t | | ƒ t ƒ ƒ t t t | | ƒ t ƒ ƒ t t | | ƒ | | ƒ t t t | | ƒ j t j ƒ ƒ t t t j	 | | ƒ t ƒ ƒ t t t
 | | ƒ t ƒ ƒ t t t
 | | ƒ t ƒ ƒ d  S(   N(   R   R   R?   R   R   R   R   R   R   t   outerR   (   R   RX   Rj   (    (    sG   lib/python2.7/site-packages/numpy/matrixlib/tests/test_masked_matrix.pyt   test_masked_binary_operationsÂ   s    "c         C` sˆ   |  j  \ } } t | j  j ƒ  d | j ƒ} t t t | | ƒ t ƒ ƒ t t t | | ƒ t ƒ ƒ t t | | ƒ t | | ƒ ƒ d  S(   NR   (	   R   R   t	   __array__R   R   R?   R   R   R   (   R   RX   Rj   t   xmx(    (    sG   lib/python2.7/site-packages/numpy/matrixlib/tests/test_masked_matrix.pyt   test_masked_binary_operations2Ï   s
    (   R'   R(   Rk   Rl   Ro   Rq   Rt   (    (    (    sG   lib/python2.7/site-packages/numpy/matrixlib/tests/test_masked_matrix.pyRi   ®   s
   				t   TestConcatenatorc           B` s   e  Z d  „  Z d „  Z RS(   c         C` s   t  t j j d „  ƒ d  S(   Nc           S` s   t  d S(   Ns
   1, 2; 3, 4(   R   (    (    (    sG   lib/python2.7/site-packages/numpy/matrixlib/tests/test_masked_matrix.pyt   <lambda>Û   t    (   R   R   t   mat   MAError(   R   (    (    sG   lib/python2.7/site-packages/numpy/matrixlib/tests/test_masked_matrix.pyt   test_matrix_builderÚ   s    c         C` sl   t  d } t j j t j d ƒ } t | | ƒ t t | ƒ t | ƒ ƒ t t | j ƒ t | j ƒ ƒ d  S(   Nt   ri   i   i   (   R{   i   i   i   (   R{   i   i   i   (	   R   R   Rx   R0   t   r_R   R   R/   R   (   R   t   actualt   expected(    (    sG   lib/python2.7/site-packages/numpy/matrixlib/tests/test_masked_matrix.pyt   test_matrixÝ   s
    
(   R'   R(   Rz   R   (    (    (    sG   lib/python2.7/site-packages/numpy/matrixlib/tests/test_masked_matrix.pyRu   ×   s   	("   t
   __future__R    R   R   t   numpyR   t   numpy.ma.testutilsR   R   R   R   t   numpy.ma.coreR   R   R	   R
   R   R   R   R   R   R   R   R   t   numpy.ma.extrasR   t   numpy.core.numericR   R   R   t   objectR+   Ri   Ru   (    (    (    sG   lib/python2.7/site-packages/numpy/matrixlib/tests/test_masked_matrix.pyt   <module>   s   "RŽ)