Ë
    ýÿæi¸ ã                  ó–  — 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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l0m1Z1m2Z2 d dl3m4Z4m5Z5m6Z6m7Z7 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„ Zne	jª                  j­                  dSdTdUg dV¢dWg«      dX„ «       Zo ej¦                  d«      dY„ «       ZpdZ„ Zqy)[é    )Úannotations)Úreduce)ÚproductN)ÚPY312ÚPY314)Ú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Ú_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     úw/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/pandas/tests/computation/test_eval.pyÚ	<genexpr>r5   B   s}   è ø€ ð ñ ˆFô 	�‰Øä—‘×"Ñ"Ø˜iÑ'Ò;´¨OØ.¬{¨mð <"Ü"3Ð!4ð6ð #ó ô
 —‘˜iÓ(ð÷
	
ð 
	
ñ ùs   ‚A/A1)Úparamsc                ó   — | j                   S ©N©r-   ©Úrequests    r4   r3   r3   A   s   € ð" �=‰=Ðó    c                ó   — | j                   S r8   r9   r:   s    r4   Úparserr>   U   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   Z   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         j                  j                  d«      }| j                  dk(  rt	        |j                  d«      «      S | j                  dk(  rt        |j                  d«      «      S | j                  dk(  r,t        ddt         j                  t         j                  dg«      S | j                  dk(  r2t	        |j                  d«      «      }t         j                  ||dkD  <   |S | j                  dk(  r|j                  «       S t        | j                  › «      ‚)	Né   r   )é
   rL   é   rL   é   ç      à?é   )	rD   ÚrandomÚdefault_rngr-   r   Ústandard_normalr   rE   rA   )r;   ÚrngÚnan_df1s      r4   rF   rF   i   sê   € ô
 �)‰)×
Ñ
 Ó
"€CØ‡}�}˜ÒÜ˜×,Ñ,¨WÓ5Ó6Ð6Ø	�‰˜!Ò	Ü�c×)Ñ)¨!Ó,Ó-Ð-Ø	�‰˜!Ò	Ü�q˜!œRŸV™V¤R§V¡V¨QÐ/Ó0Ð0Ø	�‰˜!Ò	Ü˜C×/Ñ/°Ó8Ó9ˆÜ!#§¡ˆ�˜#‘ÑØˆØ	�‰˜!Ò	Ø×"Ñ"Ó$Ð$ä˜GŸM™M˜?Ó,Ð,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   rb   Úfloat64rd   s    r4   rf   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)re   Úis     r4   rf   zidx_func_dict.<locals>.<lambda>ˆ   s6   € ”u´u¸RÀÀaÁÔ7HÓIÑ7H°!   1¤S¨£V HšoÐ7HÑIÔJùÒIs   —5c                ó   — t        d| ¬«      S )Nú
2020-01-01©Úperiods)r   rd   s    r4   rf   zidx_func_dict.<locals>.<lambda>‰   s   € œ
 <¸Õ;r<   c                ó   — t        d| ¬«      S )Nz1 dayrq   )r   rd   s    r4   rf   zidx_func_dict.<locals>.<lambda>Š   s   € œ¨¸Õ;r<   c                ó   — t        d| d¬«      S )Nrp   ÚD)rr   Úfreq)r   rd   s    r4   rf   zidx_func_dict.<locals>.<lambda>‹   s   € ”| L¸!À#ÕFr<   )rn   ÚfÚsÚdtr0   Úp© r{   r<   r4   Úidx_func_dictr|   ƒ   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!                  h d£«      «      «      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j:                  j=                  d«      j?                  d«      ej:                  j=                  d«      jA                  dd¬ «       ejB                  g d!¢ejD                  ¬"«      g«      d#„ «       Z#ej                  j                  dej:                  j=                  d«      j?                  d«      ej:                  j=                  d«      jA                  dd¬ «       ejB                  g d!¢ejD                  ¬"«      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*d0„ Z+d1„ Z,d2„ Z-d3„ Z.d4„ Z/d5„ Z0d6„ Z1y7)8ÚTestEvalrG   )z!=z==z<=z>=Ú<Ú>)ÚneÚeqÚleÚgeÚltÚgt)rP   Úcmp2r€   r   r†   r…   Úbinopc                óŒ  — |dk(  rO|dv rKd}d|› d|› d|› d�}	t        j                  t        |¬«      5  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ú(lhs z rhs) z (lhs ú rhs)©Úmatch©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Ø˜˜˜f U G¨6°$°°uÐ=ˆBÜ—‘Ô2¸#Ö>Ü—‘˜ 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}d|› d�}t        j                  t        |¬«      5  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 implementedúlhs ú rhsr‘   r“   Ú|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 .*©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Ø˜�x˜tÐ$ˆBÜ—‘Ô2¸#Ö>Ü—‘˜ 6°&Õ9÷ ?àà�F�8˜4Ð ˆØ�h‰hð"ð 4ð	ó
