ó
    „ñ:idÄ  ã                   óÀ  • S SK r S SKrS SKrS SKJr  S SKJr  S SKJ	r	  S SK
JrJrJrJr  S SKJr  S rS rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS r S r!S r"S r#S r$S r%S r&S r'S r(S r)S  r*S! r+S" r,S# r-S$ r.S% r/S& r0S' r1S( r2S) r3S* r4S+ r5S, r6S- r7S. r8S/ r9S0 r:S1 r;S2 r<S3 r=S4 r>ShS5 jr?ShS6 jr@ShS7 jrAS8 rBS9 rCS: rDS; rES< rFS= rGS> rHS? rIS@ rJSA rKSB rLSC rMSD rNSE rOSF rPSG rQSH rRSI rSSJ rTSK rUSL rV\W" SM5      rXSN rYSO rZSP r[SQ r\SR r]SS r^ST r_SU r`SV raSW rbSX rcSY rdSZ reS[ rfS\ rgS] rhS^ riS_ rjS` rkSa rlSb rmSc rnSd roSe rpSf rqSg rrg)ié    N)Úir)ÚConstant©Úimpl_ret_untracked)ÚtypingÚtypesÚerrorsÚcgutils©Úviewerc                 ó.   • U R                   (       a  S/$ / $ )z3
Return the modifier flags for integer arithmetic.
Únsw)Úsigned)Úrettypes    ÚX/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/numba/np/math/numbers.pyÚ_int_arith_flagsr      s   € ð ‡~‡~ð ˆwˆàˆ	ó    c                 ó
  • Uu  pEUR                   u  pgU R                  XXbR                  5      nU R                  XXrR                  5      n	UR                  X‰[	        UR                  5      S9n
[        XUR                  U
5      $ ©N)Úflags)ÚargsÚcastÚreturn_typeÚaddr   r   ©ÚcontextÚbuilderÚsigr   ÚvaÚvbÚtaÚtbÚaÚbÚress              r   Úint_add_implr&      ók   € Ø�H€RØ�x‰x�H€RØ�‰�W "§o¡oÓ6€AØ�‰�W "§o¡oÓ6€AØ
�+‰+�aÔ"2°3·?±?Ó"Cˆ+Ð
D€CÜ˜g°·±ÀÓEÐEr   c                 ó
  • Uu  pEUR                   u  pgU R                  XXbR                  5      nU R                  XXrR                  5      n	UR                  X‰[	        UR                  5      S9n
[        XUR                  U
5      $ r   )r   r   r   Úsubr   r   r   s              r   Úint_sub_implr*   '   r'   r   c                 ó
  • Uu  pEUR                   u  pgU R                  XXbR                  5      nU R                  XXrR                  5      n	UR                  X‰[	        UR                  5      S9n
[        XUR                  U
5      $ r   )r   r   r   Úmulr   r   r   s              r   Úint_mul_implr-   0   r'   r   c           
      ó¢  • UR                   UR                   :X  d   eUR                  S5      nUR                  S5      n[        R                  " X5      n[        R                  " X5      nUR                  UR	                  SX3R                  UR
                  5      5      UR	                  SXDR                  S5      5      5      n	UR                  UR                  U	5      SS9   UR                  X45      n
UR                  X45      nUR	                  SUR                  XK5      U5      nUR	                  SXµ5      nUR                  XÜ5      nUR                  U5       u  nnU   UR                  X§5        UR                  X¸5        S	S	S	5        U   UR                  UR                  X¦5      U5        UR                  UR                  X´5      U5        S	S	S	5        S	S	S	5        S	S	S	5        UR                  U5      UR                  U5      4$ ! , (       d  f       N�= f! , (       d  f       NQ= f! , (       d  f       NZ= f! , (       d  f       Nc= f)
a   
Reference Objects/intobject.c
xdivy = x / y;
xmody = (long)(x - (unsigned long)xdivy * y);
/* If the signs of x and y differ, and the remainder is non-0,
 * C89 doesn't define whether xdivy is now the floor or the
 * ceiling of the infinitely precise quotient.  We want the floor,
 * and we have it iff the remainder's sign matches y's.
 */
if (xmody && ((y ^ xmody) < 0) /* i.e. and signs differ */) {
    xmody += y;
    --xdivy;
    assert(xmody && ((y ^ xmody) >= 0));
}
*p_xdivy = xdivy;
*p_xmody = xmody;
r   é   ú==éÿÿÿÿT©ÚlikelyÚ<ú!=N)Útyper
   Úalloca_once_valueÚand_Úicmp_signedÚminvalÚif_thenÚnot_ÚsdivÚsremÚxorÚif_elseÚstorer)   r   Úload)r   r   ÚtyÚxÚyÚZEROÚONEÚresdivÚresmodÚis_overflowÚxdivyÚxmodyÚy_xor_xmody_ltzÚxmody_istrueÚcondÚif_different_signsÚif_same_signss                    r   Úint_divmod_signedrR   9   sÉ  € ð$ �6‰6�Q—V‘VÓÐÐà�6‰6�!‹9€DØ
�&‰&�‹)€Cô ×&Ò& wÓ5€FÜ×&Ò& wÓ5€Fà—,‘,Ø×Ñ˜D !§V¡V¨B¯I©IÓ%6Ó7Ø×Ñ˜D !§V¡V¨B£ZÓ0ó2€Kð 
�‰˜Ÿ™ kÓ2¸4ˆÒ	@ð —‘˜QÓ"ˆØ—‘˜QÓ"ˆà!×-Ñ-¨c°7·;±;¸qÓ3HÈ$ÓOˆØ×*Ñ*¨4°Ó=ˆØ�|‰|˜LÓ:ˆà�_‰_˜TÔ"Ñ&IÐ'9¸=ÚØ—‘˜eÔ,Ø—‘˜eÔ,÷ ò $Ø—‘˜gŸk™k¨%Ó5°vÔ>Ø—‘˜gŸk™k¨%Ó3°VÔ<÷ $÷ #÷ 
Að& �<‰<˜Ó §¡¨fÓ!5Ð5Ð5÷ •ú÷ $Õ#ú÷ #Õ"ú÷ 
AÕ	@úsV   Ã$A9I ÅH/Å##HÆ
H/ÆAHÇH/ÇI È
HÈH/È
H,È(H/È/
H=	È9I É 
Ic                 ó‚   • UR                   (       a  [        XX#U5      $ UR                  X45      UR                  X45      4$ )z<
Integer divmod(x, y).  The caller must ensure that y != 0.
)r   rR   ÚudivÚurem)r   r   rC   rD   rE   s        r   Ú
int_divmodrV   r   s7   € ð 
‡y‡yÜ  °2¸!Ó<Ð<à�|‰|˜AÓ! 7§<¡<°Ó#5Ð5Ð5r   c           	      ó@  • Uu  pVUR                   u  pxUR                  n	[        U	[        R                  5      (       a  U	R
                  n	U R                  XXy5      n
U R                  XX‰5      n[        R                  " XR                  SS9n[        R                  " XR                  SS9nUR                  [        R                  " X5      SS9 u  pïU   U R                  R                  X45      (       d"  UR                  X¼5        UR                  X½5        S S S 5        U   [        XXšU5      u  nnUR                  UU5        UR                  UU5        S S S 5        S S S 5        XÍ4$ ! , (       d  f       NX= f! , (       d  f       N*= f! , (       d  f       XÍ4$ = f)NÚquot©ÚnameÚremFr2   )r   r   Ú
isinstancer   ÚUniTupleÚdtyper   r
   Úalloca_oncer6   r@   Úis_scalar_zeroÚerror_modelÚfp_zero_divisionrA   rV   )r   r   r   r   Úzerodiv_messager   r    r!   r"   rC   r#   r$   rX   r[   Úif_zeroÚif_non_zeroÚqÚrs                     r   Ú_int_divmod_implrh   |   sR  € Ø�F€BØ�X‰X�F€Bà	�‰€BÜ�"”e—n‘n×%Ñ%Ø�X‰XˆØ�‰�W "Ó)€AØ�‰�W "Ó)€AÜ×Ò˜w¯©°VÑ<€DÜ
×
Ò
˜g§v¡v°EÑ
:€Cà	�‰œ×/Ò/°Ó;ÀEˆñ 
Ù4˜wÚØ×&Ñ&×7Ñ7ØÐ+÷-ñ -ð
 —‘˜aÔ&Ø—‘˜aÔ%÷ ò Ü˜g°°qÓ9‰DˆAˆqØ�M‰M˜!˜TÔ"Ø�M‰M˜!˜SÔ!÷ ÷
ð ˆ9Ð÷ �Wú÷ �[ú÷
ô 
ð ˆ9Ðús=   ÃFÃAE+Ä
FÄ#5E<ÅFÅ+
E9	Å5FÅ<
F
	ÆFÆ
Fc                 óŽ   • [        XX#S5      u  pE[        R                  " UUR                  U5      UR                  U5      45      $ )Nzinteger divmod by zero)rh   r
   Ú
pack_arrayrB   ©r   r   r   r   rX   r[   s         r   Úint_divmod_implrl   ›   sH   € Ü  °3Ø!9ó;�I€Dô ×Ò˜gØ&Ÿ|™|¨DÓ1°7·<±<ÀÓ3DÐEóGð Gr   c                 óB   • [        XX#S5      u  pEUR                  U5      $ )Nzinteger division by zero©rh   rB   rk   s         r   Úint_floordiv_implro   ¥   s$   € Ü  °3Ø!;ó=�I€Dà�<‰<˜ÓÐr   c                 ó~  • Uu  pEUR                   u  pgU R                  XXbR                  5      nU R                  XXrR                  5      n	[        R                  " X5         U R
                  R                  US5        S S S 5        UR                  X‰5      n
[        XUR                  U
5      $ ! , (       d  f       N6= f)N©zdivision by zero)	r   r   r   r
   rd   ra   rb   Úfdivr   r   s              r   Úint_truediv_implrs   ­   sŽ   € Ø�H€RØ�x‰x�H€RØ�‰�W "§o¡oÓ6€AØ�‰�W "§o¡oÓ6€AÜ	�Š˜Õ	$Ø×Ñ×,Ñ,¨WÐ6KÔL÷ 
%à
�,‰,�qÓ
€CÜ˜g°·±ÀÓEÐE÷ 
%Õ	$ús   Á!B.Â.
B<c                 óB   • [        XX#S5      u  pEUR                  U5      $ )Nzinteger modulo by zerorn   rk   s         r   Úint_rem_implru   º   s$   € Ü  °3Ø!9ó;�I€Dà�<‰<˜ÓÐr   c                 óœ   • [        U[        R                  5      (       a-  U R                  R                  (       d  SUR
                  S-
  -  $ g)Nr1   r/   F)r\   r   ÚIntegerra   Úraise_on_fp_zero_divisionÚbitwidth)r   r   s     r   Ú_get_power_zerodiv_returnrz   À   s;   € Ü�;¤§¡×.Ñ.Ø×#Ñ#×=×=à�k×*Ñ*¨QÑ.Ñ/Ð/àr   c                 óè   ^^^• [        UR                  S   [        R                  5      mUR                  m[        U T5      mUUU4S jnU R                  XX#5      n[        XUR                  U5      $ )z8
a ^ b, where a is an integer or real, and b an integer
r   c                 ój  >• T" S5      nT" U 5      n US:  a@  SnU* nUS:  a  [         eT(       a'  U S:X  a  T(       a  T$ [        S5      eU S:w  a  U S:w  a  gOSnUnUS:”  a   [        R                  " U [	        U5      5      $ US:w  a  US-  (       a  X -  nUS-  nX -  n US:w  a  M  U(       a  SU-  $ U$ )	Nr/   r   Tú&0 cannot be raised to a negative powerr1   Fé   ç      ð?)ÚOverflowErrorÚZeroDivisionErrorÚmathÚpowÚfloat)r#   r$   rg   ÚinvertÚexpÚ
is_integerÚtpÚzerodiv_returns        €€€r   Ú	int_powerÚ!int_power_impl.<locals>.int_powerÑ   sÌ   ø€ áˆq‹EˆÙˆq‹EˆØˆq‹5ØˆFØ�"ˆCØ�Q‹wÜ#Ð#ÞØ˜“6Þ%Ø-Ð-ä/Ð0XÓYÐYØ˜“6˜a 2›gØøàˆFØˆCØ�‹=ä—8’8˜Aœu Q›xÓ(Ð(Ø�Q‹hØ�Q�wØ‘�Ø�A‰IˆCØ‰FˆAð	 �Q�hö !ˆs�Q‰wÐ' aÐ'r   )r\   r   r   rw   r   rz   Úcompile_internalr   )	r   r   r   r   rŠ   r%   r‡   rˆ   r‰   s	         @@@r   Úint_power_implr�   É   s^   ú€ ô ˜CŸH™H Q™K¬¯©Ó7€JØ	�‰€BÜ.¨w¸Ó;€N÷(ð> ×
"Ñ
" 7°sÓ
A€CÜ˜g°·±ÀÓEÐEr   c                 ó’  ^^^• UR                   S   R                  n[        U[        R                  5      (       d  [
        e[        U5      S:”  a  [
        eUS:  n[        U5      nUR                  n[        U[        R                  5      m[        X5      mU R                  TUS   UR                   S   U5      nUR                  nUU4S jn	U" S5      n
UnUS:w  a'  US-  (       a  U	" X§5      n
US-  nU	" Xw5      nUS:w  a  M'  U(       a:  T(       a  U4S jnOS nU R                  TU[        R                  " Xf5      U
45      n
U
$ )z@
a ^ b, where a is an integer or real, and b a constant integer
r/   r~   r   c                 óV   >• T(       a  TR                  X5      $ TR                  X5      $ ©N)r,   Úfmul)r#   r$   r   r‡   s     €€r   r,   Ústatic_power_impl.<locals>.mul  s$   ø€ ÞØ—;‘;˜qÓ$Ð$à—<‘< Ó%Ð%r   c                 óV   >• U S:X  a  T(       a  T$ [        S5      eU S:w  a  U S:w  a  gU $ )Nr   r}   r/   r1   )r�   )r#   r‰   s    €r   Úinvert_implÚ&static_power_impl.<locals>.invert_impl  s4   ø€ Ø˜“6Þ%Ø-Ð-ä/Ð0XÓYÐYØ˜“6˜a 2›gØà�Hr   c                 ó   • SU -  $ )Nr   © )r#   s    r   r”   r•   ,  s   € Ø˜Q‘w�r   )r   Úvaluer\   ÚnumbersÚIntegralÚNotImplementedErrorÚabsr   r   rw   rz   r   r6   rŒ   r   Ú	signature)r   r   r   r   r†   r…   rˆ   ÚvalÚltyr,   r%   r#   r”   r‡   r‰   s    `           @@r   Ústatic_power_implr    ø   s*  ú€ ð �(‰(�1‰+×
Ñ
€CÜ�cœ7×+Ñ+×,Ñ,Ü!Ð!Ü
ˆ3ƒx�'Óä!Ð!Ø�1‰W€FÜ
ˆc‹(€Cà	�‰€BÜ˜B¤§¡Ó.€JÜ.¨wÓ;€Nà
�,‰,�w  Q¡¨¯©°!©°bÓ
9€CØ
�(‰(€Cö&ñ ˆa‹&€CØ€AØ
�‹(Ø��7Ù�c“-ˆCØ�‰	ˆÙ�#‹mˆð	 ��(ö æö	òð ×&Ñ& w°Ü'-×'7Ò'7¸Ó'?À#ÀóIˆð €Jr   c                 óV   • UR                   " S/UQ76 n[        XUR                  U5      $ ©Nr4   ©r9   r   r   ©r   r   r   r   r%   s        r   Úint_slt_implr¥   5  ó*   € Ø
×
Ò
˜cÐ
) DÒ
)€CÜ˜g°·±ÀÓEÐEr   c                 óV   • UR                   " S/UQ76 n[        XUR                  U5      $ ©Nz<=r£   r¤   s        r   Úint_sle_implr©   :  ó*   € Ø
×
Ò
˜dÐ
* TÒ
*€CÜ˜g°·±ÀÓEÐEr   c                 óV   • UR                   " S/UQ76 n[        XUR                  U5      $ ©NÚ>r£   r¤   s        r   Úint_sgt_implr®   ?  r¦   r   c                 óV   • UR                   " S/UQ76 n[        XUR                  U5      $ ©Nz>=r£   r¤   s        r   Úint_sge_implr±   D  rª   r   c                 óV   • UR                   " S/UQ76 n[        XUR                  U5      $ r¢   ©Úicmp_unsignedr   r   r¤   s        r   Úint_ult_implrµ   I  ó*   € Ø
×
Ò
 Ð
+ dÒ
+€CÜ˜g°·±ÀÓEÐEr   c                 óV   • UR                   " S/UQ76 n[        XUR                  U5      $ r¨   r³   r¤   s        r   Úint_ule_implr¸   N  ó*   € Ø
×
Ò
 Ð
, tÒ
,€CÜ˜g°·±ÀÓEÐEr   c                 óV   • UR                   " S/UQ76 n[        XUR                  U5      $ r¬   r³   r¤   s        r   Úint_ugt_implr»   S  r¶   r   c                 óV   • UR                   " S/UQ76 n[        XUR                  U5      $ r°   r³   r¤   s        r   Úint_uge_implr½   X  r¹   r   c                 óV   • UR                   " S/UQ76 n[        XUR                  U5      $ ©Nr0   r³   r¤   s        r   Úint_eq_implrÀ   ]  r¹   r   c                 óV   • UR                   " S/UQ76 n[        XUR                  U5      $ ©Nr5   r³   r¤   s        r   Úint_ne_implrÃ   b  r¹   r   c                 ó   ^ • U 4S jnU$ )Nc                 ó  >• Uu  pEUR                  SU[        UR                  S5      5      nUR                  T
U[        UR                  S5      5      nUR                  T
XE5      nUR	                  XgU5      n	[        XUR                  U	5      $ ©Nr4   r   ©r9   r   r6   r´   Úselectr   r   ©r   r   r   r   ÚleftÚrightÚcmp_zeroÚlt_zeroÚge_zeror%   Úops             €r   ÚimplÚ%int_signed_unsigned_cmp.<locals>.implh  s   ø€ Ø‰ˆð ×&Ñ& s¨D´(¸4¿9¹9ÀaÓ2HÓIˆØ×%Ñ% b¨$´¸¿¹ÀAÓ0FÓGˆØ×'Ñ'¨¨DÓ8ˆØ�n‰n˜X°Ó8ˆÜ! '°C·O±OÀSÓIÐIr   r—   ©rÏ   rÐ   s   ` r   Úint_signed_unsigned_cmprÓ   g  s   ø€ õJð  €Kr   c                 ó   ^ • U 4S jnU$ )Nc                 ó  >• Uu  pEUR                  SU[        UR                  S5      5      nUR                  T
[        UR                  S5      U5      nUR                  T
XE5      nUR	                  XgU5      n	[        XUR                  U	5      $ rÆ   rÇ   rÉ   s             €r   rÐ   Ú%int_unsigned_signed_cmp.<locals>.impl|  s}   ø€ Ø‰ˆà×&Ñ& s¨E´8¸E¿J¹JÈÓ3JÓKˆØ×%Ñ% b¬(°5·:±:¸qÓ*AÀ5ÓIˆØ×'Ñ'¨¨DÓ8ˆØ�n‰n˜X°Ó8ˆÜ! '°C·O±OÀSÓIÐIr   r—   rÒ   s   ` r   Úint_unsigned_signed_cmpr×   {  s   ø€ õJð €Kr   c                 óÎ   • Uu  n[        UR                  S 5      nUR                  SXE5      nUR                  U5      nUR	                  XgU5      n[        XUR                  U5      $ r¢   )r   r6   r9   ÚnegrÈ   r   r   )	r   r   r   r   rD   rF   ÚltzÚnegatedr%   s	            r   Úint_abs_implrÜ   ‡  s[   € Ø
�C€QÜ�A—F‘F˜DÓ!€DØ
×
Ñ
˜c 1Ó
+€CØ�k‰k˜!‹n€GØ
�.‰.˜ qÓ
)€CÜ˜g°·±ÀÓEÐEr   c                 ó8   • Uu  n[        XUR                  U5      $ r�   ©r   r   ©r   r   r   r   rD   s        r   Úidentity_implrà   �  ó   € Ø
�C€QÜ˜g°·±ÀÓCÐCr   c                 ó8   • Uu  n[        XUR                  U5      $ r�   rÞ   rß   s        r   Úuint_abs_implrã   •  rá   r   c                 óæ   • UR                   u  pEUu  pgU R                  XXBR                  5      nU R                  XXRR                  5      nUR                  Xg5      n[	        XUR                  U5      $ r�   )r   r   r   Úshlr   ©	r   r   r   r   ÚvaltyÚamttyrž   Úamtr%   s	            r   Úint_shl_implrê   š  s]   € Ø—X‘X�N€UØ�J€SØ
�,‰,�w U¯O©OÓ
<€CØ
�,‰,�w U¯O©OÓ
<€CØ
�+‰+�cÓ
€CÜ˜g°·±ÀÓEÐEr   c                 ó@  • UR                   u  pEUu  pgU R                  XXBR                  5      nU R                  XXRR                  5      nUR                  R                  (       a  UR	                  Xg5      nOUR                  Xg5      n[        XUR                  U5      $ r�   )r   r   r   r   ÚashrÚlshrr   ræ   s	            r   Úint_shr_implrî   £  sx   € Ø—X‘X�N€UØ�J€SØ
�,‰,�w U¯O©OÓ
<€CØ
�,‰,�w U¯O©OÓ
<€CØ
‡�××Ø�l‰l˜3Ó$‰à�l‰l˜3Ó$ˆÜ˜g°·±ÀÓEÐEr   c                 óæ   • UR                   u  pEUu  pgU R                  XXBR                  5      nU R                  XXRR                  5      n	UR                  X‰5      n
[	        XUR                  U
5      $ r�   )r   r   r   r8   r   ©r   r   r   r   ÚatÚbtÚavÚbvÚcavÚcbcr%   s              r   Úint_and_implr÷   ¯  s]   € Ø�x‰x�H€RØ�H€RØ
�,‰,�w B¯©Ó
8€CØ
�,‰,�w B¯©Ó
8€CØ
�,‰,�sÓ
 €CÜ˜g°·±ÀÓEÐEr   c                 óæ   • UR                   u  pEUu  pgU R                  XXBR                  5      nU R                  XXRR                  5      n	UR                  X‰5      n
[	        XUR                  U
5      $ r�   )r   r   r   Úor_r   rð   s              r   Úint_or_implrú   ¸  ó]   € Ø�x‰x�H€RØ�H€RØ
�,‰,�w B¯©Ó
8€CØ
�,‰,�w B¯©Ó
8€CØ
�+‰+�cÓ
€CÜ˜g°·±ÀÓEÐEr   c                 óæ   • UR                   u  pEUu  pgU R                  XXBR                  5      nU R                  XXRR                  5      n	UR                  X‰5      n
[	        XUR                  U
5      $ r�   )r   r   r   r?   r   rð   s              r   Úint_xor_implrý   Á  rû   r   c                 ó®   • UR                   u  nUu  nUR                  U5      nU R                  XXBR                  5      n[	        XUR                  U5      $ r�   )r   rÙ   r   r   r   ©r   r   r   r   Útyprž   r%   s          r   Úint_negate_implr  Ê  sI   € Ø�H‰H�E€SØ�E€Sà
�+‰+�cÓ
€CØ
�,‰,�w S¯/©/Ó
:€CÜ˜g°·±ÀÓEÐEr   c                 óŒ   • UR                   u  nUu  nU R                  XXBR                  5      n[        XUR                  U5      $ r�   ©r   r   r   r   rÿ   s          r   Úint_positive_implr  Ó  ó;   € Ø�H‰H�E€SØ�E€SØ
�,‰,�w S¯/©/Ó
:€CÜ˜g°·±ÀÓEÐEr   c           
      ó  • UR                   u  nUu  nUR                  U[        UR                  [	        SUR                  R
                  -  S5      5      5      nU R                  XXBR                  5      n[        XUR                  U5      $ )NÚ1é   )	r   r?   r   r6   ÚintÚwidthr   r   r   rÿ   s          r   Úint_invert_implr  Ú  sj   € Ø�H‰H�E€SØ�E€Sà
�+‰+�cœ8 C§H¡H¬c°#¸¿¹¿¹Ñ2FÈÓ.JÓKÓ
L€CØ
�,‰,�w S¯/©/Ó
:€CÜ˜g°·±ÀÓEÐEr   c                 óž  • Uu  n[        UR                  S5      n[        UR                  S5      n[        UR                  S5      nUR                  SXG5      nUR                  SXG5      n	[        R
                  " XR                  5      n
UR                  S5      nUR                  S5      nUR                  S5      nUR                  S	5      nUR                  S
5      nUR                  X‹U5        UR                  U5         UR                  Xz5        UR                  U5        SSS5        UR                  U5         UR                  X�U5        SSS5        UR                  U5         UR                  XZ5        UR                  U5        SSS5        UR                  U5         UR                  Xj5        UR                  U5        SSS5        UR                  U5        UR                  U
5      n[        XUR                  U5      $ ! , (       d  f       Në= f! , (       d  f       NÐ= f! , (       d  f       N¥= f! , (       d  f       Nz= f)z
np.sign(int)
r/   r1   r   r0   r­   z.zeroz.postestz.posz.negz.exitN)r   r6   r´   r9   r
   r_   Úappend_basic_blockÚcbranchÚ
goto_blockrA   ÚbranchÚposition_at_endrB   r   r   )r   r   r   r   rD   ÚPOSÚNEGrF   rÌ   Úcmp_posÚpresultÚbb_zeroÚ
bb_postestÚbb_posÚbb_negÚbb_exitr%   s                    r   Úint_sign_implr  ã  sÎ  € ð �C€QÜ
�1—6‘6˜1Ó
€CÜ
�1—6‘6˜2Ó
€CÜ�A—F‘F˜AÓ€Dà×$Ñ$ T¨1Ó3€HØ×!Ñ! # qÓ/€Gä×!Ò! '¯6©6Ó2€Gà×(Ñ(¨Ó1€GØ×+Ñ+¨JÓ7€JØ×'Ñ'¨Ó/€FØ×'Ñ'¨Ó/€FØ×(Ñ(¨Ó1€Gà‡O�O�H zÔ2à	×	Ñ	˜GÕ	$Ø�‰�dÔ$Ø�‰�wÔ÷ 
%ð 
×	Ñ	˜JÕ	'Ø�‰˜¨Ô0÷ 
(ð 
×	Ñ	˜FÕ	#Ø�‰�cÔ#Ø�‰�wÔ÷ 
$ð 
×	Ñ	˜FÕ	#Ø�‰�cÔ#Ø�‰�wÔ÷ 
$ð ×Ñ˜GÔ$Ø
�,‰,�wÓ
€CÜ˜g°·±ÀÓEÐE÷# 
%Õ	$ú÷ 
(Õ	'ú÷ 
$Õ	#ú÷ 
$Õ	#ús0   Ä#HÄ?HÅ+#H-Æ'#H>È
HÈ
H*È-
H;È>
Ic                 ó®   • UR                   u  nUu  nU R                  XXBR                  5      nUR                  U5      n[	        XUR                  U5      $ r�   )r   r   r   rÙ   r   rÿ   s          r   Úbool_negate_implr    sI   € Ø�H‰H�E€SØ�E€SØ
�,‰,�w S¯/©/Ó
:€CØ
�+‰+�cÓ
€CÜ˜g°·±ÀÓEÐEr   c                 óŒ   • UR                   u  nUu  nU R                  XXBR                  5      n[        XUR                  U5      $ r�   r  rÿ   s          r   Úbool_unary_positive_implr    r  r   c                 óN   • UR                   " U6 n[        XUR                  U5      $ r�   )Úfaddr   r   r¤   s        r   Úreal_add_implr"  f  ó#   € Ø
�,Š,˜Ð
€CÜ˜g°·±ÀÓEÐEr   c                 óN   • UR                   " U6 n[        XUR                  U5      $ r�   )Úfsubr   r   r¤   s        r   Úreal_sub_implr&  k  r#  r   c                 óN   • UR                   " U6 n[        XUR                  U5      $ r�   )r‘   r   r   r¤   s        r   Úreal_mul_implr(  p  r#  r   c                 óì   • [         R                  " XS   5         U R                  R                  US5        S S S 5        UR                  " U6 n[        XUR                  U5      $ ! , (       d  f       N4= f)Nr/   rq   )r
   rd   ra   rb   rr   r   r   r¤   s        r   Úreal_div_implr*  u  sX   € Ü	�Š˜ q¡'Õ	*Ø×Ñ×,Ñ,¨WÐ6KÔL÷ 
+à
�,Š,˜Ð
€CÜ˜g°·±ÀÓEÐE÷ 
+Õ	*ús   šA%Á%
A3c                 óš  • UR                   UR                   :X  d   eUR                   nUR                  nU R                  SUR                   /5      n[        R                  " XDU[        R
                  " U5      45      n[        R                  " XWU5      nUR                  (       ak  SUl	        [        R                  " UR                  S5      5      n	UR                  u  p«n[        X	X«5      u  pÞU	R                  Xì5        U	R                  U5        [        R                   " X5      nUR#                  X‚X<45      nXñR%                  U5      4$ )Nz.numba.python.remÚlinkonce_odrÚentry)r6   ÚmoduleÚmanglerr   ÚFunctionTypeÚPointerTyper
   Úget_or_insert_functionÚis_declarationÚlinkageÚ	IRBuilderr  r   Úreal_divmod_func_bodyrA   Úretr_   ÚcallrB   )r   r   rD   rE   Úfloattyr.  ÚfnameÚfntyÚfnÚ	fnbuilderÚfxÚfyÚpmodÚdivÚmodÚquotients                   r   Úreal_divmodrD  |  s  € Ø�6‰6�Q—V‘VÓÐÐØ�f‰f€Gà�^‰^€FØ�O‰OÐ/°!·&±&°Ó:€EÜ�?Š?˜7¨g´r·~²~ÀgÓ7NÐ$OÓP€DÜ	×	'Ò	'¨°eÓ	<€Bà	××Ø#ˆŒ
Ü—L’L ×!6Ñ!6°wÓ!?Ó@ˆ	Ø—w‘w‰ˆ�Ü(¨¸RÓD‰ˆØ�‰˜Ô"Ø�‰�cÔä×Ò˜wÓ0€DØ�|‰|˜B A Ó-€HØ—\‘\ $Ó'Ð'Ð'r   c           	      ó  • [         R                  " XR                  5      n[         R                  " XR                  5      n[         R                  " XR                  5      nUR                  X#5      nUR	                  UR                  X'5      U5      nUR                  Xt5        UR                  X…5        UR                  S5      n	UR                  S5      n
UR                  S5      nUR                  SXy5      nUR                  SX95      nUR                  SXy5      nUR                  USS9 u  nnU   UR                  SXÞ5      nUR                  U5         UR                  UR                  X‹5      U5        UR                  UR                  Xs5      U5        S S S 5        S S S 5        U   UR                  XÚU	5      nUR                  Xt5        S S S 5        S S S 5        AAUR                  U5      nUR                  SX‰5      nUR                  U5         [        R                   [        R"                  S.nU[%        UR                  5         nU R'                  [(        R*                  [,        R.                  " UU5      5      nU" X/5      nUR                  UU5      nUR                  UU5      n[1        UR                  S	5      nUR                  S
UU5      nUR                  UUU5      nUR                  UU5        S S S 5        [         R2                  " UU5         UR5                  Xˆ5      nUR                  X…5        UR	                  UR5                  X‚5      U5      nUR                  UU5        S S S 5        UR                  U5      UR                  U5      4$ ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNú= f! , (       d  f       GN= f! , (       d  f       Ní= f! , (       d  f       N‰= f)Nç        g       €r   r5   r4   Tr2   )r„   Údoubleg      à?r­   )r
   r_   r6   Úfremrr   r%  rA   Úfcmp_unorderedÚfcmp_orderedr@   r´   r;   r!  rÈ   rB   r   Úfloat32Úfloat64ÚstrÚget_functionr‚   Úfloorr   r�   r   Úifnotr‘   )r   r   ÚvxÚwxr@  ÚpdivÚ	pfloordivrB  rA  rF   ÚNZEROrG   Ú
mod_istrueÚwx_ltzÚmod_ltzÚif_nonzero_modÚif_zero_modÚwx_ltz_ne_mod_ltzÚ
div_istrueÚrealtypemapÚrealtypeÚfloorfnÚfloordivÚfloordivdiffÚfloordivincrÚHALFÚpreds                              r   r6  r6  ’  s   € ô\ ×Ò˜w¯©Ó0€DÜ×Ò˜w¯©Ó0€DÜ×#Ò# G¯W©WÓ5€Ià
�,‰,�rÓ
€CØ
�,‰,�w—|‘| BÓ,¨bÓ
1€Cà‡M�M�#ÔØ‡M�M�#Ôð �7‰7�3‹<€DØ�G‰G�D‹M€EØ
�'‰'�#‹,€CØ×'Ñ'¨¨cÓ8€JØ×!Ñ! # rÓ0€FØ×"Ñ" 3¨Ó2€Gà	�‰˜¨DˆÑ	1Ñ5R°nÀkÚð !(× 5Ñ 5°d¸FÓ LÐà—‘Ð!2Õ3Ø—‘˜gŸl™l¨3Ó4°dÔ;Ø—‘˜gŸl™l¨3Ó3°TÔ:÷ 4÷ ò ð —.‘. °Ó5ˆCØ�M‰M˜#Ô$÷	 ÷ 
2ð  	ˆSà
�,‰,�tÓ
€CØ×%Ñ% d¨CÓ6€Jà	�‰˜Õ	$Ü %§¡Ü!&§¡ñ0ˆàœs 2§7¡7›|Ñ,ˆØ×&Ñ&¤t§z¡zÜ'-×'7Ò'7¸À(Ó'KóMˆá˜7 EÓ*ˆØ—|‘| C¨Ó2ˆØ—|‘| H¨cÓ2ˆÜ˜Ÿ™ Ó%ˆØ×#Ñ# C¨°tÓ<ˆØ—>‘> $¨°hÓ?ˆØ�‰�h 	Ô*÷ 
%ô 
�Š�w 
Õ	+Ø�l‰l˜3Ó$ˆØ�‰�cÔ Ø—<‘< §¡¨SÓ 5°rÓ:ˆØ�‰�h 	Ô*÷	 
,ð �<‰<˜	Ó" G§L¡L°Ó$6Ð6Ð6÷G 4Ö3ú÷ Ž^ú÷ Ž[ú÷ 
2Ö	1ú÷* 
%Õ	$ú÷ 
,Õ	+úso   Ä.OÄ4$N2ÅAN ÆN2Æ#
OÆ-$OÇOÈC*O(Ì AO9Î 
N/Î*N2Î2
O	Î<OÏ
O	ÏOÏ
O%Ï(
O6Ï9
Pc                 ó  • Uu  pV[         R                  " XR                  SS9n[         R                  " XR                  SS9nUR                  [         R                  " X5      SS9 u  pšU	   U R
                  R                  USU5      (       dD  UR                  XV5      nUR                  XV5      nUR                  X·5        UR                  XÈ5        S S S 5        U
   [        XXV5      u  p¼UR                  X·5        UR                  XÈ5        S S S 5        S S S 5        [         R                  " UUR                  U5      UR                  U5      45      $ ! , (       d  f       Nˆ= f! , (       d  f       N^= f! , (       d  f       Ng= f)NrX   rY   r[   Fr2   ©zmodulo by zero)r
   r_   r6   r@   r`   ra   rb   rr   rH  rA   rD  rj   rB   )r   r   r   r   ÚlocrD   rE   rX   r[   rd   re   rf   rg   s                r   Úreal_divmod_implrh  ÿ  s9  € Ø�D€AÜ×Ò˜w¯©°VÑ<€DÜ
×
Ò
˜g§v¡v°EÑ
:€Cà	�‰œ×/Ò/°Ó;ÀEˆñ 
Ù4˜wÚØ×&Ñ&×7Ñ7ØÐ,¨c÷3ñ 3ð —L‘L Ó&�Ø—L‘L Ó&�Ø—‘˜aÔ&Ø—‘˜aÔ%÷ ò Ü˜w°Ó6‰DˆAØ�M‰M˜!Ô"Ø�M‰M˜!Ô!÷ ÷
ô  ×Ò˜gØ&Ÿ|™|¨DÓ1°7·<±<ÀÓ3DÐEóGð G÷ �Wú÷ �[ú÷
õ 
ús=   Á'E7Á,A'EÃ
E7Ã1E&ÄE7Å
E#	ÅE7Å&
E4	Å0E7Å7
Fc                 óL  • Uu  pV[         R                  " XR                  5      nUR                  [         R                  " X5      SS9 u  p‰U   U R
                  R                  USU5      (       d"  UR                  XV5      n
UR                  X§5        S S S 5        U	   [        XXV5      u  pºUR                  X§5        S S S 5        S S S 5        [        XUR                  UR                  U5      5      $ ! , (       d  f       Nf= f! , (       d  f       NM= f! , (       d  f       NV= f)NFr2   rf  )r
   r_   r6   r@   r`   ra   rb   rH  rA   rD  r   r   rB   )r   r   r   r   rg  rD   rE   r%   rd   re   r[   Ú_s               r   Úreal_mod_implrk    së   € Ø�D€AÜ
×
Ò
˜g§v¡vÓ
.€CØ	�‰œ×/Ò/°Ó;ÀEˆñ 
Ù4˜wÚØ×&Ñ&×7Ñ7ØÐ,¨c÷3ñ 3ð —l‘l 1Ó(�Ø—‘˜cÔ'÷ ò Ü  °1Ó8‰FˆAØ�M‰M˜#Ô#÷ ÷
ô ˜g°·±Ø%Ÿl™l¨3Ó/ó1ð 1÷ �Wú÷ �[ú÷
õ 
úó=   Á	DÁAC3Â
DÂ DÂ=DÃ3
D	Ã=DÄ
D	ÄDÄ
D#c                 óL  • Uu  pV[         R                  " XR                  5      nUR                  [         R                  " X5      SS9 u  p‰U   U R
                  R                  USU5      (       d"  UR                  XV5      n
UR                  X§5        S S S 5        U	   [        XXV5      u  p«UR                  X§5        S S S 5        S S S 5        [        XUR                  UR                  U5      5      $ ! , (       d  f       Nf= f! , (       d  f       NM= f! , (       d  f       NV= f)NFr2   rq   )r
   r_   r6   r@   r`   ra   rb   rr   rA   rD  r   r   rB   )r   r   r   r   rg  rD   rE   r%   rd   re   rX   rj  s               r   Úreal_floordiv_implrn  +  së   € Ø�D€AÜ
×
Ò
˜g§v¡vÓ
.€CØ	�‰œ×/Ò/°Ó;ÀEˆñ 
Ù4˜wÚØ×&Ñ&×7Ñ7ØÐ.°÷5ñ 5ð —|‘| AÓ)�Ø—‘˜dÔ(÷ ò Ü! '°AÓ9‰GˆDØ�M‰M˜$Ô$÷ ÷
ô ˜g°·±Ø%Ÿl™l¨3Ó/ó1ð 1÷ �Wú÷ �[ú÷
õ 
úrl  c                 ó$  • Uu  pEUR                   nU R                  (       a)  U R                  [        R                  U5      nU" X5      nO0UR                  SUR                  /5      n	UR                  X”U45      n[        XUR                  U5      $ )Nzllvm.pow)
r.  Úimplement_powi_as_math_callrN  r‚   rƒ   Údeclare_intrinsicr6   r8  r   r   )
r   r   r   r   rD   rE   r.  Úimpr%   r<  s
             r   Úreal_power_implrs  >  sx   € Ø�D€AØ�^‰^€FØ×*×*Ø×"Ñ"¤4§8¡8¨SÓ1ˆÙ�'Ó ‰à×%Ñ% j°1·6±6°(Ó;ˆØ�l‰l˜2 1˜vÓ&ˆÜ˜g°·±ÀÓEÐEr   c                 óV   • UR                   " S/UQ76 n[        XUR                  U5      $ r¢   ©rJ  r   r   r¤   s        r   Úreal_lt_implrv  J  ó*   € Ø
×
Ò
˜sÐ
* TÒ
*€CÜ˜g°·±ÀÓEÐEr   c                 óV   • UR                   " S/UQ76 n[        XUR                  U5      $ r¨   ru  r¤   s        r   Úreal_le_implry  O  ó*   € Ø
×
Ò
˜tÐ
+ dÒ
+€CÜ˜g°·±ÀÓEÐEr   c                 óV   • UR                   " S/UQ76 n[        XUR                  U5      $ r¬   ru  r¤   s        r   Úreal_gt_implr|  T  rw  r   c                 óV   • UR                   " S/UQ76 n[        XUR                  U5      $ r°   ru  r¤   s        r   Úreal_ge_implr~  Y  rz  r   c                 óV   • UR                   " S/UQ76 n[        XUR                  U5      $ r¿   ru  r¤   s        r   Úreal_eq_implr€  ^  rz  r   c                 óV   • UR                   " S/UQ76 n[        XUR                  U5      $ rÂ   )rI  r   r   r¤   s        r   Úreal_ne_implr‚  c  s*   € Ø
×
 Ò
  Ð
-¨Ò
-€CÜ˜g°·±ÀÓEÐEr   c                 óš   • UR                   u  n[        R                  " XD5      nU R                  [        R
                  U5      nU" X5      $ r�   )r   r   r�   rN  r‚   Úfabs)r   r   r   r   rC   rÐ   s         r   Úreal_abs_implr…  h  s>   € Ø�8‰8�D€RÜ
×
Ò
˜2Ó
"€CØ×Ñ¤§	¡	¨3Ó/€DÙ�ÓÐr   c                 ód   • SSK Jn  UR                  XS   5      n[        XUR                  U5      $ ©Nr   ©Úmathimpl)Únumba.cpythonr‰  Únegate_realr   r   )r   r   r   r   r‰  r%   s         r   Úreal_negate_implrŒ  o  s,   € Ý&Ø
×
Ñ
˜w¨Q©Ó
0€CÜ˜g°·±ÀÓEÐEr   c                 óŒ   • UR                   u  nUu  nU R                  XXBR                  5      n[        XUR                  U5      $ r�   r  rÿ   s          r   Úreal_positive_implrŽ  u  r  r   c           	      ó`  • Uu  n[        UR                  S5      n[        UR                  S5      n[        UR                  S5      n[        R                  " XR                  5      nUR	                  SXG5      n	UR	                  SXG5      n
UR                  U	5       u  p¼U   UR                  XX5        SSS5        U   UR                  U
5       u  pÞU   UR                  Xh5        SSS5        U   UR                  XH5        SSS5        SSS5        SSS5        SSS5        UR                  U5      n[        XUR                  U5      $ ! , (       d  f       N�= f! , (       d  f       N{= f! , (       d  f       Np= f! , (       d  f       Ny= f! , (       d  f       N‚= f! , (       d  f       N‹= f)z
np.sign(float)
r/   r1   r   r­   r4   N)
r   r6   r
   r_   rJ  r@   rA   rB   r   r   )r   r   r   r   rD   r  r  rF   r  Úis_posÚis_negÚgt_zeroÚnot_gt_zerorÍ   Únot_lt_zeror%   s                   r   Úreal_sign_implr•  |  s8  € ð �C€QÜ
�1—6‘6˜1Ó
€CÜ
�1—6‘6˜2Ó
€CÜ�A—F‘F˜AÓ€Dä×!Ò! '¯6©6Ó2€Gà×!Ñ! # qÓ/€FØ×!Ñ! # qÓ/€Fà	�‰˜Ô	 Ñ$: WÚØ�M‰M˜#Ô'÷ âØ—‘ Ô(Ñ,B¨WÚØ—M‘M #Ô/÷ â ð —M‘M !Ô-÷ !÷ )÷ ÷ 
!ð �,‰,�wÓ
€CÜ˜g°·±ÀÓEÐE÷ �Wú÷ •Wúç •[ú÷ )Õ(ú÷ �[ú÷ 
!Õ	 ús„   ÂFÂ!E
Â3
FÂ=FÃE=ÃE	Ã&
E=Ã0E,	ÄE=Ä
FÄFÅ

E	ÅFÅ
E)Å%E=Å,
E:Å6E=Å=
FÆFÆ
F	ÆFÆ
F-c                 óR   • U R                  XUS9nUR                  n[        XX%5      $ ©N©r˜   )Úmake_complexÚrealr   ©r   r   r   r˜   Úcplxr%   s         r   Úcomplex_real_implr�  ¼  ó-   € Ø×Ñ °EÐÐ:€DØ
�)‰)€CÜ˜g°Ó9Ð9r   c                 óR   • U R                  XUS9nUR                  n[        XX%5      $ r—  )r™  Úimagr   r›  s         r   Úcomplex_imag_implr¡  Â  rž  r   c                 óà   • SSK Jn  U R                  XR                  S   US   5      nUR	                  XR
                  5      Ul        UR                  5       n[        XUR                  U5      $ r‡  )	rŠ  r‰  r™  r   r‹  r   Ú	_getvaluer   r   )r   r   r   r   r‰  Úzr%   s          r   Úcomplex_conjugate_implr¥  È  sW   € Ý&Ø×Ñ˜W§h¡h¨q¡k°4¸±7Ó;€AØ×!Ñ! '¯6©6Ó2€A„FØ
�+‰+‹-€CÜ˜g°·±ÀÓEÐEr   c                 ó   • [        XX#5      $ r�   r   )r   r   r   r˜   s       r   Úreal_real_implr§  Ï  s   € Ü˜g°Ó;Ð;r   c                 óZ   • [         R                  " UR                  5      n[        XX$5      $ r�   )r
   Úget_null_valuer6   r   )r   r   r   r˜   r%   s        r   Úreal_imag_implrª  Ò  s#   € Ü
×
 Ò
  §¡Ó
,€CÜ˜g°Ó9Ð9r   c                 ó6   • [        XUR                  US   5      $ ©Nr   rÞ   ©r   r   r   r   s       r   Úreal_conjugate_implr®  Ö  s   € Ü˜g°·±ÀÀaÁÓIÐIr   c           	      ó¨  • Uu  pEUR                   S   nUR                  nU R                  XUS9nU R                  XUS9n	U R                  X5      n
UR                  nUR	                  5       nU	R	                  5       nU
R	                  5       nU R                  US5      nU R                  US5      nUR                  SU	R                  U5      nUR                  SU	R                  U5      nUR                  UU5      nUR                  U5       u  nnU   [        XX$U45      nU R                  XUS9nUR                  U
l        UR                  U
l        S S S 5        U   [        R                  S[        R                  S0U   n[        R                   " [        R"                  " 5       UR$                  /S-  5      n[&        R(                  " UUU5      nUR+                  UXÍU45        S S S 5        S S S 5        UR-                  U5      n[/        XUR0                  U5      $ ! , (       d  f       NÒ= f! , (       d  f       NO= f! , (       d  f       NX= f)Nr   r˜  r  r0   Únumba_cpowfÚ
numba_cpowé   )r   Úunderlying_floatÚmake_helperr.  Ú_getpointerÚget_constantrJ  rš  r   r8   r@   Úcomplex_mul_implr   Ú	complex64Ú
complex128r   r0  ÚVoidTyper6   r
   r2  r8  rB   r   r   )r   r   r   r   ÚcaÚcbrC   Úftyr#   r$   Úcr.  ÚpaÚpbÚpcÚTWOrF   Úb_real_is_twoÚb_imag_is_zeroÚb_is_twoÚthenÚ	otherwiser%   ÚcresÚ	func_namer;  Úcpows                              r   Úcomplex_power_implrË  â  sû  € Ø�H€RØ	�‰�!‰€BØ
×
Ñ
€CØ×Ñ˜G¨rÐÐ2€AØ×Ñ˜G¨rÐÐ2€AØ×Ñ˜GÓ(€AØ�^‰^€FØ	
�‰‹€BØ	
�‰‹€BØ	
�‰‹€Bð ×
Ñ
˜s AÓ
&€CØ×Ñ  QÓ'€Dà×(Ñ(¨¨q¯v©v°sÓ;€MØ×)Ñ)¨$°·±¸Ó=€NØ�|‰|˜M¨>Ó:€Hà	�‰˜Ô	"Ñ&7 t¨YÚä" 7°S¸r¸(ÓCˆCØ×&Ñ& w¸#Ð&Ð>ˆDØ—Y‘YˆAŒFØ—Y‘YˆAŒF÷ ò ô —‘ Ü× Ñ  ,ðð ñˆIô —?’?¤2§;¢;£=°2·7±7°)¸a±-Ó@ˆDÜ×1Ò1°&¸$À	ÓJˆDØ�L‰L˜ ¨˜|Ô,÷ ÷ 
#ð$ �,‰,�rÓ
€CÜ˜g°·±ÀÓEÐE÷% �Tú÷ �Yú÷ 
#Õ	"ús>   ÄIÄAH!Å
IÅB
H2Ç)IÈ!
H/	È+IÈ2
I 	È<IÉ
Ic                 ó�  • Uu  pEUR                   S   nU R                  XUS9nU R                  XUS9nU R                  X5      n	UR                  n
UR                  nUR                  nUR                  nUR	                  X¬5      U	l        UR	                  X½5      U	l        U	R                  5       n[        XUR                  U5      $ ©Nr   r˜  )r   r™  rš  r   r!  r£  r   r   ©r   r   r   r   ÚcxÚcyrC   rD   rE   r¤  r#   r$   r¾  Údr%   s                  r   Úcomplex_add_implrÒ    ó²   € Ø�H€RØ	�‰�!‰€BØ×Ñ˜W°ÐÐ3€AØ×Ñ˜W°ÐÐ3€AØ×Ñ˜WÓ)€AØ	�‰€AØ	�‰€AØ	�‰€AØ	�‰€AØ�\‰\˜!Ó€A„FØ�\‰\˜!Ó€A„FØ
�+‰+‹-€CÜ˜g°·±ÀÓEÐEr   c                 ó�  • Uu  pEUR                   S   nU R                  XUS9nU R                  XUS9nU R                  X5      n	UR                  n
UR                  nUR                  nUR                  nUR	                  X¬5      U	l        UR	                  X½5      U	l        U	R                  5       n[        XUR                  U5      $ rÍ  )r   r™  rš  r   r%  r£  r   r   rÎ  s                  r   Úcomplex_sub_implrÕ    rÓ  r   c                 ó  • Uu  pEUR                   S   nU R                  XUS9nU R                  XUS9nU R                  X5      n	UR                  n
UR                  nUR                  nUR                  nUR	                  X¬5      nUR	                  X½5      nUR	                  X­5      nUR	                  X¼5      nUR                  Xï5      U	l        UR                  UU5      U	l        U	R                  5       n[        XUR                  U5      $ )z
(a+bi)(c+di)=(ac-bd)+i(ad+bc)
r   r˜  )
r   r™  rš  r   r‘   r%  r!  r£  r   r   )r   r   r   r   rÏ  rÐ  rC   rD   rE   r¤  r#   r$   r¾  rÑ  ÚacÚbdÚadÚbcr%   s                      r   r·  r·  +  sî   € ð �H€RØ	�‰�!‰€BØ×Ñ˜W°ÐÐ3€AØ×Ñ˜W°ÐÐ3€AØ×Ñ˜WÓ)€AØ	�‰€AØ	�‰€AØ	�‰€AØ	�‰€AØ	�‰�aÓ	€BØ	�‰�aÓ	€BØ	�‰�aÓ	€BØ	�‰�aÓ	€BØ�\‰\˜"Ó!€A„FØ�\‰\˜"˜bÓ!€A„FØ
�+‰+‹-€CÜ˜g°·±ÀÓEÐEr   Únanc                 óZ   • S nU R                  XX#5      n[        XUR                  U5      $ )Nc                 ó   • U R                   nU R                  nUR                   nUR                  nU(       d  U(       d  [        S5      e[        U5      [        U5      :¼  aB  U(       d  [	        [
        [
        5      $ XT-  nXEU-  -   n[	        X#U-  -   U-  X2U-  -
  U-  5      $ U(       d  [	        [
        [
        5      $ XE-  nXF-  U-   n[	        U R                   U-  U R                  -   U-  U R                  U-  U R                   -
  U-  5      $ )Nzcomplex division by zero)rš  r   r�   rœ   ÚcomplexÚNAN)r#   r$   ÚarealÚaimagÚbrealÚbimagÚratioÚdenoms           r   Úcomplex_divÚ%complex_div_impl.<locals>.complex_divE  sù   € à—‘ˆØ—‘ˆØ—‘ˆØ—‘ˆÞžUÜ#Ð$>Ó?Ð?Üˆu‹:œ˜U›Ó#æÜœs¤CÓ(Ð(Ø‘MˆEØ E™MÑ)ˆEÜØ ™Ñ&¨%Ñ/Ø ™Ñ&¨%Ñ/ó1ð 1ö
 Üœs¤CÓ(Ð(Ø‘MˆEØ‘M EÑ)ˆEÜØ—‘˜%‘ !§&¡&Ñ(¨EÑ1Ø—‘˜%‘ !§&¡&Ñ(¨EÑ1ó3ð 3r   ©rŒ   r   r   )r   r   r   r   ræ  r%   s         r   Úcomplex_div_implré  D  s.   € ò3ð6 ×
"Ñ
" 7¸Ó
C€CÜ˜g°·±ÀÓEÐEr   c                 óB  • SSK Jn  UR                  u  nUu  nU R                  XUS9nU R                  X5      nUR	                  XR
                  5      Ul        UR	                  XR                  5      Ul        UR                  5       n[        XUR                  U5      $ )Nr   rˆ  r˜  )
rŠ  r‰  r   r™  r‹  rš  r   r£  r   r   )	r   r   r   r   r‰  r   rž   Úcmplxr%   s	            r   Úcomplex_negate_implrì  d  s†   € Ý&Ø�H‰H�E€SØ�E€SØ× Ñ  °SÐ Ð9€EØ
×
Ñ
˜wÓ
,€CØ×#Ñ# G¯Z©ZÓ8€C„HØ×#Ñ# G¯Z©ZÓ8€C„HØ
�-‰-‹/€CÜ˜g°·±ÀÓEÐEr   c                 ó8   • Uu  n[        XUR                  U5      $ r�   rÞ   ©r   r   r   r   rž   s        r   Úcomplex_positive_implrï  p  s   € Ø�E€SÜ˜g°·±ÀÓEÐEr   c                 óT  • Uu  pEUR                   S   nU R                  XUS9nU R                  XUS9nUR                  SUR                  UR                  5      n	UR                  SUR                  UR                  5      n
UR                  Xš5      n[        XUR                  U5      $ )Nr   r˜  r0   )r   r™  rJ  rš  r   r8   r   r   )r   r   r   r   rÏ  rÐ  r   rD   rE   Úreals_are_eqÚimags_are_eqr%   s               r   Úcomplex_eq_implró  u  s™   € Ø�H€RØ
�(‰(�1‰+€CØ×Ñ˜W°ÐÐ4€AØ×Ñ˜W°ÐÐ4€Aà×'Ñ'¨¨a¯f©f°a·f±fÓ=€LØ×'Ñ'¨¨a¯f©f°a·f±fÓ=€LØ
�,‰,�|Ó
2€CÜ˜g°·±ÀÓEÐEr   c                 óT  • Uu  pEUR                   S   nU R                  XUS9nU R                  XUS9nUR                  SUR                  UR                  5      n	UR                  SUR                  UR                  5      n
UR                  Xš5      n[        XUR                  U5      $ )Nr   r˜  r5   )r   r™  rI  rš  r   rù   r   r   )r   r   r   r   rÏ  rÐ  r   rD   rE   Úreals_are_neÚimags_are_ner%   s               r   Úcomplex_ne_implr÷  �  s™   € Ø�H€RØ
�(‰(�1‰+€CØ×Ñ˜W°ÐÐ4€AØ×Ñ˜W°ÐÐ4€Aà×)Ñ)¨$°·±¸¿¹Ó?€LØ×)Ñ)¨$°·±¸¿¹Ó?€LØ
�+‰+�lÓ
1€CÜ˜g°·±ÀÓEÐEr   c                 óZ   • S nU R                  XX#5      n[        XUR                  U5      $ )z!
abs(z) := hypot(z.real, z.imag)
c                 óX   • [         R                  " U R                  U R                  5      $ r�   )r‚   Úhypotrš  r   )r¤  s    r   Úcomplex_absÚ%complex_abs_impl.<locals>.complex_abs‘  s   € Ü�zŠz˜!Ÿ&™& !§&¡&Ó)Ð)r   rè  )r   r   r   r   rû  r%   s         r   Úcomplex_abs_implrý  �  s.   € ò*ð ×
"Ñ
" 7¸Ó
C€CÜ˜g°·±ÀÓEÐEr   c                 ó   • US   $ )z3
The no-op .item() method on booleans and numbers.
r   r—   r­  s       r   Únumber_item_implrÿ  °  s   € ð �‰7€Nr   c                 ó®   • UR                   u  nUu  nU R                  XXBR                  5      nUR                  U5      n[	        XUR                  U5      $ r�   )r   r   r   r<   r   )r   r   r   r   r   rž   Úistruer%   s           r   Únumber_not_implr  º  sI   € Ø�H‰H�E€SØ�E€SØ�\‰\˜'¨¯_©_Ó=€FØ
�,‰,�vÓ
€CÜ˜g°·±ÀÓEÐEr   c                 ó   • Uu  nU$ r�   r—   rî  s        r   Úbool_as_boolr  Â  s   € Ø�E€SØ€Jr   c                 óX   • Uu  nUR                  SU[        UR                  S5      5      $ )Nr5   r   )r´   r   r6   rî  s        r   Úint_as_boolr  Ç  s)   € Ø�E€SØ× Ñ   s¬H°S·X±X¸qÓ,AÓBÐBr   c                 óX   • Uu  nUR                  SU[        UR                  S5      5      $ )Nr5   rF  )rI  r   r6   rî  s        r   Úfloat_as_boolr  Ì  s)   € Ø�E€SØ×!Ñ! $¨¬X°c·h±hÀÓ-DÓEÐEr   c                 ó  • UR                   u  nUu  nU R                  XU5      nUR                  UR                  p‡[	        UR
                  S5      n	UR                  SXy5      n
UR                  SX‰5      nUR                  X«5      $ )NrF  r5   )r   r™  rš  r   r   r6   rI  rù   )r   r   r   r   r   rž   rë  rš  r   ÚzeroÚreal_istrueÚimag_istrues               r   Úcomplex_as_boolr  Ñ  sx   € Ø�H‰H�E€SØ�E€SØ× Ñ  ¨sÓ3€EØ—‘˜UŸZ™Zˆ$Ü�D—I‘I˜sÓ#€DØ×(Ñ(¨¨tÓ:€KØ×(Ñ(¨¨tÓ:€KØ�;‰;�{Ó0Ð0r   c                 óŠ   • U R                  UUR                  UR                  5      nU R                  XUR                  U5      $ r�   )Úget_constant_genericÚliteral_typeÚliteral_valuer   ©r   r   ÚfromtyÚtotyrž   Úlits         r   Úliteral_int_to_numberr  ë  sB   € Ø
×
&Ñ
&ØØ×ÑØ×Ñó
€Cð
 �<‰<˜ f×&9Ñ&9¸4Ó@Ð@r   c                 óP  • UR                   UR                   :X  a  U$ UR                   UR                   :  a   UR                  X@R                  U5      5      $ UR                  (       a   UR	                  X@R                  U5      5      $ UR                  X@R                  U5      5      $ r�   )ry   ÚtruncÚget_value_typer   ÚsextÚzext©r   r   r  r  rž   s        r   Úinteger_to_integerr  õ  s~   € Ø‡}�}˜Ÿ™Ó'àˆ
Ø	�‰˜Ÿ™Ó	(à�}‰}˜S×"8Ñ"8¸Ó">Ó?Ð?Ø	��à�|‰|˜C×!7Ñ!7¸Ó!=Ó>Ð>ð �|‰|˜C×!7Ñ!7¸Ó!=Ó>Ð>r   c                 óB   • UR                  X@R                  U5      5      $ r�   )Úinttoptrr  r  s        r   Úinteger_to_voidptrr     s   € Ø×Ñ˜C×!7Ñ!7¸Ó!=Ó>Ð>r   c                 óœ   • U R                  U5      nUR                  UR                  :  a  UR                  XE5      $ UR                  XE5      $ r�   )r  ry   ÚfpextÚfptrunc©r   r   r  r  rž   rŸ   s         r   Úfloat_to_floatr%    s@   € Ø
×
 Ñ
  Ó
&€CØ‡�˜Ÿ™Ó&Ø�}‰}˜SÓ&Ð&à�‰˜sÓ(Ð(r   c                 óŠ   • U R                  U5      nUR                  (       a  UR                  XE5      $ UR                  XE5      $ r�   )r  r   ÚsitofpÚuitofpr$  s         r   Úinteger_to_floatr)    s7   € Ø
×
 Ñ
  Ó
&€CØ‡}‡}Ø�~‰~˜cÓ'Ð'à�~‰~˜cÓ'Ð'r   c                 óŠ   • U R                  U5      nUR                  (       a  UR                  XE5      $ UR                  XE5      $ r�   )r  r   ÚfptosiÚfptouir$  s         r   Úfloat_to_integerr-    s7   € Ø
×
 Ñ
  Ó
&€CØ‡{‡{Ø�~‰~˜cÓ'Ð'à�~‰~˜cÓ'Ð'r   c                 óÌ   • U R                  XX#R                  5      nU R                  UR                  S5      nU R                  X5      nXWl        Xgl        UR                  5       $ r¬  )r   r³  r¶  r™  rš  r   r£  )r   r   r  r  rž   rš  r   rë  s           r   Únon_complex_to_complexr/  !  sW   € Ø�<‰<˜ f×.CÑ.CÓD€DØ×Ñ × 5Ñ 5°qÓ9€Dà× Ñ  Ó/€EØ„JØ„JØ�?‰?ÓÐr   c                 ó  • UR                   nUR                   nU R                  XUS9nU R                  X5      nU R                  XR                  XV5      Ul        U R                  XR                  XV5      Ul        UR                  5       $ r—  )r³  r™  r   rš  r   r£  )	r   r   r  r  rž   ÚsrctyÚdsttyÚsrcÚdsts	            r   Úcomplex_to_complexr5  +  su   € Ø×#Ñ#€EØ×!Ñ!€Eà
×
Ñ
˜w°cÐ
Ð
:€CØ
×
Ñ
˜wÓ
-€CØ�|‰|˜G§X¡X¨uÓ<€C„HØ�|‰|˜G§X¡X¨uÓ<€C„HØ�=‰=‹?Ðr   c                 ó&   • U R                  XU5      $ r�   )Úis_truer  s        r   Úany_to_booleanr8  6  s   € Ø�?‰?˜7¨CÓ0Ð0r   c                 ó�   • UR                  U[        R                  " S5      5      nU R                  X[        R
                  U5      $ )Né    )r  r   ÚIntTyper   r   Úint32)r   r   r  r  rž   Úasints         r   Úboolean_to_anyr>  :  s1   € à�L‰L˜œbŸjšj¨›nÓ-€EØ�<‰<˜¬¯©°TÓ:Ð:r   c                 óˆ   • U R                  UUR                  UR                  5      nU R                  XR                  U5      $ r�   )r  r  r  r7  r  s         r   Úliteral_int_to_booleanr@  A  s@   € Ø
×
&Ñ
&ØØ×ÑØ×Ñó
€Cð
 �?‰?˜7×$7Ñ$7¸Ó=Ð=r   c                 ó¸   • UR                   nU R                  XUR                  5      nU R                  XUR                  5      n[        R
                  " XV45      $ r�   )r³  r  rš  r   r   Úliteral_struct)r   r   rC   Úpyvalr½  rš  r   s          r   Úconstant_complexrD  M  sL   € Ø
×
Ñ
€CØ×'Ñ'¨°e·j±jÓA€DØ×'Ñ'¨°e·j±jÓA€DÜ×"Ò" D <Ó0Ð0r   c                 óˆ   • [        U[        R                  5      (       a  [        U5      nU R	                  U5      nU" U5      $ r�   )r\   ÚnpÚbool_Úboolr  )r   r   rC   rC  rŸ   s        r   Úconstant_integerrI  V  s8   € ô
 �%œŸ™×"Ñ"Ü�U“ˆØ
×
 Ñ
  Ó
$€CÙˆu‹:Ðr   c                 ó4  • [        U [        R                  [        R                  45      (       ai  [        U[        R                  R
                  5      (       a?  U R                  UR                  R                  :w  a  [        R                  " S5      eS nU$ gg)z(Typing for the np scalar 'view' method. zOChanging the dtype of a 0d array is only supported if the itemsize is unchangedc                 ó   • [        X5      $ r�   r   )ÚscalarÚviewtys     r   rÐ   Úscalar_view.<locals>.implm  s   € Ü˜&Ó)Ð)r   N)
r\   r   ÚFloatrw   ÚabstractÚ	DTypeSpecry   r^   r	   ÚTypingError)rL  rM  rÐ   s      r   Úscalar_viewrS  d  su   € ä�6œEŸK™K¬¯©Ð7×8Ñ8Ü˜6¤5§>¡>×#;Ñ#;×<Ñ<Ø�?‰?˜fŸl™l×3Ñ3Ó3Ü×$Ò$ð(ó)ð )ò	*àˆð =ð 	9r   r�   )sr‚   r™   ÚnumpyrF  Úllvmliter   Úllvmlite.irr   Únumba.core.imputilsr   Ú
numba.corer   r   r	   r
   Únumba.cpython.unsafe.numbersr   r   r&   r*   r-   rR   rV   rh   rl   ro   rs   ru   rz   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*  rD  r6  rh  rk  rn  rs  rv  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/  r5  r8  r>  r@  rD  rI  rS  r—   r   r   Ú<module>rZ     sS  ðÛ Û ã å Ý  å 2ß 5Ó 5Ý /òò"FòFòFò66òr6òò>GòòFòòò(Fò^:òzFò
Fò
Fò
Fò
Fò
Fò
Fò
Fò
Fò
Fò
ò(	òFòDò
Dò
Fò	FòFòFòFòFòFòFò'FòTFòFòbFò
Fò
Fò
Fò(ò,i7ôZGô21ô&1ò&	FòFò
Fò
Fò
Fò
Fò
Fò
òFòFòFò@:ò:òFò<ò:òJò'FòRFò Fò Fñ. ˆEƒl€òFò@	FòFò
	Fò	FòFòFòFòò
Cò
Fò
1ò4Aò?ò?ò)ò(ò(òòò1ò;ò>ò1òór   