+
    /i                        ^ RI t ^ RIt^ RIt^ RIHt ^ RIt^ RIHt ^ RIH	t	 ^ RI
HtHtHt ^ RIHtHt ^ RIHtHtHtHtHtHtHtHtHtHtHtHt ]P<                  P>                  t]P<                  P@                  t ].t!. ER0Ot"]! ]PF                  4       ! R R	4      4       t$]! ]PJ                  4       ! R
 R4      4       t&]! ]PN                  4       ! R R4      4       t(]! ]PR                  4       ! R R4      4       t*]! ]PV                  4       ! R R4      4       t,]! ]PZ                  4       ! R R4      4       t.]! ]P^                  4       ! R R4      4       t0. RNRNRNRNRNRNRNRNRNRNR NR!NR"NR#NR$NR%NR&NR'NR(NR)NR*NR+NR,NR-NR.NR/NR0NR/NR.NR-NR,NR+NR*NR)NR(NR'NR&NR%NR$NR#NR"NR!NR NRNRNRNRNRNRNRNRNRNRNt1. R1NR2NR3NR4NR5NR6NR7NR8NR9NR:NR;NR<NR=NR>NR?NR@NRANRBNRCNRDNRENRFNRGNRHNRINRJNR0NR0NRJNRINRHNRGNRFNRENRDNRCNRBNRANR@NR?NR>NR=NR<NR;NR:NR9NR8NR7NR6NR5NR4NR3NR2NR1Nt2]! ]Pf                  4       ! RK RL4      4       t4ER1]! . ER2O4      ER3]! . ER4O4      ER5]! . ER6O4      ER7]! . ER8O4      ER9]! . ER2O4      ER:RER;]! . ER6O4      ER<RER=]! . ER>O4      ER?]! . ER@O4      ERARERBR/t5]! ]Pl                  4      RM 4       t7]! ]Pp                  4       ! RN RO4      4       t9]! ]Pt                  4       ! RP RQ4      4       t;]! ]Px                  4       ! RR RS4      4       t=]! ]P|                  4       ! RT RU4      4       t?]! ]P                  4       ! RV RW4      4       tA]! ]P                  4       ! RX RY4      4       tC]! ]P                  4       ! RZ R[4      4       tE]! ]P                  4       ! R\ R]4      4       tG ! R^ R_4      tH]! ]P                  4       ! R` Ra4      4       tJ]! ]P                  4       ! Rb Rc4      4       tL/ ERC]! . ERDO4      bERE]! . ERFO4      bERG]! . ERHO4      bERI]! . ERJO4      bERK]! . ERLO4      bERM]! . ERNO4      bERO]! . ERPO4      bERQ]! . ERRO4      bERS]! . ERTO4      bERU. ERVObERW. ERXObERY. ERZObER[. ER\ObER]. ER^ObER_. ER`ObERa. ERbObERc. ERdObERe. ERfOERg. ERhO/CtM]! ]P                  4       ! Rd Re4      4       tOERi. ERjO. ERkO.RfRg.3ERl. ERmO. ERnO. ERoO.. ERpO3ERq. ERrO. ERsO. ERtO. ERuO. ERvO.. ERwO3ERx. RhNRiNRjNRkNRlNRmNRnNRoNRpNRqNRrNRsNRtNRuNRvNRwNRxNRyNRzNR{NR|NR}NR~NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR~NR}NR|NR{NRzNRyNRxNRwNRvNRuNRtNRsNRrNRqNRpNRoNRnNRmNRlNRkNRjNRiNRhN. RNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNERyNERzNER{NER|NER}NER~NERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERN. RNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRN. RNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNER NERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNER NERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNER
NER	NERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERNERN.. ERO3/tP]! ]P                  4       ! ER! ER"4      4       tR]! ]P                  4       ! ER# ER$4      4       tT]! ]P                  4       ! ER% ER&4      4       tU]! ER'ER(ER)7      ]P<                  P                  ER*]" U Uu. uF  w  r]! ]W! ]V 4      W4      NK  	  upp 4      ER+ 4       4       tX]! ]4      ER, 4       tY. EROtZ]P<                  P                  ER-]Z Uu. uF  p]! ]V,          ^ ,          V4      NK  	  up4      ]! ]4      ER. 4       4       t[]! ]P                  4      ER/ 4       t\R# u upp i u upi (      N)array)raises)fft)windows
get_windowresample)_WIN_FUNC_DATA
_WIN_FUNCS)xp_assert_closexp_assert_equalarray_namespaceis_torchis_jaxis_cupyassert_array_almost_equalSCIPY_DEVICEis_numpymake_xp_test_casemake_xp_pytest_param_xp_copy_to_numpyc                   &   a  ] tR t^2t o R tRtV tR# )TestBartHannc                   \        \        P                  ! ^RVR7      VP                  . R	OVP                  R7      RRR7       \        \        P                  ! ^VR7      VP                  . R
OVP                  R7      RRR7       \        \        P                  ! ^RVR7      VP                  . ROVP                  R7      RRR7       R# )   TsymxpdtypeV瞯<rtolatolr   FN)r   gA,q?	5xB$?r%   gA,q?r   )r   HzG?\(\?      ?r'   r&   r   )r   r&   r'   r(   r'   r&   )r   r   barthannasarrayfloat64selfr   s   &&]/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/signal/tests/test_windows.py
test_basicTestBartHann.test_basic5   s    ((<

 $DKM:: # W"	0 	((r2

#F)+ # 5"	0 	((Eb9

#C2::
V"	0     N__name__
__module____qualname____firstlineno__r/   __static_attributes____classdictcell____classdict__s   @r.   r   r   2   s     0 0r1   r   c                   &   a  ] tR t^Ct o R tRtV tR# )TestBartlettc                   \        \        P                  ! ^VR7      VP                  . ROVP                  R7      4       \        \        P                  ! ^VR7      VP                  . ROVP                  R7      4       \        \        P                  ! ^RVR7      VP                  . ROVP                  R7      4       R# )r   r$   r   FN)r   皙?皙?r@   r?   r   )r   UUUUUU?UUUUUU?r(   rB   rA   r   )r   rA   rB   r(   rB   rA   )r   r   bartlettr*   r+   r,   s   &&r.   r/   TestBartlett.test_basicF   s    ((r2

#=RZZ
P	R((r2

#B"**
U	W((Eb9

#?rzz
R	Tr1   r2   Nr3   r:   s   @r.   r=   r=   C   s     T Tr1   r=   c                   &   a  ] tR t^Ot o R tRtV tR# )TestBlackmanc                   \        \        P                  ! ^RVR7      VP                  . R
OVP                  R7      RR7       \        \        P                  ! ^RVR7      VP                  . ROVP                  R7      RR7       \        \        P                  ! ^VR7      VP                  . ROVP                  R7      RR7       \        \        P                  ! ^RVR7      VP                  . ROVP                  R7      RR7       R	# )r   Fr   r   +=r#   :0yE>r$   TN)r   p=
ף?)\(?r(   rL   rK   )r   Fi'?b@c?Zgs?rO   rN   rM   )r   쳩ֲ?,,?rQ   rP   r   )r   rK   rL   r(   rL   rK   r   )r   r   blackmanr*   r+   r,   s   &&r.   r/   TestBlackman.test_basicR   s    (("=

#C2::
V"	$ 	(("=

 $M +-** # 6 "	# 	((r2

 $O*,** # 6 #		$
 	((DR8

#F jj # *05	7r1   r2   Nr3   r:   s   @r.   rF   rF   O   s     7 7r1   rF   c                   &   a  ] tR t^ft o R tRtV tR# )TestBlackmanHarrisc                   \        \        P                  ! ^RVR7      VP                  . ROVP                  R7      4       \        \        P                  ! ^RVR7      VP                  . ROVP                  R7      4       \        \        P                  ! ^VR7      VP                  . R	OVP                  R7      4       \        \        P                  ! ^RVR7      VP                  . R
OVP                  R7      4       R# )r   Fr$   r   r   TN)iUMu?0_^}?縯猨?r(   rY   rX   )rW   gjP?g'm$M?gu?gu?g*m$M?gjP?)rW   ^?gU׈g?gU׈g?rZ   rW   )rW   rX   rY   r(   rY   rX   rW   )r   r   blackmanharrisr*   r+   r,   s   &&r.   r/   TestBlackmanHarris.test_basici   s    ..q%B?

 $=DFJJ # P	Q 	..qeC

 $M +-** # 6	7
 	..qR8

 $U*,** # 6	7 	..qdrB

 $7>@jj # J	Kr1   r2   Nr3   r:   s   @r.   rU   rU   f   s     K Kr1   rU   c                   2   a  ] tR t^{t o R tR tR tRtV tR# )
TestTaylorc           	        \        \        P                  ! ^^^VR7      VP                  R.VP                  R7      4       \        \        P                  ! ^^^VR7      VP                  . ROVP                  R7      4       \        \        P                  ! ^^^VR7      VP                  . ROVP                  R7      4       R# )zTests windows of small length that are normalized to 1. See the
documentation for the Taylor window for more information on
normalization.
r$   r(   r   N)%6'HA?)T
?r(   ra   r`   )δX?繡1E?PD3m?rd   rc   rb   r   r   taylorr*   r+   r,   s   &&r.   test_normalizedTestTaylor.test_normalized~   s    
 	q!RB7

C5


;	=NN1a+JJLZZ  )	

 	NN1a+JJ  ZZ  !	
r1   c           
        \        \        P                  ! ^^^RVR7      VP                  . ROVP                  R7      4       \        \        P                  ! ^^^RVR7      VP                  . ROVP                  R7      4       R# )zTest windows of small length that are not normalized to 1. See
the documentation for the Taylor window for more information on
normalization.
Fnormr   r   N)	P ?sCp?g)8ux?rm   rl   ))S~?r(   kt#?ro   r(   rn   re   r,   s   &&r.   test_non_normalizedTestTaylor.test_non_normalized   sx    
 	NN1a%B7JJ ZZ  !	
 	NN1a%B7JJ ZZ  !	
r1   c           	        RpRp\         P                  ! V^^#RRVR7      p\        \        V4      V4      p^\        P
                  ! \        P                  ! V\        P                  ! V4      ,          4      4      ,          p\        P                  ! \        P                  ! V4      ^ 8  4      p\        P                  ! WgV)  4      p^\        P                  ! VR
8*  4      ,          V,          V,          p	^\        P                  ! VR8*  4      ,          V,          V,          p
\        P                  ! VR^R7      '       g   Q h\        P                  ! V	RRR7      '       g   Q h\        P                  ! V
RRR7      '       g   Q hR	# )a  This test ensures the correctness of the implemented Taylor
Windowing function. A Taylor Window of 1024 points is created, its FFT
is taken, and the Peak Sidelobe Level (PSLL) and 3dB and 18dB bandwidth
are found and checked.

A publication from Sandia National Laboratories was used as reference
for the correctness values [1]_.

References
-----
.. [1] Armin Doerry, "Catalog of Window Taper Functions for
       Sidelobe Control", 2017.
       https://www.researchgate.net/profile/Armin_Doerry/publication/316281181_Catalog_of_Window_Taper_Functions_for_Sidelobe_Control/links/58f92cb2a6fdccb121c9d54d/Catalog-of-Window-Taper-Functions-for-Sidelobe-Control.pdf
i   i   F)nbarsllrk   r   r   )abs_tolgLJ?皙?gZӼ@NgX$g_2gAfA)r   rf   r   r   nplog10absmaxargmaxdiffmathisclose)r-   r   M_winN_fftwf_npspec
first_zeroPSLLBW_3dBBW_18dBs   &&         r.   test_correctnessTestTaylor.test_correctness   s$     NN5qbu%BO$Q'/BHHRVVD266$<$7899YYrwwt}q01
vvdzk23299T%8899EAEIBIId&99::UBUJ||D(A6666||FFC8888||GVS9999r1   r2   N)	r4   r5   r6   r7   rg   rp   r   r8   r9   r:   s   @r.   r^   r^   {   s     
(
$": ":r1   r^   c                   &   a  ] tR t^t o R tRtV tR# )
TestBohmanc                   \        \        P                  ! ^VR7      VP                  . ROVP                  R7      4       \        \        P                  ! ^RVR7      VP                  . ROVP                  R7      4       \        \        P                  ! ^RVR7      VP                  . R	OVP                  R7      4       R# )
r   r$   r   Tr   FN)r   g$I ?6 D?r   g I ?r   )r   PG?4}|?r(   6}|?r   r   )r   r   r   r(   r   r   )r   r   bohmanr*   r+   r,   s   &&r.   r/   TestBohman.test_basic   s    qR0

 $O*,** # 6	7 	qdr:

 $O*,** # 6	7 	q%B7

 $L*,** # 6	7r1   r2   Nr3   r:   s   @r.   r   r      s     7 7r1   r   c                   &   a  ] tR t^t o R tRtV tR# )
TestBoxcarc                   \        \        P                  ! ^VR7      VP                  . ROVP                  R7      4       \        \        P                  ! ^VR7      VP                  . ROVP                  R7      4       \        \        P                  ! ^RVR7      VP                  . ROVP                  R7      4       R# )r   r$   r   FNr(      r   r   r   r   r(   r   r   r   r   r   r   )r   r   boxcarr*   r+   r,   s   &&r.   r/   TestBoxcar.test_basic   s    qR0

#7rzz
J	LqR0

#:"**
M	Oq%B7

#7rzz
J	Lr1   r2   Nr3   r:   s   @r.   r   r      s     L Lr1   r   gCV?gCԳ ?gQ&E?g:*?g;Bu?g9#?g=[?gZ
G?gٵݒ?gLg?g(+ ?gT=?g zR&5?gscH?gu?g]/M`?gxC8?g??g9?gmo?g[?gT:?gsK!q?g/M.?g×?g)s?r(   g?2?gw.v?gf*#?g`?gd${!?g?gM?gut\?gLjh?gxak?gWY?gqj?g<)[?g@ի?gMEs?g/?g{l?g[^6?g:Ug$?g: U\?gI.!v?gClp?ggF?g$p?gVLy?g.?c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	TestChebWini
  c                8   \         P                  ! 4       ;_uu_ 4        \         P                  ! R R\        4       \	        \
        P                  ! ^^dVR7      VP                  . ROVP                  R7      RR7       \	        \
        P                  ! ^^dVR7      VP                  . R	OVP                  R7      4       \	        \
        P                  ! ^^
VR7      VP                  . R
OVP                  R7      4       \	        \
        P                  ! ^^
VR7      VP                  . ROVP                  R7      4       \	        \
        P                  ! ^^
RVR7      VP                  . ROVP                  R7      4       RRR4       R#   + '       g   i     R# ; i)ignoreThis window is not suitabler$   r   rJ   rI   FN)}	ɺ?L >?r(   r(   r   r   )S?D1mPC?%5R?r(   r   r   r   )r(   TEm?	-o?r   r   r(   )r(   F3?NO?	r]?r   r   r(   )r(   r   r   r   r   r   )	warningscatch_warningsfilterwarningsUserWarningr   r   chebwinr*   r+   r,   s   &&r.   r/   TestChebWin.test_basic  sV   $$&&##7FGOOAsr:JJ (P /1jj ' : "& GOOAsr:JJ (P /1jj ' :;
 GOOArb9JJ (U.0jj ' :; GOOArb9JJ (AHJ

 ' TU GOOAr5R@JJ (<CE:: ' OP/ '&&&s   E FF	c                $   \         P                  ! 4       ;_uu_ 4        \         P                  ! R R\        4       \        P
                  ! ^5RVR7      pRRR4       \        XVP                  \        4      ^R7       R#   + '       g   i     L3; i)r   r   atr   Ndecimal)	r   r   r   r   r   r   r   r*   cheb_odd_true)r-   r   cheb_odds   && r.   test_cheb_odd_high_attenuation*TestChebWin.test_cheb_odd_high_attenuation*  s_    $$&&##7Frcb9H ' 	"(BJJ},EqQ	 '&   6A??B	c                $   \         P                  ! 4       ;_uu_ 4        \         P                  ! R R\        4       \        P
                  ! ^6^(VR7      pRRR4       \        XVP                  \        4      ^R7       R#   + '       g   i     L3; i)r   r   r   Nr   )	r   r   r   r   r   r   r   r*   cheb_even_true)r-   r   	cheb_evens   && r.   test_cheb_even_high_attenuation+TestChebWin.test_cheb_even_high_attenuation1  s`    $$&&##7Frb9I ' 	")RZZ-GQRS	 '&r   c                <   VP                  . ROVP                  R7      p\        P                  ! 4       ;_uu_ 4        \        P                  ! RR\
        4       \        P                  ! ^^
VR7      pRRR4       \        XV^R7       R#   + '       g   i     L ; i)r(   r   r   r   r   Nr   )r(   m?燿&k?gc[?r   r   r(   	r*   r+   r   r   r   r   r   r   r   )r-   r   cheb_odd_low_at_truer   s   &&  r.   test_cheb_odd_low_attenuation)TestChebWin.test_cheb_odd_low_attenuation8  sz    !zz +5<>JJ  *  H $$&&##7FqRB7H ' 	"(,@!L	 '&   6BB	c                <   VP                  . ROVP                  R7      p\        P                  ! 4       ;_uu_ 4        \        P                  ! RR\
        4       \        P                  ! ^RVR7      pRRR4       \        XV^R7       R#   + '       g   i     L ; i)	r(   r   r   r   r   Nr   )r(   R?N(D!T?#R?r   r   r   r(   ir   )r-   r   cheb_even_low_at_truer   s   &&  r.   test_cheb_even_low_attenuation*TestChebWin.test_cheb_even_low_attenuationB  s{     "

 ,@GIzz !+ !S $$&&##7Fcb9I ' 	")-BAN	 '&r   r2   N)r4   r5   r6   r7   r/   r   r   r   r   r8   r9   r:   s   @r.   r   r   
  s)     P:RTMO Or1   r   c                     \         P                  4        F_  w  rVf%   \        \        \        P
                  .VO5RV /  K-  \        P
                  ! VRV / p\        W0P                  V4      RR7       Ka  	  R # )Nr   rH   r"   )exponential_dataitemsassert_raises
ValueErrorr   exponentialr   r*   )r   kvwins   &   r.   test_exponentialr   j  s]     &&(9*g&9&9EAE"E%%q0R0CCAU; )r1   c                   &   a  ] tR tRt o R tRtV tR# )TestFlatTopit  c                   \        \        P                  ! ^RVR7      VP                  . ROVP                  R7      4       \        \        P                  ! ^RVR7      VP                  . ROVP                  R7      4       \        \        P                  ! ^VR7      VP                  . R	OVP                  R7      4       \        \        P                  ! ^RVR7      VP                  . R
OVP                  R7      4       R# )r   Fr   r   r$   TN)bF;s*?dR	p^?r(   r   r   )r   `p|ܢ?J?r   r   r   )r   <#U_&k?r   r   r   )r   r   r   r(   r   r   r   )r   r   flattopr*   r+   r,   s   &&r.   r/   TestFlatTop.test_basicw  s    u<

 $?FHjj # R	S 	u<

 $: BD # M	N
 	b1

 $G +-** # 6	7
 	4B7

 $M+-:: # 7	8r1   r2   Nr3   r:   s   @r.   r   r   t  s     8 8r1   r   c                   &   a  ] tR tRt o R tRtV tR# )TestGaussiani  c           	        \        \        P                  ! ^RVR7      VP                  . ROVP                  R7      4       \        \        P                  ! ^RVR7      VP                  . ROVP                  R7      4       \        \        P                  ! ^^VR7      VP                  . R	OVP                  R7      4       \        \        P                  ! ^^RVR7      VP                  . R
OVP                  R7      4       R# )r   r(   r$   r   g333333?FN)|~?w$?"$j=?r   r   r   )r   
"?;eܜ?r(   r   r   r   )
oh??yLE?r(   r   r   r   )r   r   r   r(   r   r   )r   r   gaussianr*   r+   r,   s   &&r.   r/   TestGaussian.test_basic  s    ((CB7

 $M +-** # 6	7
 	((CB7

 $M +-** # 6	7
 	((A"5

 $L +-** # 6	7
 	((Au<

 $8?Azz # K	Lr1   r2   Nr3   r:   s   @r.   r   r     s     L Lr1   r   c                   &   a  ] tR tRt o R tRtV tR# )TestGeneralCosinei  c                N   VP                  . RO4      p\        \        P                  ! ^V4      VP                  . ROVP                  R7      4       VP                  . RO4      p\        \        P                  ! ^VRR7      VP                  . ROVP                  R7      4       R# )      ?r   F)r   Nr   333333?皙?)r?   r   r   r   r?   r?   r   r   r   )r*   r   r   general_cosiner+   )r-   r   as   && r.   r/   TestGeneralCosine.test_basic  s|    JJ'..q!4

#:"**
M	O JJ'..q!?

#5RZZ
H	Jr1   r2   Nr3   r:   s   @r.   r   r     s     J Jr1   r   c                   &   a  ] tR tRt o R tRtV tR# )TestGeneralHammingi  c           	        \        \        P                  ! ^RVR7      VP                  . R	OVP                  R7      4       \        \        P                  ! ^RRVR7      VP                  . R
OVP                  R7      4       \        \        P                  ! ^RRVR7      VP                  . ROVP                  R7      4       R# )   ffffff?r$   r         ?Fr   TNr?   r  r(   r  r?   )r   y&"?x?r  r  )r   r  r  r  r  r   )r   r   general_hammingr*   r+   r,   s   &&r.   r/   TestGeneralHamming.test_basic  s    //32>

#<BJJ
O	Q//4UrJ

 $@GIzz # S	T 	//4TbI

 $ELNJJ # X	Yr1   r2   Nr3   r:   s   @r.   r   r     s     Y Yr1   r   c                   &   a  ] tR tRt o R tRtV tR# )TestHammingi  c                   \        \        P                  ! ^RVR7      VP                  . ROVP                  R7      4       \        \        P                  ! ^RVR7      VP                  . ROVP                  R7      4       \        \        P                  ! ^VR7      VP                  . R	OVP                  R7      4       \        \        P                  ! ^RVR7      VP                  . R
OVP                  R7      4       R# )r   Fr$   r   r   TN){Gz?ףp=
?p=
ף?r(   r  r  )r  CW4?	/5?4Cъ?r  r  r  )r  6 iv?P0?r  r  r  )r  r  r  r(   r  r  r  )r   r   hammingr*   r+   r,   s   &&r.   r/   TestHamming.test_basic  s    5R8

#F)+ # 5	6 	u<

 $L +-** # 6	7
 	b1

 $R*,** # 6	7 	t;

#L)+ # 5	6r1   r2   Nr3   r:   s   @r.   r  r    s     6 6r1   r  c                   &   a  ] tR tRt o R tRtV tR# )TestHanni  c                   \        \        P                  ! ^RVR7      VP                  . R	OVP                  R7      RRR7       \        \        P                  ! ^RVR7      VP                  . R
OVP                  R7      RRR7       \        \        P                  ! ^RVR7      VP                  . ROVP                  R7      RRR7       \        \        P                  ! ^VR7      VP                  . ROVP                  R7      RRR7       R# )r   Fr   r   r    r!   Tr$   N)r         ?r  r(   r  r  )r   \$:?H`r?8T^j?r  r  r  r   Xhd?Tͻ?r   r  r   r   r  r  r(   r  r  r   )r   r   hannr*   r+   r,   s   &&r.   r/   TestHann.test_basic  s    QEb9

#C2::
V"	0 	QEb9

 $L +-** # 6 #	0 	Q4

 $O*,** # 6 #		0
 	Q2.

#F jj # *"	0r1   r2   Nr3   r:   s   @r.   r  r    s     0 0r1   r  c                   &   a  ] tR tRt o R tRtV tR# )
TestKaiseri  c           	        \        \        P                  ! ^RVR7      VP                  . ROVP                  R7      4       \        \        P                  ! ^RVR7      VP                  . ROVP                  R7      4       \        \        P                  ! ^RVR7      VP                  . R	OVP                  R7      4       \        \        P                  ! ^RVR7      VP                  . R
OVP                  R7      4       \        \        P                  ! ^RRVR7      VP                  . ROVP                  R7      4       R# )r   r   r$   r   g@FN)l?<3N?i>%?r)  r(  r'  )r'  	$?6?r(   r+  r*  r'  )§Aը?O F?$?r.  r-  r,  )r,  *'?=a?r(   r0  r/  r,  )r,  r/  r0  r(   r0  r/  )r   r   kaiserr*   r+   r,   s   &&r.   r/   TestKaiser.test_basic  s   q#"5

 $L +-** # 6	7
 	q#"5

 $L +-** # 6	7
 	q#"5

 $L +-** # 6	7
 	q#"5

 $L +-** # 6	7
 	q#u<

 $8?Azz # K	Lr1   r2   Nr3   r:   s   @r.   r%  r%    s     L Lr1   r%  c                   ,   a  ] tR tRt o R tR tRtV tR# )TestKaiserBesselDerivedi
  c                   \         P                  ! R RVR7      p\        W!P                  . 4      4       ^dp\         P                  ! VRVR7      p\         P                  ! RVRVR7      p\        W$4       VRV^,           ^,          W#) ^,          R ^,          ,           p\        WQP                  VP                  VP                  R7      4       \         P                  ! ^\        P                  ^,          VR7      R,          pVP                  V4      \        P                  ! ^4      ,          R,          p\        WV4       \        \         P                  ! ^\        P                  ^,          VR7      R	,          VP                  R
R.VP                  R7      4       \        \         P                  ! ^\        P                  ^,          VR7      R,          VP                  . ROVP                  R7      4       R# )r         @betar   Ffftbinsr   Nr   :Nr   Ng       @:N   NgU?gU3|\?:N   N)zkaiser bessel derivedr6  )gHZ1?gKf?g"iF5?)r   kaiser_bessel_derivedr   r*   r   r   onesshaper   rw   pi	ones_liker}   sqrtr+   )r-   r   r   Mw2actualdesireds   &&     r.   r/   "TestKaiserBesselDerived.test_basic  sw   ))#CB?::b>*))!#"= > !5R9 7AFq1R1WX;!#33FLL IJ ..qruuqyRHL,,v&15;(55abeeaiBOPRS

NN#C2::
V	X 	55abeeaiBOPRS

#S)+ # 5	6r1   c           	     j   ^dpRp\        \        VR7      ;_uu_ 4        \        P                  ! V^,           RVR7       RRR4       Rp\        \        VR7      ;_uu_ 4        \        P                  ! V^,           RRVR7       RRR4       R#   + '       g   i     LW; i  + '       g   i     R# ; i)	d   zHKaiser-Bessel Derived windows are only defined for even number of pointsmatchr6  r7  NzCKaiser-Bessel Derived windows are only defined for symmetric shapesF)r8  r   r   )r   r   r   r=  )r-   r   rC  msgs   &&  r.   test_exceptions'TestKaiserBesselDerived.test_exceptions,  s    ":S11))!a%bR@ 2":S11))!a%beK 21 21 211s   !B""B!B	!B2	r2   N)r4   r5   r6   r7   r/   rM  r8   r9   r:   s   @r.   r4  r4  
  s     6>L Lr1   r4  c                   &   a  ] tR tRt o R tRtV tR# )TestNuttalli;  c                   \        \        P                  ! ^RVR7      VP                  . ROVP                  R7      4       \        \        P                  ! ^RVR7      VP                  . ROVP                  R7      4       \        \        P                  ! ^VR7      VP                  . R	OVP                  R7      4       \        \        P                  ! ^RVR7      VP                  . R
OVP                  R7      4       R# )r   Fr   r   r$   TN)A"7?v;O<g?$2bUs?r(   rT  rS  )rR  gx&yxXW?g??絑?rU  g??g&yxXW?)rR  gEJ?g=`T?g>`T?gEJ?rR  )rR  rS  rT  r(   rT  rS  rR  )r   r   nuttallr*   r+   r,   s   &&r.   r/   TestNuttall.test_basic=  s    u<

 $/68jj # B	C 	u<

 $L +-**	 # 6	7 	b1

 $CJL** # V	W 	4B7

 $ELNJJ # X	Yr1   r2   Nr3   r:   s   @r.   rP  rP  ;  s     Y Yr1   rP  c                   &   a  ] tR tRt o R tRtV tR# )
TestParzeniP  c                   \        \        P                  ! ^VR7      VP                  . ROVP                  R7      4       \        \        P                  ! ^RVR7      VP                  . ROVP                  R7      4       \        \        P                  ! ^RVR7      VP                  . R	OVP                  R7      4       R# )
r   r$   r   Tr   FN)e/?r  88?r\  r  r[  )%OZQ%w?2|&?݁?r(   r_  r^  r]  )r]  r^  r_  r(   r_  r^  )r   r   parzenr*   r+   r,   s   &&r.   r/   TestParzen.test_basicS  s    qR0

 $T*,** # 6	7 	qdr:

 $M +-** # 6	7
 	q%B7

 $8?Azz # K	Lr1   r2   Nr3   r:   s   @r.   rY  rY  P  s     L Lr1   rY  c                   &   a  ] tR tRt o R tRtV tR# )
TestTriangic  c                   \        \        P                  ! ^RVR7      VP                  . ROVP                  R7      4       \        \        P                  ! ^VR7      VP                  . ROVP                  R7      4       \        \        P                  ! ^RVR7      VP                  . R	OVP                  R7      4       R# )
r   Tr$   r   Fr   N)UUUUUU?r   竪?rf  r   re  )r  r   r  r   r  r   r  )r  r   r  r   r  r   )r   r   triangr*   r+   r,   s   &&r.   r/   TestTriang.test_basicf  s    q$26

#A
T	VqR0

#DBJJ
W	Yqe;

#?rzz
R	Tr1   r2   Nr3   r:   s   @r.   rc  rc  c  s     T Tr1   rc  c                   ,   a  ] tR tRt o R tR tRtV tR# )	TestTukeyi  c                @   \         P                  4        F  w  r#Vf%   \        \        \        P
                  .VO5RV/  K-  \        V4      '       d   VR	9   d   RRRR/pMRRRR/p\        P
                  ! VRV/ p\        WQP                  V4      3RR/VB  K  	  R # )
Nr   r"   g+i)+`>r#   rJ   r    check_dtypeF)r   r   r     r  r   r   )	
tukey_datar   r   r   r   tukeyr   r   r*   )r-   r   r   r   	atol_rtolr   s   &&    r.   r/   TestTukey.test_basic  s    $$&DAyj'--C!CCB<<A)J$J"($!=Y"(%!@YmmQ.2.ZZ] @,1@5>@ 'r1   c                    \         P                  ! ^d^ VR7      p\         P                  ! ^dVR7      p\        W#4       \         P                  ! ^d^VR7      p\         P                  ! ^dVR7      p\        WE4       R# )rI  r$   N)r   rs  r   r   r"  )r-   r   tuk0box0tuk1han1s   &&    r.   test_extremesTestTukey.test_extremes  sV    }}S!+~~cb)#}}S!+||CB'#r1   r2   N)r4   r5   r6   r7   r/   r{  r8   r9   r:   s   @r.   rj  rj    s     @$ $r1   rj  gV?g$aȲ`?gsk8Si?gp&p?g5Bu?gOL{?g08À?gw-<?gkF?g^R?gkPz?g1?gY^Q?gX9?gdkѐ^ś?g3aJ?g)IQ?g-?gѫ"?g.?g~9P?g~n[?g8Wϭ?g	%fҳ?g!KI?gPJd?g/ĳ?g$~s	?gpkuP?g%ꙷ?g
?gq*?g%wo?gZo?g?gӃ?gB@%?gg3?g/ߗ#@?g0?g@?g=?g.F!?git3?g:.?gX.?gGkNVs?g"Hk?g 'F?g`?giGU?g#!5#?gUw|?gTP?gj?gwĢ?gDъO?g_{?g< ?gȁk?gꬃt?g(P;?gHñ?gBKXP?g.mˏ޴?g nik?g"=?gOu?g{?ggU?g/u?gN׏$s?g ]?gГE?goY*?gܛ?gbu?g`?gɪJS?ga`gT*r?g.{?gYn?g.|TK?g紸?gzþ?gfU?g,?gԙ=?gg'?gws䕽?g?g[\	?g#k	?g%*?gLw<w?g,h-A?g[::<?g199l?g.4䓦%?gG/?gƢhlO?g[$v?g|W◰?g	͓?g?g
8ρ?g\i?gٮ32A?g!;f?g+?g3sXL2?g?J?g5QG?gAo?gW?g }2?g␉k?gIǇ?gF6?gf?gch'?g%"a?gh/K?g:?g>}?gDC1?XB?gQST`?gs\NK?g
3?g<s?go?g@1O?g5M?g#$7?g,9ṗ?gC)?gW]{?gI!w.?gMu?g%Pld?g3z?g>?gd?g!DKy?g+o ?gYh{b?g{^y?gSh1?gy%@?g|hzj??gP\D?gz	?gVx<҅?g?gq&?gb˱?g8|p?g_cH?g6K	?gwp΍?g"Q	q?g@m8Mi?gǐ3?g7/`_q?gS!?g8QJ?g68?gu\q?g/Z~ܳ?gpQZ?gC?g3`?g7<w?g?gp?g<Wul?g~`?gT?g#qv?g,]Bi?gw|?gvľ?g3?ga?gLH?gU,?gvA]Pv?c                   V   a  ] tR tRt o R tR tR tR t]! RR7      R 4       t	R	t
V tR
# )TestDPSSi  c           	         \         P                  4        FJ  w  r#\        P                  ! VR RRV/ w  rE\	        WC^ ,          RVR7       \	        WS^,          RRVR7       KL  	  R# )return_ratiosTr   gHz>)r#   err_msggh㈵>)r"   r#   r  N)	dpss_datar   r   dpssr   )r-   r   r   r   r   ratioss   &&    r.   r/   TestDPSS.test_basic  sQ    OO%DA!,,EE"EKCC1D!<FaDt$J &r1   c                j   \        ^^4       EF!  p\        P                  ! W"R,          VR7      pV^,          p\        \        P
                  ! VR4      P                  4       VV R7       \        P                  ! W"R,          RVR7      pV^8  d@   \        \        P
                  ! VR4      P                  4       VV R7       \        W5RR7       \        P                  ! W"R,          ^VR7      pV^8X  d   ^M^ p\        \        P
                  ! VR4      P                  4       VV R7       EK$  	  R	# )
r   g @r$   r(   )r  	subsamplerj   gQ?r   N)ranger   r  r   rw   r~   sumr   )r-   r   rC  r   expectedwin_subwin_2s   &&     r.   
test_unityTestDPSS.test_unity  s    q"A,,qc'b1C1uHBJJsB/335x$'5+ ll1#gKBGG1u

