
    Xh                     
   d Z ddddddddd	d
dddddZi ded         ded         ded         ded         ded         ded         ded         ded         ded         ded         ded         ded         ded         ded         ded          d!ed          d"ed         ed          ed          ed         ed          ed          ed          d#Zd$ Zd% Zd& Zd' Zd( Zd) Zd* Z	eeeeeee	d+Z
d, Ze                                Zed          ed-<   ed          ed.<   ed          ed/<   ed          ed0<   ed          ed1<   ed          ed2<   ed         ed3<   ed         ed4<   ed          dz
  ed5<   ed          dz
  ed6<   ed          dz
  ed7<   ed          dz
  ed8<   ed          dz
  ed9<   ed          dz
  ed:<   ed         ed;<   ed         ed<<   ed         ed=<   ed         ed><   ed         ed?<   ed5         ed@<   dA ZdBS )Cz>A module providing information about the necessity of brackets   
         #   (   2   <   F   d   i  $   %   &   )LambdaXorOrAnd
RelationalAddMulPowFuncNotAtom	BitwiseOr
BitwiseXor
BitwiseAnd
Equivalentr   Impliesr   r   r   r   r   Subr   Functionr   NegativeInfinityMatAddMatPowMatrixSolver   ModTensAdd)TensMulHadamardProductHadamardPowerKroneckerProductEquality
Unequalityc                     ddl m t          fd| j        D                       rt          d         S |                                 rt          d         S t          d         S )N    )r    c              3      K   | ]:}t          |d           o%t          |          o|j        t          d         k     V  ;dS )
precedencer   N)hasattr
isinstancer0   
PRECEDENCE).0argr    s     k/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/sympy/printing/precedence.py	<genexpr>z!precedence_Mul.<locals>.<genexpr>?   sn       D D25 3%% .*S(*C*C .>Ju--D D D D D D    r   r   )sympy.core.functionr    anyargsr3   could_extract_minus_sign)itemr    s    @r6   precedence_Mulr>   =   s    ,,,,,,
 D D D D9=D D D D D !%  $$&& !%  er8   c                 L    | j         dk     rt          d         S t          d         S )Nr.   r   r   pr3   r=   s    r6   precedence_RationalrC   H   s#    vzz%  er8   c                 L    | j         dk     rt          d         S t          d         S Nr.   r   r   r@   rB   s    r6   precedence_IntegerrF   N   s#    vzz%  fr8   c                 B    | dk     rt           d         S t           d         S rE   )r3   rB   s    r6   precedence_FloatrH   T   s!    axx%  fr8   c                     | j         rt          d         S | j        r"t          |                     d                    S | j        rt          d         S t          d         S )Nr   r   r   r   )is_generatorr3   	is_groundr0   coeffis_termrB   s    r6   precedence_PolyElementrN   Z   sZ     !&!!	 !$**Q--(((	 !%  %  r8   c                 Z    | j         dk    rt          | j                  S t          d         S )Nr   r   )denomrN   numerr3   rB   s    r6   precedence_FracElementrR   e   s(    zQ%dj111%  r8   c                 <    t          | j        d                   dz
  S )Nr.   g      ?)r0   r;   rB   s    r6   precedence_UnevaluatedExprrT   l   s    dil##c))r8   )Integerr   RationalFloatPolyElementFracElementUnevaluatedExprc                 :   t          | d          r| j        S t          | t                    sct          |                                           D ]A}|j        }|t          v rt          |         |           c S |t          v rt          |         c S Bt          d         S )zZReturns the precedence of a given object.

    This is the precedence for StrPrinter.
    r0   r   )	r1   r0   r2   typemro__name__PRECEDENCE_FUNCTIONSPRECEDENCE_VALUESr3   )r=   ins      r6   r0   r0   {   s    
 t\"" dD!! ,d!! 	, 	,A
A(((+A.t44444'''(++++ (fr8   IntegralSumProductLimit
DerivativeTensorProduct	TransposeAdjointDotCrossGradient
DivergenceCurl	LaplacianUnionIntersection
ComplementSymmetricDifference
ProductSet
DotProductc                     ddl m} t          | |          rt          | j        d                   S | j        j        }|t          v rt          |         S t          |           S )zReturns the precedence of a given object according to the
    traditional rules of mathematics.

    This is the precedence for the LaTeX and pretty printer.
    r.   )rZ   )	sympy.core.exprrZ   r2   precedence_traditionalr;   	__class__r^   PRECEDENCE_TRADITIONALr0   )r=   rZ   rb   s      r6   ry   ry      sk     0/////$(( 4%dil333A"""%a((dr8   N)__doc__r3   r`   r>   rC   rF   rH   rN   rR   rT   r_   r0   copyr{   ry    r8   r6   <module>r      s   D D
 
 
**U#	:e z%  	*T
	
 
:e 
:e 
:e *\* 
:e 
:e F# 
5) j j :e$  
:e!" z% #& % !%(&"5)5!U#1   F        ! ! !! ! !* * *
 "#))1    " $** %/%6 z " *5 1 u $.u$5 y !",U"3 w '1%'8 | $*4U*;  '&0&7 { #$.u$5 y ! *5 1A 5 u ",U"3a"7 w %/%6%: z "'1%'81'< | $!+E!2Q!6 v &0&7!&; { #",U"3 w )3E): ~ &'1%'8 | $0:50A , -'1%'8 | $'=e'D | $    r8   