Ë
    ômxi‹ ã                  ó$  — U d dl mZ d dlmZ d dlmZ d dlZd dlZd dl	Z	d dl
mZ d dlmZ d dlmZmZmZ d dlmc mZ d dlmZmZmZmZ d dlZd d	lmZmZmZm Z m!Z!m"Z" d dl#m$Z% d d
l&m'Z'm(Z( d dl)m*Z* d dl+m,Z,m-Z-m.Z. d dl/m0Z0m1Z1 d dl2m3Z3m4Z4m5Z5m6Z6m7Z7 d dl8m9Z9 d dl:m;Z;  edd¬«      Z< e	jz                  d„ e*D «       ¬«      d„ «       Z> e	jz                  e'j~                  ¬«      d„ «       Z@d„ ZA e	jz                   eB eCd«      «      g d¢¬«      d„ «       ZDeDZEeDZFe	jz                  d„ «       ZG G d„ d«      ZH G d „ d!«      ZId"„ ZJ G d#„ d$«      ZK G d%„ d&«      ZL G d'„ d(«      ZMejœ                  jŸ                  d)«      j¡                  d*«      ZQ G d+„ d,«      ZR ej¦                  d«      d-„ «       ZT ej¦                  d«      e	jª                  j­                  d.d/«      d0„ «       «       ZW ej¦                  d«      d1„ «       ZX ej¦                  d«      d2„ «       ZYe.e(j´                  e-d3œZ[d4e\d5<   e	jª                  j­                  d6e*«      e	jª                  j­                  d7e[«      d8„ «       «       Z]d9„ Z^d:„ Z_e	jª                  j­                  d;g d<¢«      d=„ «       Z`d>„ Zad?„ Zbd@„ ZcdA„ Zde	jª                  j­                  dBdC«      e	jª                  j­                  dDeeeff«      e	jª                  j­                  dEeeeff«      dF„ «       «       «       Zge	jª                  j­                  dGdHdIg«      dJ„ «       ZhdK„ Zie	jª                  j­                  dLdMdNg«      dO„ «       ZjdP„ Zke	jª                  j­                  dL e9jØ                  «       «      dQ„ «       ZmdR„ Zn G dS„ dT«      Zoy)Ué    )Úannotations)Úreduce)ÚproductN)ÚPY312)Úimport_optional_dependency)ÚNumExprClobberingErrorÚPerformanceWarningÚUndefinedVariableError)Úis_boolÚis_floatÚis_list_likeÚ	is_scalar)Ú	DataFrameÚIndexÚSeriesÚ
date_rangeÚperiod_rangeÚtimedelta_range)ÚexprÚpytables)ÚENGINES)ÚBaseExprVisitorÚPandasExprVisitorÚPythonExprVisitor)ÚNUMEXPR_INSTALLEDÚUSE_NUMEXPR)ÚARITH_OPS_SYMSÚSPECIAL_CASE_ARITH_OPS_SYMSÚ_binary_math_opsÚ_binary_ops_dictÚ_unary_math_ops)ÚDEFAULT_GLOBALS)ÚVersionÚnumexprÚignore)Úerrorsc              #  óæ   K  — | ]i  }t        j                  |t         j                  j                  |d k(  xr t         dt        › dt
        › �¬«      t        j                  d «      g¬«      –— Œk y­w)r$   znumexpr enabled->z, installed->©Úreason©ÚmarksN)ÚpytestÚparamÚmarkÚskipifr   r   ÚtdÚ
skip_if_no)Ú.0Úengines     úY/home/htdocs/ttos/venv/lib/python3.12/site-packages/pandas/tests/computation/test_eval.pyú	<genexpr>r5   @   s{   è ø€ ò ð ô 	�‰Øä—‘×"Ñ"Ø˜iÑ'Ò;´¨OØ.¬{¨mð <"Ü"3Ð!4ð6ð #ó ô
 —‘˜iÓ(ð÷
	
ð 
	
ñùs   ‚A/A1)Úparamsc                ó   — | j                   S ©N©r-   ©Úrequests    r4   r3   r3   ?   s   € ð" �=‰=Ðó    c                ó   — | j                   S r8   r9   r:   s    r4   Úparserr>   S   s   € à�=‰=Ðr<   c                óâ   — t         |   }t        |   j                  r
	  || |«      S  || |«      S # t        $ r5}t	        |«      j                  d«      rt        j                  cY d }~S ‚ d }~ww xY w)Nz6negative number cannot be raised to a fractional power)r    r   Úhas_neg_fracÚ
ValueErrorÚstrÚ
startswithÚnpÚnan)ÚlhsÚcmp1Úrhsr3   ÚcÚes         r4   Ú_eval_single_binrK   X   sm   € Ü˜Ñ€AÜˆv�×#Ò#ð	Ù�S˜#“;Ðñ ˆS�#‹;Ðøô ò 	Ü�1‹v× Ñ ØHôô —v‘v•Øûð	ús    ž0 °	A.¹)A)Á"A.Á(A)Á)A.é   )r   r   Ú	SeriesNaNÚDataFrameNaNÚfloat)r6   Úidsc           	     óF  — t        t        j                  j                  d«      j	                  d«      «      }t        j
                  ||dkD  <   t        t        j                  j                  d«      j	                  d«      «      t        t        j                  j                  d«      j	                  d«      «      t        ddt        j
                  t        j
                  dg«      |t        j                  j                  d«      j	                  «       f}|| j                     S )Né   )é
   rL   ç      à?rL   é   )r   rD   ÚrandomÚdefault_rngÚstandard_normalrE   r   r-   )r;   Únan_df1Úoptss      r4   rF   rF   g   sÑ   € ô
 œŸ	™	×-Ñ-¨aÓ0×@Ñ@ÀÓIÓJ€GÜŸV™V€GˆG�c‰MÑô 	”"—)‘)×'Ñ'¨Ó*×:Ñ:¸7ÓCÓDÜŒr�y‰y×$Ñ$ QÓ'×7Ñ7¸Ó:Ó;Ü��1”b—f‘fœbŸf™f aÐ(Ó)ØÜ
�	‰	×Ñ˜aÓ ×0Ñ0Ó2ð€Dð �—‘ÑÐr<   c                 ó    — d„ d„ d„ d„ d„ d„ dœS )Nc                ó^   — t        t        j                  | «      t        j                  ¬«      S ©N©Údtype)r   rD   ÚarangeÚint64©Úns    r4   ú<lambda>zidx_func_dict.<locals>.<lambda>€   s   € ”uœRŸY™Y q›\´·±Ô:€ r<   c                ó^   — t        t        j                  | «      t        j                  ¬«      S r]   )r   rD   r`   Úfloat64rb   s    r4   rd   zidx_func_dict.<locals>.<lambda>�   s   € ”uœRŸY™Y q›\´·±Ô<€ r<   c           
     ót   — t        t        dd| z   «      D �cg c]  }|› dt        |«      › �‘Œ c}«      S c c}w )Néa   Ú_)r   ÚrangeÚchr)rc   Úis     r4   rd   zidx_func_dict.<locals>.<lambda>‚   s2   € ”u´u¸RÀÀaÁÓ7HÖI°!   1¤S¨£V HšoÒIÓJ€ ùÒIs   —5c                ó   — t        d| ¬«      S )Nú
2020-01-01©Úperiods)r   rb   s    r4   rd   zidx_func_dict.<locals>.<lambda>ƒ   s   € œ
 <¸Ô;€ r<   c                ó   — t        d| ¬«      S )Nz1 dayro   )r   rb   s    r4   rd   zidx_func_dict.<locals>.<lambda>„   s   € œ¨¸Ô;€ r<   c                ó   — t        d| d¬«      S )Nrn   ÚD)rp   Úfreq)r   rb   s    r4   rd   zidx_func_dict.<locals>.<lambda>…   s   € ”| L¸!À#ÔF€ r<   )rl   ÚfÚsÚdtr0   Úp© ry   r<   r4   Úidx_func_dictrz   }   s    € ñ ;Ù<ÙJÙ;Ù;ÙFñð r<   c            
      óŒ  — e Zd Zej                  j                  dg d¢g d¢¬«      ej                  j                  dddgdd	g¬«      ej                  j                  d
ej                  «      d„ «       «       «       Zej                  j                  dej                  «      d„ «       Z
ej                  j                  dej                  «      d„ «       Zej                  j                  dddg«      ej                  j                  dddg«      d„ «       «       Zej                  j                  d e ee«      j!                  e«      «      «      d„ «       Zd„ Zd„ Zej,                  d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zej                  j                  d eej>                  jA                  d«      jC                  d«      «       eej>                  jA                  d«      jE                  dd¬«      «       eej>                  jA                  d«      jC                  d«      d kD  «      g«      d!„ «       Z#ej                  j                  d e$ej>                  jA                  d«      jC                  d«      «       e$ej>                  jA                  d«      jE                  dd¬«      «       e$ej>                  jA                  d«      jC                  d«      d kD  «      g«      d"„ «       Z%d#„ Z&d$„ Z'ej                  j                  d%d&d'g«      d(„ «       Z(d)„ Z)ej                  j                  d*d+«      d,„ «       Z*d-„ Z+d.„ Z,d/„ Z-d0„ Z.d1„ Z/d2„ Z0y3)4ÚTestEvalrG   )z!=z==z<=z>=ú<ú>)ÚneÚeqÚleÚgeÚltÚgt)rP   Úcmp2r~   r}   r„   rƒ   Úbinopc                óŒ  — |dk(  rO|dv rKd}t        j                  t        |¬«      5  d|› d|› d|› d�}	t        j                  |	||¬	«       d d d «       y t        ||||«      }
t        ||||«      }t        |
|||«      }d|› d|› d|› d�}	t        j                  |	||¬	«      }t        j                  ||«       y # 1 sw Y   y xY w)
NÚpython©ÚandÚorú"'BoolOp' nodes are not implemented©Úmatchú(lhs z rhs) z (lhs ú rhs)©r3   r>   )r,   ÚraisesÚNotImplementedErrorÚpdÚevalrK   ÚtmÚassert_equal)ÚselfrG   r…   r†   rF   rH   r3   r>   ÚmsgÚexÚlhs_newÚrhs_newÚexpectedÚresults                 r4   Útest_complex_cmp_opszTestEval.test_complex_cmp_opsŠ   sÕ   € ð �XÒ %¨=Ñ"8Ø6ˆCÜ—‘Ô2¸#Ô>ñ :Ø˜T˜F &¨¨¨v°d°V¸5ÐA�Ü—‘˜ 6°&Õ9÷:ð ä" 3¨¨c°6Ó:ˆÜ" 3¨¨c°6Ó:ˆÜ# G¨U°G¸VÓDˆà�T�F˜&   v¨d¨V°5Ð9ˆÜ—‘˜ F°6Ô:ˆÜ
�‰˜ Õ)÷:ð ús   §%B:Â:CÚcmp_opc           	     ó.  — |dk  }|dk  }|dk(  rI|dv rEd}t        j                  t        |¬«      5  d|› d�}t        j                  |||¬«       d d d «       y d|› d�}d	j                  d
dg«      }|dv rLt        |«      sAt        j                  t        |¬«      5  t        j                  |||||dœ¬«       d d d «       y t        ||||«      }t        j                  |||¬«      }	t        j                  |	|«       y # 1 sw Y   y xY w# 1 sw Y   y xY w)Nr   rˆ   ©Úinúnot inú&'(In|NotIn)' nodes are not implementedr�   úlhs ú rhsr‘   ú|zvonly list-like( or dict-like)? objects are allowed to be passed to (DataFrame\.)?isin\(\), you passed a (`|')bool(`|')z'argument of type 'bool' is not iterable©rF   rH   ©r3   r>   Ú
local_dict)r,   r’   r“   r”   r•   Újoinr   Ú	TypeErrorrK   r–   r—   )
r˜   r    rF   rH   r3   r>   r™   rš   r�   rž   s
             r4   Útest_simple_cmp_opszTestEval.test_simple_cmp_ops¡   s$  € à�A‰gˆØ�A‰gˆà�XÒ &Ð,<Ñ"<Ø:ˆCä—‘Ô2¸#Ô>ñ :Ø˜F˜8 4Ð(�Ü—‘˜ 6°&Õ9÷:ð à�F�8˜4Ð ˆØ�h‰hð"ð :ð	ó
ˆð Ð%Ñ%¬l¸3Ô.?Ü—‘œy°Ô4ñ Ü—‘ØØ!Ø!Ø'*°3Ñ7õ	÷ð ô (¨¨V°S¸&ÓAˆHÜ—W‘W˜R¨°vÔ>ˆFÜ�O‰O˜F HÕ-÷3:ð ú÷ð ús   ±C?ÂDÃ?DÄDÚopc           	     ó8  — |dk(  rI|dv rEd}t        j                  t        |¬«      5  d|› d�}t        j                  |||¬«       d d d «       y t        |«      rJt        |«      s?|dv r;|dk(  r6|dk(  r1t         j                  j                  d	¬
«      }	|j                  |	«       ddg}
d|› d�}dj                  ddg«      }t        |«      rE||
v rAt        j                  t        |¬«      5  t        j                  |||||dœ¬«       d d d «       y t        |«      rt        |«      rd„ ||fD «       \  }}t        ||||«      }t        |«      r| }n| }t        j                  |||¬«      }t        j                  ||«       y # 1 sw Y   y xY w# 1 sw Y   y xY w)Nrˆ   r¢   r¥   r�   z~(lhs r�   r‘   Úpandasz]Looks like expected is negative, unclear whether expected is incorrect or result is incorrectr(   r£   r¤   r¨   zwonly list-like( or dict-like)? objects are allowed to be passed to (DataFrame\.)?isin\(\), you passed a (`|')float(`|')z(argument of type 'float' is not iterabler©   rª   c              3  óH   K  — | ]  }t        j                  |g«      –— Œ y ­wr8   )rD   Úarray©r2   Úxs     r4   r5   z3TestEval.test_compound_invert_op.<locals>.<genexpr>ï   s   è ø€ Ò>¨aœBŸH™H a SŸMÑ>ùs   ‚ ")r,   r’   r“   r”   r•   r   r.   ÚxfailÚapplymarkerr¬   r   r­   rK   r–   Úassert_almost_equal)r˜   r¯   rF   rH   r;   r3   r>   r™   rš   r.   Ú
skip_theser�   rž   s                r4   Útest_compound_invert_opz TestEval.test_compound_invert_opÄ   s©  € à�XÒ "Ð(8Ñ"8Ø:ˆCÜ—‘Ô2¸#Ô>ñ :Ø˜b˜T Ð'�Ü—‘˜ 6°&Õ9÷:ð ô �SŒMÜ˜S”MØÐ&Ñ&Ø˜(Ò"Ø˜(Ò"ä—;‘;×$Ñ$ð?ð %ó ˆDð ×Ñ Ô%Ø˜HÐ%ˆ
Ø�b�T˜Ðˆà�h‰hð#ð ;ð	ó
ˆô �SŒ>˜b JÑ.Ü—‘œy°Ô4ñ Ü—‘ØØ!Ø!Ø'*°3Ñ7õ	÷ð ô ˜Œ~¤)¨C¤.Ù>°C¸°:Ô>‘��SÜ'¨¨R°°fÓ=ˆHÜ˜Ô"Ø'˜<‘à$˜9�Ü—W‘W˜R¨°vÔ>ˆFÜ×"Ñ" 8¨VÕ4÷]:ð ú÷4ð ús   §FÃ+FÆFÆFc                óÀ  — |}|dk(  rHd|› d|› d�}	d}
t        j                  t        |
¬«      5  t        j                  |	||¬«       d d d «       y t        ||||«      }t        ||||«      }|�e|�bd|› d|› d�}	d|› d|› d�}d	|› d
|› d�}t        |d||«      }|	||fD ]0  }t        j                  |||¬«      }t        j                  ||«       Œ2 y y y # 1 sw Y   y xY w)Nrˆ   r¦   ú mid r§   rŒ   r�   r‘   ú mid and mid r�   ú mid) & (mid r�   ú&)r,   r’   r“   r”   r•   rK   r–   r¸   )r˜   rG   r…   rF   ÚmidhsrH   r3   r>   ÚmidÚex1r™   r›   rœ   Úex2Úex3r�   rš   rž   s                     r4   Útest_chained_cmp_opzTestEval.test_chained_cmp_opø   s  € ð ˆØ�XÒØ˜˜˜e D 6¨Ð.ˆCØ6ˆCÜ—‘Ô2¸#Ô>ñ ;Ü—‘˜ F°6Õ:÷;àä" 3¨¨c°6Ó:ˆÜ" 3¨¨c°6Ó:ˆàÐ 7Ð#6Ø˜˜˜e D 6¨Ð.ˆCØ˜˜˜m¨D¨6°Ð6ˆCØ˜$˜˜}¨T¨F°%Ð8ˆCÜ'¨°°g¸vÓFˆHà˜C �oò 9�ÜŸ™ ¨F¸6ÔB�ä×&Ñ& v¨xÕ8ñ9ð $7Ð÷;àús   ®CÃCÚarith1c                ó  — d|› d�}t        j                  |||¬«      }t        ||||«      }t        j                  ||«       d|› d|› d�}t        j                  |||¬«      }t        ||||«      }		 |	j                  |«      \  }	}
|dk(  r:dd l}|j                  d|› d�«      }t        j                  |j                  |«       y t        d|› d�«      }t        j                  ||«       y # t        t        t        f$ r Y y w xY w)	Nr¦   r§   r‘   z rhs r$   r   znlhs z ghs)r”   r•   rK   r–   r¸   Úalignr$   ÚevaluateÚvaluesrA   r­   ÚAttributeError)r˜   rÆ   rF   rH   r3   r>   rš   rž   r�   ÚnlhsÚghsr   s               r4   Útest_binary_arith_opszTestEval.test_binary_arith_ops  s  € ð �F�8˜4Ð ˆÜ—‘˜ F°6Ô:ˆÜ# C¨°°fÓ=ˆä
×Ñ˜v xÔ0Ø�F�8˜5  ¨Ð-ˆÜ—‘˜ F°6Ô:ˆÜ  V¨S°&Ó9ˆð	9ØŸ
™
 3›‰IˆD�#ð ˜Ò"Û$ð Ÿ;™;¨¨v¨h°dÐ';Ó<�ô
 ×&Ñ& v§}¡}°hÕ?ä %¨ x¨tÐ 4Ó5�Ü×&Ñ& v¨xÕ8øô# œI¤~Ð6ò 	ñ ð	ús   Á3C, Ã,DÄDc                ó¢  — d}t        j                  |||¬«      }||z  }t        j                  ||«       |dk(  rqdd l}|j                  d«      }t        |t        t        f«      r!t        j                  |j                  |«       y t        j                  ||j                  «       «       y t        |d||«      }t        j                  ||«       y )Nz	lhs % rhsr‘   r$   r   zexpected % rhsú%)r”   r•   r–   r¸   r$   rÉ   Ú
