
    i                        S SK JrJrJrJrJrJrJrJrJ	r	J
r
  S SKJr  S SKJrJrJr  / SQr\" SS9S 5       r\" SS9S 5       r\" SS9S	 5       r\" SS9\4S
 j5       r\" SS9\4S j5       r\" SS9SS j5       r\" SS9\4S j5       rg)    )
appendarray
empty_likefinfofloat64int64isnannanroll
zeros_like)njit)ArrayIntIntFloat)nb_ffillnb_idiffnb_nonzero_range	nb_prenan
nb_prepend
nb_rollingnb_shiftT)cachec                     [        U 5      n[        U[        S9nSnUR                  n[	        U5       H  nX   (       d  UnX2U'   M     X   $ )Ndtype)r	   r   r   sizerange)xmaskidxlast_valid_idxmis         Q/var/www/html/trading/venv/lib/python3.13/site-packages/pandas_ta/utils/_numba.pyr   r      sM    8D
T
'CN		A1XwNA  6M    c                     U R                   [        U5      p[        U [        S9n[	        X5       H  nX   XU-
     -
  X4'   M     [
        US U& U$ )Nr   )r   intr   r   r   r
   )r   knresultr$   s        r%   r   r   .   sN    663q6q)F1[D1U8O	 F2AJMr&   c                 n    X-
  nUR                  5       S:X  a  U[        [        5      R                  -  nU$ Nr   )anyr   r   eps)r   ydiffs      r%   r   r   <   s/    5DxxzQg"""Kr&   c                 $    US:  a	  X S US-
  & U $ U $ )Nr       r   r*   values      r%   r   r   E   s     1u&1q5	Hr&   c                 4    [        [        U/U-  5      U 5      $ N)r   r   r5   s      r%   r   r   N   s    %!$a((r&   Nc                     Uc  U $ U R                   n[        U [        S9nUS::  a  U$ [        SU5       H  nU" XX-    5      XE'   M     [	        XAS-
  5      n[
        US US-
  & U$ )Nr   r   r3   )r   r   floatr   r   r
   )r   r*   fnr#   r+   r$   s         r%   r   r   Y   sp    	z	A'FAv1a[q15zN	 &a% FF6AENMr&   c                 t    [        U 5      nUS:  a  X#S U& U S U*  X1S & U$ US:  a  X#US & X* S  US U& U$ XS S & U$ r-   )r   )r   r*   r6   r+   s       r%   r   r   l   sk    ]F1ur
sVr
 M 
Qqr
rsVr
 M q	Mr&   r8   )numpyr   r   r   r   r   r   r	   r
   r   r   numbar   pandas_ta._typingr   r   r   __all__r   r   r   r   r   r   r   r4   r&   r%   <module>rA      s       2 2 D
 
 D  D  D   D  ) ) D $ D 
 
r&   