Ë
    èÿæiñÃ  ã                   óÖ  — d dl Z d dlZd dlZd dlZd dlmZ d dlmZ d dl	m
Z
mZmZmZmZmZmZ d dlmZmZmZmZmZmZ d dlmZmZ d dlmZ d„ Zd	„ Zd
„ Zd„ Z d„ Z!d„ Z"d„ Z# e
e$ejJ                  ejJ                  «      d„ «       Z& e
ejN                  ejJ                  ejJ                  «       e
ejP                  ejJ                  ejJ                  «      d„ «       «       Z) e
ejT                  ejJ                  ejJ                  «       e
ejV                  ejJ                  ejJ                  «      d„ «       «       Z, e
ejZ                  ejJ                  ejJ                  «       e
ej\                  ejJ                  ejJ                  «      d„ «       «       Z/d„ Z0d„ Z1 e
ejd                  ejJ                  ejf                  «       e
ejh                  ejJ                  ejf                  «       e
ejd                  ejj                  ejf                  «       e
ejh                  ejj                  ejf                  «      d„ «       «       «       «       Z6d„ Z7d„ Z8d„ Z9d„ Z:d„ Z;d„ Z<d„ Z=d„ Z>d„ Z?d„ Z@d „ ZAd!„ ZBd"„ ZCd#„ ZDd$„ ZEd%„ ZFd&„ ZGd'„ ZHd(„ ZId)„ ZJd*„ ZKd+„ ZLd,„ ZMd-„ ZNd.„ ZO  e
ej                   ej¢                  ej¢                  «      e?«         e
ej¤                  ej¢                  ej¢                  «      e@«         e
ej¦                  ej¢                  ej¢                  «      e;«         e
ej¨                  ej¢                  ej¢                  «      e<«         e
ejª                  ej¢                  ej¢                  «      e=«         e
ej¬                  ej¢                  ej¢                  «      e>«         e
ej®                  ej¢                  «      eN«         e
ej°                  ej¢                  «      eO«       d/„ ZYd0„ ZZ eY«         eZ«        d1„ Z[d2„ Z\d3„ Z]d4„ Z^d5„ Z_d6„ Z` e
e$ejj                  ejj                  «      dod7„«       Zadod8„Zbdod9„Zcd:„ Zdd;„ Zed<„ Zfd=„ Zgd>„ Zhd?„ Zid@„ ZjdA„ ZkdB„ ZldC„ ZmdD„ Znejj                  Zo  e
ejà                  eoeo«      e[«         e
ejâ                  eoeo«      e[«         e
ejä                  eoeo«      e\«         e
ejæ                  eoeo«      e\«         e
ejè                  eoeo«      e]«         e
ejê                  eoeo«      e]«         e
ejN                  eoeo«      ec«         e
ejP                  eoeo«      ec«         e
ejT                  eoeo«      e^«         e
ejV                  eoeo«      e^«         e
ejZ                  eoeo«      eb«         e
ej\                  eoeo«      eb«         e
ejd                  eoeo«      ed«         e
ejh                  eoeo«      ed«         e
e2eoeo«      ed«         e
ej                   eoeo«      ei«         e
ej¤                  eoeo«      ej«         e
ej¦                  eoeo«      ee«         e
ej¨                  eoeo«      ef«         e
ejª                  eoeo«      eg«         e
ej¬                  eoeo«      eh«         e
eveo«      ek«         e
ej®                  eo«      el«         e
ej°                  eo«      em«       [o eejî                  dE«      dF„ «       Zx eejî                  dG«      dH„ «       Zy e
dIejî                  «      dJ„ «       ZzdK„ Z{dL„ Z|dM„ Z}ejj                  ejJ                  fD ]/  Z~  ee~dE«      e{«         ee~dG«      e|«         e
dIe~«      e}«       Œ1  e
ejd                  ejî                  ejî                  «       e
ejh                  ejî                  ejî                  «       e
e2ejî                  ejî                  «      dN„ «       «       «       ZdO„ Z€dP„ Z�dQ„ Z‚ eƒdR«      Z„dS„ Z…dT„ Z†dU„ Z‡dV„ ZˆdW„ Z‰dX„ ZŠejî                  Zo  e
ejà                  eoeo«      e€«         e
ejâ                  eoeo«      e€«         e
ejä                  eoeo«      e�«         e
ejæ                  eoeo«      e�«         e
ejè                  eoeo«      e‚«         e
ejê                  eoeo«      e‚«         e
ejT                  eoeo«      e…«         e
ejV                  eoeo«      e…«         e
ej®                  eo«      e†«         e
ej°                  eo«      e‡«         e
ej                   eoeo«      eˆ«         e
ej¤                  eoeo«      e‰«         e
eveo«      eŠ«       [o e
dYe�j                  «       e
dYe�j                  «      dZ„ «       «       Z�d[„ ZŽ e
e�e�j                  «      d\„ «       Z� e
e�ejJ                  «      d]„ «       Z‘ e
e�ejj                  «      d^„ «       Z’ e
e�ejî                  «      d_„ «       Z“ejJ                  ejj                  ejî                  fD ]  Zo  e
e�j(                  eo«      eŽ«       Œ   e
e�j(                  ej¢                  «      eŽ«        eejf                  ejJ                  «       eejf                  ejj                  «       eejf                  ejî                  «      d`„ «       «       «       Z• eejJ                  ejJ                  «      da„ «       Z– eejJ                  e�j.                  «      db„ «       Z˜ eejj                  ejj                  «      dc„ «       Z™ eejJ                  ejj                  «      dd„ «       Zš eejj                  ejJ                  «      de„ «       Z› eejj                  ejî                  «       eejJ                  ejî                  «      df„ «       «       Zœ eejî                  ejî                  «      dg„ «       Z� ee�j<                  e�j                  «      dh„ «       ZŸ ee�j                  e�j                  «      di„ «       Z  eejf                  e�j                  «       ee�jB                  e�j                  «      dj„ «       «       Z¢ eejî                  «      dk„ «       Z£ eejJ                  «       eejj                  «       ee�j                  «      dl„ «       «       «       Z¤dm„ Z¥  eejj                  dn«      e¥«         eejJ                  dn«      e¥«       y)pé    N)Úir)ÚConstant)Úlower_builtinÚlower_getattrÚlower_getattr_genericÚ
lower_castÚlower_constantÚimpl_ret_borrowedÚimpl_ret_untracked)ÚtypingÚtypesÚutilsÚerrorsÚcgutilsÚoptional)Ú	intrinsicÚoverload_method©Úviewerc                 ó$   — | j                   rdgS g S )z;
    Return the modifier flags for integer arithmetic.
    Únsw)Úsigned)Úrettypes    új/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/numba/cpython/numbers.pyÚ_int_arith_flagsr      s   € ð ‡~‚~ð ˆwˆàˆ	ó    c                 ó   — |\  }}|j                   \  }}| j                  ||||j                  «      }| j                  ||||j                  «      }	|j                  ||	t	        |j                  «      ¬«      }
t        | ||j                  |
«      S ©N)Úflags)ÚargsÚcastÚreturn_typeÚaddr   r   ©ÚcontextÚbuilderÚsigr    ÚvaÚvbÚtaÚtbÚaÚbÚress              r   Úint_add_implr/   #   ó{   € Ø�H€RˆØ�x‰x�H€RˆØ�‰�W˜b " c§o¡oÓ6€AØ�‰�W˜b " c§o¡oÓ6€AØ
�+‰+�a˜Ô"2°3·?±?Ó"Cˆ+Ó
D€CÜ˜g w°·±ÀÓEÐEr   c                 ó   — |\  }}|j                   \  }}| j                  ||||j                  «      }| j                  ||||j                  «      }	|j                  ||	t	        |j                  «      ¬«      }
t        | ||j                  |
«      S r   )r    r!   r"   Úsubr   r   r$   s              r   Úint_sub_implr3   ,   r0   r   c                 ó   — |\  }}|j                   \  }}| j                  ||||j                  «      }| j                  ||||j                  «      }	|j                  ||	t	        |j                  «      ¬«      }
t        | ||j                  |
«      S r   )r    r!   r"   Úmulr   r   r$   s              r   Úint_mul_implr6   5   r0   r   c           
      ó”  — |j                   |j                   k(  sJ ‚|j                  d«      }|j                  d«      }t        j                  ||«      }t        j                  ||«      }|j                  |j	                  d||j                  |j
                  «      «      |j	                  d||j                  d«      «      «      }	|j                  |j                  |	«      d¬«      5  |j                  ||«      }
|j                  ||«      }|j	                  d|j                  ||«      |«      }|j	                  d||«      }|j                  ||«      }|j                  |«      5 \  }}|5  |j                  |
|«       |j                  ||«       d	d	d	«       |5  |j                  |j                  |
|«      |«       |j                  |j                  ||«      |«       d	d	d	«       d	d	d	«       d	d	d	«       |j                  |«      |j                  |«      fS # 1 sw Y   ŒŠxY w# 1 sw Y   ŒGxY w# 1 sw Y   ŒKxY w# 1 sw Y   ŒOxY w)
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Ústorer2   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_signedr[   >   sã  € ð$ �6‰6�Q—V‘VÒÐÐà�6‰6�!‹9€DØ
�&‰&�‹)€Cô ×&Ñ& w°Ó5€FÜ×&Ñ& w°Ó5€Fà—,‘,Ø×Ñ˜D ! Q§V¡V¨B¯I©IÓ%6Ó7Ø×Ñ˜D ! Q§V¡V¨B£ZÓ0ó2€Kð 
�‰˜Ÿ™ kÓ2¸4ˆÕ	@ð —‘˜Q Ó"ˆØ—‘˜Q Ó"ˆà!×-Ñ-¨c°7·;±;¸qÀ%Ó3HÈ$ÓOˆØ×*Ñ*¨4°¸Ó=ˆØ�|‰|˜L¨/Ó:ˆà�_‰_˜TÔ"Ñ&IÐ'9¸=ÚØ—‘˜e VÔ,Ø—‘˜e VÔ,÷ ò $Ø—‘˜gŸk™k¨%°Ó5°vÔ>Ø—‘˜gŸk™k¨%°Ó3°VÔ<÷ $÷ #÷ 
Að& �<‰<˜Ó §¡¨fÓ!5Ð5Ð5÷ �ú÷ $Ð#ú÷ #Ð"ú÷ 
AÐ	@úsV   Ã(A>H>Å&H2Å,%HÆ
H2ÆAH&Ç H2Ç(H>ÈH#ÈH2È&H/È+H2È2H;	È7H>È>Ic                 ó€   — |j                   rt        | ||||«      S |j                  ||«      |j                  ||«      fS )zD
    Integer divmod(x, y).  The caller must ensure that y != 0.
    )r   r[   ÚudivÚurem)r%   r&   rL   rM   rN   s        r   Ú
int_divmodr_   w   s?   € ð 
‡y‚yÜ  ¨'°2°q¸!Ó<Ð<à�|‰|˜A˜qÓ! 7§<¡<°°1Ó#5Ð5Ð5r   c           	      ó<  — |\  }}|j                   \  }}|j                  }	t        |	t        j                  «      r|	j
                  }	| j                  ||||	«      }
