
    Vhz                         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FuzzedSparseTensor   i   c              #   &   K   | ]	  }d |z    yw)   N ).0is     ^/home/dcms/DCMS/lib/python3.12/site-packages/torch/utils/benchmark/op_fuzzers/sparse_binary.py	<genexpr>r   
   s      !qAv s      c                   8     e Zd Zej                  df fd	Z xZS )BinaryOpSparseFuzzerFc                 2   t         |   t        dddddd      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id	      # c}t        ddddd      t        dddd      t        dddd      g	t        dddddddd ||!
      t        d"d#dddddd ||!
      g|$       y c c}w c c}w c c}}w c c}w c c}w )%Ndim_parameterg333333?g?)r   r	      T)distributionstrict
sparse_dimg?)namer   r   r   k_any_
loguniform)r   minvalmaxvalr   k_pow2_g      ?)r   r   kg?y_kdensity)g?g?g{Gz?	coalescedg      ?)TFrandom_valuer   l    uniformx)k0k1k2i   i   )
r   sizer   r   r    r!   min_elementsmax_elementsdtypecuday)y_k0y_k1y_k2)
parameterstensorsseed)
super__init__r   range_MIN_DIM_SIZE_MAX_DIM_SIZE_POW_TWO_SIZESlenr   r   )selfr3   r+   r,   r   r(   	__class__s         r   r5   zBinaryOpSparseFuzzer.__init__   s     ##RU>V_cd%%(SS!9*  %Qx  $%aS\,,%1	  %Qx	  $&qc]Q_%`dB^1D,D&D%`  %Qx	  $ W*VA3<8#*WQC=93&  $	   %Qx  $"1#Y*Qqc73S&:#	  "'*#S!A  $(+C!8
  ^Ak`ijw<| #+"1+%)!)!/ #1"1+%)!)!/4 q 	 Y	
& &a	s)   !E?+F	F
F	54F8&FF	)__name__
__module____qualname__torchfloat32r5   __classcell__)r<   s   @r   r   r      s    #(==u Z
 Z
    r   )numpynpr@   torch.utils.benchmarkr   r   r   r   r7   r8   tupler6   intlog2r9   r   r
   rC   r   <module>rJ      sq      ] ]  u!#(  [
6 [
rC   