
    Vh                         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_unary.py	<genexpr>r   
   s      !qAv s      c                   8     e Zd Zej                  df fd	Z xZS )UnaryOpSparseFuzzerFc                    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ddd      t        dddd      t        dddd      gt        dddddddd|| 
      g|!       y 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?density)g?g?g{Gz?	coalescedg      ?)TFrandom_valuer   l    uniformx)k0k1k2i   i   )
r   sizer   r   min_elementsmax_elementsr   r    dtypecuda)
parameterstensorsseed)
super__init__r   range_MIN_DIM_SIZE_MAX_DIM_SIZE_POW_TWO_SIZESlenr   r   )selfr.   r*   r+   r   r'   	__class__s         r   r0   zUnaryOpSparseFuzzer.__init__   s     ##RU>V_cd%%(SS!9&  %Qx  $%aS\,,%1	  %Qx	  $&qc]Q_%`dB^1D,D&D%`  %Qx	  $ W*VA3<8#*WQC=93&  $	  "'*#S!A  $(+C!8  ^Ak`ija1f #+"1+!)!/%) C 	 B	
" &a	s#   !D6+E D;
E 54E;E )__name__
__module____qualname__torchfloat32r0   __classcell__)r7   s   @r   r   r      s    #(==u C
 C
    r   )numpynpr;   torch.utils.benchmarkr   r   r   r   r2   r3   tupler1   intlog2r4   r   r
   r>   r   <module>rE      ss      ] ]  u!#(  
D
& D
r>   