
    %Vji"                    Z   d Z ddlmZ ddlZddlZddlZddlZddlZddlm	Z	m
Z
mZ  ej        d          Zej        eeeef         Zej        eef         Z ej        d          Z ej        d          Z ej        d	          Z ej        d
          Z ej        d          Z ej        d          Z	 ddlmZ n# e$ r  ej        d          ZY nw xY wd"dZd"dZd"dZd"dZ d"dZ!d"dZ"d Z#d"dZ$d"dZ%d"dZ&d"dZ'eee e!ee%e&e%e"e$e#e'dZ(d Z)d#dZ*d Z+edfdZ,d"dd d!Z-dS )$zY "Normalize" arguments: convert array_likes to tensors, dtypes to torch dtypes and so on.    )annotationsN   )_dtypes_dtypes_impl_util	ArrayLike	DTypeLikeAxisLikeNDArrayCastingModesKeepDimsOutArray)NotImplementedTyper   c                .    ddl m}  ||           j        S )Nr   )asarray)_ndarrayr   tensor)xparmr   s      V/root/voice-cloning/.venv/lib/python3.11/site-packages/torch/_numpy/_normalizations.pynormalize_array_liker   .   s%    !!!!!!71::    c                N    t          j        |           r| S t          | |          S N)r   is_scalar_or_symbolicr   r   r   s     r   normalize_array_like_or_scalarr   4   s*    )!,, 4(((r   c                *    | d S t          | |          S r   )r   r   s     r   'normalize_optional_array_like_or_scalarr   :   s    yt)!T222r   c                *    | d nt          | |          S r   r   r   s     r   normalize_optional_array_liker"   @   s     944"6q$"?"??r   c                4    t          d | D                       S )Nc              3  4   K   | ]}t          |          V  d S r   r!   ).0values     r   	<genexpr>z+normalize_seq_array_like.<locals>.<genexpr>G   s+      <<%e,,<<<<<<r   )tupler   s     r   normalize_seq_array_liker)   F   s    <<!<<<<<<r   c                D    d }| t          j        |           } | j        }|S r   )r   dtypetorch_dtype)r+   r   r,   s      r   normalize_dtyper-   J   s*    Ke$$'r   c                L    | |j         k    rt          d|j         d          d S )N'z' parameter is not supported.)defaultNotImplementedErrornameargr   s     r   normalize_not_implementedr5   S   s9    
dl!8	888
 
 	
 r   c                Z    ddl m} t          | |          rt          j        |           } | S Nr   ndarray)r   r9   
isinstanceoperatorindexr4   r   r9   s      r   normalize_axis_liker>   Z   s:    !!!!!!#w "nS!!Jr   c                t    | | S ddl m} t          | |          st          d|j         d          | j        S Nr   r8   r/   z' must be an array)r   r9   r:   	TypeErrorr2   r   r=   s      r   normalize_ndarrayrB   b   sT    
{
!!!!!!c7## ;9DI999::::r   c                    | | S ddl m} t          | t          j                  r ||           } t          | |          st          d|j         d          | S r@   )r   r9   r:   torchTensorrA   r2   r=   s      r   normalize_outarrayrF   n   st    
{
!!!!!! #u|$$ gcllc7## ;9DI999:::Jr   c                4    | dvrt          d|  d          | S )N)noequivsafe	same_kindunsafezMcasting must be one of 'no', 'equiv', 'safe', 'same_kind', or 'unsafe' (got 'z'))
ValueErrorr3   s     r   normalize_castingrN   ~   s6    
@@@c\_ccc
 
 	
 Jr   )r   ArrayLikeOrScalarzOptional[ArrayLike]zSequence[ArrayLike]zOptional[ArrayLikeOrScalar]zOptional[NDArray]zOptional[OutArray]r   zOptional[DTypeLike]r
   r   zOptional[CastingModes]c                b    t                               |j        d          }|r || |          n| S )z,Normalize arg if a normalizer is registered.N)normalizersget
annotation)r4   r   
normalizers      r   maybe_normalizerU      s3    $77J$.7::c4   C7r   Fc                   | |S t          |t          j                  r|j        | j        k    r\|                                dk    o
| j        dk    }r|r|                                }n t          d| j         d|j         d          | j        	                    |           | S t          |t          t          f          r2 t          |          fdt          | |          D                       S t          )Nr   r   z'Bad size of the out array: out.shape = z while result.shape = .c              3  @   K   | ]\  }}t          ||          V  d S r   )maybe_copy_to)r%   orpromote_scalar_results      r   r'   z maybe_copy_to.<locals>.<genexpr>   sE       
 