7B 7 ; ; =x(/y348LLG!;EFqHBJJub1557$)7- -! r1   c                n   \         P                  ! ^^^RVR7      ^,          p\        W!P                  V4      4       \         P                  ! ^^^RVR7      ^,          p\        W!P                  V4      4       \         P                  ! ^^^RVR7      ^,          p\        W!P                  V4      4       R# )   T)r  r   N)r   r  r   rA  )r-   r   lams   && r.   r{  TestDPSS.test_extremes  s    ll2q!4B?B\\#./ll2q!4B?B\\#./ll2q!4B?B\\#./r1   c                   \        \        \        P                  ^RR4       \        \        \        P                  ^RR4       \        \        \        P                  ^RR4       \        \        \        P                  ^R^4       \        \        \        P                  ^R^4       \        \        \        P                  ^^ ^4       \        \        \        P                  R^^4       R# )         ?皙?N)r   r   r   r  	TypeErrorr,   s   &&r.   test_degenerateTestDPSS.test_degenerate  s    j',,3;j',,3;iq#s;j',,3:j',,2q9j',,1a8j',,Aq9r1   T)np_onlyc           	     J   \         P                  ! ^R4      p\        VR.4       \         P                  ! ^RRR7      w  r#\        VR.4       VR8X  g   Q h\         P                  ! ^R^RR7      w  r#\        VR.4       \        V\        P
                  4      '       g   Q h\        VR.4       \        \        \         P                  ^RR	VR7       \        \        \         P                  ^RR
