o
    Y۷i                     @   sf   d Z ddlZddlZejdZeee	ej
ddd Zdadd Zdd	 Zd
d Zdd ZdS )aQ  This file contains information on how to translate different ufuncs
into numba. It is a database of different ufuncs and how each of its
loops maps to a function that implements the inner kernel of that ufunc
(the inner kernel being the per-element function).

Use the function get_ufunc_info to get the information related to the
ufunc
    Nwin32.   c                   C   s   t d u ri a tt  d S d S )N)	_ufunc_db_fill_ufunc_db r   r   G/home/ubuntu/vllm_env/lib/python3.10/site-packages/numba/np/ufunc_db.py_lazy_init_db   s   r	   c                   C   s   t   t S )z+obtain a list of supported ufuncs in the db)r	   r   keysr   r   r   r   
get_ufuncs   s   r   c                 C   s   t   t|  S )a  get the lowering information for the ufunc with key ufunc_key.

    The lowering information is a dictionary that maps from a numpy
    loop string (as given by the ufunc types attribute) to a function
    that handles code generation for a scalar version of the ufunc
    (that is, generates the "per element" operation").

    raises a KeyError if the ufunc is not in the ufunc_db
    )r	   r   )	ufunc_keyr   r   r   get_ufunc_info"   s   
