
    QVjiv                     j    d dl T d dlZd dlmZ dgZdededefdZdededefd	Z G d
 d          Z	dS )    )*N)ConstantIntNodeNestedIntNodelhsrhsreturnc                     t          | t                    o4t          |t                    o| j        |j        k    o| j        |j        k    S N)
isinstancer   t_idcoeffr   r   s     [/root/voice-cloning/.venv/lib/python3.11/site-packages/torch/nested/_internal/nested_int.py_eqr      sJ    3&& 	#sM**	#H 	# I"	    c                    t          |t                    rDt          | t                    r/| j        |j        k    r| j        |j        k    S t	          d          t          | t                    r=|                                r|                                dk    rdS t	          d          t          |t                    r=|                                 r|                                 dk     rdS t	          d          t	          d          )Nzge: relation is indeterminate   TFzinputs unsupported)r   r   r   r   
ValueErroris_constantconstant_intr   s     r   _ger      s    #}%% /*S-*H*H /8sx9	))8999	C	'	' 	/?? 	!1!1!3!3q!8!848999	C	'	' /?? 	!1!1!3!3a!7!758999-...r   c                   Z   e Zd ZdedefdZdefdZdee         fdZdefdZ	defdZ
defd	Zdefd
ZddZdefdZdefdZdefdZdefdZdefdZdedd fdZdedefdZdedefdZdedefdZdedefdZdedefdZdedefdZdefdZdefdZdefdZdedefdZdS ) r   r   r   c                 "    || _         || _        d S r
   )r   r   )selfr   r   s      r   __init__zNestedIntNode.__init__&   s    	


r   r   c                     | j         S r
   )r   r   s    r   nested_int_coeffzNestedIntNode.nested_int_coeff*   s
    zr   c                     d S r
    r   s    r   maybe_as_intzNestedIntNode.maybe_as_int-       tr   c                     dS NTr    r   s    r   is_intzNestedIntNode.is_int0   r"   r   c                     dS NFr    r   s    r   is_floatzNestedIntNode.is_float3       ur   c                     dS r'   r    r   s    r   is_boolzNestedIntNode.is_bool6   r)   r   c                     dS r$   r    r   s    r   is_nested_intzNestedIntNode.is_nested_int9   r"   r   c                     | S r
   r    r   s    r   clonezNestedIntNode.clone<   s    r   c                 N    | j         dk    r
d| j         S | j          d| j         S )N   jz*j)r   r   r   s    r   _strzNestedIntNode._str?   s3    :??"ty??"*++	+++r   c                 *    |                                  S r
   r3   r   s    r   strzNestedIntNode.strD       yy{{r   c                 *    |                                  S r
   r5   r   s    r   __str__zNestedIntNode.__str__G   r7   r   c                 *    |                                  S r
   r5   r   s    r   __repr__zNestedIntNode.__repr__J   r7   r   c                 *    |                                  S r
   r5   r   s    r   _graph_reprzNestedIntNode._graph_reprM   r7   r   otherc                     |                                 r|                                }nt          dt          |                     t	          | j        | j        |z            S )Nzunsupported: )r   r   r   typer   r   r   r   r>   s     r   mulzNestedIntNode.mulP   s_     	<&&((EE:T%[[::;;;TY
U(:;;;r   c                 \    t           j                            t          | |                    S r
   torch_C_get_constant_bool_symnoder   rA   s     r   eqzNestedIntNode.eqW   "    x223tU3C3CDDDr   c                 ^    t           j                            t          | |                     S r
   rD   rA   s     r   nezNestedIntNode.neZ   %    x22s47G7G3GHHHr   c                 ^    t           j                            t          ||                      S r
   rE   rF   rG   r   rA   s     r   gtzNestedIntNode.gt]   s%    x22s5$7G7G3GHHHr   c                 ^    t           j                            t          | |                     S r
   rN   rA   s     r   ltzNestedIntNode.lt`   rL   r   c                 \    t           j                            t          ||                     S r
   rN   rA   s     r   lezNestedIntNode.lec   s"    x223ud3C3CDDDr   c                 \    t           j                            t          | |                    S r
   rN   rA   s     r   gezNestedIntNode.gef   rI   r   c                     dS r'   r    r   s    r   is_symboliczNestedIntNode.is_symbolici   r)   r   c                     | j         S r
   )r   r   s    r   
nested_intzNestedIntNode.nested_intl   s
    yr   c                     dS r'   r    r   s    r   r   zNestedIntNode.is_constanto   r)   r   numc                 P    t          |          t          u sJ t          |          S r
   )r@   intr   )r   r[   s     r   wrap_intzNestedIntNode.wrap_intr   s'    CyyCs###r   N)r   r   ) __name__
__module____qualname__r]   r   r   Optionalr!   boolr%   r(   r+   r-   r/   Anyr3   r6   r9   r;   r=   rB   rH   rK   rO   rQ   rS   rU   rW   rY   r   r   r^   r    r   r   r   r   %   s       S     #    hsm        $        t       ,c , , , ,
S        #    S    < < < < < <E E E E E EI I I I I II I I I I II I I I I IE E E E E EE E E E E ET    C    T    $C $O $ $ $ $ $ $r   )
typingrE   'torch.fx.experimental._constant_symnoder   __all__rd   rc   r   r   r   r    r   r   <module>rh      s         C C C C C C 
S s t    /S /s /t / / / /"O$ O$ O$ O$ O$ O$ O$ O$ O$ O$r   