
    sg(                         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y)	    N)FuzzerFuzzedParameterParameterAliasFuzzedTensor   i   c              #   &   K   | ]	  }d |z    yw)   N ).0is     Z/var/www/html/venv/lib/python3.12/site-packages/torch/utils/benchmark/op_fuzzers/binary.py	<genexpr>r   
   s      !qAv s      c                   8     e Zd Zej                  df fd	Z xZS )BinaryOpFuzzerFc                 L   t         |   t        dddddd      t        d      D cg c]  }t        d| t        t
        d	
       c}t        d      D cg c]5  }t        d| t        D ci c]  }|dt        t              z   c}      7 c}}t        d      D cg c]/  }t        d| t        d|       dt        d|       did      1 c}t        d      D cg c]#  }t        d| t        d|       dddid      % c}t        d      D cg c]!  }dD ]  }t        | d| dddddd       # c}}t        dddd
      gt        dddd d!d"d#d||$
      t        d%d&dd d#d||'      g|(       y c c}w c c}w c c}}w c c}w c c}w c c}}w ))Ndimg333333?g?)r   r	      T)distributionstrictr   k_any_
loguniform)nameminvalmaxvalr   k_pow2_g      ?)r   r   kg?g?)r   r   r   y_kr   )xy_step_gQ?g{Gz?)r   r	         r   random_valuer   l    uniformr   )k0k1k2)x_step_0x_step_1x_step_2g      ?i   i   l        )
r   sizestepsprobability_contiguousmin_elementsmax_elementsmax_allocation_bytesdim_parameterdtypecudar    )y_k0y_k1y_k2)r   r,   r-   r.   r1   r2   r3   r4   )
parameterstensorsseed)
super__init__r   range_MIN_DIM_SIZE_MAX_DIM_SIZE_POW_TWO_SIZESlenr   r   )selfr:   r3   r4   r   r,   r   	__class__s          r   r<   zBinaryOpFuzzer.__init__   s-     4LUYZ$  %Qx  $%aS\,,%1	  %Qx	  $&qc]Q_%`dB^1D,D&D%`  %Qx	  $ W*VA3<8#*WQC=93&  $	&  %Qx	  $"1#Y*Qqc73Ss&  $	" #1X
  *  $ $vVA3/),$4T%R  ^Ak`ij{>@ +>+/!)!/)4"' 1>+/)4"'	0 q 	 Y	
 &a		s/   !F
F0F

F$4F'(F&F F)__name__
__module____qualname__torchfloat32r<   __classcell__)rC   s   @r   r   r      s    #(==u Z
 Z
    r   )numpynprG   torch.utils.benchmarkr   r   r   r   r>   r?   tupler=   intlog2r@   r   r
   rJ   r   <module>rQ      sq      W W  u!#(  [
V [
rJ   