U
    Ã9%eiž  ã                   @   s4   d Z ddl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
é    Nc                   C   s   t d kri a tt ƒ d S )N)Ú	_ufunc_dbÚ_fill_ufunc_db© r   r   úP/var/www/html/Darija-Ai-API/env/lib/python3.8/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   )Z	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r†|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„|j„dœ| t	j…< |j†}|j‡|j‡||dœ| t	jˆ< |j‰|j‰dœ| t	jŠ< |j‹|j‹dœ| t	jŒ< |j|j|jŽ|jŽdœ| t	j< |j|j|j‘|j‘dœ| t	j’< |j“|j“|j”|j”dœ| t	j•< |j–}	|j—|j—|	|	dœ| t	j˜< |j™|j™|jš|jšdœ| t	j›< |jœ}
|j|j|
|
dœ| t	jž< |jŸ|jŸdœ| t	j < | t	j  | t	j¡< |j¢|j¢dœ| t	j£< | t	j£ | t	j¤< |j¥|j¥dœ| t	j¦< |j§|j§dœ| t	j¨< |j©|j©dœ| t	jª< |j«|j«dœ| t	j¬< |j­|j®|j­|j®|j­|j®|j­|j®|j­|j®|j­|j¯|j¯|j°|j°dœ| t	j±< |dk	r| t	j±  ²| ³d¡| ´d¡dœ¡ |jµ|j¶|jµ|j¶|jµ|j¶|jµ|j¶|jµ|j¶|jµ|j·|j·|j¸|j¸dœ| t	j¹< |dk	rˆ| t	j¹  ²| ³d¡| ´d¡dœ¡ |jº|j»|jº|j»|jº|j»|jº|j»|jº|j»|jº|j¼|j¼|j½|j½dœ| t	j¾< |dk	rü| t	j¾  ²| ³d¡| ´d¡dœ¡ |j¿|jÀ|j¿|jÀ|j¿|jÀ|j¿|jÀ|j¿|jÀ|j¿|jÁ|jÁ|jÂ|jÂdœ| t	jÃ< |dk
rp| t	jÃ  ²| ³d¡| ´d¡dœ¡ |jÄ|jÄ|jÄ|jÄ|jÄ|jÄ|jÄ|jÄ|jÄ|jÄ|jÄ|jÅ|jÅ|jÆ|jÆdœ| t	jÇ< |dk
rä| t	jÇ  ²| ³d¡| ´d¡dœ¡ |jÈ|jÈ|jÈ|jÈ|jÈ|jÈ|jÈ|jÈ|jÈ|jÈ|jÈ|jÉ|jÉ|jÊ|jÊdœ| t	jË< |dkrX| t	jË  ²| ³d¡| ´d¡dœ¡ |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×< |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ç< |jè|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î|jî|jîdœ| t	jï< |jð|jð|jñ|jñ|jò|jò|jò|jò|jò|jò|jò|jò|jò|jò|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ý|jý|jýd œ| 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|jd!œ| 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|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d#l m} | t	j  ²d$|ji¡ | t	j  ²d$|j	i¡ | t	j  ²d$|j
i¡ | t	j  ²d$|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$d,œ¡ | t	já  ²|j%|j&d,œ¡ | t	jä  ²|j'|j(d,œ¡ | t	jç  ²|j)|j*d,œ¡ | t	j8  ²d-|j+i¡ d S ).Nr   )Ú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+   r,   r-   r.   )zbb->dzBB->dzhh->dzHH->dzii->dzII->dzll->dzLL->dzqq->dzQQ->dr+   r,   r-   r.   )r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   )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+   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->?)é   é   ú>)zqQ->?zQq->?z>=ú<z<=z!=z==)r   úb->?úB->?úh->?úH->?úi->?úI->?úl->?úL->?úq->?úQ->?úf->?úd->?úF->?úD->?)r=   r>   r?   r@   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r   r   r   )r=   r>   r?   r@   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r   r   r   )r=   r>   )zfi->fzfl->fzdi->dzdl->d)r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   )r   r   r   r   r   r   r   r   r   r   r   )Ú
npdatetimezm->m)úmm->múMm->MzmM->M)rB   rC   zMM->m)úmq->múmd->mzqm->mzdm->m)rD   rE   zmm->d)rD   rE   zmm->q)zMM->?zmm->?)zMM->MrB   rB   (,  Znumba.npr
   Znumba.cpythonr   r   r   Znumba.np.numpy_supportr   Znp_datetime_isnat_implÚnpZisnatZint_invert_implZint_negate_implZreal_negate_implZcomplex_negate_implÚnegativeZint_positive_implZreal_positive_implZcomplex_positive_implZpositiveZint_abs_implZuint_abs_implZreal_abs_implZcomplex_abs_implÚabsoluteZint_sign_implZreal_sign_implZnp_complex_sign_implÚsignZint_or_implZint_add_implZreal_add_implZcomplex_add_implÚaddZint_xor_implZint_sub_implZreal_sub_implZcomplex_sub_implÚsubtractZint_and_implZint_mul_implZreal_mul_implZcomplex_mul_implÚmultiplyÚdivideZtrue_divideZnp_int_sdiv_implZnp_int_udiv_implZnp_real_div_implZnp_complex_div_implZnp_int_truediv_implZnp_real_floor_div_implZfloor_divideZnp_int_srem_implZnp_int_urem_implZnp_real_mod_implÚ	remainderZnp_int_sdivrem_implZnp_int_udivrem_implZnp_real_divmod_implÚdivmodZnp_int_fmod_implZnp_real_fmod_implÚfmodZnp_real_logaddexp_implZ	logaddexpZnp_real_logaddexp2_implZ
logaddexp2Zint_power_implZreal_power_implZnp_complex_power_implÚpowerZreal_float_power_implZnp_complex_float_power_implZfloat_powerZnp_gcd_implÚgcdZnp_lcm_implZlcmZnp_real_rint_implZnp_complex_rint_implZrintZreal_conjugate_implZcomplex_conjugate_implÚ	conjugateZnp_real_exp_implZnp_complex_exp_implÚexpZnp_real_exp2_implZnp_complex_exp2_implZexp2Znp_real_log_implZnp_complex_log_implÚlogZnp_real_log2_implZnp_complex_log2_implÚlog2Znp_real_log10_implZnp_complex_log10_implÚlog10Znp_real_expm1_implZnp_complex_expm1_implÚexpm1Znp_real_log1p_implZnp_complex_log1p_implÚlog1pZnp_real_sqrt_implZnp_complex_sqrt_implÚsqrtZnp_int_square_implZnp_real_square_implZnp_complex_square_implZsquareZnp_real_cbrt_implZcbrtZnp_int_reciprocal_implZnp_real_reciprocal_implZnp_complex_reciprocal_implZ
reciprocalZnp_real_sin_implZnp_complex_sin_implÚsinZnp_real_cos_implZnp_complex_cos_implÚcosÚtan_implZnp_real_tan_implÚtanZ	asin_implZnp_real_asin_implZarcsinZnp_real_acos_implZ	acos_implZarccosZ	atan_implZnp_real_atan_implZarctanZnp_real_atan2_implZarctan2Znp_real_hypot_implÚhypotZnp_real_sinh_implZnp_complex_sinh_implÚsinhZnp_real_cosh_implZnp_complex_cosh_implÚcoshZnp_real_tanh_implZnp_complex_tanh_implÚtanhZ
asinh_implZnp_real_asinh_implZarcsinhZnp_real_acosh_implZnp_complex_acosh_implZarccoshZ
atanh_implZnp_real_atanh_implZarctanhZradians_float_implZdeg2radÚradiansZdegrees_float_implZrad2degÚdegreesZnp_real_floor_implÚfloorZnp_real_ceil_implÚceilZnp_real_trunc_implÚtruncZnp_real_fabs_implÚfabsZint_ugt_implZint_sgt_implZreal_gt_implZnp_complex_gt_implZgreaterÚupdateZint_signed_unsigned_cmpZint_unsigned_signed_cmpZint_uge_implZint_sge_implZreal_ge_implZnp_complex_ge_implZgreater_equalZint_ult_implZint_slt_implZreal_lt_implZnp_complex_lt_implÚlessZint_ule_implZint_sle_implZreal_le_implZnp_complex_le_implZ
less_equalZint_ne_implZreal_ne_implZnp_complex_ne_implÚ	not_equalZint_eq_implZreal_eq_implZnp_complex_eq_implÚequalZnp_logical_and_implZnp_complex_logical_and_implÚlogical_andZnp_logical_or_implZnp_complex_logical_or_implÚ
logical_orZnp_logical_xor_implZnp_complex_logical_xor_implÚlogical_xorZnp_logical_not_implZnp_complex_logical_not_implZlogical_notZnp_int_smax_implZnp_int_umax_implZnp_real_maximum_implZnp_complex_maximum_implÚmaximumZnp_int_smin_implZnp_int_umin_implZnp_real_minimum_implZnp_complex_minimum_implÚminimumZnp_real_fmax_implZnp_complex_fmax_implZfmaxZnp_real_fmin_implZnp_complex_fmin_implZfminZnp_real_isnan_implZnp_complex_isnan_implZnp_int_isnan_implÚisnanZnp_real_isinf_implZnp_complex_isinf_implZnp_int_isinf_implÚisinfZnp_real_isfinite_implZnp_complex_isfinite_implZnp_int_isfinite_implZnp_datetime_isfinite_implÚisfiniteZnp_real_signbit_implZsignbitZnp_real_copysign_implÚcopysignZnp_real_nextafter_implZ	nextafterZnp_real_spacing_implÚspacingZnp_real_ldexp_implÚldexpZbitwise_andZ
bitwise_orZbitwise_xorÚinvertZint_shl_implZ
left_shiftZint_shr_implZright_shiftrA   Ztimedelta_neg_implZtimedelta_pos_implZtimedelta_abs_implZtimedelta_sign_implZtimedelta_add_implZdatetime_plus_timedeltaZtimedelta_plus_datetimeZtimedelta_sub_implZdatetime_minus_timedeltaZdatetime_minus_datetimeZtimedelta_times_numberZnumber_times_timedeltaZtimedelta_over_numberZtimedelta_over_timedeltaZtimedelta_floor_div_timedeltaZdatetime_eq_datetime_implZtimedelta_eq_timedelta_implZdatetime_ne_datetime_implZtimedelta_ne_timedelta_implZdatetime_lt_datetime_implZtimedelta_lt_timedelta_implZdatetime_le_datetime_implZtimedelta_le_timedelta_implZdatetime_gt_datetime_implZtimedelta_gt_timedelta_implZdatetime_ge_datetime_implZtimedelta_ge_timedelta_implZdatetime_maximum_implZtimedelta_maximum_implZdatetime_minimum_implZtimedelta_minimum_implZdatetime_fmax_implZtimedelta_fmax_implZdatetime_fmin_implZtimedelta_fmin_implZtimedelta_mod_timedelta)Zufunc_dbr
   r   r   r   r   r]   Zarcsin_implZarctan_implZarcsinh_implZarctanh_implrA   r   r   r   r   .   s6   ýñññòñññòòôôôôþþïüööüòüüüüüüüüòþòüüüüüüþþüüüüüüþþþþþþñ

þñ

þñ

þñ

þñ

þñ

þññññññññèèèþþþþü	õõõõöö
 ÿ
 ÿ
 ÿ
 ÿ
ý
ý
ü
ý
ý
þ
 ÿ
þ
þ
þ
þ
þ
þ
þ
þ
þ
þ
 ÿr   )Ú__doc__ÚnumpyrF   r   r   r   r	   r   r   r   r   r   Ú<module>   s   