| j                  ||||	«      }t        j                  ||
j                  d¬«      }t        j                  ||
j                  d¬«      }|j                  t        j                  ||«      d¬«      5 \  }}|5  | j                  j                  ||f«      s$|j                  ||«       |j                  ||«       d d d «       |5  t        | ||	|
|«      \  }}|j                  ||«       |j                  ||«       d d d «       d d d «       ||fS # 1 sw Y   ŒVxY w# 1 sw Y   Œ!xY w# 1 sw Y   ||fS xY w)NÚquot©ÚnameÚremFr;   )r    r"   Ú
isinstancer   ÚUniTupleÚdtyper!   r   Úalloca_oncer?   rI   Úis_scalar_zeroÚerror_modelÚfp_zero_divisionrJ   r_   )r%   r&   r'   r    Úzerodiv_messager(   r)   r*   r+   rL   r,   r-   ra   rd   Úif_zeroÚif_non_zeroÚqÚrs                     r   Ú_int_divmod_implrq   �   sg  € Ø�F€BˆØ�X‰X�F€Bˆà	�‰€BÜ�"”e—n‘nÔ%Ø�X‰XˆØ�‰�W˜b " bÓ)€AØ�‰�W˜b " bÓ)€AÜ×Ñ˜w¨¯©°VÔ<€DÜ
×
Ñ
˜g q§v¡v°EÔ
:€Cà	�‰œ×/Ñ/°¸Ó;ÀEˆô 
Ù4˜w¨ÚØ×&Ñ&×7Ñ7Ø˜/Ð+ô-ð
 —‘˜a Ô&Ø—‘˜a Ô%÷ ò Ü˜g w°°A°qÓ9‰DˆAˆqØ�M‰M˜!˜TÔ"Ø�M‰M˜!˜SÔ!÷ ÷
ð �ˆ9Ð÷ ˆWú÷ ˆ[ú÷
ð �ˆ9Ðús=   ÃFÃ AE7Ä"
FÄ,7FÅ#FÅ7F 	Å<FÆF	ÆFÆFc                 ó’   — t        | |||d«      \  }}t        j                  ||j                  |«      |j                  |«      f«      S )Nzinteger divmod by zero)rq   r   Ú
pack_arrayrK   ©r%   r&   r'   r    ra   rd   s         r   Úint_divmod_implru   Ÿ   sN   € ä  ¨'°3¸Ø!9ó;�I€Dˆ#ô ×Ñ˜gØ&Ÿ|™|¨DÓ1°7·<±<ÀÓ3DÐEóGð Gr   c                 óH   — t        | |||d«      \  }}|j                  |«      S )Nzinteger division by zero©rq   rK   rt   s         r   Úint_floordiv_implrx   ¨   s,   € ô ! ¨'°3¸Ø!;ó=�I€Dˆ#à�<‰<˜ÓÐr   c                 ó„  — |\  }}|j                   \  }}| j                  ||||j                  «      }| j                  ||||j                  «      }	t        j                  ||	«      5  | j
                  j                  |d«       d d d «       |j                  ||	«      }
t        | ||j                  |
«      S # 1 sw Y   Œ3xY w)N©zdivision by zero)	r    r!   r"   r   rm   rj   rk   Úfdivr   r$   s              r   Úint_truediv_implr|   °   s¢   € ð �H€RˆØ�x‰x�H€RˆØ�‰�W˜b " c§o¡oÓ6€AØ�‰�W˜b " c§o¡oÓ6€AÜ	�‰˜ !Õ	$Ø×Ñ×,Ñ,¨WÐ6KÔL÷ 
%à
�,‰,�q˜!Ó
€CÜ˜g w°·±ÀÓEÐE÷ 
%Ð	$ús   Á'B6Â6B?c                 óH   — t        | |||d«      \  }}|j                  |«      S )Nzinteger modulo by zerorw   rt   s         r   Úint_rem_implr~   ½   s,   € ô ! ¨'°3¸Ø!9ó;�I€Dˆ#à�<‰<˜ÓÐr   c                 óˆ   — t        |t        j                  «      r(| j                  j                  sd|j
                  dz
  z  S y)Nr:   r8   F)re   r   ÚIntegerrj   Úraise_on_fp_zero_divisionÚbitwidth)r%   r"   s     r   Ú_get_power_zerodiv_returnrƒ   Å   s8   € Ü�;¤§¡Ô.Ø×#Ñ#×=Ò=à�k×*Ñ*¨QÑ.Ñ/Ð/àr   c                 óì   ‡‡‡— t        |j                  d   t        j                  «      Š|j                  Št        | ‰«      Šˆˆˆfd„}| j                  ||||«      }t        | ||j                  |«      S )z@
    a ^ b, where a is an integer or real, and b an integer
    r   c                 ó0  •—  ‰d«      } ‰| «      } |dk  r1d}| }|dk  rt         ‚‰r#| dk(  r‰r‰S t        d«      ‚| dk7  r
| dk7  ryd}|}|dkD  rt        j                  | t	        |«      «      S |dk7  r|dz  r|| z  }|dz  }| | z  } |dk7  rŒ|rd|z  S |S )	Nr8   r   Tú&0 cannot be raised to a negative powerr:   Fé   ç      ð?)ÚOverflowErrorÚZeroDivisionErrorÚmathÚpowÚfloat)r,   r-   rp   ÚinvertÚexpÚ
is_integerÚtpÚzerodiv_returns        €€€r   Ú	int_powerz!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Ø�Q‘�Ø�A‰IˆCØ�‰FˆAð	 �Q‹hñ Ø˜‘7ˆNØˆr   )re   r    r   r€   r"   rƒ   Úcompile_internalr   )	r%   r&   r'   r    r“   r.   r�   r‘   r’   s	         @@@r   Úint_power_implr•   Î   se   ú€ ô ˜CŸH™H Q™K¬¯©Ó7€JØ	�‰€BÜ.¨w¸Ó;€NöðB ×
"Ñ
" 7¨I°s¸DÓ
A€CÜ˜g w°·±ÀÓEÐEr   c                 ód  ‡‡‡— |j                   d   j                  }t        |t        j                  «      st
        ‚t        |«      dkD  rt
        ‚|dk  }t        |«      }|j                  }t        |t        j                  «      Št        | |«      Š| j                  ‰|d   |j                   d   |«      }|j                  }ˆˆfd„}	 |d«      }
|}|dk7  r"|dz  r	 |	|
|«      }
|dz  } |	||«      }|dk7  rŒ"|r4‰rˆfd„}nd„ }| j                  ‰|t        j                  ||«      |
f«      }
|
S )zH
    a ^ b, where a is an integer or real, and b a constant integer
    r8   r‡   r   c                 óP   •— ‰r‰j                  | |«      S ‰j                  | |«      S ©N)r5   Úfmul)r,   r-   r&   r�   s     €€r   r5   zstatic_power_impl.<locals>.mul  s(   ø€ ÙØ—;‘;˜q !Ó$Ð$à—<‘<  1Ó%Ð%r   c                 óF   •— | dk(  r‰r‰S t        d«      ‚| dk7  r| dk7  ry| S )Nr   r†   r8   r:   )rŠ   )r,   r’   s    €r   Úinvert_implz&static_power_impl.<locals>.invert_impl&  s4   ø€ Ø˜’6Ù%Ø-Ð-ä/Ð0XÓYÐYØ˜’6˜a 2šgØà�Hr   c                 ó   — d| z  S )Nrˆ   © )r,   s    r   r›   z&static_power_impl.<locals>.invert_impl3  s   € Ø˜Q‘w�r   )r    Úvaluere   ÚnumbersÚIntegralÚNotImplementedErrorÚabsr"   r   r€   rƒ   r!   r?   r”   r   Ú	signature)r%   r&   r'   r    r�   rŽ   r‘   ÚvalÚltyr5   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˜3“-ˆCØ�‰	ˆÙ�#�s‹mˆð	 �‹(ñ áõ	òð ×&Ñ& w°Ü'-×'7Ñ'7¸¸BÓ'?À#ÀóIˆð €Jr   c                 óX   —  |j                   dg|¢­Ž }t        | ||j                  |«      S ©Nr=   ©rB   r   r"   ©r%   r&   r'   r    r.   s        r   Úint_slt_implr«   <  ó.   € Ø
ˆ'×
Ñ
˜cÐ
) DÒ
)€CÜ˜g w°·±ÀÓEÐEr   c                 óX   —  |j                   dg|¢­Ž }t        | ||j                  |«      S ©Nz<=r©   rª   s        r   Úint_sle_implr¯   A  ó.   € Ø
ˆ'×
Ñ
˜dÐ
* TÒ
*€CÜ˜g w°·±ÀÓEÐEr   c                 óX   —  |j                   dg|¢­Ž }t        | ||j                  |«      S ©NÚ>r©   rª   s        r   Úint_sgt_implr´   F  r¬   r   c                 óX   —  |j                   dg|¢­Ž }t        | ||j                  |«      S ©Nz>=r©   rª   s        r   Úint_sge_implr·   K  r°   r   c                 óX   —  |j                   dg|¢­Ž }t        | ||j                  |«      S r¨   ©Úicmp_unsignedr   r"   rª   s        r   Úint_ult_implr»   P  ó.   € Ø
ˆ'×
Ñ
 Ð
+ dÒ
+€CÜ˜g w°·±ÀÓEÐEr   c                 óX   —  |j                   dg|¢­Ž }t        | ||j                  |«      S r®   r¹   rª   s        r   Úint_ule_implr¾   U  ó.   € Ø
ˆ'×
Ñ
 Ð
