
    bIg$                        d dl mZ d dlZd dlmZ ddZ G d de      Z G d de      Z G d	 d
e      Z	 G d de      Z
y)    )annotationsN)OpRunc                   | j                   }|t        t        |            }n|D cg c]  }|dk\  r|n||z    }}t        |      }|dz  t        |      k7  rt	        d      dg|z  }t        |      D ]  \  }	}||	   }
|||	z      }|
|f||<    |dk(  r2t        j                  | |||      j                  | j                        S t        j                  | ||      j                  | j                        S c c}w )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               V/var/www/html/answerous/venv/lib/python3.12/site-packages/onnx/reference/ops/op_pad.py	_pad_implr      s   J|E*%&EIJT	tj'88JJ4yH!|s8}$U
 	
 :%IT? /4QK	8a<($g.	$/
 zvvID/

&
	 66$)$7>>tzzJJ# Ks   C9c                      e Zd ZddZy)Pad_1Nc                *    |d}t        ||||      fS Nr   )r	   r
   r   )selfr   paddingsr	   values        r   _runz
Pad_1._run%   s     =E$tUKMM    NNN__name__
__module____qualname__r(    r)   r   r!   r!   $   s    Nr)   r!   c                      e Zd ZddZy)Pad_2Nc                *    |d}t        ||||      fS r#   r$   )r%   r   padsr	   r'   s        r   r(   z
Pad_2._run,   s     =E$4GIIr)   r*   r+   r/   r)   r   r1   r1   +   s    Jr)   r1   c                      e Zd ZddZy)Pad_11Nc                ,    |d}t        ||||d       fS Nr   )r	   r
   r   r$   )r%   r   r3   constant_valuer	   s        r   r(   zPad_11._run3   (    !NdDt^RVW
 	
r)   )NNr+   r/   r)   r   r5   r5   2       
r)   r5   c                      e Zd ZddZy)Pad_18Nc                ,    |d}t        |||||      fS r7   r$   )r%   r   r3   r8   r   r	   s         r   r(   zPad_18._run<   r9   r)   r*   r+   r/   r)   r   r<   r<   ;   r:   r)   r<   )g        N)
__future__r   numpyr   onnx.reference.op_runr   r   r!   r1   r5   r<   r/   r)   r   <module>rA      sJ    #  'K2NE NJE J
U 

U 
r)   