
    %Vji!                     N    d dl Z d dlmZ dgZdededefdZ G d d          ZdS )	    N)OptionalLinearBlockSparsePatternrow_block_sizecol_block_sizereturnc                 2    | dk    r|dk    p| dk    o|dk    S )N          )r   r   s     \/root/voice-cloning/.venv/lib/python3.11/site-packages/torch/ao/nn/sparse/quantized/utils.py%_is_valid_linear_block_sparse_patternr      s2     a7Na$7 !3! 3    c                       e Zd ZU  ej                    ZdZeed<   dZ	eed<   dZ
eed<   dZeed<   ddedefdZdd
Zdeee                  dee         dee         dd	fdZedeeef         fd            Zd	S )r   r	   r   r
   r   prev_row_block_sizeprev_col_block_sizec                     t          ||          sJ t          j                                         t          j        t          _        t          j        t          _        |t          _        |t          _        d S N)r   r   rlockacquirer   r   r   r   )selfr   r   s      r   __init__z!LinearBlockSparsePattern.__init__   sf    4^^TTTTT &..000$3 	!4 %3 	!4 3A /2@ ///r   r   Nc                     d S r   r   )r   s    r   	__enter__z"LinearBlockSparsePattern.__enter__)   s    r   exc_type	exc_value	backtracec                     t           j        t           _        t           j        t           _        t           j                                         d S r   )r   r   r   r   r   r   release)r   r   r   r   s       r   __exit__z!LinearBlockSparsePattern.__exit__,   s?     %8 	!/ %8 	!/ 	!&..00000r   c                  2    t           j        t           j        fS r   )r   r   r   r   r   r   
block_sizez#LinearBlockSparsePattern.block_size:   s     %3$3
 	
r   )r	   r
   )r   N)__name__
__module____qualname__	threadingRLockr   r   int__annotations__r   r   r   r   r   r   typeBaseExceptionobjectr    staticmethodtupler"   r   r   r   r   r      s&        IOENCNC        
A 
As 
A 
A 
A 
A 
A   14./1 M*1 F#	1
 
1 1 1 1 
c3h 
 
 
 \
 
 
r   )r&   typingr   __all__r(   boolr   r   r   r   r   <module>r2      s              &
&),	   )
 )
 )
 )
 )
 )
 )
 )
 )
 )
r   