isinstancer   r   rÊ   ÚitemrK   )	r˜   rF   rH   r3   r>   rš   rž   r�   r   s	            r4   Útest_moduluszTestEval.test_modulus4  s¥   € ØˆÜ—‘˜ F°6Ô:ˆØ˜‘9ˆÜ
×Ñ˜v xÔ0à�YÒÛ à—{‘{Ð#4Ó5ˆHÜ˜&¤9¬fÐ"5Ô6Ü×&Ñ& v§}¡}°hÕ?ä×&Ñ& v¨x¯}©}«Õ?ä'¨°#°s¸FÓCˆHÜ×"Ñ" 6¨8Õ4r<   c                ój  — d}|dk(  s*|dk(  rYt        t        j                  «      t        d«      k\  r4t        j                  |||¬«      }||z  }t        j                  ||«       y d}t        j                  t        |¬«      5  t        j                  |||dœ||¬	«       d d d «       y # 1 sw Y   y xY w)
Nz
lhs // rhsrˆ   r$   ú2.13.0r‘   zGunsupported operand type\(s\) for //: 'VariableNode' and 'VariableNode'r�   r©   ©r«   r3   r>   )
r#   r$   Ú__version__r”   r•   r–   r—   r,   r’   r­   )	r˜   rF   rH   r3   r>   rš   Úresr�   r™   s	            r4   Útest_floor_divisionzTestEval.test_floor_divisionF  s£   € Øˆà�XÒØ�iÒ¤G¬G×,?Ñ,?Ó$@ÄGÈHÓDUÒ$Uä—'‘'˜" V°FÔ;ˆCØ˜c‘zˆHÜ�O‰O˜C Õ*ð!ð ô —‘œy°Ô4ñ Ü—‘ØØ'*°3Ñ7Ø!Ø!õ	÷÷ ñ ús   ÂB)Â)B2c                ó@  — d}t        |d||«      }t        j                  |||¬«      }t        |«      r}t        |«      rrt	        |t
        t        j                  f«      rRt        j                  |«      r=d}t        j                  t        |¬«      5  t        j                  ||«       d d d «       y t        j                  ||«       d}t        j                  |||¬«      }t        |d||«      }	t        |	d||«      }t        j                  ||«       y # 1 sw Y   y xY w)Nz
lhs ** rhsú**r‘   z-(DataFrame.columns|numpy array) are differentr�   z(lhs ** rhs) ** rhs)rK   r”   r•   r   rÑ   ÚcomplexrD   ÚcomplexfloatingÚisnanr,   r’   ÚAssertionErrorr–   Úassert_numpy_array_equalr¸   )
r˜   rF   rH   r3   r>   rš   r�   rž   r™   Úmiddles
             r4   Útest_powzTestEval.test_pow\  sò   € ð ˆÜ# C¨¨s°FÓ;ˆÜ—‘˜ F°6Ô:ˆô �cŒNÜ˜#”Ü˜8¤g¬r×/AÑ/AÐ%BÔCÜ—‘˜Ô àAˆCÜ—‘œ~°SÔ9ñ >Ü×+Ñ+¨F°HÔ=÷>ð >ô ×"Ñ" 6¨8Ô4à&ˆBÜ—W‘W˜R¨°vÔ>ˆFä% c¨4°°fÓ=ˆFÜ'¨°°c¸6ÓBˆHÜ×"Ñ" 6¨8Õ4÷>ð >ús   ÂDÄDc                óî   — 	 |j                  t        «      }| }t        j                  d||¬«      }t        j                  ||«       y # t        $ r" t        j                  t        |«      g«      }Y Œ\w xY w)Nz~elbr‘   )	ÚastypeÚboolrË   rD   r³   r”   r•   r–   r¸   )r˜   rF   r3   r>   Úelbr�   rž   s          r4   Útest_check_single_invert_opz$TestEval.test_check_single_invert_opv  se   € ð	(Ø—*‘*œTÓ"ˆCð �4ˆÜ—‘˜¨°vÔ>ˆÜ
×Ñ˜x¨Õ0øô	 ò 	(Ü—(‘(œD ›I˜;Ó'ŠCð	(ús   ‚A	 Á	(A4Á3A4c                óò  — d}t        t        j                  j                  d«      j	                  d«      «      }|dk(  r?d}t        j                  t        |¬«      5  t        j                  |||¬«       d d d «       n>d}t        j                  t        |¬«      5  t        j                  |||¬«       d d d «       t        t        j                  j                  d«      j                  d	d¬
«      «      }|dk(  rdt        t        j                  «      t        d«      k  r?d}t        j                  t        |¬«      5  t        j                  |||¬«       d d d «       n1| }t        j                  |||¬«      }t        j                   ||«       t        t        j                  j                  d«      j	                  d«      dkD  «      }| }t        j                  |||¬«      }t        j                   ||«       t        g d¢t        j                  j                  d«      j	                  d«      dkD  dœ«      }|dk(  r=t        j                  t"        d¬«      5  t        j                  |||¬«       d d d «       y d}t        j                  t        |¬«      5  t        j                  |||¬«       d d d «       y # 1 sw Y   �ŒxY w# 1 sw Y   �ŒxY w# 1 sw Y   �ŒOxY w# 1 sw Y   y xY w# 1 sw Y   y xY w)Nú~lhsrR   ©rL   rR   r$   ú-couldn't find matching opcode for 'invert_dd'r�   r‘   ú0ufunc 'invert' not supported for the input typesrL   ©ÚsizerÕ   ú)couldn't find matching opcode for 'invertrT   ©ÚarU   g       @é   )ÚbrI   úunknown type objectú#bad operand type for unary ~: 'str')r   rD   rV   rW   rX   r,   r’   r“   r”   r•   r­   Úintegersr#   r$   r×   r–   Úassert_frame_equalrA   )r˜   r3   r>   r   rF   r™   Úexpectrž   s           r4   Útest_frame_invertzTestEval.test_frame_invert€  sl  € Øˆô
 œŸ	™	×-Ñ-¨aÓ0×@Ñ@ÀÓHÓIˆØ�YÒØAˆCÜ—‘Ô2¸#Ô>ñ <Ü—‘˜ V°FÕ;÷<ð <ð EˆCÜ—‘œy°Ô4ñ <Ü—‘˜ V°FÕ;÷<ô œŸ	™	×-Ñ-¨aÓ0×9Ñ9¸!À&Ð9ÓIÓJˆØ�YÒ¤7¬7×+>Ñ+>Ó#?Ä'È(ÓBSÒ#SØ=ˆCÜ—‘Ô2¸#Ô>ñ <Ü—‘˜ V°FÕ;÷<ð <ð �TˆFÜ—W‘W˜T¨&¸Ô@ˆFÜ×!Ñ! &¨&Ô1ô œŸ	™	×-Ñ-¨aÓ0×@Ñ@ÀÓHÈ3ÑNÓOˆØ�ˆÜ—‘˜ f°VÔ<ˆÜ
×Ñ˜f fÔ-ô Ú¤b§i¡i×&;Ñ&;¸AÓ&>×&NÑ&NÈqÓ&QÐTWÑ&WÑXó
ˆð �YÒÜ—‘œzÐ1FÔGñ <Ü—‘˜ V°FÕ;÷<ð <ð 8ˆCÜ—‘œy°Ô4ñ <Ü—‘˜ V°FÕ;÷<ð <÷C<ñ <ú÷<ñ <ú÷<ñ <ú÷$<ð <ú÷<ð <ús<   ÁJ:ÂKÄ<KÉK!ÊK-Ê:KËKËKË!K*Ë-K6c                óŽ  — d}t        t        j                  j                  d«      j	                  d«      «      }|dk(  r?d}t        j                  t        |¬«      5  t        j                  |||¬«      }d d d «       n>d}t        j                  t        |¬«      5  t        j                  |||¬«       d d d «       t        t        j                  j                  d«      j                  dd¬	«      «      }|dk(  rdt        t        j                  «      t        d
«      k  r?d}t        j                  t        |¬«      5  t        j                  |||¬«       d d d «       n1| }t        j                  |||¬«      }t        j                   ||«       t        t        j                  j                  d«      j	                  d«      dkD  «      }| }t        j                  |||¬«      }t        j                   ||«       t        g d¢«      }|dk(  r=t        j                  t"        d¬«      5  t        j                  |||¬«       d d d «       y d}t        j                  t        |¬«      5  t        j                  |||¬«       d d d «       y # 1 sw Y   �ŒÖxY w# 1 sw Y   �ŒãxY w# 1 sw Y   �ŒxY w# 1 sw Y   y xY w# 1 sw Y   y xY w)Nré   rR   rL   r$   rë   r�   r‘   rì   rí   rÕ   rï   rT   rð   rô   rõ   )r   rD   rV   rW   rX   r,   r’   r“   r”   r•   r­   rö   r#   r$   r×   r–   Úassert_series_equalrA   )r˜   r3   r>   r   rF   r™   rž   rø   s           r4   Útest_series_invertzTestEval.test_series_invert­  sI  € àˆô ”R—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸aÓ@ÓAˆØ�YÒØAˆCÜ—‘Ô2¸#Ô>ñ EÜŸ™ ¨f¸VÔD�÷Eð Eð EˆCÜ—‘œy°Ô4ñ <Ü—‘˜ V°FÕ;÷<ô ”R—Y‘Y×*Ñ*¨1Ó-×6Ñ6°q¸qÐ6ÓAÓBˆØ�YÒ¤7¬7×+>Ñ+>Ó#?Ä'È(ÓBSÒ#SØ=ˆCÜ—‘Ô2¸#Ô>ñ <Ü—‘˜ V°FÕ;÷<ð <ð �TˆFÜ—W‘W˜T¨&¸Ô@ˆFÜ×"Ñ" 6¨6Ô2ô ”R—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸aÓ@À3ÑFÓGˆØ�ˆÜ—‘˜ f°VÔ<ˆÜ
×Ñ˜v vÔ.ô ’]Ó#ˆØ�YÒÜ—‘œzÐ1FÔGñ <Ü—‘˜ V°FÕ;÷<ð <ð 8ˆCÜ—‘œy°Ô4ñ <Ü—‘˜ V°FÕ;÷<ð <÷GEñ Eú÷<ñ <ú÷<ñ <ú÷(<ð <ú÷<ð <ús<   ÁJÂJÄ<J"È'J/É&J;ÊJÊJÊ"J,Ê/J8Ê;Kc                ó"  — d}t        t        j                  j                  d«      j	                  d«      «      }| }t        j                  |||¬«      }t        j                  ||«       t        t        j                  j                  d«      j                  dd¬«      «      }| }t        j                  |||¬«      }t        j                  ||«       t        t        j                  j                  d«      j	                  d«      dkD  «      }|dk(  r?d	}t        j                  t        |¬
«      5  t        j                  |||¬«       d d d «       y | }t        j                  |||¬«      }t        j                  ||«       y # 1 sw Y   y xY w)Nú-lhsrR   rê   r‘   rL   rí   rT   r$   ú*couldn't find matching opcode for 'neg_bb'r�   )r   rD   rV   rW   rX   r”   r•   r–   r÷   rö   r,   r’   r“   ©r˜   r3   r>   r   rF   rø   rž   r™   s           r4   Útest_frame_negatezTestEval.test_frame_negateÜ  sF  € Øˆô œŸ	™	×-Ñ-¨aÓ0×@Ñ@ÀÓHÓIˆØ�ˆÜ—‘˜ f°VÔ<ˆÜ
×Ñ˜f fÔ-ô œŸ	™	×-Ñ-¨aÓ0×9Ñ9¸!À&Ð9ÓIÓJˆØ�ˆÜ—‘˜ f°VÔ<ˆÜ
×Ñ˜f fÔ-ô œŸ	™	×-Ñ-¨aÓ0×@Ñ@ÀÓHÈ3ÑNÓOˆØ�YÒØ>ˆCÜ—‘Ô2¸#Ô>ñ <Ü—‘˜ V°FÕ;÷<ð <ð �TˆFÜ—W‘W˜T¨&¸Ô@ˆFÜ×!Ñ! &¨&Õ1÷<ð <úó   Ä1FÆFc                ó"  — d}t        t        j                  j                  d«      j	                  d«      «      }| }t        j                  |||¬«      }t        j                  ||«       t        t        j                  j                  d«      j                  dd¬«      «      }| }t        j                  |||¬«      }t        j                  ||«       t        t        j                  j                  d«      j	                  d«      dkD  «      }|dk(  r?d}t        j                  t        |¬	«      5  t        j                  |||¬«       d d d «       y | }t        j                  |||¬«      }t        j                  ||«       y # 1 sw Y   y xY w)
Nrþ   rR   rL   r‘   rí   rT   r$   rÿ   r�   )r   rD   rV   rW   rX   r”   r•   r–   rû   rö   r,   r’   r“   r   s           r4   Útest_series_negatezTestEval.test_series_negateö  sF  € Øˆô ”R—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸aÓ@ÓAˆØ�ˆÜ—‘˜ f°VÔ<ˆÜ
×Ñ˜v vÔ.ô ”R—Y‘Y×*Ñ*¨1Ó-×6Ñ6°q¸qÐ6ÓAÓBˆØ�ˆÜ—‘˜ f°VÔ<ˆÜ
×Ñ˜v vÔ.ô ”R—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸aÓ@À3ÑFÓGˆØ�YÒØ>ˆCÜ—‘Ô2¸#Ô>ñ <Ü—‘˜ V°FÕ;÷<ð <ð �TˆFÜ—W‘W˜T¨&¸Ô@ˆFÜ×"Ñ" 6¨6Õ2÷<ð <úr  rF   rR   rê   rL   rí   rT   c                óh   — d}|}t        j                  |||¬«      }t        j                  ||«       y ©Nz+lhsr‘   )r”   r•   r–   r÷   ©r˜   rF   r3   r>   r   rø   rž   s          r4   Útest_frame_poszTestEval.test_frame_pos  s0   € ð ˆØˆä—‘˜ f°VÔ<ˆÜ
×Ñ˜f fÕ-r<   c                óh   — d}|}t        j                  |||¬«      }t        j                  ||«       y r  )r”   r•   r–   rû   r  s          r4   Útest_series_poszTestEval.test_series_pos"  s0   € ð ˆØˆä—‘˜ f°VÔ<ˆÜ
×Ñ˜v vÕ.r<   c                ó   — d}d }t         r|dk(  r|dk(  st        }t        j                  t        |¬«      5  t        j                  d||¬«       d d d «       t        j                  d||¬«      d	k(  sJ ‚t        j                  d
||¬«      dk(  sJ ‚t        j                  d||¬«      dk(  sJ ‚t        j                  d||¬«      dk(  sJ ‚t        j                  d||¬«      dk(  sJ ‚t        j                  |dd¬«      5  t        j                  d||¬«      dk(  sJ ‚	 d d d «       t        j                  |dd¬«      5  t        j                  d||¬«      dk(  sJ ‚	 d d d «       t        j                  d||¬«      dk(  sJ ‚t        j                  d||¬«      dk(  sJ ‚t        j                  d||¬«      dk(  sJ ‚t        j                  d||¬«      dk(  sJ ‚y # 1 sw Y   �ŒŽxY w# 1 sw Y   ŒÊxY w# 1 sw Y   Œ—xY w)Nz%bad operand type for unary ~: 'float'r$   r±   r�   z~1.0r‘   z-1.0©r>   r3   g      ð¿z+1.0g      ð?z~1éþÿÿÿz-1éÿÿÿÿz+1rU   zBitwise inversionF)rŽ   Úcheck_stacklevelz~Truez~Falsez-Truez-Falser   z+Truez+False)	r   ÚDeprecationWarningr,   r’   r­   r”   r•   r–   Úassert_produces_warning)r˜   r3   r>   r™   Úwarns        r4   Útest_scalar_unaryzTestEval.test_scalar_unary4  sæ  € Ø5ˆØˆÝ˜& IÒ-°&¸HÒ2DÜ%ˆDÜ�]‰]œ9¨CÔ0ñ 	:Ü�G‰G�F 6°&Õ9÷	:ô �w‰w�v f°VÔ<ÀÒDÐDÐDÜ�w‰w�v f°VÔ<ÀÒDÐDÐDÜ�w‰w�t F°6Ô:¸bÒ@Ð@Ð@Ü�w‰w�t F°6Ô:¸bÒ@Ð@Ð@Ü�w‰w�t F°6Ô:¸bÒ@Ð@Ð@Ü×'Ñ'ØÐ+¸eô
ñ 	Kô —7‘7˜7¨6¸&ÔAÀUÒJÐJÑJ÷	Kô ×'Ñ'ØÐ+¸eô
ñ 	Mô —7‘7˜8¨F¸6ÔBÀfÒLÐLÑL÷	Mô �w‰w�w v°fÔ=ÀÒFÐFÐFÜ�w‰w�x¨°vÔ>À&ÒHÐHÐHÜ�w‰w�w v°fÔ=ÀÒFÐFÐFÜ�w‰w�x¨°vÔ>À&ÒHÐHÑH÷'	:ñ 	:ú÷	Kð 	Kú÷	Mð 	Mús#   ¶GÄ G(Ä?G4ÇG%Ç(G1Ç4G=c                óî   — t        j                  t        j                  d«      t         j                  ¬«      }t        j                  g d¢t         j                  ¬«      }t        j                  ||«       y )Nz>[-True, True, +True, -False, False, +False, -37, 37, ~37, +37]r^   )
r  TrU   r   Fr   iÛÿÿÿé%   iÚÿÿÿr  )rD   r³   r”   r•   Úobject_r–   rà   )r˜   rž   r�   s      r4   Útest_unary_in_arrayzTestEval.test_unary_in_arrayN  sV   € ô —‘Ü�G‰GÐTÓUÜ—*‘*ô
ˆô —8‘8òô —*‘*ô
ˆô 	×#Ñ# F¨HÕ5r<   r   zx < -0.1z-5 > xc                ó¶   — t        dt        j                  dg|¬«      i«      }|j                  |«      }|j                  t        j                  dg«      k(  sJ ‚y )Nrµ   r   r^   F)r   rD   r³   r•   rÊ   )r˜   Úfloat_numpy_dtyper   ÚdfrØ   s        r4   Útest_float_comparison_bin_opz%TestEval.test_float_comparison_bin_opg  sK   € ô ˜œRŸX™X q cÐ1BÔCÐDÓEˆØ�g‰g�d‹mˆØ�z‰zœRŸX™X u gÓ.Ò.Ð.Ñ.r<   c                óh  — t        dddt        j                  gi«      }|j                  d«      }|j                  j                  d«      }t        j                  ||t         ¬«       |j                  d«      }|j                  j                  dd¬«      }t        j                  ||t         ¬«       y )	Nrµ   r   rU   zx.fillna(-1)r  ©Úcheck_nameszx.shift(1, fill_value=-1))Ú
fill_value)
r   rD   rE   r•   rµ   Úfillnar–   rû   r   Úshift©r˜   r  rž   r�   s       r4   Útest_unary_in_functionzTestEval.test_unary_in_functionn  s‰   € ä˜˜a ¤B§F¡F˜^Ð,Ó-ˆà—‘˜Ó(ˆØ—4‘4—;‘;˜r“?ˆô 	×Ñ˜v xÄ¸_ÕMà—‘Ð4Ó5ˆØ—4‘4—:‘:˜a¨B�:Ó/ˆÜ
×Ñ˜v xÄ¸_ÖMr<   rš   )z1 or 2z1 and 2za and bza or bz1 or 2 and (3 + 2) > 3z2 * x > 2 or 1 and 2z2 * df > 3 and 1 or ac                ój  — t         j                  j                  d«      j                  d«      dd}}}t	        t         j                  j                  d«      j                  d«      «      }d}t        j                  t        |¬«      5  t        j                  |||¬«       d d d «       y # 1 sw Y   y xY w)NrR   rò   rU   ©rò   rR   ú;cannot evaluate scalar only bool ops|'BoolOp' nodes are notr�   r‘   )
rD   rV   rW   rX   r   r,   r’   r“   r”   r•   )	r˜   rš   r3   r>   rµ   rñ   ró   r  r™   s	            r4   Útest_disallow_scalar_bool_opsz&TestEval.test_disallow_scalar_bool_ops|  sˆ   € ô —)‘)×'Ñ'¨Ó*×:Ñ:¸1Ó=¸qÀ!ˆaˆ1ˆÜ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓGÓHˆàKˆÜ�]‰]Ô.°cÔ:ñ 	6Ü�G‰G�B˜v¨fÕ5÷	6÷ 	6ñ 	6ús   ÂB)Â)B2c                ó¢  — d}t        j                  d||¬«      }|dk(  sJ ‚t        |«      sJ ‚d}t        j                  d||¬«      }|dk(  sJ ‚t        |«      sJ ‚d}t        j                  d||¬«      }|rJ ‚t        |«      sJ ‚t        |«      sJ ‚t	        j
                  dg«      }t        j                  d||¬«      }t        j                  |t	        j
                  dg«      «       |j                  dk(  sJ ‚t	        j
                  dg«      }t        j                  d||¬«      }t        j                  |t	        j
                  dg«      «       |j                  dk(  sJ ‚t	        j
                  dg«      }t        j                  d||¬«      }t        j                  |t	        j
                  dg«      «       |j                  dk(  sJ ‚y )NrU   rµ   r‘   g      ø?F)rU   )	r”   r•   r   r   rD   r³   r–   rà   Úshape)r˜   r3   r>   rµ   rž   s        r4   Útest_identicalzTestEval.test_identical�  s†  € àˆÜ—‘˜ V°FÔ;ˆØ˜Š{Ðˆ{Ü˜Ô Ð Ð àˆÜ—‘˜ V°FÔ;ˆØ˜Š}Ðˆ}Ü˜Ô Ð Ð àˆÜ—‘˜ V°FÔ;ˆÙÐˆzÜ�vŒÐˆÜ˜Ô Ð Ð ä�H‰H�a�S‹MˆÜ—‘˜ V°FÔ;ˆÜ
