Ë
    ìmxi=  ã                   óÈ  — d dl Z d dlZd dlZej                  j
                  d„ «       Zej                  j
                  d„ «       Zej                  j
                  d„ «       Zej                  j
                  d„ «       Z	ej                  j                  d¬«      d„ «       Zej                  j
                  d	„ «       Zej                  j
                  d
„ «       Zej                  j
                  d„ «       Zej                  j
                  d„ «       Zej                  j
                  d„ «       Zej                  j
                  d„ «       Zej                  j
                  d„ «       Zy)é    Nc                  ó<  — dd l m}  | j                  «       }t        j                  dt        j
                  «       «      }t        j                  dt        j
                  «       «      }t        j                  ||g«      }t        j                  dt        j
                  «       «      }|j                  |«      }|j                  |«      }|j                  «       |j                  k(  sJ ‚|j                  d||gt        j                  «       «      }|j                  |||t        j
                  «       «      }	|j                  |	|«      }
|
j                  «       j                  t        j
                  «       k(  sJ ‚| j                  d¬«      }| j!                  ||
gt        j"                  «       d|«      }|j$                  j'                  d	«      d
k7  sJ ‚t        j(                  g d¢t        j
                  «       ¬«      }t        j(                  g d¢t        j
                  «       ¬«      }t        j(                  g d¢t        j
                  «       ¬«      }t        j*                  j-                  ||gddg¬«      }|j/                  |«      \  }|j1                  |«      sJ ‚y )Nr   ÚaÚbÚresÚgreater_thanT©Údump_irÚNONEú@expr_éÿÿÿÿ)é
   é   éìÿÿÿé   ©Útype)r   é   r   é   )r   r   r   r   ©Únames)Úpyarrow.gandivaÚgandivaÚTreeExprBuilderÚpaÚfieldÚint32ÚschemaÚ
make_fieldÚreturn_typer   Úmake_functionÚbool_Úmake_ifÚmake_expressionÚresultÚConfigurationÚmake_projectorÚdefault_memory_poolÚllvm_irÚfindÚarrayÚRecordBatchÚfrom_arraysÚevaluateÚequals)r   ÚbuilderÚfield_aÚfield_br   Úfield_resultÚnode_aÚnode_bÚ	conditionÚif_nodeÚexprÚconfigÚ	projectorr   r   ÚeÚinput_batchÚrs                     úQ/home/htdocs/ttos/venv/lib/python3.12/site-packages/pyarrow/tests/test_gandiva.pyÚtest_tree_exp_builderr>      só  € å%à×%Ñ%Ó'€Gä�h‰h�sœBŸH™H›JÓ'€GÜ�h‰h�sœBŸH™H›JÓ'€Gä�Y‰Y˜ Ð)Ó*€Fä—8‘8˜E¤2§8¡8£:Ó.€Là×Ñ Ó(€FØ×Ñ Ó(€Fà×ÑÓ 7§<¡<Ò/Ð/Ð/à×%Ñ% n°v¸vÐ6FÜ&(§h¡h£jó2€Ià�o‰o˜i¨°¼¿¹»ÓD€Gà×"Ñ" 7¨LÓ9€Dà�;‰;‹=×Ñ¤§¡£Ò+Ð+Ð+à×"Ñ"¨4Ð"Ó0€FØ×&Ñ&Ø��œ×.Ñ.Ó0°&¸&óB€Ið ×Ñ×!Ñ! (Ó+¨rÒ1Ð1Ð1ä
�‰Ò!¬¯©«
Ô3€AÜ
�‰’¤r§x¡x£zÔ2€AÜ
�‰Ò!¬¯©«
Ô3€AÜ—.‘.×,Ñ,¨a°¨V¸CÀ¸:Ð,ÓF€Kà	×	Ñ	˜KÓ	(�B€AØ�8‰8�AŒ;Ð‰;ó    c                  ó2  — dd l m}  t        j                  j	                  t        j
                  ddg«      t        j
                  ddg«      gddg«      }| j                  «       }|j                  |j                  j                  d«      «      }|j                  |j                  j                  d«      «      }|j                  d||gt        j                  «       «      }t        j                  d	t        j                  «       «      }|j                  ||«      }| j                  |j                  |gt        j                  «       «      }|j                  |j!                  «       d   «      \  }	t        j
                  dd
