o
    "jO
                     @   sl   d dl Z d dlmZ d dlmZmZmZ ddlmZm	Z	 g Z
dd Zddd	Zd
d ZdddZdd ZdS )    N)Variable)gastis_sequencemap_structure   )UndefinedVarcreate_undefined_variablec                 C   s    |  d|  d}t |jd S )Nz = _jst.UndefinedVar('')r   )r   parsebody)name	func_code r   i/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/paddle/jit/dy2static/variable_trans_func.pycreate_undefined_var   s   r   c                 C   s   |  d}t |tr|d| d|  d7 }t|jd S t |tr5|d| d|  d7 }t|jd S t |trM|d| d|  d7 }t|jd S d S )Nz = paddle.full(shape=[1], zdtype='bool', fill_value=z, name='r	   r   zdtype='float64', fill_value=zdtype='int64', fill_value=)
isinstanceboolr   r
   r   floatint)r   valuer   r   r   r   create_fill_constant_node   s   



r   c                 C   s~   t | trtjg d| dS t | trtjg d| dS t | tr'tjg d| dS t | ts0| du r4	 t S t| r=t	t
| S | S )zG
    Translate a Python Tensor to PaddlePaddle static graph Tensor
    r   )shapedtype
fill_valueZfloat64Zint64N)r   r   paddlefullr   r   r   r   r   r   to_static_variable)xr   r   r   r   +   s   



r   Tc                 C   s    t | trtjdg|ddS |S )z>
    Create a bool variable, which type is the same as x.
    r   r   )r   r   r   )r   r   r   r   )r   r   r   r   r   create_bool_as_type?   s   
r   c                 C   s,   t |tsJ |  d| }t|jd S )z1
    Create a assign stmt for name = value .
    z = r   )r   r   r   r
   r   )r   r   noder   r   r   create_bool_nodeI   s   r    )r   )T)r   Zpaddle.base.frameworkr   Zpaddle.utilsr   r   r   utilsr   r   __all__r   r   r   r   r    r   r   r   r   <module>   s   