, tÒ
,€CÜ˜g w°·±ÀÓEÐEr   c                 óX   —  |j                   dg|¢­Ž }t        | ||j                  |«      S r²   r¹   rª   s        r   Úint_ugt_implrÁ   Z  r¼   r   c                 óX   —  |j                   dg|¢­Ž }t        | ||j                  |«      S r¶   r¹   rª   s        r   Úint_uge_implrÃ   _  r¿   r   c                 óX   —  |j                   dg|¢­Ž }t        | ||j                  |«      S ©Nr9   r¹   rª   s        r   Úint_eq_implrÆ   d  r¿   r   c                 óX   —  |j                   dg|¢­Ž }t        | ||j                  |«      S ©Nr>   r¹   rª   s        r   Úint_ne_implrÉ   i  r¿   r   c                 ó   ‡ — ˆ fd„}|S )Nc                 ó&  •— |\  }}|j                  d|t        |j                  d«      «      }|j                  ‰
|t        |j                  d«      «      }|j                  ‰
||«      }|j	                  |||«      }	t        | ||j                  |	«      S ©Nr=   r   ©rB   r   r?   rº   Úselectr   r"   ©r%   r&   r'   r    ÚleftÚrightÚcmp_zeroÚlt_zeroÚge_zeror.   Úops             €r   Úimplz%int_signed_unsigned_cmp.<locals>.implo  s‡   ø€ Ø‰ˆˆuð ×&Ñ& s¨D´(¸4¿9¹9ÀaÓ2HÓIˆØ×%Ñ% b¨$´¸¿¹ÀAÓ0FÓGˆØ×'Ñ'¨¨D°%Ó8ˆØ�n‰n˜X w°Ó8ˆÜ! '¨7°C·O±OÀSÓIÐIr   r�   ©rÕ   rÖ   s   ` r   Úint_signed_unsigned_cmprØ   n  s   ø€ ôJð  €Kr   c                 ó   ‡ — ˆ fd„}|S )Nc                 ó&  •— |\  }}|j                  d|t        |j                  d«      «      }|j                  ‰
t        |j                  d«      |«      }|j                  ‰
||«      }|j	                  |||«      }	t        | ||j                  |	«      S rÌ   rÍ   rÏ   s             €r   rÖ   z%int_unsigned_signed_cmp.<locals>.implƒ  s…   ø€ Ø‰ˆˆuà×&Ñ& s¨E´8¸E¿J¹JÈÓ3JÓKˆØ×%Ñ% b¬(°5·:±:¸qÓ*AÀ5ÓIˆØ×'Ñ'¨¨D°%Ó8ˆØ�n‰n˜X w°Ó8ˆÜ! '¨7°C·O±OÀSÓIÐIr   r�   r×   s   ` r   Úint_unsigned_signed_cmprÛ   ‚  s   ø€ ôJð €Kr   c                 óÔ   — |\  }t        |j                  d «      }|j                  d||«      }|j                  |«      }|j	                  |||«      }t        | ||j                  |«      S r¨   )r   r?   rB   ÚnegrÎ   r   r"   )	r%   r&   r'   r    rM   rO   ÚltzÚnegatedr.   s	            r   Úint_abs_implrà   Ž  sa   € Ø
�C€QÜ�A—F‘F˜DÓ!€DØ
×
Ñ
˜c 1 dÓ
+€CØ�k‰k˜!‹n€GØ
�.‰.˜˜g qÓ
)€CÜ˜g w°·±ÀÓEÐEr   c                 ó:   — |\  }t        | ||j                  |«      S r˜   ©r   r"   )r%   r&   r'   r    rM   s        r   Úuint_abs_implrã   —  s   € Ø
�C€QÜ˜g w°·±ÀÓCÐCr   c                 óö   — |j                   \  }}|\  }}| j                  ||||j                  «      }| j                  ||||j                  «      }|j                  ||«      }t	        | ||j                  |«      S r˜   )r    r!   r"   Úshlr   ©	r%   r&   r'   r    ÚvaltyÚamttyr¤   Úamtr.   s	            r   Úint_shl_implrê   œ  sm   € Ø—X‘X�N€UˆEØ�J€Sˆ#Ø
�,‰,�w  U¨C¯O©OÓ
<€CØ
�,‰,�w  U¨C¯O©OÓ
<€CØ
�+‰+�c˜3Ó
€CÜ˜g w°·±ÀÓEÐEr   c                 óH  — |j                   \  }}|\  }}| j                  ||||j                  «      }| j                  ||||j                  «      }|j                  j                  r|j	                  ||«      }n|j                  ||«      }t        | ||j                  |«      S r˜   )r    r!   r"   r   ÚashrÚlshrr   ræ   s	            r   Úint_shr_implrî   ¥  sŠ   € Ø—X‘X�N€UˆEØ�J€Sˆ#Ø
�,‰,�w  U¨C¯O©OÓ
<€CØ
�,‰,�w  U¨C¯O©OÓ
<€CØ
‡�×ÒØ�l‰l˜3 Ó$‰à�l‰l˜3 Ó$ˆÜ˜g w°·±ÀÓEÐEr   c                 óö   — |j                   \  }}|\  }}| j                  ||||j                  «      }| j                  ||||j                  «      }	|j                  ||	«      }
t	        | ||j                  |
«      S r˜   )r    r!   r"   rA   r   ©r%   r&   r'   r    ÚatÚbtÚavÚbvÚcavÚcbcr.   s              r   Úint_and_implr÷   ±  sm   € Ø�x‰x�H€RˆØ�H€RˆØ
�,‰,�w  B¨¯©Ó
8€CØ
�,‰,�w  B¨¯©Ó
8€CØ
�,‰,�s˜CÓ
 €CÜ˜g w°·±ÀÓEÐEr   c                 óö   — |j                   \  }}|\  }}| j                  ||||j                  «      }| j                  ||||j                  «      }	|j                  ||	«      }
t	        | ||j                  |
«      S r˜   )r    r!   r"   Úor_r   rð   s              r   Úint_or_implrú   º  óm   € Ø�x‰x�H€RˆØ�H€RˆØ
�,‰,�w  B¨¯©Ó
8€CØ
�,‰,�w  B¨¯©Ó
8€CØ
�+‰+�c˜3Ó
€CÜ˜g w°·±ÀÓEÐEr   c                 óö   — |j                   \  }}|\  }}| j                  ||||j                  «      }| j                  ||||j                  «      }	|j                  ||	«      }
t	        | ||j                  |
«      S r˜   )r    r!   r"   rH   r   rð   s              r   Úint_xor_implrý   Ã  rû   r   c                 ó´   — |j                   \  }|\  }|j                  |«      }| j                  ||||j                  «      }t	        | ||j                  |«      S r˜   )r    rÝ   r!   r"   r   ©r%   r&   r'   r    Útypr¤   r.   s          r   Úint_negate_implr  Ì  sO   € Ø�H‰H�E€SØ�E€Sà
�+‰+�cÓ
€CØ
�,‰,�w  S¨#¯/©/Ó
:€CÜ˜g w°·±ÀÓEÐEr   c                 ó’   — |j                   \  }|\  }| j                  ||||j                  «      }t        | ||j                  |«      S r˜   ©r    r!   r"   r   rÿ   s          r   Úint_positive_implr  Õ  óA   € Ø�H‰H�E€SØ�E€SØ
�,‰,�w  S¨#¯/©/Ó
:€CÜ˜g w°·±ÀÓEÐEr   c           
      ó   — |j                   \  }|\  }|j                  |t        |j                  t	        d|j                  j
                  z  d«      «      «      }| j                  ||||j                  «      }t        | ||j                  |«      S )NÚ1é   )	r    rH   r   r?   ÚintÚwidthr!   r"   r   rÿ   s          r   Úint_invert_implr  Ü  sp   € Ø�H‰H�E€SØ�E€Sà
�+‰+�cœ8 C§H¡H¬c°#¸¿¹¿¹Ñ2FÈÓ.JÓKÓ
L€CØ
�,‰,�w  S¨#¯/©/Ó
:€CÜ˜g w°·±ÀÓEÐEr   c                 ó†  — |\  }t        |j                  d«      }t        |j                  d«      }t        |j                  d«      }|j                  d||«      }|j                  d||«      }	t	        j
                  ||j                  «      }
|j                  d«      }|j                  d«      }|j                  d«      }|j                  d	«      }|j                  d
«      }|j                  |||«       |j                  |«      5  |j                  ||
«       |j                  |«       ddd«       |j                  |«      5  |j                  |	||«       ddd«       |j                  |«      5  |j                  ||
«       |j                  |«       ddd«       |j                  |«      5  |j                  ||
«       |j                  |«       ddd«       |j                  |«       |j                  |
«      }t        | ||j                  |«      S # 1 sw Y   ŒêxY w# 1 sw Y   ŒÉxY w# 1 sw Y   Œ˜xY w# 1 sw Y   ŒgxY w)z
    np.sign(int)
    r8   r:   r   r9   r³   z.zeroz.postestz.posz.negz.exitN)r   r?   rº   rB   r   rh   Úappend_basic_blockÚcbranchÚ