g«      }
|	j#                  |
«      sJ ‚y )Nr   ç      ð?ç       @ç      @g      @r   r   ÚaddÚcg      @)r   r   r   ÚTabler,   r*   r   r   r   r   r    Úfloat64r#   r&   r'   r-   Ú
to_batchesr.   )r   Útabler/   r3   r4   Úsumr2   r7   r9   r<   r:   s              r=   Ú
test_tablerK   B   s@  € å%ä�H‰H× Ñ ¤"§(¡(¨C°¨:Ó"6¼¿¹À#ÀsÀÓ8LÐ!MØ"% s ó-€Eð ×%Ñ%Ó'€GØ×Ñ §¡× 2Ñ 2°3Ó 7Ó8€FØ×Ñ §¡× 2Ñ 2°3Ó 7Ó8€Fà
×
Ñ
 ¨°Ð'7¼¿¹»Ó
F€Cä—8‘8˜C¤§¡£Ó.€LØ×"Ñ" 3¨Ó5€Dà×&Ñ&Ø�‰�t�fœb×4Ñ4Ó6ó8€Ið
 
×	Ñ	˜E×,Ñ,Ó.¨qÑ1Ó	2�B€Aä
�‰�#�s�Ó€AØ�8‰8�AŒ;Ð‰;r?   c            	      óð  — dd l m}  t        j                  j	                  t        j
                  t        d«      D �cg c]  }d|z  ‘Œ	 c}«      gdg«      }| j                  «       }|j                  |j                  j                  d«      «      }|j                  dt        j                  «       «      }|j                  d||gt        j                  «       «      }|j                  |«      }|j!                  «       j"                  t        j                  «       k(  sJ ‚| j%                  d¬«      }| j'                  |j                  ||«      }	|	j(                  j+                  d	«      d