VR7       \        \        \         P                  ^RRVR7       \        \        \         P                  ^R^VR7       \        \        \         P                  ^R	^VR7       \        \        \         P                  ^^ ^VR7       \        \        \         P                  R	^^VR7       R# )r   r(   T)r  )Kmaxr  r  r$   r  Nr  r  )	r   r  r   
isinstancerw   ndarrayr   r   r  )r-   r   r   ratios   &&  r.   test_degenerate_signle_samples'TestDPSS.test_degenerate_signle_samples  s+    LLBB4 <<2T:B4 {{<<2ATBB4 %,,,,t$j',,3rBj',,3rBiq#srBj',,3bAj',,2qR@j',,1aB?j',,AqR@r1   r2   N)r4   r5   r6   r7   r/   r  r{  r  skip_xp_backendsr  r8   r9   r:   s   @r.   r~  r~    s5     K-*0: d#A $Ar1   r~  c                   ,   a  ] tR tRt o R tR tRtV tR# )TestLanczosi  c                   \        \        P                  ! ^RVR7      VP                  . R	OVP                  R7      RR7       \        \        P                  ! ^VR7      VP                  . R
OVP                  R7      RR7       \        \        P                  ! ^RVR7      VP                  . ROVP                  R7      RR7       R# )r   Fr   r   &.>rI   r$   TN        qϾv?;Fv?r(   r  r  r  uH%?;9?r  r  r  )r  r  r  r(   r  r  r  )r   r   lanczosr*   r+   r,   s   &&r.   r/   TestLanczos.test_basic   s     	u<

 $18:

 # D "		#
 	b1

 $5<>JJ # H "		#
 	t;

 $5<>JJ # H "		#r1   c                    R Fe  p\         P                  ! VRVR7      P                  ^ ,          V8X  g   Q h\         P                  ! VRVR7      P                  ^ ,          V8X  d   Ke  Q h	  R# )r   Fr   TN)r   
      )r   r  r?  )r-   r   ns   && r.   test_array_sizeTestLanczos.test_array_size  sX    A??1%B7==a@AEEE??1$26<<Q?1DDD r1   r2   N)r4   r5   r6   r7   r/   r  r8   r9   r:   s   @r.   r  r    s     #2E Er1   r  c                     a  ] tR tRt o RtR t]! ]P                  4      R 4       t	]! ]P                  4      R 4       t]! ]P                  4      R 4       t]! ]P                  4      R 4       t]! ]P                  4      R 4       t]P$                  P'                  R	RR
]P*                  ! ^4      .4      ]! ]P,                  4      R 4       4       tR t]! ]P2                  4      R 4       t]! ]P                  4      R 4       t]! ]P8                  4      R 4       t]! ]P<                  4      R 4       t]! ]P@                  4      R 4       t!R t"Rt#V t$R# )TestGetWindowi  z*Unit test for `scipy.signal.get_windows`. c                    \         P                  ! 4        F;  w  rV^ ,          P                  pRV R2pW19   g   Q V4       hV^,          R9   d   K;  Q h	  R# )a"  Verify that the `_windows._WIN_FUNC_DATA` dict is consistent.