ˆð Ð%Ñ%¬l¸3Ô.?Ü—‘œy°Ö4Ü—‘ØØ!Ø!Ø'*°3Ñ7õ	÷ 5Ð4ô (¨¨V°S¸&ÓAˆHÜ—W‘W˜R¨°vÔ>ˆFÜ�O‰O˜F HÕ-÷1 ?àú÷ 5Ð4ús   ·C?ÂDÃ?DÄDÚopc           	     ó8  — |dk(  rI|dv rEd}d|› d�}t        j                  t        |¬«      5  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§   z~(lhs r�   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 .*r«   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Ø˜"˜˜UÐ#ˆBÜ—‘Ô2¸#Ö>Ü—‘˜ 6°&Õ9÷ ?àô �SŒMÜ˜S”MØÐ&Ñ&Ø˜(Ò"Ø˜(Ò"ä—;‘;×$Ñ$ð?ð %ó ˆDð ×Ñ Ô%Ø˜HÐ%ˆ
Ø�b�T˜Ðˆà�h‰hð#ð 5ð	ó
ˆô �SŒ>˜b JÑ.Ü—‘œy°Ö4Ü—‘ØØ!Ø!Ø'*°3Ñ7õ	÷ 5Ð4ô ˜Œ~¤)¨C¤.Ù>°C¸±:Ó>‘��SÜ'¨¨R°°fÓ=ˆHÜ˜Ô"Ø'˜<‘à$˜9�Ü—W‘W˜R¨°vÔ>ˆFÜ×"Ñ" 8¨VÕ4÷[ ?àú÷4 5Ð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�ÜŸ™ ¨F¸6ÔB�ä×&Ñ& v¨xÕ8ñ &ð $7Ð÷ ?àús   ®CÃCÚarith1>   Ú%ú**ú//c                ó  — 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 % rhsrÉ   )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_modulus9  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_divisionK  sš   € Øˆà�XÒØ�iÒ¤G¬G×,?Ñ,?Ó$@ÄGÈHÓDUÒ$Uä—'‘'˜" V°FÔ;ˆCØ˜c‘zˆHÜ�O‰O˜C Õ*ð!ð ô —‘œy°Ö4Ü—‘ØØ'*°3Ñ7Ø!Ø!õ	÷ 5×4Ñ4ú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 ** rhsrÊ   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_powa  sé   € ð ˆÜ# C¨¨s°FÓ;ˆÜ—‘˜ F°6Ô:ˆô �cŒNÜ˜#”Ü˜8¤g¬r×/AÑ/AÐ%BÔCÜ—‘˜Ô àAˆCÜ—‘œ~°SÖ9Ü×+Ñ+¨F°HÔ=÷ :Ð9ô ×"Ñ" 6¨8Ô4à&ˆBÜ—W‘W˜R¨°vÔ>ˆFä% c¨4°°fÓ=ˆFÜ'¨°°c¸6ÓBˆHÜ×"Ñ" 6¨8Õ4÷ :Ð9ú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_op{  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 'invertrV   ©ÚarT   g       @rU   )ÚbrI   úunknown type objectú#bad operand type for unary ~: 'str')r   rD   rX   rY   rZ   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…  sC  € Øˆô
 œŸ	™	×-Ñ-¨aÓ0×@Ñ@ÀÓHÓIˆØ�YÒØAˆCÜ—‘Ô2¸#Ö>Ü—‘˜ V°FÕ;÷ ?Ð>ð EˆCÜ—‘œy°Ö4Ü—‘˜ V°FÕ;÷ 5ô œŸ	™	×-Ñ-¨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Õ;÷ HÐGð 8ˆCÜ—‘œy°Ö4Ü—‘˜ V°FÕ;÷ 5Ð4÷C ?Ñ>ú÷ 5Ñ4ú÷ ?Ñ>ú÷$ HÐGú÷ 5Ð4ú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ò   rV   ró   rö   r÷   )r   rD   rX   rY   rZ   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²  s  € àˆô ”R—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸aÓ@ÓAˆØ�YÒØAˆCÜ—‘Ô2¸#Ö>ÜŸ™ ¨f¸VÔD�÷ ?Ð>ð EˆCÜ—‘œy°Ö4Ü—‘˜ V°FÕ;÷ 5ô ”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Õ;÷ HÐGð 8ˆCÜ—‘œy°Ö4Ü—‘˜ V°FÕ;÷ 5Ð4÷G ?Ñ>ú÷ 5Ñ4ú÷ ?Ñ>ú÷( HÐGú÷ 5Ð4ú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ð   rV   r$   ú*couldn't find matching opcode for 'neg_bb'r‘   )r   rD   rX   rY   rZ   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á  s=  € Øˆô œŸ	™	×-Ñ-¨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ð   rV   r$   r  r‘   )r   rD   rX   rY   rZ   r–   r—   r˜   rý   rø   r,   r”   r•   r  s           r4   Útest_series_negatezTestEval.test_series_negateû  s=  € Øˆô ”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ð   )TFTFTr`   c                ó~   — t        |«      }d}|}t        j                  |||¬«      }t        j                  ||«       y ©Nz+lhsr“   )r   r–   r—   r˜   rù   ©rš   rF   r3   r>   r   rú   r    s          r4   Útest_frame_poszTestEval.test_frame_pos  s9   € ô ˜‹nˆØˆØˆä—‘˜ f°VÔ<ˆÜ
×Ñ˜f fÕ-r<   c                ó~   — t        |«      }d}|}t        j                  |||¬«      }t        j                  ||«       y r  ©r   r–   r—   r˜   rý   r	  s          r4   Útest_series_poszTestEval.test_series_pos(  s9   € ô �S‹kˆØˆØˆä—‘˜ f°VÔ<ˆÜ
×Ñ˜v vÕ.r<   c                ó   — d}d }t         r
|dk(  r|dk(  s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+1rT   zBitwise inversionF)r’   Úcheck_stacklevelz~Truez~Falsez-Truez-Falser   z+Truez+False)
r   r   ÚDeprecationWarningr,   r”   r¯   r–   r—   r˜   Úassert_produces_warning)rš   r3   r>   r›   Úwarns        r4   Útest_scalar_unaryzTestEval.test_scalar_unary;  sÞ  € Ø5ˆØˆÝ�f 	Ò)¨f¸Ò.@Ý˜6 YÒ.°6¸XÒ3Eä%ˆDÜ�]‰]œ9¨CÖ0Ü�G‰G�F 6°&Õ9÷ 1ô �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ö
ô —7‘7˜7¨6¸&ÔAÀUÒJÐJÑJ÷
ô ×'Ñ'ØÐ+¸eö
ô —7‘7˜8¨F¸6ÔBÀfÒLÐLÑL÷
ô �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÷' 1Ñ0ú÷
ð 
ú÷
ð 
ús$   ÁG+ÄG8ÅHÇ+G5Ç8HÈH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  TrT   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_arrayW  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_opp  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   rT   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_functionw  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   rU   rT   ©rU   rR   ú;cannot evaluate scalar only bool ops|'BoolOp' nodes are notr‘   r“   )
rD   rX   rY   rZ   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Ö:Ü�G‰G�B˜v¨fÕ5÷ ;×:Ñ:ú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 )NrT   r·   r“   g      ø?F)rT   )	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 > rT   rR   r5  úA == )
r–   r—   rD   rh   r   ÚqueryÚemptyÚlocr˜   rù   )	rš   r3   r>   r1  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”   ÚSyntaxErrorr7  ÚindexÚname©rš   r  r›   s      r4   Útest_disallow_python_keywordsz&TestEval.test_disallow_python_keywords×  s}   € äš	�{Ò,CÔDˆØDˆÜ�]‰]œ;¨cÖ2Ø�H‰H�\Ô"÷ 3ô ‹[ˆØ ˆ�‰ŒÜ�]‰]œ;¨cÖ2Ø�H‰H�]Ô#÷ 3Ð2÷ 3Ð2ú÷
 3Ð2ú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ã  sq   € ô ×&Ñ&Ü¤¸ö