;?1aM!Q 566
 
 
 
 
 
r   )r:   rD   rE   shapenumelndimsqueezerM   r   copy_r(   listtypezipAssertionError)outresultr\   can_fits     ` r   rY   rY      s+   
{	FEL	)	) <39$$llnn);ch!mG$  )) =ci = =-3\= = =   	
   
	FUDM	*	* tF|| 
 
 
 
CFsFCSCS
 
 
 
 
 	
 r   c                    ddl m} t          | t          j                  r ||           S t          | t
          t          f          r" t          |           d | D                       } | S )Nr   r8   c              3  4   K   | ]}t          |          V  d S r   )wrap_tensors)r%   r   s     r   r'   zwrap_tensors.<locals>.<genexpr>   s(      >>!l1oo>>>>>>r   )r   r9   r:   rD   rE   r(   rb   rc   )rg   r9   s     r   rk   rk      su    !!!!!!&%,'' ?wv	FUDM	*	* ?f>>v>>>>>Mr   c                b    |r ||                                            S ddlm}  ||           S r7   )itemr   r9   )valuespy_typereturn_scalarr9   s       r   array_or_scalarrq      sB     wv{{}}%%%%%%%%%wvr   )r\   c               ,    fd}| |S  ||           S )Nc                J     t          j                    fd            }|S )Nc                   	 t          j        
          }|j        	t          t	          	                                                    j        t           j        j        k    rfd| D             } nct          d t          | 	                                          D                       | t          	                                          d          z   } 	fd|                                D             } 
| i |}d }d	v rq	d         j        dk    r` |j        | i |j        }|                    dd          r8| d         }|                    d          }t#          j        |||j                  }d		v r:| |j        | i |j        }|                    d	          }t)          ||          }t+          |          }|S )
Nc                0    g | ]}t          |          S  rU   )r%   r4   first_params     r   
<listcomp>zInormalizer.<locals>.normalizer_inner.<locals>.wrapped.<locals>.<listcomp>   s#    JJJc[99JJJr   c              3  <   K   | ]\  }}t          ||          V  d S r   rw   )r%   r4   r   s      r   r'   zHnormalizer.<locals>.normalizer_inner.<locals>.wrapped.<locals>.<genexpr>   sD        %C (T22     r   c                P    i | ]"\  }}||v rt          ||                   n|#S rv   rw   )r%   r2   r4   paramss      r   
<dictcomp>zInormalizer.<locals>.normalizer_inner.<locals>.wrapped.<locals>.<dictcomp>   sK       D# DFNNoc6$<888PS  r   keepdimsr   Fr   axisrf   )inspect	signature
parametersnextiterrn   kind	ParameterVAR_POSITIONALr(   rd   lenitemsrS   bind	argumentsrR   r   apply_keepdimsr_   rY   rk   )argskwdssigrg   
bound_argsr   r   rf   rx   r|   funcr\   s           @@r   wrappedz5normalizer.<locals>.normalizer_inner.<locals>.wrapped   s   #D))C^FtFMMOO4455K 7#4#CCCJJJJTJJJ   ),T6==??)C)C     3v}}//112	3    !%  D
 T4(4((F JV##z(:(E(S(S%SXt4t44>
>>*e44 M "!WF%>>&11D"1&$LLF %!)4!84!8!8!BJ nnU++&sF4IJJ!&))FMr   )	functoolswraps)r   r   r\   s   ` r   normalizer_innerz$normalizer.<locals>.normalizer_inner   s?    			.	 .	 .	 .	 .	 
	.	` r   rv   )_funcr\   r   s    ` r   rT   rT      s;    2 2 2 2 2h }&&&r   r   )F).__doc__
__future__r   r   r   r;   typingrD    r   r   r   TypeVarr   UnionintfloatcomplexboolScalarrO   r	   r
   r   r   r   r   r   ImportErrorr   r   r   r"   r)   r-   r5   r>   rB   rF   rN   rQ   rU   rY   rk   rq   rT   rv   r   r   <module>r      s   ` _ " " " " " "         * * * * * * * * * * FN;''		c5'4/	0LF!23 FN;''	6>*%%
&.
#
#v~n--6>*%% 6>*%%>))))))) > > >'(<==>   ) ) ) )3 3 3 3@ @ @ @= = = =   
 
 
   	 	 	 	        &783#J*, *#3/  8 8 8   0   %*    8'E 8' 8' 8' 8' 8' 8' 8's   8B? ?CC