r   c                 C   s  ddl m} ddlm}m}m} ddlm} |j|jd| t	j
< |j|j|j|j|j|j|j|j|j|j|j|j|j|j|jd| t	j< |j|j|j|j|j|j|j|j|j|j|j|j|j|j|jd| t	j< |j|j|j|j|j|j|j|j|j|j|j|j|j|j|jd| t	j< |j|j|j|j|j|j|j|j|j|j|j|j|j|jd| t	j< |j|j|j|j|j|j|j|j|j|j|j|j|j|j |j d	| t	j!< |j"|j#|j#|j#|j#|j#|j#|j#|j#|j#|j#|j$|j$|j%|j%d	| t	j&< |j'|j(|j(|j(|j(|j(|j(|j(|j(|j(|j(|j)|j)|j*|j*d	| t	j+< t	j,t	j-krC|j.|j/|j.|j/|j.|j/|j.|j/|j.|j/|j0|j0|j1|j1d
| t	j,< |j2|j2|j2|j2|j2|j2|j2|j2|j2|j2|j0|j0|j1|j1d| t	j-< |j.|j/|j.|j/|j.|j/|j.|j/|j.|j/|j3|j3d| t	j4< |j5|j6|j5|j6|j5|j6|j5|j6|j5|j6|j7|j7d| t	j8< |j9|j:|j9|j:|j9|j:|j9|j:|j9|j:|j;|j;d| t	j<< |j=|j=|j=|j=|j=|j=|j=|j=|j=|j=|j>|j>d| t	j?< |j@|j@d| t	jA< |jB|jBd| t	jC< |jD|jD|jD|jD|jD|jD|jD|jD|jD|jD|jE|jE|jF|jFd
| t	jG< |jH|jH|jI|jId| t	jJ< |jK|jK|jK|jK|jK|jK|jK|jK|jK|jKd
| t	jL< |jM|jM|jM|jM|jM|jM|jM|jM|jM|jMd
| t	jN< |jO|jO|jP|jPd| t	jQ< |jR|jR|jR|jR|jR|jR|jR|jR|jR|jR|jR|jR|jS|jSd| t	jT< |jU|jU|jV|jVd| t	jW< |jX|jX|jY|jYd| t	jZ< |j[|j[|j\|j\d| t	j]< |j^|j^|j_|j_d| t	j`< |ja|ja|jb|jbd| t	jc< |jd|jd|je|jed| t	jf< |jg|jg|jh|jhd| t	ji< |jj|jj|jk|jkd| t	jl< |jm|jm|jm|jm|jm|jm|jm|jm|jm|jm|jn|jn|jo|jod| t	jp< |jq|jqd| t	jr< |js|js|js|js|js|js|js|js|js|js|jt|jt|ju|jud| t	jv< |jw|jw|jx|jxd| t	jy< |jz|jz|j{|j{d| t	j|< |j}}|j~|j~||d| t	j< |j}|j|j||d| t	j< |j|j|j|jd| t	j< |j}|j|j||d| t	j< |j|jd| t	j< |j|jd| t	j< |j|j|j|jd| t	j< |j|j|j|jd| t	j< |j|j|j|jd| t	j< |j}	|j|j|	|	d| t	j< |j|j|j|jd| t	j< |j}
|j|j|
|
d| t	j< |j|jd| t	j< | t	j | t	j< |j|jd| t	j< | t	j | t	j< |j|jd| t	j< |dkrV| t	j |j|j|j|j|j|j|j|j|j|j|jd |j|jd| t	j< |dkr| t	j |j|j|j|j|j|j|j|j|j|j|jd |j|jd| t	j< |dkr| t	j |j|j|j|j|j|j|j|j|j|j|jd |j|jd| t	j< |j|j|j|j|j|j|j|j|j|j|j|j|j|j|jd| t	j< |dkr| t	j |d|dd |j|j|j|j|j|j|j|j|j|j|j|j|j|j|jd| t	j< |dkr0| t	j |d|dd |j|j|j|j|j|j|j|j|j|j|j|j|j|j|jd| t	j< |dkrj| t	j |d|dd |j|j|j|j|j|j|j|j|j|j|j|j|j|j|jd| t	j< |dkr| t	j |d|dd |j|j|j|j|j|j|j|j|j|j|j|j|j|j|jd| t	j< |dkr| t	j |d|dd |j|j|j|j|j|j|j|j|j|j|j|j|j|j|jd| t	j< |dkr| t	j |d|dd |j|j|j|j|j|j|j|j|j|j|j|j|j|j|jd| t	j< |j|j|j|j|j|j|j|j|j|j|j|j|j|j|jd| t	j< |j|j|j|j|j|j|j|j|j|j|j|j|j|j|jd| t	j< |j|j|j|j|j|j|j|j|j|j|j|j|j|j|jd| t	j< |j|j|j|j|j|j|j|j|j|j|j|j|j|j|jd	| t	j< |j|j|j|j|j|j|j|j|j|j|j|j|j|j|jd	| t	j< |j|j|j|j|j|j|j|j|j|j|j|j|j|j|jd	| t	j< |j|j|j|j|j|j|j|j|j|j|j|j|j|j|jd	| t	j< i d|jd |jd!|jd"|jd#|jd$|jd%|jd&|jd'|jd(|jd)|jd*|jd+|jd,|jd-|jd.|jd/|j| t	j< i d|jd |jd!|jd"|jd#|jd$|jd%|jd&|jd'|jd(|jd)|jd*|jd+|jd,|jd-|jd.|jd/|j| t	j< i d|jd |jd!|jd"|jd#|jd$|jd%|jd&|jd'|jd(|jd)|jd*|jd+|jd,|jd-|jd/|jd.|j| t	j< |j|jd0| t	j< |j|jd| t	j< |j|jd| t	j< |j|jd| t	j< |j|j|j|jd1| t	j< |d2krnt rn| t	j d3| t	j d4< | t	j d5| t	j d6< |j'|j'|j'|j'|j'|j'|j'|j'|j'|j'|j'd7| t	j< |j|j|j|j|j|j|j|j|j|j|jd7| t	j< |j"|j"|j"|j"|j"|j"|j"|j"|j"|j"|j"d7| t	j< |j|j|j|j|j|j|j|j|j|j|jd| t	j< |j|j|j|j|j|j|j|j|j|jd
| t	j< |j|j|j|j|j|j|j|j|j|jd
| t	j	< dd8l m
} | t	j d9|ji | t	j d9|ji | t	j d9|ji | t	j d9|ji | t	j! |j|j|jd: | t	j& |j|j|jd; | t	j+ |j|j|j|jd< t	j,t	j-k	r| t	j, |j|j|jd= | t	j- |j|j|jd= | t	j4 |j|jd> | t	j4 d?|ji | t	j |j|jd@ | t	j |j|jd@ | t	j |j|jd@ | t	j |j |j!d@ | t	j |j"|j#d@ | t	j |j$|j%d@ | t	j |j&|j'dA | t	j |j(|j)dA | t	j |j*|j+dA | t	j |j,|j-dA | t	j8 dB|j.i d S )CNr   )npyfuncs)	cmathimplmathimplnumbers)numpy_version)M->?m->?)?->?b->bB->Bh->hH->Hi->iI->Il->lL->Lq->qQ->Qf->fd->dF->FD->D)r   r   r   r   r   r   r   r   r   r   r   r    r!   zF->fzD->d)r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   )??->?bb->bBB->Bhh->hHH->Hii->iII->Ill->lLL->Lqq->qQQ->Qff->fdd->dFF->FDD->D)r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   )zbb->dzBB->dzhh->dzHH->dzii->dzII->dzll->dzLL->dzqq->dzQQ->dr/   r0   r1   r2   )r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   )zbb->bbzBB->BBzhh->hhzHH->HHzii->iizII->IIzll->llzLL->LLzqq->qqzQQ->QQzff->ffzdd->dd)r/   r0   )r/   r0   r1   r2   )
r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   )r    r!   r"   r#   )r    r!   )r      )r   r   r   r   r   r   r   r   r   r   r   )r$   zbb->?zBB->?zhh->?zHH->?zii->?zII->?zll->?zLL->?zqq->?zQQ->?zff->?zdd->?zFF->?zDD->?)r3      >)zqQ->?zQq->?z>=<z<=z!=z==)r   b->?B->?h->?H->?i->?I->?l->?L->?q->?Q->?f->?d->?F->?D->?rA   rB   rC   rD   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   r   r   r   )rA   rB   )zfi->ffl->fzdi->ddl->d)r   r   rE   zfq->frF   zdq->d)r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   )
npdatetimezm->m)mm->mMm->MzmM->M)rH   rI   zMM->m)mq->mmd->mzqm->mzdm->m)rJ   rK   zmm->d)rJ   rK   zmm->q)zMM->?zmm->?)zMM->MrH   rH   (/  numba.npr   numba.np.mathr   r   r   numba.np.numpy_supportr   np_datetime_isnat_implnpisnatint_invert_implint_negate_implreal_negate_implcomplex_negate_implnegativeint_positive_implreal_positive_implcomplex_positive_implpositiveint_abs_impluint_abs_implreal_abs_implcomplex_abs_implabsoluteint_sign_implreal_sign_implnp_complex_sign_implsignint_or_implint_add_implreal_add_implcomplex_add_impladdint_xor_implint_sub_implreal_sub_implcomplex_sub_implsubtractint_and_implint_mul_implreal_mul_implcomplex_mul_implmultiplydividetrue_dividenp_int_sdiv_implnp_int_udiv_implnp_real_div_implnp_complex_div_implnp_int_truediv_implnp_real_floor_div_implfloor_dividenp_int_srem_implnp_int_urem_implnp_real_mod_impl	remaindernp_int_sdivrem_implnp_int_udivrem_implnp_real_divmod_impldivmodnp_int_fmod_implnp_real_fmod_implfmodnp_real_logaddexp_impl	logaddexpnp_real_logaddexp2_impl
logaddexp2int_power_implreal_power_implnp_complex_power_implpowerreal_float_power_implnp_complex_float_power_implfloat_powernp_gcd_implgcdnp_lcm_impllcmnp_real_rint_implnp_complex_rint_implrintreal_conjugate_implcomplex_conjugate_impl	conjugatenp_real_exp_implnp_complex_exp_implexpnp_real_exp2_implnp_complex_exp2_implexp2np_real_log_implnp_complex_log_impllognp_real_log2_implnp_complex_log2_impllog2np_real_log10_implnp_complex_log10_impllog10np_real_expm1_implnp_complex_expm1_implexpm1np_real_log1p_implnp_complex_log1p_impllog1pnp_real_sqrt_implnp_complex_sqrt_implsqrtnp_int_square_implnp_real_square_implnp_complex_square_implsquarenp_real_cbrt_implcbrtnp_int_reciprocal_implnp_real_reciprocal_implnp_complex_reciprocal_impl
reciprocalnp_real_sin_implnp_complex_sin_implsinnp_real_cos_implnp_complex_cos_implcostan_implnp_real_tan_impltan	asin_implnp_real_asin_implarcsinnp_real_acos_impl	acos_implarccos	atan_implnp_real_atan_implarctannp_real_atan2_implarctan2np_real_hypot_implhypotnp_real_sinh_implnp_complex_sinh_implsinhnp_real_cosh_implnp_complex_cosh_implcoshnp_real_tanh_implnp_complex_tanh_impltanh
asinh_implnp_real_asinh_implarcsinhnp_real_acosh_implnp_complex_acosh_implarccosh
atanh_implnp_real_atanh_implarctanhradians_float_impldeg2radradiansdegrees_float_implrad2degdegreesnp_real_floor_implfloorupdateidentity_implnp_real_ceil_implceilnp_real_trunc_impltruncnp_real_fabs_implfabsint_ugt_implint_sgt_implreal_gt_implnp_complex_gt_implgreaterint_signed_unsigned_cmpint_unsigned_signed_cmpint_uge_implint_sge_implreal_ge_implnp_complex_ge_implgreater_equalint_ult_implint_slt_implreal_lt_implnp_complex_lt_impllessint_ule_implint_sle_implreal_le_implnp_complex_le_impl
less_equalint_ne_implreal_ne_implnp_complex_ne_impl	not_equalint_eq_implreal_eq_implnp_complex_eq_implequalnp_logical_and_implnp_complex_logical_and_impllogical_andnp_logical_or_implnp_complex_logical_or_impl
logical_ornp_logical_xor_implnp_complex_logical_xor_impllogical_xornp_logical_not_implnp_complex_logical_not_impllogical_notnp_int_smax_implnp_int_umax_implnp_real_maximum_implnp_complex_maximum_implmaximumnp_int_smin_implnp_int_umin_implnp_real_minimum_implnp_complex_minimum_implminimumnp_real_fmax_implnp_complex_fmax_implfmaxnp_real_fmin_implnp_complex_fmin_implfminnp_real_isnan_implnp_complex_isnan_implnp_int_isnan_implisnannp_real_isinf_implnp_complex_isinf_implnp_int_isinf_implisinfnp_real_isfinite_implnp_complex_isfinite_implnp_int_isfinite_implnp_datetime_isfinite_implisfinitenp_real_signbit_implsignbitnp_real_copysign_implcopysignnp_real_nextafter_impl	nextafternp_real_spacing_implspacingnp_real_ldexp_implldexpIS_WIN32popbitwise_and
bitwise_orbitwise_xorinvertint_shl_impl
left_shiftint_shr_implright_shiftrG   timedelta_neg_impltimedelta_pos_impltimedelta_abs_impltimedelta_sign_impltimedelta_add_impldatetime_plus_timedeltatimedelta_plus_datetimetimedelta_sub_impldatetime_minus_timedeltadatetime_minus_datetimetimedelta_times_numbernumber_times_timedeltatimedelta_over_numbertimedelta_over_timedeltatimedelta_floor_div_timedeltadatetime_eq_datetime_impltimedelta_eq_timedelta_impldatetime_ne_datetime_impltimedelta_ne_timedelta_impldatetime_lt_datetime_impltimedelta_lt_timedelta_impldatetime_le_datetime_impltimedelta_le_timedelta_impldatetime_gt_datetime_impltimedelta_gt_timedelta_impldatetime_ge_datetime_impltimedelta_ge_timedelta_impldatetime_maximum_impltimedelta_maximum_impldatetime_minimum_impltimedelta_minimum_impldatetime_fmax_impltimedelta_fmax_impldatetime_fmin_impltimedelta_fmin_impltimedelta_mod_timedelta)ufunc_dbr   r   r   r   r   r   arcsin_implarctan_implarcsinh_implarctanh_implrG   r   r   r   r   0   s  

















	

	

	
























r   )__doc__numpyrP   sysplatform
startswithrG  tuplemapint__version__splitr   r   r	   r   r   r   r   r   r   r   <module>   s    
