
    i|                     b   S 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  SSKJr  SSKJr  SSKJrJrJr  SS	KJr  S
rSrSrSS jr\R<                  (       a  \R>                  r O\RB                  r \ 4S jr"S r#S r$S r%S r&S r'S r(S r)\(r*S r+S r,S r-S r.S r/S r0S r1S r0\1" \0\\Rd                  \Rf                  5        S r4S r5S  r6\" \6S!S"9S# 5       r7\1" \5S$\6\Rp                  5        S% r9S& r:S' r;S( r<S) r=S* r>S+ r?S, r@S- rAS. rBS/ rCS0 rDS1 rES2 rFS3 rGS4 rHS5 rIS6 rJS7 rKS8 rLS9 rMS: rNS; rOS< rPS= rQS> rRS? rSS@ rTSA rUSB rVSC rWSD rXSE rYSF rZSG r[SH r\SI r]SJ r^SK r_SL r`SM raSN rbSO rcSP rdSQ reSR rfSS rgST rhSU riSV rjSW rkSX rlSY rmSZ rnS[ roS\ rpS] rqS^ rrS_ rsS` rtSa ruSb rvSc rwSd rxSe rySf rzSg r{Sh r|Si r}Sj r~Sk rSl rSm rSn rSo rSp rSq rSr rSs rSt rSu rSv rSw rSx rSy rSz rS{ rS| rS} rS~ rS rS rS rS rS rS rS rS rS rS rS rS rS rg)zCodegen for functions used as kernels in NumPy functions

Typically, the kernels of several ufuncs that can't map directly to
Python builtins
    Noverload)impl_ret_untracked)typingtypeserrorsloweringcgutilsconfig)register_jitable)
