§
    2@Äjëü  ã                   ó  — d Z ddlZddlZddlZddlmZ ddlm	Z	 ddl
mZmZmZmZmZmZ ddlmZ ddlmZ ddlmZmZmZ dd	lmZ d
ZdZdZdŒd„Zej        Zefd„Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'e&Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/d„ Z. e/e.eej0        ej1        ¦  «         d„ Z2d„ Z3d „ Z4 ee4d!¬"¦  «        d#„ ¦   «         Z5 e/e3d$e4ej6        ¦  «         d%„ Z7d&„ Z8d'„ Z9d(„ Z:d)„ Z;d*„ Z<d+„ Z=d,„ Z>d-„ Z?d.„ Z@d/„ ZAd0„ ZBd1„ ZCd2„ ZDd3„ ZEd4„ ZFd5„ ZGd6„ ZHd7„ ZId8„ ZJd9„ ZKd:„ ZLd;„ ZMd<„ ZNd=„ ZOd>„ ZPd?„ ZQd@„ ZRdA„ ZSdB„ ZTdC„ ZUdD„ ZVdE„ ZWdF„ ZXdG„ ZYdH„ ZZdI„ Z[dJ„ Z\dK„ Z]dL„ Z^dM„ Z_dN„ Z`dO„ ZadP„ ZbdQ„ ZcdR„ ZddS„ ZedT„ ZfdU„ ZgdV„ ZhdW„ ZidX„ ZjdY„ ZkdZ„ Zld[„ Zmd\„ Znd]„ Zod^„ Zpd_„ Zqd`„ Zrda„ Zsdb„ Ztdc„ Zudd„ Zvde„ Zwdf„ Zxdg„ Zydh„ Zzdi„ Z{dj„ Z|dk„ Z}dl„ Z~dm„ Zdn„ Z€do„ Z�dp„ Z‚dq„ Zƒdr„ Z„ds„ Z…dt„ Z†du„ Z‡dv„ Zˆdw„ Z‰dx„ ZŠdy„ Z‹dz„ ZŒd{„ Z�d|„ ZŽd}„ Z�d~„ Z�d„ Z‘d€„ Z’d�„ Z“d‚„ Z”dƒ„ Z•d„„ Z–d…„ Z—d†„ Z˜d‡„ Z™dˆ„ Zšd‰„ Z›dŠ„ Zœd‹„ Z�dS )�zŽCodegen for functions used as kernels in NumPy functions

Typically, the kernels of several ufuncs that can't map directly to
Python builtins
é    N©Úoverload)Úimpl_ret_untracked)ÚtypingÚtypesÚerrorsÚloweringÚcgutilsÚconfig)Úregister_jitable)Ú
npdatetime)Ú	cmathimplÚmathimplÚnumbers)Únumpy_versiongþ‚+eG÷?gå&{ËÛ?gï9úþB.æ?c                 ól  ‡— t          |¦  «        |k    sJ ‚t          | j        ¦  «        |k    sJ ‚| j        d         Š|€‰}t          ˆfd„| j        D ¦   «         ¦  «        r| j        |k    sGddl}|                     ¦   «         j        j        j        }d 	                    || ¦  «        }J |¦   «         ‚dS )zëchecks that the following are true:
    - args and sig.args have arg_count elements
    - all input types are homogeneous
    - return type is 'return_type' if provided, otherwise it must be
      homogeneous with the input types.
    r   Nc              3   ó$   •K  — | ]
}|‰k    V — Œd S ©N© )Ú.0ÚargÚtys     €úBC:\Projects\Historical\venv\Lib\site-packages\numba/np/npyfuncs.pyú	<genexpr>z/_check_arity_and_homogeneity.<locals>.<genexpr>*   s'   øè è € Ð,Ð,˜C��R’Ð,Ð,Ð,Ð,Ð,Ð,ó    z"{0} called with invalid types: {1})
ÚlenÚargsÚallÚreturn_typeÚinspectÚcurrentframeÚf_backÚf_codeÚco_nameÚformat)Úsigr   Úarityr   r    ÚfnameÚmsgr   s          @r   Ú_check_arity_and_homogeneityr*      sÌ   ø€ õ ˆt‰9Œ9˜ÒÐÐÐÝˆsŒx‰=Œ=˜EÒ!Ð!Ð!Ð!Ø	Œ�!Œ€BØÐØˆåÐ,Ð,Ð,Ð, 3¤8Ð,Ñ,Ô,Ñ,Ô,ð °´ÀKÒ1OÐ1OØˆˆˆØ×$Ò$Ñ&Ô&Ô-Ô4Ô<ˆØ2×9Ò9¸%ÀÑEÔEˆØ�cÑÔˆuð	 2PÐ1Or   c                 óš  ‡ ‡‡— ‰j         }‰                      ‰¦  «        }t          j                             ||gt          |j        ¦  «        z  ¦  «        }t          j        |||¬¦  «        }	ˆˆ ˆfd„t          ||j        ¦  «        D ¦   «         }
‰ 
                    |	|