×#Ñ# F¬B¯H©H°a°S«MÔ:Ø�|‰|˜tÒ#Ð#Ð#ä�H‰H�c�U‹OˆÜ—‘˜ V°FÔ;ˆÜ
×#Ñ# F¬B¯H©H°c°U«OÔ<Ø�|‰|˜tÒ#Ð#Ð#ä�H‰H�e�WÓˆÜ—‘˜ V°FÔ;ˆÜ
×#Ñ# F¬B¯H©H°e°WÓ,=Ô>Ø�|‰|˜tÒ#Ð#Ñ#r<   c                óF   — d}t        j                  |||¬«      }|dk(  sJ ‚y )Nz1 + 2 *         5 - 1 + 2 r‘   é   )r”   r•   )r˜   r3   r>   Úexprž   s        r4   Útest_line_continuationzTestEval.test_line_continuation±  s'   € ðˆä—‘˜ V°FÔ;ˆØ˜Š|Ð‰|r<   c                óÞ  — d}t        j                  |||¬«      }t        j                  |«      }||k(  sJ ‚t	        dg d¢i«      }d}|j                  d|d›�«      }|j                  sJ ‚d}|j                  d	|d›�«      }|j                  d
dgd d …f   }t        j                  ||«       d}|j                  d|d›�«      }|j                  d
gd d …f   }t        j                  ||«       y )Nz1000000000.006r‘   ÚA)g~  eÍÍAç$  eÍÍAg'1  eÍÍAg©  eÍÍAzA < z.4fgÅ   eÍÍAzA > rU   rR   r1  úA == )
r”   r•   rD   rf   r   ÚqueryÚemptyÚlocr–   r÷   )	r˜   r3   r>   r-  rž   r�   r  ÚcutoffÚexacts	            r4   Útest_float_truncationzTestEval.test_float_truncation¸  sí   € àˆÜ—‘˜ V°FÔ;ˆÜ—:‘:˜c“?ˆØ˜Ò!Ð!Ð!ä˜ÒPÐQÓRˆØ ˆØ—‘˜D ¨ Ð-Ó.ˆØ�|Š|Ðˆ|à ˆØ—‘˜D ¨ Ð-Ó.ˆØ—6‘6˜1˜a˜&¢!˜)Ñ$ˆÜ
×Ñ˜h¨Ô/àˆØ—‘˜E %¨ Ð-Ó.ˆØ—6‘6˜1˜#šq˜&‘>ˆÜ
×Ñ˜h¨Õ/r<   c                óf  — t        g d¢gg d¢¬«      }d}t        j                  t        |¬«      5  |j	                  d«       d d d «       t        «       }d|j
                  _        t        j                  t        |¬«      5  |j	                  d«       d d d «       y # 1 sw Y   ŒZxY w# 1 sw Y   y xY w)	N)r   r   r   )ÚfooÚbarÚclass©Úcolumnsz4Python keyword not valid identifier in numexpr queryr�   z
class == 0Úlambdazlambda == 0)r   r,   r’   ÚSyntaxErrorr3  ÚindexÚname©r˜   r  r™   s      r4   Útest_disallow_python_keywordsz&TestEval.test_disallow_python_keywordsÎ  s�   € äš	�{Ò,CÔDˆØDˆÜ�]‰]œ;¨cÔ2ñ 	#Ø�H‰H�\Ô"÷	#ô ‹[ˆØ ˆ�‰ŒÜ�]‰]œ;¨cÔ2ñ 	$Ø�H‰H�]Ô#÷	$ð 	$÷	#ð 	#ú÷
	$ð 	$ús   °BÂ B'ÂB$Â'B0c                ó  — t        j                  t        t        d¬«      5  t	        j
                  d«      dk(  sJ ‚t	        j
                  d«      dk(  sJ ‚t	        j
                  d«      dk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)	NF)r  znot Truer  z	not Falser  zTrue and not Truer   )r–   Úmaybe_produces_warningr  r   r”   r•   )r˜   s    r4   Útest_true_false_logiczTestEval.test_true_false_logicÚ  sv   € ô ×&Ñ&Ü¤¸ô
ñ 	5ô —7‘7˜:Ó&¨"Ò,Ð,Ð,Ü—7‘7˜;Ó'¨2Ò-Ð-Ð-Ü—7‘7Ð.Ó/°1Ò4Ð4Ñ4÷	5÷ 	5ñ 	5ús   ¡AA:Á:Bc                óX  — t        ddi«      }t        j                  |j                  j	                  d«      j
                  › «      sJ ‚t        j                  |j                  j	                  d«      j
                  xr% |j                  j	                  d«      j
                  › «      sJ ‚y )Nrñ   Úhello)r   r”   r•   rB   rŽ   rñ   )r˜   Úevents     r4   Útest_and_logic_string_matchz$TestEval.test_and_logic_string_matchä  sx   € ä˜˜W�~Ó&ˆÜ�w‰w˜%Ÿ)™)Ÿ/™/¨'Ó2×4Ñ4Ð5Ô7Ð7Ð7Ü�w‰w˜%Ÿ)™)Ÿ/™/¨'Ó2×4Ñ4ÒS¸¿¹¿¹ÈÓ9Q×9SÑ9SÐTÔVÐVÑVr<   N)1Ú__name__Ú
__module__Ú__qualname__r,   r.   Úparametrizer   ÚBOOL_OPS_SYMSrŸ   ÚCMP_OPS_SYMSr®   rº   rÅ   ÚsortedÚsetr   Ú
differencer   rÎ   rÓ   rÙ   r0   Úskip_if_windowsrâ   rç   rù   rü   r  r  r   rD   rV   rW   rX   rö   r  r   r
  r  r  r  r#  r'  r*  r.  r8  rD  rG  rK  ry   r<   r4   r|   r|   ‰   sU  „ Ø‡[�[×ÑØÚ*Ú0ð ó ð
 ‡[�[×Ñ˜V c¨3 Z°d¸D°\ÐÓBØ‡[�[×Ñ˜W d×&8Ñ&8Ó9ñ*ó :ó Cóð*ð  ‡[�[×Ñ˜X t×'8Ñ'8Ó9ñ .ó :ð .ðD ‡[�[×Ñ˜T 4×#4Ñ#4Ó5ñ15ó 6ð15ðf ‡[�[×Ñ˜V c¨3 ZÓ0Ø‡[�[×Ñ˜V c¨3 ZÓ0ñ9ó 1ó 1ð9ð. ‡[�[×ÑØ‘&™˜^Ó,×7Ñ7Ð8SÓTÓUóñ9óð9ò@5ò$ð, ×Ññ5ó ð5ò21ò+<òZ-<ò^2ò43ð4 ‡[�[×ÑØñ �b—i‘i×+Ñ+¨AÓ.×>Ñ>¸vÓFÓGá�b—i‘i×+Ñ+¨AÓ.×7Ñ7¸ÀÐ7ÓGÓHá�b—i‘i×+Ñ+¨AÓ.×>Ñ>¸vÓFÈÑLÓMð	
ó
ñ.ó
ð.ð ‡[�[×ÑØñ �2—9‘9×(Ñ(¨Ó+×;Ñ;¸AÓ>Ó?á�2—9‘9×(Ñ(¨Ó+×4Ñ4°Q¸QÐ4Ó?Ó@á�2—9‘9×(Ñ(¨Ó+×;Ñ;¸AÓ>ÀÑDÓEð	
ó
ñ/ó
ð/òIò46ð2 ‡[�[×Ñ˜V j°(Ð%;Ó<ñ/ó =ð/òNð ‡[�[×ÑØð	
óñ6óð6ò$òBò0ò,
$ò5óWr<   r|   c                  ó–   — e Zd Zej                  j                  dg d¢«      ej                  j                  dddg«      d„ «       «       Zy)ÚTestTypeCastingr¯   )ú+ú-Ú*rÛ   ú/Ú
left_right)r  Ú3)r]  r  c                óì  — |}t        t        j                  j                  d«      j	                  d«      |¬«      }|\  }	}
|	› d|› d|
› �}t        j                  |||¬«      }|dk(  r6|dk(  r1t        j                  j                  d¬	«      }|j                  |«       |j                  j                  |k(  sJ ‚|j                  j                  |k(  sJ ‚t        j                  |t        |«      d
¬«       y )NrR   ©rL   rò   r^   ú r‘   Ú	complex64r$   zfnumexpr issue with complex that are upcast to complex 128 https://github.com/pydata/numexpr/issues/492r(   F)Úcheck_exact)r   rD   rV   rW   rX   r”   r•   r,   r.   r¶   r·   rÊ   r_   r–   r÷   )r˜   r3   r>   r¯   Úcomplex_or_float_dtyper\  r;   r_   r  ÚleftÚrightrv   rØ   r.   s                 r4   Útest_binop_typecastingz&TestTypeCasting.test_binop_typecastingð  sá   € ð 'ˆÜ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓGÈuÔUˆØ ‰ˆˆeØˆf�A�b�T˜˜5˜'Ð"ˆÜ�g‰g�a ¨vÔ6ˆØ�KÒ F¨iÒ$7Ü—;‘;×$Ñ$ð?ð %ó ˆDð
 ×Ñ Ô%Ø�y‰y�‰ %Ò'Ð'Ð'Ø�z‰z×Ñ 5Ò(Ð(Ð(Ü
×Ñ˜c¤4¨£7¸Ö>r<   N)rL  rM  rN  r,   r.   rO  rf  ry   r<   r4   rW  rW  ï  sG   „ Ø‡[�[×Ñ˜TÒ#=Ó>ð ‡[�[×Ñ˜\¨K¸Ð+EÓFñ?ó Gó ?ñ?r<   rW  c                 ó¢   — t        t        t        j                  d«      | «      «       }t	        t        j
                  d„ | D «       «      }|xr |S )NÚis_monotonic_increasingc              3  óx   K  — | ]2  }t        |j                  j                  t        j                  «      –— Œ4 y ­wr8   )Ú
issubclassr_   ÚtyperD   Ú
datetime64r´   s     r4   r5   zshould_warn.<locals>.<genexpr>  s#   è ø€ ÒMÀ1”z !§'¡'§,¡,´·±×>ÑMùs   ‚8:)ÚanyÚmapÚoperatorÚ
attrgetterr   Úxor)ÚargsÚnot_monoÚonly_one_dts      r4   Úshould_warnru    sH   € Ü”sœ8×.Ñ.Ð/HÓIÈ4ÓPÓQÐQ€HÜÜ�‰ÑMÈÔMó€Kð Ò#˜Ð#r<   c                  óL  — e Zd Zg d¢Zedgz   Zd„ Zej                  j                  d«      ej                  j                  de«      ej                  j                  de«      ej                  j                  de«      d„ «       «       «       «       Z
ej                  j                  d	e«      ej                  j                  de«      d
„ «       «       Zej                  j                  d«      ej                  j                  de«      ej                  j                  de«      ej                  j                  de«      ej                  j                  de«      d„ «       «       «       «       «       Zej                  j                  d«      ej                  j                  dddg«      ej                  j                  de«      ej                  j                  d	e«      d„ «       «       «       «       Zej                  j                  dddg«      ej                  j                  d e eddgddg«      «      dgz   «      ej                  j                  d«      d„ «       «       «       Zej                  j                  d«      ej                  j                  de«      ej                  j                  d	e«      ej                  j                  dddg«      ej                  j                  dddg«      d„ «       «       «       «       «       Zej                  j                  d«      ej                  j                  de«      ej                  j                  de«      ej                  j                  de«      ej                  j                  de«      d„ «       «       «       «       «       Zd„ Zy) ÚTestAlignment)rl   rv   rw   rv   c                óØ   — d}t        t        j                  j                  d«      j	                  d«      «      }t        j                  |||¬«      }t        j                  ||dz  «       y )Nzdf * ~2rR   r_  r‘   éýÿÿÿ)	r   rD   rV   rW   rX   r”   r•   r–   r÷   )r˜   r3   r>   rv   r  rØ   s         r4   Útest_align_nested_unary_opz(TestAlignment.test_align_nested_unary_op  sQ   € ØˆÜ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓGÓHˆÜ�g‰g�a ¨vÔ6ˆÜ
×Ñ˜c 2¨¡7Õ+r<   zalways::RuntimeWarningÚlr_idx_typeÚrr_idx_typeÚ
c_idx_typec                ód  — t        t        j                  j                  d«      j	                  d«       ||   d«       ||   d«      ¬«      }t        t        j                  j                  d«      j	                  d«       ||   d«       ||   d«      ¬«      }t        |j                  |j                  «      r;t        j                  t        «      5  t        j                  d||¬«      }	d d d «       nt        j                  d||¬«      }	t        j                  	||z   «       y # 1 sw Y   Œ#xY w)	NrR   ©rS   rS   rS   ©rA  r>  )é   rS   r�  zdf + df2r‘   ©r   rD   rV   rW   rX   ru  rA  r–   r  ÚRuntimeWarningr”   r•   r÷   )
r˜   r3   r>   r{  r|  r}  rz   r  Údf2rØ   s
             r4   Útest_basic_frame_alignmentz(TestAlignment.test_basic_frame_alignment  s  € ô Ü�I‰I×!Ñ! !Ó$×4Ñ4°XÓ>Ø,�- Ñ,¨RÓ0Ø-�M *Ñ-¨bÓ1ô
ˆô
 Ü�I‰I×!Ñ! !Ó$×4Ñ4°XÓ>Ø,�- Ñ,¨RÓ0Ø-�M *Ñ-¨bÓ1ô
ˆô �r—x‘x §¡Ô+Ü×+Ñ+¬NÓ;ñ HÜ—g‘g˜j°ÀÔG�÷Hð Hô —'‘'˜*¨V¸FÔCˆCÜ
×Ñ˜c 2¨¡8Õ,÷	Hð Hús   ÃD&Ä&D/Ú
r_idx_typec                ó  — t        t        j                  j                  d«      j	                  d«       ||   d«       ||   d«      ¬«      }t        j                  d||¬«      }t        j                  ||dk  «       t        t        j                  j                  d«      j	                  |j                  «      |j                  |j                  ¬«      }t        j                  d||¬«      }t        j                  |||k  «       y )NrR   r  rS   r€  údf < 2r‘   zdf < df3)r   rD   rV   rW   rX   r”   r•   r–   r÷   r)  rA  r>  )	r˜   r3   r>   r†  r}  rz   r  rØ   Údf3s	            r4   Útest_frame_comparisonz#TestAlignment.test_frame_comparison8  sÒ   € ô
 Ü�I‰I×!Ñ! !Ó$×4Ñ4°XÓ>Ø+�- 