goto_blockrJ   ÚbranchÚposition_at_endrK   r   r"   )r%   r&   r'   r    rM   ÚPOSÚNEGrO   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¨dÓ3€HØ×!Ñ! # q¨$Ó/€Gä×!Ñ! '¨1¯6©6Ó2€Gà×(Ñ(¨Ó1€GØ×+Ñ+¨JÓ7€JØ×'Ñ'¨Ó/€FØ×'Ñ'¨Ó/€FØ×(Ñ(¨Ó1€Gà‡O�O�H˜g zÔ2à	×	Ñ	˜GÕ	$Ø�‰�d˜GÔ$Ø�‰�wÔ÷ 
%ð 
×	Ñ	˜JÕ	'Ø�‰˜ ¨Ô0÷ 
(ð 
×	Ñ	˜FÕ	#Ø�‰�c˜7Ô#Ø�‰�wÔ÷ 
$ð 
×	Ñ	˜FÕ	#Ø�‰�c˜7Ô#Ø�‰�wÔ÷ 
$ð ×Ñ˜GÔ$Ø
�,‰,�wÓ
€CÜ˜g w°·±ÀÓEÐE÷# 
%Ð	$ú÷ 
(Ð	'ú÷ 
$Ð	#ú÷ 
$Ð	#ús0   Ä$HÅHÅ0$H+Æ-$H7ÈHÈH(È+H4È7I c                 ó´   — |j                   \  }|\  }| j                  ||||j                  «      }|j                  |«      }t	        | ||j                  |«      S r˜   )r    r!   r"   rÝ   r   rÿ   s          r   Úbool_negate_implr    sO   € Ø�H‰H�E€SØ�E€SØ
�,‰,�w  S¨#¯/©/Ó
:€CØ
�+‰+�cÓ
€CÜ˜g w°·±ÀÓEÐEr   c                 ó’   — |j                   \  }|\  }| j                  ||||j                  «      }t        | ||j                  |«      S r˜   r  rÿ   s          r   Úbool_unary_positive_implr    r  r   c                  óN  — t         j                  }  t        t        j                  | | «      t
        «        t        t        j                  | | «      t
        «        t        t        j                  | | «      t        «        t        t        j                  | | «      t        «        t        t        j                  | | «      t        «        t        t        j                  | | «      t        «        t        t        j                  | | «      t        «        t        t        j                  | | «      t         «        t        t        j"                  | | «      t$        «        t        t        j&                  | | «      t$        «        t        t        j(                  | | «      t*        «        t        t        j,                  | | «      t*        «        t        t        j.                  | «      t0        «        t        t        j2                  | «      t4        «        t        t        j6                  | | «      t8        «        t        t        j:                  | | «      t8        «        t        t6        | | «      t8        «       t         j<                  D �]@  }  t        t        j>                  | | «      t@        «        t        t        jB                  | | «      tD        «        t        t        jF                  | | «      tH        «        t        t        jJ                  | | «      tL        «        t        t        j6                  t         jN                  | «      t8        «        t        t        j:                  t         jN                  | «      t8        «        t        t6        t         jN                  | «      t8        «        t        tP        | «      tR        «       �ŒC  t        t        j>                  t         jT                  t         jT                  «      tV        «        t        t        jF                  t         jT                  t         jT                  «      tV        «        t        t        jB                  t         jT                  t         jT                  «      tV        «        t        t        jJ                  t         jT                  t         jT                  «      tV        «       t         jX                  D �]@  }  t        t        j>                  | | «      tV        «        t        t        jB                  | | «      tZ        «        t        t        jF                  | | «      t\        «        t        t        jJ                  | | «      t^        «        t        t        j6                  t         jN                  | «      t8        «        t        t        j:                  t         jN                  | «      t8        «        t        t6        t         jN                  | «      t8        «        t        tP        | «      t`        «       �ŒC y r˜   )1r   r€   r   Úoperatorr#   r/   Úiaddr2   r3   Úisubr5   r6   ÚimulÚeqrÆ   ÚnerÉ   Úlshiftrê   ÚilshiftÚrshiftrî   ÚirshiftrÝ   r  Úposr  rŒ   r•   ÚipowÚunsigned_domainÚltr»   Úler¾   ÚgtrÁ   ÚgerÃ   ÚFloatr¢   rã   ÚIntegerLiteralr«   Úsigned_domainr¯   r´   r·   rà   ©rL   s    r   Ú_implement_integer_operatorsr6  (  s²  € Ü	�‰€Bà'„M”(—,‘,  BÓ'¬Ô5Ø(„M”(—-‘-  RÓ(¬Ô6Ø'„M”(—,‘,  BÓ'¬Ô5Ø(„M”(—-‘-  RÓ(¬Ô6Ø'„M”(—,‘,  BÓ'¬Ô5Ø(„M”(—-‘-  RÓ(¬Ô6Ø&„M”(—+‘+˜r 2Ó&¤{Ô3Ø&„M”(—+‘+˜r 2Ó&¤{Ô3à*„M”(—/‘/ 2 rÓ*¬<Ô8Ø+„M”(×"Ñ" B¨Ó+¬LÔ9Ø*„M”(—/‘/ 2 rÓ*¬<Ô8Ø+„M”(×"Ñ" B¨Ó+¬LÔ9à#„M”(—,‘, Ó#¤OÔ4Ø#„M”(—,‘, Ó#Ô$5Ô6à'„M”(—,‘,  BÓ'¬Ô7Ø(„M”(—-‘-  RÓ(¬Ô8Ø„M”#�r˜2Óœ~Ô.ä×#Õ#ˆØ*Œ”h—k‘k 2 rÓ*¬<Ô8Ø*Œ”h—k‘k 2 rÓ*¬<Ô8Ø*Œ”h—k‘k 2 rÓ*¬<Ô8Ø*Œ”h—k‘k 2 rÓ*¬<Ô8Ø4Œ”h—l‘l¤E§K¡K°Ó4´^ÔDØ5Œ”h—m‘m¤U§[¡[°"Ó5´nÔEØ+Œ”cœ5Ÿ;™;¨Ó+¬NÔ;ØŒ”c˜2Óœ}Ö-ð $ð K„M”(—+‘+œu×3Ñ3´U×5IÑ5IÓJÌ<ÔXØJ„M”(—+‘+œu×3Ñ3´U×5IÑ5IÓJÌ<ÔXØJ„M”(—+‘+œu×3Ñ3´U×5IÑ5IÓJÌ<ÔXØJ„M”(—+‘+œu×3Ñ3´U×5IÑ5IÓJÌ<ÔXÜ×!Õ!ˆØ*Œ”h—k‘k 2 rÓ*¬<Ô8Ø*Œ”h—k‘k 2 rÓ*¬<Ô8Ø*Œ”h—k‘k 2 rÓ*¬<Ô8Ø*Œ”h—k‘k 2 rÓ*¬<Ô8Ø4Œ”h—l‘l¤E§K¡K°Ó4´^ÔDØ5Œ”h—m‘m¤U§[¡[°"Ó5´nÔEØ+Œ”cœ5Ÿ;™;¨Ó+¬NÔ;ØŒ”c˜2Óœ|Ö,ñ "r   c                  óV  — t         j                  t         j                  fD �]  }  t        t        j
                  | | «      t        «        t        t        j                  | | «      t        «        t        t        j                  | | «      t        «        t        t        j                  | | «      t        «        t        t        j                  | | «      t        «        t        t        j                  | | «      t        «        t        t        j                  | «      t        «       �Œ y r˜   )r   ÚBooleanr€   r   r!  rA   r÷   Úiandrù   rú   ÚiorrH   rý   ÚixorrŽ   r  r5  s    r   Ú_implement_bitwise_operatorsr<  X  s¸   € Ü�}‰}œeŸm™mÔ,ˆØ,Œ”h—m‘m R¨Ó,¬\Ô:Ø,Œ”h—m‘m R¨Ó,¬\Ô:Ø+Œ”h—l‘l B¨Ó+¬KÔ8Ø+Œ”h—l‘l B¨Ó+¬KÔ8Ø+Œ”h—l‘l B¨Ó+¬LÔ9Ø,Œ”h—m‘m R¨Ó,¬\Ô:à*Œ”h—o‘o rÓ*¬?Ö;ñ -r   c                 óP   —  |j                   |Ž }t        | ||j                  |«      S r˜   )Úfaddr   r"   rª   s        r   Úreal_add_implr?  h  ó'   € Ø
ˆ'�,‰,˜Ð
€CÜ˜g w°·±ÀÓEÐEr   c                 óP   —  |j                   |Ž }t        | ||j                  |«      S r˜   )Úfsubr   r"   rª   s        r   Úreal_sub_implrC  m  r@  r   c                 óP   —  |j                   |Ž }t        | ||j                  |«      S r˜   )r™   r   r"   rª   s        r   Úreal_mul_implrE  r  r@  r   c                 óä   — t        j                  ||d   «      5  | j                  j                  |d«       d d d «        |j                  |Ž }t        | ||j                  |«      S # 1 sw Y   Œ0xY w)Nr8   rz   )r   rm   rj   rk   r{   r   r"   rª   s        r   Úreal_div_implrG  w  s^   € Ü	�‰˜ $ q¡'Õ	*Ø×Ñ×,Ñ,¨WÐ6KÔL÷ 
+à
ˆ'�,‰,˜Ð
€CÜ˜g w°·±ÀÓEÐE÷ 
+Ð	*ús   šA&Á&A/c                 óš  — |j                   |j                   k(  sJ ‚|j                   }|j                  }| j                  d|j                   g«      }t        j                  |||t        j
                  |«      f«      }t        j                  |||«      }|j                  rod|_	        t        j                  |j                  d«      «      }	|j                  \  }
}}t        | |	|
|«      \  }}|	j                  ||«       |	j                  |«       t        j                   ||«      }|j#                  ||||f«      }||j%                  |«      fS )Nz.numba.python.remÚlinkonce_odrÚentry)r?   ÚmoduleÚmanglerr   ÚFunctionTypeÚPointerTyper   Úget_or_insert_functionÚis_declarationÚlinkageÚ	IRBuilderr  r    Úreal_divmod_func_bodyrJ   Úretrh   ÚcallrK   )r%   r&   rM   rN   ÚfloattyrK  ÚfnameÚfntyÚfnÚ	fnbuilderÚfxÚfyÚpmodÚdivÚmodÚquotients                   r   Úreal_divmodra  ~  s  € Ø�6‰6�Q—V‘VÒÐÐØ�f‰f€Gà�^‰^€FØ�O‰OÐ/°!·&±&°Ó:€EÜ�?‰?˜7 W¨g´r·~±~ÀgÓ7NÐ$OÓP€DÜ	×	'Ñ	'¨°°eÓ	<€Bà	×ÒØ#ˆŒ
Ü—L‘L ×!6Ñ!6°wÓ!?Ó@ˆ	Ø—w‘w‰ˆˆB�Ü(¨°)¸RÀÓD‰ˆˆSØ�‰˜˜TÔ"Ø�‰�cÔä×Ñ˜w¨Ó0€DØ�|‰|˜B  A t Ó-€HØ�W—\‘\ $Ó'Ð'Ð'r   c           	      óü  — t        j                  ||j                  «      }t        j                  ||j                  «      }t        j                  ||j                  «      }|j                  ||«      }|j	                  |j                  ||«      |«      }|j                  ||«       |j                  ||«       |j                  d«      }	|j                  d«      }
|j                  d«      }|j                  d||	«      }|j                  d||	«      }|j                  d||	«      }|j                  |d¬«      5 \  }}|5  |j                  d||«      }|j                  |«      5  |j                  |j                  ||«      |«       |j                  |j                  ||«      |«       d d d «       d d d «       |5  |j                  ||
|	«      }|j                  ||«       d d d «       d d d «       ~~|j                  |«      }|j                  d||	«      }|j                  |«      5  t        j                   t        j"                  dœ}|t%        |j                  «         }| j'                  t(        j*                  t-        j.                  ||«      «      } |||g«      }|j                  ||«      }|j                  ||«      }t1        |j                  d	«      }|j                  d
||«      }|j                  |||«      }|j                  ||«       d d d «       t        j2                  ||«      5  |j5                  ||«      }|j                  ||«       |j	                  |j5                  ||«      |«      }|j                  ||«       d d d «       |j                  |«      |j                  |«      fS # 1 sw Y   �ŒxY w# 1 sw Y   �ŒxY w# 1 sw Y   �ŒîxY w# 1 sw Y   �ŒóxY w# 1 sw Y   ŒÖxY w# 1 sw Y   ŒkxY w)Nç        g       €rˆ   r>   r=   Tr;   )r�   Údoubleg      à?r³   )r   rh   r?   Úfremr{   rB  rJ   Úfcmp_unorderedÚfcmp_orderedrI   rº   rD   r>  rÎ   rK   r   Úfloat32Úfloat64ÚstrÚget_functionr‹   Úfloorr   r£   r   Úifnotr™   )r%   r&   ÚvxÚwxr]  ÚpdivÚ	pfloordivr_  r^  rO   ÚNZEROrP   Ú
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   rS  rS  ”  sH  € ô\ ×Ñ˜w¨¯©Ó0€DÜ×Ñ˜w¨¯©Ó0€DÜ×#Ñ# G¨R¯W©WÓ5€Ià
�,‰,�r˜2Ó
€CØ
�,‰,�w—|‘| B¨Ó,¨bÓ
1€Cà‡M�M�#�tÔØ‡M�M�#�tÔð �7‰7�3‹<€DØ�G‰G�D‹M€EØ
�'‰'�#‹,€CØ×'Ñ'¨¨c°4Ó8€JØ×!Ñ! # r¨4Ó0€FØ×"Ñ" 3¨¨TÓ2€Gà	�‰˜¨DˆÔ	1Ñ5R°nÀkÚð !(× 5Ñ 5°d¸FÀGÓ LÐà—‘Ð!2Õ3Ø—‘˜gŸl™l¨3°Ó4°dÔ;Ø—‘˜gŸl™l¨3°Ó3°TÔ:÷ 4÷ ò ð —.‘. ¨°Ó5ˆCØ�M‰M˜#˜tÔ$÷	 ÷ 
2ð  	ˆSà
�,‰,�tÓ
€CØ×%Ñ% d¨C°Ó6€Jà	�‰˜Õ	$Ü %§¡Ü!&§¡ñ0ˆàœs 2§7¡7›|Ñ,ˆØ×&Ñ&¤t§z¡zÜ'-×'7Ñ'7¸À(Ó'KóMˆá˜7 S EÓ*ˆØ—|‘| C¨Ó2ˆØ—|‘| H¨cÓ2ˆÜ˜Ÿ™ Ó%ˆØ×#Ñ# C¨°tÓ<ˆØ—>‘> $¨°hÓ?ˆØ�‰�h 	Ô*÷ 
%ô 
�‰�w 
Õ	+Ø�l‰l˜3 Ó$ˆØ�‰�c˜4Ô Ø—<‘< §¡¨S°"Ó 5°rÓ:ˆØ�‰�h 	Ô*÷	 
,ð �<‰<˜	Ó" G§L¡L°Ó$6Ð6Ð6÷G 4Ñ3ú÷ ‰^ú÷ ‰[ú÷ 
2Ñ	1ú÷* 
%Ð	$ú÷ 
,Ð	+úso   Ä8OÄ>%N?Å#AN2Æ(N?Æ0
OÆ:&OÇ OÈ'C*O&Ì/AO2Î2N<Î7N?Î?O		ÏOÏO	ÏOÏO#Ï&O/Ï2O;c                 ó  — |\  }}t        j                  ||j                  d¬«      }t        j                  ||j                  d¬«      }|j                  t        j                  ||«      d¬«      5 \  }	}
|	5  | j
                  j                  |d|«      sH|j                  ||«      }|j                  ||«      }|j                  ||«       |j                  ||«       d d d «       |