The keys of _WIN_FUNC_DATA are made of tuples of strings of allowed window
names. Its values are 2-tuples made up of the window function and a
entry characterizing the existence of window parameters as ``True``,
``False`` or ``'OPTIONAL'``.


It is verified that the correct window name (i.e., corresponding to the
function in the value tuple) is included in the key tuple. It is also checked
that the second entry in the value tuple is either ``True``, ``False`` or
``'OPTIONAL'``.
zFunction name in z* does not contain name of actual function!N)TFOPTIONAL)r	   r   r4   )r-   nn_v_	func_namerL  s   &    r.   test_WIN_FUNC_DATA_integrity*TestGetWindow.test_WIN_FUNC_DATA_integrity#  sY     &++-GC1I%cU*TUC#(S(#a55555	 .r1   c                    \         P                  ! R ^VR7      p\        W!P                  V4      4       \         P                  ! R^VR7      p\        W!P                  V4      4       R# )r   r$   N)r   )r   r   r   rA  r-   r   r   s   && r.   test_boxcarTestGetWindow.test_boxcar7  sL    x3<<?+ {B26<<?+r1   c           	     >   \         P                  ! 4       ;_uu_ 4        \         P                  ! R R\        4       \        P
                  ! R^5RVR7      pRRR4       \        XVP                  \        VP                  R7      ^R7       R#   + '       g   i     L?; i)r   r   Fr9  Nr   r   )r   r   )
