§
    ƒÛg	ô  ã                   ó  — 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 ddlmZ ddlmZ ddlmZmZmZ d	Zd
ZdZd‹d„Zej        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j,        ej-        ¦  «         d„ Z.d„ Z/d„ Z0 ee0d ¬!¦  «        d"„ ¦   «         Z1 e+e/d#e0ej2        ¦  «         d$„ Z3d%„ Z4d&„ Z5d'„ Z6d(„ Z7d)„ Z8d*„ Z9d+„ Z:d,„ Z;d-„ Z<d.„ Z=d/„ Z>d0„ Z?d1„ Z@d2„ ZAd3„ ZBd4„ ZCd5„ ZDd6„ ZEd7„ ZFd8„ ZGd9„ ZHd:„ ZId;„ ZJd<„ ZKd=„ ZLd>„ ZMd?„ ZNd@„ ZOdA„ ZPdB„ ZQdC„ ZRdD„ ZSdE„ ZTdF„ ZUdG„ ZVdH„ ZWdI„ ZXdJ„ ZYdK„ ZZdL„ Z[dM„ Z\dN„ Z]dO„ Z^dP„ Z_dQ„ Z`dR„ ZadS„ ZbdT„ ZcdU„ ZddV„ ZedW„ ZfdX„ ZgdY„ ZhdZ„ Zid[„ Zjd\„ Zkd]„ Zld^„ Zmd_„ Znd`„ Zoda„ Zpdb„ Zqdc„ Zrdd„ Zsde„ Ztdf„ Zudg„ Zvdh„ Zwdi„ Zxdj„ Zydk„ Zzdl„ 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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)Úregister_jitable)Ú
npdatetime)Ú	cmathimplÚmathimplÚnumbersgþ‚+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     €úG/granary/edev/quantum/lib/python3.11/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ÑÔÐð	 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>9   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   )r0   r/   r$   r   Ú	func_namer   ÚmodÚltyÚfntyÚfnÚ	cast_argsÚresults   ``   `      r   Ú_call_func_by_name_with_castrB   0   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   r/   s     €r   r1   z/_dispatch_func_by_name_type.<locals>.<listcomp>Y   s6   ø€ ð $ð $ð $Øõ Ô,¨W°cÑ:Ô:ð $ð $ð $r   c                 ó^   •— g | ])}‰                      |¦  «                             ¦   «         ‘Œ*S r   )Úget_value_typeÚ
as_pointer)r   r   r0   s     €r   r1   z/_dispatch_func_by_name_type.<locals>.<listcomp>a   sC   ø€ ð /ð /ð /Øð  ×.Ò.¨rÑ2Ô2×=Ò=Ñ?Ô?ð /ð /ð /r   c                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS r   )r3   )r   Úatyr0   s     €r   r1   z/_dispatch_func_by_name_type.<locals>.<listcomp>i   s'   ø€ ÐGÐGÐG°s�G×-Ò-¨cÑ2Ô2ÐGÐGÐGr   r*   )r   ÚKeyErrorr#   Ústrr   ÚLoweringErrorr2   r   Úcomplex_domainÚmake_complexÚ_getpointerÚlistr4   r5   r6   ÚVoidTyper
   Úget_or_insert_functionr9   Úloadr3   r   r7   Úcall_external_function)r0   r/   r$   r   ÚtableÚ	user_namer   r;   Úer'   r<   ÚoutÚptrargsÚ	call_argsÚcall_argtysÚcall_argltysr>   r?   ÚretvalÚargtypesÚrestypes   ``                   r   Ú_dispatch_func_by_name_typera   @   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)r0   r/   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_otherwiserA   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 )Nrc   r   rj   ri   )r(   r   rk   rn   rr   r
   Úif_unlikelyrt   ru   rv   ro   rw   rx   ry   rl   rz   )r0   r/   r$   r   r{   r|   r   r}   Úden_not_zeroÚbb_no_ifÚbb_ifr<   rŠ   r‹   rŒ   r�   rŽ   r�   Ú	final_modrA   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   re   )r‘   r   r   r˜   Ú
make_tuple©r0   r/   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 )Nrc   r   rf   Frg   )
r(   r   rk   rn   rq   rr   Úudivry   rl   rz   )r0   r/   r$   r   r{   r|   r   r}   Údiv_by_zeror…   r†   r‡   r‰   rˆ   rA   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 )Nrc   r   rj   )r(   r   rk   rn   rr   r
   r“   Úuremry   rl   rz   )r0   r/   r$   r   r{   r|   r   r}   r”   r•   r–   r<   rA   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 ©Nrc   )r(   Úfdiv©r0   r/   r$   r   s       r   Únp_real_div_implr­   ü   s%   € õ !  d¨AÑ.Ô.Ð.Øˆ7Œ<˜ÐÐr   c                 óØ  — t          ||d¦  «         |\  }}|j        d         }|                      |d¦  «        }|                     ||¦  «        }|                     d||¦  «        }	|                     d||¦  «        }
|                     d||¦  «        }|                     |	|                     |
|¦  «        ¦  «        }|                     |||¦  «        }|                     ||¦  «        S )Nrc   r   ç        rj   ú<)	r(   r   rk   ÚfremÚfcmp_orderedro   rv   rw   Úfadd)r0   r/   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°   )r4   r5   ÚConstantrl   Úfsubr²   rw   )r0   r/   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©rO   r   ©r   r   r/   r0   r$   s     €€€r   r1   z'np_complex_div_impl.<locals>.<listcomp>*  óD   ø€ ð !ð !ð !Øð ×$Ò$ W¨c¬h°q¬kÀÐ$ÑEÔEð !ð !ð !r   c                 ó&   •— g | ]}|j         ‰k    ‘ŒS r   ©rl   ©r   ÚiÚftypes     €r   r1   z'np_complex_div_impl.<locals>.<listcomp>2  ó   ø€ Ð@Ð@Ð@ !�”˜’Ð@Ð@Ð@r   úmismatched typesr¯   ç      ð?ú>=rf   )ÚrealÚimagrl   r   Úmake_helperr   r4   r5   r¾   rÂ   r²   rq   ro   r«   Úfmulr³   r¿   Ú	_getvalue) r0   r/   r$   r   r´   rµ   Úin1rÚin1iÚin2rÚin2irY   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ÐUØ
×
Ò
˜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ó   o  ó   € Ø€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_logaddexpv  sI   øø€ à�Š8ˆ8ØˆFØ��5‘	”	ˆð	ð 	ð 	ð 	ð 	ð 	ð 	ð ˆr   r   )Ú
fnoverloadr  rÿ   rþ   r  s    ``` r   Ú_generate_logaddexpr  r  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©r0   r/   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)rl   r   r   r-   r   r:   r«   )	r0   r/   r$   r   r{   r|   ÚnumtyÚdentyr  s	           @r   Únp_int_truediv_implr!  ¼  s˜   ø€ ð �H€CˆØŒX€FÝÐ,Ð,Ð,Ð, tÐ,Ñ,Ô,Ñ,Ô,ÐKÐ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)r0   r/   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   r1   z-np_complex_floor_div_impl.<locals>.<listcomp>ä  rÊ   r   c                 ó&   •— g | ]}|j         ‰k    ‘ŒS r   rÌ   rÍ   s     €r   r1   z-np_complex_floor_div_impl.<locals>.<listcomp>ì  rÐ   r   rÑ   r¯   rÓ   )r   Úunderlying_floatr   r#  rÔ   rÕ   rl   r   r4   r5   r¾   rÖ   r   rÂ   r²   rq   r«   r×   r³   r$  rØ   )r0   r/   r$   r   Ú
float_kindÚ	floor_sigr´   rµ   rÙ   rÚ   rÛ   rÜ   r}   rY   rÞ   rß   rà   r…   r†   ræ   rç   rè   rê   rë   rì   rÏ   s   ```                      @r   Únp_complex_floor_div_implr/  Ú  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ÐUåŒ;×Ò  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_implr3    ó+   € Ý   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_implr7    s+   € Ý   d¨AÑ.Ô.Ð.åÔ" 7¨G°S¸$Ñ?Ô?Ð?r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S rª   r1  r¬   s       r   Únp_complex_float_power_implr9    r4  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>.lcm6  s2   € ð ˜’F�Fˆqˆq¥ A¨­b¬f°Q¸©l¬lÑ):Ñ$;Ñ <Ô <Ð<r   )r   r   Úcompile_internalr   )
r0   r/   r$   r   ÚxtyÚytyrû   rü   rD  r¶   s
             r   Únp_lcm_implrH  0  s}   € àŒx�H€CˆØ�#Ð(Ð(Ò(Ð(˜œÒ(Ð(Ð(Ð(Ð(Ð(Ø�D€A€qð=ð =ð =ð ×
"Ò
" 7¨C°°dÑ
;Ô
;€CÝ˜g w°´ÀÑEÔEÐEr   c                 ó  — t          ||d¦  «         |d         }|j        d         }|j        }|                      |d¦  «        }|                      |d¦  «        }|                      |d¦  «        }	|                      |t	          d¦  «        ¦  «        }
|                      ||¦  «        }||_        ||_        t          j	        t          j        g|gdz  ¢R Ž }||                     ¦   «         g}t          | |||¦  «        }t          | |||¦  «        }t          | |||¦  «        }|                     |||¦  «        }|                     ||	|
¦  «        }|                     |||¦  «        |_        |                     ¦   «         S )Nre   r   r¯   rÒ   ç      ð¿Únanrc   )r(   r   r,  rk   ÚfloatrO   rÔ   rÕ   r   r#  r   ÚbooleanrØ   Únp_complex_ge_implÚnp_complex_eq_implÚnp_complex_lt_implrw   )r0   r/   r$   r   Úopr   Úfloat_tyr}   rÝ   r~   ÚNANrA   Úcmp_sigÚcmp_argsÚarg1_ge_arg2Úarg1_eq_arg2Úarg1_lt_arg2Úreal_when_geÚreal_when_nges                      r   Únp_complex_sign_implr[  C  sq  € õ !  d¨AÑ.Ô.Ð.Ø	ˆaŒ€BØ	Œ�!Œ€BØÔ"€Hà×Ò ¨#Ñ.Ô.€DØ×Ò ¨#Ñ.Ô.€CØ×$Ò$ X¨tÑ4Ô4€IØ
×
Ò
˜x­¨u©¬Ñ
6Ô
6€CØ×!Ò! '¨2Ñ.Ô.€FØ€F„KØ€F„KåÔ�uœ}Ð8°¨t°a©xÐ8Ð8Ð8€GØ�F×$Ò$Ñ&Ô&Ð'€HÝ% g¨w¸ÀÑJÔJ€LÝ% g¨w¸ÀÑJÔJ€LÝ% g¨w¸ÀÑJÔJ€Là—>’> ,°°cÑ:Ô:€LØ—N’N <°¸CÑ@Ô@€MØ—.’. ¨|¸]ÑKÔK€F„Kà×ÒÑÔÐr   c                 óP   — t          ||d¦  «         t          j        |d|¦  «        S )Nre   z	llvm.rint©r(   r   Úcall_fp_intrinsicr¬   s       r   Únp_real_rint_implr_  c  ó)   € Ý   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 )Nre   r   rÆ   rc   )
r(   r   r,  rO   r   r#  r_  rÔ   rÕ   rØ   )	r0   r/   r$   r   r   rR  r´   rY   Ú	inner_sigs	            r   Únp_complex_rint_implrc  i  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 ©Nre   )r(   r   Úexp_implr¬   s       r   Únp_real_exp_implrg  |  r=  r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S re  )r(   r   rf  r¬   s       r   Únp_complex_exp_implri  �  ó+   € Ý   d¨AÑ.Ô.Ð.ÝÔ˜g w°°TÑ:Ô:Ð:r   c                 ó€   — t          ||d¦  «         t          j        dt          j        di}t	          | ||||d¦  «        S )Nre   Únumba_exp2fÚ
numba_exp2Úexp2©r(   r   Úfloat32r:   ra   ©r0   r/   r$   r   Údispatch_tables        r   Únp_real_exp2_implrs  ˆ  óL   € Ý   d¨AÑ.Ô.Ð.õ 	Œ�}ÝŒ�|ð€Nõ
 ' w°¸¸dØ'5°vñ?ô ?ð ?r   c                 ó´  — t          ||d¦  «         |j        d         }|j        }|                      |||d         ¬¦  «        }|                      ||¦  «        }|                      |t
          ¦  «        }|                     ||j        ¦  «        |_        |                     ||j        ¦  «        |_        t          | ||| 
                    ¦   «         g¦  «        S ©Nre   r   rÆ   )r(   r   r,  rO   rk   Ú
_NPY_LOGE2r×   rÔ   rÕ   ri  rØ   )	r0   r/   r$   r   r   rR  r´   rý   Úloge2s	            r   Únp_complex_exp2_implry  ”  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 re  )r(   r   Úlog_implr¬   s       r   Únp_real_log_implr|  £  r=  r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S re  )r(   r   r{  r¬   s       r   Únp_complex_log_implr~  ¨  rj  r   c                 ó€   — t          ||d¦  «         t          j        dt          j        di}t	          | ||||d¦  «        S )Nre   Únumba_log2fÚ
numba_log2Úlog2ro  rq  s        r   Únp_real_log2_implrƒ  ¯  rt  r   c                 ó~  — t          ||d¦  «         |j        d         }|j        }t          | |||¦  «        }|                      |||¬¦  «        }|                      |t          ¦  «        }|                     ||j        ¦  «        |_        |                     ||j	        ¦  «        |_	        | 
                    ¦   «         S rv  )r(   r   r,  r~  rO   rk   r  r×   rÔ   rÕ   rØ   )r0   r/   r$   r   r   rR  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 re  )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 rv  )r(   r   r,  r~  rO   rk   Ú_NPY_LOG10Er×   rÔ   rÕ   rØ   )r0   r/   r$   r   r   rR  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 re  )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 )Nre   r   rc   rJ  rÆ   )r(   r   r,  r   r#  rk   rO   rg  rÔ   Únp_real_cos_implrÕ   Únp_real_sin_implr×   r³   rØ   )r0   r/   r$   r   r   rR  Úfloat_unary_sigr~   r´   rB  rY   Ú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 re  )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 )Nre   r   rc   é   rÒ   rÆ   )r(   r   r,  r   r#  rk   rO   r³   rÔ   Únp_real_hypot_implrÕ   Únp_real_atan2_implr|  rØ   )r0   r/   r$   r   r   rR  r•  Úfloat_binary_sigrÝ   r´   rY   Ú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 re  )r(   r   Ú	sqrt_implr¬   s       r   Únp_real_sqrt_implr¦    ó+   € Ý   d¨AÑ.Ô.Ð.ÝÔ˜g w°°TÑ:Ô:Ð:r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S re  )r(   r   r¥  r¬   s       r   Únp_complex_sqrt_implr©    s+   € Ý   d¨AÑ.Ô.Ð.ÝÔ˜w¨°°dÑ;Ô;Ð;r   c                 óh   — t          ||d¦  «         |                     |d         |d         ¦  «        S ©Nre   r   )r(   Úmulr¬   s       r   Únp_int_square_implr­  %  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¯  *  s0   € Ý   d¨AÑ.Ô.Ð.Ø�<Š<˜˜Qœ  a¤Ñ)Ô)Ð)r   c                 óœ   — t          ||d¦  «         t          j        |j        gdz  Ž }t	          j        | |||d         |d         g¦  «        S ©Nre   r�  r   )r(   r   r#  r   r   Úcomplex_mul_impl)r0   r/   r$   r   Ú
binary_sigs        r   Únp_complex_square_implr´  .  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 )Nre   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>.cbrt=  s4   € àˆqŠ5ˆ5Ý”H˜a˜R Ñ+Ô+Ð+Ð+å”8˜A˜yÑ)Ô)Ð)r   c                 óZ   •— t          j        | ¦  «        rt           j        S  ‰| ¦  «        S r   )r  ÚisnanrK  )rû   r¹  s    €r   Ú_cbrtz np_real_cbrt_impl.<locals>._cbrtD  s'   ø€ ÝŒ8�A‰;Œ;ð 	Ý”6ˆMØˆt�A‰wŒwˆr   )r(   r   rE  )r0   r/   r$   r   r¼  r¹  s        @r   Únp_real_cbrt_implr½  8  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:   rk   r«   )	r0   r/   r$   r   r   r³  Úin_as_floatrÝ   Úresult_as_floats	            r   Únp_int_reciprocal_implrÁ  O  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 )Nre   rÒ   r   )r(   rk   r   r«   )r0   r/   r$   r   rÝ   s        r   Únp_real_reciprocal_implrÃ  ]  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 )Nre   r   r¯   rÒ   rÆ   ú<=)r(   r   r,  rk   rO   rÔ   rÕ   rÂ   r²   rq   r«   r×   r³   r¿   rØ   )r0   r/   r$   r   r   rR  r}   rÝ   r´   rY   rÙ   rÚ   Úin1r_absÚin1i_absÚin1i_abs_le_in1r_absr…   r†   ÚrÚtmp0ÚdÚinv_dÚminus_rs                         r   Únp_complex_reciprocal_implrÎ  c  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 re  )r(   r   Úsin_implr¬   s       r   r”  r”  �  r=  r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S re  )r(   r   rÐ  r¬   s       r   Únp_complex_sin_implrÒ  ’  rj  r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S re  )r(   r   Úcos_implr¬   s       r   r“  r“  š  r=  r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S re  )r(   r   rÔ  r¬   s       r   Únp_complex_cos_implrÖ  Ÿ  rj  r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S re  )r(   r   Útan_implr¬   s       r   Únp_real_tan_implrÙ  §  r=  r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S re  )r(   r   Ú	asin_implr¬   s       r   Únp_real_asin_implrÜ  ¯  r§  r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S re  )r(   r   Ú	acos_implr¬   s       r   Únp_real_acos_implrß  ·  r§  r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S re  )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 re  )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 ©Nre   r   rc   )r(   r   r,  r   r#  rO   rÔ   rÕ   r”  rê  r“  Únp_real_cosh_implr×   rØ   )r0   r/   r$   r   r   ÚftyÚfsig1rû   rY   Ú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 re  )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#  rO   rÔ   rÕ   r“  rí  r”  rê  r×   rØ   )r0   r/   r$   r   r   rî  rï  rû   rY   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 re  )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 )Nre   r   rc   rÒ   )r(   r   r,  r   r#  rk   rO   rÔ   rÕ   r”  r“  rê  rí  r×   r³   r«   r¿   rØ   )r0   r/   r$   r   r   rî  rï  rÝ   rû   rY   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 re  )r(   r   Ú
asinh_implr¬   s       r   Únp_real_asinh_implr  F  rŠ  r   c                 óR   — t          ||d¦  «         t          j        | |||¦  «        S re  )r(   r   Ú
acosh_implr¬   s       r   Únp_real_acosh_implr  N  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 )Nre   r   r�  y      ð?        )r(   r   r   r#  Úget_constant_genericr   Úcomplex_add_implÚcomplex_sub_implr©  r²  r~  )r0   r/   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  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 re  )r(   r   Ú
atanh_implr¬   s       r   Únp_real_atanh_implr$  q  rŠ  r   c                 óP   — t          ||d¦  «         t          j        |d|¦  «        S )Nre   z
llvm.floorr]  r¬   s       r   r$  r$  y  ó)   € Ý   d¨AÑ.Ô.Ð.åÔ% g¨|¸TÑBÔBÐBr   c                 óP   — t          ||d¦  «         t          j        |d|¦  «        S )Nre   z	llvm.ceilr]  r¬   s       r   Únp_real_ceil_implr(  ‚  r`  r   c                 óP   — t          ||d¦  «         t          j        |d|¦  «        S )Nre   z
llvm.truncr]  r¬   s       r   Únp_real_trunc_implr*  ‹  r&  r   c                 óP   — t          ||d¦  «         t          j        |d|¦  «        S )Nre   z	llvm.fabsr]  r¬   s       r   Únp_real_fabs_implr,  ”  r`  r   c                 óö  ‡ ‡‡— t          ||dt          j        ¬¦  «         |j        d         Šˆˆ ˆfd„|D ¦   «         \  }}|j        }|j        }|j        }|j        }	‰                     d||¦  «        }
‰                     d||	¦  «        }‰                     d||¦  «        }‰                     d||	¦  «        }‰                     |
|¦  «        }‰                     ||¦  «        }‰                     ||¦  «        S )	Nrc   ©r   r   c                 ó@   •— g | ]}‰                      ‰‰|¬ ¦  «        ‘ŒS ©rÆ   ©rO   ©r   r   r/   r0   r   s     €€€r   r1   z&np_complex_ge_impl.<locals>.<listcomp>¥  ó.   ø€ ÐMÐMÐMÀ�×$Ò$ W¨b¸Ð$Ñ<Ô<ÐMÐMÐMr   ri   Úordrf   rÓ   ©	r(   r   rM  r   rÔ   rÕ   r²   ro   rp   )r0   r/   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   rN  rN  Ÿ  ó   øøø€ õ !  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 )	Nrc   r.  r   c                 ó@   •— g | ]}‰                      ‰‰|¬ ¦  «        ‘ŒS r0  r1  r2  s     €€€r   r1   z&np_complex_le_impl.<locals>.<listcomp>º  r3  r   r°   r4  rf   rÅ  r5  )r0   r/   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 )Nrc   r.  r   c                 ó@   •— g | ]}‰                      ‰‰|¬ ¦  «        ‘ŒS r0  r1  r2  s     €€€r   r1   z&np_complex_gt_impl.<locals>.<listcomp>Ï  r3  r   ri   r4  rf   r5  )r0   r/   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 )Nrc   r.  r   c                 ó@   •— g | ]}‰                      ‰‰|¬ ¦  «        ‘ŒS r0  r1  r2  s     €€€r   r1   z&np_complex_lt_impl.<locals>.<listcomp>ä  r3  r   r°   r4  rf   r5  )r0   r/   r$   r   r´   rµ   rð  rñ  r6  r7  rA  r9  r:  Úxi_lt_yir<  r=  r   s   ``              @r   rP  rP  Þ  rH  r   c                 óB  ‡ ‡‡— t          ||dt          j        ¬¦  «         |j        d         Šˆˆ ˆfd„|D ¦   «         \  }}|j        }|j        }|j        }|j        }	‰                     d||¦  «        }
‰                     d||	¦  «        }‰                     |
|¦  «        S )Nrc   r.  r   c                 ó@   •— g | ]}‰                      ‰‰|¬ ¦  «        ‘ŒS r0  r1  r2  s     €€€r   r1   z&np_complex_eq_impl.<locals>.<listcomp>ù  r3  r   rf   )r(   r   rM  r   rÔ   rÕ   r²   ro   )r0   r/   r$   r   r´   rµ   rð  rñ  r6  r7  r:  Úxi_eq_yir   s   ``          @r   rO  rO  ó  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 )Nrc   r.  r   c                 ó@   •— g | ]}‰                      ‰‰|¬ ¦  «        ‘ŒS r0  r1  r2  s     €€€r   r1   z&np_complex_ne_impl.<locals>.<listcomp>
  r3  r   rj   )r(   r   rM  r   rÔ   rÕ   Úfcmp_unorderedrp   )r0   r/   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Æ   )rO   r
   Úis_truerÔ   rÕ   rp   )r0   r/   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 ©Nrc   r.  r   re   )r(   r   rM  r
   rV  ro   ©r0   r/   r$   r   rB  rC  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   rM  r[  r   ro   r^  s         r   Únp_complex_logical_and_implra  )  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   rM  r
   rV  rp   r^  s         r   Únp_logical_or_implrc  0  ó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   rM  r[  r   rp   r^  s         r   Únp_complex_logical_or_implrf  7  ó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   rM  r
   rV  rv   r^  s         r   Únp_logical_xor_implri  >  rd  r   c                 óô   — t          ||dt          j        ¬¦  «         t          | ||j        d         |d         ¦  «        }t          | ||j        d         |d         ¦  «        }|                     ||¦  «        S r]  )r(   r   rM  r[  r   rv   r^  s         r   Únp_complex_logical_xor_implrk  E  rg  r   c                 ór   — t          ||dt          j        ¬¦  «         t          j        ||d         ¦  «        S ©Nre   r.  r   )r(   r   rM  r
   Úis_falser¬   s       r   Únp_logical_not_implro  L  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   rM  r[  r   Únot_)r0   r/   r$   r   rB  s        r   Únp_complex_logical_not_implrr  Q  sH   € Ý   d¨A½5¼=ÐIÑIÔIÐIÝ˜ '¨3¬8°A¬;¸¸Q¼Ñ@Ô@€AØ�<Š<˜‰?Œ?Ðr   c                 óŠ   — t          ||d¦  «         |\  }}|                     d||¦  «        }|                     |||¦  «        S ©Nrc   rÓ   ©r(   ru   rw   )r0   r/   r$   r   Úarg1Úarg2Úarg1_sge_arg2s          r   Únp_int_smax_implry  `  óJ   € Ý   d¨AÑ.Ô.Ð.Ø�J€Dˆ$Ø×'Ò'¨¨d°DÑ9Ô9€MØ�>Š>˜-¨¨tÑ4Ô4Ð4r   c                 óŠ   — t          ||d¦  «         |\  }}|                     d||¦  «        }|                     |||¦  «        S rt  ©r(   rn   rw   )r0   r/   r$   r   rv  rw  Úarg1_uge_arg2s          r   Únp_int_umax_implr~  g  óJ   € Ý   d¨AÑ.Ô.Ð.Ø�J€Dˆ$Ø×)Ò)¨$°°dÑ;Ô;€MØ�>Š>˜-¨¨tÑ4Ô4Ð4r   c                 óB  — t          ||d¦  «         |\  }}|                     d||¦  «        }|                     d||¦  «        }|                     |||¦  «        }|                     d||¦  «        }	|                     |	||¦  «        }