5  t        | |||«      \  }}|j                  ||«       |j                  ||«       d d d «       d d d «       t        j                  ||j                  |«      |j                  |«      f«      S # 1 sw Y   Œ‡xY w# 1 sw Y   ŒSxY w# 1 sw Y   ŒWxY w)Nra   rb   rd   Fr;   ©zmodulo by zero)r   rh   r?   rI   ri   rj   rk   r{   re  rJ   ra  rs   rK   )r%   r&   r'   r    ÚlocrM   rN   ra   rd   rm   rn   ro   rp   s                r   Úreal_divmod_implr…     sP  € à�D€A€qÜ×Ñ˜w¨¯©°VÔ<€DÜ
×
Ñ
˜g q§v¡v°EÔ
:€Cà	�‰œ×/Ñ/°¸Ó;ÀEˆô 
Ù4˜w¨ÚØ×&Ñ&×7Ñ7ØÐ,¨cô3ð —L‘L  AÓ&�Ø—L‘L  AÓ&�Ø—‘˜a Ô&Ø—‘˜a Ô%÷ ò Ü˜w¨°°AÓ6‰DˆAˆqØ�M‰M˜!˜TÔ"Ø�M‰M˜!˜SÔ!÷ ÷
ô  ×Ñ˜gØ&Ÿ|™|¨DÓ1°7·<±<ÀÓ3DÐEóGð G÷ ˆWú÷ ˆ[ú÷
ð 
ús=   Á1E;Á7A&E#Ã
E;Ã'6E/ÄE;Å#E,	Å(E;Å/E8	Å4E;Å;Fc                 ó<  — |\  }}t        j                  ||j                  «      }|j                  t        j                  ||«      d¬«      5 \  }}	|5  | j
                  j                  |d|«      s$|j                  ||«      }
|j                  |
|«       d d d «       |	5  t        | |||«      \  }}
|j                  |
|«       d d d «       d d d «       t        | ||j                  |j                  |«      «      S # 1 sw Y   ŒfxY w# 1 sw Y   ŒDxY w# 1 sw Y   ŒHxY w)NFr;   rƒ  )r   rh   r?   rI   ri   rj   rk   re  rJ   ra  r   r"   rK   )r%   r&   r'   r    r„  rM   rN   r.   rm   rn   rd   Ú_s               r   Úreal_mod_implrˆ    sü   € Ø�D€A€qÜ
×
Ñ
˜g q§v¡vÓ
.€CØ	�‰œ×/Ñ/°¸Ó;ÀEˆô 
Ù4˜w¨ÚØ×&Ñ&×7Ñ7ØÐ,¨cô3ð —l‘l 1 aÓ(�Ø—‘˜c 3Ô'÷ ò Ü  ¨'°1°aÓ8‰FˆAˆsØ�M‰M˜#˜sÔ#÷ ÷
ô ˜g w°·±Ø%Ÿl™l¨3Ó/ó1ð 1÷ ˆWú÷ ˆ[ú÷
ð 
úó=   ÁDÁAC:Â
DÂ$DÃDÃ:D	Ã?DÄD	ÄDÄDc                 ó<  — |\  }}t        j                  ||j                  «      }|j                  t        j                  ||«      d¬«      5 \  }}	|5  | j
                  j                  |d|«      s$|j                  ||«      }
