
    sh                      H    S SK r S SKJr  S/rS\S\S\4S jr " S S5      rg)	    N)OptionalLinearBlockSparsePatternrow_block_sizecol_block_sizereturnc                 T    U S:H  =(       a    US:H  =(       d    U S:H  =(       a    US:H  $ )N          )r   r   s     v/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/torch/ao/nn/sparse/quantized/utils.py%_is_valid_linear_block_sparse_patternr      s2     a7Na$7 !3! 3    c                       \ rS rSr% \R
                  " 5       rSr\\	S'   Sr
\\	S'   Sr\\	S'   Sr\\	S'   SS\S\4S jjrSS jrS\\\      S\\   S\\   S	S
4S jr\S	\\\4   4S j5       rSrg
)r      r	   r   r
   r   prev_row_block_sizeprev_col_block_sizec                     [        X5      (       d   e[        R                  R                  5         [        R                  [        l        [        R                  [        l        U[        l        U[        l        g N)r   r   rlockacquirer   r   r   r   )selfr   r   s      r   __init__!LinearBlockSparsePattern.__init__   s^    4^TTTT &&..0$33 	!4 %33 	!4 3A /2@ /r   r   Nc                     g r   r   )r   s    r   	__enter__"LinearBlockSparsePattern.__enter__)   s    r   exc_type	exc_value	backtracec                     [         R                  [         l        [         R                  [         l        [         R
                  R                  5         g r   )r   r   r   r   r   r   release)r   r   r   r    s       r   __exit__!LinearBlockSparsePattern.__exit__,   s<     %88 	!/ %88 	!/ 	!&&..0r   c                  B    [         R                  [         R                  4$ r   )r   r   r   r   r   r   
block_size#LinearBlockSparsePattern.block_size:   s      %33$33
 	
r   r   )r	   r
   )r   N)__name__
__module____qualname____firstlineno__	threadingRLockr   r   int__annotations__r   r   r   r   r   r   typeBaseExceptionobjectr#   staticmethodtupler&   __static_attributes__r   r   r   r   r      s    OOENCNC    
As 
A 
A14./1 M*1 F#	1
 
1 
c3h 
 
r   )r,   typingr   __all__r.   boolr   r   r   r   r   <module>r9      s<      &
&),	)
 )
r   