
    >h}                     6    S SK rSS jrSS jrS rS rSS jrg)	    Nc                     Uc  [        U 5      n[        R                  R                  X5      U-  n[        R                  UR
                  USS R                  4   $ )z2
RFFT with order like Munro (1976) FORTT routine.
   )lennpfftrfftr_realimag)Xmys      uC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\statsmodels/nonparametric/kdetools.pyforrtr      sK     	yF
AAA551R%&&    c                     Uc  [        U 5      n[        US-  S-   5      nU SU [        R                  SXS S4   S-  -   n[        R                  R                  U5      U-  $ )z=
Inverse of forrt. Equivalent to Munro (1976) REVRT routine.
N   r   r   y              ?)r   intr   r
   r   irfft)r   r   ir   s       r   revrtr      sb     	yFAFQJA	"1a2k"R''A66<<?1r   c                 ,   [         R                  " US-  S-   5      nS[         R                  U -  U-  S-  -  nUS-  U-  nSSUS-  U-  [         R                  -  S-  -  -
  n[         R                  " U* 5      U-  n[         R                  XwSS 4   nU$ )zl
FFT of Gaussian kernel following to Silverman AS 176.

Notes
-----
Underflow is intentional as a dampener.
r   r   gUUUUUU?g      ?r   )r   arangepiexpr
   )	bwMRANGEJFAC1JFACBCFACkern_ests	            r   silverman_transformr&      s     			!A#a%AbeeBhunq  Da49D	
Vq2vax~))	)B
&&$-
CuuSa)^$HOr   c           	      "   [         R                  " X5      n [         R                  " U[        U5      S9$ !   [         R                  " U5      n[         R                  U[         R
                  " [        U5      [        U5      -
  5      4   s $ = f)zv
Counts the number of elements of x that fall within the grid points v

Notes
-----
Using np.digitize and np.bincount
)	minlength)r   digitizebincountr   r
   zeros)xvidxbcs       r   countsr0   '   sk     ++a
C5{{3#a&115[[uuR#a&3r7"23344s
   6 ABc           	          [         R                  " [        [        U 5      5       Vs/ s H  n[         R                  " X   U -
  U5      PM!     sn5      $ s  snf N)r   asarrayranger   sum)r,   axisr   s      r   kdesumr7   6   s<    ::uSV}E}!rvvadQh-}EFFEs   &Ar2   )r   )numpyr   r   r   r&   r0   r7    r   r   <module>r:      s"    ' 5Gr   