|j                  |
|«       d d d «       |	5  t        | |||«      \  }
}|j                  |
|«       d d d «       d d d «       t        | ||j                  |j                  |«      «      S # 1 sw Y   ŒfxY w# 1 sw Y   ŒDxY w# 1 sw Y   ŒHxY w)NFr;   rz   )r   rh   r?   rI   ri   rj   rk   r{   rJ   ra  r   r"   rK   )r%   r&   r'   r    r„  rM   rN   r.   rm   rn   ra   r‡  s               r   Úreal_floordiv_implr‹  -  sü   € Ø�D€A€qÜ
×
Ñ
˜g q§v¡vÓ
.€CØ	�‰œ×/Ñ/°¸Ó;ÀEˆô 
Ù4˜w¨ÚØ×&Ñ&×7Ñ7ØÐ.°ô5ð —|‘| A qÓ)�Ø—‘˜d CÔ(÷ ò Ü! '¨7°A°qÓ9‰GˆD�!Ø�M‰M˜$ Ô$÷ ÷
ô ˜g w°·±Ø%Ÿl™l¨3Ó/ó1ð 1÷ ˆWú÷ ˆ[ú÷
ð 
úr‰  c                 ó"  — |\  }}|j                   }| j                  r*| j                  t        j                  |«      } |||«      }n1|j                  d|j                  g«      }	|j                  |	||f«      }t        | ||j                  |«      S )Nzllvm.pow)
rK  Úimplement_powi_as_math_callrk  r‹   rŒ   Údeclare_intrinsicr?   rU  r   r"   )
r%   r&   r'   r    rM   rN   rK  Úimpr.   rY  s
             r   Úreal_power_implr�  @  s€   € Ø�D€A€qØ�^‰^€FØ×*Ò*Ø×"Ñ"¤4§8¡8¨SÓ1ˆÙ�'˜4Ó ‰à×%Ñ% j°1·6±6°(Ó;ˆØ�l‰l˜2  1˜vÓ&ˆÜ˜g w°·±ÀÓEÐEr   c                 óX   —  |j                   dg|¢­Ž }t        | ||j                  |«      S r¨   ©rg  r   r"   rª   s        r   Úreal_lt_implr“  L  ó.   € Ø
ˆ'×
Ñ
˜sÐ
* TÒ
*€CÜ˜g w°·±ÀÓEÐEr   c                 óX   —  |j                   dg|¢­Ž }t        | ||j                  |«      S r®   r’  rª   s        r   Úreal_le_implr–  Q  ó.   € Ø
ˆ'×
Ñ
˜tÐ
+ dÒ
+€CÜ˜g w°·±ÀÓEÐEr   c                 óX   —  |j                   dg|¢­Ž }t        | ||j                  |«      S r²   r’  rª   s        r   Úreal_gt_implr™  V  r”  r   c                 óX   —  |j                   dg|¢­Ž }t        | ||j                  |«      S r¶   r’  rª   s        r   Úreal_ge_implr›  [  r—  r   c                 óX   —  |j                   dg|¢­Ž }t        | ||j                  |«      S rÅ   r’  rª   s        r   Úreal_eq_implr�  `  r—  r   c                 óX   —  |j                   dg|¢­Ž }t        | ||j                  |«      S rÈ   )rf  r   r"   rª   s        r   Úreal_ne_implrŸ  e  s.   € Ø
 ˆ'×
 Ñ
  Ð
-¨Ò
-€CÜ˜g w°·±ÀÓEÐEr   c                 óœ   — |j                   \  }t        j                  ||«      }| j                  t        j
                  |«      } |||«      S r˜   )r    r   r£   rk  r‹   Úfabs)r%   r&   r'   r    rL   rÖ   s         r   Úreal_abs_implr¢  j  sB   € Ø�8‰8�D€RÜ
×
Ñ
˜2˜rÓ
"€CØ×Ñ¤§	¡	¨3Ó/€DÙ�˜ÓÐr   c                 óh   — ddl m} |j                  ||d   «      }t        | ||j                  |«      S ©Nr   ©Úmathimpl)Únumba.cpythonr¦  Únegate_realr   r"   )r%   r&   r'   r    r¦  r.   s         r   Úreal_negate_implr©  q  s0   € Ý&Ø
×
Ñ
˜w¨¨Q©Ó
0€CÜ˜g w°·±ÀÓEÐEr   c                 ó’   — |j                   \  }|\  }| j                  ||||j                  «      }t        | ||j                  |«      S r˜   r  rÿ   s          r   Úreal_positive_implr«  w  r  r   c           	      ó4  — |\  }t        |j                  d«      }t        |j                  d«      }t        |j                  d«      }t        j                  ||j                  «      }|j	                  d||«      }	|j	                  d||«      }
|j                  |	«      5 \  }}|5  |j                  ||«       ddd«       |5  |j                  |
«      5 \  }}|5  |j                  ||«       ddd«       |5  |j                  ||«       ddd«       ddd«       ddd«       ddd«       |j                  |«      }t        | ||j                  |«      S # 1 sw Y   ŒœxY w# 1 sw Y   ŒsxY w# 1 sw Y   ŒbxY w# 1 sw Y   ŒfxY w# 1 sw Y   ŒjxY w# 1 sw Y   ŒnxY w)z
    np.sign(float)
    r8   r:   r   r³   r=   N)
r   r?   r   rh   rg  rI   rJ   rK   r   r"   )r%   r&   r'   r    rM   r  r  rO   r  Úis_posÚis_negÚgt_zeroÚnot_gt_zerorÓ   Únot_lt_zeror.   s                   r   Úreal_sign_implr²  ~  sJ  € ð �C€QÜ
�1—6‘6˜1Ó
€CÜ
�1—6‘6˜2Ó
€CÜ�A—F‘F˜AÓ€Dä×!Ñ! '¨1¯6©6Ó2€Gà×!Ñ! # q¨$Ó/€FØ×!Ñ! # q¨$Ó/€Fà	�‰˜Ô	 Ñ$: W¨kÚØ�M‰M˜#˜wÔ'÷ âØ—‘ Ô(Ñ,B¨W°kÚØ—M‘M # wÔ/÷ â ð —M‘M ! WÔ-÷ !÷ )÷ ÷ 
!ð �,‰,�wÓ
€CÜ˜g w°·±ÀÓEÐE÷ ˆWú÷ �Wúç �[ú÷ )Ð(ú÷ ˆ[ú÷ 
!Ð	 ús„   ÂFÂ$EÂ7
FÃFÃE6ÃE	Ã,
E6Ã6E*	Ä	E6ÄFÄFÅE	ÅFÅE'Å#E6Å*E3Å/E6Å6E?Å;FÆF	ÆFÆFÚrealc                 ó^   — | j                  |||¬«      }|j                  }t        | |||«      S ©N©rž   )Úmake_complexr³  r   ©r%   r&   r   rž   Úcplxr.   s         r   Úcomplex_real_implrº  ½  ó3   € à×Ñ ¨°EÐÓ:€DØ
�)‰)€CÜ˜g w°°SÓ9Ð9r   Úimagc                 ó^   — | j                  |||¬«      }|j                  }t        | |||«      S rµ  )r·  r¼  r   r¸  s         r   Úcomplex_imag_implr¾  Ã  r»  r   zcomplex.conjugatec                 óæ   — ddl m} | j                  ||j                  d   |d   «      }|j	                  ||j
                  «      |_        |j                  «       }t        | ||j                  |«      S r¤  )	r§  r¦  r·  r    r¨  r¼  Ú	_getvaluer   r"   )r%   r&   r'   r    r¦  Úzr.   s          r   Úcomplex_conjugate_implrÂ  É  s]   € å&Ø×Ñ˜W c§h¡h¨q¡k°4¸±7Ó;€AØ×!Ñ! '¨1¯6©6Ó2€A„FØ
�+‰+‹-€CÜ˜g w°·±ÀÓEÐEr   c                 ó   — t        | |||«      S r˜   )r   )r%   r&   r   rž   s       r   Úreal_real_implrÄ  Ñ  s   € Ü˜g w°°UÓ;Ð;r   c                 ó\   — t        j                  |j                  «      }t        | |||«      S r˜   )r   Úget_null_valuer?   r   )r%   r&   r   rž   r.   s        r   Úreal_imag_implrÇ  Ô  s'   € Ü
×
 Ñ
  §¡Ó
,€CÜ˜g w°°SÓ9Ð9r   c                 ó8   — t        | ||j                  |d   «      S ©Nr   râ   ©r%   r&   r'   r    s       r   Úreal_conjugate_implrË  Ø  s   € Ü˜g w°·±ÀÀaÁÓIÐIr   c           	      ó¨  — |\  }}|j                   d   }|j                  }| j                  |||¬«      }| j                  |||¬«      }	| j                  ||«      }
|j                  }|j	                  «       }|	j	                  «       }|
j	                  «       }| j                  |d«      }| j                  |d«      }|j                  d|	j                  |«      }|j                  d|	j                  |«      }|j                  ||«      }|j                  |«      5 \  }}|5  t        | ||||f«      }| j                  |||¬«      }|j                  |
_        |j                  |
_        d d d «       |5  t        j                  dt        j                  di|   }t        j                   t        j"                  «       |j$                  gdz  «      }t'        j(                  |||«      }|j+                  ||||f«       d d d «       d d d «       |j-                  |«      }t/        | ||j0                  |«      S # 1 sw Y   ŒÌxY w# 1 sw Y   ŒFxY w# 1 sw Y   ŒJxY w)Nr   r¶  r  r9   Únumba_cpowfÚ
numba_cpowé   )r    Úunderlying_floatÚmake_helperrK  Ú_getpointerÚget_constantrg  r³  r¼  rA   rI   Úcomplex_mul_implr   Ú	complex64Ú
complex128r   rM  ÚVoidTyper?   r   rO  rU  rK   r   r"   )r%   r&   r'   r    ÚcaÚcbrL   Úftyr,   r-   ÚcrK  ÚpaÚpbÚpcÚTWOrO   Úb_real_is_twoÚb_imag_is_zeroÚb_is_twoÚthenÚ	otherwiser.   ÚcresÚ	func_namerX  Úcpows                              r   Úcomplex_power_implrè  á  s  € ð �H€RˆØ	�‰�!‰€BØ
×
Ñ
€CØ×Ñ˜G R¨rÐÓ2€AØ×Ñ˜G R¨rÐÓ2€AØ×Ñ˜G RÓ(€AØ�^‰^€FØ	
�‰‹€BØ	
�‰‹€BØ	
�‰‹€Bð ×
Ñ
˜s AÓ
&€CØ×Ñ  QÓ'€Dà×(Ñ(¨¨q¯v©v°sÓ;€MØ×)Ñ)¨$°·±¸Ó=€NØ�|‰|˜M¨>Ó:€Hà	�‰˜Ô	"Ñ&7 t¨YÚä" 7¨G°S¸2¸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˜  B¨˜|Ô,÷ ÷ 
#ð$ �,‰,�rÓ
€CÜ˜g w°·±ÀÓEÐE÷% ˆTú÷ ˆYú÷ 
#Ð	"ús>   ÄIÄAH0Å%
IÅ/BH<Ç7IÈ0H9	È5IÈ<I	ÉIÉIc                 óª  — |\  }}|j                   d   }| j                  |||¬«      }| j                  |||¬«      }| j                  ||«      }	|j                  }
|j                  }|j                  }|j                  }|j	                  |
|«      |	_        |j	                  ||«      |	_        |	j                  «       }t        | ||j                  |«      S ©Nr   r¶  )r    r·  r³  r¼  r>  rÀ  r   r"   ©r%   r&   r'   r    ÚcxÚcyrL   rM   rN   rÁ  r,   r-   rÛ  Údr.   s                  r   Úcomplex_add_implrï    óÀ   € Ø�H€RˆØ	�‰�!‰€BØ×Ñ˜W b°ÐÓ3€AØ×Ñ˜W b°ÐÓ3€AØ×Ñ˜W bÓ)€AØ	�‰€AØ	�‰€AØ	�‰€AØ	�‰€AØ�\‰\˜!˜QÓ€A„FØ�\‰\˜!˜QÓ€A„FØ
�+‰+‹-€CÜ˜g w°·±ÀÓEÐEr   c                 óª  — |\  }}|j                   d   }| j                  |||¬«      }| j                  |||¬«      }| j                  ||«      }	|j                  }
|j                  }|j                  }|j                  }|j	                  |
|«      |	_        |j	                  ||«      |	_        |	j                  «       }t        | ||j                  |«      S rê  )r    r·  r³  r¼  rB  rÀ  r   r"   rë  s                  r   Úcomplex_sub_implrò    rð  r   c                 ó:  — |\  }}|j                   d   }| j                  |||¬«      }| j                  |||¬«      }| j                  ||«      }	|j                  }
|j                  }|j                  }|j                  }|j	                  |
|«      }|j	                  ||«      }|j	                  |
|«      }|j	                  ||«      }|j                  ||«      |	_        |j                  ||«      |	_        |	j                  «       }t        | ||j                  |«      S )z'
    (a+bi)(c+di)=(ac-bd)+i(ad+bc)
    r   r¶  )
r    r·  r³  r¼  r™   rB  r>  rÀ  r   r"   )r%   r&   r'   r    rì  rí  rL   rM   rN   rÁ  r,   r-   rÛ  rî  ÚacÚbdÚadÚbcr.   s                      r   rÔ  rÔ  -  s  € ð �H€RˆØ	�‰�!‰€BØ×Ñ˜W b°ÐÓ3€AØ×Ñ˜W b°ÐÓ3€AØ×Ñ˜W bÓ)€AØ	�‰€AØ	�‰€AØ	�‰€AØ	�‰€AØ	�‰�a˜Ó	€BØ	�‰�a˜Ó	€BØ	�‰�a˜Ó	€BØ	�‰�a˜Ó	€BØ�\‰\˜"˜bÓ!€A„FØ�\‰\˜"˜bÓ!€A„FØ
�+‰+‹-€CÜ˜g w°·±ÀÓEÐEr   Únanc                 ó`   — d„ }| j                  ||||«      }t        | ||j                  |«      S )Nc                 ó  — | j                   }| j                  }|j                   }|j                  }|s|st        d«      ‚t        |«      t        |«      k\  rA|st	        t
        t
        «      S ||z  }|||z  z   }t	        |||z  z   |z  |||z  z
  |z  «      S |st	        t
        t
        «      S ||z  }||z  |z   }t	        | j                   |z  | j                  z   |z  | j                  |z  | j                   z
  |z  «      S )Nzcomplex division by zero)r³  r¼  rŠ   r¢   ÚcomplexÚNAN)r,   r-   ÚarealÚaimagÚbrealÚbimagÚratioÚdenoms           r   Úcomplex_divz%complex_div_impl.<locals>.complex_divG  s  € à—‘ˆØ—‘ˆØ—‘ˆØ—‘ˆÙ™UÜ#Ð$>Ó?Ð?Üˆu‹:œ˜U›Ò#áÜœs¤CÓ(Ð(Ø˜E‘MˆEØ˜E E™MÑ)ˆEÜØ˜ ™Ñ&¨%Ñ/Ø˜ ™Ñ&¨%Ñ/ó1ð 1ñ
 Üœs¤CÓ(Ð(Ø˜E‘MˆEØ˜E‘M EÑ)ˆEÜØ—‘˜%‘ !§&¡&Ñ(¨EÑ1Ø—‘˜%‘ !§&¡&Ñ(¨EÑ1ó3ð 3r   ©r”   r   r"   )r%   r&   r'   r    r  r.   s         r   Úcomplex_div_implr  F  s4   € ò3ð6 ×
"Ñ
" 7¨K¸¸dÓ
C€CÜ˜g w°·±ÀÓEÐEr   c                 óR  — ddl m} |j                  \  }|\  }| j                  |||¬«      }| j                  ||«      }|j	                  ||j
                  «      |_        |j	                  ||j                  «      |_        |j                  «       }t        | ||j                  |«      S )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  f  s�   € Ý&Ø�H‰H�E€SØ�E€SØ× Ñ  ¨#°SÐ Ó9€EØ
