o
    ei                     @   sh   U d dl Z d dlmZmZ d dlZd dlmZ daedB ed< e j	de
ded fdd	Zdd
dZdS )    N)	GeneratorSequence)ContentStoreReaderLOAD_TENSOR_READERlocreturn)NNNc                 c   s6    t d ur	tdt| dda zd V  W d a d S d a w )Nz!LOAD_TENSOR_READER is already setF)cache)r   AssertionErrorr   )r    r
   b/var/www/addictedbytheproject.nl/epg/venv/lib/python3.10/site-packages/torch/_prims/debug_prims.pyload_tensor_reader   s   r   c                  C   sP   t jdd t jdddtdtt dtt dt jdt jd	t j	fd
d} d S )Nzdebugprims::load_tensorzR(str name, int[] size, int[] stride, *, ScalarType dtype, Device device) -> TensorBackendSelectnamesizestridedtypedevicer   c                 S   s   t d u rddlm} |||||S ddlm} t j| |d}t| |kr1t|  d| t|	 |krDt|	  d| |j
|krSt|j
 d| |j|kr^|||d}|S )Nr   )rand_strided)clone_input)r   z != )r   )r   torch._dynamo.testingr   torch._dynamo.utilsr   read_tensorlistr   r	   r   r   r   )r   r   r   r   r   r   r   rr
   r
   r   load_tensor_factory#   s   

z1register_debug_prims.<locals>.load_tensor_factory)
torchlibrarydefineimplstrr   intr   r   Tensor)r   r
   r
   r   register_debug_prims   s$   r"   )r   N)
contextlibcollections.abcr   r   r   torch.utils._content_storer   r   __annotations__contextmanagerr   r   r"   r
   r
   r
   r   <module>   s   
 