¦  «        }‰                      ‰|t          j        |j        ¦  «        S )N©Únamec                 óF   •— g | ]\  }}‰                      ‰||‰¦  «        ‘ŒS r   )Úcast)r   r   ÚargtyÚbuilderÚcontextr   s      €€€r   ú
<listcomp>z0_call_func_by_name_with_cast.<locals>.<listcomp>;   s?   ø€ ð 9ð 9ð 9Ù�S˜%ð —’˜g s¨E°2Ñ6Ô6ð 9ð 9ð 9r   )ÚmoduleÚget_argument_typeÚllvmliteÚirÚFunctionTyper   r   r
   Úinsert_pure_functionÚzipÚcallr/   r   Úfloat64r   )r2   r1   r&   r   Ú	func_namer   ÚmodÚltyÚfntyÚfnÚ	cast_argsÚresults   ``   `      r   Ú_call_func_by_name_with_castrD   2   sÍ   øøø€ ð
 Œ.€CØ
×
#Ò
# BÑ
'Ô
'€CÝŒ;×#Ò# C¨#¨­s°3´8©}¬}Ñ)<Ñ=Ô=€DÝ	Ô	% c¨4°iÐ	@Ñ	@Ô	@€Bð9ð 9ð 9ð 9ð 9ð 9Ý#& t¨S¬XÑ#6Ô#6ð9ñ 9ô 9€Ið �\Š\˜"˜iÑ(Ô(€FØ�<Š<˜ ­¬¸¼ÑHÔHÐHr   c                 óÂ  ‡ ‡— |j         d         }	 ||         }nI# t          $ r<}d                     |t          |¦  «        ¦  «        }	t	          j        |	¦  «        ‚d }~ww xY w‰j        }
|t          j        v ræ‰  	                    ‰|¦  «        }ˆfd„|D ¦   «         }| 
                    ¦   «         g|z   }|gt          |j         ¦  «        z   }ˆ fd„|D ¦   «         }t          j                             t          j                             ¦   «         |¦  «        }t!          j        |
||¦  «        }‰                     ||¦  «         ‰                     |d         ¦  «        }n�ˆ fd„|j         D ¦   «         }‰                      |j        ¦  «        }t          j                             ||¦  «        }t!          j        |
||¬¦  «        }‰                      ‰||j         |¦  «        }|S )Nr   z!No {0} function for real type {1}c                 ó:   •— g | ]}t          j        ‰|¦  «        ‘ŒS r   )r
   Úalloca_once_value)r   r   r1   s     €r   r3   z/_dispatch_func_by_name_type.<locals>.<listcomp>[   s6   ø€ ð $ð $ð $Øõ Ô,¨W°cÑ:Ô:ð $ð $ð $r   c                 ó^   •— g | ])}‰                      |¦  «                             ¦   «         ‘Œ*S r   )Úget_value_typeÚ
as_pointer)r   r   r2   s     €r   r3   z/_dispatch_func_by_name_type.<locals>.<listcomp>c   sC   ø€ ð /ð /ð /Øð  ×.Ò.¨rÑ2Ô2×=Ò=Ñ?Ô?ð /ð /ð /r   c                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS r   )r5   )r   Úatyr2   s     €r   r3   z/_dispatch_func_by_name_type.<locals>.<listcomp>k   s'   ø€ ÐGÐGÐG°s�G×-Ò-¨cÑ2Ô2ÐGÐGÐGr   r,   )r   ÚKeyErrorr%   Ústrr   ÚLoweringErrorr4   r   Úcomplex_domainÚmake_complexÚ_getpointerÚlistr6   r7   r8   ÚVoidTyper
   Úget_or_insert_functionr;   Úloadr5   r   r9   Úcall_external_function)r2   r1   r&   r   ÚtableÚ	user_namer   r=   Úer)   r>   ÚoutÚptrargsÚ	call_argsÚcall_argtysÚcall_argltysr@   rA   ÚretvalÚargtypesÚrestypes   ``                   r   Ú_dispatch_func_by_name_typerc   B   sù  øø€ ð 
Œ�!Œ€Bð(Ø˜"”Iˆ	ˆ	øÝð (ð (ð (Ø1×8Ò8¸ÅCÈÁFÄFÑKÔKˆÝÔ" 3Ñ'Ô'Ð'øøøøð(øøøð Œ.€CØ	�UÔ!Ð!Ð!ð ×"Ò" 7¨BÑ/Ô/ˆð$ð $ð $ð $Ø"ð$ñ $ô $ˆà—_’_Ñ&Ô&Ð'¨'Ñ1ˆ	ð
 �d�T #¤(™^œ^Ñ+ˆð/ð /ð /ð /Ø"-ð/ñ /ô /ˆåŒ{×'Ò'­¬×(<Ò(<Ñ(>Ô(>ÀÑMÔMˆåÔ+¨C°°yÑAÔAˆØ�Š�R˜Ñ#Ô#Ð#Ø—’˜i¨œlÑ+Ô+ˆˆàGÐGÐGÐG¸c¼hÐGÑGÔGˆØ×+Ò+¨C¬OÑ<Ô<ˆÝŒ{×'Ò'¨°Ñ:Ô:ˆÝÔ)¨#¨t¸)ÐDÑDÔDˆØ×/Ò/°¸¸S¼XÀtÑLÔLˆØ€Ms   ‘ š
A ¤7AÁA c                 óÚ  — t          ||d¦  «         |\  }}|j        d         }|                      |d¦  «        }|                      |d¦  «        }|                      |d|j        j        dz
  z  ¦  «        }	|                     d||¦  «        }
|                     d||¦  «        }|                     d|	|¦  «        }|                     ||¦  «        }|                     |
|¦  «        }|                     |d¬¦  «        5 \  }}|5  |j	        }d d d ¦  «         n# 1 swxY w Y   |5  |j	        }| 
                    ||¦  «        }|                     ||¦  «        }|                     d||¦  «        }|                     d||¦  «        }|                     ||¦  «        }|                     d	||¦  «        }|                     ||¦  «        }|                     |||¦  «        }|                     ||¦  «        }d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                     |j        ¦  «        }|                     ||¦  «         |                     ||¦  «         |S )
Né   r   éÿÿÿÿé   ú==F©Úlikelyú>ú!=)r*   r   Úget_constantÚtypeÚwidthÚicmp_unsignedÚand_Úor_Úif_elseÚbasic_blockÚsdivÚsremÚicmp_signedÚxorÚselectÚaddÚphiÚadd_incoming)r2   r1   r&   r   ÚnumÚdenr   ÚZEROÚ	MINUS_ONEÚMIN_INTÚden_is_zeroÚden_is_minus_oneÚnum_is_min_intÚcould_cause_sigfpeÚ
force_zeroÚthenÚ	otherwiseÚbb_thenÚbb_otherwiseÚdivr>   Únum_gt_zeroÚden_gt_zeroÚnot_same_signÚmod_not_zeroÚneeds_fixingÚ	fix_valueÚresult_otherwiserC   s                                r   Únp_int_sdiv_implr“   €   s  € å   d¨AÑ.Ô.Ð.à�H€CˆØ	Œ�!Œ€Bà×Ò  AÑ&Ô&€DØ×$Ò$ R¨Ñ,Ô,€IØ×"Ò" 2 q¨S¬X¬^¸AÑ-=Ñ'>Ñ?Ô?€GØ×'Ò'¨¨d°CÑ8Ô8€KØ×,Ò,¨T°9¸cÑBÔBÐØ×*Ò*¨4°¸#Ñ>Ô>€NØ ŸšÐ&6¸ÑGÔGÐØ—’˜[Ð*<Ñ=Ô=€JØ	�Š˜¨EˆÑ	2Ô	2ð ;Ñ6G°t¸YØð 	*ð 	*ØÔ)ˆGð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*àð 
	;ð 
	;Ø"Ô.ˆLØ—,’,˜s CÑ(Ô(ˆCØ—,’,˜s CÑ(Ô(ˆCØ!×-Ò-¨c°3¸Ñ=Ô=ˆKØ!×-Ò-¨c°3¸Ñ=Ô=ˆKØ#ŸKšK¨°[ÑAÔAˆMØ"×0Ò0°°s¸DÑAÔAˆLØ"Ÿ<š<¨°|ÑDÔDˆLØŸš |°YÀÑEÔEˆIØ&Ÿ{š{¨3°	Ñ:Ô:Ðð
	;ð 
	;ð 
	;ñ 
	;ô 
	;ð 
	;ð 
	;ð 
	;ð 
	;ð 
	;ð 
	;øøøð 
	;ð 
	;ð 
	;ð 
	;ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;ð �[Š[˜œÑ#Ô#€FØ
×Ò˜˜gÑ&Ô&Ð&Ø
×ÒÐ(¨,Ñ7Ô7Ð7à€Ms[   Ã>HÄDÄHÄD	ÄHÄD	Ä HÄ%CHÇ7HÈH	ÈHÈ
H	ÈHÈHÈ!Hc                 ó  — t          ||d¦  «         |\  }}|j        d         }|                      |d¦  «        }|                     d||¦  «        }|j        }	t          j        ||¦  «        5  |j        }
|                     ||¦  «        }|                     d||¦  «        }|                     d||¦  «        }| 	                    ||¦  «        }|                     d||¦  «        }| 
                    ||¦  «        }|                     |||¦  «        }|                     ||¦  «        }d d d ¦  «         n# 1 swxY w Y   |                     |j        ¦  «        }|                     ||	¦  «         |                     ||
¦  «         |S )Nre   r   rl   rk   )r*   r   rm   rp   rt   r
   Úif_unlikelyrv   rw   rx   rq   ry   rz   r{   rn   r|   )r2   r1   r&   r   r}   r~   r   r   Úden_not_zeroÚbb_no_ifÚbb_ifr>   rŒ   r�   rŽ   r�   r�   r‘   Ú	final_modrC   s                       r   Únp_int_srem_implrš   ¥   s¸  € å   d¨AÑ.Ô.Ð.à�H€CˆØ	Œ�!Œ€Bà×Ò  AÑ&Ô&€DØ×(Ò(¨¨t°SÑ9Ô9€LØÔ"€HÝ	Ô	˜W lÑ	3Ô	3ð 	0ð 	0ØÔ#ˆØ�lŠl˜3˜sÑ#Ô#ˆØ×)Ò)¨#¨s°DÑ9Ô9ˆØ×)Ò)¨#¨s°DÑ9Ô9ˆØŸš K°Ñ=Ô=ˆØ×,Ò,¨T°3¸Ñ=Ô=ˆØ—|’| M°<Ñ@Ô@ˆØ—N’N <°°dÑ;Ô;ˆ	Ø—K’K 	¨3Ñ/Ô/ˆ	ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð �[Š[˜œÑ#Ô#€FØ
×Ò˜˜hÑ'Ô'Ð'Ø
×Ò˜	 5Ñ)Ô)Ð)à€Ms   Á-B<D5Ä5D9Ä<D9c                 óÒ   — t          | | |j        d         |j        Ž |¦  «        }t          | | |j        d         |j        Ž |¦  «        }|                      ||j        ||g¦  «        S ©Nr   rg   )r“   r   r   rš   Ú
make_tuple©r2   r1   r&   r   r‹   Úrems         r   Únp_int_sdivrem_implr    Á   óh   € Ý
˜7 GÐ-?¨S¬_¸QÔ-?ÀÄÐ-JÈDÑ
QÔ
Q€CÝ
˜7 GÐ-?¨S¬_¸QÔ-?ÀÄÐ-JÈDÑ
QÔ
Q€CØ×Ò˜g s¤¸¸c¸
ÑCÔCÐCr   c                 óF  — t          ||d¦  «         |\  }}|j        d         }|                      |d¦  «        }|                     d||¦  «        }|                     |d¬¦  «        5 \  }	}
|	5  |j        }d d d ¦  «         n# 1 swxY w Y   |
5  |                     ||¦  «        }|j        }d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                     |j        ¦  «        }| 	                    ||¦  «         | 	                    ||¦  «         |S )Nre   r   rh   Fri   )
r*   r   rm   rp   rs   rt   Úudivr{   rn   r|   )r2   r1   r&   r   r}   r~   r   r   Údiv_by_zeror‡   rˆ   r‰   r‹   rŠ   rC   s                  r   Únp_int_udiv_implr¥   Ç   sâ  € Ý   d¨AÑ.Ô.Ð.à�H€CˆØ	Œ�!Œ€Bà×Ò  AÑ&Ô&€DØ×'Ò'¨¨d°CÑ8Ô8€KØ	�Š˜¨UˆÑ	3Ô	3ð /Ñ7H¸¸iØð 	*ð 	*àÔ)ˆGð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*ð ð 	/ð 	/à—,’,˜s CÑ(Ô(ˆCØ"Ô.ˆLð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð	/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð �[Š[˜œÑ#Ô#€FØ
×Ò˜˜gÑ&Ô&Ð&Ø
×Ò˜˜\Ñ*Ô*Ð*Ø€MsZ   Á(CÁ.BÁ6CÂB	ÂCÂ	B	Â
CÂB9Â-CÂ9B=	Â=CÃ B=	ÃCÃCÃCc                 óÔ  — t          ||d¦  «         |\  }}|j        d         }|                      |d¦  «        }|                     d||¦  «        }|j        }	t          j        ||¦  «        5  |j        }
|                     ||¦  «        }d d d ¦  «         n# 1 swxY w Y   |                     |j	        ¦  «        }| 
                    ||	¦  «         | 
                    ||
¦  «         |S )Nre   r   rl   )r*   r   rm   rp   rt   r
   r•   Úuremr{   rn   r|   )r2   r1   r&   r   r}   r~   r   r   r–   r—   r˜   r>   rC   s                r   Únp_int_urem_implr¨   Þ   s%  € å   d¨AÑ.Ô.Ð.à�H€CˆØ	Œ�!Œ€Bà×Ò  AÑ&Ô&€DØ×(Ò(¨¨t°SÑ9Ô9€LØÔ"€HÝ	Ô	˜W lÑ	3Ô	3ð $ð $ØÔ#ˆØ�lŠl˜3˜sÑ#Ô#ˆð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð �[Š[˜œÑ#Ô#€FØ
×Ò˜˜hÑ'Ô'Ð'Ø
×Ò˜˜UÑ#Ô#Ð#à€Ms   Á-BÂBÂBc                 óÒ   — t          | | |j        d         |j        Ž |¦  «        }t          | | |j        d         |j        Ž |¦  «        }|                      ||j        ||g¦  «        S rœ   )r¥   r   r   r¨   r�   rž   s         r   Únp_int_udivrem_implrª   ó   r¡   r   c                 ó8   — t          ||d¦  «          |j        |Ž S ©Nre   )r*   Úfdiv©r2   r1   r&   r   s       r   Únp_real_div_implr¯   þ   s%   € õ !  d¨AÑ.Ô.Ð.Øˆ7Œ<˜ÐÐr   c                 óØ  — t          ||d¦  «         |\  }}|j        d         }|                      |d¦  «        }|                     ||¦  «        }|                     d||¦  «        }	|                     d||¦  «        }
|                     d||¦  «        }|                     |	|                     |
|¦  «        ¦  «        }|                     |||¦  «        }|                     ||¦  «        S )Nre   r   ç        rl   ú<)	r*   r   rm   ÚfremÚfcmp_orderedrq   rx   ry   Úfadd)r2   r1   r&   r   Úin1Úin2r   r   ÚresÚres_ne_zeroÚden_lt_zeroÚres_lt_zeror�   r‘   s                 r   Únp_real_mod_implr¼     sè   € õ !  d¨AÑ.Ô.Ð.Ø�H€CˆØ	Œ�!Œ€Bà×Ò  CÑ(Ô(€DØ
�,Š,�s˜CÑ
 Ô
 €CØ×&Ò& t¨S°$Ñ7Ô7€KØ×&Ò& s¨C°Ñ6Ô6€KØ×&Ò& s¨C°Ñ6Ô6€KØ—<’< Ø '§¢¨K¸Ñ EÔ EñGô G€Là—’˜|¨S°$Ñ7Ô7€Ià�<Š<˜˜YÑ'Ô'Ð'r   c                 ó8   — t          ||d¦  «          |j        |Ž S r¬   )r*   r³   r®   s       r   Únp_real_fmod_implr¾     s#   € Ý   d¨AÑ.Ô.Ð.Øˆ7Œ<˜ÐÐr   c                 óÔ   — t           j                             |j        d¦  «        }|                     ||¦  «        }|                     d||¦  «        }|                     |||¦  «        S )Nr±   r²   )r6   r7   ÚConstantrn   Úfsubr´   ry   )r2   r1   r   r   Úarg_negatedÚarg_is_negatives         r   Ú_fabsrÄ     s[   € ÝŒ;×Ò ¤¨#Ñ.Ô.€DØ—,’,˜t SÑ)Ô)€KØ×*Ò*¨3°°TÑ:Ô:€OØ�>Š>˜/¨;¸Ñ<Ô<Ð<r   c           	      ó4  ‡ ‡‡‡— ˆˆ ˆfd„|D ¦   «         \  }}|j         }|j        }|j         }|j        }	|j        Št          ˆfd„||||	fD ¦   «         ¦  «        s
J d¦   «         ‚‰                      ‰‰j        ¦  «        }
t          j                             ‰d¦  «        }t          j                             ‰d¦  «        }t          ‰ ‰|¦  «        }t          ‰ ‰|	¦  «        }‰ 
                    d||¦  «        }‰                     |¦  «        5 \  }}|5  ‰ 
                    d||¦  «        }‰ 
                    d||¦  «        }‰                     ||¦  «        }‰                     |¦  «        5 \  }}|5  ‰                     ||¦  «        |
_         ‰                     ||¦  «        |
_        d d d ¦  «         n# 1 swxY w Y   |5  ‰                     |	|¦  «        }‰                     |	|¦  «        }‰                     ||¦  «        }‰                     ||¦  «        }‰                     ||¦  «        }‰                     ||¦  «        }‰                     ||¦  «        }‰                     ||¦  «        }‰                     ||¦  «        |
_         ‰                     ||¦  «        |
_        d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |5  ‰                     ||	¦  «        }‰                     ||¦  «        }‰                     |	|¦  «        }‰                     ||¦  «        }‰                     ||¦  «        }‰                     ||¦  «        }‰                     ||¦  «        }‰                     ||¦  «        }‰                     ||¦  «        |
_         ‰                     ||¦  «        |
_        d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |
                     ¦   «         S )Nc                 óV   •— g | ]%}‰                      ‰‰j        d          |¬¦  «        ‘Œ&S ©r   ©Úvalue©rQ   r   ©r   r   r1   r2   r&   s     €€€r   r3   z'np_complex_div_impl.<locals>.<listcomp>,  óD   ø€ ð !ð !ð !Øð ×$Ò$ W¨c¬h°q¬kÀÐ$ÑEÔEð !ð !ð !r   c                 ó&   •— g | ]}|j         ‰k    ‘ŒS r   ©rn   ©r   ÚiÚftypes     €r   r3   z'np_complex_div_impl.<locals>.<listcomp>4  ó   ø€ Ð@Ð@Ð@ !�”˜’Ð@Ð@Ð@r   úmismatched typesr±   ç      ð?ú>=rh   )ÚrealÚimagrn   r   Úmake_helperr   r6   r7   rÀ   rÄ   r´   rs   rq   r­   Úfmulrµ   rÁ   Ú	_getvalue) r2   r1   r&   r   r¶   r·   Úin1rÚin1iÚin2rÚin2ir[   r   ÚONEÚin2r_absÚin2i_absÚin2r_abs_ge_in2i_absr‡   rˆ   Úin2r_is_zeroÚin2i_is_zeroÚin2_is_zeroÚinn_thenÚinn_otherwiseÚratÚtmp1Útmp2ÚsclÚtmp3Útmp4Útmp5Útmp6rÑ   s    ```                            @r   Únp_complex_div_implrð   $  sj  øøøø€ ð!ð !ð !ð !ð !ð !Øð!ñ !ô !�H€Cˆð Œ8€DØŒ8€DØŒ8€DØŒ8€DØŒI€EÝÐ@Ð@Ð@Ð@¨¨d°D¸$Ð'?Ð@Ñ@Ô@ÑAÔAÐUÐUÐCUÑUÔUÐAØ
