o
    + i                     @   sF  d dl Zd dlZd dlmZmZmZ d dlm	Z	 ej
jej
jej
jej
jej
jej
jej
jej
jej
jd	Ze	jddde	jddde	jd	dde	jd
dde	jddde	jddde	jddde	jddde	jddddd Ze	jddddd Ze	jddddd Ze	jddde	jddddd ZdS )    N)add_elementwise_layerset_layer_nameunary_op_converter)converter_registry)	pd_op.greater_thanpd_op.less_thanpd_op.equalpd_op.bitwise_andpd_op.bitwise_orpd_op.logical_xorpd_op.logical_orpd_op.logical_or_pd_op.logical_andr   z8.x)Ztrt_versionr   r   r	   r
   r   r   r   r   c                 C   s   t | ||t|  }|S N)r   logic_type_mapnamenetwork	paddle_opinputslayer_output r   g/home/app/PaddleOCR-VL-test/.venv_paddleocr/lib/python3.10/site-packages/paddle/tensorrt/impls/logic.pylogic_converter&   s   
r   zpd_op.not_equalc                 C   s:   t | ||tjj}| |tjj}t|| |d}|S )Nr   )	r   trtElementWiseOperationEQUAL	add_unaryUnaryOperationNOTr   
get_output)r   r   r   r   Z	not_layerr   r   r   not_equal_converter6   s   

r!   zpd_op.bitwise_notc                 C   s   |d }|j tjkr| |tjj}t|| |d}|S tdgt	|j
 }tjdgtjd}t|}| ||}	t|	| |	d}	| ||	tjj}
t|
| |
d}
| |
|	tjj}t|| |d}|S )Nr      )dtype)r$   r   boolr   r   r   r   r    ZDimslenshapenparrayZint32ZWeightsZadd_constantZadd_elementwiser   ZPRODZSUM)r   r   r   Zinput_tensorZbitwise_not_layerr   Zneg_one_tensor_dimsZneg_one_valueZneg_one_weightsZneg_one_tensorZmul_neg_oner   r   r   bitwise_not_converterA   s6   










r*   zpd_op.logical_notzpd_op.logical_not_c                 C   s   t | ||}|S r   )r   r   r   r   r   logic_not_converter`   s   r+   )numpyr(   Ztensorrtr   Zpaddle.tensorrt.converter_utilsr   r   r   Zpaddle.tensorrt.registerr   r   GREATERLESSr   ANDORZXORr   registerr   r!   r*   r+   r   r   r   r   <module>   s>   


