
    i                        U d dl Z d dlZd dlmZ  e j                  e      Zej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  iZeeej                      eej"                     f   ed<   ej                  ej                  ej                  ej                  fZdedeej"                     dz  fdZ	 	 ddej                   dej                   d	ed
edeej"                  ej0                  f   dz  f
dZdej                   dej                   d
edej                   fdZy)    N)FloorDiv_MIRROR_REL_OPtypereturnc                 ,    t         j                  |       S N)r   get)r   s    R/var/www/html/engine/venv/lib/python3.12/site-packages/torch/utils/_sympy/solve.pymirror_rel_opr      s    d##    exprthingtrialsfloordiv_inequalityc                    t        t        |             }t        | t        j                        r| t
        j                  dt        |              y | j                  j                  |      }| j                  j                  |      }|r|rt
        j                  d||        y g }|r|j                  |        |r,|j                   || j                  | j                               |D ]  }|t        |t        j                        st        d      t        |      D ]  }	t        |||      }
|
|k(  r n|
} t        |t        j                        sm|j                  |k(  s}t
        j                  d| |       ||j                  fc S  y )Nz$expression with unsupported type: %sz0thing (%s) found in both sides of expression: %szexpected sympy.Rel)r   zsolved: %s ---> %s)r   r   
isinstancesympyRellogdebuglhshasrhsappendAssertionErrorrange_try_isolate_lhs)r   r   r   r   mirrorlhs_has_thingrhs_has_thingexpressionse_trials              r
   	try_solver%   (   sT    4:&F
 dEII&&.		8$t*EHHLL'MHHLL'M
 		DeTR K 4 6$((DHH56 9!UYY' !566v 	A$QCVWEzA	 a#II*D!4aee8O#& r   r"   c                  	   t        |       }t        | t        j                        rqt        | j                  t        j
                        r(t        fd| j                  j                  D              nd} || j                  |z
  | j                  |z
        } t        | t        j                        rt        | j                  t        j                        r| j                  \  }}t        j                  |j                  D cg c]  }|j                        r| c} }t        | t              r|j                  ct        | t              s|j                  sG||z  }||z  }t        | t              r|j                  rt        |      }|t        d       |||      } |rt        | t        j                        rt        | j                  t               r| j                  j"                  j$                  r| j                  j&                  rht        | t        j(                        rt| j                  j                  \  }	}
t        j*                  t        j,                  |	| j                  |
z        t        j.                  |	| j                  dz   |
z              S t        | t        j0                        rt| j                  j                  \  }	}
t        j2                  t        j.                  |	| j                  |
z        t        j,                  |	| j                  dz   |
z              S t        | t        j4                  t        j,                  f      r|t        | t        j,                        r| j                  n| j                  dz   }t        j,                  | j                  j                  d   || j                  j                  d   z        S t        | t        j.                  t        j6                  f      r|t        | t        j.                        r| j                  n| j                  dz   }t        j.                  | j                  j                  d   || j                  j                  d   z        S | S c c}w )Nc              3   F   K   | ]  }|j                        r|  y wr   )r   ).0ar   s     r
   	<genexpr>z#_try_isolate_lhs.<locals>.<genexpr>i   s     :aQUU5\:s   !!r   zexpected op to be not None   )r   r   r   r   r   Addsumargsr   Mulr   INEQUALITY_TYPESis_negativeis_zeror   r   r   divisoris_positive
is_integerEqAndGeLtNeOrGtLe)r"   r   r   oplhs_not_thingr   r   r)   other	numeratordenominatorquotients    `          r
   r   r   a   s     
aB!UYY !%%+ :155:::: 	
 quu}$aeem&;< !UYYJquueii$@66S		sxxD!quuU|ADE
 1./E4E4E4M1./CKK +C+C !-.53D3D"2&z$%ABB3A 	q%))$quuh'EEMM%%EE a"%&UUZZ"I{99QUU[%8:aeeai;%>@  a"%&UUZZ"I{88QUU[%8:aeeai;%>@  a%((EHH-. *1ehh 7quuaeeaiH88AEEJJqMHquuzz!},DFF a%((EHH-. *1ehh 7quuaeeaiH88AEEJJqMHquuzz!},DFFHC Es   Q;Q;)   T)loggingr   torch.utils._sympy.functionsr   	getLogger__name__r   r6   r:   r8   r=   r<   r9   r   dictr   Basicr   __annotations__r0   r   intbooltupleExprr%   r    r   r
   <module>rQ      sm     1 g! 
HHehh	HHehh	HHehh	HHehh	HHehh	HHehh<T%++&UYY78  HHehh%((; $ $eii4!7 $*  $	6
++6;;6 6 	6
 599ejj !D(6rR{{R ;;R=AR
[[Rr   