
    h                     z    S SK rS SKJr  SS jr " S S\5      r " S S\5      r " S S	\5      r " S
 S\5      rg)    N)OpRunc                    U R                   nUc  [        [        U5      5      nOU Vs/ s H  ofS:  a  UOXe-   PM     nn[        U5      nUS-  [        U5      :w  a  [	        S5      eS/U-  n[        U5       H  u  pX   n
XU	-      nX4X'   M     US:X  a.  [        R                  " XX#S9R                  U R                  5      $ [        R                  " XUS9R                  U R                  5      $ s  snf )Nr      zGThe number of elements in raw_pads should be 2 times the number of axes)r   r   constant)	pad_widthmodeconstant_values)r   r   )
ndimlistrangelenRuntimeError	enumeratenppadastypedtype)dataraw_padsr   r	   axes
input_rankaxisnum_axesr   i	pad_beginpad_ends               S/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/reference/ops/op_pad.py	_pad_implr      s    J|E*%&EIJTT	t'88TJ4yH!|s8}$U
 	
 :%IT?K	a<($.	 #
 zvvD

&
	 66$$7>>tzzJJ# Ks   C4c                       \ rS rSrSS jrSrg)Pad_1$   Nc                 "    Uc  Sn[        XX4S94$ Nr   )r   r	   r   )selfr   paddingsr   values        r   _run
Pad_1._run%   s    =E$tKMM     NNN__name__
__module____qualname____firstlineno__r(   __static_attributes__r+   r*   r   r    r    $   s    Nr*   r    c                       \ rS rSrSS jrSrg)Pad_2+   Nc                 "    Uc  Sn[        XX4S94$ r#   r$   )r%   r   padsr   r'   s        r   r(   
Pad_2._run,   s    =E$4GIIr*   r+   r,   r-   r+   r*   r   r4   r4   +   s    Jr*   r4   c                       \ rS rSrSS jrSrg)Pad_112   Nc                 $    Uc  Sn[        XXCS S94$ Nr   )r   r	   r   r$   )r%   r   r7   constant_valuer   s        r   r(   Pad_11._run3   $    !NdtRVW
 	
r*   r+   )NNr-   r+   r*   r   r:   r:   2       
r*   r:   c                       \ rS rSrSS jrSrg)Pad_18;   Nc                 $    Uc  Sn[        XXSUS94$ r=   r$   )r%   r   r7   r>   r   r   s         r   r(   Pad_18._run<   r@   r*   r+   r,   r-   r+   r*   r   rC   rC   ;   rA   r*   rC   )g        N)	numpyr   onnx.reference.op_runr   r   r    r4   r:   rC   r+   r*   r   <module>rI      sG     'K2NE NJE J
U 

U 
r*   