k7  sJ ‚|	j-                  |j/                  «       d   t        j0                  «       «      }
|
j3                  «       j5                  t        j
                  t        d«      t        j6                  «       ¬«      «      sJ ‚y c c}w )Nr   i'  rA   r   g     @�@Ú	less_thanTr   r   r   iè  r   )r   r   r   rF   r,   r*   Úranger   r   r   r   Úmake_literalrG   r    r!   Úmake_conditionr$   r   r%   Úmake_filterr(   r)   r-   rH   r'   Úto_arrayr.   Úuint32)r   ÚirI   r/   r3   ÚthousandÚcondr5   r8   Úfilterr$   s              r=   Útest_filterrX   ]   s}  € å%ä�H‰H× Ñ ¤"§(¡(¼UÀ5»\Ö+J¸¨C°!«GÒ+JÓ"KÐ!LØ"% ó(€Eð ×%Ñ%Ó'€GØ×Ñ §¡× 2Ñ 2°3Ó 7Ó8€FØ×#Ñ# F¬B¯J©J«LÓ9€HØ× Ñ  ¨v°xÐ.@Ä"Ç(Á(Ã*ÓM€DØ×&Ñ& tÓ,€Ià×ÑÓ×"Ñ"¤b§h¡h£jÒ0Ð0Ð0à×"Ñ"¨4Ð"Ó0€FØ× Ñ  §¡¨y¸&ÓA€Fà�>‰>×Ñ˜xÓ(¨BÒ.Ð.Ð.à�_‰_˜U×-Ñ-Ó/°Ñ2´B×4JÑ4JÓ4LÓM€FØ�?‰?Ó×#Ñ#¤B§H¡H¬U°4«[¼r¿y¹y»{Ô$KÔLÐLÑLùò# ,Ks   ¼G3c                  ó¶  — dd l m}  t        j                  g d¢«      }t        j                  j                  |gdg«      }| j                  «       }|j                  |j                  j                  d«      «      }|j                  |ddgt        j                  «       «      }|j                  |«      }| j                  |j                  |«      }|j                  |j                  «       d   t        j                   «       «      }|j#                  «       j%                  t        j                  ddgt        j&                  «       ¬«      «      sJ ‚t        j                  g d	¢«      }t        j                  j                  |j)                  t        j*                  «       «      gdg«      }|j                  |j                  j                  d«      «      }|j                  |dd
gt        j*                  «       «      }|j                  |«      }| j                  |j                  |«      }|j                  |j                  «       d   t        j                   «       «      }|j#                  «       j%                  t        j                  g d¢t        j&                  «       ¬«      «      sJ ‚t        j                  g d	¢«      }t        j                  j                  |gdg«      }|j                  |j                  j                  d«      «      }|j                  |dd
gt        j,                  «       «      }|j                  |«      }| j                  |j                  |«      }|j                  |j                  «       d   t        j                   «       «      }|j#                  «       j%                  t        j                  g d¢t        j&                  «       ¬«      «      sJ ‚y )Nr   )ÚgaÚanÚndÚdiÚivÚvar   r[   r\   é   é   r   )
é   r`   é   r`   r   é	   ra   é   r   rc   r   )r`   rb   rc   é   )r   r   r   r*   rF   r,   r   r   r   r   Úmake_in_expressionÚstringrP   rQ   r-   rH   r'   rR   r.   rS   Úcastr   Úint64)	r   ÚarrrI   r/   r3   rV   r5   rW   r$   s	            r=   Útest_in_exprrl   u   sÊ  € å%ä
�(‰(Ò7Ó
8€CÜ�H‰H× Ñ  # ¨¨Ó.€Eð ×%Ñ%Ó'€GØ×Ñ §¡× 2Ñ 2°3Ó 7Ó8€FØ×%Ñ% f¨t°T¨l¼B¿I¹I»KÓH€DØ×&Ñ& tÓ,€IØ× Ñ  §¡¨yÓ9€FØ�_‰_˜U×-Ñ-Ó/°Ñ2´B×4JÑ4JÓ4LÓM€FØ�?‰?Ó×#Ñ#¤B§H¡H¨a°¨V¼"¿)¹)»+Ô$FÔGÐGÐGô �(‰(Ò1Ó
2€CÜ�H‰H× Ñ  #§(¡(¬2¯8©8«:Ó"6Ð!7¸#¸Ó?€EØ×Ñ §¡× 2Ñ 2°3Ó 7Ó8€FØ×%Ñ% f¨q°!¨f´b·h±h³jÓA€DØ×&Ñ& tÓ,€IØ× Ñ  §¡¨yÓ9€FØ�_‰_˜U×-Ñ-Ó/°Ñ2´B×4JÑ4JÓ4LÓM€FØ�?‰?Ó×#Ñ#¤B§H¡Hª\ÄÇ	Á	ÃÔ$LÔMÐMÐMô �(‰(Ò1Ó
2€CÜ�H‰H× Ñ  # ¨¨Ó.€EØ×Ñ §¡× 2Ñ 2°3Ó 7Ó8€FØ×%Ñ% f¨q°!¨f´b·h±h³jÓA€DØ×&Ñ& tÓ,€IØ× Ñ  §¡¨yÓ9€FØ�_‰_˜U×-Ñ-Ó/°Ñ2´B×4JÑ4JÓ4LÓM€FØ�?‰?Ó×#Ñ#¤B§H¡Hª\ÄÇ	Á	ÃÔ$LÔMÐMÑMr?   z>Gandiva C++ did not have *real* binary, time and date support.)Úreasonc                  ó¼
  — dd l m}  t        j                  g d¢«      }t        j                  j                  |gdg«      }| j                  «       }|j                  |j                  j                  d«      «      }|j                  |ddgt        j                  «       «      }|j                  |«      }| j                  |j                  |«      }|j                  |j                  «       d   t        j                   «       «      }|j#                  «       j%                  t        j                  ddgt        j&                  «       ¬«      «      sJ ‚t(        j(                  j+                  d	«      }	t(        j(                  j+                  d
«      }
t(        j(                  j+                  d«      }t        j                  |	|
|g«      }t        j                  j                  |gdg«      }| j                  «       }|j                  |j                  j                  d«      «      }|j                  ||
gt        j,                  d«      «      }|j                  |«      }| j                  |j                  |«      }|j                  |j                  «       d   t        j                   «       «      }t/        |j#                  «       «      dgk(  sJ ‚|	j1                  «       }|
j1                  «       }|j1                  «       }t        j                  |||g«      }t        j                  j                  |gdg«      }| j                  «       }|j                  |j                  j                  d«      «      }|j                  ||gt        j2                  d«      «      }|j                  |«      }| j                  |j                  |«      }|j                  |j                  «       d   t        j                   «       «      }t/        |j#                  «       «      dgk(  sJ ‚|	j5                  «       }|
j5                  «       }|j5                  «       }t        j                  |||g«      }t        j                  j                  |gdg«      }| j                  «       }|j                  |j                  j                  d«      «      }|j                  ||gt        j6                  «       «      }|j                  |«      }| j                  |j                  |«      }|j                  |j                  «       d   t        j                   «       «      }t/        |j#                  «       «      dgk(  sJ ‚y )Nr   )s   gaó   anó   nds   dis   ivs   var   ro   rp   r`   ra   r   gÕÌç¹,ûÖAgÕÌç¯,ûÖAgÕÌçØ+ûÖAÚms)r   r   r   r*   rF   r,   r   r   r   r   rg   ÚbinaryrP   rQ   r-   rH   r'   rR   r.   rS   ÚdatetimeÚutcfromtimestampÚ	timestampÚlistÚtimeÚtime64ÚdateÚdate32)r   rk   rI   r/   r3   rV   r5   rW   r$   Ú
datetime_1Ú
datetime_2Ú
datetime_3Útime_1Útime_2Útime_3Údate_1Údate_2Údate_3s                     r=   Útest_in_expr_todor„   š   s5  € õ &ô �(‰(Ò=Ó
>€CÜ�H‰H× Ñ  # ¨¨Ó.€Eà×%Ñ%Ó'€GØ×Ñ §¡× 2Ñ 2°3Ó 7Ó8€FØ×%Ñ% f¨u°e¨n¼b¿i¹i»kÓJ€DØ×&Ñ& tÓ,€Ià× Ñ  §¡¨yÓ9€FØ�_‰_˜U×-Ñ-Ó/°Ñ2´B×4JÑ4JÓ4LÓM€FØ�?‰?Ó×#Ñ#¤B§H¡H¨a°¨V¼"¿)¹)»+Ô$FÔGÐGÐGô ×"Ñ"×3Ñ3Ð4EÓF€JÜ×"Ñ"×3Ñ3Ð4EÓF€JÜ×"Ñ"×3Ñ3Ð4EÓF€Jä
�(‰(�J 
¨JÐ7Ó
8€CÜ�H‰H× Ñ  # ¨¨Ó.€Eà×%Ñ%Ó'€GØ×Ñ §¡× 2Ñ 2°3Ó 7Ó8€FØ×%Ñ% f¨z¨l¼B¿L¹LÈÓ<NÓO€DØ×&Ñ& tÓ,€Ià× Ñ  §¡¨yÓ9€FØ�_‰_˜U×-Ñ-Ó/°Ñ2´B×4JÑ4JÓ4LÓM€FÜ�—‘Ó!Ó" q cÒ)Ð)Ð)ð �_‰_Ó€FØ�_‰_Ó€FØ�_‰_Ó€Fä
�(‰(�F˜F FÐ+Ó
,€CÜ�H‰H× Ñ  # ¨¨Ó.€Eà×%Ñ%Ó'€GØ×Ñ §¡× 2Ñ 2°3Ó 7Ó8€FØ×%Ñ% f¨v¨h¼¿	¹	À$»ÓH€DØ×&Ñ& tÓ,€Ià× Ñ  §¡¨yÓ9€FØ�_‰_˜U×-Ñ-Ó/°Ñ2´B×4JÑ4JÓ4LÓM€FÜ�—‘Ó!Ó" q cÒ)Ð)Ð)ð �_‰_Ó€FØ�_‰_Ó€FØ�_‰_Ó€Fä
�(‰(�F˜F FÐ+Ó
,€CÜ�H‰H× Ñ  # ¨¨Ó.€Eà×%Ñ%Ó'€GØ×Ñ §¡× 2Ñ 2°3Ó 7Ó8€FØ×%Ñ% f¨v¨h¼¿	¹	»ÓD€DØ×&Ñ& tÓ,€Ià× Ñ  §¡¨yÓ9€FØ�_‰_˜U×-Ñ-Ó/°Ñ2´B×4JÑ4JÓ4LÓM€FÜ�—‘Ó!Ó" q cÒ)Ð)Ñ)r?   c                  óŽ  — dd l m}  t        j                  j	                  t        j
                  g d¢«      t        j
                  g d¢«      gddg«      }| j                  «       }|j                  |j                  j                  d«      «      }|j                  |j                  j                  d«      «      }|j                  dt        j                  «       «      }|j                  dt        j                  «       «      }|j                  d||gt        j                  «       «      }|j                  d	||gt        j                  «       «      }|j                  d||gt        j                  «       «      }	|j                  |j                  ||g«      |	g«      }