|                     |||
¦  «        S ©Nrc   ÚunorÓ   ©r(   rQ  rw   r²   )r0   r/   r$   r   rv  rw  Úarg1_nanÚany_nanÚ
nan_resultrV  Únon_nan_results              r   Únp_real_maximum_implrˆ  n  ó¢   € å   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ƒ  )r0   r/   r$   r   rv  rw  Úarg2_nanr…  r†  rV  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 ©Nrc   r   ©
r(   r   r   r#  r   rM  Únp_complex_isnan_implrp   rw   rN  ©r0   r/   r$   r   r   Úbc_sigÚbcc_sigrv  rw  r„  r‹  r…  r†  rV  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 ©Nrc   rÅ  ru  )r0   r/   r$   r   rv  rw  Úarg1_sle_arg2s          r   Únp_int_smin_implrœ  ·  rz  r   c                 óŠ   — t          ||d¦  «         |\  }}|                     d||¦  «        }|                     |||¦  «        S rš  r|  )r0   r/   r$   r   rv  rw  Úarg1_ule_arg2s          r   Únp_int_umin_implrŸ  ¾  r  r   c                 óB  — t          ||d¦  «         |\  }}|                     d||¦  «        }|                     d||¦  «        }|                     |||¦  «        }|                     d||¦  «        }	|                     |	||¦  «        }
|                     |||
¦  «        S ©Nrc   r‚  rÅ  rƒ  ©r0   r/   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   rM  r�  rp   rw   rC  ©r0   r/   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 ©Nre   r.  ©r(   r   rM  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   rM  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 ©Nre   r.  rÆ   )r(   r   rM  r   rO   r   r´  ©r0   r/   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   rM  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 )Nre   r.  rj   r   )r(   r   rM  rn   r   ÚNATr¬   s       r   Únp_datetime_isfinite_implr¿  )  s9   € Ý   d¨A½5¼=ÐIÑIÔIÐIØ× Ò   t¨A¤wµ
´Ñ?Ô?Ð?r   c                 óŠ   — t          ||dt          j        ¬¦  «         |                     d|d         t          j        ¦  «        S )Nre   r.  rf   r   )r(   r   rM  ru   r   r¾  r¬   s       r   Únp_datetime_isnat_implrÁ  .  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   rM  r   Ú	is_finiter¬   s       r   Únp_real_isfinite_implrÄ  3  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   rM  r   rO   r   rÃ  r¹  s          r   Únp_complex_isfinite_implrÆ  8  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È  @  r²  r   c                 ór   — t          ||dt          j        ¬¦  «         t          j        ||d         ¦  «        S rm  )r(   r   rM  r   Úis_infr¬   s       r   Únp_real_isinf_implrË  E  r¶  r   c                 ó°   — t          ||dt          j        ¬¦  «         |\  }|j        \  }|                      |||¬¦  «        }t          j        ||¦  «        S r¸  )r(   r   rM  r   rO   r   rÊ  r¹  s          r   Únp_complex_isinf_implrÍ  J  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 )	Nre   r.  i €  l        l            r   Úuintrj   )r(   r   rM  Úfloat16rk   Úuint16rp  Úuint32r:   Úuint64r   ÚgetattrÚbitwidthrG   ro   Úbitcastrn   rl   )
r0   r/   r$   r   ÚmasksÚarg_tyÚ
arg_int_tyÚarg_ll_int_tyÚint_resÚbool_ress
             r   Únp_real_signbit_implrÝ  R  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à  d  s+   € Ý   d¨AÑ.Ô.Ð.åÔ'¨°¸#¸tÑDÔDÐDr   c                 ó€   — t          ||d¦  «         t          j        dt          j        di}t	          | ||||d¦  «        S )Nrc   Únumba_nextafterfÚnumba_nextafterÚ	nextafterro  rq  s        r   Únp_real_nextafter_implrå  i  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 )Nre   râ  rã  r   zllvm.copysignr*   rä  )r(   r   rp  r:   r   r   r#  r   rl   r  Úinfr4   r5   r6   r
   r7   r2   r9   ra   r¿   )r0   r/   r$   r   rr  r   rb  Úll_tyÚll_infr>   r?   Úll_sinfÚ
inner_argsrä  s                 r   Únp_real_spacing_implrì  t  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)	r0   r/   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__ÚmathÚllvmlite.irr4   Únumpyr  Únumba.core.extendingr   Únumba.core.imputilsr   Ú
numba.corer   r   r   r	   r
   r   Únumba.npr   Únumba.cpythonr   r   r   r  rŒ  rw  r(   r:   rB   ra   r‘   r˜   rž   r£   r¦   r¨   Únp_int_fmod_implr­   rº   r¼   rÂ   rî   ró   r  r  Úexpr  r  r  r  rn  r  r!  r&  r(  r/  r3  r7  r9  r<  rH  r[  r_  rc  rg  ri  rs  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ê  rö  rí  rú  rý  r  r  r  r!  r$  r$  r(  r*  r,  rN  rC  rG  rP  rO  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Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø Ð Ð Ð Ð Ð Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6ð
 5€
Ø4€Ø4€
ðð ð ð ð* 05¬}ð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ð&ð ð ð@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   