
    sh9                        S r SSKJr  SSKrSSKrSSKrSSKrSSKrSSKJ	r	J
r
Jr  \R                  " S5      r\R                  \\\\4   r\R                  \\4   r\R                  " S5      r\R                  " S5      r\R                  " S	5      r\R                  " S
5      r\R                  " S5      r\R                  " S5      r SSKJr  S"S jrS"S jrS"S jrS"S jr S"S jr!S"S jr"S r#S"S jr$S"S jr%S"S jr&S"S jr'\\\ \!\\%\&\%\"\$\#\'S.r(S r)S#S jr*S r+\S4S jr,S"SS .S! jjr-g! \ a    \R                  " S5      r Nzf = f)$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                2    SSK Jn  U" U 5      R                  $ )Nr   )asarray)_ndarrayr   tensor)xparmr   s      p/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/torch/_numpy/_normalizations.pynormalize_array_liker   .   s    !1:    c                R    [         R                  " U 5      (       a  U $ [        X5      $ N)r   is_scalar_or_symbolicr   r   r   s     r   normalize_array_like_or_scalarr   4   s#    ))!,,((r   c                     U c  g [        X5      $ r   )r   r   s     r   'normalize_optional_array_like_or_scalarr   :   s    y)!22r   c                "    U c  S $ [        X5      $ r   r   r   s     r   normalize_optional_array_liker"   @   s     94?"6q"??r   c                &    [        S U  5       5      $ )Nc              3  8   #    U  H  n[        U5      v   M     g 7fr   r!   ).0values     r   	<genexpr>+normalize_seq_array_like.<locals>.<genexpr>G   s     <!%e,,!   )tupler   s     r   normalize_seq_array_liker+   F   s    <!<<<r   c                T    S nU b"  [         R                  " U 5      n U R                  nU$ r   )r   dtypetorch_dtype)r-   r   r.   s      r   normalize_dtyper/   J   s,    Ke$''r   c                T    XR                   :w  a  [        SUR                   S35      eg )N'z' parameter is not supported.)defaultNotImplementedErrornameargr   s     r   normalize_not_implementedr7   S   s*    
ll!Adii[0M"NOO r   c                ^    SSK Jn  [        X5      (       a  [        R                  " U 5      n U $ Nr   ndarray)r   r;   
isinstanceoperatorindexr6   r   r;   s      r   normalize_axis_liker@   X   s#    !#nnS!Jr   c                    U c  U $ SSK Jn  [        X5      (       d  [        SUR                   S35      eU R
                  $ Nr   r:   r1   z' must be an array)r   r;   r<   	TypeErrorr4   r   r?   s      r   normalize_ndarrayrD   `   s=    
{
!c##!DII;&89::::r   c                    U c  U $ SSK Jn  [        U [        R                  5      (       a  U" U 5      n [        X5      (       d  [        SUR                   S35      eU $ rB   )r   r;   r<   torchTensorrC   r4   r?   s      r   normalize_outarrayrH   l   sT    
{
! #u||$$clc##!DII;&89::Jr   c                0    U S;  a  [        SU  S35      eU $ )N)noequivsafe	same_kindunsafezMcasting must be one of 'no', 'equiv', 'safe', 'same_kind', or 'unsafe' (got 'z'))
ValueErrorr5   s     r   normalize_castingrP   |   s.    
@@[\_[``b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                d    [         R                  UR                  S5      nU(       a  U" X5      $ U $ )z,Normalize arg if a normalizer is registered.N)normalizersget
annotation)r6   r   
normalizers      r   maybe_normalizerW      s(    $7J$.:c 7C7r   Fc                   ^ U c  U$ [        U[        R                  5      (       a  UR                  U R                  :w  an  UR	                  5       S:H  =(       a    U R
                  S:H  nT(       a  U(       a  UR                  5       nO&[        SU R                   SUR                   S35      eU R                  R                  U5        U $ [        U[        [        45      (       a$  [        U5      " U4S j[        X5       5       5      $ [        e)Nr   r   z'Bad size of the out array: out.shape = z while result.shape = .c              3  @   >#    U  H  u  p[        XT5      v   M     g 7fr   )maybe_copy_to)r%   orpromote_scalar_results      r   r'    maybe_copy_to.<locals>.<genexpr>   s"      
CS41M! 566CSs   )r<   rF   rG   shapenumelndimsqueezerO   r   copy_r*   listtypezipAssertionError)outresultr^   can_fits     ` r   r[   r[      s    
{	FELL	)	)<<399$lln);chh!mG$) =cii[,V\\N!=  	

 
	FUDM	*	*F| 
CFsCS
 
 	
 r   c                    SSK Jn  [        U [        R                  5      (       a  U" U 5      $ [        U [
        [        45      (       a  [        U 5      " S U  5       5      n U $ )Nr   r:   c              3  8   #    U  H  n[        U5      v   M     g 7fr   )wrap_tensors)r%   r   s     r   r'   wrap_tensors.<locals>.<genexpr>   s     >v!l1oovr)   )r   r;   r<   rF   rG   r*   re   rf   )rj   r;   s     r   rn   rn      sJ    !&%,,''v	FUDM	*	*f>v>>Mr   c                X    U(       a  U" U R                  5       5      $ SSKJn  U" U 5      $ r9   )itemr   r;   )valuespy_typereturn_scalarr;   s       r   array_or_scalarru      s#    v{{}%%%vr   )r^   c               *   ^ U4S jnU c  U$ U" U 5      $ )Nc                J   >^  [         R                  " T 5      U U4S j5       nU$ )Nc            
       > [         R                  " T5      nUR                  n[        [	        UR                  5       5      5      nUR                  [         R                  R                  :X  a  U  Vs/ s H  n[        XT5      PM     n nOF[        S [        XR                  5       5       5       5      U [        UR                  5       5      S  -   n UR                  5        VVs0 s H  u  peXfU;   a  [        XSU   5      OU_M     nnnT" U 0 UD6nS nSU;   a}  US   R                  S:X  aj  UR                  " U 0 UD6R                   nUR#                  SS5      (       a7  U S   n	UR#                  S5      n
[$        R&                  " XzU	R(                  5      nSU;   a<  Uc  UR                  " U 0 UD6R                   nUR#                  S5      n[+        XT5      n[-        U5      nU$ s  snf s  snnf )Nc              3  <   #    U  H  u  p[        X5      v   M     g 7fr   )rW   )r%   r6   r   s      r   r'   Hnormalizer.<locals>.normalizer_inner.<locals>.wrapped.<locals>.<genexpr>   s!      )CIC (22)Cs   keepdimsr   Fr   axisri   )inspect	signature
parametersnextiterrr   kind	ParameterVAR_POSITIONALrW   r*   rg   lenitemsrU   bind	argumentsrT   r   apply_keepdimsrb   r[   rn   )argskwdssigparamsfirst_paramr6   r4   rj   
bound_argsr   r|   ri   funcr^   s               r   wrapped5normalizer.<locals>.normalizer_inner.<locals>.wrapped   s   ##D)C^^FtFMMO45K 7#4#4#C#CCEIJTc9TJ  ),T==?)C  3v}}/12	3  "&!-ID FNoc$<8PSS!-  
 4(4(F JV#z(:(E(E(S XXt4t4>>
>>*e44 "!WF%>>&1D"11&LF %!$4!84!8!B!BJ nnU+&s4IJ!&)FMO Ks   2G$#"G))	functoolswraps)r   r   r^   s   ` r   normalizer_inner$normalizer.<locals>.normalizer_inner   s&    		.	 
.	` r    )_funcr^   r   s    ` r   rV   rV      s!    2h }&&r   r   )F).__doc__
__future__r   r   r}   r=   typingrF    r   r   r   TypeVarr   UnionintfloatcomplexboolScalarrQ   r	   r
   r   r   r   r   r   ImportErrorr   r   r   r"   r+   r/   r7   r@   rD   rH   rP   rS   rW   r[   rn   ru   rV   r   r   r   <module>r      sj   "      * * NN;'		c5'4/	0LLF!23 NN;'	>>*%
..
#~~n->>*% >>*%>)
)3@=P
	  &783#J*, *#3/ 80 %* 8'E 8'C  >(<=>s   
D0 0E
E