ó
jˆú\c           @@ sK  d  Z  d d l m Z d d l m Z d d l Z d d l Z d d l m Z d d l	 m
 Z
 d d l	 m Z d d l Z d d l m Z d	 e j f d
 „  ƒ  YZ d „  Z d „  Z d e j e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e j e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d  „  ƒ  YZ d! e f d" „  ƒ  YZ d# e f d$ „  ƒ  YZ  d% e f d& „  ƒ  YZ! d' e j e f d( „  ƒ  YZ" d) e j e f d* „  ƒ  YZ# d+ e# f d, „  ƒ  YZ$ d- e# f d. „  ƒ  YZ% d/ e# f d0 „  ƒ  YZ& d1 e# f d2 „  ƒ  YZ' d3 e# f d4 „  ƒ  YZ( d5 e# f d6 „  ƒ  YZ) d7 e j e f d8 „  ƒ  YZ* d9 e* f d: „  ƒ  YZ+ d; e* f d< „  ƒ  YZ, d= e* f d> „  ƒ  YZ- d? e* f d@ „  ƒ  YZ. dA e* f dB „  ƒ  YZ/ dC e j e f dD „  ƒ  YZ0 dE e j e f dF „  ƒ  YZ1 dG e j e f dH „  ƒ  YZ2 dI e2 f dJ „  ƒ  YZ3 dK e2 f dL „  ƒ  YZ4 dM e2 f dN „  ƒ  YZ5 dO e2 f dP „  ƒ  YZ6 dQ e j e f dR „  ƒ  YZ7 dS e7 f dT „  ƒ  YZ8 dU e7 f dV „  ƒ  YZ9 dW e j e f dX „  ƒ  YZ: dY e: f dZ „  ƒ  YZ; d[ e: f d\ „  ƒ  YZ< d] e: f d^ „  ƒ  YZ= d_ e: f d` „  ƒ  YZ> da e: f db „  ƒ  YZ? dc e: f dd „  ƒ  YZ@ de e j e f df „  ƒ  YZA dg eA f dh „  ƒ  YZB di eA f dj „  ƒ  YZC dk eA f dl „  ƒ  YZD dm eA f dn „  ƒ  YZE do eA f dp „  ƒ  YZF dq eA f dr „  ƒ  YZG ds eA f dt „  ƒ  YZH du eA f dv „  ƒ  YZI dw eA f dx „  ƒ  YZJ dy eA f dz „  ƒ  YZK d{ e j e f d| „  ƒ  YZL d} eL f d~ „  ƒ  YZM d eL f d€ „  ƒ  YZN d „  ZO eP d‚ k rGd d lQ ZQ e jR eQ jS ƒ e jT ƒ  e
 jU dƒ d„ ƒ n  d S(…   s6   Test module for evaluating expressions under PyTables.i    (   t   print_function(   t   absolute_importN(   t   common(   t   unittest(   t   PyTablesTestCase(   t   ranget   Recordc           B@ sJ   e  Z e j ƒ  Z e j ƒ  Z e j ƒ  Z e j	 ƒ  Z
 e j d  d ƒ Z RS(   t   itemsizei   (   t   __name__t
   __module__t   tablest   Int32Colt   colInt32t   Int64Colt   colInt64t
   Float32Colt
   colFloat32t
   Float64Colt
   colFloat64t
   ComplexColt
   colComplex(    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR      s
   c         C@ s]   i  } xP t  j |  ƒ D]? \ } } t | d ƒ rK | | | | … | | <q | | | <q W| S(   Nt   __len__(   t   sixt	   iteritemst   hasattr(   t   npvarst   startt   stopt   stept   npvars_t   namet   var(    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   get_sliced_vars'   s    c         C@ sx   i  } g  | D] } t  d  ƒ ^ q } t  | | | ƒ | | <x6 t j |  ƒ D]% \ }	 }
 |
 j t | ƒ ƒ | |	 <qK W| S(   N(   t   slicet   NoneR   R   t   __getitem__t   tuple(   R   R   R   R   t   shapet   maindimR   t   dimt   slicesR   R   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   get_sliced_vars21   s    t   ExprTestCasec           B@ s2   e  Z d Z d „  Z d „  Z d „  Z d „  Z RS(   i
   i   c   
      C@ s‘  t  t |  ƒ j ƒ  d |  _ t j |  j ƒ } t j d | d d ƒj |  j ƒ |  _	 } t j | d | d d ƒj |  j ƒ |  _
 } t j d | d | d d ƒj |  j ƒ |  _ } t j | d d ƒj |  j ƒ |  _ } i | d 6| d	 6| d
 6|  _ |  j j } |  j d k r‹|  j j | d | ƒ |  _	 |  j j | d	 | ƒ |  _
 |  j j | d
 | ƒ |  _ |  j j | d | ƒ |  _ nÛ|  j d k r“|  j j | d d t j j | j ƒ d |  j ƒ|  _	 |  j j | d	 d t j j | j ƒ d |  j ƒ|  _
 |  j j | d
 d t j j | j ƒ d |  j ƒ|  _ |  j j | d d t j j | j ƒ d |  j ƒ|  _ | |  j	 (| |  j
 (| |  j (nÓ|  j d k rÊt |  j ƒ } d | d <|  j j | d d t j j | j ƒ d | ƒ|  _	 |  j j | d	 d t j j | j ƒ d | ƒ|  _
 |  j j | d
 d t j j | j ƒ d | ƒ|  _ |  j j | d d t j j | j ƒ d | ƒ|  _ |  j	 j | ƒ |  j
 j | ƒ |  j j | ƒ |  j j | ƒ nœ |  j d k rft j j | | | | g d d |  j d f d ƒ} |  j j | d | ƒ }	 |	 j j |  _	 |	 j j  |  _
 |	 j j! |  _ |	 j j" |  _# n  i |  j	 d 6|  j
 d	 6|  j d
 6|  _$ d  S(   Ns   2 * a*b + ci    t   dtypet   int32i   t   int64i   t   at   bt   ct   Arrayt   r1t   CArrayt   atomR%   t   EArrayt   Columns   %si4,%si8,%si4,%si8i   i   t   t(%   t   superR*   t   setUpt   exprt   npt   prodR%   t   aranget   reshapeR.   R/   R0   t   emptyR2   R   t   h5filet   roott   kindt   create_arrayt   create_carrayR
   t   Atomt
   from_dtypeR+   t   listt   create_earrayt   appendt   rect
   fromarrayst   create_tablet   colst   f0t   f1t   f2t   f3t   dt   vars(
   t   selft   NR.   R/   R0   R2   RA   R%   t   raR7   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR9   @   sn    	+/3(				


	*	*	*	*	c         C@ s‹   t  j |  j |  j ƒ } | j ƒ  } t |  j |  j ƒ } t j rk t d t	 | ƒ ƒ t d t	 | ƒ ƒ n  |  j
 t j | | ƒ d ƒ d S(   s0   Checking that expression is correctly evaluated.s   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   R
   t   ExprR:   RS   t   evalR   R   t   verboset   printt   reprt
   assertTruet   areArraysEqual(   RT   R:   R2   t   r2(    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test00_simple}   s    	c         C@ s´   t  j |  j |  j ƒ } | j |  j ƒ | j ƒ  } |  j d k rM | } n  t |  j |  j ƒ } t	 j
 r” t d t | ƒ ƒ t d t | ƒ ƒ n  |  j t	 j | | ƒ d ƒ d S(   s=   Checking that expression is correctly evaluated (`out` param)t   NumPys   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   R
   RW   R:   RS   t
   set_outputR2   RX   RB   R   R   RY   RZ   R[   R\   R]   (   RT   R:   R2   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt
   test01_out‰   s    
	c   	      C@ s  t  j |  j |  j ƒ } t |  j ƒ } | d | d d } } } | j | | | ƒ | j ƒ  } t	 j
 d |  j d | j ƒ } | | | | … } |  j | j ƒ  | j ƒ  ƒ t j rá t d t | ƒ ƒ t d t | ƒ ƒ n  |  j t j | | ƒ d ƒ d S(	   sk   Checking that expression is correctly evaluated when slice is
        outside of data samples (`out` param)i   i   R%   R+   s   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   R
   RW   R:   RS   t   maxR%   R"   t   set_inputs_rangeRX   R;   t   zerosR+   t   assertListEqualt   tolistR   RY   RZ   R[   R\   R]   (	   RT   R:   t   maxshapeR   R   R   R2   Re   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt
   test02_out˜   s    	(   i
   i   (   R   R	   R%   R9   R_   Rb   Ri   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR*   ;   s
   	=		t	   ExprNumPyc           B@ s   e  Z d  Z RS(   R`   (   R   R	   RB   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRj   ¬   s   t	   ExprArrayc           B@ s   e  Z d  Z RS(   R1   (   R   R	   RB   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRk   °   s   t
   ExprCArrayc           B@ s   e  Z d  Z RS(   R3   (   R   R	   RB   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRl   ´   s   t
   ExprEArrayc           B@ s   e  Z d  Z RS(   R5   (   R   R	   RB   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRm   ¸   s   t
   ExprColumnc           B@ s   e  Z d  Z RS(   R6   (   R   R	   RB   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRn   ¼   s   t   MixedContainersTestCasec           B@ sY   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(	   c         C@ s  t  t |  ƒ j ƒ  d |  _ |  j j } |  j j | d ƒ } t j |  j	 ƒ } t j
 d | d d ƒj |  j	 ƒ } t j
 | d | d d ƒj |  j	 ƒ } t j
 d | d | d d ƒj |  j	 ƒ } t j
 d | d	 | d d ƒj |  j	 ƒ } t j
 d	 | d
 | d d ƒj |  j	 ƒ } t d ƒ |  _ }	 t j d ƒ |  _ }
 i | d 6| d 6| d 6| d 6| d 6|	 d 6|
 d 6|  _ | j ƒ  } | |  _ | |  _ |  j j | d | ƒ |  _ |  j j | ƒ |  _ |  j j | d d t j j | j ƒ d |  j	 ƒ|  _ | |  j (|  j j | ƒ |  _ t |  j	 ƒ } d | d <|  j j | d d t j j | j ƒ d | ƒ|  _  |  j  j! | ƒ |  j  j | ƒ |  _" i  } |  j	 d } xO t# | | | | | | f ƒ D]/ \ } } t j$ j% | j j& | ƒ | d | <qÈW|  j j' | d | ƒ } |  j	 d } | j( } x_ t) | ƒ D]Q } x> t# | | | | | | f ƒ D] \ } } | | | d | <q[W| j! ƒ  q6W| j* ƒ  | j+ j, |  _- | j+ j. |  _/ i |  j d 6|  j d 6|  j d 6|  j  d 6|  j- d 6|  j d 6|  j d 6|  _0 d  S(   Ns   2 * a*b + c**2+d**2+e-f+gt   outsi    R+   R,   i   R-   i   i   i   R.   R/   R0   RR   t   et   ft   gR4   R%   i   s   f%dR7   (1   R8   Ro   R9   R:   R@   RA   t   create_groupR;   R<   R%   R=   R>   t   intRr   t   int16Rs   R   t   copyR.   t   rndaRC   R/   t   rarrRD   R
   RE   RF   R+   R0   t   rcarrRG   RH   RR   RI   t   rearrt	   enumeratet   Colt   from_sctypet   typeRL   t   rowR   t   flushRM   t   f4Rq   t   f5t   rcolRS   (   RT   RA   Rp   RU   R.   R/   R0   RR   Rq   Rr   Rs   Rx   t   eshapet   rtypet   colshapet   it   colR7   t   nrowsR€   t   nrow(    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR9   Ã   sX    	$(,,,:			-

	*+'	+
+c         C@ s—   t  j |  j |  j ƒ } | j ƒ  } t |  j |  j ƒ } t j rw t d t	 | ƒ | j
 ƒ t d t	 | ƒ | j
 ƒ n  |  j t j | | ƒ d ƒ d S(   s(   Checking expressions with mixed objects.s   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   R
   RW   R:   RS   RX   R   R   RY   RZ   R[   R+   R\   R]   (   RT   R:   R2   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test00a_simple  s    	c         C@ sµ   d } t  j | |  j ƒ } | j ƒ  } t | |  j ƒ } t j rw t d t | ƒ | j	 ƒ t d t | ƒ | j	 ƒ n  |  j
 | j | j k oª | j	 | j	 k oª | | k d ƒ d S(   s7   Checking that scalars in expression evaluate correctly.s	   2 * f + gs   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   R
   RW   RS   RX   R   R   RY   RZ   R[   R+   R\   R%   (   RT   t   expr_strR:   R2   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test00b_simple_scalars  s    	-c         C@ s  t  j |  j |  j ƒ } xõ |  j |  j |  j |  j |  j f D]Ï } t	 j
 rb t d t | ƒ ƒ n  | j | ƒ | j ƒ  } t | t |  j ƒ ƒ s | } n  t |  j |  j ƒ } t	 j
 rð t d t | ƒ | j ƒ t d t | ƒ | j ƒ n  |  j t	 j | | ƒ d ƒ q= Wd S(   s5   Checking expressions with mixed objects (`out` param)s   Checking output container:s   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   R
   RW   R:   RS   Rx   Ry   Rz   R{   R„   R   RY   RZ   R   Ra   RX   t
   isinstanceR   R[   R+   R\   R]   (   RT   R:   R2   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test01a_out!  s    +	
	c         C@ s  t  |  j ƒ d k r d Sd } t j | |  j ƒ } xÚ |  j |  j |  j |  j |  j	 f D]´ } t
 j r~ t d t | ƒ ƒ n  | j | ƒ | j ƒ  } | d } t | |  j ƒ } t
 j rñ t d t | ƒ | j ƒ t d t | ƒ | j ƒ n  |  j t
 j | | ƒ d ƒ qY Wd S(	   s>   Checking expressions with mixed objects (`out` param, scalars)i   Ns	   2 * f + gs   Checking output container:s   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.(    (   t   lenR%   R
   RW   RS   Rx   Ry   Rz   R{   R„   R   RY   RZ   R   Ra   RX   R   R[   R+   R\   R]   (   RT   R   R:   R2   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test01b_out_scalars3  s     +	
	c         C@ sÙ   |  j  |  j d } } } t j |  j |  j ƒ } | j | | | ƒ | j ƒ  } t |  j	 | | | ƒ } t |  j | ƒ } t
 j r¹ t d t | ƒ | j ƒ t d t | ƒ | j ƒ n  |  j t
 j | | ƒ d ƒ d S(   s0   Checking mixed objects and start, stop, step (I)i   s   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   R   R   R
   RW   R:   RS   Rd   RX   R    R   R   RY   RZ   R[   R+   R\   R]   (   RT   R   R   R   R:   R2   R   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test02a_sssH  s    	c         C@ sÝ   d |  j  d |  j } } } t j |  j |  j ƒ } | j | | | ƒ | j ƒ  } t |  j	 | | | ƒ } t |  j | ƒ } t
 j r½ t d t | ƒ | j ƒ t d t | ƒ | j ƒ n  |  j t
 j | | ƒ d ƒ d S(   s1   Checking mixed objects and start, stop, step (II)i    s   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   R%   R   R
   RW   R:   RS   Rd   RX   R    R   R   RY   RZ   R[   R+   R\   R]   (   RT   R   R   R   R:   R2   R   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test02b_sssW  s    	c         C@ sÜ   |  j  |  j |  j } } } t j |  j |  j ƒ } | j | | | ƒ | j ƒ  } t	 |  j
 | | | ƒ } t |  j | ƒ } t j r¼ t d t | ƒ | j ƒ t d t | ƒ | j ƒ n  |  j t j | | ƒ d ƒ d S(   s2   Checking mixed objects and start, stop, step (III)s   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   R   R   R   R
   RW   R:   RS   Rd   RX   R    R   R   RY   RZ   R[   R+   R\   R]   (   RT   R   R   R   R:   R2   R   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test02c_sssf  s    	c   	      C@ sü   g  |  j  |  j |  j f D] } t j | ƒ ^ q \ } } } t j |  j |  j ƒ } | j	 | | | ƒ | j
 ƒ  } t |  j | | | ƒ } t
 |  j | ƒ } t j rÜ t d t | ƒ | j ƒ t d t | ƒ | j ƒ n  |  j t j | | ƒ d ƒ d S(   s*   Checking start, stop, step as numpy.int64.s   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   R   R   R   R;   R-   R
   RW   R:   RS   Rd   RX   R    R   R   RY   RZ   R[   R+   R\   R]   (	   RT   Rˆ   R   R   R   R:   R2   R   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt
   test03_sssu  s    :	(   R   R	   R9   RŒ   RŽ   R   R’   R“   R”   R•   R–   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRo   Á   s   	C							t   MixedContainers0c           B@ s   e  Z d Z d \ Z Z Z RS(   i   i    (   i   (   i    i   i   (   R   R	   R%   R   R   R   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR—   †  s   t   MixedContainers1c           B@ s   e  Z d Z d \ Z Z Z RS(   i
   i   i   i   (   i
   (   i   i   i   (   R   R	   R%   R   R   R   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR˜   ‹  s   t   MixedContainers2c           B@ s   e  Z d Z d \ Z Z Z RS(   i
   i   i   i	   i   (   i
   i   (   i   i	   i   (   R   R	   R%   R   R   R   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR™     s   t   MixedContainers3c           B@ s   e  Z d Z d \ Z Z Z RS(   i
   i   i   iÿÿÿÿi   (   i
   i   i   (   i   iÿÿÿÿi   (   R   R	   R%   R   R   R   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRš   •  s   t   UnalignedObjectc           B@ s   e  Z d  „  Z d „  Z RS(   c         C@ s+  t  j d d d ƒ} t  j d d d ƒ} | j ƒ  } | j ƒ  } t  j j | | | | g ƒ } | d } | d } |  j | j j t	 ƒ |  j | j j t	 ƒ d } t
 j | ƒ }	 |	 j ƒ  }
 t | ƒ } t j rt d t |
 ƒ |
 j ƒ t d	 t | ƒ | j ƒ n  |  j t j |
 | ƒ d
 ƒ d S(   s,   Checking expressions with unaligned objects.i
   R+   t   int8R,   RO   RP   s	   2 * a + bs   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   R;   R?   R=   Rw   RJ   RK   t   assertEqualt   flagst   alignedt   FalseR
   RW   RX   R   RY   RZ   R[   R+   R\   R]   (   RT   t   a0t   a1t   a2t   a3RV   R.   R/   t   sexprR:   R2   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR_     s$    

	c         C@ s7  t  j d d d ƒ} t  j d d d ƒj d d ƒ } | j ƒ  } | j ƒ  } t  j j | | | | g ƒ } | d } | d } |  j | j j	 t
 ƒ |  j | j j	 t
 ƒ d } t j | ƒ }	 |	 j ƒ  }
 t | ƒ } t j rt d	 t |
 ƒ |
 j ƒ t d
 t | ƒ | j ƒ n  |  j t j |
 | ƒ d ƒ d S(   s8   Checking expressions with unaligned objects (MD version)i
   i   R+   Rœ   R,   RO   RP   s	   2 * a + bs   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   i
   i   i(   (   R;   R?   R=   R>   Rw   RJ   RK   R   Rž   RŸ   R    R
   RW   RX   R   RY   RZ   R[   R+   R\   R]   (   RT   R¡   R¢   R£   R¤   RV   R.   R/   R¥   R:   R2   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt	   test01_md¶  s$    !

	(   R   R	   R_   R¦   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR›   ›  s   	t   NonContiguousObjectc           B@ s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C@ sé   t  j d d d ƒ} | d d d … } | d } |  j | j j t ƒ |  j | j j t ƒ d } t j	 | ƒ } | j
 ƒ  } t
 | ƒ } t j rÉ t d t | ƒ | j ƒ t d t | ƒ | j ƒ n  |  j t j | | ƒ d	 ƒ d S(
   s0   Checking expressions with non-contiguous objectsi
   R+   R,   Ni   s	   2 * a + bs   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.(   R;   R=   R   Rž   t
   contiguousR    RŸ   t   TrueR
   RW   RX   R   RY   RZ   R[   R+   R\   R]   (   RT   R.   R/   R¥   R:   R2   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR_   Ó  s    
	c         C@ sõ   t  j d d d ƒj d d ƒ } | d d d … } | d } |  j | j j t ƒ |  j | j j t ƒ d } t	 j
 | ƒ } | j ƒ  } t | ƒ } t j rÕ t d t | ƒ | j ƒ t d	 t | ƒ | j ƒ n  |  j t j | | ƒ d
 ƒ d S(   s@   Checking expressions with non-contiguous objects (MD version, I)i
   i   R+   R,   Ni   s	   2 * a + bs   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.i(   (   R;   R=   R>   R   Rž   R¨   R    RŸ   R©   R
   RW   RX   R   RY   RZ   R[   R+   R\   R]   (   RT   R.   R/   R¥   R:   R2   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt
   test01a_mdç  s    !
	c         C@ s  t  j d d d ƒj d d ƒ } | d d … d d d … f } | d } |  j | j j t ƒ |  j | j j t ƒ d } t	 j
 | ƒ } | j ƒ  } t | ƒ } t j rá t d t | ƒ | j ƒ t d	 t | ƒ | j ƒ n  |  j t j | | ƒ d
 ƒ d S(   sA   Checking expressions with non-contiguous objects (MD version, II)i
   i   R+   R,   Ni   s	   2 * a + bs   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.i(   (   R;   R=   R>   R   Rž   R¨   R    RŸ   R©   R
   RW   RX   R   RY   RZ   R[   R+   R\   R]   (   RT   R.   R/   R¥   R:   R2   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt
   test01b_mdû  s    !
	(   R   R	   R_   Rª   R«   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR§   Ñ  s   		t	   ExprErrorc           B@ sD   e  Z d Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   i
   c         C@ s¹   t  t |  ƒ j ƒ  t j |  j ƒ } t j | d d ƒj |  j ƒ |  _ t j | d d ƒj |  j ƒ |  _	 t j | d d ƒj |  j ƒ |  _
 t j | d d ƒj |  j ƒ |  _ d  S(   NR+   R,   R-   (   R8   R¬   R9   R;   R<   R%   R=   R>   R.   R/   R0   R?   R2   (   RT   RU   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR9     s    $$$c         C@ so   |  j  j |  j d ƒ |  _  d } i |  j d 6|  j  d 6|  j d 6} t j | | ƒ } |  j t | j	 ƒ d S(   s/   Checking that inconsistent shapes are detected.i   s	   a * b + cR.   R/   R0   N(   i   (
   R/   R>   R%   R.   R0   R
   RW   t   assertRaisest
   ValueErrorRX   (   RT   R:   t   vars_(    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   _test00_shape   s
    $c         C@ s\   |  j  j d ƒ |  _  d } i |  j d 6|  j  d 6|  j d 6} |  j t t j | | ƒ d S(   s7   Checking that uint64 arrays in expression are detected.t   uint64s	   a * b + cR.   R/   R0   N(   R/   t   viewR.   R0   R­   t   NotImplementedErrorR
   RW   (   RT   R:   R¯   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test02_uint64)  s    $c         C@ su   d t  j f d „  ƒ  Y} |  j j d d | ƒ } d } i | d 6|  j d 6|  j d 6} |  j t t  j | | ƒ d S(	   s0   Checking that tables in expression are detected.t   Recc           B@ s    e  Z e j ƒ  Z e j ƒ  Z RS(    (   R   R	   R
   R   t   col1R   t   col2(    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRµ   4  s   t   /R.   s	   a * b + cR/   R0   N(	   R
   t   IsDescriptionR@   RL   R/   R0   R­   t	   TypeErrorRW   (   RT   Rµ   R7   R:   R¯   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test03_table1  s
    !c         C@ sâ   d t  j f d „  ƒ  Y} |  j j d d | ƒ } d } | j j j } i | d 6|  j d 6|  j d 6} t  j	 | | ƒ } | j
 ƒ  } |  j | d k	 ƒ | j j } i | d 6|  j d 6|  j d 6} |  j t t  j	 | | ƒ d S(	   s5   Checking that nested cols in expression are detected.t   Nestedc           B@ s-   e  Z e j ƒ  Z d  e j f d „  ƒ  YZ RS(   R·   c           B@ s   e  Z e j ƒ  Z RS(    (   R   R	   R
   R   t   col3(    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR·   C  s   (   R   R	   R
   R   R¶   R¹   R·   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR¼   @  s   R¸   R.   s	   a * b + cR/   R0   N(   R
   R¹   R@   RL   RM   R·   R½   R/   R0   RW   RX   R\   R"   R­   Rº   (   RT   R¼   R7   R:   R.   R¯   R2   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test04_nestedcols=  s    !!c         C@ sb   |  j  j d d t j ƒ  ƒ } d } i | d 6|  j d 6|  j d 6} |  j t t j | | ƒ d S(   s2   Checking that VLArrays in expression are detected.R¸   R.   s	   a * b + cR/   R0   N(	   R@   t   create_vlarrayR
   R   R/   R0   R­   Rº   RW   (   RT   t   vlaR:   R¯   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test05_vlarrayS  s    !(   i
   (	   R   R	   R%   R9   R°   R´   R»   R¾   RÁ   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR¬     s   	
					t   BroadcastTestCasec           B@ s   e  Z d  „  Z RS(   c         C@ s  |  j  |  j |  j f } t j t j | d ƒ d d ƒj | d ƒ } t j t j | d ƒ d d ƒj | d ƒ } t j t j | d ƒ d d ƒj | d ƒ } |  j j } | j	 d d k rß |  j j
 | d | ƒ } n* |  j j | d d t j ƒ  d | j	 ƒ} |  j | d k	 ƒ |  j j
 | d	 | ƒ } |  j | d k	 ƒ |  j j
 | d
 | ƒ } |  j | d k	 ƒ t j d ƒ }	 |	 j ƒ  }
 t d ƒ } t j rót d |  j  |  j |  j ƒ t d t |
 ƒ |
 j ƒ t d t | ƒ | j ƒ n  |  j t j |
 | ƒ d ƒ d S(   s!   Checking broadcast in expression.i    R+   t   i4i   i   R¢   R4   R%   t   b1t   c1s   2 * a1 + b1-c1s   2 * a + b-cs   Tested shapes:s   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   t   shape1t   shape2t   shape3R;   R=   R<   R>   R@   RA   R%   RC   RH   R
   R   R\   R"   RW   RX   R   RY   RZ   R[   R+   R]   (   RT   t   shapesR.   R/   R0   RA   R¢   RÄ   RÅ   R:   R2   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR_   _  s.    ///	!	(   R   R	   R_   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRÂ   ]  s   t
   Broadcast0c           B@ s   e  Z d Z d Z d Z RS(   i    i   i   (   i    i   i   (   i   i   (   i   (   R   R	   RÆ   RÇ   RÈ   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRÊ   ~  s   t
   Broadcast1c           B@ s   e  Z d Z d Z d Z RS(   i   i   i   (   i   i   i   (   i   i   (   i   (   R   R	   RÆ   RÇ   RÈ   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRË   „  s   t
   Broadcast2c           B@ s   e  Z d Z d Z d Z RS(   i   i   (   i   i   (   i   i   (   i   (   R   R	   RÆ   RÇ   RÈ   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRÌ   Š  s   t
   Broadcast3c           B@ s   e  Z d Z d Z d Z RS(   i   i   (   i   (   i   i   (   i   (   R   R	   RÆ   RÇ   RÈ   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRÍ     s   t
   Broadcast4c           B@ s   e  Z d Z d Z d Z RS(   i   i   i   (   i   (   i   i   (   i   (   R   R	   RÆ   RÇ   RÈ   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRÎ   –  s   t
   Broadcast5c           B@ s   e  Z d Z d Z d Z RS(   i   i   i   (   i   (   i   i   (   i   (   R   R	   RÆ   RÇ   RÈ   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRÏ   œ  s   t   DiffLengthTestCasec           B@ s   e  Z d  „  Z RS(   c         C@ sÀ  t  |  j ƒ t  |  j ƒ t  |  j ƒ f } t j t j | d ƒ d d ƒj | d ƒ } t j t j | d ƒ d d ƒj | d ƒ } t j t j | d ƒ d d ƒj | d ƒ } t j	 d ƒ } | j
 ƒ  } t g  | D] } t | ƒ ^ qÜ ƒ } t g  t | ƒ D]( \ }	 } t | ƒ | k r| d ^ qƒ }
 x9 t | ƒ D]+ \ }	 } t | ƒ | k rE|
 | d <qEqEWt j t j | d ƒ d d ƒj | d ƒ } |  j | d k	 ƒ t j t j | d ƒ d d ƒj | d ƒ } |  j | d k	 ƒ t j t j | d ƒ d d ƒj | d ƒ } |  j | d k	 ƒ t
 d ƒ } t j r t d |  j |  j |  j ƒ t d t | ƒ | j ƒ t d	 t | ƒ | j ƒ n  |  j t j | | ƒ d
 ƒ d S(   s/   Checking different length inputs in expression.i    R+   RÃ   i   i   s   2 * a + b-cs   Tested shapes:s   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   RG   RÆ   RÇ   RÈ   R;   R=   R<   R>   R
   RW   RX   Rc   R‘   t   minR|   R\   R"   R   RY   RZ   R[   R+   R]   (   RT   RÉ   R.   R/   R0   R:   R2   R%   t   maxdimRˆ   t   minlenR^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR_   ¥  s2    *///%%///	(   R   R	   R_   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRÐ   £  s   t   DiffLength0c           B@ s   e  Z d Z d Z d Z RS(   i    i
   i   (   i    (   i
   (   i   (   R   R	   RÆ   RÇ   RÈ   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRÔ   Ç  s   t   DiffLength1c           B@ s   e  Z d Z d Z d Z RS(   i   i
   i   (   i   (   i
   (   i   (   R   R	   RÆ   RÇ   RÈ   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRÕ   Í  s   t   DiffLength2c           B@ s   e  Z d Z d Z d Z RS(   i   i   i   (   i   i   (   i   i   i   (   i   i   i   (   R   R	   RÆ   RÇ   RÈ   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRÖ   Ó  s   t   DiffLength3c           B@ s   e  Z d Z d Z d Z RS(   i   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   R   R	   RÆ   RÇ   RÈ   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR×   Ù  s   t   DiffLength4c           B@ s   e  Z d Z d Z d Z RS(   i    i   i   i   (   i    i   i   (   i   i   i   (   i   i   i   (   R   R	   RÆ   RÇ   RÈ   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRØ   ß  s   t   TypesTestCasec           B@ s>   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c   	      C@ s  t  j t t t g ƒ } t  j t t t g ƒ } |  j j } |  j j | d | ƒ } |  j | d k	 ƒ |  j j | d | ƒ } |  j | d k	 ƒ t	 j
 d ƒ } | j ƒ  } t d ƒ } t j r÷ t d t | ƒ | j ƒ t d t | ƒ | j ƒ n  |  j t j | | ƒ d ƒ d S(   s    Checking booleans in expression.R¢   RÄ   s   a | bs   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   R;   t   arrayR©   R    R@   RA   RC   R\   R"   R
   RW   RX   R   RY   RZ   R[   R+   R]   (	   RT   R.   R/   RA   R¢   RÄ   R:   R2   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test00_boolè  s    	c         C@ s©  x¢d D]š} t  j r& t d | ƒ n  t j d d d	 g | ƒ } t j d	 d
 d g | ƒ } |  j j } |  j j | d | ƒ } |  j j | d | ƒ } t j d ƒ } |  j	 t
 | t j ƒ ƒ t j d ƒ } | j ƒ  }	 t j d d d	 g d ƒ } t j d	 d
 d g d ƒ } t d ƒ }
 t  j r[t d t |	 ƒ |	 j ƒ t d t |
 ƒ |
 j ƒ n  |  j |	 j |
 j ƒ |  j	 t  j |	 |
 ƒ d ƒ | j ƒ  | j ƒ  q Wd S(   s9   Checking int8,uint8,int16,uint16 and int32 in expression.Rœ   t   uint8Rv   t   uint16R,   s   Checking type:i   i   i   i   i   R¢   RÄ   s   two * a1-b1s	   two * a-bs   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   Rœ   RÜ   Rv   RÝ   R,   (   R   RY   RZ   R;   RÚ   R@   RA   RC   R,   R\   R   t   integerR
   RW   RX   R[   R+   R   R]   t   remove(   RT   R+   R.   R/   RA   R¢   RÄ   t   twoR:   R2   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test01_shortintü  s.    		
c   
      C@ s  xzd D]r} t  j r& t d | ƒ n  t j d d d g | ƒ } t j d d d g | ƒ } |  j j } |  j j | d	 | ƒ } |  j j | d
 | ƒ } t j	 d ƒ } | j
 ƒ  } t j d d d g d ƒ } t j d d d g d ƒ } t
 d ƒ }	 t  j r3t d t | ƒ | j ƒ t d t |	 ƒ |	 j ƒ n  |  j | j |	 j ƒ |  j t  j | |	 ƒ d ƒ | j ƒ  | j ƒ  q Wd S(   s(   Checking uint32 and int64 in expression.t   uint32R-   s   Checking type:i   i   i   i   i   R¢   RÄ   s	   2 * a1-b1s   2 * a-bs   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   Râ   R-   (   R   RY   RZ   R;   RÚ   R@   RA   RC   R
   RW   RX   R[   R+   R   R\   R]   Rß   (
   RT   R+   R.   R/   RA   R¢   RÄ   R:   R2   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test02_longint  s*    		
c   
      C@ s  xzd D]r} t  j r& t d | ƒ n  t j d d d g | ƒ } t j d d d g | ƒ } |  j j } |  j j | d	 | ƒ } |  j j | d
 | ƒ } t j	 d ƒ } | j
 ƒ  } t j d d d g | ƒ } t j d d d g | ƒ } t
 d ƒ }	 t  j r3t d t | ƒ | j ƒ t d t |	 ƒ |	 j ƒ n  |  j | j |	 j ƒ |  j t  j | |	 ƒ d ƒ | j ƒ  | j ƒ  q Wd S(   s+   Checking float32 and float64 in expression.t   float32t   float64s   Checking type:i   i   i   i   i   R¢   RÄ   s	   2 * a1-b1s   2 * a-bs   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   Rä   Rå   (   R   RY   RZ   R;   RÚ   R@   RA   RC   R
   RW   RX   R[   R+   R   R\   R]   Rß   (
   RT   R+   R.   R/   RA   R¢   RÄ   R:   R2   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test03_float4  s*    		
c   
      C@ s  xzd D]r} t  j r& t d | ƒ n  t j d d d g | ƒ } t j d d d g | ƒ } |  j j } |  j j | d
 | ƒ } |  j j | d | ƒ } t j	 d ƒ } | j
 ƒ  } t j d d d g d ƒ } t j d d d g d ƒ } t
 d ƒ }	 t  j r3t d t | ƒ | j ƒ t d t |	 ƒ |	 j ƒ n  |  j | j |	 j ƒ |  j t  j | |	 ƒ d ƒ | j ƒ  | j ƒ  q Wd S(   s0   Checking complex64 and complex128 in expression.t	   complex64t
   complex128s   Checking type:i   y               @i   y              @i   y              ð?R¢   RÄ   s	   2 * a1-b1s   2 * a-bs   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   Rç   Rè   y      @       @y      @      ð?y      @       @y      @      ð?(   R   RY   RZ   R;   RÚ   R@   RA   RC   R
   RW   RX   R[   R+   R   R\   R]   Rß   (
   RT   R+   R.   R/   RA   R¢   RÄ   R:   R2   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test04_complexO  s*    		
c   	      C@ s  t  j d d d g d ƒ } t  j d d d g d ƒ } |  j j } |  j j | d | ƒ } |  j | d k	 ƒ |  j j | d | ƒ } |  j | d k	 ƒ t j d	 ƒ } | j	 ƒ  } t	 d
 ƒ } t
 j rý t d t | ƒ | j ƒ t d t | ƒ | j ƒ n  |  j t
 j | | ƒ d ƒ d S(   s   Checking strings in expression.R.   t   bdt   cdt   St   bdcdt   ccdcR¢   RÄ   s   (a1 > b'a') | ( b1 > b'b')s   (a > b'a') | ( b > b'b')s   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   R;   RÚ   R@   RA   RC   R\   R"   R
   RW   RX   R   RY   RZ   R[   R+   R]   (	   RT   R.   R/   RA   R¢   RÄ   R:   R2   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test05_stringj  s    	(   R   R	   RÛ   Rá   Rã   Ræ   Ré   Rï   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRÙ   æ  s   					t   FunctionsTestCasec           B@ s   e  Z d  „  Z RS(   c   	      C@ s'  t  j d d d g ƒ } t  j d d d g ƒ } |  j j } |  j j | d | ƒ } |  j | d k	 ƒ |  j j | d | ƒ } |  j | d k	 ƒ t j d ƒ } | j	 ƒ  } t  j
 | ƒ t  j | ƒ } t j rt d	 t | ƒ | j ƒ t d
 t | ƒ | j ƒ n  |  j t j | | ƒ d ƒ d S(   s+   Checking some math functions in expression.gš™™™™™¹?gš™™™™™É?g333333Ó?gš™™™™™Ù?g      à?R¢   RÄ   s   sin(a1) * sqrt(b1)s   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   R;   RÚ   R@   RA   RC   R\   R"   R
   RW   RX   t   sint   sqrtR   RY   RZ   R[   R+   R]   (	   RT   R.   R/   RA   R¢   RÄ   R:   R2   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR_   ‚  s    	(   R   R	   R_   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRð   €  s   t   MaindimTestCasec           B@ s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C@ s•  t  |  j ƒ } t j t j | ƒ d d ƒj | ƒ } | j ƒ  } | j ƒ  } |  j j } d | |  j	 <|  j j
 | d d t j ƒ  d | ƒ} |  j j
 | d d t j ƒ  d | ƒ} |  j j
 | d d t j ƒ  d | ƒ} | j | ƒ | j | ƒ | j | ƒ t j d	 ƒ }	 |	 j ƒ  }
 t d
 ƒ } t j rut d | ƒ t d t |
 ƒ |
 j ƒ t d t | ƒ | j ƒ n  |  j t j |
 | ƒ d ƒ d S(   s3   Checking other dimensions than 0 as main dimension.R+   RÃ   i    R¢   R4   R%   RÄ   RÅ   s   2 * a1 + b1-c1s   2 * a + b-cs   Tested shape:s   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   RG   R%   R;   R=   R<   R>   Rw   R@   RA   R&   RH   R
   R   RI   RW   RX   R   RY   RZ   R[   R+   R\   R]   (   RT   R%   R.   R/   R0   RA   R¢   RÄ   RÅ   R:   R2   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR_   ›  s0    '				c         C@ sÖ  t  |  j ƒ } t j t j | ƒ d d ƒj | ƒ } | j ƒ  } | j ƒ  } |  j j } d | |  j	 <|  j j
 | d d t j ƒ  d | ƒ} |  j j
 | d d t j ƒ  d | ƒ} |  j j
 | d d t j ƒ  d | ƒ} |  j j
 | d	 d t j ƒ  d | ƒ}	 | j | ƒ | j | ƒ | j | ƒ |	 j | ƒ t j d
 ƒ }
 |
 j |	 ƒ |
 j ƒ  t d ƒ } t j rµt d | ƒ t d t |	 ƒ |	 j ƒ t d t | ƒ | j ƒ n  |  j t j |	 | ƒ d ƒ d S(   s8   Checking other dimensions than 0 as main dimension (out)R+   RÃ   i    R¢   R4   R%   RÄ   RÅ   R2   s   2 * a1 + b1-c1s   2 * a + b-cs   Tested shape:s   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   RG   R%   R;   R=   R<   R>   Rw   R@   RA   R&   RH   R
   R   RI   RW   Ra   RX   R   RY   RZ   R[   R+   R\   R]   (   RT   R%   R.   R/   R0   RA   R¢   RÄ   RÅ   R2   R:   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRb   ¹  s8    '				
	c         C@ s  t  |  j ƒ } t j t j | ƒ d d ƒj | ƒ } | j ƒ  } | j ƒ  } |  j j } | } d | |  j	 <d | d <|  j j
 | d d t j ƒ  d | ƒ} |  j | j	 |  j	 ƒ |  j j
 | d d t j ƒ  d | ƒ} |  j | j	 d ƒ |  j j
 | d d t j ƒ  d | ƒ}	 |  j j
 | d	 d t j ƒ  d | ƒ}
 | j | ƒ | j | ƒ |	 j | ƒ |
 j | ƒ t j d
 ƒ } | j ƒ  }
 t d ƒ } t j rãt d | ƒ t d t |
 ƒ |
 j ƒ t d t | ƒ | j ƒ n  |  j t j |
 | ƒ d ƒ d S(   s-   Checking different main dimensions in inputs.R+   RÃ   i    R¢   R4   R%   RÄ   RÅ   R2   s   2 * a1 + b1-c1s   2 * a + b-cs   Tested shape:s   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   RG   R%   R;   R=   R<   R>   Rw   R@   RA   R&   RH   R
   R   R\   R   RI   RW   RX   R   RY   RZ   R[   R+   R]   (   RT   R%   R.   R/   R0   RA   RÇ   R¢   RÄ   RÅ   R2   R:   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test02_diff_in_maindimsÛ  s>    '
					c         C@ s  t  |  j ƒ } t j t j | ƒ d d ƒj | ƒ } | j ƒ  } | j ƒ  } |  j j } | } d | |  j	 <d | d <|  j j
 | d d t j ƒ  d | ƒ} |  j | j	 |  j	 ƒ |  j j
 | d d t j ƒ  d | ƒ} |  j j
 | d d t j ƒ  d | ƒ}	 |  j j
 | d	 d t j ƒ  d | ƒ}
 |  j |
 j	 d ƒ | j | ƒ | j | ƒ |	 j | ƒ |
 j | ƒ t j d
 ƒ } | j |
 ƒ | j ƒ  t d ƒ } t j rït d | ƒ t d t |
 ƒ |
 j ƒ t d t | ƒ | j ƒ n  |  j t j |
 | ƒ d ƒ d S(   s1   Checking different maindims in inputs and output.R+   RÃ   i    R¢   R4   R%   RÄ   RÅ   R2   s   2 * a1 + b1-c1s   2 * a + b-cs   Tested shape:s   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   RG   R%   R;   R=   R<   R>   Rw   R@   RA   R&   RH   R
   R   R\   R   RI   RW   Ra   RX   R   RY   RZ   R[   R+   R]   (   RT   R%   R.   R/   R0   RA   RÇ   R¢   RÄ   RÅ   R2   R:   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test03_diff_in_out_maindims   s@    '
				
	c         C@ sË  t  |  j ƒ } t j t j | ƒ d d ƒj | ƒ } | j ƒ  } | j ƒ  } |  j j } | } d | |  j	 <d | d <|  j j
 | d d t j ƒ  d | ƒ} |  j | j	 |  j	 ƒ |  j j
 | d d t j ƒ  d | ƒ} |  j j
 | d d t j ƒ  d | ƒ}	 |  j j
 | d	 d t j ƒ  d | ƒ}
 |  j |
 j	 d ƒ | j | ƒ | j | ƒ | j | ƒ | j | ƒ |	 j | ƒ |	 j | ƒ |
 j | ƒ t j d
 ƒ } | j |
 ƒ |  j t | j ƒ d S(   s=   Checking different maindims and lengths in inputs and output.R+   RÃ   i    R¢   R4   R%   RÄ   RÅ   R2   s   2 * a1 + b1-c1N(   RG   R%   R;   R=   R<   R>   Rw   R@   RA   R&   RH   R
   R   R\   R   RI   RW   Ra   R­   R®   RX   (   RT   R%   R.   R/   R0   RA   RÇ   R¢   RÄ   RÅ   R2   R:   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt#   test04_diff_in_out_maindims_lengths&  s8    '
				(   R   R	   R_   Rb   Rô   Rõ   Rö   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRó   ™  s
   		"	%	&t   Maindim0c           B@ s   e  Z d  Z d Z RS(   i   i   (   i   i   (   R   R	   R&   R%   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR÷   J  s   t   Maindim1c           B@ s   e  Z d  Z d Z RS(   i   i   i   (   i   i   (   R   R	   R&   R%   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRø   O  s   t   Maindim2c           B@ s   e  Z d  Z d Z RS(   i   i   i   i   (   i   i   i   (   R   R	   R&   R%   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRù   T  s   t   Maindim3c           B@ s   e  Z d  Z d Z RS(   i   i   i   (   i   i   i   (   R   R	   R&   R%   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRú   Y  s   t   AppendModeTestCasec           B@ s   e  Z d  „  Z RS(   c         C@ så  d d g } t  j t  j | ƒ d d ƒj | ƒ } | j ƒ  } | j ƒ  } d | d <|  j j } |  j j | d d t j	 ƒ  d	 | ƒ} |  j j | d
 d t j	 ƒ  d	 | ƒ} |  j j | d d t j	 ƒ  d	 | ƒ} |  j j | d d t j	 ƒ  d	 | ƒ}	 | j
 | ƒ | j
 | ƒ | j
 | ƒ |  j
 s=|	 j
 | ƒ n  t j d ƒ }
 |
 j |	 d |  j
 ƒ|
 j ƒ  t d ƒ } t j rÄt d | ƒ t d t |	 ƒ |	 j ƒ t d t | ƒ | j ƒ n  |  j t j |	 | ƒ d ƒ d S(   s&   Checking append mode in `set_output()`i   i   R+   RÃ   i    i   R¢   R4   R%   RÄ   RÅ   R2   s   2 * a1 + b1-c1t   append_modes   2 * a + b-cs   Tested shape:s   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   R;   R=   R<   R>   Rw   R@   RA   RH   R
   R   RI   RW   Ra   RX   R   RY   RZ   R[   R+   R\   R]   (   RT   R%   R.   R/   R0   RA   R¢   RÄ   RÅ   R2   R:   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test01_appenda  s:    '
					
	(   R   R	   Rý   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRû   _  s   t   AppendModeTruec           B@ s   e  Z e Z RS(    (   R   R	   R©   RI   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRþ   …  s   t   AppendModeFalsec           B@ s   e  Z e Z RS(    (   R   R	   R    RI   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyRÿ   ‰  s   t   iterTestCasec           B@ s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c   	      C@ s_  t  t |  ƒ j ƒ  t |  j ƒ } t j t j | ƒ d d ƒj | ƒ } | j	 ƒ  } | j	 ƒ  } i | d 6| d 6| d 6|  _
 d | |  j <|  j j } |  j j | d d t j ƒ  d	 | ƒ} |  j j | d
 d t j ƒ  d	 | ƒ} |  j j | d d t j ƒ  d	 | ƒ} | j | ƒ | j | ƒ | j | ƒ i | d 6| d 6| d 6|  _ d |  _ d  S(   NR+   RÃ   R.   R/   R0   i    R¢   R4   R%   RÄ   RÅ   s   2 * a + b-c(   R8   R   R9   RG   R%   R;   R=   R<   R>   Rw   R   R&   R@   RA   RH   R
   R   RI   RS   R¥   (	   RT   R%   R.   R/   R0   RA   R¢   RÄ   RÅ   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR9     s&    '			c         C@ sÅ   t  j |  j |  j ƒ } t j g  | D] } | ^ q% ƒ } t |  j |  j ƒ } t j	 r¤ t
 d |  j |  j ƒ t
 d t | ƒ | j ƒ t
 d t | ƒ | j ƒ n  |  j t j | | ƒ d ƒ d S(   s   Checking the __iter__ iterator.s   Tested shape, maindim:s   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   R
   RW   R¥   RS   R;   RÚ   RX   R   R   RY   RZ   R%   R&   R[   R+   R\   R]   (   RT   R:   R€   R2   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test00_iter§  s    "	c   	      C@ s  |  j  d d d } } } t j |  j |  j ƒ } | j | | | ƒ t j g  | D] } | ^ qS ƒ } t	 |  j
 | | | |  j |  j ƒ } t |  j | ƒ } t j ró t d |  j |  j ƒ t d t | ƒ | j ƒ t d t | ƒ | j ƒ n  |  j t j | | ƒ d ƒ d S(   s/   Checking the __iter__ iterator (with ranges, I)i    s   Tested shape, maindim:s   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   t   range_R"   R
   RW   R¥   RS   Rd   R;   RÚ   R)   R   R%   R&   RX   R   RY   RZ   R[   R+   R\   R]   (	   RT   R   R   R   R:   R€   R2   R   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test01a_sss´  s    "!	c   	      C@ s  |  j  d |  j  d d } } } t j |  j |  j ƒ } | j | | | ƒ t j g  | D] } | ^ qZ ƒ } t	 |  j
 | | | |  j |  j ƒ } t |  j | ƒ } t j rú t d |  j |  j ƒ t d t | ƒ | j ƒ t d t | ƒ | j ƒ n  |  j t j | | ƒ d ƒ d S(   s0   Checking the __iter__ iterator (with ranges, II)i    i   s   Tested shape, maindim:s   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   R  R"   R
   RW   R¥   RS   Rd   R;   RÚ   R)   R   R%   R&   RX   R   RY   RZ   R[   R+   R\   R]   (	   RT   R   R   R   R:   R€   R2   R   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test01b_sssÅ  s    ""!	c   	      C@ s  |  j  \ } } } t j |  j |  j ƒ } | j | | | ƒ t j g  | D] } | ^ qJ ƒ } t |  j	 | | | |  j
 |  j ƒ } t |  j | ƒ } t j rê t d |  j
 |  j ƒ t d t | ƒ | j ƒ t d t | ƒ | j ƒ n  |  j t j | | ƒ d ƒ d S(   s1   Checking the __iter__ iterator (with ranges, III)s   Tested shape, maindim:s   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   R  R
   RW   R¥   RS   Rd   R;   RÚ   R)   R   R%   R&   RX   R   RY   RZ   R[   R+   R\   R]   (	   RT   R   R   R   R:   R€   R2   R   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test01c_sssÖ  s    "!	(   R   R	   R9   R  R  R  R  (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR   Ž  s
   				t   iter0c           B@ s   e  Z d  Z d Z d Z RS(   i    i   i   (   i    (   i   i   i   (   R   R	   R&   R%   R  (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR  è  s   t   iter1c           B@ s   e  Z d  Z d Z d Z RS(   i    i   i   i   (   i   (   i   i   i   (   R   R	   R&   R%   R  (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR  î  s   t   iter2c           B@ s   e  Z d  Z d Z d Z RS(   i    i   i   (   i   i   (   i    i   i   (   R   R	   R&   R%   R  (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR  ô  s   t   iter3c           B@ s   e  Z d  Z d Z d Z RS(   i   i   i   i    (   i   i   (   i    i   i   (   R   R	   R&   R%   R  (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR	  ú  s   t   iter4c           B@ s   e  Z d  Z d Z d Z RS(   i   i   i   (   i   i   i   (   i   i   i   (   R   R	   R&   R%   R  (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR
     s   t   iter5c           B@ s   e  Z d  Z d Z d Z RS(   i   i   i   i    i   (   i   i   i   (   i    i   i   (   R   R	   R&   R%   R  (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR    s   t   setOutputRangeTestCasec           B@ s   e  Z d  „  Z d „  Z RS(   c         C@ sµ  t  |  j ƒ } |  j \ } } } t j t j | ƒ d d ƒj | ƒ } | j ƒ  } | j ƒ  } |  j j	 } |  j j
 | d | ƒ }	 |  j |	 d k	 ƒ |  j j
 | d | ƒ }
 |  j |
 d k	 ƒ |  j j
 | d | ƒ } t j d ƒ } | j | ƒ | j | | | ƒ | j ƒ  t d ƒ } | t t | | | ƒ ƒ  | | | | … <t j r”t d | ƒ t d	 t | ƒ | j ƒ t d
 t | ƒ | j ƒ n  |  j t j | | ƒ d ƒ d S(   s(   Checking the range selection for output.R+   RÃ   R¢   RÄ   R2   s   a1-b1-1s   a-b-1s   Tested shape:s   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(   RG   R%   R  R;   R=   R<   R>   Rw   R@   RA   RC   R\   R"   R
   RW   Ra   t   set_output_rangeRX   R‘   R   R   RY   RZ   R[   R+   R]   (   RT   R%   R   R   R   R.   R/   t   rRA   R¢   RÄ   R2   R:   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR_     s.    '
)	c         C@ s7  t  |  j ƒ } |  j \ } } } t j t j | ƒ d d ƒj | ƒ } | j ƒ  } | j ƒ  } d | |  j <|  j	 j
 } |  j	 j | d d t j ƒ  d | ƒ}	 |  j	 j | d d t j ƒ  d | ƒ}
 |  j	 j | d d t j ƒ  d | ƒ} |	 j | ƒ |
 j | ƒ | j | ƒ t j d	 ƒ } | j | ƒ | j | | | ƒ | j ƒ  t d
 ƒ } t t d ƒ g |  j ƒ } t t | | | ƒ ƒ } | j | t | | | ƒ f | j | t d | ƒ f ƒ ƒ t j rt d | ƒ t d t | ƒ | j ƒ t d t | ƒ | j ƒ n  |  j t j  | | ƒ d ƒ d S(   s5   Checking the range selection for output (maindim > 0)R+   RÃ   i    R¢   R4   R%   RÄ   R2   s   a1-b1-1s   a-b-1s   Tested shape:s   Computed expression:s   Should look like:s$   Evaluate is returning a wrong value.N(!   RG   R%   R  R;   R=   R<   R>   Rw   R&   R@   RA   RH   R
   R   RI   RW   Ra   R  RX   R$   R!   R"   R‘   R   t   __setitem__R#   R   RY   RZ   R[   R+   R\   R]   (   RT   R%   R   R   R   R.   R/   R  RA   R¢   RÄ   R2   R:   R^   t   lslt   l(    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test01_maindim,  s>    '			
 	(   R   R	   R_   R  (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR    s   	t   setOutputRange0c           B@ s   e  Z d  Z d Z d Z RS(   i    i
   i   i   (   i
   (   i    i   i   (   R   R	   R&   R%   R  (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR  S  s   t   setOutputRange1c           B@ s   e  Z d  Z d Z d Z RS(   i    i
   i   (   i
   (   i    i
   i   (   R   R	   R&   R%   R  (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR  Y  s   t   setOutputRange2c           B@ s   e  Z d  Z d Z d Z RS(   i    i
   i   i   (   i
   (   i   i
   i   (   R   R	   R&   R%   R  (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR  _  s   t   setOutputRange3c           B@ s   e  Z d  Z d Z d Z RS(   i    i
   i   i   (   i
   i   (   i   i
   i   (   R   R	   R&   R%   R  (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR  e  s   t   setOutputRange4c           B@ s   e  Z d  Z d Z d Z RS(   i    i
   i   i   i   (   i
   i   (   i   i
   i   (   R   R	   R&   R%   R  (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR  k  s   t   setOutputRange5c           B@ s   e  Z d  Z d Z d Z RS(   i    i   i   i   (   i   i   i   (   i   i   i   (   R   R	   R&   R%   R  (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR  q  s   t   setOutputRange6c           B@ s   e  Z d  Z d Z d Z RS(   i   i   i   i   (   i   i   (   i   i   i   (   R   R	   R&   R%   R  (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR  w  s   t   setOutputRange7c           B@ s   e  Z d  Z d Z d Z RS(   i   i   i   i   (   i   i   i   (   i   i   i   (   R   R	   R&   R%   R  (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR  }  s   t   setOutputRange8c           B@ s   e  Z d  Z d Z d Z RS(   i   i   i   i   (   i   i   i   (   i   i   i   (   R   R	   R&   R%   R  (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR  ƒ  s   t   setOutputRange9c           B@ s   e  Z d  Z d Z d Z RS(   i   i   i   i   (   i   i   i   i   (   i   i   i   (   R   R	   R&   R%   R  (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR  ‰  s   t   VeryLargeInputsTestCasec           B@ s   e  Z d  „  Z d „  Z RS(   c   	   	   C@ s  |  j  } t j d ƒ d k	 r? t j d d d d d t ƒ } nN t j d ƒ d k	 ru t j d d d d d t ƒ } n t j d d d t ƒ } |  j j } |  j j | d d t j	 d	 d
 ƒ d | d | ƒ} |  j
 | d k	 ƒ |  j j | d d t j	 d	 d ƒ d | d | ƒ} |  j
 | d k	 ƒ |  j j | d d t j	 d	 d
 ƒ d | d | ƒ} t j d ƒ } | j | ƒ | j ƒ  | d } t j d d d ƒ} t j rèt d | ƒ t d t | ƒ | j ƒ t d t | ƒ | j ƒ n  |  j
 t j | | ƒ d ƒ d S(   s   Checking very large inputs.t   blosct	   compleveli   t   complibt   shufflet   lzoR.   R4   t   dflti   R%   t   filtersR/   i   R2   s   a * b-6iöÿÿÿi
   R+   Rå   s   Tested shape:s   Ten last rows:s   Should look like:s$   Evaluate is returning a wrong value.N(   R%   R
   t   which_lib_versionR"   t   FiltersR    R@   RA   RD   t   Float64AtomR\   RW   Ra   RX   R;   Re   R   RY   RZ   R[   R+   R]   (	   RT   R%   R$  RA   R.   R/   R2   R:   R^   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR_   ’  s<    	!

	c      	   C@ s±  |  j  } | d d k r3 t j r/ t d ƒ n  d St j d ƒ d k	 ri t j d d d	 d d
 t ƒ } n t j d d d
 t ƒ } |  j	 j
 } |  j	 j | d d t j d d ƒ d | d | ƒ} |  j | d k	 ƒ |  j	 j | d d t j d d ƒ d | d | ƒ} |  j | d k	 ƒ |  j	 j | d d t j d d ƒ d | d | ƒ} t j d ƒ } t | ƒ } t j ršt d | ƒ t d | ƒ t d d ƒ n  |  j | d d ƒ d S(   s-   Checking very large inputs (__iter__ version)i    i   i   s   Skipping this *very* long testNR"  R  i   R   R!  R.   R4   R#  R%   R$  R/   R2   i   s   a-b + 1s   Tested shape:s   Cummulated sum:s   Should look like:s$   Evaluate is returning a wrong value.i   (   R%   R   RY   RZ   R
   R%  R"   R&  R    R@   RA   RD   t	   Int32AtomR\   RW   t   sumR   (   RT   R%   R$  RA   R.   R/   R2   R:   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   test01_iter¸  s6    		!	(   R   R	   R_   R*  (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR    s   	&t   VeryLargeInputs1c           B@ s   e  Z d Z RS(   i   i   i   (   i   (   R   R	   R%   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR+  à  s   t   VeryLargeInputs2c           B@ s   e  Z d Z RS(   i   i    i   I       I      (   I      (   R   R	   R%   (    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyR,  æ  s   c          C@ so  t  j ƒ  }  d } xVt | ƒ D]H} |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ |  j t  j t	 ƒ ƒ |  j t  j t
 ƒ ƒ |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ |  j t  j t  ƒ ƒ |  j t  j t! ƒ ƒ |  j t  j t" ƒ ƒ |  j t  j t# ƒ ƒ |  j t  j t$ ƒ ƒ |  j t  j t% ƒ ƒ |  j t  j t& ƒ ƒ |  j t  j t' ƒ ƒ |  j t  j t( ƒ ƒ |  j t  j t) ƒ ƒ |  j t  j t* ƒ ƒ |  j t  j t+ ƒ ƒ |  j t  j t, ƒ ƒ |  j t  j t- ƒ ƒ |  j t  j t. ƒ ƒ |  j t  j t/ ƒ ƒ |  j t  j t0 ƒ ƒ |  j t  j t1 ƒ ƒ |  j t  j t2 ƒ ƒ |  j t  j t3 ƒ ƒ |  j t  j t4 ƒ ƒ t5 j6 r |  j t  j t7 ƒ ƒ q q W|  S(   sC   Return a test suite consisting of all the test cases in the module.i   (8   R   t	   TestSuiteR   t   addTestt	   makeSuiteRj   Rk   Rl   Rm   Rn   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  R  R+  R   t   heavyR,  (   t   theSuitet   niterRˆ   (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   suiteê  sl    	t   __main__t   defaultTestR3  (V   t   __doc__t
   __future__R    R   t   numpyR;   R
   t   tables.testsR   t   tables.tests.commonR   R   t   TestCaseR   t	   six.movesR   R¹   R   R    R)   t   TempFileMixinR*   Rj   Rk   Rl   Rm   Rn   Ro   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  R  R  R  R  R  R  R  R  R+  R,  R3  R   t   syst
   parse_argvt   argvt   print_versionst   main(    (    (    s;   lib/python2.7/site-packages/tables/tests/test_expression.pyt   <module>   s˜   		
	
qÅ6@L!$š±&ZFP	=