npdatetime)	cmathimplmathimplnumbers)numpy_versiong+eG?g&{?g9B.?c                   ^ [        U5      U:X  d   e[        U R                  5      U:X  d   eU R                  S   mUc  Tn[        U4S jU R                   5       5      (       a  U R                  U:X  dJ  SSKnUR                  5       R                  R                  R                  nSR                  XP5      n U5       eg)zchecks that the following are true:
- args and sig.args have arg_count elements
- all input types are homogeneous
- return type is 'return_type' if provided, otherwise it must be
  homogeneous with the input types.
r   Nc              3   ,   >#    U  H	  oT:H  v   M     g 7fN ).0argtys     L/var/www/html/trading/venv/lib/python3.13/site-packages/numba/np/npyfuncs.py	<genexpr>/_check_arity_and_homogeneity.<locals>.<genexpr>*   s     ,8CR8s   z"{0} called with invalid types: {1})
lenargsallreturn_typeinspectcurrentframef_backf_codeco_nameformat)sigr   arityr   r    fnamemsgr   s          @r   _check_arity_and_homogeneityr*      s     t9sxx=E!!!	!B,388,,,K1O$$&--44<<299%Ecu	 2P    c           
         UR                   nU R                  U5      n[        R                  R	                  Xw/[        UR                  5      -  5      n[        R                  " XhUS9n	[        X2R                  5       V
Vs/ s H  u  pU R                  XX5      PM     nn
nUR                  X5      nU R                  X[        R                  UR                  5      $ s  snn
f )Nname)moduleget_argument_typellvmliteirFunctionTyper   r   r
   insert_pure_functionzipcastcallr   float64r   )contextbuilderr&   r   	func_namer   modltyfntyfnr   argty	cast_argsresults                 r   _call_func_by_name_with_castrC   5   s    
 ..C

#
#B
'C;;##Cs388})<=D		%	%ci	@B#&tXX#69#6ZS gE6#6  9 \\"(F<<HH	9s   Cc                 f   UR                   S   n XF   nUR                  n
U[        R                  ;   Ga  U R                  X5      nU Vs/ s H  n[        R                  " X5      PM     nnUR                  5       /U-   nU/[        UR                   5      -   nU Vs/ s H"  nU R                  U5      R                  5       PM$     nn[         R"                  R%                  [         R"                  R'                  5       U5      n[        R(                  " U
UU5      nUR+                  UU5        UR-                  US   5      nU$ UR                    Vs/ s H  nU R/                  U5      PM     nnU R/                  UR0                  5      n[         R"                  R%                  UU5      n[        R2                  " U
UUS9nU R5                  UUUR                   U5      nU$ ! [         a6  nSR                  U[        U5      5      n	[        R
                  " U	5      eS nAff = fs  snf s  snf s  snf )Nr   z!No {0} function for real type {1}r-   )r   KeyErrorr%   strr   LoweringErrorr/   r   complex_domainmake_complexr
   alloca_once_value_getpointerlistget_value_type
as_pointerr1   r2   r3   VoidTypeget_or_insert_functionr7   loadr0   r   r4   call_external_function)r9   r:   r&   r   table	user_namer   r;   er)   r<   outr   ptrargs	call_argscall_argtyscall_argltysr>   r?   retvalatyargtypesrestypes                          r   _dispatch_func_by_name_typer_   E   s    
!B(I	
 ..C	U!!! ""7/"$"s ,,W:" 	 $__&''1	
 dT#((^+"-/"-B  ..r2==?"- 	 /{{''(<(<(>M++CyAR#il+ M ?BhhGhsG--c2hG++COO<{{'':))#t)D//SXXtLME  (188CFK""3''($/ Hs)   G!  H$)H)H.!
H!+1HH!c                 P   [        X#S5        Uu  pEUR                  S   nU R                  US5      nU R                  US5      nU R                  USUR                  R                  S-
  -  5      n	UR                  SXu5      n
UR                  SX5      nUR                  SX5      nUR                  X5      nUR                  X5      nUR                  USS9 u  nnU   UR                  nS S S 5        U   UR                  nUR                  XE5      nUR                  XE5      nUR                  SXG5      nUR                  SXW5      nUR                  UU5      nUR                  S	UU5      nUR                  UU5      nUR                  UX5      nUR                  UU5      nS S S 5        S S S 5        UR!                  UR                  5      nUR#                  UW5        UR#                  WW5        U$ ! , (       d  f       GN= f! , (       d  f       Ni= f! , (       d  f       Nr= f)
N   r      ==Flikely>!=)r*   r   get_constanttypewidthicmp_unsignedand_or_if_elsebasic_blocksdivsremicmp_signedxorselectaddphiadd_incoming)r9   r:   r&   r   numdenr   ZERO	MINUS_ONEMIN_INTden_is_zeroden_is_minus_onenum_is_min_intcould_cause_sigfpe
force_zerothen	otherwisebb_thenbb_otherwisedivr<   num_gt_zeroden_gt_zeronot_same_signmod_not_zeroneeds_fixing	fix_valueresult_otherwiserB   s                                r   np_int_sdiv_implr      s    A.HC	!BA&D$$R,I""2qSXX^^A-='>?G''d8K,,T9B**4>N &6G[=J	E	26GtY))G "..L,,s(C,,s(C!--c3=K!--c3=K#KK[AM"00sDAL"<<|DL|YEI&{{3	:  
3 [[#F
g&
(,7M% TY 
3	2s=   HG4+
H5B.H#H4
H	>H
H	H
H%c                    [        X#S5        Uu  pEUR                  S   nU R                  US5      nUR                  SXu5      nUR                  n	[
        R                  " X5         UR                  n
UR                  XE5      nUR                  SXG5      nUR                  SXW5      nUR                  X5      nUR                  SX5      nUR                  X5      nUR                  UXW5      nUR                  UU5      nS S S 5        UR                  UR                  5      nUR                  Xy5        UR                  WW
5        U$ ! , (       d  f       NN= f)Nra   r   rh   rg   )r*   r   ri   rl   rp   r
   if_unlikelyrr   rs   rt   rm   ru   rv   rw   rj   rx   )r9   r:   r&   r   ry   rz   r   r{   den_not_zerobb_no_ifbb_ifr<   r   r   r   r   r   r   	final_modrB   s                       r   np_int_srem_implr      s-    A.HC	!BA&D((t9L""H			W	3##ll3#))#s9))#s9K=,,T3=||M@NN<;	KK	3/	 
4 [[#F
'
	5)M 
4	3s   &BE
Ec                     [        XUR                  S   " UR                  6 U5      n[        XUR                  S   " UR                  6 U5      nU R	                  XR                  XE/5      $ Nr   rc   )r   r   r   r   
make_tupler9   r:   r&   r   r   rems         r   np_int_sdivrem_implr      [    
7S__Q-?-JD
QC
7S__Q-?-JD
QCg
CCr+   c                 $   [        X#S5        Uu  pEUR                  S   nU R                  US5      nUR                  SXu5      nUR	                  USS9 u  pU	   UR
                  nS S S 5        U
   UR                  XE5      nUR
                  nS S S 5        S S S 5        UR                  UR                  5      nUR                  UW5        UR                  WW5        U$ ! , (       d  f       N= f! , (       d  f       Nh= f! , (       d  f       Nq= f)Nra   r   rd   Fre   )
r*   r   ri   rl   ro   rp   udivrw   rj   rx   )r9   r:   r&   r   ry   rz   r   r{   div_by_zeror   r   r   r   r   rB   s                  r   np_int_udiv_implr      s     A.HC	!BA&D''d8K	U	37H))G  ,,s(C"..L 	 
4 [[#F
g&
\*M T Y	 
4	3s<   DC&
D0C0D
C-	)D0
C>	:D
Dc                    [        X#S5        Uu  pEUR                  S   nU R                  US5      nUR                  SXu5      nUR                  n	[
        R                  " X5         UR                  n
UR                  XE5      nS S S 5        UR                  UR                  5      nUR                  Xy5        UR                  WW
5        U$ ! , (       d  f       NN= f)Nra   r   rh   )r*   r   ri   rl   rp   r
   r   uremrw   rj   rx   )r9   r:   r&   r   ry   rz   r   r{   r   r   r   r<   rB   s                r   np_int_urem_implr      s     A.HC	!BA&D((t9L""H			W	3##ll3# 
4 [[#F
'
U#M 
4	3s   &C
Cc                     [        XUR                  S   " UR                  6 U5      n[        XUR                  S   " UR                  6 U5      nU R	                  XR                  XE/5      $ r   )r   r   r   r   r   r   s         r   np_int_udivrem_implr      r   r+   c                 8    [        X#S5        UR                  " U6 $ Nra   )r*   fdivr9   r:   r&   r   s       r   np_real_div_implr     s     !A.<<r+   c                 z   [        X#S5        Uu  pEUR                  S   nU R                  US5      nUR                  XE5      nUR	                  SX5      n	UR	                  SXW5      n
UR	                  SX5      nUR                  U	UR                  X5      5      nUR                  XU5      nUR                  X5      $ )Nra   r           rh   <)	r*   r   ri   fremfcmp_orderedrm   rt   ru   fadd)r9   r:   r&   r   in1in2r   r{   resres_ne_zeroden_lt_zerores_lt_zeror   r   s                 r   np_real_mod_implr     s     !A.HC	!BC(D
,,s
 C&&tS7K&&sC6K&&sC6K<< 'K EGL|$7I<<''r+   c                 8    [        X#S5        UR                  " U6 $ r   )r*   r   r   s       r   np_real_fmod_implr     s     A.<<r+   c                     [         R                  R                  UR                  S5      nUR	                  X25      nUR                  SX#5      nUR                  XTU5      $ )Nr   r   )r1   r2   Constantrj   fsubr   ru   )r9   r:   r   r{   arg_negatedarg_is_negatives         r   _fabsr      sM    ;;#.D,,t)K**3:O>>/<<r+   c           	         U Vs/ s H   nU R                  XR                  S   US9PM"     snu  pVUR                  nUR                  nUR                  n	UR                  n
UR                  n[        XxX4 Vs/ s H  oR                  U:H  PM     sn5      (       d   S5       eU R                  XR                  5      n[        R                  R                  US5      n[        R                  R                  US5      n[        XU	5      n[        XU
5      nUR                  SUU5      nUR                  U5       u  nnU   UR                  SUU5      nUR                  SUU5      nUR                  UU5      nUR                  U5       u  nnU   UR                  UU5      Ul        UR                  UU5      Ul        S S S 5        U   UR                  X5      nUR!                  U
U5      nUR#                  U	U5      nUR                  UU5      nUR!                  UU5      nUR!                  UU5      nUR#                  UU5      n UR%                  UU5      n!UR!                  U U5      Ul        UR!                  U!U5      Ul        S S S 5        S S S 5        S S S 5        U   UR                  X5      nUR!                  U	U5      nUR#                  U
U5      nUR                  UU5      nUR!                  UU5      nUR!                  UU5      nUR#                  UU5      n UR%                  UU5      n!UR!                  U U5      Ul        UR!                  U!U5      Ul        S S S 5        S S S 5        UR'                  5       $ s  snf s  snf ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN%= f! , (       d  f       GN/= f! , (       d  f       Nx= f! , (       d  f       UR'                  5       $ = f)Nr   valuemismatched typesr         ?>=rd   )rI   r   realimagrj   r   make_helperr   r1   r2   r   r   r   ro   rm   r   fmulr   r   	_getvalue)"r9   r:   r&   r   r   r   r   in1rin1iin2rin2iftypeirV   r{   ONEin2r_absin2i_absin2r_abs_ge_in2i_absr   r   in2r_is_zeroin2i_is_zeroin2_is_zeroinn_theninn_otherwiserattmp1tmp2scltmp3tmp4tmp5tmp6s"                                     r   np_complex_div_implr   '  sg     !C $$Whhqk$E!HC 88D88D88D88DIIED'?@'?!'?@AAUCUUA


g
7C;;s+D
++

uc
*C Wt,HWt,H"//hI	-	.2C4"//hEL"//hEL!,,|\BK-1J(M  '||D(;CH&||D(;CH	 
 # ",,t2C"<<c2D"<<d3D!,,sD1C #<<c2D"<<c2D"<<d3D"<<d3D&||D#6CH&||D#6CH # . 6  ,,t*C<<c*D<<d+D,,sD)C <<c*D<<c*D<<d+D<<d+D||D#.CH||D#.CH 9 
/Z ==?! A" X
 #] .- T6 Y9 
/	.Z ==?s   'M?8N:O" A
N?
N-/N		?
N-	B>N	N-N?
O"!B>OO"	
NN-
N*%N--
N<7N??
O		O"
O	O""
O?c                     g r   r   x1x2s     r   _npy_logaddexpr   t      r+   c                 4   ^^^ [        U SS9UUU4S j5       ng )Ngenerictargetc                 6   >^ X:w  a  g U " T5      mUUU4S jnU$ )Nc                    > Xp2X#:X  a  UT-   $ X#-
  nUS:  a  UT" T" U* 5      5      -   $ US::  a  UT" T" U5      5      -   $ U$ )Nr   r   )r   r   xytmpexpfnlog1pfnshifts        r   impl;_generate_logaddexp.<locals>.ol_npy_logaddexp.<locals>.impl  s]    q5y e!GwucT{333QhwuSz222 Jr+   r   )r   r   r   r   constr   r   s      @r   ol_npy_logaddexp-_generate_logaddexp.<locals>.ol_npy_logaddexp{  s     85		 r+   r   )
fnoverloadr   r   r   r   s    ``` r   _generate_logaddexpr   w  s     j+ ,r+   c                     g r   r   r   s     r   r   r     r   r+   c                     [        X#S5        U R                  R                  [        5      nUR	                  U R                  / UR
                  Q70 5      nU R                  XB5      nU" X5      $ r   )r*   typing_contextresolve_value_typer   get_call_typer   get_functionr9   r:   r&   r   r>   r   s         r   np_real_logaddexp_implr    s_     A.!!44^DD


W33\sxx\2
FC*Dr+   c                     g r   r   r   s     r   _npy_logaddexp2r    r   r+   c                     g r   r   r   s    r   npy_log2_1pr	    r   r+   r   r   c                 ,   ^ U " [         5      mU4S jnU$ )Nc                 6   > T[         R                  " U 5      -  $ r   )nplog1p)r   LOG2Es    r   r   ol_npy_log2_1p.<locals>.impl  s    rxx{""r+   )
_NPY_LOG2E)r   r   r  s     @r   ol_npy_log2_1pr    s    jME#Kr+   r   c                     [        X#S5        U R                  R                  [        5      nUR	                  U R                  / UR
                  Q70 5      nU R                  XB5      nU" X5      $ r   )r*   r   r   r  r  r   r  r  s         r   np_real_logaddexp2_implr    s_     A.!!44_ED


W33\sxx\2
FC*Dr+   c                 (  ^ Uu  pEUR                   m[        U4S jU 5       5      (       d   S5       eUR                  u  pgU R                  XU[        R
                  5      nU R                  XU[        R
                  5      nUR                  XE5      $ )Nc              3   @   >#    U  H  oR                   T:H  v   M     g 7fr   )rj   )r   r   lltypes     r   r   &np_int_truediv_impl.<locals>.<genexpr>  s     ,t!vvv~ts   zmust have homogeneous types)rj   r   r   r6   r   r8   r   )	r9   r:   r&   r   ry   rz   numtydentyr  s	           @r   np_int_truediv_implr    sx     HCXXF,t,,,K.KK,88LE
,,wUEMM
:C
,,wUEMM
:C<<  r+   c                     [        XX#5      n[        R                  " UR                  UR                  5      n[	        XXT45      $ r   )r   r   	signaturer   np_real_floor_impl)r9   r:   r&   r   r   ss         r   np_real_floor_div_implr    s7    
7S
7C#//:Ag6::r+   c                     [        XUR                  S   " UR                  6 U5      n[        XUR                  S   " UR                  6 U5      nU R	                  XR                  XE/5      $ r   )r  r   r   r   r   r   s         r   np_real_divmod_implr!    s\    
 3??13Esxx3PRV
WC
7S__Q-?-JD
QCg
CCr+   c           	         UR                   S   R                  n[        R                  " XD5      nU Vs/ s H   nU R	                  XR                   S   US9PM"     snu  pxUR
                  n	UR                  n
UR
                  nUR                  nU	R                  n[        XX4 Vs/ s H  oR                  U:H  PM     sn5      (       d   S5       e[        R                  R                  US5      nU R                  XR                  5      nUUl        [        XU5      n[        XU5      nUR                  SUU5      nUR!                  U5       u  nnU   UR#                  X5      nUR%                  U
U5      nUR%                  UU5      nUR'                  U	U5      nUR'                  UU5      nUR#                  UU5      n[)        XUU45      Ul        S S S 5        U   UR#                  X5      nUR%                  U	U5      nUR%                  UU5      nUR'                  U
U5      nUR'                  UU5      nUR#                  UU5      n[)        XUU45      Ul        S S S 5        S S S 5        UR+                  5       $ s  snf s  snf ! , (       d  f       N= f! , (       d  f       NA= f! , (       d  f       UR+                  5       $ = f)Nr   r   r   r   r   )r   underlying_floatr   r  rI   r   r   rj   r   r1   r2   r   r   r   r   r   ro   r   r   r   r  r   )r9   r:   r&   r   
float_kind	floor_sigr   r   r   r   r   r   r   r   r   r{   rV   r   r   r   r   r   r   r   r   r   r   r   s                               r   np_complex_floor_div_implr&    sl    !--J  8I  !C $$Whhqk$E!HC 88D88D88D88DIIED'?@'?!'?@AAUCUUA;;s+D


g
7CCHWt,HWt,H"//hI	-	.2C4,,t*C<<c*D<<c*D<<d+D<<d+D<<d+D)'IwOCH  ,,t*C<<c*D<<c*D<<d+D<<d+D<<d+D)'IwOCH  
/& ==?M! A T Y 
/	.& ==?sI   'I>'JJ*A?J
J*A?JJ*
J	J*
J'	#J**
Kc                 H    [        X#S5        [        R                  " XX#5      $ r   r*   r   complex_power_implr   s       r   np_complex_power_implr*         A.%%gBBr+   c                 H    [        X#S5        [        R                  " XX#5      $ r   )r*   r   real_power_implr   s       r   real_float_power_implr.    s     A.""7S??r+   c                 H    [        X#S5        [        R                  " XX#5      $ r   r(  r   s       r   np_complex_float_power_implr0  $  r+  r+   c                 H    [        X#S5        [        R                  " XX#5      $ r   )r*   r   gcd_implr   s       r   np_gcd_implr3  -       A.Ws99r+   c                     UR                   u  pEXEs=:X  a  UR                  :X  d   e   eUu  pgS nU R                  XX#5      n	[        XUR                  U	5      $ )Nc                 Z    U S:X  a  S$ [        X[        R                  " X5      -  -  5      $ )z'
Like gcd, heavily cribbed from Julia.
r   )absr  gcd)abs     r   lcmnp_lcm_impl.<locals>.lcm;  s*     Fq<AbffQl):$; <<r+   )r   r   compile_internalr   )
r9   r:   r&   r   xtyytyr   r   r;  r   s
             r   np_lcm_implr@  5  s[    xxHC((((((DA= 
"
"7
;CgEEr+   c                    [        X#S5        [        S:  a,  S nU R                  XX#5      n[        XUR                  U5      $ US   nUR
                  S   nU R                  X5      nUR                  n	U R                  U	S5      n
U R                  U	S5      nU R                  U	S5      nU R                  U	[        S5      5      nXl
        Xl        [        R                  " [        R                  /U/S	-  Q76 nXhR!                  5       /n[#        XX5      n[%        XX5      n['        XX5      nUR)                  UX5      nUR)                  UX5      nUR)                  UUU5      Ul
        UR!                  5       $ )
Nrc   )ra   r   c                 n    [         R                  " U R                  U R                  5      nUS:X  a  gX-  $ )Nr   y                )mathhypotr   r   )zr7  s     r   complex_sign*np_complex_sign_impl.<locals>.complex_signO  s+    **QVVQVV,Caxwr+   r   r   r         nanra   )r*   r   r=  r   r   r   rI   r#  ri   floatr   r   r   r  r   booleanr   np_complex_ge_implnp_complex_eq_implnp_complex_lt_implru   )r9   r:   r&   r   rF  r   opr   rB   float_tyr{   r   r|   NANcmp_sigcmp_argsarg1_ge_arg2arg1_eq_arg2arg1_lt_arg2real_when_gereal_when_nges                        r   np_complex_sign_implrY  H  s`    !A.	 &&wcH!'COOSII!WXXa[%%g2&&##Hc2##Hc2((48	""8U5\:""5==<B4!8<((*+)'GN)'GN)'GN~~lD>|YDnn\<O!!r+   c                 J    [        X#S5        [        R                  " USU5      $ )Nrc   z	llvm.rintr*   r   call_fp_intrinsicr   s       r   np_real_rint_implr]  u  !     A.%%g{DAAr+   c                 V   [        X#S5        UR                  S   nUR                  nU R                  XUS   S9nU R                  X5      n[        R
                  " U/S-  6 n[        XXR                  /5      Ul        [        XXR                  /5      Ul        UR                  5       $ )Nrc   r   r   ra   )
r*   r   r#  rI   r   r  r]  r   r   r   )	r9   r:   r&   r   r   rP  r   rV   	inner_sigs	            r   np_complex_rint_implra  {  s     !A.	!B""H


w$q'

:C


w
+C  8*Q,/I 9xxjICH 9xxjICH==?r+   c                 H    [        X#S5        [        R                  " XX#5      $ Nrc   )r*   r   exp_implr   s       r   np_real_exp_implre    r4  r+   c                 H    [        X#S5        [        R                  " XX#5      $ rc  )r*   r   rd  r   s       r   np_complex_exp_implrg         A.g::r+   c                     [        X#S5        US   R                  n[        R                  R	                  XD/5      n[
        R                  " UR                  USS9nUR                  XcS   /5      $ )Nrc   r   z	llvm.exp2r-   	r*   rj   r1   r2   r3   r
   r4   r/   r7   r9   r:   r&   r   ll_tyr>   r?   s          r   np_real_exp2_implrm    _     A.GLLE;;##E84D		%	%gnnd+6
8B<<!WI&&r+   c                 z   [        X#S5        UR                  S   nUR                  nU R                  XUS   S9nU R                  X5      nU R	                  U[
        5      nUR                  XR                  5      Ul        UR                  XR                  5      Ul        [        XX'R                  5       /5      $ Nrc   r   r   )r*   r   r#  rI   ri   
_NPY_LOGE2r   r   r   rg  r   )	r9   r:   r&   r   r   rP  r   r   loge2s	            r   np_complex_exp2_implrs    s     A.	!B""H


w$q'

:C


w
+C  :6E||E88,CH||E88,CHw}}6GHHr+   c                 H    [        X#S5        [        R                  " XX#5      $ rc  )r*   r   log_implr   s       r   np_real_log_implrv    r4  r+   c                 H    [        X#S5        [        R                  " XX#5      $ rc  )r*   r   ru  r   s       r   np_complex_log_implrx    rh  r+   c                     [        X#S5        US   R                  n[        R                  R	                  XD/5      n[
        R                  " UR                  USS9nUR                  XcS   /5      $ )Nrc   r   z	llvm.log2r-   rj  rk  s          r   np_real_log2_implrz    rn  r+   c                 T   [        X#S5        UR                  S   nUR                  n[        XX#5      nU R	                  XUS9nU R                  U[        5      nUR                  XvR                  5      Ul        UR                  XvR                  5      Ul	        UR                  5       $ rp  )r*   r   r#  rx  rI   ri   r  r   r   r   r   )r9   r:   r&   r   r   rP  r   log2es           r   np_complex_log2_implr}    s     A.	!B""H
g
:C


w#

6C  :6E||E88,CH||E88,CH==?r+   c                 H    [        X#S5        [        R                  " XX#5      $ rc  )r*   r   
log10_implr   s       r   np_real_log10_implr         A.w;;r+   c                 T   [        X#S5        UR                  S   nUR                  n[        XX#5      nU R	                  XUS9nU R                  U[        5      nUR                  XvR                  5      Ul        UR                  XvR                  5      Ul	        UR                  5       $ rp  )r*   r   r#  rx  rI   ri   _NPY_LOG10Er   r   r   r   )r9   r:   r&   r   r   rP  r   log10es           r   np_complex_log10_implr    s     A.	!B""H
g
:C


w#

6C!!(K8F||FHH-CH||FHH-CH==?r+   c                 H    [        X#S5        [        R                  " XX#5      $ rc  )r*   r   
expm1_implr   s       r   np_real_expm1_implr    r  r+   c                    [        X#S5        UR                  S   nUR                  n[        R                  " U/S-  6 nU R                  US5      nU R                  XUS   S9n[        XXhR                  /5      n	U R                  X5      n
[        XXhR                  /5      n[        XXhR                  /5      nUR                  X5      nUR                  X5      U
l
        UR                  X5      U
l        U
R                  5       $ )Nrc   r   ra   rH  r   )r*   r   r#  r   r  ri   rI   re  r   np_real_cos_implr   np_real_sin_implr   r   r   )r9   r:   r&   r   r   rP  float_unary_sigr|   r   r9  rV   cos_imagsin_imagr   s                 r   np_complex_expm1_implr    s     A.	!B""H&&
15O$$Xt4I


w$q'

:C?XXJGA


w
+C/HH:NH/HH:NH
,,q
#C||A(CH||C+CH==?r+   c                 H    [        X#S5        [        R                  " XX#5      $ rc  )r*   r   
log1p_implr   s       r   np_real_log1p_implr  	  r  r+   c                     [        X#S5        UR                  S   nUR                  n[        R                  " U/S-  6 n[        R                  " U/S-  6 nU R                  US5      nU R                  XUS   S9n	U R                  X5      n
UR                  U	R                  U5      n[        XUXR                  /5      n[        XUU	R                  U/5      U
l
        [        XXl/5      U
l        U
R                  5       $ )Nrc   r   ra      r   r   )r*   r   r#  r   r  ri   rI   r   r   np_real_hypot_implr   np_real_atan2_implrv  r   )r9   r:   r&   r   r   rP  r  float_binary_sigr   r   rV   real_plus_onels                r   np_complex_log1p_implr    s     A.	!B""H&&
15O''(A6


x
-C


w$q'

:C


w
+CLL3/M7-=)884	6A!'4D#&88]";=CH/3GCH==?r+   c                 H    [        X#S5        [        R                  " XX#5      $ rc  )r*   r   	sqrt_implr   s       r   np_real_sqrt_implr  &       A.g::r+   c                 H    [        X#S5        [        R                  " XX#5      $ rc  )r*   r   r  r   s       r   np_complex_sqrt_implr  +  s     A.w;;r+   c                 J    [        X#S5        UR                  US   US   5      $ Nrc   r   )r*   mulr   s       r   np_int_square_implr  3  s%     A.;;tAwQ((r+   c                 J    [        X#S5        UR                  US   US   5      $ r  )r*   r   r   s       r   np_real_square_implr  8  s%     A.<<Qa))r+   c                     [        X#S5        [        R                  " UR                  /S-  6 n[        R
                  " XUUS   US   /5      $ Nrc   r  r   )r*   r   r  r   r   complex_mul_impl)r9   r:   r&   r   
binary_sigs        r   np_complex_square_implr  <  sO     A.!!COO#4Q#67J##Gj&*1gtAw%79 9r+   c                 j   ^ [        X#S5        [        SS9S 5       mU4S jnU R                  XX#5      $ )Nrc   T)fastmathc                 n    U S:  a  [         R                  " U * S5      * $ [         R                  " U S5      $ )Nr   gUUUUUU?)r  powerr  s    r   cbrtnp_real_cbrt_impl.<locals>.cbrtK  s0    q5HHaR+++88Ay))r+   c                 j   > [         R                  " U 5      (       a  [         R                  $ T" U 5      $ r   )r  isnanrI  )r   r  s    r   _cbrt np_real_cbrt_impl.<locals>._cbrtR  s"    88A;;66MAwr+   )r*   r   r=  )r9   r:   r&   r   r  r  s        @r   np_real_cbrt_implr  F  s@     A. t$* %*
 ##GC>>r+   c                 L   [        X#S5        UR                  n[        R                  " U/S-  6 nU R	                  XS   U[
        R                  5      nU R                  [
        R                  S5      nUR                  Xv5      nU R	                  X[
        R                  U5      $ r  )	r*   r   r   r  r6   r   r8   ri   r   )	r9   r:   r&   r   r   r  in_as_floatr   result_as_floats	            r   np_int_reciprocal_implr  ]  s     !A.	B!!B46*J,,wQU]]CK


u}}a
0Cll34O<<%--DDr+   c                 z    [        X#S5        U R                  UR                  S5      nUR                  XCS   5      $ )Nrc   r   r   )r*   ri   r   r   )r9   r:   r&   r   r   s        r   np_real_reciprocal_implr  k  s5     A.


s
4C<<!W%%r+   c                 F   [        X#S5        UR                  S   nUR                  nU R                  US5      nU R                  US5      nU R	                  XUS   S9nU R	                  X5      n	UR
                  n
UR                  n[        XU
5      n[        XU5      nUR                  SX5      nUR                  U5       u  nnU   UR                  X5      nUR                  UU5      nUR                  U
U5      nUR                  UU5      nUR                  UU5      nUU	l        UR                  UU5      U	l        S S S 5        U   UR                  X5      nUR                  U
U5      nUR                  UU5      nUR                  UU5      nUR                  UU5      U	l        UR                  UU5      U	l        S S S 5        S S S 5        U	R                  5       $ ! , (       d  f       N= f! , (       d  f       N7= f! , (       d  f       U	R                  5       $ = f)Nrc   r   r   r   r   <=)r*   r   r#  ri   rI   r   r   r   r   ro   r   r   r   r   r   )r9   r:   r&   r   r   rP  r{   r   r   rV   r   r   in1r_absin1i_absin1i_abs_le_in1r_absr   r   rtmp0dinv_dminus_rs                         r   np_complex_reciprocal_implr  q  s    !A.	!B""H#.D


x
-C


w$q'

:C


w
+C88D88DWt,HWt,H"//hI	-	.2C4T(A<<a(DT4(ALLa(Ell4+GCH||GU3CH  T(A<<a(DT4(ALLa(E||Au-CH||D%0CH  
/" ==?! T Y 
/	." ==?s>   H	A8G!
HA6G2H!
G/	+H2
H 	<H
H c                 H    [        X#S5        [        R                  " XX#5      $ rc  )r*   r   sin_implr   s       r   r  r    r4  r+   c                 H    [        X#S5        [        R                  " XX#5      $ rc  )r*   r   r  r   s       r   np_complex_sin_implr    rh  r+   c                 H    [        X#S5        [        R                  " XX#5      $ rc  )r*   r   cos_implr   s       r   r  r    r4  r+   c                 H    [        X#S5        [        R                  " XX#5      $ rc  )r*   r   r  r   s       r   np_complex_cos_implr    rh  r+   c                 H    [        X#S5        [        R                  " XX#5      $ rc  )r*   r   tan_implr   s       r   np_real_tan_implr    r4  r+   c                 H    [        X#S5        [        R                  " XX#5      $ rc  )r*   r   	asin_implr   s       r   np_real_asin_implr    r  r+   c                 H    [        X#S5        [        R                  " XX#5      $ rc  )r*   r   	acos_implr   s       r   np_real_acos_implr    r  r+   c                 H    [        X#S5        [        R                  " XX#5      $ rc  )r*   r   	atan_implr   s       r   np_real_atan_implr    r  r+   c                 H    [        X#S5        [        R                  " XX#5      $ r   )r*   r   atan2_float_implr   s       r   r  r         A.$$WsAAr+   c                 H    [        X#S5        [        R                  " XX#5      $ r   )r*   r   hypot_float_implr   s       r   r  r    r  r+   c                 H    [        X#S5        [        R                  " XX#5      $ rc  )r*   r   	sinh_implr   s       r   np_real_sinh_implr    r  r+   c                    [        X#S5        UR                  S   nUR                  n[        R                  " U/S-  6 nU R                  XUS   5      nU R                  X5      nUR                  n	UR                  n
[        XXj/5      n[        XXi/5      n[        XXj/5      n[        XXi/5      nUR                  X5      Ul        UR                  X5      Ul        UR                  5       $ Nrc   r   ra   )r*   r   r#  r   r  rI   r   r   r  r  r  np_real_cosh_implr   r   )r9   r:   r&   r   r   ftyfsig1r   rV   xrxisxishxrcxichxrs                  r   np_complex_sinh_implr    s     !A. 
!B


CseAg&EW$q'2A


w
+C	
B	
B
7UD
9CWud;D
7UD
9CWud;D||C&CH||C&CH==?r+   c                 H    [        X#S5        [        R                  " XX#5      $ rc  )r*   r   	cosh_implr   s       r   r  r    r  r+   c                    [        X#S5        UR                  S   nUR                  n[        R                  " U/S-  6 nU R                  XUS   5      nU R                  X5      nUR                  n	UR                  n
[        XXj/5      n[        XXi/5      n[        XXj/5      n[        XXi/5      nUR                  X5      Ul        UR                  X5      Ul        UR                  5       $ r  )r*   r   r#  r   r  rI   r   r   r  r  r  r  r   r   )r9   r:   r&   r   r   r  r  r   rV   r  r  r  r  r  r  s                  r   np_complex_cosh_implr    s     !A.	!B


CseAg&EW$q'2A


w
+C	
B	
B
7UD
9CWud;D
7UD
9CWud;D||C&CH||C&CH==?r+   c                 H    [        X#S5        [        R                  " XX#5      $ rc  )r*   r   	tanh_implr   s       r   np_real_tanh_implr  &  r  r+   c                    [        X#S5        UR                  S   nUR                  n[        R                  " U/S-  6 nU R                  US5      nU R                  XUS   5      nU R                  X5      n	UR                  n
UR                  n[        XXk/5      n[        XXk/5      n[        XXj/5      n[        XXj/5      nUR                  X5      nUR                  X5      nUR                  X5      nUR                  X5      nUR                  UU5      nUR                  UU5      nUR                  UU5      nUR                  UU5      nUR                  UU5      nUR                  UU5      nUR                  UU5      nUR                  UU5      nUR                  UU5      nUR!                  UU5      nUR                  UU5      U	l        UR                  UU5      U	l        U	R#                  5       $ )Nrc   r   ra   r   )r*   r   r#  r   r  ri   rI   r   r   r  r  r  r  r   r   r   r   r   )r9   r:   r&   r   r   r  r  r   r   rV   r  r  sicishrchr_rsis_rcicsqr_rcsqr_icr  r  rs_rcis_icis_rcrs_icnumrnumis                                 r   np_complex_tanh_implr  +  s    !A.	!B


CseAg&E


sC
(CW$q'2A


w
+C	
B	
B	'E4	8B	'E4	8B
GeT
:CWud;D	b	B
,,r
 C	b	B	b	B\\"b!F\\"b!FVV$ALLa ELLR ELLb!ELLb!ELLR E<<u%D<<u%D||D%(CH||D%(CH==?r+   c                 H    [        X#S5        [        R                  " XX#5      $ rc  )r*   r   
asinh_implr   s       r   np_real_asinh_implr  T  r  r+   c                 H    [        X#S5        [        R                  " XX#5      $ rc  )r*   r   
acosh_implr   s       r   np_real_acosh_implr  \  r  r+   c                    [        X#S5        UR                  S   n[        R                  " U/S-  6 nU R	                  XS5      nUS   n[
        R                  " XXWU/5      n[
        R                  " XXWU/5      n	[        XX(/5      n
[        XX)/5      n[
        R                  " XUU
U/5      n[
        R                  " XXWU/5      n[        XX-/5      $ )Nrc   r   r  y      ?        )r*   r   r   r  get_constant_genericr   complex_add_implcomplex_sub_implr  r  rx  )r9   r:   r&   r   r   csig2r   r   
x_plus_onex_minus_onesqrt_x_plus_onesqrt_x_minus_one	prod_sqrtlog_args                 r   np_complex_acosh_implr  a  s     !A.	!Brd1f%E

&
&wJ
?CQA))'EEHDJ KJ**7UFIEK LK*7S,OO+Gc=Q((5+:+;+=>I &&wBKAM NG wi@@r+   c                 H    [        X#S5        [        R                  " XX#5      $ rc  )r*   r   
atanh_implr   s       r   np_real_atanh_implr    r  r+   c                 J    [        X#S5        [        R                  " USU5      $ )Nrc   z
llvm.floorr[  r   s       r   r  r    !     A.%%g|TBBr+   c                 J    [        X#S5        [        R                  " USU5      $ )Nrc   z	llvm.ceilr[  r   s       r   np_real_ceil_implr!    r^  r+   c                 J    [        X#S5        [        R                  " USU5      $ )Nrc   z
llvm.truncr[  r   s       r   np_real_trunc_implr#    r  r+   c                 J    [        X#S5        [        R                  " USU5      $ )Nrc   z	llvm.fabsr[  r   s       r   np_real_fabs_implr%    r^  r+   c           	         [        X#S[        R                  S9  UR                  S   nU Vs/ s H  oPR	                  XUS9PM     snu  pgUR
                  nUR                  n	UR
                  n
UR                  nUR                  SX5      nUR                  SX5      nUR                  SX5      nUR                  SX5      nUR                  X5      nUR                  X5      nUR                  UU5      $ s  snf )	Nra   r   r   r   rg   ordrd   r   
r*   r   rK  r   rI   r   r   r   rm   rn   )r9   r:   r&   r   r   r   r   r   r  r  yryixr_gt_yrno_nan_xi_yixr_eq_yrxi_ge_yi
first_termsecond_terms                     r   rL  rL         !A5==I	!BHLM$$W$<MHC	B	B	B	B##C0H''r6L##D"1H##D"1Hh5J,,x2K;;z;// N   C7c           	         [        X#S[        R                  S9  UR                  S   nU Vs/ s H  oPR	                  XUS9PM     snu  pgUR
                  nUR                  n	UR
                  n
UR                  nUR                  SX5      nUR                  SX5      nUR                  SX5      nUR                  SX5      nUR                  X5      nUR                  X5      nUR                  UU5      $ s  snf )	Nra   r'  r   r   r   r(  rd   r  r)  )r9   r:   r&   r   r   r   r   r   r  r  r*  r+  xr_lt_yrr-  r.  xi_le_yir0  r1  s                     r   np_complex_le_implr7    r2  r3  c           	         [        X#S[        R                  S9  UR                  S   nU Vs/ s H  oPR	                  XUS9PM     snu  pgUR
                  nUR                  n	UR
                  n
UR                  nUR                  SX5      nUR                  SX5      nUR                  SX5      nUR                  SX5      nUR                  X5      nUR                  X5      nUR                  UU5      $ s  snf )Nra   r'  r   r   rg   r(  rd   r)  )r9   r:   r&   r   r   r   r   r   r  r  r*  r+  r,  r-  r.  xi_gt_yir0  r1  s                     r   np_complex_gt_implr:         !A5==I	!BHLM$$W$<MHC	B	B	B	B##C0H''r6L##D"1H##C0Hh5J,,x2K;;z;// Nr3  c           	         [        X#S[        R                  S9  UR                  S   nU Vs/ s H  oPR	                  XUS9PM     snu  pgUR
                  nUR                  n	UR
                  n
UR                  nUR                  SX5      nUR                  SX5      nUR                  SX5      nUR                  SX5      nUR                  X5      nUR                  X5      nUR                  UU5      $ s  snf )Nra   r'  r   r   r   r(  rd   r)  )r9   r:   r&   r   r   r   r   r   r  r  r*  r+  r5  r-  r.  xi_lt_yir0  r1  s                     r   rN  rN    r;  r3  c           	      j   [        X#S[        R                  S9  UR                  S   nU Vs/ s H  oPR	                  XUS9PM     snu  pgUR
                  nUR                  n	UR
                  n
UR                  nUR                  SX5      nUR                  SX5      nUR                  X5      $ s  snf )Nra   r'  r   r   rd   )	r*   r   rK  r   rI   r   r   r   rm   )r9   r:   r&   r   r   r   r   r   r  r  r*  r+  r.  xi_eq_yis                 r   rM  rM    s     !A5==I	!BHLM$$W$<MHC	B	B	B	B##D"1H##D"1H<<++ N   B0c           	      j   [        X#S[        R                  S9  UR                  S   nU Vs/ s H  oPR	                  XUS9PM     snu  pgUR
                  nUR                  n	UR
                  n
UR                  nUR                  SX5      nUR                  SX5      nUR                  X5      $ s  snf )Nra   r'  r   r   rh   )	r*   r   rK  r   rI   r   r   fcmp_unorderedrn   )r9   r:   r&   r   r   r   r   r   r  r  r*  r+  xr_ne_yrxi_ne_yis                 r   np_complex_ne_implrE    s     !A5==I	!BHLM$$W$<MHC	B	B	B	B%%dB3H%%dB3H;;x** Nr@  c                     U R                  XUS9n[        R                  " XR                  5      n[        R                  " XR                  5      nUR                  XV5      $ )Nr   )rI   r
   is_truer   r   rn   )r9   r:   r   valcomplex_valre_trueim_trues          r   _complex_is_truerL  )  sN    &&w#&>Koog'7'78Goog'7'78G;;w((r+   c                     [        X#S[        R                  S9  [        R                  " XS   5      n[        R                  " XS   5      nUR                  XE5      $ Nra   r'  r   rc   )r*   r   rK  r
   rG  rm   r9   r:   r&   r   r9  r:  s         r   np_logical_and_implrP  0  sE     A5==Ia)Aa)A<<r+   c                     [        X#S[        R                  S9  [        XUR                  S   US   5      n[        XUR                  S   US   5      nUR                  XE5      $ rN  )r*   r   rK  rL  r   rm   rO  s         r   np_complex_logical_and_implrR  7  sU     A5==I388A;Q@A388A;Q@A<<r+   c                     [        X#S[        R                  S9  [        R                  " XS   5      n[        R                  " XS   5      nUR                  XE5      $ rN  )r*   r   rK  r
   rG  rn   rO  s         r   np_logical_or_implrT  >  E     A5==Ia)Aa)A;;qr+   c                     [        X#S[        R                  S9  [        XUR                  S   US   5      n[        XUR                  S   US   5      nUR                  XE5      $ rN  )r*   r   rK  rL  r   rn   rO  s         r   np_complex_logical_or_implrW  E  U     A5==I388A;Q@A388A;Q@A;;qr+   c                     [        X#S[        R                  S9  [        R                  " XS   5      n[        R                  " XS   5      nUR                  XE5      $ rN  )r*   r   rK  r
   rG  rt   rO  s         r   np_logical_xor_implrZ  L  rU  r+   c                     [        X#S[        R                  S9  [        XUR                  S   US   5      n[        XUR                  S   US   5      nUR                  XE5      $ rN  )r*   r   rK  rL  r   rt   rO  s         r   np_complex_logical_xor_implr\  S  rX  r+   c                 f    [        X#S[        R                  S9  [        R                  " XS   5      $ Nrc   r'  r   )r*   r   rK  r
   is_falser   s       r   np_logical_not_implr`  Z  s'     A5==IG!W--r+   c                     [        X#S[        R                  S9  [        XUR                  S   US   5      nUR                  U5      $ r^  )r*   r   rK  rL  r   not_)r9   r:   r&   r   r9  s        r   np_complex_logical_not_implrc  _  s:     A5==I388A;Q@A<<?r+   c                 j    [        X#S5        Uu  pEUR                  SXE5      nUR                  XdU5      $ Nra   r   r*   rs   ru   )r9   r:   r&   r   arg1arg2arg1_sge_arg2s          r   np_int_smax_implrj  n  6     A.JD''d9M>>-t44r+   c                 j    [        X#S5        Uu  pEUR                  SXE5      nUR                  XdU5      $ re  r*   rl   ru   )r9   r:   r&   r   rg  rh  arg1_uge_arg2s          r   np_int_umax_implro  u  6     A.JD))$;M>>-t44r+   c                     [        X#S5        Uu  pEUR                  SXD5      nUR                  SXE5      nUR                  XdU5      nUR                  SXE5      n	UR                  XU5      n
UR                  XxU
5      $ Nra   unor   r*   rB  ru   r   )r9   r:   r&   r   rg  rh  arg1_nanany_nan
nan_resultrT  non_nan_results              r   np_real_maximum_implry  |  z     A.JD%%eT8H$$UD7G5J''d9L^^L=N>>'~>>r+   c                     [        X#S5        Uu  pEUR                  SXU5      nUR                  SXE5      nUR                  XdU5      nUR                  SXE5      n	UR                  XU5      n
UR                  XxU
5      $ rr  rt  )r9   r:   r&   r   rg  rh  arg2_nanrv  rw  rT  rx  s              r   np_real_fmax_implr}    rz  r+   c                    [        X#S5        UR                  S   n[        R                  " [        R
                  U5      n[        R                  " [        R
                  /U/S-  Q76 nUu  px[        XXW/5      n	[        XXX/5      n
UR                  X5      nUR                  XU5      n[        XXc5      nUR                  XU5      nUR                  XU5      $ Nra   r   
r*   r   r   r  r   rK  np_complex_isnan_implrn   ru   rL  r9   r:   r&   r   r   bc_sigbcc_sigrg  rh  ru  r|  rv  rw  rT  rx  s                  r   np_complex_maximum_implr         !A.	!BemmR0Fu}}6tAv6GJD$WvvFH$WvvFHkk(-G5J%gFL^^L=N>>'~>>r+   c                    [        X#S5        UR                  S   n[        R                  " [        R
                  U5      n[        R                  " [        R
                  /U/S-  Q76 nUu  px[        XXW/5      n	[        XXX/5      n
UR                  X5      nUR                  XU5      n[        XXc5      nUR                  XU5      nUR                  XU5      $ r  r  r  s                  r   np_complex_fmax_implr        
 !A.	!BemmR0Fu}}6tAv6GJD$WvvFH$WvvFHkk(-G5J%gFL^^L=N>>'~>>r+   c                 j    [        X#S5        Uu  pEUR                  SXE5      nUR                  XdU5      $ Nra   r  rf  )r9   r:   r&   r   rg  rh  arg1_sle_arg2s          r   np_int_smin_implr    rk  r+   c                 j    [        X#S5        Uu  pEUR                  SXE5      nUR                  XdU5      $ r  rm  )r9   r:   r&   r   rg  rh  arg1_ule_arg2s          r   np_int_umin_implr    rp  r+   c                     [        X#S5        Uu  pEUR                  SXD5      nUR                  SXE5      nUR                  XdU5      nUR                  SXE5      n	UR                  XU5      n
UR                  XxU
5      $ Nra   rs  r  rt  r9   r:   r&   r   rg  rh  ru  rv  rw  arg1_le_arg2rx  s              r   np_real_minimum_implr    rz  r+   c                     [        X#S5        Uu  pEUR                  SXD5      nUR                  SXE5      nUR                  XeU5      nUR                  SXE5      n	UR                  XU5      n
UR                  XxU
5      $ r  rt  r  s              r   np_real_fmin_implr    rz  r+   c                    [        X#S5        UR                  S   n[        R                  " [        R
                  U5      n[        R                  " [        R
                  /U/S-  Q76 nUu  px[        XXW/5      n	[        XXX/5      n
UR                  X5      nUR                  XU5      n[        XXc5      nUR                  XU5      nUR                  XU5      $ r  
r*   r   r   r  r   rK  r  rn   ru   r7  r9   r:   r&   r   r   r  r  rg  rh  ru  r|  rv  rw  r  rx  s                  r   np_complex_minimum_implr    r  r+   c                    [        X#S5        UR                  S   n[        R                  " [        R
                  U5      n[        R                  " [        R
                  /U/S-  Q76 nUu  px[        XXW/5      n	[        XXX/5      n
UR                  X5      nUR                  XU5      n[        XXc5      nUR                  XU5      nUR                  XU5      $ r  r  r  s                  r   np_complex_fmin_implr    r  r+   c                 T    [        X#S[        R                  S9  [        R                  $ Nrc   r'  r*   r   rK  r
   	false_bitr   s       r   np_int_isnan_implr         A5==Ir+   c                 f    [        X#S[        R                  S9  [        R                  " XS   5      $ r^  )r*   r   rK  r   is_nanr   s       r   np_real_isnan_implr  $  %     A5==I??7G,,r+   c                     [        X#S[        R                  S9  Uu  nUR                  u  nU R	                  XUS9n[
        R                  " X5      $ Nrc   r'  r   )r*   r   rK  r   rI   r   r  r9   r:   r&   r   r   r   rI  s          r   r  r  )  sJ     A5==I	BA
((CB&&w!&<KG11r+   c                 T    [        X#S[        R                  S9  [        R                  $ r  )r*   r   rK  r
   true_bitr   s       r   np_int_isfinite_implr  2  s     A5==Ir+   c                 |    [        X#S[        R                  S9  UR                  SUS   [        R
                  5      $ )Nrc   r'  rh   r   )r*   r   rK  rl   r   NATr   s       r   np_datetime_isfinite_implr  7  s/     A5==I  tAw
??r+   c                 |    [        X#S[        R                  S9  UR                  SUS   [        R
                  5      $ )Nrc   r'  rd   r   )r*   r   rK  rs   r   r  r   s       r   np_datetime_isnat_implr  <  s/     A5==ItT!Wjnn==r+   c                 f    [        X#S[        R                  S9  [        R                  " XS   5      $ r^  )r*   r   rK  r   	is_finiter   s       r   np_real_isfinite_implr  A  s'     A5==IgAw//r+   c                     [        X#S[        R                  S9  Uu  nUR                  u  nU R	                  XUS9n[
        R                  " X5      $ r  )r*   r   rK  r   rI   r   r  r  s          r   np_complex_isfinite_implr  F  sJ     A5==I	BA
((CB&&w!&<Kw44r+   c                 T    [        X#S[        R                  S9  [        R                  $ r  r  r   s       r   np_int_isinf_implr  N  r  r+   c                 f    [        X#S[        R                  S9  [        R                  " XS   5      $ r^  )r*   r   rK  r   is_infr   s       r   np_real_isinf_implr  S  r  r+   c                     [        X#S[        R                  S9  Uu  nUR                  u  nU R	                  XUS9n[
        R                  " X5      $ r  )r*   r   rK  r   rI   r   r  r  s          r   np_complex_isinf_implr  X  sJ     A5==I	BA
((CB&&w!&<KG11r+   c           	      Z   [        X#S[        R                  S9  [        R                  U R	                  [        R
                  S5      [        R                  U R	                  [        R                  S5      [        R                  U R	                  [        R                  S5      0nUR                  S   n[        [        SUR                   35      nU R                  U5      nUR                  UR                  US   U5      XE   5      nUR!                  SXR#                  S5      5      n	U	$ )	Nrc   r'  i   l        l            r   uintrh   )r*   r   rK  float16ri   uint16float32uint32r8   uint64r   getattrbitwidthrM   rm   bitcastrl   rj   )
r9   r:   r&   r   masksarg_ty
arg_int_tyarg_ll_int_tyint_resbool_ress
             r   np_real_signbit_implr  `  s     A5==I 	w++ELL&Aw++ELL*Ew++ELL:LME
 XXa[F$v&7 89J**:6Mll7??47MB =*G$$T7LLODHOr+   c                 H    [        X#S5        [        R                  " XX#5      $ r   )r*   r   copysign_float_implr   s       r   np_real_copysign_implr  r  s     A.''#DDr+   c                 z    [        X#S5        [        R                  S[        R                  S0n[	        XX#US5      $ )Nra   numba_nextafterfnumba_nextafter	nextafter)r*   r   r  r8   r_   )r9   r:   r&   r   dispatch_tables        r   np_real_nextafter_implr  w  sC     A. 	)(N
 'w'5{D Dr+   c                    [        X#S5        [        R                  S[        R                  S0nUR                  u  n[
        R                  " UR                  XU5      nUS   R                  nU" [        R                  5      n[        R                  R                  XwU/5      n	[        R                  " UR                   U	SS9n
UR#                  XUS   /5      nX;/-   n[%        XUXS5      nUR'                  XS   5      $ )Nrc   r  r  r   zllvm.copysignr-   r  )r*   r   r  r8   r   r   r  r   rj   r  infr1   r2   r3   r
   r4   r/   r7   r_   r   )r9   r:   r&   r   r  r   r`  rl  ll_infr>   r?   ll_sinf
inner_argsr  s                 r   np_real_spacing_implr    s     !A. 	)(N
 88DR  "9IGLLE266]F;;##E5>:D		%	%gnnd+:
<Bll2Q01G
"J+Gi,6,79I <<	7++r+   c                     Uu  pEUR                   u  pgU R                  XU[        R                  5      n[        R
                  " Xf[        R                  5      n[        R                  " XXU45      $ r   )r   r6   r   intcr   r  r   
ldexp_impl)	r9   r:   r&   r   r   r   ty1ty2f_fi_sigs	            r   np_real_ldexp_implr    s[     FBxxHC 
g3

	3B%**5Hw8DDr+   r   )__doc__rC  llvmlite.irr1   numpyr  numba.core.extendingr   numba.core.imputilsr   
numba.corer   r   r   r	   r
   r   r   numba.npr   numba.np.mathr   r   r   numba.np.numpy_supportr   r  r  rq  r*   USE_LEGACY_TYPE_SYSTEMr8   cast_arg_ty
np_float64rC   r_   r   r   r   r   r   r   np_int_fmod_implr   r   r   r   r   r   r   r  expr  r  r	  r  exp2r  r  r  r!  r&  r*  r.  r0  r3  r@  rY  r]  ra  re  rg  rm  rs  rv  rx  rz  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r#  r%  rL  r7  r:  rN  rM  rE  rL  rP  rR  rT  rW  rZ  r\  r`  rc  rj  ro  ry  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r+   r   <module>r     s9      ) 2 G G 1  6 6 0
 5
44
& 
  --K""K 0;I .|"J8D.*D $ (&
=GZ	2	 NJ"&& A		 
+i( ) OS+rww ?!$;D0lC@C:F&'"ZB&:
;'	I:
;'
 <

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