r   r   r   r   r   r   r   r*   r   r+   r  s   && r.   test_cheb_oddTestGetWindow.test_cheb_odd@  so    $$&&##7F""#3R2NA ' 	"rzz-rzzz:A	
	 '&s   7BB	c           	     &   \         P                  ! 4       ;_uu_ 4        \         P                  ! R R\        4       \        P
                  ! R^6RVR7      pRRR4       \        XVP                  \        4      ^R7       R#   + '       g   i     L3; i)r   r   Fr9  Nr   )r   (   )	r   r   r   r   r   r   r   r*   r   r  s   && r.   test_cheb_evenTestGetWindow.test_cheb_evenJ  sc    $$&&##7F""?B"MA ' 	"!RZZ%?K	 '&s   7B  B	c                    \         P                  ! R^@RVR7      p\         P                  ! ^@^VR7      p\        W#4       R# )r  Fr9  r$   N)r  r<  )r   r   r  r   r-   r   win1win2s   &&  r.   	test_dpssTestGetWindow.test_dpssR  s2    !!+r5RH||Bb)#r1   c                   \         P                  ! R ^@VR7      p\         P                  ! ^@R RVR7      p\        V4      '       d3   \	        W#VP                  VP                  4      P                  R7       R# \        W#4       R# )g@r$   Fr   N)	r   r   r1  r   r   finfor   epsr   r  s   &&  r.   test_kaiser_floatTestGetWindow.test_kaiser_floatX  sZ    !!#rb1~~b#u4":: DRXXdjj-A-E-EFD'r1   Nxg      @c                    \         P                  ! \        R R7      ;_uu_ 4        \        P                  ! RWR7       RRR4       R#   + '       g   i     R# ; i)z^Parameter Nx=.*rJ  r"  r$   N)pytestr   r   r   r   )r-   r  r   s   &&&r.   test_invalid_parameter_NX'TestGetWindow.test_invalid_parameter_NXc  s6     ]]:-?@@vr1 A@@@s   AA	c           	        \         P                  ! \        RR7      ;_uu_ 4        \        P                  ! R^^VR7       RRR4       \         P                  ! \        RR7      ;_uu_ 4        \        P                  ! R.^VR7       RRR4       \         P                  ! \        RR7      ;_uu_ 4        \        P                  ! R^VR7       RRR4       \         P                  ! \        R	R7      ;_uu_ 4        \        P                  ! R