ô —7‘7˜:Ó&¨"Ò,Ð,Ð,Ü—7‘7˜;Ó'¨2Ò-Ð-Ð-Ü—7‘7Ð.Ó/°1Ò4Ð4Ñ4÷
÷ 
ñ 
ú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<   c                ó°   — t        g d¢d¬«      j                  «       }|j                  d||¬«      }t        g d¢d¬«      }t        j                  ||«       y )N)rR   é   é   rô   ©rF  za + ar“   )rW   é   é8   )r   Úto_framer—   r˜   rý   )rš   r3   r>   r  rÜ   rŸ   s         r4   Útest_eval_keep_namezTestEval.test_eval_keep_nameó  sG   € Ü’K cÔ*×3Ñ3Ó5ˆØ�g‰g�g f°VˆgÓ<ˆÜš+¨CÔ0ˆÜ
×Ñ˜x¨Õ-r<   c                ó|   — t        dgd¬«      }t        j                  d||¬«      }t        j                  ||«       y )Né*   Úseries_namerS  zvariable_name + 0r“   r  )rš   r3   r>   Úvariable_namerÜ   s        r4   Útest_eval_unmatching_namesz#TestEval.test_eval_unmatching_namesù  s3   € Ü ˜t¨-Ô8ˆÜ�g‰gÐ)°&ÀÔHˆÜ
×Ñ˜}¨cÕ2r<   N)2Ú__name__Ú
__module__Ú__qualname__r,   r.   Úparametrizer   ÚBOOL_OPS_SYMSr¡   ÚCMP_OPS_SYMSr°   r¼   rÇ   ÚsortedÚsetr   Ú
differencerÓ   r×   rÝ   r0   Úskip_if_windowsrå   rê   rû   rþ   r  r  rD   rX   rY   rZ   rø   rµ   Úbool_r
  r  r  r  r  r&  r*  r-  r2  r<  rH  rK  rO  rW  r\  r{   r<   r4   r~   r~   �   s'  „ Ø‡[�[×ÑØÚ*Ú0ð ó ð
 ‡[�[×Ñ˜V c¨3 Z°d¸D°\ÐÓBØ‡[�[×Ñ˜W d×&8Ñ&8Ó9ñ*ó :ó Cóð*ð  ‡[�[×Ñ˜X t×'8Ñ'8Ó9ñ.ó :ð.ðB ‡[�[×Ñ˜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Ò8IÓJÓKóñ9óð9ò@5ò$ð, ×Ññ5ó ð5ò21ò+<òZ-<ò^2ò43ð4 ‡[�[×ÑØð �I‰I×!Ñ! !Ó$×4Ñ4°VÓ<à�I‰I×!Ñ! !Ó$×-Ñ-¨a°fÐ-Ó=àˆB�H‰HÒ5¸R¿X¹XÔFð	
ó
ñ.ó
ð.ð ‡[�[×ÑØð �I‰I×!Ñ! !Ó$×4Ñ4°QÓ7à�I‰I×!Ñ! !Ó$×-Ñ-¨a°aÐ-Ó8àˆB�H‰HÒ5¸R¿X¹XÔFð	
ó
ñ/ó
ð/òIò86ð2 ‡[�[×Ñ˜V j°(Ð%;Ó<ñ/ó =ð/òNð ‡[�[×ÑØð	
óñ6óð6ò$òBò0ò,
$ò5òWò.ó3r<   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)ro  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   rU   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   rX   rY   rZ   r–   r—   r,   r.   r¸   r¹   rÏ   ra   r˜   rù   )rš   r3   r>   r±   Úcomplex_or_float_dtypern  r;   ra   r  ÚleftÚrightrx   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)r]  r^  r_  r,   r.   r`  rx  r{   r<   r4   ri  ri    sG   „ Ø‡[�[×Ñ˜TÒ#=Ó>ð ‡[�[×Ñ˜\¨K¸Ð+EÓFñ?ó Gó ?ñ?r<   ri  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   )Ú
issubclassra   ÚtyperD   Ú
datetime64r¶   s     r4   r5   zshould_warn.<locals>.<genexpr>$  s$   è ø€ ÐMÉÀ1”z !§'¡'§,¡,´·±×>Éùs   ‚8:)ÚanyÚmapÚoperatorÚ
attrgetterr   Úxor)ÚargsÚnot_monoÚonly_one_dts      r4   Úshould_warnr‡  !  sH   € Ü”sœ8×.Ñ.Ð/HÓIÈ4ÓPÓQÐQ€HÜÜ�‰ÑMÉÓMó€Kð Ò#˜Ð#r<   c                  óL  — e Zd Zg d¢Zg e¢d‘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g  e eddgddg«      «      ¢d‘«      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)rn   rx   ry   rx   c                óØ   — d}t        t        j                  j                  d«      j	                  d«      «      }t        j                  |||¬«      }t        j                  ||dz  «       y )Nzdf * ~2rR   rq  r“   éýÿÿÿ)	r   rD   rX   rY   rZ   r–   r—   r˜   rù   )rš   r3   r>   rx   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   ©rE  rB  )é   rS   r“  zdf + df2r“   ©r   rD   rX   rY   rZ   r‡  rE  r˜   r  ÚRuntimeWarningr–   r—   rù   )
rš   r3   r>   r�  rŽ  r�  r|   r  Údf2rÜ   s
             r4   Útest_basic_frame_alignmentz(TestAlignment.test_basic_frame_alignment3  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Õ;Ü—g‘g˜j°ÀÔG�÷ <Ð;ô —'‘'˜*¨V¸FÔCˆCÜ
×Ñ˜c 2¨¡8Õ,÷	 <Ð;ú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   rX   rY   rZ   r–   r—   r˜   rù   r,  rE  rB  )	rš   r3   r>   r˜  r�  r|   r  rÜ   Údf3s	            r4   Útest_frame_comparisonz#TestAlignment.test_frame_comparisonL  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<   ú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(  rU   r’  )rW   rR   rW   rí   rL   zdf + df2 + df3r“   r”  )rš   r3   r>   rž  rŸ  r   r¡  r|   r  r–  r›  rÜ   s               r4   Ú#test_medium_complex_frame_alignmentz1TestAlignment.test_medium_complex_frame_alignmenta  sP  € ô Ü�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Õ;Ü—g‘gÐ.°vÀfÔM�÷ <Ð;ô —'‘'Ð*°6À&ÔIˆCÜ
×Ñ˜c 2¨¡8¨c¡>Õ2÷	 <Ð;ús   Ä)F Æ F	Ú
index_namerE  rB  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“   ry   r$   )r   rD   rX   rY   rZ   Úgetattrr   r‡  rE  r˜   r  r•  r–   r—   Úaddrù   )rš   r3   r>   r¤  r˜  r�  r|   r  rE  rx   rÜ   rŸ   s               r4   Ú!test_basic_frame_series_alignmentz/TestAlignment.test_basic_frame_series_alignment  s  € ô Ü�I‰I×!Ñ! !Ó$×4Ñ4°XÓ>Ø+�- 
Ñ+¨BÓ/Ø-�M *Ñ-¨bÓ1ô
ˆô
 ˜˜JÓ'ˆÜ”2—9‘9×(Ñ(¨Ó+×;Ñ;¸AÓ>ÀÀbÀqÀ	ÓJˆä�r—x‘x §¡Ô)Ü×+Ñ+¬NÕ;Ü—g‘g˜h¨v¸fÔE�÷ <Ð;ô —'‘'˜(¨6¸&ÔAˆCà˜Ò ¨tÒ!3Ø$*¨iÒ$7�r—v‘v˜a”y¸RÀ!¹V‰Hà˜A‘vˆHÜ
×Ñ˜c 8Õ,÷ <Ð;ús   ÃE	Å	Ezr_idx_type, c_idx_typern   )ry   ry   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Š   rE  rn   rx   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“   ry   )r¹   r,   r.   r¸   r   rD   rX   rY   rZ   r§  r   r‡  rE  r˜   r  r•  r–   r—   r¨  rù   )rš   r;   r3   r>   r¤  r˜  r�  r|   r)   r  rE  rx   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Õ;Ü—g‘g˜h¨v¸fÔE�÷ <Ð;ô —'‘'˜(¨6¸&ÔAˆCà˜Ò ¨tÒ!3Ø$*¨iÒ$7�r—v‘v˜a”y¸QÀ¹V‰Hà˜2‘vˆHÜ
×Ñ˜c 8Õ,÷ <Ð;ús   Ä&F"Æ"F+r±   rj  rl  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“   ry   r$   )r   rD   rX   rY   rZ   r§  r   r‡  rE  r˜   r  r•  r–   r—   rù   )rš   r3   r>   r¤  r±   r˜  r�  r|   r  rE  rx   rF   rH   rô   rõ   s                  r4   Útest_series_frame_commutativityz-TestAlignment.test_series_frame_commutativityÃ  sf  € ô Ü�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)	NrU   rL   rR   r’  ry   r$   zdf2 + ser + dfr“   )r   rD   rX   rY   rZ   rB  r   r¨  r‡  rE  r˜   r  r•  r–   r—   r,  rù   )rš   r3   r>   rž  rŸ  r   r¡  r|   re   Úm1Úm2r  r–  rE  Ú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Õ;Ü—g‘gÐ.°vÀfÔM�÷ <Ð;ô —'‘'Ð*°6À&ÔIˆCØ�y‰y˜HŸN™NÒ*Ð*Ð*Ü
×Ñ˜c 8Õ,÷ <Ð;ús   Æ	G5Ç5G>c                ó>  — t        t        j                  j                  d«      j	                  d«      «      }t        t        j                  j                  d«      j	                  d«      «      }|dk(  r	|rt        }nd}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	|rt        }	nd}	t        j                  |	|¬«      5 }
t        j                  d||¬	«       |sg|ret        |
«      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   �Œ=xY w# 1 sw Y   �ŒÝxY w# 1 sw Y   �ŒFxY w# 1 sw Y   y xY w)NrR   )éè  rS   é'  r$   FzCAlignment difference on axis 1 is larger than an order of magnituder‘   r¦  r“   r·  )rS   r¸  r‘  rŠ   rT   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   rX   rY   rZ   r   r
   r˜   r  r–   r—   ÚlenrB   ÚmessageÚlog10rñ   r,  )rš   Úperformance_warningr3   r>   r  rx   Úseenr›   Úis_python_engineÚwrnÚwÚloggedrŸ   s                r4   Ú+test_performance_warning_for_poor_alignmentz9TestAlignment.test_performance_warning_for_poor_alignment  sc  € ô ”r—y‘y×,Ñ,¨QÓ/×?Ñ?À
ÓKÓLˆÜ”2—9‘9×(Ñ(¨Ó+×;Ñ;¸EÓBÓCˆØ�YÒÑ#6Ü%‰DàˆDàSˆÜ×'Ñ'¨°CÖ8Ü�G‰G�H V°FÕ;÷ 9ô ”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Ñ-ÐáÑ$7Ü$‰CàˆCä×'Ñ'¨°3Õ7¸1Ü�G‰G�H V°FÕ;á#Ñ(;Ü˜1“v ’{Ð"�{Ü˜!˜A™$Ÿ,™,Ó'�ÜŸ™ !§&¡&¨2¯8©8°A©;Ñ"6Ó7�ð$à$*¨3 <Ð/HðJð ð
 ˜h’Ð&�÷ 8Ð7÷- 9Ñ8ú÷ /Ñ.ú÷
 /Ñ.ú÷ 8Ð7ús1   ÂK,ÄK9Æ)LÉ!BLË,K6Ë9LÌLÌLN)r]  r^  r_  Úindex_typesÚlhs_index_typesrŒ  r,   r.   Úfilterwarningsr`  r—  rœ  r£  r©  Úlistr   r­  r¯  rµ  rÂ  r{   r<   r4   r‰  r‰  )  sf  „ Ú"€KØ)˜Ð) SÐ)€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˜˜S�z C¨ :Ó.Ó
/Ð>°Ð>óð ‡[�[×ÑÐ 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<   r‰  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   rT   ©Úpopr–   r—   ©rš   r„  Úkwargss      r4   r—   zTestOperations.evalG  ó/   € Ø Ÿ*™* 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)rË   Nr{   )r2   r±   s     r4   r5   z7TestOperations.test_simple_arith_ops.<locals>.<genexpr>V  s   è ø€ Ð4™I�b¨¨t«Œr™Iùs   ‚
�z1 z 1zx z (x + 1)r¤   z argument of type 'int' is not .*r‘   r“   rT   r·   rÚ   )	r   r   rb  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_opsK  sv  € ØˆØ�XÒØ! 8Ð,ˆMô ×)Ñ)¬D×,=Ñ,=Ò=ó
á=�Ø˜Ñ&ò Ø=ð 	ð 
ñ 5™IÓ4ˆãˆBØ�b�T˜�ˆBØ�r�d˜"�+ˆCØ�r�d˜(Ð#ˆCàÐ%Ñ%Ø8�Ü—]‘]¤9°CÖ8Ü—G‘G˜B v°fÕ=÷ 9Ð8ô )¨¨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ñ) ùò
÷ 9Ð8ú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©Nrr  rŠ   r‹   rŽ   r‘   ©r>   r,   r”   r•   r—   ©rš   rH   rF   r±   rœ   r›   rÜ   r1  s           r4   Útest_simple_bool_opsz#TestOperations.test_simple_bool_opsn  ó{   € ð ˆ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_constants~  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   )rU   rW   rL   é   rS   z?N-dimensional objects, where N > 2, are not supported with evalr‘   úx + y©r·   r×  ©r­   )	rD   rX   rY   rZ   r   r,   r”   r•   r—   )rš   r·   r×  r›   s       r4   Útest_4d_ndarray_failsz$TestOperations.test_4d_ndarray_failsŽ  sz   € Ü�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Ú1rT   )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   rX   rY   rZ   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   rq  úname 'x' is not definedr‘   zdf[x > 2] > 2)	r   rD   rX   rY   rZ   r,   r”   Ú	NameErrorr—   ©rš   r  s     r4   Ú&test_failing_subscript_with_name_errorz5TestOperations.test_failing_subscript_with_name_errorž  sN   € Ü”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓGÓHˆÜ�]‰]œ9Ð,EÖFØ�I‰I�oÔ&÷ G×FÑFús   ÁA.Á.A7c                óÞ   — t        t        j                  j                  d«      j	                  d«      «      }| j                  dd|i¬«      }|dz   |dkD     }t        j                  ||«       y )NrR   rq  z(df + 1)[df > 2]r  ræ  rT   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	¬
«      D ].  \  }
}t        j                  || j                  |
d|i¬«      «       Œ0 y )NrR   rq  ÚabcrA  zdf.a < df.bzdf.a + df.b + df.czdf.a + df.b + df.c[df.b < 0]r   T)r«  r  ræ  )r   rD   rX   rY   rZ   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°$×7‰HˆAˆuÜ×"Ñ" 5¨$¯)©)°AÀ4ÈÀ*¨)Ó*MÕNñ 8r<   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   rq  r÷  rA  zdf = df2ú%cannot assign without a target objectr‘   )r  r–  ræ  )
r   rD   rX   rY   rZ   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Ô?÷ 2×1Ñ1ú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í   ÚabrA  úinvalid syntaxr‘   zd c = a + b©
r   rD   rX   rY   rZ   rÆ  r,   r”   rD  r—   rò  s     r4   Ú%test_assignment_column_multiple_raisez4TestOperations.test_assignment_column_multiple_raiseÂ  sY   € ÜÜ�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  rA  z5left hand side of an assignment must be a single namer‘   zd,c = a + br  rG  s      r4   Ú%test_assignment_column_invalid_assignz4TestOperations.test_assignment_column_invalid_assignÊ  s]   € ÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<ÄdÈ4Ãjô
ˆð FˆÜ�]‰]œ;¨cÖ2Ø�G‰G�MÔ"÷ 3×2Ñ2úó   Á 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  rA  zcannot assign to function callr‘   zTimestamp("20131001") = a + br  rG  s      r4   Ú3test_assignment_column_invalid_assign_function_callzBTestOperations.test_assignment_column_invalid_assign_function_callÓ  s]   € ÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<ÄdÈ4Ãjô
ˆð /ˆÜ�]‰]œ;¨cÖ2Ø�G‰GÐ3Ô4÷ 3×2Ñ2ú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  rA  rô   rõ   ú	a = a + bT©Úinplace©
r   rD   rX   rY   rZ   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  rA  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  rA  rT   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  rA  rT   r  Tr  Fr   )r   rD   rX   rY   rZ   rÆ  rô   r  r—   rõ   r˜   rý   rF  )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  rA  r  Tr  z#can only assign a single expressionr‘   z	c = a = b)
r   rD   rX   rY   rZ   rÆ  r—   r,   r”   rD  rG  s      r4   Útest_assignment_multiple_raisesz.TestOperations.test_assignment_multiple_raises  sl   € ÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<ÄdÈ4Ãjô
ˆð 	�‰� TˆÔ*Ø3ˆÜ�]‰]œ;¨cÖ2Ø�G‰G�KÔ ÷ 3×2Ñ2ú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  rA  zc = df.a + df.br  T)r­   Útargetr  rô   rõ   rI   ©
r   rD   rX   rY   rZ   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d¬«      }t        j                  ||«       y )	Né   iàÿÿÿ©rô   rõ   za in [11, -32]©r3   Trô   rS  )r   r—   r   r˜   rý   )rš   r3   r  r    rŸ   s        r4   Útest_column_inzTestOperations.test_column_in  sF   € ä˜b˜T¨¨Ñ.Ó/ˆØ—‘Ð)°&�Ó9ˆÜ˜4˜& sÔ+ˆÜ
×Ñ˜v xÕ0r<   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  rA  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©rT   rR   rU   ©rW   rL   rã  r(  rô   rõ   rI   Údú$
        c = a + b
        d = c + bTr  rT   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š   r  rŸ   Úanswerr›   s        r4   Útest_multi_line_expressionz)TestOperations.test_multi_line_expression0  s  € äšYªYÑ7Ó8ˆØ—7‘7“9ˆà  ™¨°©Ñ5ˆ�‰Ø  ™¨°©Ñ5ˆ�‰Ø—‘ðð ð	 ó 