×
Ò
˜g s¤Ñ
7Ô
7€CåŒ;×Ò  sÑ+Ô+€DÝ
Œ+×
Ò
˜u cÑ
*Ô
*€Cõ �W˜g tÑ,Ô,€HÝ�W˜g tÑ,Ô,€HØ"×/Ò/°°hÀÑIÔIÐØ	�ŠÐ-Ñ	.Ô	.ð +/Ñ2C°4¸Øð 	7ð 	7à"×/Ò/°°hÀÑEÔEˆLØ"×/Ò/°°hÀÑEÔEˆLØ!Ÿ,š, |°\ÑBÔBˆKØ—’ Ñ-Ô-ð 7Ñ1J°(¸MØð <ð <ð  'Ÿ|š|¨D°(Ñ;Ô;�C”HØ&Ÿ|š|¨D°(Ñ;Ô;�C”Hð	<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <ð
 #ð 7ð 7ð "Ÿ,š, t¨TÑ2Ô2�Cà"Ÿ<š<¨¨cÑ2Ô2�DØ"Ÿ<š<¨¨dÑ3Ô3�DØ!Ÿ,š, s¨DÑ1Ô1�Cð #Ÿ<š<¨¨cÑ2Ô2�DØ"Ÿ<š<¨¨cÑ2Ô2�DØ"Ÿ<š<¨¨dÑ3Ô3�DØ"Ÿ<š<¨¨dÑ3Ô3�DØ&Ÿ|š|¨D°#Ñ6Ô6�C”HØ&Ÿ|š|¨D°#Ñ6Ô6�C”Hð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð6 ð 	/ð 	/ð —,’,˜t TÑ*Ô*ˆCà—<’<  cÑ*Ô*ˆDØ—<’<  dÑ+Ô+ˆDØ—,’,˜s DÑ)Ô)ˆCð —<’<  cÑ*Ô*ˆDØ—<’<  cÑ*Ô*ˆDØ—<’<  dÑ+Ô+ˆDØ—<’<  dÑ+Ô+ˆDØ—|’| D¨#Ñ.Ô.ˆCŒHØ—|’| D¨#Ñ.Ô.ˆCŒHð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð9+/ð +/ð +/ñ +/ô +/ð +/ð +/ð +/ð +/ð +/ð +/øøøð +/ð +/ð +/ð +/ðZ �=Š=‰?Œ?ÐsÉ   ÄO;ÄAK$Å-KÅ37F6	Æ*KÆ6F:Æ:KÆ=F:Æ>KÇC'J6	Ê*KÊ6J:Ê:KÊ=J:Ê>KËK$ËKËK$ËKËK$ËO;Ë$K(	Ë(O;Ë+K(	Ë,O;Ë1C'O$ÏO;Ï$O(	Ï(O;Ï+O(	Ï,O;Ï;O?ÐO?c                 ó   — d S r   r   ©Úx1Úx2s     r   Ú_npy_logaddexprõ   q  ó   € Ø€Dr   c                 óH   ‡‡‡— t          | d¬¦  «        ˆˆˆfd„¦   «         }d S )NÚgeneric©Útargetc                 ó>   •‡— | |k    rd S  | ‰¦  «        Šˆˆˆfd„}|S )Nc                 ó¦   •— | |}}||k    r|‰z   S ||z
  }|dk    r| ‰ ‰| ¦  «        ¦  «        z   S |dk    r| ‰ ‰|¦  «        ¦  «        z   S |S )Nr   r   )ró   rô   ÚxÚyÚtmpÚexpfnÚlog1pfnÚshifts        €€€r   Úimplz;_generate_logaddexp.<locals>.ol_npy_logaddexp.<locals>.impl}  s}   ø€ Ø�rˆqˆAØ�Q’�à˜5‘yÐ à˜!‘e�Ø˜!’G�GØ˜w˜w u u¨c¨T¡{¤{Ñ3Ô3Ñ3Ð3Ø˜Q’h�hØ˜w˜w u u¨S¡z¤zÑ2Ô2Ñ2Ð2ð �Jr   r   )ró   rô   r  r  Úconstr   r  s      @€€€r   Úol_npy_logaddexpz-_generate_logaddexp.<locals>.ol_npy_logaddexpx  sI   øø€ à�Š8ˆ8ØˆFØ��5‘	”	ˆð	ð 	ð 	ð 	ð 	ð 	ð 	ð ˆr   r   )Ú
fnoverloadr  r  r   r  s    ``` r   Ú_generate_logaddexpr  t  sL   øøø€ õ ˆj Ð+Ñ+Ô+ðð ð ð ð ð ñ ,Ô+ðð ð r   c                 ó   — d S r   r   rò   s     r   rõ   rõ   �  rö   r   c                 óî   — t          ||d¦  «         | j                             t          ¦  «        }|                     | j        g |j        ¢R i ¦  «        }|                      ||¦  «        } |||¦  «        S r¬   )r*   Útyping_contextÚresolve_value_typerõ   Úget_call_typer   Úget_function©r2   r1   r&   r   r@   r  s         r   Únp_real_logaddexp_implr  ”  ss   € Ý   d¨AÑ.Ô.Ð.àÔ!×4Ò4µ^ÑDÔD€DØ
×
Ò
˜WÔ3°\°s´x°\°\À2Ñ
FÔ
F€CØ×Ò  cÑ*Ô*€DØˆ4�˜ÑÔÐr   c                 ó   — d S r   r   rò   s     r   Ú_npy_logaddexp2r  ž  rö   r   c                 ó   — d S r   r   ©rý   s    r   Únpy_log2_1pr  ¡  rö   r   rø   rù   c                 ó2   ‡—  | t           ¦  «        Šˆfd„}|S )Nc                 ó2   •— ‰t          j        | ¦  «        z  S r   )ÚnpÚlog1p)rý   ÚLOG2Es    €r   r  zol_npy_log2_1p.<locals>.implª  s   ø€ Ø•r”x ‘{”{Ñ"Ð"r   )Ú
_NPY_LOG2E)rý   r  r  s     @r   Úol_npy_log2_1pr  §  s.   ø€ àˆA�j‰MŒM€Eð#ð #ð #ð #ð #à€Kr   rÔ   c                 óî   — t          ||d¦  «         | j                             t          ¦  «        }|                     | j        g |j        ¢R i ¦  «        }|                      ||¦  «        } |||¦  «        S r¬   )r*   r
  r  r  r  r   r  r  s         r   Únp_real_logaddexp2_implr  ²  ss   € Ý   d¨AÑ.Ô.Ð.àÔ!×4Ò4µ_ÑEÔE€DØ
×
Ò
˜WÔ3°\°s´x°\°\À2Ñ
FÔ
F€CØ×Ò  cÑ*Ô*€DØˆ4�˜ÑÔÐr   c                 ó.  ‡— |\  }}|j         Št          ˆfd„|D ¦   «         ¦  «        s
J d¦   «         ‚|j        \  }}|                      |||t          j        ¦  «        }|                      |||t          j        ¦  «        }|                     ||¦  «        S )Nc              3   ó.   •K  — | ]}|j         ‰k    V — Œd S r   rÎ   )r   rÐ   Úlltypes     €r   r   z&np_int_truediv_impl.<locals>.<genexpr>Ä  s)   øè è € Ð,Ð, !ˆqŒv�vŠ~Ð,Ð,Ð,Ð,Ð,Ð,r   zmust have homogeneous types)rn   r   r   r/   r   r<   r­   )	r2   r1   r&   r   r}   r~   ÚnumtyÚdentyr   s	           @r   Únp_int_truediv_implr#  ¾  s˜   ø€ ð �H€CˆØŒX€FÝÐ,Ð,Ð,Ð, tÐ,Ñ,Ô,Ñ,Ô,ÐKÐKÐ.KÑKÔKÐ,Ø”8�L€Eˆ5à
�,Š,�w  U­E¬MÑ
:Ô
:€CØ
�,Š,�w  U­E¬MÑ
:Ô
:€Cà�<Š<˜˜CÑ Ô Ð r   c                 óŠ   — t          | |||¦  «        }t          j        |j        |j        ¦  «        }t	          | |||f¦  «        S r   )r¯   r   Ú	signaturer   Únp_real_floor_impl)r2   r1   r&   r   r¸   Úss         r   Únp_real_floor_div_implr(  Ð  sA   € Ý
˜7 G¨S°$Ñ
7Ô
7€CÝÔ˜œ¨#¬/Ñ:Ô:€AÝ˜g w°°C°6Ñ:Ô:Ð:r   c                 óÒ   — t          | | |j        d         |j        Ž |¦  «        }t          | | |j        d         |j        Ž |¦  «        }|                      ||j        ||g¦  «        S rœ   )r(  r   r   r¼   r�   rž   s         r   Únp_real_divmod_implr*  Ö  si   € Ý
  ¨'Ð3E°3´?À1Ô3EÀsÄxÐ3PÐRVÑ
WÔ
W€CÝ
˜7 GÐ-?¨S¬_¸QÔ-?ÀÄÐ-JÈDÑ
QÔ
Q€CØ×Ò˜g s¤¸¸c¸
ÑCÔCÐCr   c                 ól  ‡ ‡‡‡— ‰j         d         j        }t          j        ||¦  «        }ˆˆ ˆfd„|D ¦   «         \  }}|j        }|j        }	|j        }
|j        }|j        Št          ˆfd„||	|
|fD ¦   «         ¦  «        s
J d¦   «         ‚t          j	         
                    ‰d¦  «        }‰                      ‰‰j        ¦  «        }||_        t          ‰ ‰|
¦  «        }t          ‰ ‰|¦  «        }‰                     d||¦  «        }‰                     |¦  «        5 \  }}|5  ‰                     ||
¦  «        }‰                     |	|¦  «        }‰                     ||¦  «        }‰                     ||¦  «        }‰                     |
|¦  «        }‰                     ||¦  «        }t'          ‰ ‰||f¦  «        |_        d d d ¦  «         n# 1 swxY w Y   |5  ‰                     |
|¦  «        }‰                     ||¦  «        }‰                     |
|¦  «        }‰                     |	|¦  «        }‰                     ||¦  «        }‰                     ||¦  «        }t'          ‰ ‰||f¦  «        |_        d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         S )Nr   c                 óV   •— g | ]%}‰                      ‰‰j        d          |¬¦  «        ‘Œ&S rÇ   rÊ   rË   s     €€€r   r3   z-np_complex_floor_div_impl.<locals>.<listcomp>æ  rÌ   r   c                 ó&   •— g | ]}|j         ‰k    ‘ŒS r   rÎ   rÏ   s     €r   r3   z-np_complex_floor_div_impl.<locals>.<listcomp>î  rÒ   r   rÓ   r±   rÕ   )r   Úunderlying_floatr   r%  rÖ   r×   rn   r   r6   r7   rÀ   rØ   r   rÄ   r´   rs   r­   rÙ   rµ   r&  rÚ   )r2   r1   r&   r   Ú
float_kindÚ	floor_sigr¶   r·   rÛ   rÜ   rÝ   rÞ   r   r[   rà   rá   râ   r‡   rˆ   rè   ré   rê   rì   rí   rî   rÑ   s   ```                      @r   Únp_complex_floor_div_implr1  Ü  s£  øøøø€ ð ”˜!”Ô-€JÝÔ  ¨ZÑ8Ô8€Ið!ð !ð !ð !ð !ð !Øð!ñ !ô !�H€Cˆð Œ8€DØŒ8€DØŒ8€DØŒ8€DØŒI€EÝÐ@Ð@Ð@Ð@¨¨d°D¸$Ð'?Ð@Ñ@Ô@ÑAÔAÐUÐUÐCUÑUÔUÐAåŒ;×Ò  sÑ+Ô+€Dà
×
Ò
˜g s¤Ñ
7Ô
7€CØ€C„Hå�W˜g tÑ,Ô,€HÝ�W˜g tÑ,Ô,€HØ"×/Ò/°°hÀÑIÔIÐà	�ŠÐ-Ñ	.Ô	.ð PÑ2C°4¸Øð 	Pð 	PØ—,’,˜t TÑ*Ô*ˆCà—<’<  cÑ*Ô*ˆDØ—<’<  cÑ*Ô*ˆDØ—<’<  dÑ+Ô+ˆDØ—<’<  dÑ+Ô+ˆDØ—<’<  dÑ+Ô+ˆDÝ)¨'°7¸IÈÀwÑOÔOˆCŒHð	Pð 	Pð 	Pñ 	Pô 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pøøøð 	Pð 	Pð 	Pð 	Pð ð 	Pð 	PØ—,’,˜t TÑ*Ô*ˆCà—<’<  cÑ*Ô*ˆDØ—<’<  cÑ*Ô*ˆDØ—<’<  dÑ+Ô+ˆDØ—<’<  dÑ+Ô+ˆDØ—<’<  dÑ+Ô+ˆDÝ)¨'°7¸IÈÀwÑOÔOˆCŒHð	Pð 	Pð 	Pñ 	Pô 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pøøøð 	Pð 	Pð 	Pð 	PðPð Pð Pñ Pô Pð Pð Pð Pð Pð Pð Pøøøð Pð Pð Pð Pð& �=Š=‰?Œ?Ðs\   ÄJÄ!BG
Æ>JÇ
G	ÇJÇG	ÇJÇBJ É4JÊ J	ÊJÊJ	ÊJÊJÊJc                 óR   — t          ||d¦  «         t          j        | |||¦  «        S r¬   ©r*   r   Úcomplex_power_implr®   s       r   Únp_complex_power_implr5    ó+   € Ý   d¨AÑ.Ô.Ð.åÔ% g¨w¸¸TÑBÔBÐBr   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S r¬   )r*   r   Úreal_power_implr®   s       r   Úreal_float_power_implr9    s+   € Ý   d¨AÑ.Ô.Ð.åÔ" 7¨G°S¸$Ñ?Ô?Ð?r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S r¬   r3  r®   s       r   Únp_complex_float_power_implr;  !  r6  r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S r¬   )r*   r   Úgcd_implr®   s       r   Únp_gcd_implr>  *  ó+   € Ý   d¨AÑ.Ô.Ð.ÝÔ˜W g¨s°DÑ9Ô9Ð9r   c                 ó°   — |j         \  }}||cxk    r|j        k    sn J ‚|\  }}d„ }|                      ||||¦  «        }	t          | ||j        |	¦  «        S )Nc                 ób   — | dk    rdn't          | |t          j        || ¦  «        z  z  ¦  «        S )z7
        Like gcd, heavily cribbed from Julia.
        r   )Úabsr  Úgcd)ÚaÚbs     r   Úlcmznp_lcm_impl.<locals>.lcm8  s2   € ð ˜’F�Fˆqˆq¥ A¨­b¬f°Q¸©l¬lÑ):Ñ$;Ñ <Ô <Ð<r   )r   r   Úcompile_internalr   )
