U
    ‰dê2  ã                   @   s`   d dl mZ d dlmZ eedœdd„ZedƒZeedœdd„Z	eeef ee
d	d
œdd„Zd	S )é    )ÚNativeFunctionsGroup)ÚDict)ÚgÚreturnc                 C   s   t | jjjjjƒS ©N)ÚstrZ
functionalÚfuncÚnameÚbase)r   © r   úB/tmp/pip-unpacked-wheel-ua33x9lu/torchgen/static_runtime/config.pyÚfunc_name_base_str   s    r   )ÚabsÚaddZaddmmÚallÚanyZargminZbmmÚclampZ	clamp_minZcumsumÚdivÚfmodZindex_selectZ
leaky_reluZlinearÚlogÚmatmulÚmulZnarrow_copyZnonzeroÚpowÚ	remainderZsigmoidÚsignÚsubÚtanhc                 C   s   t | ƒ}|tkS r   )r   Úis_hand_written_ops_)r   Z	name_baser   r   r   Úis_hand_written*   s    r   N)Úarg_mapÚop_nameÚindexr   c                 C   s†  |dks|dkst ‚|dkrZ|dkr>d| d< d| d< d| d< nd	| d< d
| d< d
| d< d S |dkr|dkr|d| d< d| d< nd	| d< d
| d< d S |dkr¶|dkrªd| d< nd	| d< d S |dkrì|dkrØd| d< d| d< nd| d< d| d< d S |dkr|dkr
d| d< nd| d< d S |dkr@|dkr4d| d< nd| d< d S |dkrj|dkr^d| d< nd| d< d S |dkr”|dkrˆd| d< nd	| d< d S |d kr¾|dkr²d| d< nd	| d< d S |d!krø|dkräd| d"< d#| d$< nd
| d"< d#| d$< d S |d%kr2|dkrd| d"< d#| d$< nd
| d"< d#| d$< d S |d&kr||dkr`d| d< d'| d(< d| d)< nd	| d< d*| d(< d
| d)< d S |d+kr¶|dkr¢d| d< d,| d(< nd	| d< d-| d(< d S |d.kr |dkräd| d< d'| d(< d| d)< nd	| d< d*| d(< d
| d)< d S |d/krJ|dkr.d0| d< d1| d(< d| d)< nd2| d< d3| d(< d
| d)< d S |d4kr`d5| d6< d S |d7krš|dkr†d0| d< d8| d9< nd2| d< d8| d9< d S |d:krä|dkrÈd;| d< d<| d=< d;| d< nd>| d< d?| d=< d>| d< d S |d@kr|dkrdA| d< ndB| d< d S |dCkrX|dkr<dD| dE< dD| d< dF| d< ndG| dE< dH| d< dI| d< d S |dJkr¢|dkr†dK| dE< dK| d< dL| d< ndM| dE< dN| d< dO| d< d S |dPkrü|dkrØdQ| d< dR| dS< dT| d< dU| dV< n dW| d< dR| dS< dX| d< dU| dV< d S |dYkr6|dkr"dZ| d< d[| d\< nd]| d< d[| d\< d S |d^kr€|dkrddZ| dE< dZ| d< d[| d\< nd]| dE< d]| d< d[| d\< d S |d_krê|dkr¾d;| d< d`| dS< da| d< d;| db< d8| dc< n(dd| d< d`| dS< de| d< dd| db< d8| dc< d S |dfkrD|dkr d;| d< d`| dS< dg| d< d;| db< n dh| d< d`| dS< di| d< dh| db< d S |djkrŽ|dkrrdk| d< dk| d< dR| dS< nd| d< d| d< dR| dS< d S |dlkr|dkrÜdm| dE< d| d< dn| d(< d| d)< dR| do< dR| dp< dm| dq< n8dm| dE< dr| d< ds| d(< dr| d)< dR| do< dR| dp< dm| dq< d S |dtkr‚|dkrFdu| d< dT| d< du| dv< ndw| d< dx| d< dw| dv< dy| kr~|dzkrvd{nd|| dy< d S |d}kr´d~| dy< |dkr¨d1| d< nd3| d< d S |dkrî|dkrÚd€| d< d€| d< nd| d< d| d< d S |d‚kr8|dkrdƒ| d„< d…| d†< dU| d‡< ndˆ| d„< d‰| d†< dU| d‡< d S |dŠkr‚|dkrfd‹| d< dŒ| d< dU| d‡< ndŽ| d< d| d< dU| d‡< d S d S )Nr   é   Úaddrzat::rand({6, 6})Úselfzat::rand({6})Zvec1Zvec2zat::rand({22, 22})zat::rand({22})ÚmvZvecZaddbmmZcrosszat::rand({3, 3, 3})Úotherzat::rand({22, 3, 22})Ztakez(at::randint(0, 216, {20}, torch::kInt64)r!   z*at::randint(0, 1000, {100}, torch::kInt64)Ztake_along_dimzat::argsort(self0, 1)Úindiceszat::argsort(self1, 1)Zmasked_selectzat::randn({6, 6, 6}) > 0.5Úmaskzat::rand({22, 22, 22}) > 0.5ZorgqrZinput2ZormqrZquantileÚqz"linear"ÚinterpolationZnanquantileZmulti_margin_lossz"at::randint(6, {6}, torch::kInt64)ÚtargetZweightz$at::randint(22, {22}, torch::kInt64)Zmultilabel_margin_lossz%at::randint(6, {6, 6}, torch::kInt64)z(at::randint(22, {22, 22}, torch::kInt64)Znll_lossZ
nll_loss2dzat::rand({6, 6, 6, 6})z(at::randint(6, {6, 6, 6}, torch::kInt64)zat::rand({22, 22, 22, 22})z,at::randint(22, {22, 22, 22}, torch::kInt64))Zfft_fftZfft_ifftZfft_rfftZ	fft_irfftZfft_hfftZ	fft_ihfftz	"forward"ZnormZlinalg_tensorinvÚ2ÚindZaddmvzat::rand({2})zat::rand({2, 2})Úmatzat::rand({35})zat::rand({35, 35})Úacoshz)at::rand({2, 2, 2}) + at::ones({2, 2, 2})z)at::rand({5, 5, 5}) + at::ones({5, 5, 5})Zadaptive_max_pool2d_backwardzat::randint(-3, 2, {2,2,2})Zgrad_outputz%at::randint(0, 1, {2,2,2}, at::kLong)zat::randint(-3, 3, {3,3,3})zat::randint(-3, 2, {3,3,3})z%at::randint(0, 1, {3,3,3}, at::kLong)Zadaptive_max_pool3d_backwardzat::randint(-3, 2, {2,2,2,2})z'at::randint(0, 1, {2,2,2,2}, at::kLong)zat::randint(-3, 3, {3,3,3,3})zat::randint(-3, 2, {3,3,3,3})z'at::randint(0, 1, {3,3,3,3}, at::kLong)Zgatherz&at::randint(1, 100, {2,2,2}, at::kInt)Ú1Zdimz)at::randint(0, 1, {2,2,2}, torch::kInt64)ÚfalseZsparse_gradz&at::randint(1, 100, {5,5,5}, at::kInt)z)at::randint(0, 4, {5,5,5}, torch::kInt64)Zgeluzat::rand({6, 6, 6})z"tanh"Zapproximatezat::rand({22, 22, 22})Zgelu_backwardZ	index_addÚ0z at::randint(0, 1, {2}, at::kInt)ÚsourceÚalphazat::rand({16})z"at::randint(0, 10, {16}, at::kInt)Z
index_copyz!at::randint(0, 1, {2}, at::kLong)zat::rand({32})z#at::randint(0, 10, {32}, at::kLong)Zlinalg_crosszat::rand({6, 3, 6})Znll_loss_backwardzat::rand({})z%at::randint(0, 5, {6}, torch::kInt64)Z	reductionZignore_indexZtotal_weightzat::rand({36})z'at::randint(0, 11, {36}, torch::kInt64))ZscatterZscatter_addÚ_scatter_reducez+at::randint(1, 100, {2,2,2}, torch::kInt64)Úsrcz+at::randint(1, 100, {5,5,5}, torch::kInt64)z)at::randint(0, 1, {5,5,5}, torch::kInt64)Úreducer5   z"sum"z"add"Zscatter_reducez"mean"Zspecial_zetaz2at::rand({2,2,2}, at::kDouble) + at::ones({2,2,2})z2at::rand({5,5,5}, at::kDouble) + at::ones({5,5,5})Z _convert_indices_from_csr_to_cooz!torch::tensor({1}, torch::kInt32)Zcrow_indicesz'torch::tensor({0, 1, 0}, torch::kInt32)Zcol_indicesZ	out_int32z!torch::tensor({0}, torch::kInt32)zBtorch::tensor({0, 1, 0, 2, 1, 2, 0, 1, 0, 2, 1, 2}, torch::kInt32)Z _convert_indices_from_coo_to_csrz at::randint(0, 3, {2}, at::kInt)Ú10Úsizez!at::randint(0, 3, {12}, at::kInt)Z24)ÚAssertionError)r   r    r!   r   r   r   Úoverride_test_values/   s   






















































































þÿ


r;   )Ztorchgen.modelr   Útypingr   r   r   Ú	frozensetr   Úboolr   Úintr;   r   r   r   r   Ú<module>   s   ÿ 