Ñ+¨BÓ/Ø-�M *Ñ-¨bÓ1ô
ˆô
 �g‰g�h v°fÔ=ˆÜ
×Ñ˜c 2¨¡6Ô*äÜ�I‰I×!Ñ! !Ó$×4Ñ4°R·X±XÓ>Ø—(‘(Ø—J‘Jô
ˆô
 �g‰g�j¨¸Ô?ˆÜ
×Ñ˜c 2¨¡8Õ,r<   zignore::RuntimeWarningÚr1Úc1Úr2Úc2c                ó  — t        t        j                  j                  d«      j	                  d«       ||   d«       ||   d«      ¬«      }t        t        j                  j                  d«      j	                  d«       ||   d«       ||   d«      ¬«      }	t        t        j                  j                  d«      j	                  d«       ||   d«       ||   d«      ¬«      }
t        |j                  |	j                  |
j                  «      r;t        j                  t        «      5  t        j                  d	||¬
«      }d d d «       nt        j                  d	||¬
«      }t        j                  ||	z   |
z   «       y # 1 sw Y   Œ&xY w)NrR   r%  rò   r€  )é   rR   r�  rê   rL   zdf + df2 + df3r‘   r‚  )r˜   r3   r>   r‹  rŒ  r�  rŽ  rz   r  r„  r‰  rØ   s               r4   Ú#test_medium_complex_frame_alignmentz1TestAlignment.test_medium_complex_frame_alignmentM  s^  € ô Ü�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Ø#�- Ñ# AÓ&Ø%�M "Ñ% aÓ(ô
ˆô
 Ü�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Ø#�- Ñ# AÓ&Ø%�M "Ñ% aÓ(ô
ˆô
 Ü�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Ø#�- Ñ# AÓ&Ø%�M "Ñ% aÓ(ô
ˆô
 �r—x‘x §¡¨C¯I©IÔ6Ü×+Ñ+¬NÓ;ñ NÜ—g‘gÐ.°vÀfÔM�÷Nð Nô —'‘'Ð*°6À&ÔIˆCÜ
×Ñ˜c 2¨¡8¨c¡>Õ2÷	Nð Nús   Ä)F Æ F	Ú
index_namerA  r>  c                óª  — t        t        j                  j                  d«      j	                  d«       ||   d«       ||   d«      ¬«      }t        ||«      }t        t        j                  j                  d«      j	                  d«      |d d «      }	t        |j                  |	j                  «      r;t        j                  t        «      5  t        j                  d||¬«      }
d d d «       nt        j                  d||¬«      }
|dk(  s|dk(  r|d	k(  r|j                  |	«      n||	z   }n||	z   }t        j                  
|«       y # 1 sw Y   ŒKxY w)
NrR   r  rS   r€  rL   údf + sr‘   rw   r$   )r   rD   rV   rW   rX   Úgetattrr   ru  rA  r–   r  rƒ  r”   r•   Úaddr÷   )r˜   r3   r>   r’  r†  r}  rz   r  rA  rv   rØ   r�   s               r4   Ú!test_basic_frame_series_alignmentz/TestAlignment.test_basic_frame_series_alignmentk  s*  € ô Ü�I‰I×!Ñ! !Ó$×4Ñ4°XÓ>Ø+�- 
Ñ+¨BÓ/Ø-�M *Ñ-¨bÓ1ô
ˆô
 ˜˜JÓ'ˆÜ”2—9‘9×(Ñ(¨Ó+×;Ñ;¸AÓ>ÀÀbÀqÀ	ÓJˆä�r—x‘x §¡Ô)Ü×+Ñ+¬NÓ;ñ FÜ—g‘g˜h¨v¸fÔE�÷Fð Fô —'‘'˜(¨6¸&ÔAˆCà˜Ò ¨tÒ!3Ø$*¨iÒ$7�r—v‘v˜a”y¸RÀ!¹V‰Hà˜A‘vˆHÜ
×Ñ˜c 8Õ,÷Fð Fús   ÃE	Å	Ezr_idx_type, c_idx_typerl   )rw   rw   c           
     ó\  — |dk(  rT|dv rP|dk(  rK|dk(  rF|dk(  rAd|› d|› d|› d	|› d
|› �
}|j                  t        j                  j                  |d¬«      «       t	        t
        j                  j                  d«      j                  d«       ||   d«       ||   d«      ¬«      }	t        |	|«      }
t        t
        j                  j                  d«      j                  d«      |
d d «      }t        |j                  |	j                  «      r;t        j                  t        «      5  t!        j"                  d||¬«      }d d d «       nt!        j"                  d||¬«      }|dk(  s|dk(  r|dk(  r|	j%                  |«      n||	z   }n||	z   }t        j&                  |«       y # 1 sw Y   ŒKxY w)Nr$   )r±   rˆ   rA  rl   rv   z"Flaky column ordering when engine=z	, parser=z, index_name=z, r_idx_type=z, c_idx_type=F)r)   ÚstrictrR   )rS   é   rS   rš  r€  rL   zs + dfr‘   rw   )r·   r,   r.   r¶   r   rD   rV   rW   rX   r•  r   ru  rA  r–   r  rƒ  r”   r•   r–  r÷   )r˜   r;   r3   r>   r’  r†  r}  rz   r)   r  rA  rv   rØ   r�   s                 r4   Ú!test_basic_series_frame_alignmentz/TestAlignment.test_basic_series_frame_alignment†  s«  € ð �iÒØÐ.Ñ.Ø˜gÒ%Ø˜cÒ!Ø˜cÒ!ð 5°V°Hð =Ø ˜ ¨z¨lð ;Ø(˜\¨°z°lðDð ð
 ×Ñ¤§¡× 1Ñ 1¸ÈÐ 1Ó NÔOÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°WÓ=Ø+�- 
Ñ+¨BÓ/Ø-�M *Ñ-¨aÓ0ô
ˆô
 ˜˜JÓ'ˆÜ”2—9‘9×(Ñ(¨Ó+×;Ñ;¸AÓ>ÀÀbÀqÀ	ÓJˆÜ�q—w‘w §¡Ô)Ü×+Ñ+¬NÓ;ñ FÜ—g‘g˜h¨v¸fÔE�÷Fð Fô —'‘'˜(¨6¸&ÔAˆCà˜Ò ¨tÒ!3Ø$*¨iÒ$7�r—v‘v˜a”y¸QÀ¹V‰Hà˜2‘vˆHÜ
×Ñ˜c 8Õ,÷Fð Fús   Ä&F"Æ"F+r¯   rX  rZ  c                óL  — t        t        j                  j                  d«      j	                  d«       ||   d«       ||   d«      ¬«      }t        ||«      }	t        t        j                  j                  d«      j	                  d«      |	d d «      }
d|› d�}d|› d	�}t        |j                  |
j                  «      rut        j                  t        «      5  t        j                  |||¬
«      }d d d «       t        j                  t        «      5  t        j                  |||¬
«      }d d d «       n0t        j                  |||¬
«      }t        j                  |||¬
«      }|dk7  r#|dk7  r|dk(  rt        j                  «       y y y y # 1 sw Y   Œ�xY w# 1 sw Y   Œ>xY w)NrR   r  rS   r€  rL   zs z dfzdf z sr‘   rw   r$   )r   rD   rV   rW   rX   r•  r   ru  rA  r–   r  rƒ  r”   r•   r÷   )r˜   r3   r>   r’  r¯   r†  r}  rz   r  rA  rv   rF   rH   rñ   ró   s                  r4   Útest_series_frame_commutativityz-TestAlignment.test_series_frame_commutativity¯  sx  € ô Ü�I‰I×!Ñ! !Ó$×4Ñ4°XÓ>Ø+�- 
Ñ+¨BÓ/Ø-�M *Ñ-¨bÓ1ô
ˆô
 ˜˜JÓ'ˆÜ”2—9‘9×(Ñ(¨Ó+×;Ñ;¸AÓ>ÀÀbÀqÀ	ÓJˆà�2�$�cˆlˆØ�B�4�rˆlˆÜ�r—x‘x §¡Ô)Ü×+Ñ+¬NÓ;ñ ?Ü—G‘G˜C¨°vÔ>�÷?ä×+Ñ+¬NÓ;ñ ?Ü—G‘G˜C¨°vÔ>�÷?ð ?ô —‘˜ F°6Ô:ˆAÜ—‘˜ F°6Ô:ˆAà˜Ò *°Ò"4Ø˜Ò"Ü×%Ñ% a¨Õ+ð #ð #5Ð÷?ð ?ú÷?ð ?ús   ÃFÄFÆFÆF#c                ó  — d}d}	d|	z  }
t        t        j                  j                  d«      j	                  |	|f«       ||   |	«       ||   |«      ¬«      }t        t        j                  j                  d«      j	                  |
|f«       ||   |
«       ||   |«      ¬«      }|j
                  }t        t        j                  j                  d«      j	                  |«      |d | «      }|dk(  s|dk(  r|dk(  r|j                  |«      }n||z   }n||z   }|dk(  s|dk(  r|dk(  r|j                  |«      }n||z   }n||z   }t        |j                  |j                  |j                  «      r;t        j                  t        «      5  t        j                  d||¬«      }d d d «       nt        j                  d||¬«      }j                  |j                  k(  sJ ‚t        j                   ||«       y # 1 sw Y   Œ;xY w)	Nrò   rL   rR   r€  rw   r$   zdf2 + ser + dfr‘   )r   rD   rV   rW   rX   r>  r   r–  ru  rA  r–   r  rƒ  r”   r•   r)  r÷   )r˜   r3   r>   r‹  rŒ  r�  rŽ  rz   rc   Úm1Úm2r  r„  rA  ÚserÚ	expected2r�   rØ   s                     r4   Ú#test_complex_series_frame_alignmentz1TestAlignment.test_complex_series_frame_alignmentÎ  sÞ  € ð ˆØˆØ�‰VˆÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°b¸!°WÓ=Ø#�- Ñ# BÓ'Ø%�M "Ñ% aÓ(ô
ˆô
 Ü�I‰I×!Ñ! !Ó$×4Ñ4°b¸!°WÓ=Ø#�- Ñ# BÓ'Ø%�M "Ñ% aÓ(ô
ˆð
 —‘ˆÜ”R—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸aÓ@À%ÈÈÀ)ÓLˆà�Š:˜˜tšØ˜Ò"ØŸG™G C›L‘	à #™I‘	à˜c™	ˆIà�Š:˜˜tšØ˜Ò"Ø$Ÿ=™=¨Ó,‘à$ r™>‘à  2‘~ˆHä�s—y‘y #§)¡)¨R¯X©XÔ6Ü×+Ñ+¬NÓ;ñ NÜ—g‘gÐ.°vÀfÔM�÷Nð Nô —'‘'Ð*°6À&ÔIˆCØ�y‰y˜HŸN™NÒ*Ð*Ð*Ü
×Ñ˜c 8Õ,÷Nð Nús   Æ	G5Ç5G>c                ó&  — t        t        j                  j                  d«      j	                  d«      «      }t        t        j                  j                  d«      j	                  d«      «      }|dk(  rt        }nd}t        j                  |«      5  t        j                  d||¬«       d d d «       t        t        j                  j                  d«      j	                  d«      «      }t        j                  d«      5  t        j                  d||¬«       d d d «       t        t        j                  j                  d«      j	                  d	«      «      }t        t        j                  j                  d«      j	                  d«      «      }t        j                  d«      5  t        j                  d||¬«       d d d «       t        t        j                  j                  d«      j	                  d
«      «      }t        t        j                  j                  d«      j	                  d«      «      }|dk(  }|st        }nd}t        j                  |«      5 }t        j                  d||¬«       |set        |«      dk(  sJ ‚t        |d   j                  «      }	t        j                  |j                  |j                   d   z
  «      }