r2   r1   r&   r   ÚxtyÚytyrý   rþ   rF  r¸   s
             r   Únp_lcm_implrJ  2  s}   € àŒx�H€CˆØ�#Ð(Ð(Ò(Ð(˜œÒ(Ð(Ð(Ð(Ð(Ð(Ø�D€A€qð=ð =ð =ð ×
"Ò
" 7¨C°°dÑ
;Ô
;€CÝ˜g w°´ÀÑEÔEÐEr   c                 ó|  — t          ||d¦  «         t          dk    r2d„ }|                      ||||¦  «        }t          | ||j        |¦  «        S |d         }|j        d         }|                      ||¦  «        }|j        }	|                      |	d¦  «        }
|                      |	d¦  «        }|                      |	d¦  «        }|                      |	t          d¦  «        ¦  «        }|
|_
        |
|_        t          j        t          j        g|gd	z  ¢R Ž }||                     ¦   «         g}t#          | |||¦  «        }t%          | |||¦  «        }t'          | |||¦  «        }|                     ||
|¦  «        }|                     |||¦  «        }|                     |||¦  «        |_
        |                     ¦   «         S )
Nrg   )re   r   c                 óZ   — t          j        | j        | j        ¦  «        }|dk    rdS | |z  S )Nr   y                )ÚmathÚhypotrÖ   r×   )ÚzrB  s     r   Úcomplex_signz*np_complex_sign_impl.<locals>.complex_signL  s.   € Ý”*˜QœV Q¤VÑ,Ô,ˆCØ�aŠxˆxØ�và˜3‘w�r   r   r±   rÔ   ç      ð¿Únanre   )r*   r   rG  r   r   r   rQ   r.  rm   ÚfloatrÖ   r×   r   r%  r   ÚbooleanrÚ   Únp_complex_ge_implÚnp_complex_eq_implÚnp_complex_lt_implry   )r2   r1   r&   r   rP  r¸   Úopr   rC   Úfloat_tyr   rß   r€   ÚNANÚcmp_sigÚcmp_argsÚarg1_ge_arg2Úarg1_eq_arg2Úarg1_lt_arg2Úreal_when_geÚreal_when_nges                        r   Únp_complex_sign_implrb  E  s¼  € õ !  d¨AÑ.Ô.Ð.å˜ÒÐð	ð 	ð 	ð ×&Ò& w°¸cÀ4ÑHÔHˆÝ! '¨7°C´OÀSÑIÔIÐIà�!ŒWˆØŒX�aŒ[ˆØ×%Ò% g¨rÑ2Ô2ˆØÔ&ˆà×#Ò# H¨cÑ2Ô2ˆØ×#Ò# H¨cÑ2Ô2ˆØ×(Ò(¨°4Ñ8Ô8ˆ	Ø×"Ò" 8­U°5©\¬\Ñ:Ô:ˆàˆŒØˆŒÝÔ"¥5¤=Ð<°B°4¸!±8Ð<Ð<Ð<ˆØ˜×(Ò(Ñ*Ô*Ð+ˆÝ)¨'°7¸GÀXÑNÔNˆÝ)¨'°7¸GÀXÑNÔNˆÝ)¨'°7¸GÀXÑNÔNˆà—~’~ l°D¸#Ñ>Ô>ˆØŸš |°YÀÑDÔDˆØ—n’n \°<ÀÑOÔOˆŒà×ÒÑ!Ô!Ð!r   c                 óP   — t          ||d¦  «         t          j        |d|¦  «        S )Nrg   z	llvm.rint©r*   r   Úcall_fp_intrinsicr®   s       r   Únp_real_rint_implrf  r  ó)   € Ý   d¨AÑ.Ô.Ð.åÔ% g¨{¸DÑAÔAÐAr   c                 ót  — t          ||d¦  «         |j        d         }|j        }|                      |||d         ¬¦  «        }|                      ||¦  «        }t	          j        |gdz  Ž }t          | |||j        g¦  «        |_        t          | |||j        g¦  «        |_        | 	                    ¦   «         S )Nrg   r   rÈ   re   )
r*   r   r.  rQ   r   r%  rf  rÖ   r×   rÚ   )	r2   r1   r&   r   r   rY  r¶   r[   Ú	inner_sigs	            r   Únp_complex_rint_implrj  x  s¯   € õ !  d¨AÑ.Ô.Ð.Ø	Œ�!Œ€BØÔ"€HØ
×
Ò
˜w¨°$°q´'Ð
Ñ
:Ô
:€CØ
×
Ò
˜w¨Ñ
+Ô
+€CåÔ  8 *¨Q¡,Ð/€IÝ  ¨'°9¸s¼x¸jÑIÔI€C„HÝ  ¨'°9¸s¼x¸jÑIÔI€C„HØ�=Š=‰?Œ?Ðr   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S ©Nrg   )r*   r   Úexp_implr®   s       r   Únp_real_exp_implrn  ‹  r?  r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S rl  )r*   r   rm  r®   s       r   Únp_complex_exp_implrp  �  ó+   € Ý   d¨AÑ.Ô.Ð.ÝÔ˜g w°°TÑ:Ô:Ð:r   c                 óò   — t          ||d¦  «         |d         j        }t          j                             ||g¦  «        }t          j        |j        |d¬¦  «        }|                     ||d         g¦  «        S )Nrg   r   z	llvm.exp2r,   ©	r*   rn   r6   r7   r8   r
   r9   r4   r;   ©r2   r1   r&   r   Úll_tyr@   rA   s          r   Únp_real_exp2_implrv  —  ór   € Ý   d¨AÑ.Ô.Ð.à�ŒGŒL€EÝŒ;×#Ò# E¨E¨8Ñ4Ô4€DÝ	Ô	% g¤n°dØ+6ð
8ñ 
8ô 
8€Bà�<Š<˜˜T !œW˜IÑ&Ô&Ð&r   c                 ó´  — t          ||d¦  «         |j        d         }|j        }|                      |||d         ¬¦  «        }|                      ||¦  «        }|                      |t
          ¦  «        }|                     ||j        ¦  «        |_        |                     ||j        ¦  «        |_        t          | ||| 
                    ¦   «         g¦  «        S ©Nrg   r   rÈ   )r*   r   r.  rQ   rm   Ú
_NPY_LOGE2rÙ   rÖ   r×   rp  rÚ   )	r2   r1   r&   r   r   rY  r¶   rÿ   Úloge2s	            r   Únp_complex_exp2_implr|  ¡  s¼   € Ý   d¨AÑ.Ô.Ð.Ø	Œ�!Œ€BØÔ"€HØ
×
Ò
˜w¨°$°q´'Ð
Ñ
:Ô
:€CØ
×
Ò
˜w¨Ñ
+Ô
+€CØ× Ò  ­:Ñ6Ô6€EØ�|Š|˜E 3¤8Ñ,Ô,€C„HØ�|Š|˜E 3¤8Ñ,Ô,€C„HÝ˜w¨°°s·}²}±´Ð6GÑHÔHÐHr   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S rl  )r*   r   Úlog_implr®   s       r   Únp_real_log_implr  °  r?  r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S rl  )r*   r   r~  r®   s       r   Únp_complex_log_implr�  µ  rq  r   c                 óò   — t          ||d¦  «         |d         j        }t          j                             ||g¦  «        }t          j        |j        |d¬¦  «        }|                     ||d         g¦  «        S )Nrg   r   z	llvm.log2r,   rs  rt  s          r   Únp_real_log2_implrƒ  ¼  rw  r   c                 ó~  — t          ||d¦  «         |j        d         }|j        }t          | |||¦  «        }|                      |||¬¦  «        }|                      |t          ¦  «        }|                     ||j        ¦  «        |_        |                     ||j	        ¦  «        |_	        | 
                    ¦   «         S ry  )r*   r   r.  r�  rQ   rm   r  rÙ   rÖ   r×   rÚ   )r2   r1   r&   r   r   rY  rÿ   Úlog2es           r   Únp_complex_log2_implr†  Å  s¥   € Ý   d¨AÑ.Ô.Ð.à	Œ�!Œ€BØÔ"€HÝ
˜g w°°TÑ
:Ô
:€CØ
×
Ò
˜w¨°#Ð
Ñ
6Ô
6€CØ× Ò  ­:Ñ6Ô6€EØ�|Š|˜E 3¤8Ñ,Ô,€C„HØ�|Š|˜E 3¤8Ñ,Ô,€C„HØ�=Š=‰?Œ?Ðr   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S rl  )r*   r   Ú
log10_implr®   s       r   Únp_real_log10_implr‰  Õ  ó+   € Ý   d¨AÑ.Ô.Ð.ÝÔ˜w¨°°dÑ;Ô;Ð;r   c                 ó~  — t          ||d¦  «         |j        d         }|j        }t          | |||¦  «        }|                      |||¬¦  «        }|                      |t          ¦  «        }|                     ||j        ¦  «        |_        |                     ||j	        ¦  «        |_	        | 
                    ¦   «         S ry  )r*   r   r.  r�  rQ   rm   Ú_NPY_LOG10ErÙ   rÖ   r×   rÚ   )r2   r1   r&   r   r   rY  rÿ   Úlog10es           r   Únp_complex_log10_implrŽ  Ú  s¥   € Ý   d¨AÑ.Ô.Ð.à	Œ�!Œ€BØÔ"€HÝ
˜g w°°TÑ
:Ô
:€CØ
×
Ò
˜w¨°#Ð
Ñ
6Ô
6€CØ×!Ò! (­KÑ8Ô8€FØ�|Š|˜F C¤HÑ-Ô-€C„HØ�|Š|˜F C¤HÑ-Ô-€C„HØ�=Š=‰?Œ?Ðr   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S rl  )r*   r   Ú
expm1_implr®   s       r   Únp_real_expm1_implr‘  ê  rŠ  r   c                 óT  — t          ||d¦  «         |j        d         }|j        }t          j        |gdz  Ž }|                      |d¦  «        }|                      |||d         ¬¦  «        }t          | |||j        g¦  «        }	|                      ||¦  «        }
t          | |||j
        g¦  «        }t          | |||j
        g¦  «        }|                     |	|¦  «        }|                     |	|¦  «        |
_
        |                     ||¦  «        |
_        |
                     ¦   «         S )Nrg   r   re   rQ  rÈ   )r*   r   r.  r   r%  rm   rQ   rn  rÖ   Únp_real_cos_implr×   Únp_real_sin_implrÙ   rµ   rÚ   )r2   r1   r&   r   r   rY  Úfloat_unary_sigr€   r¶   rD  r[   Úcos_imagÚsin_imagrÿ   s                 r   Únp_complex_expm1_implr˜  î  s  € å   d¨AÑ.Ô.Ð.à	Œ�!Œ€BØÔ"€HÝÔ&¨¨
°1©Ð5€Oà×$Ò$ X¨tÑ4Ô4€IØ
×
Ò
˜w¨°$°q´'Ð
Ñ
:Ô
:€CÝ˜ '¨?¸S¼X¸JÑGÔG€AØ
×
Ò
˜w¨Ñ
+Ô
+€CÝ ¨°/ÀCÄHÀ:ÑNÔN€HÝ ¨°/ÀCÄHÀ:ÑNÔN€HØ
�,Š,�q˜(Ñ
#Ô
#€CØ�|Š|˜A˜xÑ(Ô(€C„HØ�|Š|˜C Ñ+Ô+€C„Hà�=Š=‰?Œ?Ðr   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S rl  )r*   r   Ú
log1p_implr®   s       r   Únp_real_log1p_implr›    rŠ  r   c                 ó$  — t          ||d¦  «         |j        d         }|j        }t          j        |gdz  Ž }t          j        |gdz  Ž }|                      |d¦  «        }|                      |||d         ¬¦  «        }	|                      ||¦  «        }
|                     |	j        |¦  «        }t          | ||||	j
        g¦  «        }t          | |||	j
        |g¦  «        |
