o
    0h(                     @   st   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d eeeeeee	d D ZG dd	 d	eZdS )
    N)FuzzerFuzzedParameterParameterAliasFuzzedTensor   i   c                 c   s    | ]}d | V  qdS )   N .0ir   r   [/var/www/vscode/kcb/lib/python3.10/site-packages/torch/utils/benchmark/op_fuzzers/binary.py	<genexpr>
   s    r      c                       s$   e Zd Zejdf fdd	Z  ZS )BinaryOpFuzzerFc                    s   t  jtddddddddd td	D d
d td	D dd td	D dd td	D dd td	D tdddddgtdddddddd||d
tdddddd||dg|d d S )Ndimg333333?g?)r   r      T)distributionstrictc                 S   s"   g | ]}t d | ttddqS )k_any_
loguniformnameminvalmaxvalr   )r   _MIN_DIM_SIZE_MAX_DIM_SIZEr	   r   r   r   
<listcomp>!   s    z+BinaryOpFuzzer.__init__.<locals>.<listcomp>r   c                 S   s(   g | ]}t d | dd tD dqS )k_pow2_c                 S   s   i | ]	}|d t t qS )g      ?)len_POW_TWO_SIZES)r
   sizer   r   r   
<dictcomp>,   s    z6BinaryOpFuzzer.__init__.<locals>.<listcomp>.<dictcomp>r   r   )r   r   r	   r   r   r   r   )   s    c              	   S   s<   g | ]}t d | td| dtd| diddqS )kr   皙?r   皙?Tr   r   r   r   r   r	   r   r   r   r   /   s    c                 S   s2   g | ]}t d | td| dddiddqS )y_kr#   r$   r   r%   Tr&   r'   r	   r   r   r   r   :   s    c                 S   s8   g | ]}d D ]}t | d| dddddddqqS ))xy_step_r$   gQ?g{Gz?)r   r         r   r"   )r   )r
   r   r   r   r   r   r   F   s    random_valuer   l    uniformr   r)   )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cudar*   )y_k0y_k1y_k2)r   r    r6   r7   r:   r;   r<   r=   )
parameterstensorsseed)super__init__r   ranger   )selfrC   r<   r=   	__class__r   r   rE      sX   
@
zBinaryOpFuzzer.__init__)__name__
__module____qualname__torchfloat32rE   __classcell__r   r   rH   r   r      s    r   )numpynprM   torch.utils.benchmarkr   r   r   r   r   r   tuplerF   intlog2r   r   r   r   r   r   <module>   s   

