
    ͑igc                       S SK Jr  S SKrS SKrS SKJr  S SKrS SKr\(       a  S SKJ	r	  S SK
Jr  SSKJr  S SKJrJrJrJr   " S	 S
5      r\" 5       r\R+                  5       S+S j5       r\R+                  5       S,S-S jj5       r\R+                  5        S,         S.S jj5       r\R+                  5       S,S-S jj5       r\R+                  5       S/S j5       r\R+                  5       S0S j5       r\R+                  5       S1S j5       r\R+                  5       S2S j5       r\R+                  5        S,       S-S jj5       r\R+                  5        S,         S3S jj5       r\R+                  5        S,         S4S jj5       r \R+                  5        S5       S-S jj5       r!\R+                  5       S,S-S jj5       r"\R+                  5       S,S-S jj5       r#\R+                  5        S6       S-S jj5       r$\R+                  5        S,         S7S jj5       r%\R+                  5        S8       S-S jj5       r&\R+                  5       S,S-S jj5       r'\R+                  5       S,S-S jj5       r(\R+                  5       S,S-S jj5       r)\R+                  5       S,S-S jj5       r*  S,         S9S  jjr+SSS!S!S".           S:S# jjr,   S;S$SSS!S!S%.                 S<S& jjjr- S=S$SSS!S!S%.             S>S' jjjr.  S?S$SSS!S!S%.               S@S( jjjr/ S=S$SSS!S!S%.             S>S) jjjr0 S=S$SSS!S!S%.             S>S* jjjr1g)A    )annotationsN)TYPE_CHECKING)Tensor)	PlaceLike   )_WindowLiteral)_current_expected_place_get_paddle_placecorein_dynamic_or_pir_modec                  *    \ rS rSrS rSS jrS rSrg)WindowFunctionRegister%   c                    0 U l         g N_functions_dict)selfs    ^/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/paddle/audio/functional/window.py__init__WindowFunctionRegister.__init__&   s
    !    Nc                   ^  U 4S jnU$ )Nc                >   > U R                   nU TR                  U'   U $ r   )__name__r   )funcnamer   s     r   add_subfunction8WindowFunctionRegister.register.<locals>.add_subfunction*   s!    ==D)-D  &Kr    )r   r   r   s   `  r   registerWindowFunctionRegister.register)   s    	
 r   c                     U R                   U   $ r   r   )r   r   s     r   getWindowFunctionRegister.get1   s    ##D))r   r   r   )r   