_
        t          | |||g¦  «        |
_        |
                     ¦   «         S )Nrg   r   re   é   rÔ   rÈ   )r*   r   r.  r   r%  rm   rQ   rµ   rÖ   Únp_real_hypot_implr×   Únp_real_atan2_implr  rÚ   )r2   r1   r&   r   r   rY  r•  Úfloat_binary_sigrß   r¶   r[   Úreal_plus_oneÚls                r   Únp_complex_log1p_implr£  
  s  € å   d¨AÑ.Ô.Ð.à	Œ�!Œ€BØÔ"€HÝÔ&¨¨
°1©Ð5€OÝÔ'¨(¨°A©Ð6Ðà
×
Ò
˜x¨Ñ
-Ô
-€CØ
×
Ò
˜w¨°$°q´'Ð
Ñ
:Ô
:€CØ
×
Ò
˜w¨Ñ
+Ô
+€CØ—L’L ¤¨3Ñ/Ô/€MÝ˜7 GÐ-=Ø)¨3¬8Ð4ñ	6ô 	6€Aå! '¨7Ð4DØ#&¤8¨]Ð";ñ=ô =€C„Hå ¨°/ÀAÀ3ÑGÔG€C„Hà�=Š=‰?Œ?Ðr   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S rl  )r*   r   Ú	sqrt_implr®   s       r   Únp_real_sqrt_implr¦  #  ó+   € Ý   d¨AÑ.Ô.Ð.ÝÔ˜g w°°TÑ:Ô:Ð:r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S rl  )r*   r   r¥  r®   s       r   Únp_complex_sqrt_implr©  (  s+   € Ý   d¨AÑ.Ô.Ð.ÝÔ˜w¨°°dÑ;Ô;Ð;r   c                 óh   — t          ||d¦  «         |                     |d         |d         ¦  «        S ©Nrg   r   )r*   Úmulr®   s       r   Únp_int_square_implr­  0  s0   € Ý   d¨AÑ.Ô.Ð.Ø�;Š;�t˜A”w  Q¤Ñ(Ô(Ð(r   c                 óh   — t          ||d¦  «         |                     |d         |d         ¦  «        S r«  )r*   rÙ   r®   s       r   Únp_real_square_implr¯  5  s0   € Ý   d¨AÑ.Ô.Ð.Ø�<Š<˜˜Qœ  a¤Ñ)Ô)Ð)r   c                 óœ   — t          ||d¦  «         t          j        |j        gdz  Ž }t	          j        | |||d         |d         g¦  «        S ©Nrg   r�  r   )r*   r   r%  r   r   Úcomplex_mul_impl)r2   r1   r&   r   Ú
binary_sigs        r   Únp_complex_square_implr´  9  sV   € Ý   d¨AÑ.Ô.Ð.ÝÔ! C¤OÐ#4°QÑ#6Ð7€JÝÔ# G¨W°jØ&*¨1¤g¨t°A¬wÐ%7ñ9ô 9ð 9r   c                 ó’   ‡— t          ||d¦  «         t          d¬¦  «        d„ ¦   «         Šˆfd„}|                      ||||¦  «        S )Nrg   T)Úfastmathc                 óf   — | dk     rt          j        |  d¦  «         S t          j        | d¦  «        S )Nr   gUUUUUUÕ?)r  Úpowerr  s    r   Úcbrtznp_real_cbrt_impl.<locals>.cbrtH  s4   € àˆqŠ5ˆ5Ý”H˜a˜R Ñ+Ô+Ð+Ð+å”8˜A˜yÑ)Ô)Ð)r   c                 óZ   •— t          j        | ¦  «        rt           j        S  ‰| ¦  «        S r   )r  ÚisnanrR  )rý   r¹  s    €r   Ú_cbrtz np_real_cbrt_impl.<locals>._cbrtO  s'   ø€ ÝŒ8�A‰;Œ;ð 	Ý”6ˆMØˆt�A‰wŒwˆr   )r*   r   rG  )r2   r1   r&   r   r¼  r¹  s        @r   Únp_real_cbrt_implr½  C  sq   ø€ Ý   d¨AÑ.Ô.Ð.õ ˜tÐ$Ñ$Ô$ð*ð *ñ %Ô$ð*ðð ð ð ð ð
 ×#Ò# G¨U°C¸Ñ>Ô>Ð>r   c                 óV  — t          ||d¦  «         |j        }t          j        |gdz  Ž }|                      ||d         |t
          j        ¦  «        }|                      t
          j        d¦  «        }|                     ||¦  «        }|                      ||t
          j        |¦  «        S r±  )	r*   r   r   r%  r/   r   r<   rm   r­   )	r2   r1   r&   r   r   r³  Úin_as_floatrß   Úresult_as_floats	            r   Únp_int_reciprocal_implrÁ  Z  s‘   € õ !  d¨AÑ.Ô.Ð.Ø	Œ€BåÔ! B 4¨¡6Ð*€JØ—,’,˜w¨¨Q¬°µU´]ÑCÔC€KØ
×
Ò
�uœ}¨aÑ
0Ô
0€CØ—l’l 3¨Ñ4Ô4€OØ�<Š<˜ µ%´-ÀÑDÔDÐDr   c                 ó’   — t          ||d¦  «         |                      |j        d¦  «        }|                     ||d         ¦  «        S )Nrg   rÔ   r   )r*   rm   r   r­   )r2   r1   r&   r   rß   s        r   Únp_real_reciprocal_implrÃ  h  sC   € Ý   d¨AÑ.Ô.Ð.Ø
×
Ò
˜sœ°Ñ
4Ô
4€CØ�<Š<˜˜T !œWÑ%Ô%Ð%r   c                 óÆ  — t          ||d¦  «         |j        d         }|j        }|                      |d¦  «        }|                      |d¦  «        }|                      |||d         ¬¦  «        }|                      ||¦  «        }	|j        }
|j        }t          | ||
¦  «        }t          | ||¦  «        }|                     d||¦  «        }| 	                    |¦  «        5 \  }}|5  | 
                    ||
¦  «        }|                     ||¦  «        }|                     |
|¦  «        }| 
                    ||¦  «        }|                     ||¦  «        }||	_        |                     ||¦  «        |	_        d d d ¦  «         n# 1 swxY w Y   |5  | 
                    |
