
    `i(                         d dl Zd dlZd dlmZmZmZmZ dZdZ	 e
d  e e ej        e                     e ej        e	                    dz             D                       Z G d de          ZdS )	    N)FuzzerFuzzedParameterParameterAliasFuzzedTensor   i   c              #       K   | ]	}d |z  V  
dS )   N .0is     {/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/torch/utils/benchmark/op_fuzzers/binary.py	<genexpr>r   
   s6        !qAv             c                   .     e Zd Zej        df fd	Z xZS )BinaryOpFuzzerFc                    t                                          t          dddddd          d t          d          D             d	 t          d          D             d
 t          d          D             d t          d          D             d t          d          D             t          dddd          gt	          dddddddd||
  
        t	          dddddd||          g|           d S )Ndimg333333?g?)r   r	      T)distributionstrictc                 N    g | ]"}t          d | t          t          d          #S )k_any_
loguniformnameminvalmaxvalr   )r   _MIN_DIM_SIZE_MAX_DIM_SIZEr   s     r   
<listcomp>z+BinaryOpFuzzer.__init__.<locals>.<listcomp>!   sK         $)a\\,,%1	    r   r   c                 T    g | ]%}t          d | d t          D                       &S )k_pow2_c                 >    i | ]}|d t          t                    z  S )g      ?)len_POW_TWO_SIZES)r   sizes     r   
<dictcomp>z6BinaryOpFuzzer.__init__.<locals>.<listcomp>.<dictcomp>,   s'    %`%`%`dB^1D1D,D%`%`%`r   r   r   )r   r'   r   s     r   r"   z+BinaryOpFuzzer.__init__.<locals>.<listcomp>)   sT         $*q]]%`%`Q_%`%`%`    r   c                     g | ];}t          d | t          d|           dt          d|           did          <S )kr   皙?r$   皙?Tr   r   r   r   r   r   s     r   r"   z+BinaryOpFuzzer.__init__.<locals>.<listcomp>/   sr     	 	 	  $$WW*<A<<88#*=Q==993&  $  	 	 	r   c           	      `    g | ]+}t          d | t          d|           dddid          ,S )y_kr,   r-   r   r.   Tr/   r0   r   s     r   r"   z+BinaryOpFuzzer.__init__.<locals>.<listcomp>:   sd     	 	 	  $&1YY*7q7733Ss&  $  	 	 	r   c                 P    g | ]#}d D ]}t          | d| dddddd          $S ))xy_step_r-   gQ?g{Gz?)r   r	         r   r*   )r   )r   r   r   s      r   r"   z+BinaryOpFuzzer.__init__.<locals>.<listcomp>F   sr       
  *   $ $//A//),$4T%R%R     r   random_valuer   l    uniformr   r4   )k0k1k2)x_step_0x_step_1x_step_2g      ?i   i   l        )
r   r(   stepsprobability_contiguousmin_elementsmax_elementsmax_allocation_bytesdim_parameterdtypecudar5   )y_k0y_k1y_k2)r   r(   rA   rB   rE   rF   rG   rH   )
parameterstensorsseed)super__init__r   ranger   )selfrN   rG   rH   	__class__s       r   rP   zBinaryOpFuzzer.__init__   s     4L4LUYZZZ   %Qxx     %Qxx	  	 	  %Qxx	 	 		 	  %Qxx	 	 	 
 #1XX    ^Ak`ijjj{>@ +>+/!)!/)4"'   1>+/)4"'	 	 	0 q 	 Y	
 Y	
 Y	
 Y	
 Y	
r   )__name__
__module____qualname__torchfloat32rP   __classcell__)rS   s   @r   r   r      sN        #(=u Z
 Z
 Z
 Z
 Z
 Z
 Z
 Z
 Z
 Z
r   r   )numpynprW   torch.utils.benchmarkr   r   r   r   r    r!   tuplerQ   intlog2r'   r   r
   r   r   <module>r`      s         W W W W W W W W W W W W   uuCC!#( (     [
 [
 [
 [
 [
V [
 [
 [
 [
 [
r   