|j!                  |
«      }| j#                  |j                  |«      }|j%                  |j'                  «       d   t        j(                  «       «      }|j+                  «       j-                  t        j
                  g d
¢t        j.                  «       ¬«      «      sJ ‚y )Nr   )rA   g      ?@g      G@rC   g     €L@g      F@g      6@)g      @g     €F@g      B@g     @R@g     ÀT@g      7@g      S@r   r   g      I@g      &@rM   r   )r   ra   r   r   )r   r   r   rF   r,   r*   r   r   r   r   rO   rG   r    r!   Úmake_orÚmake_andrP   rQ   r-   rH   r'   rR   r.   rS   )r   rI   r/   r3   r4   ÚfiftyÚelevenÚcond_1Úcond_2Úcond_3rV   r5   rW   r$   s                 r=   Útest_booleanr�   ä   sº  € å%ä�H‰H× Ñ Ü
�‰Ò2Ó3Ü
�‰Ò3Ó4ð"6ð 
ˆcˆ
ó€Eð
 ×%Ñ%Ó'€GØ×Ñ §¡× 2Ñ 2°3Ó 7Ó8€FØ×Ñ §¡× 2Ñ 2°3Ó 7Ó8€FØ× Ñ  ¤r§z¡z£|Ó4€EØ×!Ñ! $¬¯