^VR7       RRR4       \         P                  ! \        RR7      ;_uu_ 4        \        P                  ! R^VR7       RRR4       \         P                  ! \        RR7      ;_uu_ 4        \        P                  ! R^VR7       RRR4       \         P                  ! \        RR7      ;_uu_ 4        \        P                  ! R^VR7       RRR4       \         P                  ! \        RR7      ;_uu_ 4        T;'       g    \
        p\        P                  ! R^^.3^VR7       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL{; i  + '       g   i     ELI; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     R# ; i)z?Raise all exceptions (except those concerning parameter `Nx`). z^Parameter fftbins=.*rJ  r"  r9  Nz^Parameter window=.*r$   z%^First tuple entry of parameter win.*z ^Invalid window name 'INVALID'.*INVALIDz#^'hann' does not allow parameters.*z ^'kaiser' must have parameters.*r1  z^Window dpss must have one.*z#^'general_cosine' does not accept.*general cosine)*   )r"  r   )r  r   r;  )r  r   r   r   r   rw   )r-   r   xp_s   && r.   test_invalid_inputs!TestGetWindow.test_invalid_inputsj  s   ]]:-DEEvq!; F]]:-CDDy!3 E]]:-TUUuaB/ V]]:-OPPy!3 Q]]:-RSS{A"5 T]]:-OPPxr2 Q]]:-KLL~qR8 M]]:-RSS((C 01a&91E TS FEEDDDUUUPPPSSSPPPLLSSSs_   I	,I3I19J?JJ-K.K	I	I.	1J	J	J*	-J>	K	K%	c           	        \         P                  ! ^RVR7      p\        \        R^RVR7      V4       \        \        R^VR7      V4       \        \        R^RVR7      V4       \         P                  ! ^RVR7      p\        \        R^VR7      V4       \        \        R^RVR7      V4       \        \        R^VR7      V4       \        \        R^RVR7      V4       R	# )
zIEnsure that suffixes `_periodic` and `_symmetric` work for window names. Tr   rC   Fr9  bartlett_symmetricr$   bartlett_periodicN)r   rC   r   r   )r-   r   w_symw_pers   &&  r.   test_symmetric_periodic%TestGetWindow.test_symmetric_periodic~  s       4
:q%BGO
#7rBEJ
#7DRPRWX  "5
:qR8%@
:q$2FN
#6bA5I
#65RP	r1   c                L   ^pVP                  ^4      p\        P                  ! RV^,          VR7      p\        V4      '       d   RMRp\	        \
        VR7      ;_uu_ 4        \        W3P                  ^ ,          V,          VR7       RRR4       R#   + '       g   i     R# ; i)   r$   z^window mustz^window.shape=rJ  )windowN)r1  g       @)aranger   r   r   r   r   r   r?  )r-   r   osfactorsigr   mesgs   &&    r.   test_array_as_window"TestGetWindow.test_array_as_window  sq     iin  (a-BG!(~2B:T22S))A,1#> 3222s   "&BB#	c           	        \        \        R VP                  . RO4      3^4      VP                  . ROVP                  R7      4       \        \        R VP                  . RO4      3^RR7      VP                  . ROVP                  R7      4       \        P
                  ! \        4      ;_uu_ 4        \        R . RO3^VR7       RRR4       R#   + '       g   i     R# ; i)	r   r   F)r:  r$   Nr   r   )r?   皙?r  r?   )r   r   r*   r+   r  r   r   r,   s   &&r.   test_general_cosine!TestGetWindow.test_general_cosine  s    
$4bjj6Q#RTUV

#5RZZ
H	J
$4bjj6Q#RTU+02