__module____qualname____firstlineno__r   r!   r$   __static_attributes__r    r   r   r   r   %   s    "*r   r   c                @   / nU  H  n[         R                  " U5      (       a>  [        U[        5      (       d)  UR	                  [
        R                  " U/U5      5        M\  UR	                  [
        R                  " X15      5        M     [
        R                  " U5      $ r   )npisscalar
isinstancestrappendpaddle	to_tensorconcat)x	data_typelts       r   _catr7   8   sm    
A;;q>>*Q"4"4HHV%%qc956HHV%%a34	 
 ==r   c                ^   [        U 5      (       a  [        R                  " U 4US9$ [        X5      u  p[        R                  " SXS9n[        R
                  " XS9n [        R                  " [        R                  " X@S-
  S-  5      SU-  U S-
  -  SSU-  U S-
  -  -
  5      n[        XS5      $ )za
Computes the Bartlett window.
This function is consistent with scipy.signal.windows.bartlett().
dtyper             @)	_len_guardsr0   ones_extendaranger1   where
less_equal	_truncateMsymr:   needs_truncnws         r   	_bartlettrJ   C   s     1~~{{A4u--Q_NAa(A(A!!es]+a1q5cAgQ	A Q$$r   c                   [        U 5      (       a  [        R                  " U 4US9$ [        X5      u  p[        R                  " XS9n[        R
                  " SXS9n[        R                  " XS9n U S-
  S-  n[        R                  " U[        R                  " SXV-
  U-  S-  -
  5      -  5      [        R                  " U5      -  n[        Xt5      $ )z[Compute the Kaiser window.
This function is consistent with scipy.signal.windows.kaiser().
r9   r   r;   r<   )	r=   r0   r>   r?   r1   r@   i0sqrtrC   )rE   betarF   r:   rG   rH   alpharI   s           r   _kaiserrP   X   s     1~~{{A4u--Q_NAD.Da(A(AUcME		v{{1e 3;;<<			$	A Q$$r   c                D    [         R                  " / SQUS9n[        XXS9$ )zQNuttall window.
This function is consistent with scipy.signal.windows.nuttall().
)gzD?g;%N?g1|?gC ˅?r9   )arF   r:   )r0   r1   _general_cosine)rE   rF   r:   rR   s       r   _nuttallrT   o   s(    
 	4E	A 1s88r   c                   [        U [        5      (       a3  [        R                  " U [        R                  " U S-  S-
  5      -   5      $ [
        R                  " U [
        R                  " [
        R                  " U 5      S-
  5      -   5      $ )Nr   r;   )r-   floatmathlogrM   r0   square)r3   s    r   _acoshrZ   z   s_    !UxxDIIadQh//00::a&++fmmA&6&:;;<<r   c                &    U(       d  U S-   S4$ U S4$ )z:Extend window by 1 sample if needed for DFT-even symmetry.r;   TFr    )rE   rF   s     r   r?   r?      s     1ud{%xr   c                L    [        U 5      U :w  d  U S:  a  [        S5      eU S:*  $ )z)Handle small or incorrect window lengths.r   z.Window length M must be a non-negative integerr;   )int
ValueError)rE   s    r   r=   r=      s*     1v{a!eIJJ6Mr   c                    U(       a  U SS $ U $ )z<Truncate window by 1 sample if needed for DFT-even symmetry.Nr    )rI   neededs     r   rC   rC      s     "vr   c                $   [        U 5      (       a  [        R                  " U 4US9$ [        X5      u  p[        R                  " SXS9U S-
  S-  -
  n[        R
                  " S[        R                  " Xb-  5      SU-  -  -  5      n[        Xu5      $ )z~Compute a window with a generalized Gaussian shape.
This function is consistent with scipy.signal.windows.general_gaussian().
r9   r         ?r<   g      r   )r=   r0   r>   r?   r@   expabsrC   )rE   psigrF   r:   rG   rH   rI   s           r   _general_gaussianrh      sz     1~~{{A4u--Q_NAa(AGs?:A

4&**QW-!a%889AQ$$r   c                   [        U 5      (       a  [        R                  " U 4US9$ [        X5      u  p[        R                  " [
        R                  * [
        R                  XS9n[        R                  " U 4US9n[        [        U5      5       H#  nXaU   [        R                  " Xu-  5      -  -  nM%     [        Xd5      $ )zCompute a generic weighted sum of cosine terms window.
This function is consistent with scipy.signal.windows.general_cosine().
r9   )r=   r0   r>   r?   linspacerW   pizerosrangelencosrC   )rE   rR   rF   r:   rG   facrI   ks           r   rS   rS      s     1~~{{A4u--Q_NA
//477(DGGQ
<CaT'A3q6]	qTFJJqw''' Q$$r   c                     [        XSU-
  /X#S9$ )znCompute a generalized Hamming window.
This function is consistent with scipy.signal.windows.general_hamming()
rc   r9   rS   )rE   rO   rF   r:   s       r   _general_hammingrt      s     1cEk2CEEr   c           	     N  ^ ^^ [        T 5      (       a  [        R                  " T 4US9$ [        T U5      u  m nSUS-  -  n[	        U5      [
        R                  -  nUS-  US-  US-
  S-  -   -  n	[        R                  " SXS9m[        R                  " US-
  4US9m[        R                  " T5      n
SU
SSS2'   SU
SSS2'   TT-  n[        [        T5      5       H  nX   [        R                  " SX   U	-  US-  TS-
  S-  -   -  -
  5      -  nUS	:X  a'  S[        R                  " SX   XS-   S -  -
  5      -  nOU[        T5      S-
  :X  a%  S[        R                  " SX   USU -  -
  5      -  nOHS[        R                  " SX   USU -  -
  5      -  [        R                  " SX   XS-   S -  -
  5      -  nX-  TU'   M     UU U4S
 jnU" [        R                  " S	T US95      nU(       a  SU" T S-
  S-  5      -  nUU-  nUR                  5       n[        UU5      $ )zCompute a Taylor window.
The Taylor window taper function approximates the Dolph-Chebyshev window's
constant sidelobe level for a parameterized number of near-in sidelobes.
r9   
      r         ?r;   Nr`   r   c                   > SS[         R                  " TR                  S5      [         R                  " S[        R
                  -  TR                  S5      -  U TS-  -
  S-   -  T-  5      5      -  -   $ )Nr;   r   r   r<   rx   )r0   matmul	unsqueezero   rW   rk   )rH   FmrE   mas    r   W_taylor.<locals>.W   se    1v}}LLOJJq477{R\\!_4AGc8IJQNO
 
 
 	
r   rc   )r=   r0   r>   r?   rZ   rW   rk   r@   empty
empty_likerm   rn   prodsqueezerC   )rE   nbarsllnormrF   r:   rG   BAs2signsm2minumberdenomr~   rI   scaler|   r}   s   `                 @@r   _taylorr      s8    1~~{{A4u--Q_NA{ 	sRxAq	DGGA	qAqDD3J1,,	-B	q$	,B	taxk	/Bb!EE#A#JE!$Q$K	bBCGnV[[q!trCxAo566
 
 7AFH(=$=>>E3r7Q;ACR(8$899E ++a"&2cr7"2234++a"&21fh<"7789  2 "
 	
&--1E
*+A aQ!n$	U
			AQ$$r   c                    [        U SXS9$ )zCompute a Hamming window.
The Hamming window is a taper formed by using a raised cosine with
non-zero endpoints, optimized to minimize the nearest side lobe.
HzG?r9   rt   rE   rF   r:   s      r   _hammingr     s     AtS66r   c                    [        U SXS9$ )z}Compute a Hann window.
The Hann window is a taper formed by using a raised cosine or sine-squared
with ends that touch zero.
rx   r9   r   r   s      r   _hannr   
  s     AsC55r   c           	        [        U 5      (       a  [        R                  " U 4US9$ US::  a  [        R                  " U 4US9$ US:  a	  [        XS9$ [	        X5      u  p[        R
                  " SXS9n[        XS-
  -  S-  5      nUSUS-    nXVS-   X-
  S-
   nXPU-
  S-
  S n	SS[        R                  " [        R                  S	SU-  U-  U S-
  -  -   -  5      -   -  n
[        R                  " UR                  US9nSS[        R                  " [        R                  S
U-  S-   SU	-  U-  U S-
  -  -   -  5      -   -  n[        R                  " XU/5      n[        X5      $ )zSCompute a Tukey window.
The Tukey window is also known as a tapered cosine window.
r9   r   rc   )rF   r;   r<   Nrx   r`   g       )r=   r0   r>   r   r?   r@   r]   ro   rW   rk   shaper2   rC   )rE   rO   rF   r:   rG   rH   widthn1n2n3w1w2w3rI   s                 r   _tukeyr     se    1~~{{A4u--z{{A4u--	#Q  Q_NAa(AQ#%&E	
1uqy	B	
19qy1}	%B	
u9q=?	B	FJJtww"sRx%/?1q5/I*IJKK	LB	RXXU	+B		
**TWWuq 038e3Cq1u3M MN
O	P
B 	rrl#AQ$$r   c                   [        U 5      (       a  [        R                  " U 4US9$ [        X5      u  p[        R                  " SXS9U S-
  S-  -
  nSU-  U-  n[        R
                  " US-  * U-  5      n[        Xt5      $ )zlCompute a Gaussian window.
The Gaussian widows has a Gaussian shape defined by the standard deviation(std).
r9   r   rc   r<   r   )r=   r0   r>   r?   r@   rd   rC   )rE   stdrF   r:   rG   rH   sig2rI   s           r   	_gaussianr   5  sx     1~~{{A4u--Q_NAa(AGs?:As7S=D

QT7T>"AQ$$r   c                H   U(       a  Ub  [        S5      e[        U 5      (       a  [        R                  " U 4US9$ [	        X5      u  pUc  U S-
  S-  n[        R
                  " SXS9n[        R                  " [        R                  " Xa-
  5      * U-  5      n[        Xu5      $ )z+Compute an exponential (or Poisson) window.z"If sym==True, center must be None.r9   r;   r   r   )	r^   r=   r0   r>   r?   r@   rd   re   rC   )rE   centertaurF   r:   rG   rH   rI   s           r   _exponentialr   G  s    
 v!=>>1~~{{A4u--Q_NA~a%1a(A

FJJqz**S01AQ$$r   c                p   [        U 5      (       a  [        R                  " U 4US9$ [        X5      u  p[        R                  " SU S-   S-  S-   US9nU S-  S:X  a)  SU-  S-
  U -  n[        R
                  " XUSSS2   /5      nO(SU-  U S-   -  n[        R
                  " XUSSS2   /5      n[        XS5      $ )	zCompute a triangular window.r9   r;   r   r   rc   Nr`   )r=   r0   r>   r?   r@   r2   rC   rD   s         r   _triangr   [  s     1~~{{A4u--Q_NAa!a%A)7A1uzUS[AMM1"g,'EQWMM1Bi.)Q$$r   c           	        [        U 5      (       a  [        R                  " U 4US9$ [        X5      u  p[        R                  " [        R
                  " SSXS9SS 5      nSU-
  [        R                  " [        R                  U-  5      -  S[        R                  -  [        R                  " [        R                  U-  5      -  -   n[        SUS/U5      n[        XS5      $ )zVCompute a Bohman window.
The Bohman window is the autocorrelation of a cosine window.
r9   r`   r;   rc   r   )r=   r0   r>   r?   re   rj   ro   rW   rk   sinr7   rC   )rE   rF   r:   rG   rp   rI   s         r   _bohmanr   m  s    
 1~~{{A4u--Q_NA
**V__RA;AbA
BC	
SFJJtww}--dgg

#A 1 	A 	aAYAQ$$r   c                    [        U / SQXS9$ )zCompute a Blackman window.
The Blackman window is a taper formed by using the first three terms of
a summation of cosines. It was designed to have close to the minimal
leakage possible.  It is close to optimal, only slightly worse than a
Kaiser window.
)gzG?rx   g{Gz?r9   rs   r   s      r   	_blackmanr     s     10#CCr   c           	         [        U 5      (       a  [        R                  " U 4US9$ [        X5      u  p[        R                  " [
        R                  U -  [        R                  " SXS9S-   -  5      n[        XC5      $ )z,Compute a window with a simple cosine shape.r9   r   rx   )	r=   r0   r>   r?   r   rW   rk   r@   rC   )rE   rF   r:   rG   rI   s        r   _cosiner     sa     1~~{{A4u--Q_NA

477Q;&--1"BS"HIJAQ$$r   c                   U(       + nSn[        U [        5      (       a  U S   n[        U 5      S:  a  U SS nOF[        U [        5      (       a  U S;   a  [	        SU -   S-   5      eU nO[	        [        U 5       S35      e [        R                  S	U-   5      nU/UQ7n	SU0n
U" U	SU0U
D6$ ! [         a  n[	        S
5      UeSnAff = f)a  Return a window of a given length and type.

Args:
    window (Union[str, Tuple[str, float]]): The window function applied to the signal before the Fourier transform. Supported window functions: 'hamming', 'hann', 'gaussian', 'general_gaussian', 'exponential', 'triang', 'bohman', 'blackman', 'cosine', 'tukey', 'taylor', 'bartlett', 'kaiser', 'nuttall'.
    win_length (int): Number of samples.
    fftbins (bool, optional): If True, create a "periodic" window. Otherwise, create a "symmetric" window, for use in filter design. Defaults to True.
    dtype (str, optional): The data type of the return window. Defaults to 'float64'.

Returns:
    Tensor: The window represented as a tensor.

Examples:
    .. code-block:: python

        >>> import paddle

        >>> n_fft = 512
        >>> cosine_window = paddle.audio.functional.get_window('cosine', n_fft)

        >>> std = 7
        >>> gaussian_window = paddle.audio.functional.get_window(('gaussian', std), n_fft)
r    r   r;   N)gaussianexponentialkaiserzThe 'z6' window needs one or more parameters -- pass a tuple.z! as window type is not supported._zUnknown window type.rF   r:   )	r-   tuplern   r.   r^   typewindow_function_registerr$   KeyError)window
win_lengthfftbinsr:   rF   argswinstrwinfunceparamskwargss              r   
get_windowr     s    8 +CD&%  v;?!":D	FC	 	 ::&  $3 3 
 FDL>)JKLL8*..sV|<  4 FS\FF2%2622	  8/0a78s    B, ,
C6CCFlayoutdevice
pin_memoryrequires_gradc                  Ub  [         R                  " S5        [        5       (       GaN  Ub  [        U5      O	[	        5       nU(       Ga.  [
        R                  " 5       (       Ga  UGb  [        U[        R                  [        R                  45      (       d  [        U[        R                  5      (       d4  [        U[        R                  5      (       a+  UR                  5       (       a  [        R                  " 5       nOw[        U[        R                  5      (       d4  [        U[        R                  5      (       a+  UR                  5       (       a  [        R                  " 5       nO[!        SU 35      eU R#                  US9n U(       a*  [
        R                  " 5       (       a  U R%                  5       n USL a  SU l        U $ )Nz1layout only supports 'strided' in Paddle; ignoredz$Pinning memory is not supported for )r   TF)warningswarnr   r
   r	   r0   in_dynamic_moder-   r   CUDAPinnedPlaceXPUPinnedPlace	CUDAPlacePlaceis_gpu_placeXPUPlaceis_xpu_placeRuntimeErrortor   stop_gradient)rI   r   r   r   r   s        r   _apply_window_postprocessr     sQ    IJ ! f%(* 	 &&(("--t/B/BC  &$..1164::..63F3F3H3H--/FDMM2264::..63F3F3H3H,,.":6(C  	
FAf,,..LLNHr   float32)r:   r   r   r   r   c               ^    [        SXUS9n	Su  pX;-  nX,U
-  -
  nXU	-  -   n[        UUUUUS9$ )u  
Compute a generalized Hamming window.

Args:
    window_length (int): The size of the returned window. Must be positive.
    periodic (bool, optional): If True, returns a window for use as a periodic function; if False, returns a symmetric window. Defaults to True.
    alpha (float, optional): The coefficient α in the equation above. Defaults to 0.54.
    beta (float, optional): The coefficient β in the equation above. Defaults to 0.46.
    dtype (str, optional): The data type of the returned tensor. Defaults to 'float32'.
    layout (str, optional): Only included for API consistency with PyTorch; ignored in Paddle. Defaults to None.
    device(PlaceLike|None, optional): The desired device of returned tensor.
        if None, uses the current device for the default tensor type (see paddle.device.set_device()).
        device will be the CPU for CPU tensor types and the current CUDA device for CUDA tensor types. Default: None.
    pin_memory(bool, optional): If set, return tensor would be allocated in the pinned memory. Works only for CPU tensors. Default: False
    requires_grad(bool, optional):  If autograd should record operations on the returned tensor. Default: False.

Returns:
    Tensor: A 1-D tensor of shape `(window_length,)` containing the Hamming window.

Examples:
    .. code-block:: python

        >>> import paddle

        >>> win = paddle.hamming_window(400, requires_grad=True)
        >>> win = paddle.hamming_window(256, alpha=0.5, beta=0.5)
hammingr   r:   )r   q=
ףp?r   r   r   )window_lengthperiodicrO   rN   r:   r   r   r   r   w0alpha0beta0r   r   rI   s                  r   hamming_windowr     sT    N 
I}e	LBMFAF
A	F
A$	# r   c               2    [        SXUS9n[        UUUUUS9$ )a  
Compute a Hann window.

Args:
    window_length (int): The size of the returned window. Must be positive.
    periodic (bool, optional): If True, returns a window for use as a periodic function; if False, returns a symmetric window. Defaults to True.
    dtype (str, optional): The data type of the returned tensor. Defaults to 'float32'.
    layout (str, optional): Only included for API consistency with PyTorch; ignored in Paddle. Defaults to None.
    device(PlaceLike|None, optional): The desired device of returned tensor.
        if None, uses the current device for the default tensor type (see paddle.device.set_device()).
        device will be the CPU for CPU tensor types and the current CUDA device for CUDA tensor types. Default: None.
    pin_memory(bool, optional): If set, return tensor would be allocated in the pinned memory. Works only for CPU tensors. Default: False
    requires_grad(bool, optional):  If autograd should record operations on the returned tensor. Default: False.

Returns:
    Tensor: A 1-D tensor of shape `(window_length,)` containing the Hann window.

Examples:
    .. code-block:: python

        >>> import paddle

        >>> win = paddle.hann_window(512)
        >>> win = paddle.hann_window(512, requires_grad=True)
hannr   r   r   r   r   r:   r   r   r   r   rI   s           r   hann_windowr   -  s/    F 	6=%HA$	# r   c               6    [        SU4XUS9n[        UUUUUS9$ )aO  
Compute a Kaiser window.

Args:
    window_length (int): The size of the returned window. Must be positive.
    periodic (bool, optional): If True, returns a window for use as a periodic function; if False, returns a symmetric window. Defaults to True.
    beta (float, optional): Shape parameter for the window. Defaults to 12.0.
    dtype (str, optional): The data type of the returned tensor. Defaults to 'float32'.
    layout (str, optional): Only included for API consistency with PyTorch; ignored in Paddle. Defaults to None.
    device(PlaceLike|None, optional): The desired device of returned tensor.
        if None, uses the current device for the default tensor type (see paddle.device.set_device()).
        device will be the CPU for CPU tensor types and the current CUDA device for CUDA tensor types. Default: None.
    pin_memory(bool, optional): If set, return tensor would be allocated in the pinned memory. Works only for CPU tensors. Default: False
    requires_grad(bool, optional):  If autograd should record operations on the returned tensor. Default: False.

Returns:
    Tensor: A 1-D tensor of shape `(window_length,)` containing the Kaiser window.

Examples:
    .. code-block:: python

        >>> import paddle

        >>> win = paddle.kaiser_window(400, beta=8.6)
        >>> win = paddle.kaiser_window(400, requires_grad=True)
r   r   r   r   )	r   r   rN   r:   r   r   r   r   rI   s	            r   kaiser_windowr   Z  s9    J 		4-	A %	# r   c               2    [        SXUS9n[        UUUUUS9$ )a  
Compute a Blackman window.

Args:
    window_length (int): The size of the returned window. Must be positive.
    periodic (bool, optional): If True, returns a window for use as a periodic function; if False, returns a symmetric window. Defaults to True.
    dtype (str, optional): The data type of the returned tensor. Defaults to 'float32'.
    layout (str, optional): Only included for API consistency with PyTorch; ignored in Paddle. Defaults to None.
    device(PlaceLike|None, optional): The desired device of returned tensor.
        if None, uses the current device for the default tensor type (see paddle.device.set_device()).
        device will be the CPU for CPU tensor types and the current CUDA device for CUDA tensor types. Default: None.
    pin_memory(bool, optional): If set, return tensor would be allocated in the pinned memory. Works only for CPU tensors. Default: False
    requires_grad(bool, optional):  If autograd should record operations on the returned tensor. Default: False.

Returns:
    Tensor: A 1-D tensor of shape `(window_length,)` containing the Blackman window.

Examples:
    .. code-block:: python

        >>> import paddle

        >>> win = paddle.blackman_window(256)
        >>> win = paddle.blackman_window(256, requires_grad=True)
blackmanr   r   r   r   s           r   blackman_windowr     s/    F 	:}eLA$	# r   c               2    [        SXUS9n[        UUUUUS9$ )a  
Compute a Bartlett window.

Args:
    window_length (int): The size of the returned window. Must be positive.
    periodic (bool, optional): If True, returns a window for use as a periodic function; if False, returns a symmetric window. Defaults to True.
    dtype (str, optional): The data type of the returned tensor. Defaults to 'float32'.
    layout (str, optional): Only included for API consistency with PyTorch; ignored in Paddle. Defaults to None.
    device(PlaceLike|None, optional): The desired device of returned tensor.
        if None, uses the current device for the default tensor type (see paddle.device.set_device()).
        device will be the CPU for CPU tensor types and the current CUDA device for CUDA tensor types. Default: None.
    pin_memory(bool, optional): If set, return tensor would be allocated in the pinned memory. Works only for CPU tensors. Default: False
    requires_grad(bool, optional):  If autograd should record operations on the returned tensor. Default: False.

Returns:
    Tensor: A 1-D tensor of shape `(window_length,)` containing the Bartlett window.

Examples:
    .. code-block:: python

        >>> import paddle

        >>> n_fft = 512
        >>> win = paddle.bartlett_window(n_fft)

        >>> win = paddle.bartlett_window(n_fft, requires_grad=True)
bartlettr   r   r   r   s           r   bartlett_windowr     s/    J 	:}eLA$	# r   )r3   zlist[Tensor]r4   r.   returnr   )Tfloat64)rE   r]   rF   boolr:   r.   r   r   )
rE   r]   rN   rV   rF   r   r:   r.   r   r   )r3   zTensor | floatr   r   )rE   r]   rF   r   r   r   )rE   r]   r   r   )rI   r   ra   r   r   r   )
rE   r]   rR   zlist[float]rF   r   r:   r.   r   r   )
rE   r]   rO   rV   rF   r   r:   r.   r   r   )      TTr   )rx   Tr   )
rE   r]   r   rV   rF   r   r:   r.   r   r   )Nrc   Tr   )
r   z-_WindowLiteral | tuple[_WindowLiteral, float]r   r]   r   r   r:   r.   r   r   )rI   r   r   
str | Noner   PlaceLike | Noner   r   r   r   r   r   )Tr   r   )r   r]   r   r   rO   rV   rN   rV   r:   r.   r   r   r   r   r   r   r   r   )T)r   r]   r   r   r:   r.   r   r   r   r   r   r   r   r   )Tg      (@)r   r]   r   r   rN   rV   r:   r.   r   r   r   r   r   r   r   r   )2
__future__r   rW   r   typingr   numpyr+   r0   r   paddle._typingr   features.layersr   paddle.base.frameworkr	   r
   r   r   r   r   r!   r7   rJ   rP   rT   rZ   r?   r=   rC   rh   rS   rt   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r   r   <module>r      s   #      (0 * *  23  ""$ % ""$% %%( ""$8A%
%%"%25%% %%, ""$9 %9 ""$= %= ""$ % ""$ % ""$ % ""$3<%
%%-0%% %%  ""$;D%
%%!%%58%% %%  ""$9BF
FF#F36FF %F ""$FO5%
5%,05%@C5%5% %5%p ""$7 %7 ""$6 %6 ""$6?%
% %03%% %%B ""$7@%
%%!%14%% %%" ""$AJ%
%'+%;>%% %%& ""$% %%" ""$% %%" ""$D %D ""$% %% 	3393333 33 	33
 33r #** * 	*
 * * *^ 	2 #222 2 	2 2 2 2 2 2n * #*** 	*
 * * * *^ .
 #... .
 . . . . .f * #*** 	*
 * * * *^ , #,,, 	,
 , , , ,r   