©
«Ó5€Fà×"Ñ" ;°¸°ÄÇÁÃÓL€FØ×"Ñ" >°F¸FÐ3CÜ#%§8¡8£:ó/€Fà×"Ñ" ;°¸Ð0@Ä"Ç(Á(Ã*ÓM€FØ�?‰?˜G×,Ñ,¨f°fÐ-=Ó>ÀÐGÓH€DØ×&Ñ& tÓ,€Ià× Ñ  §¡¨yÓ9€FØ�_‰_˜U×-Ñ-Ó/°Ñ2´B×4JÑ4JÓ4LÓM€FØ�?‰?Ó×#Ñ#¤B§H¡HªY¼R¿Y¹Y»[Ô$IÔJÐJÑJr?   c                  óÐ  — dd l m}  | j                  «       }|j                  dt	        j
                  «       «       |j                  dt	        j                  «       «       |j                  dt	        j                  «       «       |j                  dt	        j                  «       «       |j                  dt	        j                  «       «       |j                  dt	        j                  «       «       |j                  dt	        j                  «       «       |j                  dt	        j                  «       «       |j                  d	t	        j                  «       «       |j                  d
t	        j                  «       «       |j                  dt	        j                  «       «       |j                  dt	        j                   «       «       |j                  dt	        j"                  «       «       |j                  dd«       |j                  dd«       |j                  dd«       |j                  dd«       |j                  dd«       |j                  dd«       |j                  dd«       |j                  dd«       |j                  d	d«       |j                  d
d«       |j                  dd«       |j                  dd«       |j                  dd«       t%        j&                  t(        «      5  |j                  dt	        j                  «       «       d d d «       t%        j&                  t(        «      5  |j                  dd «       d d d «       y # 1 sw Y   Œ>xY w# 1 sw Y   y xY w)Nr   Tr`   ra   rb   rc   r   re   é   g       @g      "@Úhellos   worldÚboolÚuint8Úuint16rS   Úuint64Úint8Úint16r   rj   Úfloat32rG   rh   rr   )r   r   r   rO   r   r!   r’   r“   rS   r”   r•   r–   r   rj   r—   rG   rh   rr   ÚpytestÚraisesÚ	TypeError)r   r/   s     r=   Útest_literalsr›   ÿ   sn  € å%à×%Ñ%Ó'€Gà×Ñ˜œrŸx™x›zÔ*Ø×Ñ˜œBŸH™H›JÔ'Ø×Ñ˜œBŸI™I›KÔ(Ø×Ñ˜œBŸI™I›KÔ(Ø×Ñ˜œBŸI™I›KÔ(Ø×Ñ˜œBŸG™G›IÔ&Ø×Ñ˜œBŸH™H›JÔ'Ø×Ñ˜œBŸH™H›JÔ'Ø×Ñ˜œBŸH™H›JÔ'Ø×Ñ˜œbŸj™j›lÔ+Ø×Ñ˜œbŸj™j›lÔ+Ø×Ñ˜¤"§)¡)£+Ô.Ø×Ñ˜¤2§9¡9£;Ô/à×Ñ˜˜vÔ&Ø×Ñ˜˜GÔ$Ø×Ñ˜˜HÔ%Ø×Ñ˜˜HÔ%Ø×Ñ˜˜HÔ%Ø×Ñ˜˜FÔ#Ø×Ñ˜˜GÔ$Ø×Ñ˜˜GÔ$Ø×Ñ˜˜GÔ$Ø×Ñ˜˜iÔ(Ø×Ñ˜˜iÔ(Ø×Ñ˜ (Ô+Ø×Ñ˜ 8Ô,ä	�‰”yÓ	!ñ 2Ø×Ñ˜W¤b§h¡h£jÔ1÷2ä	�‰”yÓ	!ñ )Ø×Ñ˜T 4Ô(÷)ð )÷2ð 2ú÷)ð )ús   Ë.%MÌ4MÍMÍM%c                  óR  — dd l m}  g d¢}t        j                  |t        j                  «       ¬«      }t        j
                  j                  |gdg¬«      }| j                  «       }|j                  |j                  j                  d«      «      }|j                  dt        j                  «       «      }|j                  d||gt        j                  «       «      }t        j                  dt        j                  «       «      }|j                  ||«      }	| j                  |j                  |	gt        j                   «       «      }
