
    ϑi                       S SK Jr  S SKJr  S SKrSSKJr  \(       a  SSKJr   " S S5      r	 " S	 S
\	5      r
 " S S\	5      r " S S\	5      r " S S\
5      r " S S\
5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S \5      r " S! S"\5      r " S# S$\5      r " S% S&\5      r " S' S(\5      r " S) S*\5      r " S+ S,\5      r " S- S.\5      r " S/ S0\5      r " S1 S2\5      r " S3 S4\5      r " S5 S6\5      r  " S7 S8\5      r! " S9 S:\5      r" " S; S<\5      r# " S= S>\5      r$g)?    )annotations)TYPE_CHECKINGN   )
InnerErrorStringifiedExpressionc                  B    \ rS rSrSS jr    SS jr    S	S jrSrg)
ConstraintNode   c                    Xl         g Ninputs)selfr   s     i/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/paddle/jit/sot/symbolic_shape/constraints.py__init__ConstraintNode.__init__   s        c                    [         er   )NotImplementedErrorr   extern_varss     r   create_guard_expr ConstraintNode.create_guard_expr   s
     "!r   c                F    [        U R                  R                   S35      e)Nz%.create_guard_node is not implemented)r   	__class____name__r   s     r   create_guard_node ConstraintNode.create_guard_node$   s'     "~~&&''LM
 	
r   r   N)r   zlist[ConstraintNode]r   z dict[str, StringifiedExpression]returnr   r   z-dict[str, paddle.framework.core.ExprNodeBase]r!   z"paddle.framework.core.ExprNodeBase)r   
__module____qualname____firstlineno__r   r   r   __static_attributes__ r   r   r
   r
      s1    ";"	"

H
	+
r   r
   c                  (   ^  \ rS rSrU 4S jrSrU =r$ )LeafConstraintNode,   c                $   > [         TU ]  / 5        g r   )superr   )r   r   s    r   r   LeafConstraintNode.__init__-   s    r   r'   )r   r#   r$   r%   r   r&   __classcell__r   s   @r   r)   r)   ,   s     r   r)   c                  f   ^  \ rS rSr% S\S'   S	U 4S jjrS
S jr    SS jr    SS jrSr	U =r
$ )UnaryConstraintNode1   strREADABLE_SYMBOLc                2   > [         TU ]  U/5        Xl        g r   )r,   r   input)r   r6   r   s     r   r   UnaryConstraintNode.__init__4   s    %!
r   c                N    U R                   R                   SU R                   S3$ N())r   r   r6   r   s    r   __repr__UnaryConstraintNode.__repr__8   $    ..))*!DJJ<q99r   c                    SSK JnJn  U R                  R	                  U5      nU" U R
                   S3U/U" UR                  5      5      $ )Nr   r   union_free_varsz({})) opcode_translator.executor.guardr   rB   r6   r   r4   	free_vars)r   r   r   rB   r6   s        r   r   %UnaryConstraintNode.create_guard_expr;   sL    	

 

,,[9$##$F+GEOO,
 	
r   c                    U R                   R                  U5      n[        R                  R                  R                  X R                  5      $ r   )r6   r   paddle	frameworkcoreUnaryExprNoder4   )r   r   r6   s      r   r   %UnaryConstraintNode.create_guard_nodeJ   s;     

,,[9$$225:N:NOOr   )r6   )r6   r
   )r!   r3   r    r"   )r   r#   r$   r%   __annotations__r   r=   r   r   r&   r.   r/   s   @r   r1   r1   1   sF    :
;
	
PHP	+P Pr   r1   c                  b   ^  \ rS rSr% S\S'   S	U 4S jjr    S
S jr    SS jrS rSr	U =r
$ )BinaryConstraintNodeQ   r3   r4   c                >   > [         TU ]  X/5        Xl        X l        g r   )r,   r   lhsrhs)r   rQ   rR   r   s      r   r   BinaryConstraintNode.__init__T   s    #$r   c                    SSK JnJn  U R                  R	                  U5      nU R
                  R	                  U5      nU" SU R                   S3XE/U" UR                  UR                  5      5      $ )Nr   rA   z({} z {}))rC   r   rB   rQ   r   rR   r4   rD   )r   r   r   rB   rQ   rR   s         r   r   &BinaryConstraintNode.create_guard_exprY   sh    	

 hh((5hh((5$T))*&1JCMM3==9
 	
r   c                    U R                   R                  U5      nU R                  R                  U5      n[        R                  R
                  R                  X#U R                  5      $ r   )rQ   r   rR   rG   rH   rI   BinaryExprNoder4   )r   r   rQ   rR   s       r   r   &BinaryConstraintNode.create_guard_nodei   sV     hh((5hh((5$$33d**
 	
r   c                h    U R                   R                   SU R                   SU R                   S3$ )Nr:   z, r;   )r   r   rQ   rR   r<   s    r   r=   BinaryConstraintNode.__repr__r   s.    ..))*!DHH:RzCCr   )rQ   rR   )rQ   r
   rR   r
   r    r"   )r   r#   r$   r%   rL   r   r   r   r=   r&   r.   r/   s   @r   rN   rN   Q   sD    

;
	
 
H
	+
D Dr   rN   c                  R   ^  \ rS rSrU 4S jr    SS jr    SS jrS rSrU =r	$ )	ConstantConstraintNodev   c                .   > [         TU ]  5         Xl        g r   )r,   r   value)r   r_   r   s     r   r   ConstantConstraintNode.__init__w   s    
r   c                :    SSK Jn  U" U R                  < / 0 5      $ )Nr   r   )rC   r   r_   )r   r   r   s      r   r   (ConstantConstraintNode.create_guard_expr{   s    	
 %

