
    sh
	                         S SK r S SKrS SKrS SKrS r\ R
                  S 5       r\ R
                  SS j5       rSS jrg)    Nc                      [         R                  R                  R                  5       (       d  g[         R                  R                  R                  5       (       d  gg)NFT)torchbackendsmkldnnis_availableops_is_mkldnn_bf16_supported     y/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/torch/testing/_internal/common_mkldnn.pybf32_is_not_fp32r      s=    >>  --//995577r   c               #      #    [         R                  " 5       n  [         R                  " S5        S v   [         R                  " U 5        g ! [         R                  " U 5        f = f7f)Nhighest)r   get_float32_matmul_precisionset_float32_matmul_precision)old_matmul_precisions    r   bf32_offr      sI      ==?A**95**+?@**+?@s   A%A
 A%
A""A%c              #   
  #    [         R                  " 5       nU R                  n [         R                  " S5        Xl        S v   [         R                  " U5        X0l        g ! [         R                  " U5        X0l        f = f7f)Nmedium)r   r   	precisionr   )selfbf32_precisionr   old_precisions       r   bf32_onr      sc      ==?NNM'**84'**+?@& 	**+?@&s   "B A" B"B  Bc                 ,   ^ ^^ S mU 4S jmUU4S jnU$ )Nc                 Z    [        5          U" 5         S S S 5        g ! , (       d  f       g = fN)r   )r   function_calls     r   with_bf32_disabled+bf32_on_and_off.<locals>.with_bf32_disabled1   s    ZO ZZs   
*c                 `   > [        U T5         U" 5         S S S 5        g ! , (       d  f       g = fr   )r   )r   r   r   s     r   with_bf32_enabled*bf32_on_and_off.<locals>.with_bf32_enabled5   s    T>*O +**s   
-c                    >^ ^ [         R                  " T 5      R                  n[        UR	                  5       5      m[
        R                  " T 5      UU UU4S j5       nU$ )Nc                  h  >^ [        TU 5       H
  u  p#UTU'   M     [        5       nST;   a/  U=(       a&    [        R                  " TS   5      R                  S:H  nST;   a  U=(       a    TS   [        R
                  :H  nU(       a#  T" TS   UU4S j5        T" TS   UU4S j5        g T" S0 TD6  g )Ndevicecpudtyper   c                     > T " S0 TD6$ Nr
   r
   fkwargss   r   <lambda>Cbf32_on_and_off.<locals>.wrapper.<locals>.wrapped.<locals>.<lambda>G   s    1;v;r   c                     > T " S0 TD6$ r*   r
   r+   s   r   r.   r/   H   s    !+f+r   r
   )zipr   r   r&   typefloat)	argsr-   kvcond	arg_namesr,   r   r"   s	    `   r   wrapped1bf32_on_and_off.<locals>.wrapper.<locals>.wrapped=   s    It,q	 -#%D6!NfX.>!?!D!D!M& @EKK!?"6&>3FG!&.2EFFr   )inspect	signature
parameterstuplekeys	functoolswraps)r,   paramsr9   r8   r   r"   s   `  @r   wrapper bf32_on_and_off.<locals>.wrapper9   sK    ""1%00&++-(				 
	 r   r
   )r   rC   r   r"   s   ` @@r   bf32_on_and_offrE   0   s    * Nr   )gh㈵>)	
contextlibr@   r;   r   r   contextmanagerr   r   rE   r
   r   r   <module>rH      sS        A A 	' 	' r   