
    Vpf7                        d dl mZ d dlZd dlmZ  G d dej                  Z e            Zedd            ZddZ	ddZ
edd            ZdS )    )annotationsN)contextmanagerc                      e Zd Zd ZdS )ComputeOnContextc                    g | _         d S N)stack)selfs    S/var/www/html/nettyfy-visnx/env/lib/python3.11/site-packages/jax/_src/compute_on.py__init__zComputeOnContext.__init__   s    DJJJ    N)__name__
__module____qualname__r    r   r   r   r      s#            r   r   c_typestrc           
   #    K   t           j                            |            	 t          t	          t          d t	          t           j                                                dk    rt          dt           j                   t           j        d         V  t           j                                         d S # t           j                                         w xY w)Nc                
    | d uS r   r   )xs    r   <lambda>z%extend_compute_type.<locals>.<lambda>    s
     r      zWNesting `compute_on` with different compute types is not supported yet. Current stack: )compute_on_contextr	   appendlensetfilterNotImplementedErrorpopr   s    r   extend_compute_typer"      s      !!&)))#
3v--s3E3K/L/LMMNNOORSSS="4":= => > > 
"2
&&&&  """""  """"s   A6B9 9 Creturn
str | Nonec                 B    t           j        rt           j        d         nd S )Nr   )r   r	   r   r   r   current_compute_typer&   (   s    );)A	K		!"	%	%tKr   c                2    | dvrt          d|            d S )N>   devicedevice_hostz\Invalid compute type received. Current supported values are `device_host` and `device`. Got )
ValueErrorr!   s    r   _check_validr+   +   s@    ,,,
 E<BE E F F F -,r   compute_typec              #     K   t          | t                    st          d          t          |            t	          |           5  d V  d d d            d S # 1 swxY w Y   d S )Nz6`compute_on`'s compute_type argument must be a string.)
isinstancer   	TypeErrorr+   r"   )r,   s    r   
compute_onr0   0   s      	L#	&	& N
L
M
MM|<(( 
 
	EEE
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
s   AAA)r   r   )r#   r$   )r,   r   )
__future__r   	threading
contextlibr   localr   r   r"   r&   r+   r0   r   r   r   <module>r5      s    # " " " " "     % % % % % %    y   
 &%''  	# 	# 	# 	#L L L LF F F F
 
 
 
 
 
 
r   