
    sg                        U d dl Z d dlmZmZmZm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ej(                        fdZ	 	 ddej&                  d	ej&                  d
ededeeej(                  ej&                  f      f
dZdej&                  d	ej&                  dedej&                  fdZy)    N)DictOptionalTupleType)FloorDiv_MIRROR_REL_OPtypereturnc                 .    t         j                  | d       S N)r   get)r	   s    K/var/www/html/venv/lib/python3.12/site-packages/torch/utils/_sympy/solve.pymirror_rel_opr      s    dD))    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J t        |      D ]  }	t        |||      }
|
|k(  r n|
} t        |t        j                        sd|j                  |k(  stt
        j                  d| |       ||j                  fc S  y )Nz$expression with unsupported type: %sz0thing (%s) found in both sides of expression: %s)r   zsolved: %s ---> %s)r   r	   
isinstancesympyRellogdebuglhshasrhsappendrange_try_isolate_lhs)r   r   r   r   mirrorlhs_has_thingrhs_has_thingexpressionse_trials              r   	try_solver(   )   sN    4:&F
 dEII&&.		8$t*EHHLL'MHHLL'M
 		DeTR K 4 6$((DHH56 9!UYY'''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                  >||z  }||z  }t        | t              r|j                  rt        |      }|J  |||      } |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        j,                        rt| j                  j                  \  }	}
t        j.                  t        j*                  |	| j                  |
z        t        j(                  |	| j                  dz   |
z              S t        | t        j0                  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        j2                  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      )r	   r   r   r   r   Addsumargsr   Mulr   INEQUALITY_TYPESis_negativer   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+C+C !-.53D3D"2&>!>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H{ Es   QQ)   T)loggingtypingr   r   r   r   r   torch.utils._sympy.functionsr   	getLogger__name__r   r8   r<   r:   r?   r>   r;   r   Basicr   __annotations__r3   r   intboolr(   r     r   r   <module>rQ      ss    . .  1 g! 
HHehh	HHehh	HHehh	HHehh	HHehh	HHehh<T%++&UYY78  HHehh%((; * *$uyy/!: **  $	5
++5;;5 5 	5
 eEIIu{{*+,5pN{{N ;;N=AN
[[Nr   