ˆô 	×Ñ˜h¨Ô+Øˆ~Ðˆ~à  ™¨Ñ)ˆ�‰Ø  ™¨Ñ)ˆ�‰Ø—‘ðð ð	 ó 
ˆô 	×Ñ˜h¨Ô+Øˆ~Ðˆ~ð QˆÜ�]‰]œ:¨SÖ1Ø�G‰Gðð ð	 ô ÷ 2×1Ñ1ú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/  r0  r(  rô   rõ   rI   r1  r2  Fr  rT   rR   rJ   r3  ©r   r  r—   r˜   rù   r  s      r4   Ú&test_multi_line_expression_not_inplacez5TestOperations.test_multi_line_expression_not_inplaceU  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/  r0  r(  r¬  rô   rI   r1  z?
        c = a * @local_var
        d = c + @local_var
        Tr  r7  )rš   r  rŸ   Ú	local_varr4  s        r4   Ú)test_multi_line_expression_local_variablez8TestOperations.test_multi_line_expression_local_variablen  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/  r0  r(  c                ó   — |S r8   r{   r(  s     r4   Ú
local_funczUTestOperations.test_multi_line_expression_callable_local_variable.<locals>.local_func„  ó   € ØˆHr<   rô   rT   r¬  rI   r1  zM
        c = a * @local_func(1, 7)
        d = c + @local_func(1, 7)
        Tr  r7  ©rš   r  r>  rŸ   r4  s        r4   Ú2test_multi_line_expression_callable_local_variablezATestOperations.test_multi_line_expression_callable_local_variable€  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/  r0  r(  c                ó   — |S r8   r{   r(  s     r4   r>  zaTestOperations.test_multi_line_expression_callable_local_variable_with_kwargs.<locals>.local_func˜  r?  r<   rô   r¬  rT   )rõ   rô   rI   r1  zU
        c = a * @local_func(b=7, a=1)
        d = c + @local_func(b=7, a=1)
        Tr  r7  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/  r0  r(  r  r‘   za = 1)r   r  r,   r”   rA   r7  r˜   rù   )rš   r  Údf_origr›   s       r4   Útest_assignment_in_queryz'TestOperations.test_assignment_in_query¨  sY   € äšYªYÑ7Ó8ˆØ—'‘'“)ˆØ5ˆÜ�]‰]œ:¨SÖ1Ø�H‰H�WÔ÷ 2ä
×Ñ˜b 'Õ*÷ 2Ð1ú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/  r0  r(  rô   rR   za == 2Tr  rU   ú	a = 1 + 2©r#  r  )r   r  r7  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_targetrT   ÚcatrR   ©rT   rU   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 targetrI  r‘   TrJ  r  F)r,   r”   rA   r—   Úhasattr©rš   rM  r›   Ú
expressions       r4   Útest_cannot_item_assignz&TestOperations.test_cannot_item_assign¿  s|   € à9ˆØ ˆ
ä�]‰]œ:¨SÖ1Ø�I‰I�j¨ÀˆIÔF÷ 2ô �> 6Ô*Ü—‘œz°Ö5Ø—	‘	˜*¨^ÀU�	ÔK÷ 6Ð5ð +÷ 2Ð1ú÷ 6Ð5ús    BÁ$BÂBÂB)rT   rN  rO  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 targetrI  r‘   FrJ  )r,   r”   rA   r—   rR  s       r4   Útest_cannot_copy_itemz$TestOperations.test_cannot_copy_itemË  s8   € à2ˆØ ˆ
ä�]‰]œ:¨SÖ1Ø�I‰I�j¨ÀˆIÔG÷ 2×1Ñ1ú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 + 2FrJ  rU   z0Cannot operate inplace if there is no assignmentr‘   T)r—   r,   r”   rA   )rš   r#  rS  r›   s       r4   Útest_inplace_no_assignmentz)TestOperations.test_inplace_no_assignmentÓ  sU   € àˆ
à�y‰y˜¨F¸EˆyÓBÀaÒGÐGÐGà@ˆÜ�]‰]œ:¨SÖ1Ø�I‰I�j¨¸ˆIÔ>÷ 2×1Ñ1ú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   rp   ru   ©rv   rr   rA  rš  r  ræ  ©	r   rD   rX   rY   rZ   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   r[  rp   ru   r\  rA  zdf[df < 2 + 3]r  ræ  rL   r]  ©rš   r  r^  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   r[  rp   ru   r\  rA  zdf[df[df < 2] < 2] + df * 2r  ræ  r]  ra  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                  ||«       y )NrR   rq  z1/1/2012rL   rq   Údates1zdf.dates1 < 20130101r  rÚ   Ú20130101)
r   rD   rX   rY   rZ   r   r—   rf  r˜   rý   )rš   r3   r>   r  rÜ   rÖ  s         r4   Útest_date_booleanz TestOperations.test_date_booleanû  sy   € Ü”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓGÓHˆÜ! *°aÔ8ˆˆ8‰Ø�i‰iØ"Ø˜b�zØØð	 ó 
ˆð —	‘	˜JÑ&ˆÜ
×Ñ˜s EÕ*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  s!  € Ø�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¸#Ö>Ü—‘˜¨f¸VÕD÷ ?ä—‘Ô2¸#Ö>Ü—‘˜¨f¸VÕD÷ ?ä—‘Ô2¸#Ö>Ü—‘˜¨f¸VÕD÷ ?ä—‘Ô2¸#Ö>Ü—‘Ð2¸6È&ÕQ÷ ?à5ˆCÜ—‘Ô2¸#Ö>Ü—‘Ð)°&ÀÕH÷ ?ä—‘Ô2¸#Ö>Ü—‘Ð2¸6È&ÕQ÷ ?Ð>÷ ?Ñ>úç>Ñ>úç>Ð>úç>Ð>ú÷ ?Ð>úç>Ð>ú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 )NrT   z * Ú!aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar“   )r®   r–   r—   )rš   r3   r>   rô   r   rŸ   rÜ   s          r4   Útest_check_many_exprsz$TestOperations.test_check_many_exprs6  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   rq  rŠ   rŽ   Únotú'Not' nodes are not implementedr‘   r  )r­   r>   r3   ©
r   rD   rX   rY   rZ   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   rq  z(df + 2)[df > 1] > 0 z	 (df > 0)rŠ   z$cannot evaluate scalar only bool opsr‘   r  rq  )rš   rs  r3   r>   r  rœ   r›   s          r4   Útest_fails_ampersand_pipez(TestOperations.test_fails_ampersand_pipe\  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)3r]  r^  r_  r—   rØ  r,   r.   r`  r   ra  rÝ  rá  rç  rê  rî  ró  rõ  r  r  r	  r  r  r  r  r  r  r!  r%  r*  r¸   r-  r5  r8  r;  rA  rD  rG  rL  rD   rµ   rT  rV  rY  r_  rb  rd  rh  rj  rm  rr  ru  r{   r<   r4   rÈ  rÈ  F  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ò,ò,ò
,ò
#ò!ò,ò1ð ‡[�[×ÑÐ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                  óN  — e Zd Zd„ Zej
                  j                  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.evalj  rÐ  r<   r�  Úfnc                ón  — t        dt        j                  j                  d«      j	                  d«      i«      }|j
                  }|› d�}| j                  |||¬«      }t        j                  d¬«      5   t        t        |«      |«      }d d d «       t        j                  |«       y # 1 sw Y   Œ xY w)Nrô   rR   rS   z(a)r“   r%   ©Úall)r   rD   rX   rY   rZ   rô   r—   Úerrstater§  r˜   rý   )	rš   ry  r3   r>   r  rô   r   Úgotrú   s	            r4   Útest_unary_functionszTestMath.test_unary_functionsn  s‘   € ô ˜œRŸY™Y×2Ñ2°1Ó5×EÑEÀbÓIÐJÓKˆØ�D‰Dˆà��SˆzˆØ�i‰i˜ V°FˆiÓ;ˆÜ�[‰[˜XÖ&Ø$”WœR “_ QÓ'ˆF÷ 'ä
×Ñ˜s FÕ+÷ 'Ð&ús   Á5B+Â+B4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                  |	«       y # 1 sw Y   Œ xY w)NrR   rS   r(  z(a, b)r“   r%   r{  )r   rD   rX   rY   rZ   rô   rõ   r—   r}  r§  r˜   rº   )
rš   ry  r3   r>   r  rô   rõ   r   r~  rú   s
             r4   Útest_binary_functionszTestMath.test_binary_functionsz  s¼   € ää—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAñó
ˆð �D‰DˆØ�D‰Dˆà��Vˆ}ˆØ�i‰i˜ V°FˆiÓ;ˆÜ�[‰[˜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                  «      j                  d«      }t        j                  ||«       y )NrR   rS   r(  ze = arctan2(sin(a), b)T©r3   r>   r  rJ   )r   rD   rX   rY   rZ   r—   rJ   Úarctan2Úsinrô   rõ   Úrenamer˜   rý   ©rš   r3   r>   r  r~  rú   s         r4   Útest_df_use_casezTestMath.test_df_use_case‹  s°   € Üä—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAñó
ˆð 	�‰Ø$ØØØð	 	ô 	
ð �d‰dˆÜ—‘œBŸF™F 2§4¡4›L¨"¯$©$Ó/×6Ñ6°sÓ;ˆÜ
×Ñ˜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   «      j                  d«      }t        j                  ||«       y )NrR   rS   r(  ze = sin(a + b)Trƒ  rJ   )r   rD   rX   rY   rZ   r—   rJ   r…  rô   rõ   r†  r˜   rý   r‡  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™Ó$×+Ñ+¨CÓ0ˆÜ
×Ñ˜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                  d«      }|j                  |j                  k(  sJ ‚||j                  k(  sJ ‚t        j                  ||«       y )Nrô   rR   rS   z
b = sin(a)Trƒ  rõ   )r   rD   rX   rY   rZ   rç   rô   ra   r—   rõ   r…  r†  r˜   rý   )rš   ra   Úexpect_dtyper3   r>   r  r~  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Ó)ˆØ�|‰|˜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   rX   rY   rZ   r,   r”   rA   r—   ©rš   r3   r>   r  r›   s        r4   Útest_undefined_funczTestMath.test_undefined_funcÃ  s\   € Ü˜œRŸY™Y×2Ñ2°1Ó5×EÑEÀbÓIÐJÓKˆØ3ˆä�]‰]œ:¨SÖ1Ø�G‰G�J v°fˆGÔ=÷ 2×1Ñ1úó   Á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   rX   rY   rZ   r,   r”   r¯   r—   r�  s        r4   Útest_keyword_argzTestMath.test_keyword_argÊ  s\   € Ü˜œRŸY™Y×2Ñ2°1Ó5×EÑEÀbÓIÐJÓKˆØAˆä�]‰]œ9¨CÖ0Ø�G‰G�J v°fˆGÔ=÷ 1×0Ñ0úr‘  N)r]  r^  r_  r—   r,   r.   rÅ  r`  r!   r  r   r�  rˆ  rŠ  rD   Úint32rh   rc   Úfloat32r-   Ú
complex128r0   rf  r�  r�  r“  r{   r<   r4   rw  rw  i  s	  „ ò(ð ‡[�[×ÑÐ 8Ó9Ø‡[�[×Ñ˜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<   rw  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 )NrT   ú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 )NrT   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)NrT   rð  r‘   rž  r¬   ©r,   r”   r   r–   r—   )rš   r3   r>   r·   r›   s        r4   Útest_empty_localszTestScope.test_empty_localsë  s9   € àˆØ'ˆÜ�]‰]Ô1¸Ö=Ü�G‰G�G F°6ÀbÕI÷ >×=Ñ=úó    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ò  s9   € à,ˆØˆÜ�]‰]Ô1¸Ö=Ü�G‰G�A˜f¨VÀÕD÷ >×=Ñ=úr«  N)r]  r^  r_  rœ  r¢  r§  rª  r®  r{   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ä  rT   rR   rå  Úasdf)r­   r3   ©r,   r”   ÚKeyErrorr–   r—   ©r›   s    r4   Útest_invalid_enginer´  ú  ó6   € à
(€CÜ	�‰”x sÖ	+Ü
�‰�¨!°!Ñ$4¸VÕD÷ 
,×	+Ñ	+úó   ž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½    s<   € õ ;ä	×	Ñ	Ð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œt	        d	d«      ¬
«      }t        j                  ||«       d d d «       y # 1 sw Y   y xY w)Nrº  F)TFTFNN)rT   rR   rU   rW   rL   rã  )r4  ÚBz
A.isnull()rL   rã  rW   )rE  )r–   r¼  r   r7  rl   r˜   rù   )r  r    rŸ   s      r4   Ú#test_numexpr_option_incompatible_oprÀ    ss   € ô 
×	Ñ	Ð0°%Õ	8ÜÚ8Ò?QÑRó
ˆð —‘˜,Ó'ˆÜ D¨$ <°q¸!°fÑ=ÄUÈ1ÈaÃ[ÔQˆÜ
×Ñ˜f hÔ/÷ 
9×	8Ñ	8ús   —AA8Á8B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ä  rT   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È  ,  s^   € ô ˜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”   rD  r–   r—   )r3   r>   rJ   s      r4   Útest_syntax_error_exprsrË  8  s2   € Ø€AÜ	�‰”{Ð*:Ö	;Ü
�‰�˜&¨Õ0÷ 
<×	;Ñ	;ú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Í  >  s6   € Ø€AØ
#€CÜ	�‰”y¨Ö	,Ü
�‰�˜&¨Õ0÷ 
-×	,Ñ	,ú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©rT   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Ñ  E  sy   € à�D€A€qà�ÒÜ�]‰]œ;Ð.FÖGÜ�G‰G�G F°6Õ:÷ HÐGô �]‰]œ;Ð.EÖFÜ�G‰G�G F°6Õ:÷ GÐF÷ HÐGú÷ GÐFú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>   r…  Údotted_liner›   rÜ   s         r4   Útest_numexpr_builtin_raisesrÔ  Q  sr   € ØÑ€CˆØ�ÒØ*ˆÜ�]‰]Ô1¸Ö=Ü�G‰GÐ'°¸vÕF÷ >Ð=ô �g‰gÐ)°&ÀÔHˆØ�c˜KÑ'Ò'Ð'Ñ'÷	 >Ð=ú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)rY  g      @zResolver of type .+r‘   rX  )Ú	resolversr3   r>   )r,   r”   r¯   r–   r—   )r3   r>   Úcannot_resolves      r4   Útest_bad_resolver_raisesrØ  \  s4   € Ø€NÜ	�‰”yÐ(=Ö	>Ü
�‰� >¸&ÈÕP÷ 
?×	>Ñ	>ú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Ü  b  s.   € ä	�‰”zÐ)IÖ	JÜ
�‰�˜6¨&Õ1÷ 
K×	JÑ	Júó	   œ>¾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ß  h  s.   € Ü	�‰”{Ð*OÖ	PÜ
�‰� v°fÕ=÷ 
Q×	PÑ	Pú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   rX   rY   rø   r{   r<   r4   rf   z0test_bool_ops_fails_on_scalars.<locals>.<lambda>r  s   € ”R—Y‘Y×*Ñ*¨1Ó-×6Ñ6°rÔ:r<   rR   r¨   r¾   r©   r¿   r�   rÀ   r�   r)  r‘   r“   )ÚintrO   rD   rX   rY   rZ   r,   r”   r•   r–   r—   )rF   rà  rH   r3   r>   ÚgenrÃ   rÄ   rÅ   rÆ   rœ   r›   s               r4   Útest_bool_ops_fails_on_scalarsrå  m  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ˆØKˆÜ�]‰]Ô.°cÖ:Ü�G‰G�B˜v¨fÕ5÷ ;Ð:ñ ç:Ð:ús   ÂB9Â9C	Úotherz'x'z...c                ó    — t        dg d¢it        ¬«      }|j                  d| › �«      }t        g d¢d¬«      }t	        j
                  ||«       y )Nr4  )rô   rõ   rI   r`   r6  )FFFrS  )r   Úobjectr—   r   r˜   rý   )ræ  r  r    rŸ   s       r4   Útest_equals_variousré  ƒ  sF   € ô 
�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>   rx   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õ   rA  rL   Ú`z` > 5r)  )r   rD   rX   rY   rZ   r7  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   rT   r“  rN  ÚcountrA  z
~(cat > 0)r“   rŠ   rp  r‘   znot (cat > 0))r   rN  r7  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Ö:Ø�H‰H�_¨V¸FˆHÔC÷ ;Ð:ð —‘˜/°&À�ÓHˆÜ
×Ñ˜f hÕ/÷	 ;Ð:ú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ð   Úcol1rA  rã  z>6)r¹   r,   r.   r¸   r²  r   rD   rX   rY   rø   r7  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   }| j                  dd¬«       t        g d	¢g d¢g d¢dœ«      }t        j                  | |«       t	        g d¢d¬
«      }t        j
                  ||«       t        j
                  |d   |«       y )Nr/  r0  )r¬  é   é	   )r4  r¿  ÚCr4  z	A = B + CTr  )r'  é   rQ  rS  )r   r—   r˜   rù   r   rý   )r  Úresult_viewr³  rŸ   s       r4   Útest_set_inplacer  Ì  s‰   € ô 
šªºÑCÓ	D€BØ‘Q�%€KØ
ˆS‰'€CØ‡G�GˆK €GÔ&Üš|²)Â)ÑLÓM€HÜ×Ñ˜"˜hÔ'Ü’i cÔ*€HÜ×Ñ˜3 Ô)Ü×Ñ˜; sÑ+¨XÕ6r<   ÚvaluerT   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›   s     r4   Útest_validate_bool_argsr  Û  s/   € à
D€CÜ	�‰”z¨Ö	-Ü
�‰�˜uÕ%÷ 
.×	-Ñ	-ús	   ž?¿Ac                 óD   — t        j                  dd¬«      } d}| |k(  sJ ‚y )Nz1 / 2r$   r)  rV   r0  )r    rŸ   s     r4   Útest_eval_float_div_numexprr  â  s'   € ô �W‰W�W YÔ/€FØ€HØ�XÒÐÑr<   c                 óÌ  — t        g d¢«      } t        g d¢«      }t        j                  d«      }| |z   j                  «       }t	        j
                  ||«       t        j                  d«      }| |z  j                  «       }t	        j
                  ||«       t        j                  d«      }| |z   j                  «       j                  d¬«      }t	        j
                  ||«       y )N)rT   rR   rU   rL   )rR   rU   rW   z(x + y).dropna()z(x * y).dropna()z'(x + y).dropna().reset_index(drop=True)T)Údrop)r   r–   r—   Údropnar˜   rý   Úreset_index)r·   r×  r    rŸ   s       r4   Útest_method_calls_on_binopr  ê  s·   € äŠ|Ó€AÜŠyÓ€Aô �W‰WÐ'Ó(€FØ�A‘�~‰~Ó€HÜ×Ñ˜6 8Ô,ô �W‰WÐ'Ó(€FØ�A‘�~‰~Ó€HÜ×Ñ˜6 8Ô,ô �W‰WÐ>Ó?€FØ�A‘�~‰~Ó×+Ñ+°Ð+Ó6€HÜ×Ñ˜6 8Õ,r<   )rÚ
__future__r   Ú	functoolsr   Ú	itertoolsr   r�  ÚnumpyrD   r,   Úpandas.compatr   r   Ú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!   Úpandas.core.computation.scoper"   Úpandas.util.versionr#   r$   Úfixturer3   ÚPARSERSr>   rK   rÆ  rl   rF   rH   rÂ   r|   r~   ri  r‡  r‰  rÈ  rw  rX   rY   rZ   r›  r˜  r1   r´  r.   r`  r½  rÀ  rÂ  ÚPyTablesExprVisitorrÃ  Ú__annotations__rÈ  rË  rÍ  rÑ  rÔ  rØ  rÜ  rß  rã  rO   rå  ré  rì  rñ  rô  Úkeysrû  r  r  r  r  r{   r<   r4   Ú<module>r&     s4  ðÞ "å Ý Û ã Û ÷õ ?÷ñ ÷
 *Ð )÷ó ó ÷÷ õ ÷õ 4÷ñ ÷
÷ó õ :Ý 'á
$ Y°xÔ
@€ð €‡�ññ óôñ ó!ð ð €‡��t—|‘|Ô$ñó %ðòð €‡�Ù‘�a“‹>ÚEôñ-ó	ð-ð$ 
€Ø€ð ‡�ñó ð÷m	3ñ m	3÷h?ñ ?ò<$÷V'ñ V'÷z`6ñ `6÷Ff>ñ f>ðR 
�‰×	Ñ	˜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×ÑÓóñ,ó	ð,ò(7ð ‡�×Ñ˜ 1 fªi¸Ð"=Ó>ñ&ó ?ð&ð €‡�ˆyÓñó ðó-r<   