|
j#                  |j%                  «       d   «      \  }t        j                  g d	¢t        j                  «       ¬«      }|j'                  |«      sJ ‚y )
Nr   )ÚparkÚsparklezbright spark and fireÚsparkr   r   r   z%spark%Úliker   )FTTT)r   r   r   r*   rh   rF   r,   r   r   r   r   rO   r    r!   r#   r&   r'   r-   rH   r.   )r   ÚelementsÚdatarI   r/   r3   Úregexr    r2   r7   r9   r<   r   s                r=   Ú
test_regexr¤   '  s7  € å%âD€HÜ�8‰8�H¤2§9¡9£;Ô/€DÜ�H‰H× Ñ  $ °¨uÐ Ó5€Eà×%Ñ%Ó'€GØ×Ñ §¡× 2Ñ 2°3Ó 7Ó8€FØ× Ñ  ¬B¯I©I«KÓ8€EØ× Ñ  ¨&°%¨¼"¿(¹(»*ÓE€Dä—8‘8˜C¤§¡£Ó,€LØ×"Ñ" 4¨Ó6€Dà×&Ñ&Ø�‰�t�fœb×4Ñ4Ó6ó8€Ið 
×	Ñ	˜E×,Ñ,Ó.¨qÑ1Ó	2�B€AÜ
�‰Ò*´·±³Ô<€AØ�8‰8�AŒ;Ð‰;r?   c                  óö   — dd l m}  | j                  «       }t        |d   j	                  «       «      t
        j                  u sJ ‚t        |d   j                  «       «      t        u sJ ‚t        |d   d«      sJ ‚y )Nr   Úname)
r   r   Ú"get_registered_function_signaturesr   r   r   ÚDataTypeÚparam_typesrv   Úhasattr)r   Ú
signaturess     r=   Ú'test_get_registered_function_signaturesr¬   ?  sk   € å%Ø×;Ñ;Ó=€Jä�
˜1‘×)Ñ)Ó+Ó,´·±Ñ;Ð;Ð;Ü�
˜1‘×)Ñ)Ó+Ó,´Ñ4Ð4Ð4Ü�:˜a‘= &Ô)Ð)Ñ)r?   c                  ó˜  — dd l m}  t        j                  «       }t        j                  g d¢t        j
                  «       «      }t        j                  g d¢t        j
                  «       «      }t        j                  g d¢t        j
                  «       «      }t        j                  j                  |||gg d¢«      }t        j                  dt        j
                  «       «      }| j                  «       }|j                  |j                  j                  d«      «      }|j                  |j                  j                  d«      «      }	|j                  |j                  j                  d	«      «      }