~B??r   c                h    [         R                  R                  R                  U R                  5      $ r   )rG   rH   rI   ConstantExprNoder_   r   s     r   r   (ConstantConstraintNode.create_guard_node   s%     $$55djjAAr   c                N    U R                   R                   SU R                   S3$ r9   )r   r   r_   r<   s    r   r=   ConstantConstraintNode.__repr__   r?   r   )r_   r    r"   
r   r#   r$   r%   r   r   r   r=   r&   r.   r/   s   @r   r\   r\   v   sB    @;@	@BHB	+B
: :r   r\   c                  V   ^  \ rS rSrSU 4S jjr    SS jr    S	S jrS rSrU =r	$ )
SymbolicConstraintNode   c                .   > [         TU ]  5         Xl        g r   )r,   r   name)r   rm   r   s     r   r   SymbolicConstraintNode.__init__   s    	r   c                    SSK JnJn  U R                  U;  a  [	        SU R                   S35      eU" SXR                     /U" XR                     R
                  5      5      $ )Nr   rA   Symbolic variable  not found in extern_vars.z{})rC   r   rB   rm   r   rD   )r   r   r   rB   s       r   r   (SymbolicConstraintNode.create_guard_expr   sg    	

 99K'$TYYK/IJ  %#$K		2<<=
 	
r   c                p    U R                   U;  a  [        SU R                    S35      eXR                      $ )Nrp   rq   )rm   r   r   s     r   r   (SymbolicConstraintNode.create_guard_node   s=     99K'$TYYK/IJ  99%%r   c                N    U R                   R                   SU R                   S3$ r9   )r   r   rm   r<   s    r   r=   SymbolicConstraintNode.__repr__   s$    ..))*!DII;a88r   )rm   )rm   r3   r    r"   rh   r/   s   @r   rj   rj      s<    
;
	
$&H&	+&9 9r   rj   c                      \ rS rSrSrSrg)NegativeConstraintNode   -r'   Nr   r#   r$   r%   r4   r&   r'   r   r   rx   rx          Or   rx   c                      \ rS rSrSrSrg)BitwiseNotConstraintNode   ~r'   Nr{   r'   r   r   r~   r~      r|   r   r~   c                      \ rS rSrSrSrg)AddConstraintNode   +r'   Nr{   r'   r   r   r   r      r|   r   r   c                      \ rS rSrSrSrg)SubConstraintNode   rz   r'   Nr{   r'   r   r   r   r      r|   r   r   c                      \ rS rSrSrSrg)MulConstraintNode   *r'   Nr{   r'   r   r   r   r      r|   r   r   c                      \ rS rSrSrSrg)TrueDivConstraintNode   /r'   Nr{   r'   r   r   r   r      r|   r   r   c                      \ rS rSrSrSrg)FloorDivConstraintNode   z//r'   Nr{   r'   r   r   r   r          Or   r   c                      \ rS rSrSrSrg)ModConstraintNode   %r'   Nr{   r'   r   r   r   r      r|   r   r   c                      \ rS rSrSrSrg)PowConstraintNode   z**r'   Nr{   r'   r   r   r   r      r   r   r   c                      \ rS rSrSrSrg)BitwiseLShiftConstraintNode   z<<r'   Nr{   r'   r   r   r   r      r   r   r   c                      \ rS rSrSrSrg)BitwiseRShiftConstraintNode   z>>r'   Nr{   r'   r   r   r   r      r   r   r   c                      \ rS rSrSrSrg)BitwiseAndConstraintNode   &r'   Nr{   r'   r   r   r   r      r|   r   r   c                      \ rS rSrSrSrg)BitwiseOrConstraintNode   |r'   Nr{   r'   r   r   r   r      r|   r   r   c                      \ rS rSrSrSrg)BitwiseXorConstraintNode   ^r'   Nr{   r'   r   r   r   r      r|   r   r   c                      \ rS rSrSrSrg)LogicalToBoolConstraintNode   boolr'   Nr{   r'   r   r   r   r      s    Or   r   c                      \ rS rSrSrSrg)LogicalNotConstraintNode   notr'   Nr{   r'   r   r   r   r      s    Or   r   c                      \ rS rSrSrSrg)EqualConstraintNode   z==r'   Nr{   r'   r   r   r   r      r   r   r   c                      \ rS rSrSrSrg)NotEqualConstraintNode   z!=r'   Nr{   r'   r   r   r   r      r   r   r   c                      \ rS rSrSrSrg)LessThanConstraintNode   <r'   Nr{   r'   r   r   r   r      r|   r   r   c                      \ rS rSrSrSrg)LessEqualConstraintNode   z<=r'   Nr{   r'   r   r   r   r      r   r   r   c                      \ rS rSrSrSrg)GreaterThanConstraintNodei  >r'   Nr{   r'   r   r   r   r     r|   r   r   c                      \ rS rSrSrSrg)GreaterEqualConstraintNodei  z>=r'   Nr{   r'   r   r   r   r     r   r   r   )%
__future__r   typingr   rG   utils.exceptionsr   rC   r   r
   r)   r1   rN   r\   rj   rx   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r'   r   r   <module>r      s   #    )H
 
" 
P. P@"D> "DJ:/ :.!9/ !9H0 2 , , , 0 1 , , "6 "6 3 2 3 "5 2 . 1 1 2  4 !5 r   