d|
d›d�}|	|k(  sJ ‚d d d «       y # 1 sw Y   �Œ7xY w# 1 sw Y   �Œ×xY w# 1 sw Y   �Œ@xY w# 1 sw Y   y xY w)NrR   )éè  rS   é'  r$   Fr”  r‘   r¥  )rS   r¦  r  rˆ   rU   r   z_Alignment difference on axis 1 is larger than an order of magnitude on term 'df', by more than z.4gz; performance may suffer.)r   rD   rV   rW   rX   r   r	   r–   r  r”   r•   ÚlenrB   ÚmessageÚlog10rî   r)  )r˜   r3   r>   r  rv   ÚseenÚis_python_engineÚwrnÚwr™   Úloggedr�   s               r4   Ú+test_performance_warning_for_poor_alignmentz9TestAlignment.test_performance_warning_for_poor_alignmentþ  sm  € Ü”r—y‘y×,Ñ,¨QÓ/×?Ñ?À
ÓKÓLˆÜ”2—9‘9×(Ñ(¨Ó+×;Ñ;¸EÓBÓCˆØ�YÒÜ%‰DàˆDä×'Ñ'¨Ó-ñ 	<Ü�G‰G�H V°FÕ;÷	<ô ”2—9‘9×(Ñ(¨Ó+×;Ñ;¸DÓAÓBˆÜ×'Ñ'¨Ó.ñ 	<Ü�G‰G�H V°FÕ;÷	<ô ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓLÓMˆÜ”2—9‘9×(Ñ(¨Ó+×;Ñ;¸EÓBÓCˆÜ×'Ñ'¨Ó.ñ 	<Ü�G‰G�H V°FÕ;÷	<ô ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓIÓJˆÜ”2—9‘9×(Ñ(¨Ó+×;Ñ;¸EÓBÓCˆà! XÑ-ÐáÜ$‰CàˆCä×'Ñ'¨Ó,ð 	'°Ü�G‰G�H V°FÕ;á#Ü˜1“v ’{Ð"�{Ü˜!˜A™$Ÿ,™,Ó'�ÜŸ™ !§&¡&¨2¯8©8°A©;Ñ"6Ó7�ð$à$*¨3 <Ð/HðJð ð
 ˜h’Ð&�÷	'ð 	'÷-	<ñ 	<ú÷	<ñ 	<ú÷
	<ñ 	<ú÷	'ð 	'ús1   ÂK Ã?K-Æ#K:ÉB LË K*Ë-K7Ë:LÌLN)rL  rM  rN  Úindex_typesÚlhs_index_typesrz  r,   r.   ÚfilterwarningsrO  r…  rŠ  r‘  r—  Úlistr   r›  r�  r£  r¯  ry   r<   r4   rw  rw    s`  „ Ú"€KØ! S EÑ)€Oò,ð ‡[�[×ÑÐ 8Ó9Ø‡[�[×Ñ˜]¨OÓ<Ø‡[�[×Ñ˜]¨KÓ8Ø‡[�[×Ñ˜\¨;Ó7ñ-ó 8ó 9ó =ó :ð-ð* ‡[�[×Ñ˜\¨?Ó;Ø‡[�[×Ñ˜\¨?Ó;ñ-ó <ó <ð-ð& ‡[�[×ÑÐ 8Ó9Ø‡[�[×Ñ˜T ?Ó3Ø‡[�[×Ñ˜T ;Ó/Ø‡[�[×Ñ˜T ;Ó/Ø‡[�[×Ñ˜T ;Ó/ñ3ó 0ó 0ó 0ó 4ó :ð
3ð2 ‡[�[×ÑÐ 8Ó9Ø‡[�[×Ñ˜\¨G°YÐ+?Ó@Ø‡[�[×Ñ˜\¨;Ó7Ø‡[�[×Ñ˜\¨?Ó;ñ-ó <ó 8ó Aó :ð-ð. ‡[�[×Ñ˜\¨G°YÐ+?Ó@Ø‡[�[×ÑØ Ù‰W�c˜3�Z # s Ó,Ó-°°Ñ>óð ‡[�[×ÑÐ 8Ó9ñ!-ó :ó	ó Að!-ðF ‡[�[×ÑÐ 8Ó9Ø‡[�[×Ñ˜\¨;Ó7Ø‡[�[×Ñ˜\¨?Ó;Ø‡[�[×Ñ˜\¨G°YÐ+?Ó@Ø‡[�[×Ñ˜T C¨ :Ó.ñ,ó /ó Aó <ó 8ó :ð
,ð4 ‡[�[×ÑÐ 8Ó9Ø‡[�[×Ñ˜T ?Ó3Ø‡[�[×Ñ˜T ;Ó/Ø‡[�[×Ñ˜T ;Ó/Ø‡[�[×Ñ˜T ;Ó/ñ)-ó 0ó 0ó 0ó 4ó :ð
)-óV*'r<   rw  c            
      óŠ  — e Zd Zd„ Zd„ Zej                  j                  dddg«      ej                  j                  dddg«      ej                  j                  dej                  «      d„ «       «       «       Z
ej                  j                  dddg«      ej                  j                  dddg«      ej                  j                  dej                  «      d	„ «       «       «       Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej                  j;                  d¬«      d„ «       Zd„ Zd„ Z d „ Z!d!„ Z"d"„ Z#d#„ Z$d$„ Z%ej                  j                  d%d&d'd&d(g e&jN                  g «      d)g«      d*„ «       Z(ej                  j                  d%g d+¢«      d,„ «       Z)ej                  j                  d-d&d'd&d(g e&jN                  g «      d)d&d(ig«      d.„ «       Z*d/„ Z+d0„ Z,d1„ Z-d2„ Z.d3„ Z/d4„ Z0ej                  j                  d5g d6¢«      d7„ «       Z1ej                  j                  d8d9d:g«      d;„ «       Z2y<)=ÚTestOperationsc                ó\   — |j                  dd«      dz   |d<   t        j                  |i |¤ŽS ©NÚlevelr   rU   ©Úpopr”   r•   ©r˜   rr  Úkwargss      r4   r•   zTestOperations.eval0  ó/   € Ø Ÿ*™* W¨aÓ0°1Ñ4ˆˆw‰Ü�w‰w˜Ð' Ñ'Ð'r<   c                ór  — g }|dk(  rddg}t         j                  t         j                  z   D �cg c]  }||vr|‘Œ
 }}d„ |D «       }|D ]Û  }d|› d�}d|› d�}d|› d�}	|d	v r?d
}
t        j                  t
        |
¬«      5  t        j                  |||¬«       d d d «       ŒXt        d|d|«      }| j                  |||¬«      }||k(  sJ ‚t        ||d|«      }| j                  |d|i||¬«      }||k(  sJ ‚t        d||dz   |«      }| j                  |	d|i||¬«      }||k(  rŒÛJ ‚ y c c}w # 1 sw Y   ŒíxY w)Nrˆ   r£   r¤   c              3  ó,   K  — | ]  }|d k7  sŒ	|–— Œ y­w)z//Nry   )r2   r¯   s     r4   r5   z7TestOperations.test_simple_arith_ops.<locals>.<genexpr>?  s   è ø€ Ò4�b¨¨t«ŒrÑ4ùs   ‚
�z1 z 1zx z (x + 1)r¢   z&argument of type 'int' is not iterabler�   r‘   rU   rµ   rÖ   )	r   r   rQ  r,   r’   r­   r”   r•   rK   )r˜   r3   r>   Úexclude_arithr¯   Ú	arith_opsÚopsrš   rÃ   rÄ   r™   Úexpecrµ   Úys                 r4   Útest_simple_arith_opsz$TestOperations.test_simple_arith_ops4  s�  € ØˆØ�XÒØ! 8Ð,ˆMô ×)Ñ)¬D×,=Ñ,=Ñ=ö
àØ˜Ñ&ò ð
ˆ	ð 
ñ 5˜IÔ4ˆàò 	"ˆBØ�b�T˜�ˆBØ�r�d˜"�+ˆCØ�r�d˜(Ð#ˆCàÐ%Ñ%Ø>�Ü—]‘]¤9°CÔ8ñ >Ü—G‘G˜B v°fÕ=÷>ð >ô )¨¨B°°6Ó:�Ø—I‘I˜b¨¸�IÓ?�Ø˜E’zÐ!�zä(¨¨B°°6Ó:�Ø—I‘I˜c¨s°A¨h¸vÈf�IÓU�Ø˜E’zÐ!�zä(¨¨B°°A±°vÓ>�Ø—I‘I˜c¨s°A¨h¸vÈf�IÓU�Ø˜E“zÐ!�zñ)	"ùò
÷>ð >ús   ¯D(Á?D-Ä-D6	rH   TFrF   r¯   c                ó   — |› d|› d|› �}t         dk(  r<|dv r8d}t        j                  t        |¬«      5  | j	                  |«       d d d «       y | j	                  |«      }t	        |«      }||k(  sJ ‚y # 1 sw Y   y xY w©Nr`  rˆ   r‰   rŒ   r�   ©r>   r,   r’   r“   r•   ©r˜   rH   rF   r¯   rš   r™   rØ   r-  s           r4   Útest_simple_bool_opsz#TestOperations.test_simple_bool_opsW  ó€   € ð ˆu�A�b�T˜˜3˜%Ð ˆä�XÒ "¨Ñ"5Ø6ˆCÜ—‘Ô2¸#Ô>ñ Ø—	‘	˜"”÷àà�i‰i˜‹mˆÜ�2‹hˆØ�cŠzÐ‰z÷àúó   µA4Á4A=c                ó   — |› d|› d|› �}t         dk(  r<|dv r8d}t        j                  t        |¬«      5  | j	                  |«       d d d «       y | j	                  |«      }t	        |«      }||k(  sJ ‚y # 1 sw Y   y xY wrÇ  rÈ  rÉ  s           r4   Útest_bool_ops_with_constantsz+TestOperations.test_bool_ops_with_constantsg  rË  rÌ  c                ó^  — t         j                  j                  d«      j                  d«      }t	        t         j                  j                  d«      j                  d«      «      }d}t        j                  t        |¬«      5  | j                  d||dœ¬«       d d d «       y # 1 sw Y   y xY w)	NrR   )rò   r�  rL   é   rS   z?N-dimensional objects, where N > 2, are not supported with evalr�   úx + y©rµ   rÄ  ©r«   )	rD   rV   rW   rX   r   r,   r’   r“   r•   )r˜   rµ   rÄ  r™   s       r4   Útest_4d_ndarray_failsz$TestOperations.test_4d_ndarray_failsw  sƒ   € Ü�I‰I×!Ñ! !Ó$×4Ñ4°\ÓBˆÜ”2—9‘9×(Ñ(¨Ó+×;Ñ;¸BÓ?Ó@ˆØOˆÜ�]‰]Ô.°cÔ:ñ 	<Ø�I‰I�g°¸Ñ*:ˆIÔ;÷	<÷ 	<ñ 	<ús   ÂB#Â#B,c                ó4   — | j                  d«      }|dk(  sJ ‚y )NÚ1rU   )r•   )r˜   rµ   s     r4   Útest_constantzTestOperations.test_constant~  s   € Ø�I‰I�c‹NˆØ�AŠvˆ‰vr<   c                óÈ   — t        t        j                  j                  d«      j	                  d«      «      }| j                  dd|i¬«      }t        j                  ||«       y )NrR   ©rS   rR   r  rÓ  ©r   rD   rV   rW   rX   r•   r–   r÷   )r˜   r  r„  s      r4   Útest_single_variablez#TestOperations.test_single_variable‚  sL   € Ü”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓHÓIˆØ�i‰i˜¨$°¨ˆiÓ4ˆÜ
×Ñ˜b #Õ&r<   c                óô   — t        t        j                  j                  d«      j	                  d«      «      }t        j                  t        d¬«      5  | j                  d«       d d d «       y # 1 sw Y   y xY w)NrR   r_  úname 'x' is not definedr�   zdf[x > 2] > 2)	r   rD   rV   rW   rX   r,   r’   Ú	NameErrorr•   ©r˜   r  s     r4   Ú&test_failing_subscript_with_name_errorz5TestOperations.test_failing_subscript_with_name_error‡  sV   € Ü”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓGÓHˆÜ�]‰]œ9Ð,EÔFñ 	'Ø�I‰I�oÔ&÷	'÷ 	'ñ 	'ús   ÁA.Á.A7c                óÞ   — t        t        j                  j                  d«      j	                  d«      «      }| j                  dd|i¬«      }|dz   |dkD     }t        j                  ||«       y )NrR   r_  z(df + 1)[df > 2]r  rÓ  rU   rÚ  r"  s       r4   Útest_lhs_expression_subscriptz,TestOperations.test_lhs_expression_subscriptŒ  s_   € Ü”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓGÓHˆØ—‘Ð-¸4À¸*�ÓEˆØ˜‘F˜B ™FÑ#ˆÜ
×Ñ˜f hÕ/r<   c           	     ó  — t        t        j                  j                  d«      j	                  d«      t        d«      ¬«      }d}|j                  |j                  k  }d}|j                  |j                  z   |j                  z   }d}|j                  |j                  z   |j                  |j                  dk     z   }|||f}|||f}	t        ||	«      D ].  \  }
}t        j                  || j                  |
d	|i¬
«      «       Œ0 y )NrR   r_  Úabcr=  zdf.a < df.bzdf.a + df.b + df.czdf.a + df.b + df.c[df.b < 0]r   r  rÓ  )r   rD   rV   rW   rX   r³  rñ   ró   rI   Úzipr–   rû   r•   )r˜   r  Úexpr1Úexpec1Úexpr2Úexpec2Úexpr3Úexpec3ÚexprsÚexpecsrJ   rÃ  s               r4   Útest_attr_expressionz#TestOperations.test_attr_expression’  sæ   € ÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<ÄdÈ5Ãkô
ˆð ˆØ—‘˜Ÿ™‘ˆØ$ˆØ—‘˜Ÿ™‘˜rŸt™tÑ#ˆØ.ˆØ—‘˜Ÿ™‘˜rŸt™t B§D¡D¨1¡H™~Ñ-ˆØ�u˜eÐ#ˆØ˜ Ð'ˆÜ˜E 6Ó*ò 	O‰HˆAˆuÜ×"Ñ" 5¨$¯)©)°AÀ4ÈÀ*¨)Ó*MÕNñ	Or<   c                óŠ  — t        t        j                  j                  d«      j	                  d«      t        d«      ¬«      }t        t        j                  j                  d«      j	                  d«      «      }d}d}t        j                  t        |¬«      5  | j                  |||dœ¬	«       d d d «       y # 1 sw Y   y xY w)
NrR   r_  rä  r=  zdf = df2ú%cannot assign without a target objectr�   )r  r„  rÓ  )
r   rD   rV   rW   rX   r³  r,   r’   rA   r•   )r˜   r  r„  ræ  r™   s        r4   Útest_assignment_failsz$TestOperations.test_assignment_fails¡  s›   € ÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<ÄdÈ5Ãkô
ˆô œŸ	™	×-Ñ-¨aÓ0×@Ñ@ÀÓHÓIˆØˆØ5ˆÜ�]‰]œ:¨SÔ1ñ 	@Ø�I‰I�e¨r¸#Ñ(>ˆIÔ?÷	@÷ 	@ñ 	@ús   ÂB9Â9Cc                ó
  — t        t        j                  j                  d«      j	                  d«      t        d«      ¬«      }t        j                  t        d¬«      5  |j                  d«       d d d «       y # 1 sw Y   y xY w)NrR   rê   Úabr=  úinvalid syntaxr�   zd c = a + b©
r   rD   rV   rW   rX   r³  r,   r’   r@  r•   rß  s     r4   Ú%test_assignment_column_multiple_raisez4TestOperations.test_assignment_column_multiple_raise«  sa   € ÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<ÄdÈ4Ãjô
ˆô �]‰]œ;Ð.>Ô?ñ 	#Ø�G‰G�MÔ"÷	#÷ 	#ñ 	#ús   ÁA9Á9Bc                ó  — t        t        j                  j                  d«      j	                  d«      t        d«      ¬«      }d}t        j                  t        |¬«      5  |j                  d«       d d d «       y # 1 sw Y   y xY w)NrR   rê   ró  r=  z5left hand side of an assignment must be a single namer�   zd,c = a + brõ  rC  s      r4   Ú%test_assignment_column_invalid_assignz4TestOperations.test_assignment_column_invalid_assign³  sf   € ÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<ÄdÈ4Ãjô
ˆð FˆÜ�]‰]œ;¨cÔ2ñ 	#Ø�G‰G�MÔ"÷	#÷ 	#ñ 	#úó   Á A;Á;Bc                ó  — t        t        j                  j                  d«      j	                  d«      t        d«      ¬«      }d}t        j                  t        |¬«      5  |j                  d«       d d d «       y # 1 sw Y   y xY w)NrR   rê   ró  r=  zcannot assign to function callr�   zTimestamp("20131001") = a + brõ  rC  s      r4   Ú3test_assignment_column_invalid_assign_function_callzBTestOperations.test_assignment_column_invalid_assign_function_call¼  sf   € ÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<ÄdÈ4Ãjô
ˆð /ˆÜ�]‰]œ;¨cÔ2ñ 	5Ø�G‰GÐ3Ô4÷	5÷ 	5ñ 	5úrù  c                ó  — t        t        j                  j                  d«      j	                  d«      t        d«      ¬«      }|j                  «       }|d   |d   z   |d<   |j                  dd¬	«       t        j                  ||«       y )
NrR   rê   ró  r=  rñ   ró   ú	a = a + bT©Úinplace©
r   rD   rV   rW   rX   r³  Úcopyr•   r–   r÷   ©r˜   r  r�   s      r4   Ú&test_assignment_single_assign_existingz5TestOperations.test_assignment_single_assign_existingÄ  ór   € ÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<ÄdÈ4Ãjô
ˆð —7‘7“9ˆØ  ™¨°©Ñ5ˆ�‰Ø
�‰� TˆÔ*Ü
×Ñ˜b (Õ+r<   c                ó  — t        t        j                  j                  d«      j	                  d«      t        d«      ¬«      }|j                  «       }|d   |d   z   |d<   |j                  dd	¬
«       t        j                  ||«       y )NrR   rê   ró  r=  rñ   ró   rI   ú	c = a + bTrþ  r   r  s      r4   Ú!test_assignment_single_assign_newz0TestOperations.test_assignment_single_assign_newÎ  r  r<   c                ó4  — t        t        j                  j                  d«      j	                  d«      t        d«      ¬«      }|j                  «       }d}|j                  dd¬«       |j                  «       }d|d	   z   |d
<   t        j                  ||«       y )NrR   rê   ró  r=  rU   z	a = 1 + bTrþ  ró   rñ   r   )r˜   r  rñ   r�   s       r4   Ú+test_assignment_single_assign_local_overlapz:TestOperations.test_assignment_single_assign_local_overlapØ  s~   € ÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<ÄdÈ4Ãjô
ˆð �W‰W‹YˆØˆØ
�‰� TˆÔ*à—7‘7“9ˆØ˜H S™MÑ)ˆ�‰Ü
×Ñ˜b (Õ+r<   c                ód  — t        t        j                  j                  d«      j	                  d«      t        d«      ¬«      }d}|j                  j                  «       }|j                  dd¬«       ||j                  z   }t        j                  ||j                  d	¬
«       |j                  �J ‚y )NrR   rê   ró  r=  rU   rý  Trþ  Fr  )r   rD   rV   rW   rX   r³  rñ   r  r•   ró   r–   rû   rB  )r˜   r  rñ   Úold_arž   s        r4   Ú"test_assignment_single_assign_namez1TestOperations.test_assignment_single_assign_nameä  sˆ   € ÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<ÄdÈ4Ãjô
ˆð ˆØ—‘—	‘	“ˆØ
�‰� TˆÔ*Ø˜Ÿ™‘ˆÜ
×Ñ˜v r§t¡t¸Õ?Ø�{‰{Ð"Ð"Ñ"r<   c                ó4  — t        t        j                  j                  d«      j	                  d«      t        d«      ¬«      }|j                  dd¬«       d}t        j                  t        |¬	«      5  |j                  d
«       d d d «       y # 1 sw Y   y xY w)NrR   rê   ró  r=  r  Trþ  z#can only assign a single expressionr�   z	c = a = b)
r   rD   rV   rW   rX   r³  r•   r,   r’   r@  rC  s      r4   Útest_assignment_multiple_raisesz.TestOperations.test_assignment_multiple_raisesð  su   € ÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<ÄdÈ4Ãjô
ˆð 	�‰� TˆÔ*Ø3ˆÜ�]‰]œ;¨cÔ2ñ 	!Ø�G‰G�KÔ ÷	!÷ 	!ñ 	!ús   Á3BÂBc                ó  — t        t        j                  j                  d«      j	                  d«      t        d«      ¬«      }| j                  dd|i|d¬«       |j                  «       }|d	   |d
   z   |d<   t        j                  ||«       y )NrR   rê   ró  r=  zc = df.a + df.br  T)r«   Útargetrÿ  rñ   ró   rI   ©