|j                  d
||	gt        j                  «       «      }|j                  |«      }|j                  d|	|
gt        j                  «       «      }|j                  ||	|
t        j
                  «       «      }|j!                  ||«      }| j#                  |j                  |«      }| j%                  |j                  |g|d«      }|j'                  |j)                  «       d   |«      }|j'                  |j)                  «       d   |«      \  }t        j                  g d¢t        j
                  «       «      }|j+                  |«      sJ ‚y )Nr   )r   r   r   r   é   é   )r   r   r   r   r   rb   )r`   é   é   é   éëÿÿÿN)r   r   rE   r   r   r   rE   r   rM   ÚUINT32)r`   r³   N)r   r   r   r'   r*   r   rF   r,   r   r   r   r   r    r!   rP   r"   r#   rQ   r&   r-   rH   r.   )r   ÚmpoolÚarray0Úarray1Úarray2rI   r2   r/   r3   r4   Únode_cÚgreater_than_functionÚfilter_conditionÚproject_conditionr6   r7   rW   r9   Úselection_vectorr<   Úexps                        r=   Útest_filter_projectr¿   I  s/  € å%Ü×"Ñ"Ó$€Eä�X‰XÒ.´·±³
Ó;€FÜ�X‰XÒ,¬b¯h©h«jÓ9€FÜ�X‰XÒ0´"·(±(³*Ó=€Fä�H‰H× Ñ  &¨&°&Ð!9º?ÓK€Eä—8‘8˜E¤2§8¡8£:Ó.€Là×%Ñ%Ó'€GØ×Ñ §¡× 2Ñ 2°3Ó 7Ó8€FØ×Ñ §¡× 2Ñ 2°3Ó 7Ó8€FØ×Ñ §¡× 2Ñ 2°3Ó 7Ó8€Fà#×1Ñ1°.Ø39¸6Ð2BÄBÇHÁHÃJóPÐà×-Ñ-ØóÐð  ×-Ñ-¨kØ/5°vÐ.>ÄÇÁÃ
óLÐà�o‰oÐ/Ø$ f¬b¯h©h«jó:€Gà×"Ñ" 7¨LÓ9€Dð × Ñ  §¡Ð/?Ó@€Fð ×&Ñ&Ø�‰�t�f˜e Xó/€Ið —‘ u×'7Ñ'7Ó'9¸!Ñ'<¸eÓDÐð 
×	Ñ	Ø×ÑÓ˜1ÑÐ/ó
1�B€Aô �(‰(’>¤2§8¡8£:Ó
.€CØ�8‰8�CŒ=Ð‰=r?   c            	      ó²  — dd l m}  | j                  «       }t        |j	                  dt        j                  «       «      «      j                  d«      sJ ‚t        |j	                  dt        j                  «       «      «      dk(  sJ ‚t        |j                  t        j                  dt        j                  «       «      «      «      dk(  sJ ‚t        |j                  t        j                  dt        j                  «       «      «      «      d	k(  sJ ‚|j                  t        j                  d
t        j                  «       «      «      }|j                  d|gt        j                  «       «      }t        |«      dk(  sJ ‚|j                  t        j                  dt        j                  «       «      «      }|j                  ||g«      }t        |«      dk(  sJ ‚y )Nr   rB   z(const double) 2 raw(ra   z(const int64) 2Úxz
(double) xÚyz
(string) yÚzÚnotzbool not((bool) z)zbool not((bool) z) && (bool) y)r   r   r   ÚstrrO   r   rG   Ú
startswithrj   r   r   rh   r!   r    r‡   )r   r/   Úfield_zÚ	func_nodeÚfield_yÚand_nodes         r=   Útest_to_stringrË   x  sh  € å%Ø×%Ñ%Ó'€Gäˆw×#Ñ# C¬¯©«Ó6ó ß‘Ð3Ó4ð5ð 5ð 5äˆw×#Ñ# A¤r§x¡x£zÓ2Ó3Ð7HÒHÐHÐHÜˆw×!Ñ!¤"§(¡(¨3´·
±
³Ó"=Ó>Ó?À<ÒOÐOÐOÜˆw×!Ñ!¤"§(¡(¨3´·	±	³Ó"<Ó=Ó>À,ÒNÐNÐNà× Ñ ¤§¡¨#¬r¯x©x«zÓ!:Ó;€GØ×%Ñ% e¨g¨Y¼¿¹»
ÓC€IÜˆy‹>Ð1Ò1Ð1Ð1à× Ñ ¤§¡¨#¬r¯x©x«zÓ!:Ó;€GØ×Ñ ¨GÐ 4Ó5€HÜˆx‹=Ð<Ò<Ð<Ñ<r?   c                  ó\  — dd l m}  | j                  «       }t        j                  dt        j
                  «       «      }t        j                  |g«      }|j                  dt        j                  «       «      }t        j                  t        «      5  |j                  d «       d d d «       t        j                  t        «      5  |j                  |d d d «       d d d «       t        j                  t        «      5  |j                  |d g«       d d d «       t        j                  t        «      5  |j                  d |g«       d d d «       t        j                  t        «      5  |j!                  d g d¢t        j
                  «       «       d d d «       t        j                  t        «      5  |j#                  d |«       d d d «       t        j                  t        «      5  |j%                  d «       d d d «       t        j                  t        «      5  |j'                  d|d gt        j                  «       «       d d d «       t        j                  t        «      5  | j)                  |d g«       d d d «       t        j                  t        «      5  | j+                  |d «       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   �Œ”xY w# 1 sw Y   �ŒXxY w# 1 sw Y   �Œ1x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   y xY w)Nr   rÁ   T)r`   ra   rb   rM   )r   r   r   r   r   r   r   rO   r!   r˜   r™   rš   r   r"   r‡   r†   rg   r#   rP   r    r&   rQ   )r   r/   Úfield_xr   Úliteral_trues        r=   Útest_rejects_nonerÏ   Œ  ss  € å%à×%Ñ%Ó'€Gä�h‰h�sœBŸH™H›JÓ'€GÜ�Y‰Y˜�yÓ!€FØ×'Ñ'¨¬b¯h©h«jÓ9€Lä	�‰”yÓ	!ñ !Ø×Ñ˜4Ô ÷!ô 