|¦  «        }|                     |
|¦  «        }|                     ||¦  «        }| 
                    ||¦  «        }|                     ||¦  «        |	_        |                     ||¦  «        |	_        d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |	                     ¦   «         S )Nrg   r   r±   rÔ   rÈ   ú<=)r*   r   r.  rm   rQ   rÖ   r×   rÄ   r´   rs   r­   rÙ   rµ   rÁ   rÚ   )r2   r1   r&   r   r   rY  r   rß   r¶   r[   rÛ   rÜ   Úin1r_absÚin1i_absÚin1i_abs_le_in1r_absr‡   rˆ   ÚrÚtmp0ÚdÚinv_dÚminus_rs                         r   Únp_complex_reciprocal_implrÎ  n  sñ  € õ !  d¨AÑ.Ô.Ð.à	Œ�!Œ€BØÔ"€Hà×Ò ¨#Ñ.Ô.€DØ
×
Ò
˜x¨Ñ
-Ô
-€CØ
×
Ò
˜w¨°$°q´'Ð
Ñ
:Ô
:€CØ
×
Ò
˜w¨Ñ
+Ô
+€CØŒ8€DØŒ8€DÝ�W˜g tÑ,Ô,€HÝ�W˜g tÑ,Ô,€HØ"×/Ò/°°hÀÑIÔIÐà	�ŠÐ-Ñ	.Ô	.ð 1Ñ2C°4¸Øð 	4ð 	4Ø—’˜T 4Ñ(Ô(ˆAØ—<’<  aÑ(Ô(ˆDØ—’˜T 4Ñ(Ô(ˆAØ—L’L  aÑ(Ô(ˆEØ—l’l 4¨Ñ+Ô+ˆGØˆCŒHØ—|’| G¨UÑ3Ô3ˆCŒHð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð ð 	1ð 	1Ø—’˜T 4Ñ(Ô(ˆAØ—<’<  aÑ(Ô(ˆDØ—’˜T 4Ñ(Ô(ˆAØ—L’L  aÑ(Ô(ˆEØ—|’| A uÑ-Ô-ˆCŒHØ—|’| D¨%Ñ0Ô0ˆCŒHð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1ð" �=Š=‰?Œ?Ðs\   Ã"IÃ(BFÅ9IÆF		Æ	IÆF		ÆIÆBH-È!IÈ-H1	È1IÈ4H1	È5IÉIÉIc                 óR   — t          ||d¦  «         t          j        | |||¦  «        S rl  )r*   r   Úsin_implr®   s       r   r”  r”  ˜  r?  r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S rl  )r*   r   rÐ  r®   s       r   Únp_complex_sin_implrÒ  �  rq  r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S rl  )r*   r   Úcos_implr®   s       r   r“  r“  ¥  r?  r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S rl  )r*   r   rÔ  r®   s       r   Únp_complex_cos_implrÖ  ª  rq  r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S rl  )r*   r   Útan_implr®   s       r   Únp_real_tan_implrÙ  ²  r?  r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S rl  )r*   r   Ú	asin_implr®   s       r   Únp_real_asin_implrÜ  º  r§  r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S rl  )r*   r   Ú	acos_implr®   s       r   Únp_real_acos_implrß  Â  r§  r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S rl  )r*   r   Ú	atan_implr®   s       r   Únp_real_atan_implrâ  Ê  r§  r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S r¬   )r*   r   Úatan2_float_implr®   s       r   rŸ  rŸ  Ò  ó+   € Ý   d¨AÑ.Ô.Ð.ÝÔ$ W¨g°s¸DÑAÔAÐAr   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S r¬   )r*   r   Úhypot_float_implr®   s       r   rž  rž  Ú  rå  r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S rl  )r*   r   Ú	sinh_implr®   s       r   Únp_real_sinh_implrê  â  r§  r   c                 ó  — t          ||d¦  «         |j        d         }|j        }t          j        |gdz  Ž }|                      |||d         ¦  «        }|                      ||¦  «        }|j        }	|j        }
t          | |||
g¦  «        }t          | |||	g¦  «        }t          | |||
g¦  «        }t          | |||	g¦  «        }|                     ||¦  «        |_        |                     ||¦  «        |_        |                     ¦   «         S ©Nrg   r   re   )r*   r   r.  r   r%  rQ   rÖ   r×   r”  rê  r“  Únp_real_cosh_implrÙ   rÚ   )r2   r1   r&   r   r   ÚftyÚfsig1rý   r[   ÚxrÚxiÚsxiÚshxrÚcxiÚchxrs                  r   Únp_complex_sinh_implrö  ç  s  € õ !  d¨AÑ.Ô.Ð.ð 
Œ�!Œ€BØ
Ô
€CÝÔ˜s˜e A™gÐ&€EØ×Ò˜W b¨$¨q¬'Ñ2Ô2€AØ
×
Ò
˜w¨Ñ
+Ô
+€CØ	
Œ€BØ	
Œ€Bå
˜7 G¨U°R°DÑ
9Ô
9€CÝ˜W g¨u°r°dÑ;Ô;€DÝ
˜7 G¨U°R°DÑ
9Ô
9€CÝ˜W g¨u°r°dÑ;Ô;€Dà�|Š|˜C Ñ&Ô&€C„HØ�|Š|˜C Ñ&Ô&€C„Hà�=Š=‰?Œ?Ðr   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S rl  )r*   r   Ú	cosh_implr®   s       r   rí  rí    r§  r   c                 ó  — t          ||d¦  «         |j        d         }|j        }t          j        |gdz  Ž }|                      |||d         ¦  «        }|                      ||¦  «        }|j        }	|j        }
t          | |||
g¦  «        }t          | |||	g¦  «        }t          | |||
g¦  «        }t          | |||	g¦  «        }|                     ||¦  «        |_        |                     ||¦  «        |_        |                     ¦   «         S rì  )r*   r   r.  r   r%  rQ   rÖ   r×   r“  rí  r”  rê  rÙ   rÚ   )r2   r1   r&   r   r   rî  rï  rý   r[   rð  rñ  rô  rõ  rò  ró  s                  r   Únp_complex_cosh_implrú    s  € õ !  d¨AÑ.Ô.Ð.à	Œ�!Œ€BØ
Ô
€CÝÔ˜s˜e A™gÐ&€EØ×Ò˜W b¨$¨q¬'Ñ2Ô2€AØ
×
Ò
˜w¨Ñ
+Ô
+€CØ	
Œ€BØ	
Œ€Bå
˜7 G¨U°R°DÑ
9Ô
9€CÝ˜W g¨u°r°dÑ;Ô;€DÝ
˜7 G¨U°R°DÑ
9Ô
9€CÝ˜W g¨u°r°dÑ;Ô;€Dà�|Š|˜C Ñ&Ô&€C„HØ�|Š|˜C Ñ&Ô&€C„Hà�=Š=‰?Œ?Ðr   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S rl  )r*   r   Ú	tanh_implr®   s       r   Únp_real_tanh_implrý  #  r§  r   c                 ó²  — t          ||d¦  «         |j        d         }|j        }t          j        |gdz  Ž }|                      |d¦  «        }|                      |||d         ¦  «        }|                      ||¦  «        }	|j        }
|j        }t          | |||g¦  «        }t          | |||g¦  «        }t          | |||
g¦  «        }t          | |||
g¦  «        }|                     ||¦  «        }|                     ||¦  «        }|                     ||¦  «        }|                     ||¦  «        }|                     ||¦  «        }|                     ||¦  «        }|                     ||¦  «        }|                     ||¦  «        }|                     ||¦  «        }|                     ||¦  «        }|                     ||¦  «        }|                     ||¦  «        }|                     ||¦  «        }|                     ||¦  «        }|                     ||¦  «        |	_        |                     ||¦  «        |	_        |	                     ¦   «         S )Nrg   r   re   rÔ   )r*   r   r.  r   r%  rm   rQ   rÖ   r×   r”  r“  rê  rí  rÙ   rµ   r­   rÁ   rÚ   )r2   r1   r&   r   r   rî  rï  rß   rý   r[   rð  rñ  ÚsiÚciÚshrÚchr_ÚrsÚis_ÚrcÚicÚsqr_rcÚsqr_icrË  rÌ  Úrs_rcÚis_icÚis_rcÚrs_icÚnumrÚnumis                                 r   Únp_complex_tanh_implr  (  s%  € õ !  d¨AÑ.Ô.Ð.à	Œ�!Œ€BØ
Ô
€CÝÔ˜s˜e A™gÐ&€EØ
×
Ò
˜s CÑ
(Ô
(€CØ×Ò˜W b¨$¨q¬'Ñ2Ô2€AØ
×
Ò
˜w¨Ñ
+Ô
+€Cà	
Œ€BØ	
Œ€BÝ	˜' 7¨E°B°4Ñ	8Ô	8€BÝ	˜' 7¨E°B°4Ñ	8Ô	8€BÝ
˜G W¨e°b°TÑ
:Ô
:€CÝ˜W g¨u°r°dÑ;Ô;€DØ	�Š�b˜#Ñ	Ô	€BØ
�,Š,�r˜4Ñ
 Ô
 €CØ	�Š�b˜$Ñ	Ô	€BØ	�Š�b˜#Ñ	Ô	€BØ�\Š\˜"˜bÑ!Ô!€FØ�\Š\˜"˜bÑ!Ô!€FØ�Š�V˜VÑ$Ô$€AØ�LŠL˜˜aÑ Ô €EØ�LŠL˜˜RÑ Ô €EØ�LŠL˜˜bÑ!Ô!€EØ�LŠL˜˜bÑ!Ô!€EØ�LŠL˜˜RÑ Ô €EØ�<Š<˜˜uÑ%Ô%€DØ�<Š<˜˜uÑ%Ô%€DØ�|Š|˜D %Ñ(Ô(€C„HØ�|Š|˜D %Ñ(Ô(€C„Hà�=Š=‰?Œ?Ðr   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S rl  )r*   r   Ú
asinh_implr®   s       r   Únp_real_asinh_implr  Q  rŠ  r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S rl  )r*   r   Ú
acosh_implr®   s       r   Únp_real_acosh_implr  Y  rŠ  r   c                 óÚ  — t          ||d¦  «         |j        d         }t          j        |gdz  Ž }|                      ||d¦  «        }|d         }t          j        | ||||g¦  «        }t          j        | ||||g¦  «        }	t          | |||g¦  «        }
t          | |||	g¦  «        }t          j	        | |||
|g¦  «        }t          j        | ||||g¦  «        }t          | |||g¦  «        S )Nrg   r   r�  y      ð?        )r*   r   r   r%  Úget_constant_genericr   Úcomplex_add_implÚcomplex_sub_implr©  r²  r�  )r2   r1   r&   r   r   Úcsig2rß   rý   Ú
x_plus_oneÚx_minus_oneÚsqrt_x_plus_oneÚsqrt_x_minus_oneÚ	prod_sqrtÚlog_args                 r   Únp_complex_acosh_implr!  ^  s.  € õ !  d¨AÑ.Ô.Ð.à	Œ�!Œ€BÝÔ˜r˜d 1™fÐ%€Eà
×
&Ò
& w°°JÑ
?Ô
?€CØˆQŒ€AåÔ)¨'°7¸EÀAØEHðDJñ Kô K€JåÔ*¨7°G¸UÀQØFIðEKñ Lô L€Kå*¨7°G¸SÀ:À,ÑOÔO€OÝ+¨G°W¸cÀKÀ=ÑQÔQÐÝÔ(¨°'¸5Ø+:Ø+;ð+=ñ>ô >€Iõ Ô& w°¸ÀØBKðAMñ Nô N€Gõ ˜w¨°°w°iÑ@Ô@Ð@r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S rl  )r*   r   Ú
atanh_implr®   s       r   Únp_real_atanh_implr$  |  rŠ  r   c                 óP   — t          ||d¦  «         t          j        |d|¦  «        S )Nrg   z
llvm.floorrd  r®   s       r   r&  r&  „  ó)   € Ý   d¨AÑ.Ô.Ð.åÔ% g¨|¸TÑBÔBÐBr   c                 óP   — t          ||d¦  «         t          j        |d|¦  «        S )Nrg   z	llvm.ceilrd  r®   s       r   Únp_real_ceil_implr(  �  rg  r   c                 óP   — t          ||d¦  «         t          j        |d|¦  «        S )Nrg   z
llvm.truncrd  r®   s       r   Únp_real_trunc_implr*  –  r&  r   c                 óP   — t          ||d¦  «         t          j        |d|¦  «        S )Nrg   z	llvm.fabsrd  r®   s       r   Únp_real_fabs_implr,  Ÿ  rg  r   c                 óö  ‡ ‡‡— t          ||dt          j        ¬¦  «         |j        d         Šˆˆ ˆfd„|D ¦   «         \  }}|j        }|j        }|j        }|j        }	‰                     d||¦  «        }
‰                     d||	¦  «        }‰                     d||¦  «        }‰                     d||	¦  «        }‰                     |
|¦  «        }‰                     ||¦  «        }‰                     ||¦  «        S )	Nre   ©r   r   c                 ó@   •— g | ]}‰                      ‰‰|¬ ¦  «        ‘ŒS ©rÈ   ©rQ   ©r   r   r1   r2   r   s     €€€r   r3   z&np_complex_ge_impl.<locals>.<listcomp>°  ó.   ø€ ÐMÐMÐMÀ�×$Ò$ W¨b¸Ð$Ñ<Ô<ÐMÐMÐMr   rk   Úordrh   rÕ   ©	r*   r   rT  r   rÖ   r×   r´   rq   rr   )r2   r1   r&   r   r¶   r·   rð  rñ  ÚyrÚyiÚxr_gt_yrÚno_nan_xi_yiÚxr_eq_yrÚxi_ge_yiÚ
first_termÚsecond_termr   s   ``              @r   rU  rU  ª  ó   øøø€ õ !  d¨A½5¼=ÐIÑIÔIÐIà	Œ�!Œ€BØMÐMÐMÐMÐMÐMÈÐMÑMÔM�H€CˆØ	Œ€BØ	Œ€BØ	Œ€BØ	Œ€Bà×#Ò# C¨¨RÑ0Ô0€HØ×'Ò'¨¨r°2Ñ6Ô6€LØ×#Ò# D¨"¨bÑ1Ô1€HØ×#Ò# D¨"¨bÑ1Ô1€HØ—’˜h¨Ñ5Ô5€JØ—,’,˜x¨Ñ2Ô2€KØ�;Š;�z ;Ñ/Ô/Ð/r   c                 óö  ‡ ‡‡— t          ||dt          j        ¬¦  «         |j        d         Šˆˆ ˆfd„|D ¦   «         \  }}|j        }|j        }|j        }|j        }	‰                     d||¦  «        }
‰                     d||	¦  «        }‰                     d||¦  «        }‰                     d||	¦  «        }‰                     |
|¦  «        }‰                     ||¦  «        }‰                     ||¦  «        S )	Nre   r.  r   c                 ó@   •— g | ]}‰                      ‰‰|¬ ¦  «        ‘ŒS r0  r1  r2  s     €€€r   r3   z&np_complex_le_impl.<locals>.<listcomp>Å  r3  r   r²   r4  rh   rÅ  r5  )r2   r1   r&   r   r¶   r·   rð  rñ  r6  r7  Úxr_lt_yrr9  r:  Úxi_le_yir<  r=  r   s   ``              @r   Únp_complex_le_implrC  ¿  r>  r   c                 óö  ‡ ‡‡— t          ||dt          j        ¬¦  «         |j        d         Šˆˆ ˆfd„|D ¦   «         \  }}|j        }|j        }|j        }|j        }	‰                     d||¦  «        }
‰                     d||	¦  «        }‰                     d||¦  «        }‰                     d||	¦  «        }‰                     |
|¦  «        }‰                     ||¦  «        }‰                     ||¦  «        S )Nre   r.  r   c                 ó@   •— g | ]}‰                      ‰‰|¬ ¦  «        ‘ŒS r0  r1  r2  s     €€€r   r3   z&np_complex_gt_impl.<locals>.<listcomp>Ú  r3  r   rk   r4  rh   r5  )r2   r1   r&   r   r¶   r·   rð  rñ  r6  r7  r8  r9  r:  Úxi_gt_yir<  r=  r   s   ``              @r   Únp_complex_gt_implrG  Ô  ó   øøø€ õ !  d¨A½5¼=ÐIÑIÔIÐIà	Œ�!Œ€BØMÐMÐMÐMÐMÐMÈÐMÑMÔM�H€CˆØ	Œ€BØ	Œ€BØ	Œ€BØ	Œ€Bà×#Ò# C¨¨RÑ0Ô0€HØ×'Ò'¨¨r°2Ñ6Ô6€LØ×#Ò# D¨"¨bÑ1Ô1€HØ×#Ò# C¨¨RÑ0Ô0€HØ—’˜h¨Ñ5Ô5€JØ—,’,˜x¨Ñ2Ô2€KØ�;Š;�z ;Ñ/Ô/Ð/r   c                 óö  ‡ ‡‡— t          ||dt          j        ¬¦  «         |j        d         Šˆˆ ˆfd„|D ¦   «         \  }}|j        }|j        }|j        }|j        }	‰                     d||¦  «        }
‰                     d||	¦  «        }‰                     d||¦  «        }‰                     d||	¦  «        }‰                     |
|¦  «        }‰                     ||¦  «        }‰                     ||¦  «        S )Nre   r.  r   c                 ó@   •— g | ]}‰                      ‰‰|¬ ¦  «        ‘ŒS r0  r1  r2  s     €€€r   r3   z&np_complex_lt_impl.<locals>.<listcomp>ï  r3  r   r²   r4  rh   r5  )r2   r1   r&   r   r¶   r·   rð  rñ  r6  r7  rA  r9  r:  Úxi_lt_yir<  r=  r   s   ``              @r   rW  rW  é  rH  r   c                 óB  ‡ ‡‡— t          ||dt          j        ¬¦  «         |j        d         Šˆˆ ˆfd„|D ¦   «         \  }}|j        }|j        }|j        }|j        }	‰                     d||¦  «        }
‰                     d||	¦  «        }‰                     |
|¦  «        S )Nre   r.  r   c                 ó@   •— g | ]}‰                      ‰‰|¬ ¦  «        ‘ŒS r0  r1  r2  s     €€€r   r3   z&np_complex_eq_impl.<locals>.<listcomp>  r3  r   rh   )r*   r   rT  r   rÖ   r×   r´   rq   )r2   r1   r&   r   r¶   r·   rð  rñ  r6  r7  r:  Úxi_eq_yir   s   ``          @r   rV  rV  þ  s¬   øøø€ õ !  d¨A½5¼=ÐIÑIÔIÐIà	Œ�!Œ€BØMÐMÐMÐMÐMÐMÈÐMÑMÔM�H€CˆØ	Œ€BØ	Œ€BØ	Œ€BØ	Œ€Bà×#Ò# D¨"¨bÑ1Ô1€HØ×#Ò# D¨"¨bÑ1Ô1€HØ�<Š<˜ (Ñ+Ô+Ð+r   c                 óB  ‡ ‡‡— t          ||dt          j        ¬¦  «         |j        d         Šˆˆ ˆfd„|D ¦   «         \  }}|j        }|j        }|j        }|j        }	‰                     d||¦  «        }
‰                     d||	¦  «        }‰                     |
|¦  «        S )Nre   r.  r   c                 ó@   •— g | ]}‰                      ‰‰|¬ ¦  «        ‘ŒS r0  r1  r2  s     €€€r   r3   z&np_complex_ne_impl.<locals>.<listcomp>  r3  r   rl   )r*   r   rT  r   rÖ   r×   Úfcmp_unorderedrr   )r2   r1   r&   r   r¶   r·   rð  rñ  r6  r7  Úxr_ne_yrÚxi_ne_yir   s   ``          @r   Únp_complex_ne_implrT    s¬   øøø€ õ !  d¨A½5¼=ÐIÑIÔIÐIà	Œ�!Œ€BØMÐMÐMÐMÐMÐMÈÐMÑMÔM�H€CˆØ	Œ€BØ	Œ€BØ	Œ€BØ	Œ€Bà×%Ò% d¨B°Ñ3Ô3€HØ×%Ò% d¨B°Ñ3Ô3€HØ�;Š;�x Ñ*Ô*Ð*r   c                 óÆ   — |                       |||¬¦  «        }t          j        ||j        ¦  «        }t          j        ||j        ¦  «        }|                     ||¦  «        S )NrÈ   )rQ   r
   Úis_truerÖ   r×   rr   )r2   r1   r   ÚvalÚcomplex_valÚre_trueÚim_trues          r   Ú_complex_is_truer[  &  sX   € Ø×&Ò& w°¸#Ð&Ñ>Ô>€KÝŒo˜g {Ô'7Ñ8Ô8€GÝŒo˜g {Ô'7Ñ8Ô8€GØ�;Š;�w Ñ(Ô(Ð(r   c                 óÔ   — t          ||dt          j        ¬¦  «         t          j        ||d         ¦  «        }t          j        ||d         ¦  «        }|                     ||¦  «        S ©Nre   r.  r   rg   )r*   r   rT  r
   rV  rq   ©r2   r1   r&   r   rD  rE  s         r   Únp_logical_and_implr_  -  sY   € Ý   d¨A½5¼=ÐIÑIÔIÐIÝŒ˜  a¤Ñ)Ô)€AÝŒ˜  a¤Ñ)Ô)€AØ�<Š<˜˜1ÑÔÐr   c                 óô   — t          ||dt          j        ¬¦  «         t          | ||j        d         |d         ¦  «        }t          | ||j        d         |d         ¦  «        }|                     ||¦  «        S r]  )r*   r   rT  r[  r   rq   r^  s         r   Únp_complex_logical_and_implra  4  si   € Ý   d¨A½5¼=ÐIÑIÔIÐIÝ˜ '¨3¬8°A¬;¸¸Q¼Ñ@Ô@€AÝ˜ '¨3¬8°A¬;¸¸Q¼Ñ@Ô@€AØ�<Š<˜˜1ÑÔÐr   c                 óÔ   — t          ||dt          j        ¬¦  «         t          j        ||d         ¦  «        }t          j        ||d         ¦  «        }|                     ||¦  «        S r]  )r*   r   rT  r
   rV  rr   r^  s         r   Únp_logical_or_implrc  ;  óY   € Ý   d¨A½5¼=ÐIÑIÔIÐIÝŒ˜  a¤Ñ)Ô)€AÝŒ˜  a¤Ñ)Ô)€AØ�;Š;�q˜!ÑÔÐr   c                 óô   — t          ||dt          j        ¬¦  «         t          | ||j        d         |d         ¦  «        }t          | ||j        d         |d         ¦  «        }|                     ||¦  «        S r]  )r*   r   rT  r[  r   rr   r^  s         r   Únp_complex_logical_or_implrf  B  ói   € Ý   d¨A½5¼=ÐIÑIÔIÐIÝ˜ '¨3¬8°A¬;¸¸Q¼Ñ@Ô@€AÝ˜ '¨3¬8°A¬;¸¸Q¼Ñ@Ô@€AØ�;Š;�q˜!ÑÔÐr   c                 óÔ   — t          ||dt          j        ¬¦  «         t          j        ||d         ¦  «        }t          j        ||d         ¦  «        }|                     ||¦  «        S r]  )r*   r   rT  r
   rV  rx   r^  s         r   Únp_logical_xor_implri  I  rd  r   c                 óô   — t          ||dt          j        ¬¦  «         t          | ||j        d         |d         ¦  «        }t          | ||j        d         |d         ¦  «        }|                     ||¦  «        S r]  )r*   r   rT  r[  r   rx   r^  s         r   Únp_complex_logical_xor_implrk  P  rg  r   c                 ór   — t          ||dt          j        ¬¦  «         t          j        ||d         ¦  «        S ©Nrg   r.  r   )r*   r   rT  r
   Úis_falser®   s       r   Únp_logical_not_implro  W  s2   € Ý   d¨A½5¼=ÐIÑIÔIÐIÝÔ˜G T¨!¤WÑ-Ô-Ð-r   c                 ó¬   — t          ||dt          j        ¬¦  «         t          | ||j        d         |d         ¦  «        }|                     |¦  «        S rm  )r*   r   rT  r[  r   Únot_)r2   r1   r&   r   rD  s        r   Únp_complex_logical_not_implrr  \  sH   € Ý   d¨A½5¼=ÐIÑIÔIÐIÝ˜ '¨3¬8°A¬;¸¸Q¼Ñ@Ô@€AØ�<Š<˜‰?Œ?Ðr   c                 óŠ   — t          ||d¦  «         |\  }}|                     d||¦  «        }|                     |||¦  «        S ©Nre   rÕ   ©r*   rw   ry   )r2   r1   r&   r   Úarg1Úarg2Úarg1_sge_arg2s          r   Únp_int_smax_implry  k  óJ   € Ý   d¨AÑ.Ô.Ð.Ø�J€Dˆ$Ø×'Ò'¨¨d°DÑ9Ô9€MØ�>Š>˜-¨¨tÑ4Ô4Ð4r   c                 óŠ   — t          ||d¦  «         |\  }}|                     d||¦  «        }|                     |||¦  «        S rt  ©r*   rp   ry   )r2   r1   r&   r   rv  rw  Úarg1_uge_arg2s          r   Únp_int_umax_implr~  r  óJ   € Ý   d¨AÑ.Ô.Ð.Ø�J€Dˆ$Ø×)Ò)¨$°°dÑ;Ô;€MØ�>Š>˜-¨¨tÑ4Ô4Ð4r   c                 óB  — t          ||d¦  «         |\  }}|                     d||¦  «        }|                     d||¦  «        }|                     |||¦  «        }|                     d||¦  «        }	|                     |	||¦  «        }
