
    sh                        S SK r 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
JrJrJrJrJrJr  S SKJrJrJrJrJrJr  S SKJrJr  S SKJr  S rS	 rS
 rS r S r!S r"S r#\
" \$\RJ                  \RJ                  5      S 5       r&\
" \RN                  \RJ                  \RJ                  5      \
" \RP                  \RJ                  \RJ                  5      S 5       5       r)\
" \RT                  \RJ                  \RJ                  5      \
" \RV                  \RJ                  \RJ                  5      S 5       5       r,\
" \RZ                  \RJ                  \RJ                  5      \
" \R\                  \RJ                  \RJ                  5      S 5       5       r/S r0S r1\
" \Rd                  \RJ                  \Rf                  5      \
" \Rh                  \RJ                  \Rf                  5      \
" \Rd                  \Rj                  \Rf                  5      \
" \Rh                  \Rj                  \Rf                  5      S 5       5       5       5       r6S r7S r8S r9S r:S r;S r<S r=S r>S r?S r@S  rAS! rBS" rCS# rDS$ rES% rFS& rGS' rHS( rIS) rJS* rKS+ rLS, rMS- rNS. rO\
" \R                  \R                  \R                  5      " \?5        \
" \R                  \R                  \R                  5      " \@5        \
" \R                  \R                  \R                  5      " \;5        \
" \R                  \R                  \R                  5      " \<5        \
" \R                  \R                  \R                  5      " \=5        \
" \R                  \R                  \R                  5      " \>5        \
" \R                  \R                  5      " \N5        \
" \R                  \R                  5      " \O5        S/ rYS0 rZ\Y" 5         \Z" 5         S1 r[S2 r\S3 r]S4 r^S5 r_S6 r`\
" \$\Rj                  \Rj                  5      SoS7 j5       raSoS8 jrbSoS9 jrcS: rdS; reS< rfS= rgS> rhS? riS@ rjSA rkSB rlSC rmSD rn\Rj                  ro\
" \R                  \o\o5      " \[5        \
" \R                  \o\o5      " \[5        \
" \R                  \o\o5      " \\5        \
" \R                  \o\o5      " \\5        \
" \R                  \o\o5      " \]5        \
" \R                  \o\o5      " \]5        \
" \RN                  \o\o5      " \c5        \
" \RP                  \o\o5      " \c5        \
" \RT                  \o\o5      " \^5        \
" \RV                  \o\o5      " \^5        \
" \RZ                  \o\o5      " \b5        \
" \R\                  \o\o5      " \b5        \
" \Rd                  \o\o5      " \d5        \
" \Rh                  \o\o5      " \d5        \
" \2\o\o5      " \d5        \
" \R                  \o\o5      " \i5        \
" \R                  \o\o5      " \j5        \
" \R                  \o\o5      " \e5        \
" \R                  \o\o5      " \f5        \
" \R                  \o\o5      " \g5        \
" \R                  \o\o5      " \h5        \
" \v\o5      " \k5        \
" \R                  \o5      " \l5        \
" \R                  \o5      " \m5        Co\" \R                  SE5      SF 5       rx\" \R                  SG5      SH 5       ry\
" SI\R                  5      SJ 5       rzSK r{SL r|SM r}\Rj                  \RJ                  4 H0  r~\" \~SE5      " \{5        \" \~SG5      " \|5        \
" SI\~5      " \}5        M2     \
" \Rd                  \R                  \R                  5      \
" \Rh                  \R                  \R                  5      \
" \2\R                  \R                  5      SN 5       5       5       rSO rSP rSQ r\" SR5      rSS rST rSU rSV rSW rSX r\R                  ro\
" \R                  \o\o5      " \5        \
" \R                  \o\o5      " \5        \
" \R                  \o\o5      " \5        \
" \R                  \o\o5      " \5        \
" \R                  \o\o5      " \5        \
" \R                  \o\o5      " \5        \
" \RT                  \o\o5      " \5        \
" \RV                  \o\o5      " \5        \
" \R                  \o5      " \5        \
" \R                  \o5      " \5        \
" \R                  \o\o5      " \5        \
" \R                  \o\o5      " \5        \
" \v\o5      " \5        Co\
" SY\GR                  5      \
" SY\GR                  5      SZ 5       5       rS[ r\
" \\GR                  5      S\ 5       r\
" \\RJ                  5      S] 5       r\
" \\Rj                  5      S^ 5       r\
" \\R                  5      S_ 5       r\RJ                  \Rj                  \R                  4 H  ro\
" \GR(                  \o5      " \5        M     \
" \GR(                  \R                  5      " \5        \" \Rf                  \RJ                  5      \" \Rf                  \Rj                  5      \" \Rf                  \R                  5      S` 5       5       5       r\" \RJ                  \RJ                  5      Sa 5       r\" \RJ                  \GR.                  5      Sb 5       r\" \Rj                  \Rj                  5      Sc 5       r\" \RJ                  \Rj                  5      Sd 5       r\" \Rj                  \RJ                  5      Se 5       r\" \Rj                  \R                  5      \" \RJ                  \R                  5      Sf 5       5       r\" \R                  \R                  5      Sg 5       r\" \GR<                  \GR                  5      Sh 5       r\" \GR                  \GR                  5      Si 5       r\" \Rf                  \GR                  5      \" \GRB                  \GR                  5      Sj 5       5       r\" \R                  5      Sk 5       r\" \RJ                  5      \" \Rj                  5      \" \GR                  5      Sl 5       5       5       rSm r\" \Rj                  Sn5      " \5        \" \RJ                  Sn5      " \5        g)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                 .    U R                   (       a  S/$ / $ )z3
Return the modifier flags for integer arithmetic.
nsw)signed)rettypes    m/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/cpython/old_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    HRxxHRW"oo6AW"oo6A
++a"23??"C+
DC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_implr3   ,   r0   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_implr6   5   r0   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X5      nUR                  X5      nUR                  U5       u  nnU   UR                  X5        UR                  X5        S	S	S	5        U   UR                  UR                  X5      U5        UR                  UR                  X5      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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   $ 66QVV66!9D
&&)C &&w5F&&w5F,,D!VVBII%67D!VVBZ02K 
k24	@ Q"Q"!--c7;;q3H$O**4=||L:__T"&I'9=e,e,  $gkk%5v>gkk%3V< $ # 
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   r[   udivurem)r%   r&   rL   rM   rN   s        r   
int_divmodr_   w   s7     
yy 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X5      n[        R                  " XR                  SS9n[        R                  " XR                  SS9nUR                  [        R                  " X5      SS9 u  pU   U R                  R                  X45      (       d"  UR                  X5        UR                  X5        S S S 5        U   [        XXU5      u  nnUR                  UU5        UR                  UU5        S S S 5        S S S 5        X4$ ! , (       d  f       NX= f! , (       d  f       N*= f! , (       d  f       X4$ = f)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      sR   FBXXFB	B"enn%%XXW")AW")AwV<D


gvvE
:C	//;E 
4w&&77+- -
 a&a%  gq9DAqMM!T"MM!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)rq   r   
pack_arrayrK   r%   r&   r'   r    ra   rd   s         r   int_divmod_implru      sH     3!9;ID g&||D17<<3DEG Gr   c                 B    [        XX#S5      u  pEUR                  U5      $ )Nzinteger division by zerorq   rK   rt   s         r   int_floordiv_implrx      s&     !3!;=ID<<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                  X5      n
[        XUR                  U
5      $ ! , (       d  f       N6= f)Nzdivision by zero)	r    r!   r"   r   rm   rj   rk   fdivr   r$   s              r   int_truediv_implr|      s     HRxxHRW"oo6AW"oo6A		$,,W6KL 
%
,,q
CgEE 
%	$s   !B..
B<c                 B    [        XX#S5      u  pEUR                  U5      $ )Nzinteger modulo by zerorw   rt   s         r   int_rem_implr~      s&     !3!9;ID<<r   c                     [        U[        R                  5      (       a-  U R                  R                  (       d  SUR
                  S-
  -  $ g)Nr:   r8   F)re   r   Integerrj   raise_on_fp_zero_divisionbitwidth)r%   r"   s     r   _get_power_zerodiv_returnr      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$ )	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_power!int_power_impl.<locals>.int_power   s    qEqEq5F"CQw##6%--/0XYY6a2gFC=88AuQx((QhQwAICFA	 Qh !sQw'a'r   )re   r    r   r   r"   r   compile_internalr   )	r%   r&   r'   r    r   r.   r   r   r   s	         @@@r   int_power_implr      s^     CHHQK7J	B.w;N(> 
"
"7s
AC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	" X5      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
r8   r   r   c                 V   > T(       a  TR                  X5      $ TR                  X5      $ N)r5   fmul)r,   r-   r&   r   s     r   r5   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   r8   r:   )r   )r,   r   s    r   invert_impl&static_power_impl.<locals>.invert_impl$  s4    6%--/0XYY6a2gHr   c                     SU -  $ )Nr    )r,   s    r   r   r   1  s    Qw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c7++,,!!
3x'!!1WF
c(C	BB.J.w;N
,,wQ!b
9C
((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      $ Nr=   rB   r   r"   r%   r&   r'   r    r.   s        r   int_slt_implr   :  *    


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   D  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   I  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   N  *    



+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   S  *    



,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   X  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   ]  r   r   c                 V    UR                   " S/UQ76 n[        XUR                  U5      $ Nr9   r   r   s        r   int_eq_implr   b  r   r   c                 V    UR                   " S/UQ76 n[        XUR                  U5      $ Nr>   r   r   s        r   int_ne_implr   g  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      $ Nr=   r   rB   r   r?   r   selectr   r"   r%   r&   r'   r    leftrightcmp_zerolt_zeroge_zeror.   ops             r   impl%int_signed_unsigned_cmp.<locals>.implm  s     &&sD(499a2HI%%b$A0FG''D8nnX8!'COOSIIr   r   r   r   s   ` r   int_signed_unsigned_cmpr   l  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}    &&sE8EJJ3JK%%b(5::q*A5I''D8nnX8!'COOS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   r?   rB   negr   r   r"   )	r%   r&   r'   r    rM   rO   ltznegatedr.   s	            r   int_abs_implr     s[    
CQAFFD!D


c1
+Ckk!nG
..q
)CgEEr   c                 8    Uu  n[        XUR                  U5      $ r   r   r"   )r%   r&   r'   r    rM   s        r   uint_abs_implr     s    
CQgCCr   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]    XXNUJS
,,wUOO
<C
,,wUOO
<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    XXNUJS
,,wUOO
<C
,,wUOO
<C
ll3$ll3$gEEr   c                     UR                   u  pEUu  pgU R                  XXBR                  5      nU R                  XXRR                  5      n	UR                  X5      n
[	        XUR                  U
5      $ r   )r    r!   r"   rA   r   r%   r&   r'   r    atbtavbvcavcbcr.   s              r   int_and_implr     s]    xxHRHR
,,wB
8C
,,wB
8C
,,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                  X5      n
[	        XUR                  U
5      $ r   )r    r!   r"   or_r   r   s              r   int_or_implr     ]    xxHRHR
,,wB
8C
,,wB
8C
++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                  X5      n
[	        XUR                  U
5      $ r   )r    r!   r"   rH   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    HHESES
++c
C
,,wS//
: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	    ;    HHESES
,,wS//
: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    rH   r   r?   intwidthr!   r"   r   r  s          r   int_invert_implr    sj    HHESES
++c8CHHc#2F.JK
LC
,,wS//
: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                  XU5        UR                  U5         UR                  Xz5        UR                  U5        SSS5        UR                  U5         UR                  XU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)
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    CQ
1661
C
1662
CAFFAD$$T13H!!#q/G!!'662G((1G++J7J''/F''/F((1GOOHz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    HHESES
,,wS//
: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                  (   [         R                  n [        [        R                  X 5      " [
        5        [        [        R                  X 5      " [
        5        [        [        R                  X 5      " [        5        [        [        R                  X 5      " [        5        [        [        R                  X 5      " [        5        [        [        R                  X 5      " [        5        [        [        R                  X 5      " [        5        [        [        R                  X 5      " [         5        [        [        R"                  X 5      " [$        5        [        [        R&                  X 5      " [$        5        [        [        R(                  X 5      " [*        5        [        [        R,                  X 5      " [*        5        [        [        R.                  U 5      " [0        5        [        [        R2                  U 5      " [4        5        [        [        R6                  X 5      " [8        5        [        [        R:                  X 5      " [8        5        [        [6        X 5      " [8        5        [         R<                   GH=  n [        [        R>                  X 5      " [@        5        [        [        RB                  X 5      " [D        5        [        [        RF                  X 5      " [H        5        [        [        RJ                  X 5      " [L        5        [        [        R6                  [         RN                  U 5      " [8        5        [        [        R:                  [         RN                  U 5      " [8        5        [        [6        [         RN                  U 5      " [8        5        [        [P        U 5      " [R        5        GM@     [        [        R>                  [         RT                  [         RT                  5      " [V        5        [        [        RF                  [         RT                  [         RT                  5      " [V        5        [        [        RB                  [         RT                  [         RT                  5      " [V        5        [        [        RJ                  [         RT                  [         RT                  5      " [V        5        [         RX                   GH=  n [        [        R>                  X 5      " [V        5        [        [        RB                  X 5      " [Z        5        [        [        RF                  X 5      " [\        5        [        [        RJ                  X 5      " [^        5        [        [        R6                  [         RN                  U 5      " [8        5        [        [        R:                  [         RN                  U 5      " [8        5        [        [6        [         RN                  U 5      " [8        5        [        [P        U 5      " [`        5        GM@     g 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_operatorsr;  &  s9   	B(,,'5(--(6(,,'5(--(6(,,'5(--(6(++r&{3(++r&{3(//2*<8(""B+L9(//2*<8(""B+L9(,,#O4(,,#$56(,,'7(--(8#r~.##hkk2*<8hkk2*<8hkk2*<8hkk2*<8hllEKK4^DhmmU[["5nEc5;;+N;c2}- $ (++u33U5I5IJ<X(++u33U5I5IJ<X(++u33U5I5IJ<X(++u33U5I5IJ<X!!hkk2*<8hkk2*<8hkk2*<8hkk2*<8hllEKK4^DhmmU[["5nEc5;;+N;c2|, "r   c                  N   [         R                  [         R                  4 GH   n [        [        R
                  X 5      " [        5        [        [        R                  X 5      " [        5        [        [        R                  X 5      " [        5        [        [        R                  X 5      " [        5        [        [        R                  X 5      " [        5        [        [        R                  X 5      " [        5        [        [        R                  U 5      " [        5        GM     g r   )r   Booleanr   r   r&  rA   r   iandr   r   iorrH   r  ixorr   r  r:  s    r   _implement_bitwise_operatorsrA  V  s    }}emm,hmmR,\:hmmR,\:hllB+K8hllB+K8hllB+L9hmmR,\:hoor*?; -r   c                 N    UR                   " U6 n[        XUR                  U5      $ r   )faddr   r"   r   s        r   real_add_implrD  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_implrH  k  rE  r   c                 N    UR                   " U6 n[        XUR                  U5      $ r   )r   r   r"   r   s        r   real_mul_implrJ  p  rE  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)Nr8   rz   )r   rm   rj   rk   r{   r   r"   r   s        r   real_div_implrL  u  sX    	q'	*,,W6K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  pn[        X	X5      u  pU	R                  X5        U	R                  U5        [        R                   " X5      nUR#                  XX<45      nXR%                  U5      4$ )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   floattyrP  fnamefntyfn	fnbuilderfxfypmoddivmodquotients                   r   real_divmodrf  |  s   66QVVffG^^FOO/!&&:E??7gr~~g7N$OPD		'	'e	<B	#
LL!6!6w!?@	ww(RD"cw0D||BA-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                  X5        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X5      nUR                  U5         UR                  UR                  X5      U5        UR                  UR                  Xs5      U5        S S S 5        S S S 5        U   UR                  XU	5      nUR                  Xt5        S S S 5        S S S 5        AAUR                  U5      nUR                  SX5      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                  X5      nUR                  X5        UR	                  UR5                  X5      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   r>   r=   Tr;   )r   doubleg      ?r   )r   rh   r?   fremr{   rG  rJ   fcmp_unorderedfcmp_orderedrI   r   rD   rC  r   rK   r   float32float64strget_functionr   floorr   r   r   ifnotr   )r%   r&   vxwxrb  pdiv	pfloordivrd  rc  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   rX  rX    s    \ w0Dw0D##GWW5I
,,r
C
,,w||B,b
1CMM#MM# 773<DGGDME
''#,C''c8J!!#r0F""32G	D	15Rnk !( 5 5dF L!23gll34d;gll33T: 4   ..5CMM#$	  
2  	S
,,t
C%%dC6J		$ %!&0s277|,&&tzz'-'7'7('KM7E*||C2||Hc2%##Ct<>>$h?h	* 
% 
w
	+ll3$c <<S 5r:h	*	 
, <<	"GLL$666G 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  pU	   U R
                  R                  USU5      (       dD  UR                  XV5      nUR                  XV5      nUR                  X5        UR                  X5        S S S 5        U
   [        XXV5      u  pUR                  X5        UR                  X5        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)Nra   rb   rd   Fr;   zmodulo by zero)r   rh   r?   rI   ri   rj   rk   r{   rj  rJ   rf  rs   rK   )r%   r&   r'   r    locrM   rN   ra   rd   rm   rn   ro   rp   s                r   real_divmod_implr    s9   DAwV<D


gvvE
:C	//;E 
4w&&77,c3 3 LL&LL&a&a%  w6DAMM!"MM!! 
  g&||D17<<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  pU   U R
                  R                  USU5      (       d"  UR                  XV5      n
UR                  X5        S S S 5        U	   [        XXV5      u  pUR                  X5        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)NFr;   r  )r   rh   r?   rI   ri   rj   rk   rj  rJ   rf  r   r"   rK   )r%   r&   r'   r    r  rM   rN   r.   rm   rn   rd   _s               r   real_mod_implr    s    DA


gvv
.C	//;E 
4w&&77,c3 3 ll1(c'   18FAMM## 
 g%ll3/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  pU   U R
                  R                  USU5      (       d"  UR                  XV5      n
UR                  X5        S S S 5        U	   [        XXV5      u  pUR                  X5        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)NFr;   rz   )r   rh   r?   rI   ri   rj   rk   r{   rJ   rf  r   r"   rK   )r%   r&   r'   r    r  rM   rN   r.   rm   rn   ra   r  s               r   real_floordiv_implr  +  s    DA


gvv
.C	//;E 
4w&&77.5 5 ||A)d(  !'A9GDMM$$ 
 g%ll3/1 1 W [
 
r  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                  XU45      n[        XUR                  U5      $ )Nzllvm.pow)
rP  implement_powi_as_math_callrp  r   r   declare_intrinsicr?   rZ  r   r"   )
r%   r&   r'   r    rM   rN   rP  impr.   r^  s
             r   real_power_implr  >  sx    DA^^F**""488S1' %%j166(;ll21v&gEEr   c                 V    UR                   " S/UQ76 n[        XUR                  U5      $ r   rl  r   r"   r   s        r   real_lt_implr  J  *    


s
*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   real_le_implr  O  *    


t
+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   real_gt_implr  T  r  r   c                 V    UR                   " S/UQ76 n[        XUR                  U5      $ r   r  r   s        r   real_ge_implr  Y  r  r   c                 V    UR                   " S/UQ76 n[        XUR                  U5      $ r   r  r   s        r   real_eq_implr  ^  r  r   c                 V    UR                   " S/UQ76 n[        XUR                  U5      $ r   )rk  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   rp  r   fabs)r%   r&   r'   r    rL   r   s         r   real_abs_implr  h  s>    88DR


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,    &


wQ
0C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  pU   UR                  XX5        SSS5        U   UR                  U
5       u  pU   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)
r8   r:   r   r   r=   N)
r   r?   r   rh   rl  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  |  s8    CQ
1661
C
1662
CAFFAD!!'662G!!#q/F!!#q/F		 $:WMM#' (,BWMM#/   MM!- ! )  
! ,,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-realc                 R    U R                  XUS9nUR                  n[        XX%5      $ Nr   )make_complexr  r   r%   r&   r  r   cplxr.   s         r   complex_real_implr    -    E:D
))Cg99r   imagc                 R    U R                  XUS9nUR                  n[        XX%5      $ r  )r  r  r   r  s         r   complex_imag_implr    r  r   zcomplex.conjugatec                     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    &Whhqk47;A!!'662AF
++-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_valuer?   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XU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  r9   numba_cpowf
numba_cpow   )r    underlying_floatmake_helperrP  _getpointerget_constantrl  r  r  rA   rI   complex_mul_implr   	complex64
complex128r   rR  VoidTyper?   r   rT  rZ  rK   r   r"   )r%   r&   r'   r    cacbrL   ftyr,   r-   crP  papbpcTWOrO   b_real_is_twob_imag_is_zerob_is_twothen	otherwiser.   cres	func_namer]  cpows                              r   complex_power_implr    s    HR	!B


CGr2AGr2AG(A^^F	
B	
B	
B 

sA
&CQ'D((qvvs;M))$=N||M>:H		"&7tY"7Sr(CC&&w#&>DYYAFYYAF     , I ??2;;=277)a-@D11&$	JDLL|,  
#$ ,,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	                  X5      U	l        UR	                  X5      U	l        U	R                  5       n[        XUR                  U5      $ Nr   r  )r    r  r  r  rC  r  r   r"   r%   r&   r'   r    cxcyrL   rM   rN   r  r,   r-   r  dr.   s                  r   complex_add_implr        HR	!BW3AW3AW)A	A	A	A	A\\!AF\\!AF
++-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	                  X5      U	l        UR	                  X5      U	l        U	R                  5       n[        XUR                  U5      $ r  )r    r  r  r  rG  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	                  X5      nUR	                  X5      nUR	                  X5      nUR	                  X5      nUR                  X5      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   rG  rC  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     HR	!BW3AW3AW)A	A	A	A	A	a	B	a	B	a	B	a	B\\"!AF\\"b!AF
++-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#sC((MEEM)E&%/&%/1 1
 sC((MEME)E%!&&(E1%!&&(E13 3r   r   r   r"   )r%   r&   r'   r    r  r.   s         r   complex_div_implr  D  s.    36 
"
"7
CC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    &HHESES  S 9E


w
,C##GZZ8CH##GZZ8CH
--/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    ES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                  X5      n[        XUR                  U5      $ )Nr   r  r9   )r    r  rl  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  u  s    HR
((1+CW4AW4A''affaff=L''affaff=L
,,|
2C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                  X5      n[        XUR                  U5      $ )Nr   r  r>   )r    r  rk  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    HR
((1+CW4AW4A))$?L))$?L
++l
1C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    zz!&&!&&))r   r
  )r%   r&   r'   r    r  r.   s         r   complex_abs_implr    s.    * 
"
"7
CCgEEr   znumber.itemc                     US   $ )z3
The no-op .item() method on booleans and numbers.
r   r   r  s       r   number_item_implr!    s     7Nr   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"   rE   r   )r%   r&   r'   r    r  r   istruer.   s           r   number_not_implr$    sI    HHESES\\'__=F
,,v
CgEEr   c                     Uu  nU$ r   r   r  s        r   bool_as_boolr&    s    ESJr   c                 X    Uu  nUR                  SU[        UR                  S5      5      $ )Nr>   r   )r   r   r?   r  s        r   int_as_boolr(    s)    ES  sHSXXq,ABBr   c                 X    Uu  nUR                  SU[        UR                  S5      5      $ )Nr>   rh  )rk  r   r?   r  s        r   float_as_boolr*    s)    ES!!$Xchh-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X5      nUR                  X5      $ )Nrh  r>   )r    r  r  r  r   r?   rk  r   )r%   r&   r'   r    r  r   r  r  r  zeroreal_istrueimag_istrues               r   complex_as_boolr/    sx    HHESES  s3EUZZ$DIIs#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_numberr8    sD     
&
&
C
 <<f&9&94@@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   )r   truncget_value_typer   sextzextr%   r&   r5  r6  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_voidptrrB    s    C!7!7!=>>r   c                     U R                  U5      nUR                  UR                  :  a  UR                  XE5      $ UR                  XE5      $ r   )r;  r   fpextfptruncr%   r&   r5  r6  r   r   s         r   float_to_floatrG    s@    

 
 
&C&}}S&&s((r   c                     U R                  U5      nUR                  (       a  UR                  XE5      $ UR                  XE5      $ r   )r;  r   sitofpuitofprF  s         r   integer_to_floatrK    s7    

 
 
&C}}~~c''~~c''r   c                     U R                  U5      nUR                  (       a  UR                  XE5      $ UR                  XE5      $ r   )r;  r   fptosifptouirF  s         r   float_to_integerrO    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&   r5  r6  r   r  r  r  s           r   non_complex_to_complexrQ    sY     <<f.C.CDD 5 5q9D  /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&   r5  r6  r   srctydsttysrcdsts	            r   complex_to_complexrW  *  su    ##E!!E


wc

:C


w
-C||GXXu<CH||GXXu<CH==?r   c                 &    U R                  XU5      $ r   )is_truer>  s        r   any_to_booleanrZ  5  s    ??7C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&   r5  r6  r   asints         r   boolean_to_anyr`  9  s3     LLbjjn-E<<T::r   c                     U R                  UUR                  UR                  5      nU R                  XR                  U5      $ r   )r1  r2  r3  rY  r4  s         r   literal_int_to_booleanrb  ?  sB     
&
&
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  r1  r  r  r   literal_struct)r%   r&   rL   pyvalr  r  r  s          r   constant_complexrf  L  sL    


C''ejjAD''ejjAD""D<00r   c                     [        U[        R                  5      (       a  [        U5      nU R	                  U5      nU" U5      $ r   )re   npbool_boolr;  )r%   r&   rL   re  r   s        r   constant_integerrk  S  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)
re   r   r7  r   abstract	DTypeSpecr   rg   r   TypingError)rn  ro  r   s      r   scalar_viewrt  d  su    6EKK78865>>#;#;<<??fll333$$() )	* = 	9r   viewr   )r   r   numpyrh  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|   rd  imodr~   r   r   r   r8  r1  r7  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+  r3  r4  r5  r6  r   r0  r;  rA  rD  rH  rJ  rL  rf  rX  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  r=  Numberr!  r$  rj  r&  r(  r*  r/  rE   r8  r?  voidptrrB  rG  rK  rO  rQ  rW  AnyrZ  r`  BooleanLiteralrb  rf  rk  rt  r   r   r   <module>r     s         8 8 8 G F ; /"FFF66r6< vu}}emm4G 5G x  %--?x!!5==%--@ A @ x>x  %--?F @ ?F x||U]]EMM:x}}emmU]]; < ;(FV x||U]]E,@,@Ax}}emmU-A-ABx||U[[%*>*>?x}}ekk5+?+?@: 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 hkk5==%-- 8 E hkk5==%-- 8 E hkk5==%-- 8 F hkk5==%-- 8 F hkk5==%-- 8 F hkk5==%-- 8 F hllEMM *+; < hllEMM *+C D.-`	<    F
F
F
F(,i7X vu{{EKK0G 1G21&1&	FF
F
F
F
F
F
FFF< [[ hllB #M 2 hmmR $] 3 hllB #M 2 hmmR $] 3 hllB #M 2 hmmR $] 3 hR (); < h  "b )*< = hB ' 6 hR ( 7 hllB #M 2 hmmR $] 3 hllB #O 4 hmmR $_ 5 c2r ? + hkk2r "< 0 hkk2r "< 0 hkk2r "< 0 hkk2r "< 0 hkk2r "< 0 hkk2r "< 0 c2 } % hllB  0 1 hllB  2 3 u}}f%: &:
 u}}f%: &:
 "EMM2F 3F<:J KK'C#v~.#v~.%s+,?@ ( x||U]]EMM:x}}emmU]];sEMM5==1'F 2 < ;'FRF F F. ElF@	FF
	F	FF ]] hllB #$4 5 hmmR $%5 6 hllB #$4 5 hmmR $%5 6 hllB #$4 5 hmmR $%5 6 hB '(8 9 hR ()9 : hllB  3 4 hllB  5 6 hkk2r "? 3 hkk2r "? 3 c2 ' ( }emm,}ell+ , -F tU]]# $ tU]]#C $C tU[[!F "F tU]]#1 $1 ==%++u}}
5B(--$_5 6 hmmU]] +O < E  %--0E  %++.E  %--0A 1 / 1A EMM5==)? *? EMM5==)? *? EKK%) &) EMM5;;'( (( EKK'( (( EKK'EMM5==) * ( EMM5==) * EIIu}}%1 &1 EMM5<<(; );
 E  %--0E  %--0> 1 1> 1 1     V $[ 1 v &{ 3r   