o
    pi                     @  sp   d dl mZ d dlmZ d dlZd dlZd dlmZ d dl	m
Z
 er*d dlmZmZ g ZdddZdddZdS )    )annotations)TYPE_CHECKINGN)convert_dtype)LayerHelperBase)	DTypeLike_DTypeLiteraldr   returnNonec                 C  s   t | tr| tjtjtjfv r| j} n*td| j t | tj	r-t
| } | dkr+dn| } | dv r6t| } ntd|  t|  dS )a  
    Set default dtype. The default dtype is initially float32.

    Args:
        d(string|paddle.dtype|np.dtype): the dtype to make the default. It only
                            supports float16, bfloat16, float32 and float64.

    Returns:
        None.

    Examples:
        .. code-block:: python

            >>> import paddle
            >>> paddle.set_default_dtype("float32")

    zKset_default_dtype only supports [float16, float32, float64] , but received Zuint16bfloat16)float16float32float64r   zUset_default_dtype only supports [float16, float32, float64, bfloat16] , but received N)
isinstancetypenpr   r   r   __name__	TypeErrorpaddleZdtyper   strr   set_default_dtype)r    r   a/home/app/PaddleOCR-VL/.venv_paddleocr/lib/python3.10/site-packages/paddle/framework/framework.pyr      s&   

r   r   c                   C  s   t  S )a6  
    Get the current default dtype. The default dtype is initially float32.

    Args:
        None.
    Returns:
        str, this global dtype only supports float16, float32, float64.

    Examples:
        .. code-block:: python

            >>> import paddle
            >>> paddle.get_default_dtype()
    )r   get_default_dtyper   r   r   r   r   P   s   r   )r   r   r	   r
   )r	   r   )
__future__r   typingr   numpyr   r   Zpaddle.base.data_feederr   Zpaddle.base.layer_helper_baser   Zpaddle._typing.dtype_liker   r   __all__r   r   r   r   r   r   <module>   s   
1