|                     |||
¦  «        S ©Nre   ÚunorÕ   ©r*   rQ  ry   r´   )r2   r1   r&   r   rv  rw  Úarg1_nanÚany_nanÚ
nan_resultr]  Únon_nan_results              r   Únp_real_maximum_implrˆ  y  ó¢   € å   d¨AÑ.Ô.Ð.à�J€Dˆ$Ø×%Ò% e¨T°4Ñ8Ô8€HØ×$Ò$ U¨D°$Ñ7Ô7€GØ—’ ¨$°Ñ5Ô5€Jà×'Ò'¨¨d°DÑ9Ô9€LØ—^’^ L°$¸Ñ=Ô=€Nà�>Š>˜' :¨~Ñ>Ô>Ð>r   c                 óB  — t          ||d¦  «         |\  }}|                     d||¦  «        }|                     d||¦  «        }|                     |||¦  «        }|                     d||¦  «        }	|                     |	||¦  «        }
|                     |||
¦  «        S r�  rƒ  )r2   r1   r&   r   rv  rw  Úarg2_nanr…  r†  r]  r‡  s              r   Únp_real_fmax_implrŒ  ˆ  r‰  r   c                 óì  — t          ||d¦  «         |j        d         }t          j        t          j        |¦  «        }t          j        t          j        g|gdz  ¢R Ž }|\  }}t          | |||g¦  «        }	t          | |||g¦  «        }
|                     |	|
¦  «        }|                     |	||¦  «        }t          | |||¦  «        }|                     |||¦  «        }|                     |||¦  «        S ©Nre   r   ©
r*   r   r   r%  r   rT  Únp_complex_isnan_implrr   ry   rU  ©r2   r1   r&   r   r   Úbc_sigÚbcc_sigrv  rw  r„  r‹  r…  r†  r]  r‡  s                  r   Únp_complex_maximum_implr”  —  óî   € õ !  d¨AÑ.Ô.Ð.Ø	Œ�!Œ€BÝÔ�eœm¨RÑ0Ô0€FÝÔ�uœ}Ð6°¨t°A©vÐ6Ð6Ð6€GØ�J€Dˆ$Ý$ W¨g°vÀ¸vÑFÔF€HÝ$ W¨g°vÀ¸vÑFÔF€HØ�kŠk˜( HÑ-Ô-€GØ—’ ¨$°Ñ5Ô5€Jå% g¨w¸ÀÑFÔF€LØ—^’^ L°$¸Ñ=Ô=€Nà�>Š>˜' :¨~Ñ>Ô>Ð>r   c                 óì  — t          ||d¦  «         |j        d         }t          j        t          j        |¦  «        }t          j        t          j        g|gdz  ¢R Ž }|\  }}t          | |||g¦  «        }	t          | |||g¦  «        }
|                     |	|
¦  «        }|                     |
||¦  «        }t          | |||¦  «        }|                     |||¦  «        }|                     |||¦  «        S rŽ  r�  r‘  s                  r   Únp_complex_fmax_implr—  ­  óî   € õ
 !  d¨AÑ.Ô.Ð.Ø	Œ�!Œ€BÝÔ�eœm¨RÑ0Ô0€FÝÔ�uœ}Ð6°¨t°A©vÐ6Ð6Ð6€GØ�J€Dˆ$Ý$ W¨g°vÀ¸vÑFÔF€HÝ$ W¨g°vÀ¸vÑFÔF€HØ�kŠk˜( HÑ-Ô-€GØ—’ ¨$°Ñ5Ô5€Jå% g¨w¸ÀÑFÔF€LØ—^’^ L°$¸Ñ=Ô=€Nà�>Š>˜' :¨~Ñ>Ô>Ð>r   c                 óŠ   — t          ||d¦  «         |\  }}|                     d||¦  «        }|                     |||¦  «        S ©Nre   rÅ  ru  )r2   r1   r&   r   rv  rw  Úarg1_sle_arg2s          r   Únp_int_smin_implrœ  Â  rz  r   c                 óŠ   — t          ||d¦  «         |\  }}|                     d||¦  «        }|                     |||¦  «        S rš  r|  )r2   r1   r&   r   rv  rw  Úarg1_ule_arg2s          r   Únp_int_umin_implrŸ  É  r  r   c                 óB  — t          ||d¦  «         |\  }}|                     d||¦  «        }|                     d||¦  «        }|                     |||¦  «        }|                     d||¦  «        }	|                     |	||¦  «        }
|                     |||
¦  «        S ©Nre   r‚  rÅ  rƒ  ©r2   r1   r&   r   rv  rw  r„  r…  r†  Úarg1_le_arg2r‡  s              r   Únp_real_minimum_implr¤  Ð  r‰  r   c                 óB  — t          ||d¦  «         |\  }}|                     d||¦  «        }|                     d||¦  «        }|                     |||¦  «        }|                     d||¦  «        }	|                     |	||¦  «        }
|                     |||
¦  «        S r¡  rƒ  r¢  s              r   Únp_real_fmin_implr¦  ß  r‰  r   c                 óì  — t          ||d¦  «         |j        d         }t          j        t          j        |¦  «        }t          j        t          j        g|gdz  ¢R Ž }|\  }}t          | |||g¦  «        }	t          | |||g¦  «        }
|                     |	|
¦  «        }|                     |	||¦  «        }t          | |||¦  «        }|                     |||¦  «        }|                     |||¦  «        S rŽ  ©
r*   r   r   r%  r   rT  r�  rr   ry   rC  ©r2   r1   r&   r   r   r’  r“  rv  rw  r„  r‹  r…  r†  r£  r‡  s                  r   Únp_complex_minimum_implrª  î  r•  r   c                 óì  — t          ||d¦  «         |j        d         }t          j        t          j        |¦  «        }t          j        t          j        g|gdz  ¢R Ž }|\  }}t          | |||g¦  «        }	t          | |||g¦  «        }
|                     |	|
¦  «        }|                     |
||¦  «        }t          | |||¦  «        }|                     |||¦  «        }|                     |||¦  «        S rŽ  r¨  r©  s                  r   Únp_complex_fmin_implr¬    r˜  r   c                 óT   — t          ||dt          j        ¬¦  «         t          j        S ©Nrg   r.  ©r*   r   rT  r
   Ú	false_bitr®   s       r   Únp_int_isnan_implr±    ó$   € Ý   d¨A½5¼=ÐIÑIÔIÐIÝÔÐr   c                 ór   — t          ||dt          j        ¬¦  «         t          j        ||d         ¦  «        S rm  )r*   r   rT  r   Úis_nanr®   s       r   Únp_real_isnan_implrµ  !  ó1   € Ý   d¨A½5¼=ÐIÑIÔIÐIÝŒ?˜7 D¨¤GÑ,Ô,Ð,r   c                 ó°   — t          ||dt          j        ¬¦  «         |\  }|j        \  }|                      |||¬¦  «        }t          j        ||¦  «        S ©Nrg   r.  rÈ   )r*   r   rT  r   rQ   r   r´  ©r2   r1   r&   r   rý   r   rX  s          r   r�  r�  &  sX   € Ý   d¨A½5¼=ÐIÑIÔIÐIà	�B€AØ
