
    CdL                       d dl mZ d dlmZmZmZmZmZmZ d dl	m
Z
mZ d Zd Zd Zd ZdZ ee
d	d
fed	fe          Z ee
d	d	fed	fe          Z ee
ed	fed	ffe
ed	fdfe          Z ee
edfed	ffe
e
d	dfdfe          Z eeg dfe
e
d	dfdfe          Zd Z eedfed          Zd Zd ZeeeeeegZ ee Zd Zd Zd Z dS )    )annotations)VARRewriteRuleRuleSet	Traverserargshead)addincc                    | dz  S )N    xs    7lib/python3.11/site-packages/dask/tests/test_rewrite.pydoubler      s    q5L    c                 $   t          t          df          t          k    sJ t          t          ddf          t          k    sJ t          t          t          dft          dff          t          k    sJ t          g d          t          k    sJ d S N   r   r   r      )r	   r   r
   listr   r   r   	test_headr      s    a>>S    a####sAha)**c1111			??d""""""r   c                     t          t          df          dk    sJ t          t          ddf          dk    sJ t          d          dk    sJ t          g d          g dk    sJ d S )Nr   )r   r   )r   r   r   r   )r   r   r
   r   r   r   	test_argsr      st    a>>T!!!!a&&&&77b====			??iii''''''r   c                    t           t          dft          t          dfdff} t          |           }|                                }|j        t           k    sJ |                                 |j        t          k    sJ |j        t           k    sJ |                                 |j        t          k    sJ |                                 |j        t          k    sJ t          |          t           t          dt          t          ddgk    sJ d S )Nr   r   )	r
   r   r   r   copycurrentnextskipr   )termtt2s      r   test_traverserr%      s    #qFS!Ha01D$A	
B9FFHHH9:FFHHH9FFHHH988S!VS!Q7777777r   abcr'   r   r   r(   r)   r(   r'   r)   c                R    | d         }t          |t                    r|S t          |fS )Nr   )
isinstancer   )sdr   s     r   	repl_listr.   7   s,    
3A!T ayr   r   r   c                    t           j        dk    sJ t           j        dgk    sJ t          j        dk    sJ t          j        ddgk    sJ t          j        dk    sJ t          j        ddgk    sJ t
          j        dk    sJ t
          j        ddgk    sJ t          j        dk    sJ t          j        g dk    sJ d S )N)r'   r'   r'   r(   r(   r&   r*   )rule1vars_varlistrule2rule3rule4rule5r   r   r   test_RewriteRuler8   B   s    :>cU"""":>c3Z'''':>c3Z'''':####>c3Z'''':((((>___,,,,,,r   c                     t                               ddi          t          dfk    sJ t                              dg di          g dk    sJ d S )Nr'   r   r   r   )r1   subsr   rule6r   r   r   test_RewriteRuleSubsr<   P   sW    ::sAhC8++++::sIII&''999444444r   c                 p   t           t          t          i dgfdi dgfig ft          t          t          t          i ddgfig fig fig fig ft          t          i dgfig ft          t          t          t          t          i dgfig fig fig fig fig f} t
          j        | k    sJ t
          j        t          k    sJ d S )Nr   r   r   r         )r
   r   r   r   sumrs_netrules)nets    r   test_RuleSetrE   Z   s     3aS	1rA3i8"=3#rAq6l(;R'@!A2 FGL  C"qc#R(43#rA3i(8"'=!> CDbIJBO
	
 	C 7c>>>>8ur   c                 6   t           ddf} t          t                              |                     }t	          |          dk    sJ |d         t
          ddifk    sJ t           ddf} t          t                              |                     }t	          |          dk    sJ |d         t
          ddifk    sJ |d         t          ddifk    sJ t           dgdgf} t          t                              |                     }t	          |          dk    sJ |d         t          ddgifk    sJ t           t          dft          dff} t          t                              |                     }t	          |          dk    sJ |d         t          ddifk    sJ |d         t          dddfk    sJ |d         t          dt          dfifk    sJ t           ddf} t          t                              |                     }t	          |          dk    sJ d S )Nr   r   r   r'   r   r0   )
r
   r   rA   iter_matcheslenr1   r4   r   r5   r6   )r"   matchess     r   test_matchesrJ   m   s   A;D2??4(())Gw<<11:%#q*****A;D2??4(())Gw<<11:%#q*****1:%#q***** !qc?D2??4(())Gw<<11:%#s,,,,,#qC8$D2??4(())Gw<<11:%#q*****1:%qq!1!1222221:%#Qx11111A;D2??4(())Gw<<1r   c                 $   t           t          ddft          ddft          ddfgf} t                              |           }|t          t          t          dft          dfft          dffk    sJ t                              |          }|t          t          t
          dfdft          dffk    sJ t          t          t          t          ddft          ddfft          t          ddft          ddfffdf} t                              |           t          t
          t
          t          ddffffk    sJ t          g df} t                              |           g dk    sJ t          t          t          g dff} t                              |           | k    sJ d S r   )r@   r
   rA   rewriter   r   r   map)r"   new_terms     r   test_rewriterO      sq   31+Q{S!QK89Dzz$HcC8c1X6aAAAAAzz(##HcFA;2S!H=====	sS!QK#q!-c1a[31+/NO	D
 ::dfvQ{.C%DEEEEE)))D::dyyy((((3YYY'(D::dt######r   N)!
__future__r   dask.rewriter   r   r   r   r   r	   dask.utils_testr
   r   r   r   r   r%   r2   r1   r4   r5   r6   r@   r7   r.   r   r;   r8   r<   rC   rA   rE   rJ   rO   r   r   r   <module>rS      s   " " " " " " I I I I I I I I I I I I I I I I $ $ $ $ $ $ $ $  # # #( ( (8 8 8  S#qMC:t44S#sOfc]D99S3*sCj1C&#3JDQQS3*sCj1C#sC!3LdSSS///*S3S/3,GNN   	T3KF33- - -5 5 5 
ueUE2We_  &  <$ $ $ $ $r   