#9
L	N ]]:&&(/:A"E '&&&s   1CC	c           	         \        \        R^VR7      VP                  . ROVP                  R7      4       \        \        R^RVR7      VP                  . ROVP                  R7      4       R# )	r  r$   r   Fr9  N)r  r  )r?   жn?男*?r  r  r  r   r   r*   r+   r,   s   &&r.   test_general_hamming"TestGetWindow.test_general_hamming  s`    
#;Q2F

#T)+ # 5	6 	
#;QRTU

#<BJJ
O	Qr1   c           	     ,   \        \        R ^VR7      VP                  . R	OVP                  R7      RR7       \        \        R ^RVR7      VP                  . R
OVP                  R7      RR7       \        \        R ^VR7      \        R^VR7      4       R# )r  r$   r   r  rI   Fr9  sincNr  r  r  r,   s   &&r.   test_lanczosTestGetWindow.test_lanczos  s    
9aB7

 $18:

 # DJN	P 	
9a2F

 $5<>JJ # HNR	T 	
9aB7"614	6r1   c                    \        R ^4      p\        V\        P                  4      '       g   Q h\        R ^VR7      p\	        V4      '       g%   \        V\        P                  4      '       d   Q hR# R# )r  r$   N)r   r  rw   r  r   )r-   r   r   s   && r.   test_xp_defaultTestGetWindow.test_xp_default  s[    A&#rzz****A"-||!#rzz22222 r1   r2   Nr  )%r4   r5   r6   r7   __doc__r  r   r   r   r  r   r  r  r  r  r1  r  r  markparametrizerw   r+   r"  r  r  rC   r  r  r   r  r  r  r  r  r  r8   r9   r:   s   @r.   r  r    s    46( w~~&, ', w'
 (
 w'L (L w||$$ %$
 w~~&( '( [[TBRZZ]#;<w||$2 % =2
F( w''( )  w~~&? '? w--.F /F w../Q 0Q w'6 (63 3r1   r  z
dask.arrayz(https://github.com/dask/dask/issues/2620reasonzwindow,window_name,paramsc                 
   \        \        V4      p \        V4      '       d$   VR9   d   \        P                  ! RV: R2R7       VR9   d\   \        V4      '       d   \        P                  ! RR7       \        V4      '       d#   \        R8w  d   \        P                  ! RR7       \        P                  ! 4       ;_uu_ 4        \        P                  ! RR\        4       V ! ^.VO5R	R
RV/ pV ! ^.VO5R	RRV/ p\        VRR V4       V ! ^	.VO5R	R
RV/ pV ! ^.VO5R	RRV/ p\        VRR V4       V ! ^.VO5R	R
RV/ P                  ^ ,          ^8X  g   Q hV ! ^.VO5R	RRV/ P                  ^ ,          ^8X  g   Q hV ! ^.VO5R	R
RV/ P                  ^ ,          ^8X  g   Q hV ! ^.VO5R	RRV/ P                  ^ ,          ^8X  g   Q h\        \        V R.VO5RV/  \        \        V R.VO5RV/  \!        V ! ^ .VO5R	R
RV/ VP#                  . VP$                  R7      4       \!        V ! ^ .VO5R	RRV/ VP#                  . VP$                  R7      4       \!        V ! ^.VO5R	R
RV/ VP#                  R.VP$                  R7      4       \!        V ! ^.VO5R	RRV/ VP#                  R.VP$                  R7      4       V ! ^ .VO5R	R
RV/ P&                  VP$                  8X  g   Q hV ! ^ .VO5R	RRV/ P&                  VP$                  8X  g   Q hV ! ^.VO5R	R
RV/ P&                  VP$                  8X  g   Q hV ! ^.VO5R	RRV/ P&                  VP$                  8X  g   Q hV ! ^.VO5R	R
RV/ P&                  VP$                  8X  g   Q hV ! ^.VO5R	RRV/ P&                  VP$                  8X  g   Q hVP)                  V ! ^
.VO5R	R
RV/ R8  4      '       g   Q hVP)                  V ! ^
.VO5R	RRV/ R8  4      '       g   Q hVP)                  V ! ^	.VO5R	R
RV/ R8  4      '       g   Q hVP)                  V ! ^	.VO5R	RRV/ R8  4      '       g   Q h\+        V ! ^
.VO5R	RRV/ 4      pVP-                  V4      p\        WcP/                  V4      RR7       \+        V ! ^.VO5R	RRV/ 4      pVP-                  V4      p\        WcP/                  V4      RR7       RRR4       R#   + '       g   i     R# ; i)rf   zwindow_name = : item assignmentr  z'dpss window is not implemented for cupycpuz)needs eight_tridiagonal which is CPU onlyr   r   r   Tr   FNg      @r   r(   g)\(?rH   rI   )rf   r   )r  r  i)getattrr   r   r  skipr   r   r   r   r   r   r   r   r?  r   r   r   r*   r+   r   allr   imag
zeros_like)r  window_nameparamsr   w1rD  ress   &&&&   r.   test_windowfunc_basicsr    s#    Wk*Fbzzk%::nk-->?@h2;;KKHIB<<LE1KKJK		 	 	"	"3[	B A00D0R0A11E1b13B$A00D0R0A11E1b13B$ a2&2d2r288;q@@@a3&3e3399!<AAAa2&2d2r288;q@@@a3&3e3399!<AAA 	j&#>>2>j&"=v="= 	q;6;t;;

2RZZ
8	:q<6<u<<

2RZZ
8	:q;6;t;;

B4rzz
:	<q<6<u<<

B4rzz
:	< a2&2d2r288BJJFFFa3&3e3399RZZGGGa2&2d2r288BJJFFFa3&3e3399RZZGGGa2&2d2r288BJJFFFa3&3e3399RZZGGG vvfR:&:d:r:TABBBBvvfR;&;e;;dBCCCCvvfQ99T9b9D@AAAAvvfQ::U:r:TABBBB &7f7%7B78ggcl]]3/e<&7f7%7B78ggcl]]3/e<k 
#	"	"	"s&   LS/#'S/'S/3'S/B
S//T 	c           	      H    R F  p\        \        \        V^V R7       K  	  R# )r1  r$   N)r1  ksrr=  kbdr   gaussgsszgeneral gaussiangeneral_gaussianzgeneral gaussgeneral_gaussggsdssr  r  r   r   chebzgeneral hammingr  )r   r   r   )r   winstrs   & r.   test_needs_paramsr!    s      	j*faB?r1   zwindow,winstrc                     \        V 4      '       d"   VR9   d   \        P                  ! V R2R7       \        V^V R7      pVP                  ^ ,          ^8X  g   Q hR# )rf   r
  r  r$   N)rf   )r   r  r  r   r?  )r   r  r   r   s   &&& r.   test_not_needs_paramsr#  .  sL     bzzf
*fX%678
VQ2
&C99Q<1r1   c           	         \         P                  3 F  pV! R V R7      p\        V4      P                  pV P	                  V P                  W#! V4      ,
          4      4      p\        W@P                  R4      RRR7       V! RV R7      pV P	                  V P                  W#! V4      ,
          4      4      p\        W@P                  R4      RRR7       K  	  R# )i   r$   r  F)rl  check_0di  N)r   r  r   fliprz   ry   r   r*   )r   r   r   r&  errors   &    r.   test_symmetricr(  =  s      q!&&rvva$q'k*+zz#EER rvva$q'k*+zz#EER !r1   ))r   r2   )rg  r2   )r`  r2   )r   r2   )rR   r2   )rV  r2   )r[   r2   )r   r2   )rC   r2   )r)   r2   )r  r2   )r1  r   )r  )r;  )r   r   )r  )r  r;  )r   r)  )cosiner2   )r"  r2   )r   r2   )rf   r2   )rs  r*  )r  r2   )r  Nr   F)|dy?vS?{?r(   r-  )r  Nr   T)1B?%?r/  r.  )r  Nr(   F)́R?8,6V?r(   r1  )r  Nr(   T)\Kr?r   r   r2  )r  r;  r   F)r  r;  r   T)r  r;  r(   F)r  r;  r(   T)r  Nr   T)r,  r-  r(   r-  r,  )r  Nr(   T)r0  r1  r(   r1  r0  )r  r;  r   T)r  r;  r(   T)r  r   T)r  r(   r(   r  )r  ?T)r  ?r4  r  )r  r(   T)r  r  r  r  )r  r   F)r  r(   r(   r(   )r  r3  F)r  rnOC?r(   r5  )r  r(   F)r  r   r(   r   )r  r  T)r(   r(   r(   r(   r(   )r  r@   T)r  Yx?r(   r6  r  )r  r(   T)r  r   r(   r   r  )r   r   r   )rp  r   r   )r   r  )r  r   r   r   r   r   )rp  r  )r  r   r   r   r   r   r   rm  )r   r   r(   r(   gRͻ?r   )rp  )r   r  r(   r(   r(   r  r   rn  )r   gxų	&?r(   r(   gvų	&?r   ro  )r   g#}`yq?)!?r(   r7  g#}`yq?r   rq  r  )rp  r   r!  )r  rv   r;  )IP?;]L?r9  r8  )g/vI<t?gE@?gE@̿g/vI<t)r<  gffffff?r<  )ыBA?gnjk?r:  )g>ef?r  g>ef)	#n?gLor;  )gm/ ?g96+?g雦br?)r  r  r  )g w?V?g>J#?g;Wi?g֙}I#?gr?V?)g:7A!(?cHX?r  cHXS[@!(ܿ)qh4?T1a~²?gEܿr@  r?  )r<  r>  r  gS[@!(?r=  )gu+t?X>߿g36?rA  g;St?)gML?gh5"z?g\v4?gPa?gd?)rI  r;  r  g[$vgƢhlOgG/g.4䓦%g199lg[::<񍭿g,h-AgLw<wg%*浿g#k	g[\	g㻿gws䕽gg'gԙ=g,gfUgzþg紸¿g.|TK¿gYn¿g.{¿ga`gT*r¿gɪJS¿g`¿gbugܛgoY*gГEg ]gN׏$sg/uggUg{캿gOug"=g nikg.mˏ޴gBKXPgHñg(P;gꬃtgȁkg< g_{gDъOgwĢgjgTPgUw|g#Ysg臈Egn꛿gx;ig6
gv^
gmg-b3g[Ehpg[6gag0g_:WRg~戺g0ъҺg@m8Migǐ3g7/`_qgS!g8QJg68gu\qg/Z~ܳgpQZgCg3`g7<w䷿ggp鷿g<Wulg~`gTg#qvg,]Bigw|gvľg3gagLHgU,gvA]Pvg"Q	qgwp΍g6K	g_cHg8|pgb˱gq&ggVx<҅gz	gP\Dg|hzj?gy%@¿gSh1ÿg{^yÿgYh{bĿg+o Ŀg!DKyſgdſg>ſg3zĿg%PldĿgMuÿgI!w.ÿ)g?g"?gy?'?g `?)r)   rC   rR   r[   r   r   r+  r   r  rV  r`  rf   r   poissonrs  tuktriangler  r  )]r}   r   numpyrw   r   r  r   r   	scipy.fftr   scipy.signalr   r   r   scipy.signal.windows._windowsr	   r
   scipy._lib._array_apir   r   r   r   r   r   r   r   r   r   r   r   r  r  xfail_xp_backendslazy_xp_moduleswindow_funcsr)   r   rC   r=   rR   rF   r[   rU   rf   r^   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r"  r  r1  r%  r=  r4  rP  r`  rY  rg  rc  rr  rs  rj  r  r  r~  r  r  r  r  r  r  r!  _winstrr#  r(  )r  r  r   s   000r.   <module>rN     s!        *  6 6 D    ;;// KK11 )4 7##$0 0 %0  7##$T T %T 7##$7 7 %7, 7))*K K +K( 7>>"J: J: #J:Z 7>>"7 7 #7" 7>>"L L #L 8 X x #%-/7#%-/7  $ &. 08 	 $	 &.	 08	
 
 $
 &.
 08  $ &. 08  $ &. 08  $ &. 08  $ &. 08  $ &. 08  $ &. 08  $ &. 08 0( 0H 0h 00$0&.00$0&.0 0 %0 '/0 	0 %	0 '/	0
 0
 %0
 '/0 0 %0 '/0 0 %0 '/0 0 %0 '/0 0 %0 '/0 0 %0 '/0 0 %0 '/0 0 %0 '/0 0 %0 '/0 0 %0 '/0 0 %0 '/0  !0  %!0  '/!0" #0" %#0" '/#0( 7??#?O ?O $?OF  ( 	) % !J K5 "7 8% !K L A 	Bt 4 5t A 	B % !J Ktt3 : 7&&'< (< 7??#8 8 $8, 7##$L L %L0 7))*	J 	J +	J 7**+
Y 
Y ,
Y 7??#6 6 $6( 7<< 0 0 !0. 7>>"L L #L: 7001-L -L 2-L`Y Y* 7>>"L L #L$ 7>>"	T 	T #	TE./E 5 6 E01	
 U/0 U 6 7 U/0 E34 E : ; E34   #  "!" %#$ 	
B%& 	
+'( F)*  :+.  $
/3
: 7==!$ $ "$@ GI  A  DO  Q\  C]  ^:<\  _G  H  Jq  rV  YU  WY  [V  Xa  b  dk  l  |L  |,  |  |[  |+  |Wc  |ep  |r}  |  @K  |  MX  |  Zd  |  fp  |  r}  |  J  |  LW  |  Yd  |  fq  |  s~  |  @K  |  MX  |  Ze  |  gr  |  t  |  AL  |  NY  |  [f  |  hs  |  u@  |  BM  |  OX  |  Zd  |  fp  |  r|  |  ~H  |  JT  |  V`  |  bl  |  nx  |  zD  |  FP  |  R\  |  ^g  |  is  |  u  |  A	K	  |  M	W	  |  Y	c	  |  e	o	  |  q	{	  |  }	G
  |  I
S
  |  U
_
  |  a
k
  |  m
w
  |  y
C  |  EO  |  Q[  |  ]g  |  ir  |  t~  |  @J  |  LV  |  Xb  |  dn  |  pz  |  |F  |  HR  |  T^  |  `j  |  lv  |  xA  |  CN  |  P[  |  ]h  |  ju  |  wB  |  DO  |  Q\  |  ^i  |  kv  |  xC  |  EP  |  R]  |  _j  |  lw  |  yD  |  FQ  |  S^  |  `j  |  lv  |  xC  |  EP  |  R]  |  _j  |  lx  |  zE  |  GR  |  T_  |  am  |  o{  |  ~J(  J  ~J(  LW  ~J(  Yd  ~J(  fq  ~J(  s~  ~J(  @K  ~J(  MX  ~J(  Ze  ~J(  gr  ~J(  t  ~J(  AL  ~J(  NY  ~J(  [f  ~J(  hs  ~J(  u@  ~J(  BM  ~J(  OY  ~J(  [e  ~J(  gq  ~J(  s}  ~J(  I  ~J(  KU  ~J(  W`  ~J(  bl  ~J(  nx  ~J(  zC  ~J(  EO  ~J(  Q[  ~J(  ]g  ~J(  is  ~J(  u  ~J(  AJ  ~J(  LV  ~J(  Xb  ~J(  dn  ~J(  pz  ~J(  |F  ~J(  HQ  ~J(  S]  ~J(  _i  ~J(  kv  ~J(  xB  ~J(  DO  ~J(  Q\  ~J(  ^i  ~J(  ku  ~J(  wB  ~J(  DO  ~J(  Q\  ~J(  ^j  ~J(  ly  ~J(  {G  ~J(  IU  ~J(  Wc  ~J(  ep  ~J(  r~  ~J(  @L  ~J(  NZ  ~J(  \g  ~J(  iu  ~J(  wB   ~J(  D O   ~J(  Q [   ~J(  ] h   ~J(  j u   ~J(  w B!  ~J(  D!O!  ~J(  Q!\!  ~J(  ^!h!  ~J(  j!u!  ~J(  w!B"  ~J(  D"O"  ~J(  Q"\"  ~J(  ^"i"  ~J(  k"u"  ~J(  w"B#  ~J(  D#O#  ~J(  Q#[#  ~J(  ]#h#  ~J(  j#u#  ~J(  w#B$  ~J(  D$O$  ~J(  Q$\$  ~J(  ^$i$  ~J(  k$w$  ~J(  y$E%  ~J(  G%S%  ~J(  U%a%  ~J(  c%o%  ~J(  q%}%  ~J(  %K&  ~J(  M&Y&  ~J(  [&g&  ~J(  i&u&  ~J(  w&C'  ~J(  E'Q'  ~J(  S'_'  ~J(  a'm'  ~J(  o'{'  ~J(  }'I(  ~J(  L(D<  M(X(  L(D<  Z(e(  L(D<  g(r(  L(D<  t((  L(D<  A)L)  L(D<  N)X)  L(D<  Z)d)  L(D<  f)o)  L(D<  q){)  L(D<  })G*  L(D<  I*S*  L(D<  U*_*  L(D<  a*k*  L(D<  m*w*  L(D<  y*C+  L(D<  E+O+  L(D<  Q+Z+  L(D<  \+f+  L(D<  h+r+  L(D<  t+~+  L(D<  @,J,  L(D<  L,V,  L(D<  X,a,  L(D<  c,m,  L(D<  o,y,  L(D<  {,E-  L(D<  G-R-  L(D<  T-_-  L(D<  a-l-  L(D<  n-y-  L(D<  {-F.  L(D<  H.S.  L(D<  U.`.  L(D<  b.m.  L(D<  o.{.  L(D<  }.J/  L(D<  L/X/  L(D<  Z/f/  L(D<  h/t/  L(D<  v/B0  L(D<  D0O0  L(D<  Q0]0  L(D<  _0i0  L(D<  k0w0  L(D<  y0E1  L(D<  G1R1  L(D<  T1`1  L(D<  b1m1  L(D<  o1z1  L(D<  |1G2  L(D<  I2T2  L(D<  V2a2  L(D<  c2n2  L(D<  p2|2  L(D<  ~2I3  L(D<  K3W3  L(D<  Y3e3  L(D<  g3q3  L(D<  s33  L(D<  A4L4  L(D<  N4Z4  L(D<  \4h4  L(D<  j4v4  L(D<  x4D5  L(D<  F5S5  L(D<  U5a5  L(D<  c5n5  L(D<  p5{5  L(D<  }5H6  L(D<  J6U6  L(D<  W6b6  L(D<  d6o6  L(D<  q6|6  L(D<  ~6I7  L(D<  K7U7  L(D<  W7a7  L(D<  c7m7  L(D<  o7x7  L(D<  z7D8  L(D<  F8P8  L(D<  R8\8  L(D<  ^8h8  L(D<  j8t8  L(D<  v88  L(D<  A9K9  L(D<  M9W9  L(D<  Y9c9  L(D<  e9o9  L(D<  q9{9  L(D<  }9G:  L(D<  I:S:  L(D<  U:_:  L(D<  a:j:  L(D<  l:v:  L(D<  x:B;  L(D<  D;O;  L(D<  Q;\;  L(D<  ^;i;  L(D<  k;v;  L(D<  x;C<  L(D<  F<`P  G<Q<  F<`P  S<]<  F<`P  _<i<  F<`P  k<u<  F<`P  w<A=  F<`P  C=M=  F<`P  O=Y=  F<`P  [=d=  F<`P  f=o=  F<`P  q={=  F<`P  }=G>  F<`P  I>S>  F<`P  U>_>  F<`P  a>j>  F<`P  l>v>  F<`P  x>B?  F<`P  D?O?  F<`P  Q?\?  F<`P  ^?i?  F<`P  k?v?  F<`P  x?C@  F<`P  E@P@  F<`P  R@]@  F<`P  _@k@  F<`P  m@z@  F<`P  |@HA  F<`P  JAVA  F<`P  XAdA  F<`P  fArA  F<`P  tA@B  F<`P  BBNB  F<`P  PB\B  F<`P  ^BjB  F<`P  lBxB  F<`P  zBFC  F<`P  HCTC  F<`P  VCbC  F<`P  dCpC  F<`P  rC~C  F<`P  @DKD  F<`P  MDXD  F<`P  ZDfD  F<`P  hDtD  F<`P  vDBE  F<`P  DEPE  F<`P  RE^E  F<`P  `ElE  F<`P  nEzE  F<`P  |EHF  F<`P  JFSF  F<`P  UF]F  F<`P  _FjF  F<`P  lFwF  F<`P  yFDG  F<`P  FGQG  F<`P  SG^G  F<`P  `GkG  F<`P  mGxG  F<`P  zGEH  F<`P  GHQH  F<`P  SH]H  F<`P  _HjH  F<`P  lHwH  F<`P  yHDI  F<`P  FIQI  F<`P  SI^I  F<`P  `IkI  F<`P  mIxI  F<`P  zIEJ  F<`P  GJRJ  F<`P  TJ_J  F<`P  aJlJ  F<`P  nJyJ  F<`P  {JFK  F<`P  HKSK  F<`P  UKaK  F<`P  cKpK  F<`P  rK~K  F<`P  @LLL  F<`P  NLZL  F<`P  \LhL  F<`P  jLvL  F<`P  xLDM  F<`P  FMRM  F<`P  TM_M  F<`P  aMlM  F<`P  nMxM  F<`P  zMEN  F<`P  GNRN  F<`P  TN_N  F<`P  aNlN  F<`P  nNxN  F<`P  zNDO  F<`P  FOQO  F<`P  SO^O  F<`P  `OkO  F<`P  mOxO  F<`P  zOEP  F<`P  GPRP  F<`P  TP_P  F<`P  aP  cPWQ  XQ	 7<< DA DA !DAN 7??#E E $EB 7%%&_3 _3 '_3D ,'QR $0#/K 	WWk:KP#/?= S?=D :@ @,  F 	Z/2F; :  7??#S $SsVs   i1 i