Œ(�C€BØ×&Ò& w°¸!Ð&Ñ<Ô<€KÝÔ˜G [Ñ1Ô1Ð1r   c                 óT   — t          ||dt          j        ¬¦  «         t          j        S r®  )r*   r   rT  r
   Útrue_bitr®   s       r   Únp_int_isfinite_implr¼  /  s$   € Ý   d¨A½5¼=ÐIÑIÔIÐIÝÔÐr   c                 óŠ   — t          ||dt          j        ¬¦  «         |                     d|d         t          j        ¦  «        S )Nrg   r.  rl   r   )r*   r   rT  rp   r   ÚNATr®   s       r   Únp_datetime_isfinite_implr¿  4  s9   € Ý   d¨A½5¼=ÐIÑIÔIÐIØ× Ò   t¨A¤wµ
´Ñ?Ô?Ð?r   c                 óŠ   — t          ||dt          j        ¬¦  «         |                     d|d         t          j        ¦  «        S )Nrg   r.  rh   r   )r*   r   rT  rw   r   r¾  r®   s       r   Únp_datetime_isnat_implrÁ  9  s9   € Ý   d¨A½5¼=ÐIÑIÔIÐIØ×Ò˜t T¨!¤W­j¬nÑ=Ô=Ð=r   c                 ór   — t          ||dt          j        ¬¦  «         t          j        ||d         ¦  «        S rm  )r*   r   rT  r   Ú	is_finiter®   s       r   Únp_real_isfinite_implrÄ  >  s2   € Ý   d¨A½5¼=ÐIÑIÔIÐIÝÔ˜g t¨A¤wÑ/Ô/Ð/r   c                 ó°   — t          ||dt          j        ¬¦  «         |\  }|j        \  }|                      |||¬¦  «        }t          j        ||¦  «        S r¸  )r*   r   rT  r   rQ   r   rÃ  r¹  s          r   Únp_complex_isfinite_implrÆ  C  sX   € Ý   d¨A½5¼=ÐIÑIÔIÐIØ	�B€AØ
Œ(�C€BØ×&Ò& w°¸!Ð&Ñ<Ô<€KÝÔ˜w¨Ñ4Ô4Ð4r   c                 óT   — t          ||dt          j        ¬¦  «         t          j        S r®  r¯  r®   s       r   Únp_int_isinf_implrÈ  K  r²  r   c                 ór   — t          ||dt          j        ¬¦  «         t          j        ||d         ¦  «        S rm  )r*   r   rT  r   Úis_infr®   s       r   Únp_real_isinf_implrË  P  r¶  r   c                 ó°   — t          ||dt          j        ¬¦  «         |\  }|j        \  }|                      |||¬¦  «        }t          j        ||¦  «        S r¸  )r*   r   rT  r   rQ   r   rÊ  r¹  s          r   Únp_complex_isinf_implrÍ  U  sX   € Ý   d¨A½5¼=ÐIÑIÔIÐIØ	�B€AØ
Œ(�C€BØ×&Ò& w°¸!Ð&Ñ<Ô<€KÝÔ˜G [Ñ1Ô1Ð1r   c           	      ó~  — t          ||dt          j        ¬¦  «         t          j        |                      t          j        d¦  «        t          j        |                      t          j        d¦  «        t          j        |                      t          j	        d¦  «        i}|j
        d         }t          t          d|j        › �¦  «        }|                      |¦  «        }|                     |                     |d         |¦  «        ||         ¦  «        }|                     d||                     d¦  «        ¦  «        }	|	S )	Nrg   r.  i €  l        l            r   Úuintrl   )r*   r   rT  Úfloat16rm   Úuint16Úfloat32Úuint32r<   Úuint64r   ÚgetattrÚbitwidthrI   rq   Úbitcastrp   rn   )
r2   r1   r&   r   ÚmasksÚarg_tyÚ
arg_int_tyÚarg_ll_int_tyÚint_resÚbool_ress
             r   Únp_real_signbit_implrÞ  ]  sþ   € Ý   d¨A½5¼=ÐIÑIÔIÐIõ 	Œ�w×+Ò+­E¬L¸&ÑAÔAÝŒ�w×+Ò+­E¬L¸*ÑEÔEÝŒ�w×+Ò+­E¬LÐ:LÑMÔMð€Eð
 ŒX�aŒ[€FÝ�Ð 8 v¤Ð 8Ð 8Ñ9Ô9€JØ×*Ò*¨:Ñ6Ô6€MØ�lŠl˜7Ÿ?š?¨4°¬7°MÑBÔBØ  œ=ñ*ô *€Gà×$Ò$ T¨7°G·L²LÀ±O´OÑDÔD€HØ€Or   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S r¬   )r*   r   Úcopysign_float_implr®   s       r   Únp_real_copysign_implrá  o  s+   € Ý   d¨AÑ.Ô.Ð.åÔ'¨°¸#¸tÑDÔDÐDr   c                 ó€   — t          ||d¦  «         t          j        dt          j        di}t	          | ||||d¦  «        S )Nre   Únumba_nextafterfÚnumba_nextafterÚ	nextafter)r*   r   rÒ  r<   rc   )r2   r1   r&   r   Údispatch_tables        r   Únp_real_nextafter_implrç  t  sQ   € Ý   d¨AÑ.Ô.Ð.õ 	ŒÐ)ÝŒÐ(ð€Nõ
 ' w°¸¸dØ'5°{ñDô Dð Dr   c                 ó  — t          ||d¦  «         t          j        dt          j        di}|j        \  }t          j        |j        ||¦  «        }|d         j        } |t          j
        ¦  «        }t          j                             |||g¦  «        }	t          j        |j        |	d¬¦  «        }
|                     |
||d         g¦  «        }||gz   }t%          | ||||d¦  «        }|                     ||d         ¦  «        S )Nrg   rã  rä  r   zllvm.copysignr,   rå  )r*   r   rÒ  r<   r   r   r%  r   rn   r  Úinfr6   r7   r8   r
   r9   r4   r;   rc   rÁ   )r2   r1   r&   r   ræ  r   ri  ru  Úll_infr@   rA   Úll_sinfÚ
inner_argsrå  s                 r   Únp_real_spacing_implrí    s  € õ !  d¨AÑ.Ô.Ð.õ 	ŒÐ)ÝŒÐ(ð€Nð
 Œ8�D€RÝÔ  ¤°"°bÑ9Ô9€IØ�ŒGŒL€EØˆU•2”6‰]Œ]€FÝŒ;×#Ò# E¨E°5¨>Ñ:Ô:€DÝ	Ô	% g¤n°dØ+:ð
<ñ 
<ô 
<€Bà�lŠl˜2 ¨¨Q¬Ð0Ñ1Ô1€GØ˜˜
Ñ"€JÝ+¨G°W¸iØ,6¸Ø,7ñ9ô 9€Ið �<Š<˜	 4¨¤7Ñ+Ô+Ð+r   c                 óÖ   — |\  }}|j         \  }}|                      |||t          j        ¦  «        }t	          j        ||t          j        ¦  «        }t          j        | ||||f¦  «        S r   )r   r/   r   Úintcr   r%  r   Ú
ldexp_impl)	r2   r1   r&   r   ró   rô   Úty1Úty2Úf_fi_sigs	            r   Únp_real_ldexp_implrô  œ  sd   € ð �F€BˆØŒx�H€Cˆð 
�Š�g˜r 3­¬
Ñ	3Ô	3€BÝÔ  S­%¬*Ñ5Ô5€HÝÔ˜w¨°¸BÀ¸8ÑDÔDÐDr   r   )žÚ__doc__rM  Úllvmlite.irr6   Únumpyr  Únumba.core.extendingr   Únumba.core.imputilsr   Ú
numba.corer   r   r   r	   r
   r   r   Únumba.npr   Únumba.np.mathr   r   r   Únumba.np.numpy_supportr   r  rŒ  rz  r*   r<   Úcast_arg_tyrD   rc   r“   rš   r    r¥   r¨   rª   Únp_int_fmod_implr¯   r¼   r¾   rÄ   rð   rõ   r  r  Úexpr  r  r  r  Úexp2r  r#  r(  r*  r1  r5  r9  r;  r>  rJ  rb  rf  rj  rn  rp  rv  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Ÿ  rž  rê  rö  rí  rú  rý  r  r  r  r!  r$  r&  r(  r*  r,  rU  rC  rG  rW  rV  rT  r[  r_  ra  rc  rf  ri  rk  ro  rr  ry  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   r   ú<module>r     sü  ððð ð €€€à Ð Ð Ð Ø Ð Ð Ð à )Ð )Ð )Ð )Ð )Ð )Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GØ 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø Ð Ð Ð Ð Ð Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0ð
 5€
Ø4€Ø4€
ðð ð ð ð& Œm€ð 0;ðIð Ið Ið Ið .ð .ð .ð|"ð "ð "ðJð ð ð8Dð Dð Dðð ð ð.ð ð ð*Dð Dð Dð $Ð ðð ð ð(ð (ð (ð&ð ð ð
=ð =ð =ðGð Gð GðZ	ð 	ð 	ðð ð ð2	ð 	ð 	ð Ð �N J°´¸"¼&Ñ AÔ AÐ Aðð ð ð	ð 	ð 	ð	ð 	ð 	ð 
€ˆ+˜iÐ(Ñ(Ô(ðð ñ )Ô(ðð Ð �O S¨+°r´wÑ ?Ô ?Ð ?ðð ð ð!ð !ð !ð$;ð ;ð ;ðDð Dð Dð0ð 0ð 0ðlCð Cð Cð@ð @ð @ðCð Cð Cð:ð :ð :ðFð Fð Fð&'"ð '"ð '"ðZBð Bð Bðð ð ð&:ð :ð :ð
;ð ;ð ;ð'ð 'ð 'ð	Ið 	Ið 	Ið:ð :ð :ð
;ð ;ð ;ð'ð 'ð 'ð
ð 
ð 
ð <ð <ð <ð

ð 
ð 
ð <ð <ð <ðð ð ð0<ð <ð <ðð ð ð2;ð ;ð ;ð
<ð <ð <ð)ð )ð )ð
*ð *ð *ð9ð 9ð 9ð?ð ?ð ?ð.Eð Eð Eð&ð &ð &ð$ð $ð $ðT:ð :ð :ð
;ð ;ð ;ð:ð :ð :ð
;ð ;ð ;ð:ð :ð :ð;ð ;ð ;ð;ð ;ð ;ð;ð ;ð ;ðBð Bð BðBð Bð Bð;ð ;ð ;ð
ð ð ð8;ð ;ð ;ð
ð ð ð6;ð ;ð ;ð
#ð #ð #ðR<ð <ð <ð<ð <ð <ð
Að Að Að<<ð <ð <ðCð Cð CðBð Bð BðCð Cð CðBð Bð Bð0ð 0ð 0ð*0ð 0ð 0ð*0ð 0ð 0ð*0ð 0ð 0ð*,ð ,ð ,ð"+ð +ð +ð.)ð )ð )ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ð.ð .ð .ð
ð ð ð5ð 5ð 5ð5ð 5ð 5ð?ð ?ð ?ð?ð ?ð ?ð?ð ?ð ?ð,?ð ?ð ?ð*5ð 5ð 5ð5ð 5ð 5ð?ð ?ð ?ð?ð ?ð ?ð?ð ?ð ?ð,?ð ?ð ?ð0ð ð ð
-ð -ð -ð
2ð 2ð 2ðð ð ð
@ð @ð @ð
>ð >ð >ð
0ð 0ð 0ð
5ð 5ð 5ðð ð ð
-ð -ð -ð
2ð 2ð 2ðð ð ð$Eð Eð Eð
	Dð 	Dð 	Dð,ð ,ð ,ð:Eð Eð Eð Eð Er   