
    קgs                        d dl Z d dlZd dlmZmZ d dlZd dlZd dlmZ	 ddl
mZm
Z
 ddlmZ  e	j                     e	j        e	j        e	j        cZZZ G d de          Z G d	 d
e          ZddlmZ e                    ej        d          ZdZesddlmZ  G d d          Zeej        fZ G d de	j        e          Z G d dee	j                  Zd Zer<e	j         Z d Z! e	j"        e	j#                  Z$e	j%        Z% e	j"        e	j&                  Z&n$ej         ej!        cZ Z!ej$        Z$ej%        Z%ej&        Z& e	j"        e	j'                  Z(e$e_#        e(e_'        e&ej        _&        e&e_&         e	j"        e	j)                  ej        _)         e	j"        e	j*                  ej        _*         eeeej        ej+                   e`,er e	j"        e	j-                  e_-        nej.        e_-         e!d            e!d            e!d            e!d            e!d            e!d            e!d            e!d            e!d            e!d            e!d             e!d!            e!d"d#$            e!d%d#$            e!d&d'            e!d(d'            e!d)d'            e!d*d'            e!d+d'            e!d,d'            e!d-d'            e!d.d'            e!d/d01            e!d2d01            e!d3d'            e!d4dd05            e!d6dd07            e!d8dd07            e!d9dd07            e!d:dd07            e!d;dd07            e!d<dd07            e!d=dd07            e!d>ddd0?            e!d@dd07            e ej/        j0        j1        dd07          Z1dS )A    N)SequenceUnion)dim   )tree_flattentree_map)	wrap_typec                       e Zd ZdS )DimensionMismatchErrorN__name__
__module____qualname__     R/var/www/html/ai-engine/env/lib/python3.11/site-packages/functorch/dim/__init__.pyr   r              Dr   r   c                       e Zd ZdS )DimensionBindErrorNr   r   r   r   r   r      r   r   r   )op_propertiesT)	referencec                       e Zd Zed             Zd Zer& eej	                  Z	 ej
        ej                  Znej	        Z	ej        Z ej
        ej                  Zd ZdS )_Tensorc                 >    t          d | j        D                       S )Nc              3   D   K   | ]}t          |t                    |V  d S N)
isinstanceDim).0ds     r   	<genexpr>z_Tensor.dims.<locals>.<genexpr>*   s1      CC1
1c0B0BCQCCCCCCr   )tuple_levelsselfs    r   dimsz_Tensor.dims(   s!    CCCCCCCCr   c                     | j         S r   )ndimr$   s    r   r   z_Tensor.dim,   s
    yr   c                     | j         | j        | j        c}}| dt          fd|D                        dt          |                                           S )Nz
with dims=c              3   P   K   | ] }t          |t                    r|z   n|V  !d S r   )r   int)r   lr(   s     r   r!   z#_Tensor.__repr__.<locals>.<genexpr>:   s<      +b+bVW
1c8J8J,QAHHPQ+b+b+b+b+b+br   z sizes=)_tensorr#   r(   r"   size)r%   tensorlevelsr(   s      @r   __repr__z_Tensor.__repr__8   s~    #|T\49  B  Be+b+b+b+b[a+b+b+b&b&b  B  Bkpqwq|q|q~q~kk  B  B  	Br   N)r   r   r   propertyr&   r   use_cclassmethod_C__torch_function___instancemethodexpandr   indexr1   r   r   r   r   r   $   s         D D XD    "([)>??##BI..&9!Brx((EB B B B Br   r   c                       e Zd Zej        ZdS )r   N)r   r   r   object
__format__r   r   r   r   r   @   s         "JJJr   r   c                   |    e Zd Zes eej                  Z eej                  Z	 ej
        ej                  ZdS )TensorN)r   r   r   r3   staticmethodr5   Tensor_from_batchedfrom_batchedTensor_from_positionalfrom_positionalr7   
Tensor_sumsumr   r   r   r>   r>   F   sN         <#|B$:;;"l2#<==O
"
R]
+
+CCCr   r>   c                 l    t                      }t          | ||                              ||g|          S r   )r&   stackr9   )tensorsr   new_dimns       r   catrK   M   s1    A!S!!''C':::r   c                     t          t          j        |           }t          t          | t          j        t          |g|R i |                     d S r   )getattrtorchr>   setattrr   r5   r7   _wrap)nameargskwargsorigs       r   _defrU   U   sN    u|T**r1%2Nt2N2N2Nv2N2NOOPPPPPr   meanrE   allamaxaminaminmaxanycount_nonzero	logsumexpnanmeannansumprodstd   )keepdim_offsetvarmax)
single_dimminargmaxargminkthvaluemedian	nanmedianmodesortF)reduceargsortunbindchunk)
dim_offsetro   cummax)rf   ro   cummincumprodcumprod_cumsumcumsum_logcumsumexprenorm)rs   rf   ro   softmax)2disinspecttypingr   r   functorch._C	functorchrN   r   r5   r   r   r	   _patch_tensor_classr&   DimListdimlists	Exceptionr   r    r   dictfromkeys	pointwiser3   r   r   r>   
TensorLiker   rK   rP   rU   r7   __getitem__t__getitem__rG   split__setitem__t__setitem__r8   r9   r6   r(   order
positionalnn
functionalr|   r   r   r   <module>r      s   



  " " " " " " " "      " " " " " " , , , , , , , ,                 '2:r{ gx	 	 	 	 	Y 	 	 		 	 	 	 	 	 	 	       MM-1488	 B B B B B B B B2 u|$
# # # # #"&' # # #, , , , ,Wbi , , ,; ; ;
 	 HEQ Q Q &2%bn55LHEBrx((EE/9>KE4)LOEOE "r!".11
 # "  (b(33 'R'11  		%%,(B C C CL )&B&rx00GMM(GM V U U V V Y U _    [    Y X V U1     U1     Ut     Ut     X$     X$     ZD ! ! ! ! X$     [T " " " " V     VE     Yu     X$     W5 ) ) ) ) X$u - - - - X$u - - - - Y4 . . . . ZD / / / / X$u - - - - Y4 . . . . ^U 3 3 3 3 X!U ; ; ; ; Y4 . . . .
%#+U
K
K
Kr   