r   rD   rV   rW   rX   r³  r•   r  r–   r÷   r  s      r4   Útest_assignment_explicitz'TestOperations.test_assignment_explicitú  s{   € ÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<ÄdÈ4Ãjô
ˆð 	�	‰	Ð#°°r°
À2Ètˆ	ÔTØ—7‘7“9ˆØ  ™¨°©Ñ5ˆ�‰Ü
×Ñ˜b (Õ+r<   c                óŽ   — t        dgdgdœ«      }|j                  d«      }t        dg«      }t        j                  ||d¬«       y )Né   iàÿÿÿ©rñ   ró   za in [11, -32]TFr  )r   r•   r   r–   rû   r"  s       r4   Útest_column_inzTestOperations.test_column_in  sC   € ä˜b˜T¨¨Ñ.Ó/ˆØ—‘Ð)Ó*ˆÜ˜4˜&“>ˆô 	×Ñ˜v x¸UÖCr<   z%Unknown: Omitted test_ in name prior.r(   c                ó  — t        t        j                  j                  d«      j	                  d«      t        d«      ¬«      }|j                  dd¬«      }|€J ‚|j                  «       }|d   |d	   z   |d
<   t        j                  ||«       y )NrR   rê   ró  r=  r  Frþ  rñ   ró   rI   r  )r˜   r  Úactualr�   s       r4   Útest_assignment_not_inplacez*TestOperations.test_assignment_not_inplace  s‚   € ô Ü�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<ÄdÈ4Ãjô
ˆð —‘˜¨e�Ó4ˆØÐ!Ð!Ð!à—7‘7“9ˆØ  ™¨°©Ñ5ˆ�‰Ü
×Ñ˜b (Õ+r<   c                óê  — t        g d¢g d¢dœ«      }|j                  «       }|d   |d   z   |d<   |d   |d   z   |d<   |j                  dd	¬
«      }t        j                  ||«       |�J ‚|d   dz
  |d<   |d   dz   |d<   |j                  dd	¬
«      }t        j                  ||«       |�J ‚d}t        j                  t        |¬«      5  |j                  dd¬
«       d d d «       y # 1 sw Y   y xY w)N©rU   rR   rò   ©r�  rL   rÐ  r  rñ   ró   rI   Údú$
        c = a + b
        d = c + bTrþ  rU   rR   rJ   ú$
        a = a - 1
        e = a + 2z@Multi-line expressions are only valid if all expressions containr�   z(
            a = b + 2
            b - 2F)r   r  r•   r–   r÷   r,   r’   rA   )r˜   Úwarn_copy_on_writer  r�   Úanswerr™   s         r4   Útest_multi_line_expressionz)TestOperations.test_multi_line_expression  s$  € äšYªYÑ7Ó8ˆØ—7‘7“9ˆà  ™¨°©Ñ5ˆ�‰Ø  ™¨°©Ñ5ˆ�‰Ø—‘ðð ð	 ó 
ˆô 	×Ñ˜h¨Ô+Øˆ~Ðˆ~à  ™¨Ñ)ˆ�‰Ø  ™¨Ñ)ˆ�‰Ø—‘ðð ð	 ó 
ˆô 	×Ñ˜h¨Ô+Øˆ~Ðˆ~ð QˆÜ�]‰]œ:¨SÔ1ñ 	Ø�G‰Gðð ð	 ô ÷	÷ 	ñ 	ús   ÃC)Ã)C2c                óP  — t        g d¢g d¢dœ«      }|j                  «       }|d   |d   z   |d<   |d   |d   z   |d<   |j                  dd	¬
«      }t        j                  ||«       |d   dz
  |d<   |d   dz   |d<   |j                  dd	¬
«      }t        j                  ||«       y )Nr  r  r  rñ   ró   rI   r  r  Frþ  rU   rR   rJ   r  ©r   r  r•   r–   r÷   r  s      r4   Ú&test_multi_line_expression_not_inplacez5TestOperations.test_multi_line_expression_not_inplace@  sÊ   € äšYªYÑ7Ó8ˆØ—7‘7“9ˆà  ™¨°©Ñ5ˆ�‰Ø  ™¨°©Ñ5ˆ�‰Ø�W‰Wðð ð	 ó 
ˆô 	×Ñ˜h¨Ô+à  ™¨Ñ)ˆ�‰Ø  ™¨Ñ)ˆ�‰Ø�W‰Wðð ð	 ó 
ˆô 	×Ñ˜h¨Õ+r<   c                óÒ   — t        g d¢g d¢dœ«      }|j                  «       }d}|d   |z  |d<   |d   |z   |d<   |j                  dd	¬
«      }t        j                  ||«       |�J ‚y )Nr  r  r  rš  rñ   rI   r  z?
        c = a * @local_var
        d = c + @local_var
        Trþ  r$  )r˜   r  r�   Ú	local_varr!  s        r4   Ú)test_multi_line_expression_local_variablez8TestOperations.test_multi_line_expression_local_variableY  s~   € äšYªYÑ7Ó8ˆØ—7‘7“9ˆàˆ	Ø  ™¨	Ñ1ˆ�‰Ø  ™¨	Ñ1ˆ�‰Ø—‘ðð ð ó 
ˆô 	×Ñ˜h¨Ô+Øˆ~Ð‰~r<   c                óð   — t        g d¢g d¢dœ«      }d„ }|j                  «       }|d    |dd«      z  |d<   |d    |dd«      z   |d	<   |j                  d
d¬«      }t        j                  ||«       |�J ‚y )Nr  r  r  c                ó   — |S r8   ry   r  s     r4   Ú
local_funczUTestOperations.test_multi_line_expression_callable_local_variable.<locals>.local_funco  ó   € ØˆHr<   rñ   rU   rš  rI   r  zM
        c = a * @local_func(1, 7)
        d = c + @local_func(1, 7)
        Trþ  r$  ©r˜   r  r+  r�   r!  s        r4   Ú2test_multi_line_expression_callable_local_variablezATestOperations.test_multi_line_expression_callable_local_variablek  sŽ   € äšYªYÑ7Ó8ˆò	ð —7‘7“9ˆØ  ™©
°1°aÓ(8Ñ8ˆ�‰Ø  ™©
°1°aÓ(8Ñ8ˆ�‰Ø—‘ðð ð ó 
ˆô 	×Ñ˜h¨Ô+Øˆ~Ð‰~r<   c                óô   — t        g d¢g d¢dœ«      }d„ }|j                  «       }|d    |dd¬«      z  |d	<   |d	    |dd¬«      z   |d
<   |j                  dd¬«      }t        j                  ||«       |�J ‚y )Nr  r  r  c                ó   — |S r8   ry   r  s     r4   r+  zaTestOperations.test_multi_line_expression_callable_local_variable_with_kwargs.<locals>.local_funcƒ  r,  r<   rñ   rš  rU   )ró   rñ   rI   r  zU
        c = a * @local_func(b=7, a=1)
        d = c + @local_func(b=7, a=1)
        Trþ  r$  r-  s        r4   Ú>test_multi_line_expression_callable_local_variable_with_kwargszMTestOperations.test_multi_line_expression_callable_local_variable_with_kwargs  sŽ   € äšYªYÑ7Ó8ˆò	ð —7‘7“9ˆØ  ™©
°Q¸!Ô(<Ñ<ˆ�‰Ø  ™©
°Q¸!Ô(<Ñ<ˆ�‰Ø—‘ðð ð ó 
ˆô 	×Ñ˜h¨Ô+Øˆ~Ð‰~r<   c                óú   — t        g d¢g d¢dœ«      }|j                  «       }d}t        j                  t        |¬«      5  |j                  d«       d d d «       t        j                  ||«       y # 1 sw Y   Œ xY w)Nr  r  r  rð  r�   za = 1)r   r  r,   r’   rA   r3  r–   r÷   )r˜   r  Údf_origr™   s       r4   Útest_assignment_in_queryz'TestOperations.test_assignment_in_query“  s`   € äšYªYÑ7Ó8ˆØ—'‘'“)ˆØ5ˆÜ�]‰]œ:¨SÔ1ñ 	Ø�H‰H�WÔ÷	ä
×Ñ˜b 'Õ*÷	ð 	ús   Á A1Á1A:c                ó  — t        g d¢g d¢dœ«      }|j                  «       }||d   dk(     }|j                  dd¬«       t        j                  ||«       i }dd	i}| j                  d
|d¬«       t        j                  ||«       y )Nr  r  r  rñ   rR   za == 2Trþ  rò   ú	a = 1 + 2©r  rÿ  )r   r  r3  r–   r÷   r•   Úassert_dict_equalr  s      r4   Útest_query_inplacez!TestOperations.test_query_inplaceœ  s   € äšYªYÑ7Ó8ˆØ—7‘7“9ˆØ˜H S™M¨QÑ.Ñ/ˆØ
�‰� 4ˆÔ(Ü
×Ñ˜h¨Ô+àˆØ˜�8ˆà�	‰	�+ b°$ˆ	Ô7Ü
×Ñ˜R Õ*r<   Úinvalid_targetrU   ÚcatrR   ©rU   rò   c                ó6  — d}d}t        j                  t        |¬«      5  | j                  ||d¬«       d d d «       t	        |d«      r9t        j                  t        |¬«      5  | j                  ||d¬«       d d d «       y y # 1 sw Y   ŒOxY w# 1 sw Y   y xY w)Nz)Cannot assign expression output to targetr6  r�   Tr7  r  F)r,   r’   rA   r•   Úhasattr©r˜   r:  r™   Ú
expressions       r4   Útest_cannot_item_assignz&TestOperations.test_cannot_item_assignª  s•   € à9ˆØ ˆ
ä�]‰]œ:¨SÔ1ñ 	GØ�I‰I�j¨ÀˆIÔF÷	Gô �> 6Ô*Ü—‘œz°Ô5ñ LØ—	‘	˜*¨^ÀU�	ÔK÷Lð Lð +÷	Gð 	Gú÷Lð Lús    BÁ$BÂBÂB)rU   r;  r<  c                ó”   — d}d}t        j                  t        |¬«      5  | j                  ||d¬«       d d d «       y # 1 sw Y   y xY w)Nz"Cannot return a copy of the targetr6  r�   Fr7  )r,   r’   rA   r•   r?  s       r4   Útest_cannot_copy_itemz$TestOperations.test_cannot_copy_item¶  sE   € à2ˆØ ˆ
ä�]‰]œ:¨SÔ1ñ 	HØ�I‰I�j¨ÀˆIÔG÷	H÷ 	Hñ 	Hús	    >¾Ar  c                óÆ   — d}| j                  ||d¬«      dk(  sJ ‚d}t        j                  t        |¬«      5  | j                  ||d¬«       d d d «       y # 1 sw Y   y xY w)Nú1 + 2Fr7  rò   z0Cannot operate inplace if there is no assignmentr�   T)r•   r,   r’   rA   )r˜   r  r@  r™   s       r4   Útest_inplace_no_assignmentz)TestOperations.test_inplace_no_assignment¾  s^   € àˆ
à�y‰y˜¨F¸EˆyÓBÀaÒGÐGÐGà@ˆÜ�]‰]œ:¨SÔ1ñ 	?Ø�I‰I�j¨¸ˆIÔ>÷	?÷ 	?ñ 	?ús   ¹AÁA c                ó$  — t        t        j                  j                  d«      j	                  d«      t        ddd¬«      ¬«      }|dk  }| j                  dd|i¬	«      }|dk  }t        j                  ||«       t        j                  ||«       y )
NrR   ©rR   rR   rn   rs   ©rt   rp   r=  rˆ  r  rÓ  ©	r   rD   rV   rW   rX   r   r•   r–   r÷   )r˜   r  rJ   Úrrµ   s        r4   Ú*test_basic_period_index_boolean_expressionz9TestOperations.test_basic_period_index_boolean_expressionÈ  s   € ÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Ü  °CÀÔCô
ˆð �‰FˆØ�I‰I�h¨D°"¨:ˆIÓ6ˆØ�‰Fˆä
×Ñ˜a Ô#Ü
×Ñ˜a Õ#r<   c                óô   — t        t        j                  j                  d«      j	                  d«      t        ddd¬«      ¬«      }| j                  dd|i¬	«      }||d
k     }t        j                  ||«       y )NrR   rH  rn   rs   rI  r=  zdf[df < 2 + 3]r  rÓ  rL   rJ  ©r˜   r  rK  rJ   s       r4   Ú,test_basic_period_index_subscript_expressionz;TestOperations.test_basic_period_index_subscript_expressionÔ  sk   € ÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Ü  °CÀÔCô
ˆð �I‰IÐ&°D¸"°:ˆIÓ>ˆØˆr�E‰z‰NˆÜ
×Ñ˜a Õ#r<   c                ó  — t        t        j                  j                  d«      j	                  d«      t        ddd¬«      ¬«      }| j                  dd|i¬	«      }|||dk     dk     |dz  z   }t        j                  ||«       y )
NrR   rH  rn   rs   rI  r=  zdf[df[df < 2] < 2] + df * 2r  rÓ  rJ  rN  s       r4   Ú-test_nested_period_index_subscript_expressionz<TestOperations.test_nested_period_index_subscript_expressionÝ  s}   € ÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Ü  °CÀÔCô
ˆð �I‰IÐ3ÀÀrÀ
ˆIÓKˆØˆr�"�q‘&‰z˜A‰~Ñ  a¡Ñ'ˆÜ
×Ñ˜a Õ#r<   c                ó  — t        t        j                  j                  d«      j	                  d«      «      }t        dd¬«      |d<   | j                  dd|i||¬	«      }|j                  d
k  }t        j                  ||d¬«       y )NrR   r_  z1/1/2012rL   ro   Údates1zdf.dates1 < 20130101r  rÖ   Ú20130101Fr  )
r   rD   rV   rW   rX   r   r•   rS  r–   rû   )r˜   r3   r>   r  rØ   rÃ  s         r4   Útest_date_booleanz TestOperations.test_date_booleanæ  s{   € Ü”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓGÓHˆÜ! *°aÔ8ˆˆ8‰Ø�i‰iØ"Ø˜b�zØØð	 ó 
ˆð —	‘	˜JÑ&ˆÜ
×Ñ˜s E°uÖ=r<   c                ó®  — |dk7  �rt        j                  d||¬«      }|sJ ‚t        j                  d||¬«      }|sJ ‚t        j                  d||¬«      }|rJ ‚t        j                  d||¬«      }|sJ ‚t        j                  d||¬«      }|sJ ‚t        j                  d||¬«      }|sJ ‚t        j                  d	||¬«      }|sJ ‚t        j                  d
||¬«      }|sJ ‚t        j                  d||¬«      }|rJ ‚t        j                  d||¬«      }|sJ ‚y d}t        j                  t        |¬«      5  t        j                  d||¬«       d d d «       t        j                  t        |¬«      5  t        j                  d||¬«       d d d «       t        j                  t        |¬«      5  t        j                  d||¬«       d d d «       t        j                  t        |¬«      5  t        j                  d||¬«       d d d «       d}t        j                  t        |¬«      5  t        j                  d||¬«       d d d «       t        j                  t        |¬«      5  t        j                  d||¬«       d d d «       y # 1 sw Y   �Œ9xY w# 1 sw Y   �Œ
xY w# 1 sw Y   ŒÚxY w# 1 sw Y   ŒªxY w# 1 sw Y   ŒxxY w# 1 sw Y   y xY w)Nrˆ   z1 in [1, 2]r‘   z2 in (1, 2)z3 in (1, 2)z3 not in (1, 2)z[3] not in (1, 2)z[3] in ([3], 2)z[[3]] in [[[3]], 2]z(3,) in [(3,), 2]z(3,) not in [(3,), 2]z[(3,)] in [[(3,)], 2]z'In' nodes are not implementedr�   z[(3,)] in (1, 2, [(3,)])z!'NotIn' nodes are not implementedz[3] not in (1, 2, [[3]]))r”   r•   r,   r’   r“   )r˜   r3   r>   rØ   r™   s        r4   Útest_simple_in_opsz!TestOperations.test_simple_in_opsò  sn  € Ø�XÓÜ—'‘'˜-°¸vÔFˆCÙˆJ�3ä—'‘'˜-°¸vÔFˆCÙˆJ�3ä—'‘'˜-°¸vÔFˆCÙˆN�7ä—'‘'Ð+°FÀ6ÔJˆCÙˆJ�3ä—'‘'Ð-°fÀVÔLˆCÙˆJ�3ä—'‘'Ð+°FÀ6ÔJˆCÙˆJ�3ä—'‘'Ð/¸ÀvÔNˆCÙˆJ�3ä—'‘'Ð-°fÀVÔLˆCÙˆJ�3ä—'‘'Ð1¸&ÈÔPˆCÙˆN�7ä—'‘'Ð1¸&ÈÔPˆCÙˆJ‘3à2ˆCÜ—‘Ô2¸#Ô>ñ EÜ—‘˜¨f¸VÕD÷Eä—‘Ô2¸#Ô>ñ EÜ—‘˜¨f¸VÕD÷Eä—‘Ô2¸#Ô>ñ EÜ—‘˜¨f¸VÕD÷Eä—‘Ô2¸#Ô>ñ RÜ—‘Ð2¸6È&ÕQ÷Rà5ˆCÜ—‘Ô2¸#Ô>ñ IÜ—‘Ð)°&ÀÕH÷Iä—‘Ô2¸#Ô>ñ RÜ—‘Ð2¸6È&ÕQ÷Rð R÷Eñ Eú÷Eñ Eú÷Eð Eú÷Rð Rú÷Ið Iú÷Rð RúsH   Ä=JÅ9JÆ5J'Ç1J3È/J?É+KÊJÊJ$Ê'J0Ê3J<Ê?KËKc                ól   — d}dj                  d«      }d}t        j                  |||¬«      }||k(  sJ ‚y )NrU   z * Ú!aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar‘   )r¬   r”   r•   )r˜   r3   r>   rñ   r   r�   rØ   s          r4   Útest_check_many_exprsz$TestOperations.test_check_many_exprs!  s8   € ØˆØ�z‰z˜(Ó#ˆØˆÜ�g‰g�d 6°&Ô9ˆØ�hŠÐ‰r<   r   )zdf > 2 and df > 3zdf > 2 or df > 3z
not df > 2c                óZ  — t        t        j                  j                  d«      j	                  d«      «      }|dk(  rHd}d|v rd}t        j                  t        |¬«      5  t        j                  |d|i||¬	«       d d d «       y t        j                  |d|i||¬	«       y # 1 sw Y   y xY w)
NrR   r_  rˆ   rŒ   Únotú'Not' nodes are not implementedr�   r  )r«   r>   r3   ©
r   rD   rV   rW   rX   r,   r’   r“   r”   r•   )r˜   r   r3   r>   r  r™   s         r4   Útest_fails_and_or_notz$TestOperations.test_fails_and_or_not(  s¤   € ô ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓGÓHˆØ�XÒØ6ˆCØ˜‰}Ø7�ä—‘Ô2¸#Ô>ñ Ü—‘ØØ $ b˜zØ!Ø!õ	÷ð ô �G‰GØØ  "˜:ØØö	÷ð ús   Á B!Â!B*Úcharr¨   r¿   c                óN  — t        t        j                  j                  d«      j	                  d«      «      }d|› d�}|dk(  r?d}t        j                  t        |¬«      5  t        j                  |||¬«       d d d «       y t        j                  |||¬«       y # 1 sw Y   y xY w)	NrR   r_  z(df + 2)[df > 1] > 0 z	 (df > 0)rˆ   z$cannot evaluate scalar only bool opsr�   r  r^  )r˜   r`  r3   r>   r  rš   r™   s          r4   Útest_fails_ampersand_pipez(TestOperations.test_fails_ampersand_pipeG  sŒ   € ä”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓGÓHˆØ$ T F¨)Ð4ˆØ�XÒØ8ˆCÜ—‘Ô2¸#Ô>ñ :Ü—‘˜ 6°&Õ9÷:ð :ô �G‰G�B˜v¨fÖ5÷	:ð :ús   Á BÂB$N)3rL  rM  rN  r•   rÅ  r,   r.   rO  r   rP  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.  r1  r4  r9  rD   r³   rA  rC  rF  rL  rO  rQ  rU  rW  rZ  r_  rb  ry   r<   r4   rµ  rµ  /  s¤  „ ò(ò!"ðF ‡[�[×Ñ˜U T¨5 MÓ2Ø‡[�[×Ñ˜U T¨5 MÓ2Ø‡[�[×Ñ˜T 4×#5Ñ#5Ó6ñó 7ó 3ó 3ðð ‡[�[×Ñ˜U T¨5 MÓ2Ø‡[�[×Ñ˜U T¨5 MÓ2Ø‡[�[×Ñ˜T 4×#5Ñ#5Ó6ñó 7ó 3ó 3ðò<òò'ò
'ò
0òOò@ò#ò#ò5ò,ò,ò
,ò
#ò!ò,òDð ‡[�[×ÑÐEÐÓFñ,ó Gð,ò#òJ,ò2ò$ò(ò(+ò+ð ‡[�[×ÑÐ-°°5¸1¸a¸&À(À"Ç(Á(È2Ã,ÐPVÐ/WÓXñ	Ló Yð	Lð ‡[�[×ÑÐ-Ò/AÓBñHó CðHð ‡[�[×Ñ˜X¨¨5°1°a°&¸(¸"¿(¹(À2»,ÈÐQRÐTUÐPVÐ'WÓXñ?ó Yð?ò
$ò$ò$ò
>ò-Rò^ð ‡[�[×ÑØò	
óñóðð. ‡[�[×Ñ˜V c¨3 ZÓ0ñ	6ó 1ñ	6r<   rµ  c                  óT  — e Zd Zd„ Zej
                  j                  e d¬«      ej
                  j                  de	«      d„ «       «       Z
ej
                  j                  de«      d„ «       Zd„ Zd„ Zej
                  j                  d	ej                   ej"                  fej$                  ej"                  fej&                  ej&                  fej"                  ej"                  f ej(                  ej*                  ej*                  ej.                  ¬
«      g«      d„ «       Zd„ Zd„ Zy)ÚTestMathc                ó\   — |j                  dd«      dz   |d<   t        j                  |i |¤ŽS r·  r¹  r»  s      r4   r•   zTestMath.evalU  r½  r<   z&Unary ops only implemented for numexprr(   Úfnc                ól  — t        dt        j                  j                  d«      j	                  d«      i«      }|j
                  }|› d�}| j                  |«      }t        j                  d¬«      5   t        t        |«      |«      }d d d «       t        j                  |d¬«       y # 1 sw Y   Œ"xY w)	Nrñ   rR   rS   z(a)r%   ©ÚallFr  )r   rD   rV   rW   rX   rñ   r•   Úerrstater•  r–   rû   )r˜   rf  r  rñ   r   Úgotrø   s          r4   Útest_unary_functionszTestMath.test_unary_functionsY  s“   € ô
 ˜œRŸY™Y×2Ñ2°1Ó5×EÑEÀbÓIÐJÓKˆØ�D‰Dˆà��SˆzˆØ�i‰i˜‹oˆÜ�[‰[˜XÔ&ñ 	(Ø$”WœR “_ QÓ'ˆF÷	(ä
×Ñ˜s F¸Ö>÷	(ð 	(ús   Á2B*Â*B3c                óà  — t        t        j                  j                  d«      j	                  d«      t        j                  j                  d«      j	                  d«      dœ«      }|j
                  }|j                  }|› d�}| j                  |«      }t        j                  d¬«      5   t        t        |«      ||«      }d d d «       t        j                  |d¬«       y # 1 sw Y   Œ"xY w)	NrR   rS   r  z(a, b)r%   rh  Fr  )r   rD   rV   rW   rX   rñ   ró   r•   rj  r•  r–   r¸   )r˜   rf  r  rñ   ró   r   rk  rø   s           r4   Útest_binary_functionszTestMath.test_binary_functionsg  s¾   € ää—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAñó
ˆð �D‰DˆØ�D‰Dˆà��Vˆ}ˆØ�i‰i˜‹oˆÜ�[‰[˜XÔ&ñ 	+Ø$”WœR “_ Q¨Ó*ˆF÷	+ä
×Ñ˜s F¸Ö>÷	+ð 	+ús   Â+C$Ã$C-c                ó¼  — t        t        j                  j                  d«      j	                  d«      t        j                  j                  d«      j	                  d«      dœ«      }|j                  d||d¬«       |j                  }t        j                  t        j                  |j                  «      |j                  «      }t        j                  ||d¬«       y )	NrR   rS   r  ze = arctan2(sin(a), b)T©r3   r>   rÿ  Fr  )r   rD   rV   rW   rX   r•   rJ   Úarctan2Úsinrñ   ró   r–   rû   ©r˜   r3   r>   r  rk  rø   s         r4   Útest_df_use_casezTestMath.test_df_use_casex  s§   € Üä—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAñó
ˆð 	�‰Ø$ØØØð	 	ô 	
ð �d‰dˆÜ—‘œBŸF™F 2§4¡4›L¨"¯$©$Ó/ˆÜ
×Ñ˜s F¸Ö>r<   c                óš  — t        t        j                  j                  d«      j	                  d«      t        j                  j                  d«      j	                  d«      dœ«      }|j                  d||d¬«       |j                  }t        j                  |j                  |j                  z   «      }t        j                  ||d¬«       y )	NrR   rS   r  ze = sin(a + b)Trp  Fr  )r   rD   rV   rW   rX   r•   rJ   rr  rñ   ró   r–   rû   rs  s         r4   Ú test_df_arithmetic_subexpressionz)TestMath.test_df_arithmetic_subexpression‰  s—   € Üä—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAñó
ˆð 	�‰Ð ¨¸ÈˆÔMØ�d‰dˆÜ—‘˜Ÿ™˜rŸt™t™Ó$ˆÜ
×Ñ˜s F¸Ö>r<   zdtype, expect_dtyper*   c                óÒ  — t        dt        j                  j                  d«      j	                  d«      j                  |«      i«      }|j                  j                  |k(  sJ ‚|j                  d||d¬«       |j                  }t        j                  |j                  «      }|j                  |j                  k(  sJ ‚||j                  k(  sJ ‚t        j                  ||d¬«       y )	Nrñ   rR   rS   z
b = sin(a)Trp  Fr  )r   rD   rV   rW   rX   rä   rñ   r_   r•   ró   rr  r–   rû   )r˜   r_   Úexpect_dtyper3   r>   r  rk  rø   s           r4   Útest_result_typeszTestMath.test_result_types•  s»   € ô  Ø”"—)‘)×'Ñ'¨Ó*×:Ñ:¸2Ó>×EÑEÀeÓLÐMó
ˆð �t‰t�z‰z˜UÒ"Ð"Ð"Ø
�‰� V°FÀDˆÔIØ�d‰dˆÜ—‘˜Ÿ™“ˆØ�|‰|˜sŸy™yÒ(Ð(Ð(Ø˜sŸy™yÒ(Ð(Ð(Ü
×Ñ˜s F¸Ö>r<   c                ó  — t        dt        j                  j                  d«      j	                  d«      i«      }d}t        j                  t        |¬«      5  |j                  d||¬«       d d d «       y # 1 sw Y   y xY w)Nrñ   rR   rS   z#"mysin" is not a supported functionr�   zmysin(a)r‘   )	r   rD   rV   rW   rX   r,   r’   rA   r•   ©r˜   r3   r>   r  r™   s        r4   Útest_undefined_funczTestMath.test_undefined_func°  se   € Ü˜œRŸY™Y×2Ñ2°1Ó5×EÑEÀbÓIÐJÓKˆØ3ˆä�]‰]œ:¨SÔ1ñ 	>Ø�G‰G�J v°fˆGÔ=÷	>÷ 	>ñ 	>úó   ÁA5Á5A>c                ó  — t        dt        j                  j                  d«      j	                  d«      i«      }d}t        j                  t        |¬«      5  |j                  d||¬«       d d d «       y # 1 sw Y   y xY w)Nrñ   rR   rS   z1Function "sin" does not support keyword argumentsr�   zsin(x=a)r‘   )	r   rD   rV   rW   rX   r,   r’   r­   r•   r{  s        r4   Útest_keyword_argzTestMath.test_keyword_arg·  se   € Ü˜œRŸY™Y×2Ñ2°1Ó5×EÑEÀbÓIÐJÓKˆØAˆä�]‰]œ9¨CÔ0ñ 	>Ø�G‰G�J v°fˆGÔ=÷	>÷ 	>ñ 	>úr}  N)rL  rM  rN  r•   r,   r.   r/   r   rO  r!   rl  r   rn  rt  rv  rD   Úint32rf   ra   Úfloat32r-   Ú
complex128r0   rU  ry  r|  r  ry   r<   r4   rd  rd  T  s  „ ò(ð ‡[�[×ÑØÐÐ&Nð ó ð ‡[�[×Ñ˜T ?Ó3ñ?ó 4óð?ð ‡[�[×Ñ˜TÐ#3Ó4ñ?ó 5ð?ò ?ò"
?ð ‡[�[×ÑØà�X‰X�r—z‘zÐ"Ø�X‰X�r—z‘zÐ"Ø�Z‰Z˜Ÿ™Ð$Ø�Z‰Z˜Ÿ™Ð$ØˆF�L‰L˜Ÿ™¨¯©¸R×=OÑ=OÔPð	
ó	ñ?ó	ð?ò">ó>r<   rd  rR   rS   c                  ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)Ú	TestScopec                ón   — d}t        j                  t        dz  t        j                  |||¬«      «       y )Nú
_var_s * 2rR   r‘   )r–   rà   Ú_var_sr”   r•   )r˜   r3   r>   rJ   s       r4   Útest_global_scopezTestScope.test_global_scopeÃ  s+   € ØˆÜ
×#Ñ#Ü�Q‰JœŸ™ ¨&¸Ô@õ	
r<   c                óÊ   — d}t        «       j                  «       }t        j                  d|||¬«       t        «       j                  «       }|j	                  d«       ||k(  sJ ‚y )NrU   úx + 1rÖ   Úlcls)Úlocalsr  r”   r•   rº  )r˜   r3   r>   rµ   r‹  Úlcls2s         r4   Útest_no_new_localszTestScope.test_no_new_localsÉ  sK   € ØˆÜ‹x�}‰}‹ˆÜ
�‰� D°ÀÕGÜ“—‘“ˆØ�	‰	�&ÔØ�uŠ}Ð‰}r<   c                ó¦   — d}t        «       j                  «       }t        j                  d||¬«       t        «       j                  «       }||k(  sJ ‚y )NrU   rŠ  r‘   )Úglobalsr  r”   r•   )r˜   r3   r>   rµ   ÚgblsÚgbls2s         r4   Útest_no_new_globalszTestScope.test_no_new_globalsÑ  s?   € ØˆÜ‹y�~‰~ÓˆÜ
�‰� ¨vÕ6Ü“	—‘Ó ˆØ�uŠ}Ð‰}r<   c                óž   — d}d}t        j                  t        |¬«      5  t        j                  d||i ¬«       d d d «       y # 1 sw Y   y xY w)NrU   rÝ  r�   rŠ  rª   ©r,   r’   r
   r”   r•   )r˜   r3   r>   rµ   r™   s        r4   Útest_empty_localszTestScope.test_empty_localsØ  sF   € àˆØ'ˆÜ�]‰]Ô1¸Ô=ñ 	JÜ�G‰G�G F°6ÀbÕI÷	J÷ 	Jñ 	Júó    AÁAc                óž   — d}d}t        j                  t        |¬«      5  t        j                  |||i ¬«       d d d «       y # 1 sw Y   y xY w)Nzname '_var_s' is not definedr†  r�   )r3   r>   Úglobal_dictr•  )r˜   r3   r>   r™   rJ   s        r4   Útest_empty_globalszTestScope.test_empty_globalsß  sF   € à,ˆØˆÜ�]‰]Ô1¸Ô=ñ 	EÜ�G‰G�A˜f¨VÀÕD÷	E÷ 	Eñ 	Eúr—  N)rL  rM  rN  rˆ  rŽ  r“  r–  rš  ry   r<   r4   r„  r„  Â  s   „ ò
òòòJóEr<   r„  c                 óž   — d} t        j                  t        | ¬«      5  t        j                  ddddœd¬«       d d d «       y # 1 sw Y   y xY w)	NzInvalid engine 'asdf' passedr�   rÑ  rU   rR   rÒ  Úasdf)r«   r3   ©r,   r’   ÚKeyErrorr”   r•   ©r™   s    r4   Útest_invalid_enginer   ç  óC   € à
(€CÜ	�‰”x sÔ	+ñ EÜ
�‰�¨!°!Ñ$4¸VÕD÷E÷ Eñ Eúó   žAÁA)Úuse_numexprr�   ))Tr$   )Frˆ   c                ó†   — ddl m} t        j                  d| «      5   |d «      }||k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr   )Ú_check_engineúcompute.use_numexpr)Úpandas.core.computation.evalr¥  r”   Úoption_context)r£  r�   r¥  rž   s       r4   Útest_numexpr_option_respectedr©  î  sE   € õ ;ä	×	Ñ	Ð0°+Ó	>ñ "Ù˜tÓ$ˆØ˜Ò!Ð!Ñ!÷"÷ "ñ "ús	   �7·A c                 óø   — t        j                  dd«      5  t        g d¢g d¢dœ«      } | j                  d«      }t        d d gddgdœd	dg¬
«      }t	        j
                  ||«       d d d «       y # 1 sw Y   y xY w)Nr¦  F)TFTFNN)rU   rR   rò   r�  rL   rÐ  )r0  ÚBz