×
Ñ
˜w¨Ó
,€CØ×#Ñ# G¨U¯Z©ZÓ8€C„HØ×#Ñ# G¨U¯Z©ZÓ8€C„HØ
�-‰-‹/€CÜ˜g w°·±ÀÓEÐEr   c                 ó:   — |\  }t        | ||j                  |«      S r˜   râ   ©r%   r&   r'   r    r¤   s        r   Úcomplex_positive_implr  r  s   € Ø�E€SÜ˜g w°·±ÀÓEÐEr   c                 ój  — |\  }}|j                   d   }| j                  |||¬«      }| j                  |||¬«      }|j                  d|j                  |j                  «      }	|j                  d|j                  |j                  «      }
|j                  |	|
«      }t        | ||j                  |«      S )Nr   r¶  r9   )r    r·  rg  r³  r¼  rA   r   r"   )r%   r&   r'   r    rì  rí  r   rM   rN   Úreals_are_eqÚimags_are_eqr.   s               r   Úcomplex_eq_implr  w  s£   € Ø�H€RˆØ
�(‰(�1‰+€CØ×Ñ˜W c°ÐÓ4€AØ×Ñ˜W c°ÐÓ4€Aà×'Ñ'¨¨a¯f©f°a·f±fÓ=€LØ×'Ñ'¨¨a¯f©f°a·f±fÓ=€LØ
�,‰,�| \Ó
2€CÜ˜g w°·±ÀÓEÐEr   c                 ój  — |\  }}|j                   d   }| j                  |||¬«      }| j                  |||¬«      }|j                  d|j                  |j                  «      }	|j                  d|j                  |j                  «      }
|j                  |	|
«      }t        | ||j                  |«      S )Nr   r¶  r>   )r    r·  rf  r³  r¼  rù   r   r"   )r%   r&   r'   r    rì  rí  r   rM   rN   Úreals_are_neÚimags_are_ner.   s               r   Úcomplex_ne_implr  ƒ  s£   € Ø�H€RˆØ
�(‰(�1‰+€CØ×Ñ˜W c°ÐÓ4€AØ×Ñ˜W c°ÐÓ4€Aà×)Ñ)¨$°·±¸¿¹Ó?€LØ×)Ñ)¨$°·±¸¿¹Ó?€LØ
�+‰+�l LÓ
1€CÜ˜g w°·±ÀÓEÐEr   c                 ó`   — d„ }| j                  ||||«      }t        | ||j                  |«      S )z)
    abs(z) := hypot(z.real, z.imag)
    c                 óV   — t        j                  | j                  | j                  «      S r˜   )r‹   Úhypotr³  r¼  )rÁ  s    r   Úcomplex_absz%complex_abs_impl.<locals>.complex_abs“  s   € Ü�z‰z˜!Ÿ&™& !§&¡&Ó)Ð)r   r  )r%   r&   r'   r    r  r.   s         r   Úcomplex_abs_implr  �  s4   € ò*ð ×
"Ñ
" 7¨K¸¸dÓ
C€CÜ˜g w°·±ÀÓEÐEr   znumber.itemc                 ó   — |d   S )z;
    The no-op .item() method on booleans and numbers.
    r   r�   rÊ  s       r   Únumber_item_implr  °  s   € ð �‰7€Nr   c                 ó´   — |j                   \  }|\  }| j                  ||||j                  «      }|j                  |«      }t	        | ||j                  |«      S r˜   )r    r!   r"   rE   r   )r%   r&   r'   r    r   r¤   Úistruer.   s           r   Únumber_not_implr  ¼  sO   € Ø�H‰H�E€SØ�E€SØ�\‰\˜' 3¨¨S¯_©_Ó=€FØ
�,‰,�vÓ
€CÜ˜g w°·±ÀÓEÐEr   c                 ó   — |\  }|S r˜   r�   r
  s        r   Úbool_as_boolr  Ã  s   € à�E€SØ€Jr   c                 óX   — |\  }|j                  d|t        |j                  d«      «      S )Nr>   r   )rº   r   r?   r
  s        r   Úint_as_boolr!  È  s)   € à�E€SØ× Ñ   s¬H°S·X±X¸qÓ,AÓBÐBr   c                 óX   — |\  }|j                  d|t        |j                  d«      «      S )Nr>   rc  )rf  r   r?   r
  s        r   Úfloat_as_boolr#  Í  s)   € à�E€SØ×!Ñ! $¨¬X°c·h±hÀÓ-DÓEÐEr   c                 ó  — |j                   \  }|\  }| j                  |||«      }|j                  |j                  }}t	        |j
                  d«      }	|j                  d||	«      }
|j                  d||	«      }|j                  |
|«      S )Nrc  r>   )r    r·  r³  r¼  r   r?   rf  rù   )r%   r&   r'   r    r   r¤   r  r³  r¼  ÚzeroÚreal_istrueÚimag_istrues               r   Úcomplex_as_boolr(  Ò  s‚   € à�H‰H�E€SØ�E€SØ× Ñ  ¨#¨sÓ3€EØ—‘˜UŸZ™Zˆ$€DÜ�D—I‘I˜sÓ#€DØ×(Ñ(¨¨t°TÓ:€KØ×(Ñ(¨¨t°TÓ:€KØ�;‰;�{ KÓ0Ð0r   c                 óŒ   — | j                  ||j                  |j                  «      }| j                  |||j                  |«      S r˜   )Úget_constant_genericÚliteral_typeÚliteral_valuer!   ©r%   r&   ÚfromtyÚtotyr¤   Úlits         r   Úliteral_int_to_numberr1  ê  sF   € ð ×
&Ñ
&ØØ×ÑØ×Ñó
€Cð
 �<‰<˜  f×&9Ñ&9¸4Ó@Ð@r   c                 óH  — |j                   |j                   k(  r|S |j                   |j                   k  r!|j                  || j                  |«      «      S |j                  r!|j	                  || j                  |«      «      S |j                  || j                  |«      «      S r˜   )r‚   ÚtruncÚget_value_typer   ÚsextÚzext©r%   r&   r.  r/  r¤   s        r   Úinteger_to_integerr8  ö  s„   € à‡}�}˜Ÿ™Ò'àˆ
Ø	�‰˜Ÿ™Ò	(à�}‰}˜S '×"8Ñ"8¸Ó">Ó?Ð?Ø	�Šà�|‰|˜C ×!7Ñ!7¸Ó!=Ó>Ð>ð �|‰|˜C ×!7Ñ!7¸Ó!=Ó>Ð>r   c                 óD   — |j                  || j                  |«      «      S r˜   )Úinttoptrr4  r7  s        r   Úinteger_to_voidptrr;    s    € à×Ñ˜C ×!7Ñ!7¸Ó!=Ó>Ð>r   c                 óž   — | j                  |«      }|j                  |j                  k  r|j                  ||«      S |j                  ||«      S r˜   )r4  r‚   ÚfpextÚfptrunc©r%   r&   r.  r/  r¤   r¥   s         r   Úfloat_to_floatr@  	  sD   € à
×
 Ñ
  Ó
&€CØ‡�˜Ÿ™Ò&Ø�}‰}˜S #Ó&Ð&à�‰˜s CÓ(Ð(r   c                 ó„   — | j                  |«      }|j                  r|j                  ||«      S |j                  ||«      S r˜   )r4  r   ÚsitofpÚuitofpr?  s         r   Úinteger_to_floatrD    s;   € à
×
 Ñ
  Ó
&€CØ‡}‚}Ø�~‰~˜c 3Ó'Ð'à�~‰~˜c 3Ó'Ð'r   c                 ó„   — | j                  |«      }|j                  r|j                  ||«      S |j                  ||«      S r˜   )r4  r   ÚfptosiÚfptouir?  s         r   Úfloat_to_integerrH    s;   € à
×
 Ñ
  Ó
&€CØ‡{‚{Ø�~‰~˜c 3Ó'Ð'à�~‰~˜c 3Ó'Ð'r   c                 óÖ   — | j                  ||||j                  «      }| j                  |j                  d«      }| j                  ||«      }||_        ||_        |j                  «       S rÉ  )r!   rÐ  rÓ  r·  r³  r¼  rÀ  )r%   r&   r.  r/  r¤   r³  r¼  r  s           r   Únon_complex_to_complexrJ  !  sc   € ð �<‰<˜  f¨d×.CÑ.CÓD€DØ×Ñ × 5Ñ 5°qÓ9€Dà× Ñ  ¨$Ó/€EØ€E„JØ€E„JØ�?‰?ÓÐr   c                 ó*  — |j                   }|j                   }| j                  |||¬«      }| j                  ||«      }| j                  ||j                  ||«      |_        | j                  ||j                  ||«      |_        |j                  «       S rµ  )rÐ  r·  r!   r³  r¼  rÀ  )	r%   r&   r.  r/  r¤   ÚsrctyÚdsttyÚsrcÚdsts	            r   Úcomplex_to_complexrP  ,  s�   € à×#Ñ#€EØ×!Ñ!€Eà
×
Ñ
˜w¨°cÐ
Ó
:€CØ
×
Ñ
˜w¨Ó
-€CØ�|‰|˜G S§X¡X¨u°eÓ<€C„HØ�|‰|˜G S§X¡X¨u°eÓ<€C„HØ�=‰=‹?Ðr   c                 ó(   — | j                  |||«      S r˜   )Úis_truer7  s        r   Úany_to_booleanrS  7  s   € à�?‰?˜7 F¨CÓ0Ð0r   c                 ó�   — |j                  |t        j                  d«      «      }| j                  ||t        j
                  |«      S )Né    )r6  r   ÚIntTyper!   r   Úint32)r%   r&   r.  r/  r¤   Úasints         r   Úboolean_to_anyrY  ;  s5   € ð �L‰L˜œbŸj™j¨›nÓ-€EØ�<‰<˜ ¬¯©°TÓ:Ð:r   c                 óŠ   — | j                  ||j                  |j                  «      }| j                  ||j                  |«      S r˜   )r*  r+  r,  rR  r-  s         r   Úliteral_int_to_booleanr[  A  sD   € ð ×
&Ñ
&ØØ×ÑØ×Ñó
€Cð
 �?‰?˜7 F×$7Ñ$7¸Ó=Ð=r   c                 ó¼   — |j                   }| j                  |||j                  «      }| j                  |||j                  «      }t	        j
                  ||f«      S r˜   )rÐ  r*  r³  r¼  r   Úliteral_struct)r%   r&   rL   ÚpyvalrÚ  r³  r¼  s          r   Úconstant_complexr_  N  sR   € à
×
Ñ
€CØ×'Ñ'¨°°e·j±jÓA€DØ×'Ñ'¨°°e·j±jÓA€DÜ×"Ñ" D¨$ <Ó0Ð0r   c                 ó~   — t        |t        j                  «      rt        |«      }| j	                  |«      } ||«      S r˜   )re   ÚnpÚbool_Úboolr4  )r%   r&   rL   r^  r¥   s        r   Úconstant_integerrd  U  s5   € ô �%œŸ™Ô"Ü�U“ˆØ
×
 Ñ
  Ó
$€CÙˆu‹:Ðr   c                 ó  — t        | t        j                  t        j                  f«      rbt        |t        j                  j
                  «      r=| j                  |j                  j                  k7  rt        j                  d«      ‚d„ }|S yy)z) Typing for the np scalar 'view' method. zOChanging the dtype of a 0d array is only supported if the itemsize is unchangedc                 ó   — t        | |«      S r˜   r   )ÚscalarÚviewtys     r   rÖ   zscalar_view.<locals>.implo  s   € Ü˜& &Ó)Ð)r   N)
re   r   r2  r€   ÚabstractÚ	DTypeSpecr‚   rg   r   ÚTypingError)rg  rh  rÖ   s      r   Úscalar_viewrl  f  so   € ä�6œEŸK™K¬¯©Ð7Ô8Ü˜6¤5§>¡>×#;Ñ#;Ô<Ø�?‰?˜fŸl™l×3Ñ3Ò3Ü×$Ñ$ð(ó)ð )ò	*àˆð =ð 	9r   Úviewr˜   )¦r‹   rŸ   Únumpyra  r!  Úllvmliter   Úllvmlite.irr   Únumba.core.imputilsr   r   r   r   r	   r
   r   Ú
numba.corer   r   r   r   r   r   Únumba.core.extendingr   r   Únumba.cpython.unsafe.numbersr   r   r/   r3   r6   r[   r_   rq   Údivmodr€   ru   r}  Ú	ifloordivrx   ÚtruedivÚitruedivr|   r_  Úimodr~   rƒ   r•   rŒ   r3  r,  r2  r¦   r«   r¯   r´   r·   r»   r¾   rÁ   rÃ   rÆ   rÉ   rØ   rÛ   rà   rã   rê   rî   r÷   rú   rý   r  r  r  r  r  r  r%  Úbooleanr&  r.  r/  r0  r1  rÝ   r+  r6  r<  r?  rC  rE  rG  ra  rS  r…  rˆ  r‹  r�  r“  r–  r™  r›  r�  rŸ  r¢  r©  r«  r²  rL   r#   r"  r2   r#  r5   r$  r¢   ÚComplexrº  r¾  rÂ  rÄ  rÇ  rË  Úclsrè  rï  rò  rÔ  r�   rü  r  r  r  r  r  r  r8  ÚNumberr  r  rc  r  r!  r#  r(  rE   r1  r8  Úvoidptrr;  r@  rD  rH  rJ  rP  ÚAnyrS  rY  ÚBooleanLiteralr[  r_  rd  rl  r�   r   r   Ú<module>r�     s‚  ðÛ Û ã Û å Ý  ÷8÷ 8ñ 8÷ G× Fß ;Ý /òò"FòFòFò66òr6òñ< ˆv�u—}‘} e§m¡mÓ4ñGó 5ðGñ ˆx× Ñ  %§-¡-°·±Ó?Ùˆx×!Ñ! 5§=¡=°%·-±-Ó@ñó Aó @ðñ ˆx×Ñ §¡°·±Ó>Ùˆx× Ñ  %§-¡-°·±Ó?ñFó @ó ?ðFñ ˆx�|‰|˜UŸ]™]¨E¯M©MÓ:Ùˆx�}‰}˜eŸm™m¨U¯]©]Ó;ñó <ó ;ðòò*FñZ ˆx�|‰|˜UŸ]™]¨E×,@Ñ,@ÓAÙˆx�}‰}˜eŸm™m¨U×-AÑ-AÓBÙˆx�|‰|˜UŸ[™[¨%×*>Ñ*>Ó?Ùˆx�}‰}˜eŸk™k¨5×+?Ñ+?Ó@ñ:ó Aó @ó Có Bð:òzFò
Fò
Fò
Fò
Fò
Fò
Fò
Fò
Fò
Fò
ò(	òFòDò
Fò	FòFòFòFòFòFòFò'FòTFòFð 9�ˆh�k‰k˜5Ÿ=™=¨%¯-©-Ó 8¸Ô EØ 8�ˆh�k‰k˜5Ÿ=™=¨%¯-©-Ó 8¸Ô EØ 8�ˆh�k‰k˜5Ÿ=™=¨%¯-©-Ó 8¸Ô FØ 8�ˆh�k‰k˜5Ÿ=™=¨%¯-©-Ó 8¸Ô FØ 8�ˆh�k‰k˜5Ÿ=™=¨%¯-©-Ó 8¸Ô FØ 8�ˆh�k‰k˜5Ÿ=™=¨%¯-©-Ó 8¸Ô FØ *�ˆh�l‰l˜EŸM™MÓ *Ð+;Ô <Ø *�ˆh�l‰l˜EŸM™MÓ *Ð+CÔ Dò.-ò`	<ñ Ô á Ô òFò
Fò
Fò
Fò(ò,i7ñX ˆv�u—{‘{ E§K¡KÓ0òGó 1ðGó21ó&1ò&	FòFò
Fò
Fò
Fò
Fò
Fò
òFòFòFð< ‡[�[€à #�ˆh�l‰l˜B Ó # MÔ 2Ø $�ˆh�m‰m˜R Ó $ ]Ô 3Ø #�ˆh�l‰l˜B Ó # MÔ 2Ø $�ˆh�m‰m˜R Ó $ ]Ô 3Ø #�ˆh�l‰l˜B Ó # MÔ 2Ø $�ˆh�m‰m˜R Ó $ ]Ô 3Ø (�ˆh×Ñ  RÓ (Ð);Ô <Ø )�ˆh× Ñ  " bÓ )Ð*<Ô =Ø '�ˆh×Ñ  BÓ '¨Ô 6Ø (�ˆh×Ñ  RÓ (¨Ô 7Ø #�ˆh�l‰l˜B Ó # MÔ 2Ø $�ˆh�m‰m˜R Ó $ ]Ô 3Ø #�ˆh�l‰l˜B Ó # OÔ 4Ø $�ˆh�m‰m˜R Ó $ _Ô 5Ø �ˆc�2�rÓ ˜?Ô +à "�ˆh�k‰k˜2˜rÓ " <Ô 0Ø "�ˆh�k‰k˜2˜rÓ " <Ô 0Ø "�ˆh�k‰k˜2˜rÓ " <Ô 0Ø "�ˆh�k‰k˜2˜rÓ " <Ô 0Ø "�ˆh�k‰k˜2˜rÓ " <Ô 0Ø "�ˆh�k‰k˜2˜rÓ " <Ô 0à �ˆc�2Ó �}Ô %à �ˆh�l‰l˜BÓ Ð 0Ô 1Ø �ˆh�l‰l˜BÓ Ð 2Ô 3àñ ˆu�}‰}˜fÓ%ñ:ó &ð:ñ
 ˆu�}‰}˜fÓ%ñ:ó &ð:ñ
 Ð" E§M¡MÓ2ñFó 3ðFò<ò:òJð �K‰K˜Ÿ™Ó'€CØ�M�#�vÓ˜~Ô.Ø�M�#�vÓ˜~Ô.Ø+�MÐ% sÓ+Ð,?Õ@ð (ñ ˆx�|‰|˜UŸ]™]¨E¯M©MÓ:Ùˆx�}‰}˜eŸm™m¨U¯]©]Ó;Ùˆs�E—M‘M 5§=¡=Ó1ñ'Fó 2ó <ó ;ð'FòRFò Fò Fñ. ˆEƒl€òFò@	FòFò
	Fò	FòFð ‡]�]€à #�ˆh�l‰l˜B Ó #Ð$4Ô 5Ø $�ˆh�m‰m˜R Ó $Ð%5Ô 6Ø #�ˆh�l‰l˜B Ó #Ð$4Ô 5Ø $�ˆh�m‰m˜R Ó $Ð%5Ô 6Ø #�ˆh�l‰l˜B Ó #Ð$4Ô 5Ø $�ˆh�m‰m˜R Ó $Ð%5Ô 6Ø '�ˆh×Ñ  BÓ 'Ð(8Ô 9Ø (�ˆh×Ñ  RÓ (Ð)9Ô :Ø �ˆh�l‰l˜BÓ Ð 3Ô 4Ø �ˆh�l‰l˜BÓ Ð 5Ô 6ð #�ˆh�k‰k˜2˜rÓ " ?Ô 3Ø "�ˆh�k‰k˜2˜rÓ " ?Ô 3à �ˆc�2Ó Ð'Ô (àñ ˆ}˜eŸmšmÓ,Ùˆ}˜eŸlšlÓ+ñó ,ó -ðòFñ ˆt�U—]’]Ó#ñó $ðñ ˆt�U—]‘]Ó#ñCó $ðCñ ˆt�U—[‘[Ó!ñFó "ðFñ ˆt�U—]‘]Ó#ñ1ó $ð1ð �=‰=˜%Ÿ+™+ u§}¡}Ó
5€BØ$�M�(—-’- Ó$ _Õ5ð 6ð ,�ˆh�mŠm˜UŸ]™]Ó +¨OÔ <ñ ˆE× Ñ  %§-¡-Ó0ÙˆE× Ñ  %§+¡+Ó.ÙˆE× Ñ  %§-¡-Ó0ñAó 1ó /ó 1ðAñ ˆE�M‰M˜5Ÿ=™=Ó)ñ?ó *ð?ñ ˆE�M‰M˜5Ÿ=š=Ó)ñ?ó *ð?ñ ˆE�K‰K˜Ÿ™Ó%ñ)ó &ð)ñ ˆE�M‰M˜5Ÿ;™;Ó'ñ(ó (ð(ñ ˆE�K‰K˜Ÿ™Ó'ñ(ó (ð(ñ ˆE�K‰K˜Ÿ™Ó'ÙˆE�M‰M˜5Ÿ=™=Ó)ñó *ó (ðñ ˆE�M‰M˜5Ÿ=™=Ó)ñó *ðñ ˆE�IŠI�u—}’}Ó%ñ1ó &ð1ñ ˆE�MŠM˜5Ÿ<š<Ó(ñ;ó )ð;ñ
 ˆE× Ñ  %§-¢-Ó0ÙˆE× Ò  %§-¢-Ó0ñ>ó 1ó 1ð>ñ �—‘Óñ1ó ð1ñ �—‘ÓÙ�—‘ÓÙ�—’Óñó ó ó ðòð %��—‘˜VÓ $ [Ô 1Ø &��—‘˜vÓ & {Õ 3r   