�‰”yÓ	!ñ 8Ø�‰˜ d¨D°$Ô7÷8ô 
�‰”yÓ	!ñ /Ø×Ñ˜,¨Ð-Ô.÷/ô 
�‰”yÓ	!ñ .Ø�‰˜˜|Ð,Ô-÷.ô 
�‰”yÓ	!ñ @Ø×"Ñ" 4ª´B·H±H³JÔ?÷@ô 
�‰”yÓ	!ñ /Ø×Ñ  gÔ.÷/ô 
�‰”yÓ	!ñ %Ø×Ñ˜tÔ$÷%ô 
�‰”yÓ	!ñ MØ×Ñ˜k¨L¸$Ð+?ÄÇÁÃÔL÷Mô 
�‰”yÓ	!ñ /Ø×Ñ˜v¨ vÔ.÷/ô 
�‰”yÓ	!ñ *Ø×Ñ˜F DÔ)÷*ð *÷7!ñ !ú÷8ñ 8ú÷/ñ /ú÷.ñ .ú÷@ñ @ú÷/ñ /ú÷%ñ %ú÷Mð Mú÷/ð /ú÷*ð *úsx   ÂJ/ÃJ<Ã;K	Ä0KÅ%(K#Æ.K0Ç"K=È(L
ÉLÊL"Ê/J9Ê<KË	KËK Ë#K-Ë0K:Ë=LÌ
LÌLÌ"L+)rs   r˜   Úpyarrowr   Úmarkr   r>   rK   rX   rl   Úskipr„   r�   r›   r¤   r¬   r¿   rË   rÏ   © r?   r=   ú<module>rÔ      s’  ðó$ Û ã ð ‡�×Ññ&ó ð&ðR ‡�×Ññó ðð4 ‡�×ÑñMó ðMð. ‡�×Ññ!Nó ð!NðH ‡�×Ñð 2Ðó 3ñE*ó3ðE*ðP ‡�×ÑñKó ðKð4 ‡�×Ññ$)ó ð$)ðN ‡�×Ññó ðð. ‡�×Ññ*ó ð*ð ‡�×Ññ+ó ð+ð\ ‡�×Ññ=ó ð=ð& ‡�×Ññ%*ó ñ%*r?   