A.isnull()rL   rÐ  r�  )rA  )r”   r¨  r   r3  r–   r÷   )r  rž   r�   s      r4   Ú#test_numexpr_option_incompatible_opr¬  ÿ  sz   € ô 
×	Ñ	Ð0°%Ó	8ñ 0ÜÚ8Ò?QÑRó
ˆð —‘˜,Ó'ˆÜ D¨$ <°q¸!°fÑ=ÀaÈÀVÔLˆÜ
×Ñ˜f hÔ/÷0÷ 0ñ 0ús   —AA0Á0A9c                 óž   — d} t        j                  t        | ¬«      5  t        j                  ddddœd¬«       d d d «       y # 1 sw Y   y xY w)	NzInvalid parser 'asdf' passedr�   rÑ  rU   rR   rÒ  rœ  )r«   r>   r�  rŸ  s    r4   Útest_invalid_parserr®    r¡  r¢  )rˆ   r   r±   z dict[str, type[BaseExprVisitor]]Ú_parsersr3   r>   c                óÒ   — t         |   } |d| |«      }|j                  D ]9  }d}t        j                  t        |¬«      5   t        ||«      «        d d d «       Œ; y # 1 sw Y   ŒFxY w)NrŠ  znodes are not implementedr�   )r¯  Úunsupported_nodesr,   r’   r“   r•  )r3   r>   ÚVisitorClassÚinstrÂ  r™   s         r4   Útest_disallowed_nodesr´    sn   € ô ˜FÑ#€LÙ˜ ¨Ó0€Dà×-Ñ-ò !ˆØ)ˆÜ�]‰]Ô.°cÔ:ñ 	!ØŒG�D˜#ÓÔ ÷	!ð 	!ñ!÷	!ð 	!ús   Á AÁA&	c                ó˜   — d}t        j                  t        d¬«      5  t        j                  || |¬«       d d d «       y # 1 sw Y   y xY w)Nzs +rô  r�   r‘   ©r,   r’   r@  r”   r•   )r3   r>   rJ   s      r4   Útest_syntax_error_exprsr·  %  s;   € Ø€AÜ	�‰”{Ð*:Ô	;ñ 1Ü
�‰�˜&¨Õ0÷1÷ 1ñ 1ús   žA Á A	c                óœ   — d}d}t        j                  t        |¬«      5  t        j                  || |¬«       d d d «       y # 1 sw Y   y xY w)Nzs + tzname 's' is not definedr�   r‘   )r,   r’   rÞ  r”   r•   )r3   r>   rJ   r™   s       r4   Útest_name_error_exprsr¹  +  s?   € Ø€AØ
#€CÜ	�‰”y¨Ô	,ñ 1Ü
�‰�˜&¨Õ0÷1÷ 1ñ 1ús    AÁAÚexpress)za + @bz@a + bz@a + @bc                ó:  — d\  }}|dk7  r=t        j                  t        d¬«      5  t        j                  || |¬«       d d d «       y t        j                  t        d¬«      5  t        j                  || |¬«       d d d «       y # 1 sw Y   y xY w# 1 sw Y   y xY w)N©rU   rR   r±   zThe '@' prefix is onlyr�   r‘   zThe '@' prefix is notr¶  )r3   r>   rº  rñ   ró   s        r4   Ú%test_invalid_local_variable_referencer½  2  s‡   € à�D€A€qà�ÒÜ�]‰]œ;Ð.FÔGñ 	;Ü�G‰G�G F°6Õ:÷	;ð 	;ô �]‰]œ;Ð.EÔFñ 	;Ü�G‰G�G F°6Õ:÷	;ð 	;÷	;ð 	;ú÷	;ð 	;ús   ¦BÁ#BÂBÂBc                óò   — d\  }}| dk(  r?d}t        j                  t        |¬«      5  t        j                  d| |¬«       d d d «       y t        j                  d| |¬«      }|||z   k(  sJ ‚y # 1 sw Y   y xY w)Nr¼  r$   zVariables in expression .+r�   zsin + dotted_liner‘   )r,   r’   r   r”   r•   )r3   r>   rr  Údotted_liner™   rØ   s         r4   Útest_numexpr_builtin_raisesrÀ  >  s€   € ØÑ€CˆØ�ÒØ*ˆÜ�]‰]Ô1¸Ô=ñ 	GÜ�G‰GÐ'°¸vÕF÷	Gð 	Gô �g‰gÐ)°&ÀÔHˆØ�c˜KÑ'Ò'Ð'Ñ'÷		Gð 	Gús   ¨A-Á-A6c                óš   — d}t        j                  t        d¬«      5  t        j                  d|| |¬«       d d d «       y # 1 sw Y   y xY w)N)é*   g      @zResolver of type .+r�   rE  )Ú	resolversr3   r>   )r,   r’   r­   r”   r•   )r3   r>   Úcannot_resolves      r4   Útest_bad_resolver_raisesrÅ  I  sA   € Ø€NÜ	�‰”yÐ(=Ô	>ñ QÜ
�‰� >¸&ÈÕP÷Q÷ Qñ Qús   žAÁA
c                ó”   — t        j                  t        d¬«      5  t        j                  d| |¬«       d d d «       y # 1 sw Y   y xY w)Nzexpr cannot be an empty stringr�   Ú r‘   ©r,   r’   rA   r”   r•   r‘   s     r4   Útest_empty_string_raisesrÉ  O  s6   € ä	�‰”zÐ)IÔ	Jñ 2Ü
�‰�˜6¨&Õ1÷2÷ 2ñ 2úó	   œ>¾Ac                ó”   — t        j                  t        d¬«      5  t        j                  d| |¬«       d d d «       y # 1 sw Y   y xY w)Nz#only a single expression is allowedr�   z1 + 1; 2 + 2r‘   r¶  r‘   s     r4   Ú$test_more_than_one_expression_raisesrÌ  U  s6   € Ü	�‰”{Ð*OÔ	Pñ >Ü
�‰� v°fÕ=÷>÷ >ñ >úrÊ  Úcmpr‰   rF   rH   c                óŠ  — t         d„ t        t        j                  j	                  d«      j
                  i} ||    «       } ||    «       }  ||   «       }d|› d|› d�}d|› d|› d�}d|› d|› d	�}	|||	fD ]@  }
d
}t        j                  t        |¬«      5  t        j                  |
||¬«       d d d «       ŒB y # 1 sw Y   ŒMxY w)Nc                 ó^   — t         j                  j                  d«      j                  d«      S )NrR   rS   )rD   rV   rW   rö   ry   r<   r4   rd   z0test_bool_ops_fails_on_scalars.<locals>.<lambda>_  s    € ”R—Y‘Y×*Ñ*¨1Ó-×6Ñ6°rÓ:€ r<   rR   r¦   r¼   r§   r½   r�   r¾   r�   r&  r�   r‘   )ÚintrO   rD   rV   rW   rX   r,   r’   r“   r”   r•   )rF   rÍ  rH   r3   r>   ÚgenrÁ   rÂ   rÃ   rÄ   rš   r™   s               r4   Útest_bool_ops_fails_on_scalarsrÒ  Z  sã   € ô
 	Ñ:ÜŒr�y‰y×$Ñ$ QÓ'×7Ñ7ð€Cð
 ˆ#ˆc‰(‹*€CØ
ˆ#ˆc‰(‹*€CØ
ˆ#ˆc‰(‹*€Cà���U˜3˜%˜tÐ
$€CØ���] 3 % tÐ
,€CØ�#��m C 5¨Ð
.€CØ�C˜ˆoò 6ˆØKˆÜ�]‰]Ô.°cÔ:ñ 	6Ü�G‰G�B˜v¨fÕ5÷	6ð 	6ñ6÷	6ð 	6ús   ÂB9Â9C	Úotherz'x'z...c                óº   — t        dg d¢it        ¬«      }|j                  d| › �«      }t        g d¢d¬«      }t        rd |_        t        j                  ||«       y )Nr0  )rñ   ró   rI   r^   r2  )FFF©rB  )r   Úobjectr•   r   r   rB  r–   rû   )rÓ  r  rž   r�   s       r4   Útest_equals_variousr×  p  sR   € ô 
�CšÐ)´Ô	8€BØ�W‰W�u˜U˜G�_Ó%€FÜÒ+°#Ô6€HÝð ˆŒÜ×Ñ˜6 8Õ,r<   c                óf   — d}t         j                  }t        j                  || |¬«      }||k(  sJ ‚y )Nzinf + 1r‘   )rD   Úinfr”   r•   )r3   r>   rv   r�   rž   s        r4   Útest_infrÚ  ‚  s0   € Ø€AÜ�v‰v€HÜ�W‰W�Q˜v¨fÔ5€FØ�XÒÐÑr<   Úcolumnu	   Temp(Â°C)u   Capacitance(Î¼F)c                óî   — t        t        j                  j                  d«      j	                  d«      |dg¬«      }|||   dkD     }d|› d�}|j                  || ¬«      }t        j                  ||«       y )	NrR   rê   ró   r=  rL   ú`z` > 5)r3   )r   rD   rV   rW   rX   r3  r–   r÷   )r3   rÛ  r  r�   Úquery_stringrž   s         r4   Útest_query_tokenrß  ‰  su   € ô 
Ü
�	‰	×Ñ˜aÓ ×0Ñ0°Ó8À6È3À-ô
€Bð �"�V‘*˜q‘.Ñ!€HØ�v�h˜eÐ$€LØ�X‰X�l¨6ˆXÓ2€FÜ×Ñ˜& (Õ+r<   c                ó”  — t        ddgddggddg¬«      }||j                  dkD      }|j                  d| |¬	«      }t        j                  ||«       |d
k(  r;d}t        j                  t        |¬«      5  |j                  d| |¬	«       d d d «       y |j                  d| |¬	«      }t        j                  ||«       y # 1 sw Y   y xY w)Nr   rS   rU   r�  r;  Úcountr=  z
~(cat > 0)r‘   rˆ   r]  r�   znot (cat > 0))r   r;  r3  r–   r÷   r,   r’   r“   )r3   r>   r  r�   rž   r™   s         r4   Útest_negate_lt_eq_lerâ  •  sË   € Ü	�Q˜�G˜a ˜WÐ%°°wÐ/?Ô	@€BØ�B—F‘F˜Q‘J�-Ñ €Hà�X‰X�l¨6¸&ˆXÓA€FÜ×Ñ˜& (Ô+à�ÒØ/ˆÜ�]‰]Ô.°cÔ:ñ 	DØ�H‰H�_¨V¸FˆHÔC÷	Dð 	Dð —‘˜/°&À�ÓHˆÜ
×Ñ˜f hÕ/÷		Dð 	Dús   Á5B>Â>Cc                ó`  — |dv r7| j                  t        j                  j                  t        d|› �¬«      «       t        t        j                  j                  d«      j                  ddd¬«      |d	g¬
«      }|||   dkD     }|j                  |› d�«      }t        j                  ||«       y )N)ÚTrueÚFalserÙ  ÚInfz+GH 47859 DataFrame eval not supported with )r’   r)   rR   r   éd   rÙ  rí   Úcol1r=  rÐ  z>6)r·   r,   r.   r¶   rž  r   rD   rV   rW   rö   r3  r–   r÷   )r;   rÛ  r  r�   rž   s        r4   Ú test_eval_no_support_column_nameré  ¥  s¯   € ð Ð0Ñ0Ø×ÑÜ�K‰K×ÑÜØDÀVÀHÐMð ó ô	
ô 
Ü
�	‰	×Ñ˜aÓ ×)Ñ)¨!¨S°wÐ)Ó?Ø˜Ð ô
€Bð �"�V‘*˜q‘.Ñ!€HØ�X‰X˜˜ �mÓ$€Fä×Ñ˜& (Õ+r<   c                óþ  — t        g d¢g d¢g d¢dœ«      }|d d  }|d   }t        j                  |«      5  |j                  dd¬«       d d d «       t        g d	¢g d¢g d¢dœ«      }t        j                  ||«       | s6t        j
                  ||d   «       t        j
                  |d   |d   «       y t        g d¢d¬
«      }t        j
                  ||«       t        j
                  |d   |«       y # 1 sw Y   Œ«xY w)Nr  r  )rš  é   é	   )r0  r«  ÚCr0  z	A = B + CTrþ  )r  é   é   rÕ  )r   r–   Úassert_cow_warningr•   r÷   rû   r   )Úusing_copy_on_writer   r  Úresult_viewr¡  r�   s         r4   Útest_set_inplaceró  ½  sÝ   € ô 
šªºÑCÓ	D€BØ‘Q�%€KØ
ˆS‰'€CÜ	×	Ñ	Ð1Ó	2ñ +Ø
�‰� TˆÔ*÷+äš|²)Â)ÑLÓM€HÜ×Ñ˜"˜hÔ'ÙÜ
×Ñ˜s H¨S¡MÔ2Ü
×Ñ˜{¨3Ñ/°¸#±Õ?äš)¨#Ô.ˆÜ
×Ñ˜s HÔ-Ü
×Ñ˜{¨3Ñ/°Õ:÷+ð +ús   µC3Ã3C<c                  ó\   — e Zd Zej                  j                  dddg d¢dg«      d„ «       Zy)ÚTestValidateÚvaluerU   rä  r  g      @c                ó–   — d}t        j                  t        |¬«      5  t        j                  d|¬«       d d d «       y # 1 sw Y   y xY w)Nz8For argument "inplace" expected type bool, received typer�   z2+2rþ  rÈ  )r˜   rö  r™   s      r4   Útest_validate_bool_argsz$TestValidate.test_validate_bool_argsÒ  s8   € àHˆÜ�]‰]œ:¨SÔ1ñ 	*Ü�G‰G�E 5Õ)÷	*÷ 	*ñ 	*ús	   ž?¿AN)rL  rM  rN  r,   r.   rO  rø  ry   r<   r4   rõ  rõ  Ñ  s/   „ Ø‡[�[×Ñ˜W q¨&²)¸SÐ&AÓBñ*ó Cñ*r<   rõ  )pÚ
__future__r   Ú	functoolsr   Ú	itertoolsr   ro  ÚnumpyrD   r,   Úpandas.compatr   Úpandas.compat._optionalr   Úpandas.errorsr   r	   r
   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsr0   Úpandas.core.dtypes.commonr   r   r   r   r±   r”   r   r   r   r   r   r   Úpandas._testingÚ_testingr–   Úpandas.core.computationr   r   Úpandas.core.computation.enginesr   Úpandas.core.computation.exprr   r   r   Ú#pandas.core.computation.expressionsr   r   Úpandas.core.computation.opsr   r   r   r    r!   Úpandas.core.computation.scoper"   Úpandas.util.versionr#   r$   Úfixturer3   ÚPARSERSr>   rK   r³  rj   rF   rH   rÀ   rz   r|   rW  ru  rw  rµ  rd  rV   rW   rX   r‡  r„  r1   r   r.   rO  r©  r¬  r®  ÚPyTablesExprVisitorr¯  Ú__annotations__r´  r·  r¹  r½  rÀ  rÅ  rÉ  rÌ  rÐ  rO   rÒ  r×  rÚ  rß  râ  Úkeysré  ró  rõ  ry   r<   r4   ú<module>r     sê  ðÞ "å Ý Û ã Û å Ý >÷ñ ÷
 *Ð )÷ó ó ÷÷ õ ÷õ 4÷ñ ÷
÷õ õ :Ý 'á
$ Y°xÔ
@€ð €‡�ñð ôôñ ó!ð ð €‡��t—|‘|Ô$ñó %ðòð €‡�Ù‘�a“‹>ÚEôñó	ðð 
€Ø€ð ‡�ñó ð÷_	Wñ _	W÷L?ñ ?ò<$÷S'ñ S'÷tb6ñ b6÷Jh>ñ h>ðV 
�‰×	Ñ	˜qÓ	!×	1Ñ	1°"Ó	5€÷"Eñ "EðJ €‡�ˆyÓñEó ðEð €‡�ˆyÓØ‡�×ÑØðóñ"óó ð"ð €‡�ˆyÓñ0ó ð0ð €‡�ˆyÓñEó ðEð  Ø×,Ñ,Øñ.€Ð
*ó ð ‡�×Ñ˜ 7Ó+Ø‡�×Ñ˜ 8Ó,ñ!ó -ó ,ð!ò1ò1ð ‡�×Ñ˜Ò$CÓDñ;ó Eð;ò(òQò2ò>ð
 ‡�×Ñ˜ Ó.Ø‡�×Ñ˜  e Ó-Ø‡�×Ñ˜  e Ó-ñ6ó .ó .ó /ð6ð& ‡�×ÑØàØðóñ-óð-òð ‡�×Ñ˜ KÐ1CÐ#DÓEñ,ó Fð,ò0ð  ‡�×ÑØØ€O×ÑÓóñ,ó	ð,ò(;÷(*ò *r<   