
    qi                     :    d dl Z dgZdededefdZ G d d      Zy)    NLinearBlockSparsePatternrow_block_sizecol_block_sizereturnc                 6    | dk(  xr |dk(  xs | dk(  xr |dk(  S )N          )r   r   s     h/home/ubuntu/crypto_trading_bot/.venv/lib/python3.12/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   d	z  ded	z  ded	z  dd	fdZedeeef   fd       Zy	)r   r   r   r	   r   prev_row_block_sizeprev_col_block_sizec                     t        ||      sJ t        j                  j                          t        j                  t        _        t        j                  t        _        |t        _        |t        _        y N)r   r   rlockacquirer   r   r   r   )selfr   r   s      r   __init__z!LinearBlockSparsePattern.__init__   s]    4^^TTT &&..0$33 	!4 %33 	!4 3A /2@ /r   r   Nc                      y r   r   )r   s    r   	__enter__z"LinearBlockSparsePattern.__enter__(   s    r   exc_type	exc_value	backtracec                     t         j                  t         _        t         j                  t         _        t         j
                  j                          y r   )r   r   r   r   r   r   release)r   r   r   r   s       r   __exit__z!LinearBlockSparsePattern.__exit__+   s<     %88 	!/ %88 	!/ 	!&&..0r   c                  B    t         j                  t         j                  fS r   )r   r   r   r   r   r   
block_sizez#LinearBlockSparsePattern.block_size9   s      %33$33
 	
r   )r   r	   )r   N)__name__
__module____qualname__	threadingRLockr   r   int__annotations__r   r   r   r   r   typeBaseExceptionobjectr   staticmethodtupler!   r   r   r   r   r      s    IOOENCNC    
As 
A 
A1}%,1 !4'1 D=	1
 
1 
c3h 
 
r   )r%   __all__r'   boolr   r   r   r   r   <module>r0      s9     &
&),	)
 )
r   