o
    Eb                     @   s  d dl Z d dlZd dlmZ d dlmZmZmZmZm	Z	m
Z
mZ d dlmZ d dlmZ d dlmZmZmZmZ g dZG dd	 d	ZG d
d dZG dd dZG dd dZG dd dZG dd dZG dd dZeg dZeg dZ G dd dZ!eg deg deg deg deg ddeg ddeg deg dddd Z"d!d" Z#G d#d$ d$Z$G d%d& d&Z%G d'd( d(Z&G d)d* d*Z'G d+d, d,Z(G d-d. d.Z)G d/d0 d0Z*G d1d2 d2Z+G d3d4 d4Z,G d5d6 d6Z-i d7eg d8d9eg d:d;eg d<d=eg d>d?eg d@dAeg dBdCeg dDdEeg dFdGeg dHdIg dJdKg dLdMg dNdOg dPdQg dRdSg dTdUg dVdWg dXg dYg dZd[Z.G d\d] d]Z/g d^g d_gd`dagfg dbg dcg ddgg defg dfg dgg dhg dig djgg dkfg dlg dmg dng dogg dpfdqZ0G drds dsZ1G dtdu duZ2dvdw Z3dxdy Z4dzd{ Z5d|d} Z6d~d Z7dS )    N)array)assert_array_almost_equalassert_array_equalassert_allcloseassert_equalassert_assert_array_lesssuppress_warnings)raises)fft)windows
get_windowresamplehann))boxcar )triangr   )parzenr   )bohmanr   )blackmanr   )nuttallr   )blackmanharrisr   )flattopr   )bartlettr   )hanningr   )barthannr   )hammingr   )kaiser   )dpss)   )gaussian      ?)general_gaussian)      ?r!   )chebwinr   )cosiner   )r   r   )exponentialr   )taylorr   )tukeyr#   c                   @      e Zd Zdd ZdS )TestBartHannc                 C   sF   t tjdddg d t tdg d t tddg d d S )	N   Tsym)r   gA,q?	5xB$?r1   gA,q?r      )r   HzG?\(\?      ?r4   r3   r   F)r   r3   r4   r5   r4   r3   )r   r   r   selfr   r   A/usr/lib/python3/dist-packages/scipy/signal/tests/test_windows.py
test_basic+   s   
zTestBartHann.test_basicN__name__
__module____qualname__r9   r   r   r   r8   r-   )       r-   c                   @   r,   )TestBartlettc                 C   sB   t tdg d t tdg d t tddg d d S )Nr.   )r   皙?皙?rA   r@   r   r2   )r   UUUUUU?UUUUUU?r5   rC   rB   r   F)r   rB   rC   r5   rC   rB   )r   r   r   r6   r   r   r8   r9   7   s
   zTestBartlett.test_basicNr:   r   r   r   r8   r?   5   r>   r?   c                   @   r,   )TestBlackmanc                 C   sn   t tjdddg ddd t tjdddg dd	d t tdg d
dd t tddg ddd d S )Nr.   Fr/   )r   p=
ף?)\(?r5   rF   rE   +=atolr2   )r   Fi'?b@c?Zgs?rL   rK   rJ   g:0yE>)r   쳩ֲ?,,?rN   rM   r   T)r   rE   rF   r5   rF   rE   r   )r   r   r   r6   r   r   r8   r9   @   s   

zTestBlackman.test_basicNr:   r   r   r   r8   rD   >   r>   rD   c                   @   r,   )TestBlackmanHarrisc                 C   ^   t tddg d t tjdddg d t tdg d t tjdddg d	 d S )
Nr.   F)iUMu?0_^}?縯猨?r5   rS   rR   r2   r/   )rQ   gjP?g'm$M?gu?gu?g*m$M?gjP?)rQ   ^?gU׈g?gU׈g?rT   rQ   T)rQ   rR   rS   r5   rS   rR   rQ   )r   r   r   r6   r   r   r8   r9   Q      
zTestBlackmanHarris.test_basicNr:   r   r   r   r8   rO   O   r>   rO   c                   @   s$   e Zd Zdd Zdd Zdd ZdS )
TestTaylorc                 C   sT   t tdddd t tdddtg d t tdddtg d d	S )
zTests windows of small length that are normalized to 1. See the
        documentation for the Taylor window for more information on
        normalization.
        r   r!      r5      )%6'HA?)T
?r5   rZ   rY   r.   )δX?繡1E?PD3m?r]   r\   r[   Nr   r   r*   npr   r6   r   r   r8   test_normalizedb   s   zTestTaylor.test_normalizedc                 C   sH   t tjdddddtg d t tjdddddtg d d	S )
zTest windows of small length that are not normalized to 1. See
        the documentation for the Taylor window for more information on
        normalization.
        rX   r!   rW   Fnorm)	P ?sCp?g)8ux?rd   rc   r.   ))S~?r5   kt#?rf   r5   re   Nr^   r6   r   r   r8   test_non_normalizedt   s   zTestTaylor.test_non_normalizedc           
   	   C   s   d}d}t j|ddddd}t||}dtt|t|  }tt|dk}t|||  }d	t|d
k | | }d	t|dk | | }	t	|ddd t	|ddd t	|	ddd dS )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)ZnbarZsllrb   r0      r   r!   gX$g_2gAfAr   rH   gLJ?皙?gZӼ@N)
r   r*   r   r_   Zlog10absZamaxZargmaxZdiffr   )
r7   ZM_winZN_fftwfspecZ
first_zeroZPSLLZBW_3dBZBW_18dBr   r   r8   test_correctness   s   
zTestTaylor.test_correctnessN)r;   r<   r=   r`   rg   rp   r   r   r   r8   rV   `   s    rV   c                   @   r,   )
TestBohmanc                 C   F   t tdg d t tjdddg d t tddg d d S )	Nr.   )r   g$I ?6 D?rs   g I ?r   r2   Tr/   )r   PG?4}|?r5   6}|?rt   r   F)r   rt   ru   r5   rv   rt   )r   r   r   r6   r   r   r8   r9      s   
zTestBohman.test_basicNr:   r   r   r   r8   rq      r>   rq   c                   @   r,   )
TestBoxcarc                 C   sB   t tdg d t tdg d t tddg d d S )Nr.   r   r   r   r   r   r   r2   r   r   r   r   r   r   r   F)r   r   r   r6   r   r   r8   r9      s   zTestBoxcar.test_basicNr:   r   r   r   r8   rw      r>   rw   )5CV?CԳ ?Q&E?:*?;Bu?9#?=[?Z
G?ٵݒ?Lg?(+ ?T=? zR&5?scH?u?]/M`?xC8???9?mo?[?T:?sK!q?/M.?×?)s?r5   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r~   r}   r|   r{   rz   )6?2?w.v?f*#?灖`?d${!??M?ut\?Ljh?xak?WY?qj?<)[?@ի?MEs?甽/?{l?[^6?:Ug$?: U\?I.!v?Clp?gF?稦$p?VLy?.?r5   r5   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   c                   @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )TestChebWinc                 C   s   t  G}|td ttddg d ttddg d ttddg d ttddg d	 ttddd
g d W d    d S 1 sMw   Y  d S )NThis window is not suitabler.   d   )}	ɺ?L >?r5   r5   r   r   r2   )S?D1mPC?%5R?r5   r   r   r   
   )r5   TEm?	-o?r   r   r5   )r5   F3?NO?	r]?r   r   r5   F)r5   r   r   r   r   r   )r	   filterUserWarningr   r   r'   )r7   supr   r   r8   r9      s$   "zTestChebWin.test_basicc                 C   R   t  }|td tjddd}W d    n1 sw   Y  t|tdd d S )Nr   5   Zatrh   Zdecimal)r	   r   r   r   r'   r   cheb_odd_true)r7   r   cheb_oddr   r   r8   test_cheb_odd_high_attenuation   
   z*TestChebWin.test_cheb_odd_high_attenuationc                 C   r   )Nr   6   (   r   rh   r   )r	   r   r   r   r'   r   cheb_even_true)r7   r   	cheb_evenr   r   r8   test_cheb_even_high_attenuation  r   z+TestChebWin.test_cheb_even_high_attenuationc                 C   ^   t g d}t }|td tjddd}W d    n1 s!w   Y  t||dd d S )N)r5   m?燿&k?gc[?r   r   r5   r   r2   r   r   rh   r   r   r	   r   r   r   r'   r   )r7   Zcheb_odd_low_at_truer   r   r   r   r8   test_cheb_odd_low_attenuation     z)TestChebWin.test_cheb_odd_low_attenuationc                 C   r   )N)r5   R?N(D!T?#R?r   r   r   r5   r      ir   rh   r   r   )r7   Zcheb_even_low_at_truer   r   r   r   r8   test_cheb_even_low_attenuation  r   z*TestChebWin.test_cheb_even_low_attenuationN)r;   r<   r=   r9   r   r   r   r   r   r   r   r8   r      s    	r   )|dy?vS?{?r5   r   )1B?%?r   r   )́R?8,6V?r5   r   )\Kr?
oh?r   r   )r   r   r5   r   r   )r   r   r5   r   r   ))rh   N皙?F)rh   Nr   T)rh   Nr5   F)rh   Nr5   T)rh   r!   r   F)rh   r!   r   T)rh   r!   r5   F)rh   r!   r5   T)rX   Nr   T)rX   Nr5   T)rX   r!   r   T)rX   r!   r5   Tc                  C   sL   t  D ]\} }|d u rtttjg| R   qtj|  }t||dd qd S NrG   rtol)exponential_dataitemsassert_raises
ValueErrorr   r)   r   )kvwinr   r   r8   test_exponential7  s   
r   c                   @   r,   )TestFlatTopc                 C   ^   t tjdddg d t tjdddg d t tdg d t tddg d	 d S )
Nr.   Fr/   )bF;s*?dR	p^?r5   r   r   r2   )r   `p|ܢ?J?r   r   r   )r   <#U_&k?r   r   r   T)r   r   r   r5   r   r   r   )r   r   r   r6   r   r   r8   r9   B  s   
zTestFlatTop.test_basicNr:   r   r   r   r8   r   @  r>   r   c                   @   r,   )TestGaussianc                 C   s^   t tddg d t tddg d t tddg d t tddd	g d
 d S )Nr.   r5   )|~?w$?"$j=?r   r   r   r2   g333333?)r   
"?;eܜ?r5   r   r   r      )r   ?yLE?r5   r   r   r   F)r   r   r   r5   r   r   )r   r   r"   r6   r   r   r8   r9   V  s   zTestGaussian.test_basicNr:   r   r   r   r8   r   T  r>   r   c                   @   r,   )TestGeneralCosinec                 C   s<   t tdg dg d t tjdg dddg d d S )NrX   r$   333333?r   )r@   r  r   r  r@   rh   Fr/   r@   r  r   r  )r   r   general_cosiner6   r   r   r8   r9   k  s   zTestGeneralCosine.test_basicNr:   r   r   r   r8   r   i  r>   r   c                   @   r,   )TestGeneralHammingc                 C   sN   t tddg d t tjddddg d t tjddd	dg d
 d S )NrX   ffffff?r@   r  r5   r  r@         ?Fr/   )r$   y&"?x?r	  r  r.   T)r$   r  r	  r	  r  r$   )r   r   general_hammingr6   r   r   r8   r9   t  s   zTestGeneralHamming.test_basicNr:   r   r   r   r8   r  r  r>   r  c                   @   r,   )TestHammingc                 C   rP   )
Nr.   F){Gz?ףp=
?p=
ף?r5   r  r  r2   r/   )r  CW4?	/5?4Cъ?r  r  r  )r  6 iv?P0?r  r  r  T)r  r  r  r5   r  r  r  )r   r   r   r6   r   r   r8   r9     rU   zTestHamming.test_basicNr:   r   r   r   r8   r    r>   r  c                   @   r,   )TestHannc                 C   s^   t tjdddg d t tjdddg d t tddg d t tdg d	 d S )
Nr.   Fr/   )r         ?r  r5   r  r  r2   )r   \$:?H`r?8T^j?r  r  r  Tr   Xhd?Tͻ?r  r  r   r   r  r  r5   r  r  r   )r   r   r   r6   r   r   r8   r9     s   
zTestHann.test_basicNr:   r   r   r   r8   r    r>   r  c                   @   r,   )
TestKaiserc                 C   st   t tddg d t tddg d t tddg d t tddg d t tddd	g d
 d S )Nr.   r$   )l?<3N?i>%?r   r  r  r2   )r  	$?6?r5   r"  r!  r  g@)§Aը?O F?$?r%  r$  r#  )r#  *'?=a?r5   r'  r&  r#  F)r#  r&  r'  r5   r'  r&  )r   r   r   r6   r   r   r8   r9     s   zTestKaiser.test_basicNr:   r   r   r   r8   r    r>   r  c                   @   r,   )TestNuttallc                 C   r   )
Nr.   Fr/   )A"7?v;O<g?$2bUs?r5   r+  r*  r2   )r)  gx&yxXW?g??絑?r,  g??g&yxXW?)r)  gEJ?g=`T?g>`T?gEJ?r)  T)r)  r*  r+  r5   r+  r*  r)  )r   r   r   r6   r   r   r8   r9     s   
zTestNuttall.test_basicNr:   r   r   r   r8   r(    r>   r(  c                   @   r,   )
TestParzenc                 C   rr   )	Nr.   )e/?r  88?r/  r  r.  r2   Tr/   )%OZQ%w?2|&?݁?r5   r2  r1  r0  F)r0  r1  r2  r5   r2  r1  )r   r   r   r6   r   r   r8   r9     s   
zTestParzen.test_basicNr:   r   r   r   r8   r-    r>   r-  c                   @   r,   )
TestTriangc                 C   sF   t tddg d t tdg d t tjdddg d d S )	Nr.   T)UUUUUU?r$   竪?r5  r$   r4  r2   )r  r$   r  r   r  r$   r  Fr/   )r  r$   r  r   r  r$   )r   r   r   r6   r   r   r8   r9     s   
zTestTriang.test_basicNr:   r   r   r   r8   r3    r>   r3  )rh   r$   T)        r5   r5   r6  )rh   ?T)r6  ?r8  r6  )rh   r5   T)r6  r  r  r6  )rh   r$   F)r6  r5   r5   r5   )rh   r7  F)r6  rnOC?r5   r9  )rh   r5   F)r6  r$   r5   r$   )rX   r6  T)r5   r5   r5   r5   r5   )rX   rA   T)r6  Yx?r5   r:  r6  )rX   r5   T)r6  r$   r5   r$   r6  )r.   r   rx   )r2   r   ry   )r.   r  )r   r   r   r   r   r   )r2   r  )r   r   r   r   r   r   r   )r.   )r   r  r5   r5   gRͻ?r   )r2   )r   r  r5   r5   r5   r  r   )r.   r  )r   gxų	&?r5   r5   gvų	&?r   )r2   r  )r   g#}`yq?)!?r5   r;  g#}`yq?r   r  r  ))r.   r   )r2   r   c                   @   s   e Zd Zdd Zdd ZdS )	TestTukeyc                 C   sL   t  D ]\}}|d u rtttjg|R   qtj| }t||dd qd S r   )
tukey_datar   r   r   r   r+   r   )r7   r   r   r   r   r   r8   r9     s   
zTestTukey.test_basicc                 C   sD   t dd}t d}t|| t dd}t d}t|| d S )Nr   r   r   )r   r+   r   r   r   )r7   Ztuk0Zbox0Ztuk1Zhan1r   r   r8   test_extremes  s   


zTestTukey.test_extremesN)r;   r<   r=   r9   r>  r   r   r   r8   r<    s    	r<  )IP?;]L?r@  r?  )g/vI<t?gE@?gE@̿g/vI<tgV?g$aȲ`?)ыBA?gnjk?rA  )g>ef?r6  g>ef)	#n?gLorB  )gm/ ?g96+?g雦br?)g w?V?g>J#?g;Wi?g֙}I#?gr?V?)g:7A!(?cHX?r6  cHXS[@!(ܿ)qh4?T1a~²?gEܿrG  rF  )rC  rE  r6  gS[@!(?rD  )gu+t?X>߿g36?rH  g;St?)gML?gh5"z?g\v4?gPa?gd?)dsk8Si?p&p?5Bu?OL{?08À?w-<?kF?^R?kPz?1?Y^Q?X9?dkѐ^ś?3aJ?)IQ?-?ѫ"?給.?~9P?~n[?8Wϭ?	%fҳ?!KI?PJd?/ĳ?$~s	?pkuP?%ꙷ?
?q*?%wo?Zo??矐Ӄ?磓B@%?g3?/ߗ#@?0?@?=?.F!?it3?:.?X.?GkNVs?玃"Hk? 'F?精`?iGU?#!5#?rz  ry  rx  rw  rv  ru  rt  rs  rr  rq  rp  ro  rn  rm  rl  rk  rj  ri  rh  rg  rf  re  rd  rc  rb  ra  r`  r_  r^  r]  r\  r[  rZ  rY  rX  rW  rV  rU  rT  rS  rR  rQ  rP  rO  rN  rM  rL  rK  rJ  rI  )dgUw|?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[$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|)d|W◰?煢	͓??
8ρ?\i?ٮ32A?!;f?+?3sXL2??J?5QG?Ao?W? }2?␉k?IǇ?F6?f?ch'?%"a?h/K?:?>}?DC1?XB?QST`?s\NK?
3?<s?o?@1O?5M?#$7?,9ṗ?C)?W]{?#Ys臈En꛿x;i6
v^
m-b3[Ehp[6a0_:WR~戺0ъҺr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r~  r}  r|  r{  )dgI!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@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]PvgvA]Pv?gU,?gLH?ga?g3?gvľ?gw|?g,]Bi?g#qv?gT?g~`?g<Wul?gp?g?g7<w?g3`?gC?gpQZ?g/Z~ܳ?gu\q?g68?g8QJ?gS!?g7/`_q?gǐ3?g@m8Mi?g"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 `?))rh   rk   r!   )r   gffffff?r   )rX   r&   rX   )r   r!   rh   c                   @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )
TestDPSSc                 C   sT   t  D ]#\}}tj|ddi\}}t||d d|d t||d dd|d qd S )	Nreturn_ratiosTr   gHz>)rI   err_msgr   gh㈵>)r   rI   r  )	dpss_datar   r   r    r   )r7   r   r   r   Zratiosr   r   r8   r9   &  s
   zTestDPSS.test_basicc                 C   s   t ddD ]e}t||d }|d }tt|d |d|f d tj||d dd	}|dkrHtt|d |d|f d t||d
d tj||d dd	}|dkrXdnd}tt|d |d|f d qd S )Nr      g @r!   r5   z%s)r  Z	subsamplera   gQ?r   r   )ranger   r    r   r_   Zisclosesumr   )r7   Mr   ZexpectedZwin_subZwin_2r   r   r8   
test_unity-  s$   zTestDPSS.test_unityc                 C   sd   t jdddddd }t|d t jdddddd }t|d t jdd	dddd }t|d d S )
N   r.   rh   T)r  r   r5   r2   r   )r   r    r   )r7   Zlamr   r   r8   r>  B  s   

zTestDPSS.test_extremesc                 C   s   t ttjddd t ttjddd t ttjddd t ttjddd t ttjddd t ttjddd t ttjddd d S )	Nrh   r&   g?r   r   r   )r   r   r   r    	TypeErrorr6   r   r   r8   test_degenerateK  s   zTestDPSS.test_degenerateN)r;   r<   r=   r9   r  r>  r  r   r   r   r8   r  $  s
    	r  c                   @   sT   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd ZdS )TestGetWindowc                 C   s<   t dd}t|t| t dd}t|t| d S )Nr      )r      )r   r   r   r_   Z	ones_like)r7   rm   r   r   r8   test_boxcarX  s   zTestGetWindow.test_boxcarc                 C   T   t  }|td tjdddd}W d    n1 sw   Y  t|tdd d S )Nr   )r'   r   r   FZfftbinsrh   r   )r	   r   r   r   r   r   r   r7   r   rm   r   r   r8   test_cheb_odd`  
   zTestGetWindow.test_cheb_oddc                 C   r  )Nr   )r'   r   r   Fr  rh   r   )r	   r   r   r   r   r   r   r  r   r   r8   test_cheb_evenf  r  zTestGetWindow.test_cheb_evenc                 C   s.   t jdddd}t dd}t||dd d S )N)r    r   @   Fr  r   rh   r   )r   r   r    r   r7   Zwin1Zwin2r   r   r8   	test_dpssl  s   zTestGetWindow.test_dpssc                 C   s(   t dd}t ddd}t|| d S )Ng@r  F)r   r   r   r   r  r   r   r8   test_kaiser_floatq  s   zTestGetWindow.test_kaiser_floatc                 C   s(   t ttjtdd t ttjdd d S )Nr   r   Zbrokenrh   )r   r   r   r   setr6   r   r   r8   test_invalid_inputsv  s   z!TestGetWindow.test_invalid_inputsc                 C   sf   d}t d}td|d }ttdd t|t|| |d W d    d S 1 s,w   Y  d S )N   )r   g       @r!   zmust have the same length)match)window)r_   Zaranger   r   r   r   r   len)r7   ZosfactorZsigr   r   r   r8   test_array_as_window}  s   
"z"TestGetWindow.test_array_as_windowc                 C   s@   t tdg dfdg d t tdg dfdddg d d S )Nr  r   rh   r  Fr  )r@   皙?r  r@   r   r   r6   r   r   r8   test_general_cosine  s   z!TestGetWindow.test_general_cosinec                 C   s0   t tddg d t tddddg d d S )N)r
  r  rX   )r@   жn?男*?r  r  Fr  r  r  r6   r   r   r8   test_general_hamming  s   
z"TestGetWindow.test_general_hammingN)r;   r<   r=   r  r  r  r  r  r  r  r  r  r   r   r   r8   r  V  s    	r  c               	   C   sz  t D ]\} }tt| }t }|td | dv r |t |dg|R ddi}|dg|R ddi}t|d d | |d	g|R ddi}|dg|R ddi}t|d d | tt	|d
g|R ddid
 tt	|d
g|R ddid
 tt	|dg|R ddid tt	|dg|R ddid t
t|dg|R   t
t|dg|R   t|dg|R ddig  t|dg|R ddig  t|dg|R ddidg t|dg|R ddidg t|dg|R ddijdk t|dg|R ddijdk t|dg|R ddijdk t|dg|R ddijdk t|d
g|R ddijdk t|d
g|R ddijdk t|dg|R ddid t|dg|R ddid t|d	g|R ddid t|d	g|R ddid tt|dg|R ddijddd tt|dg|R ddijddd W d    n	1 sw   Y  qd S )Nr   )r   r   r0   Tr2   Fr  	   r.   g      @ir   r   floatr   g)\(?rG   rH      )window_funcsgetattrr   r	   r   r   DeprecationWarningr   r   r  r   r   r   r   Zdtyper   r   r   imag)Zwindow_nameparamsr  r   Zw1Zw2r   r   r8   test_windowfunc_basics  sR   


          r  c                  C   s   dD ]	} t tt| d qd S )N)r   Zksrr"   ZgaussZgsszgeneral gaussianr%   zgeneral gaussZgeneral_gaussZggsZdssr    zgeneral cosiner  r'   Zchebzgeneral hammingr
  r2   )r   r   r   )winstrr   r   r8   test_needs_params  s   r  c                  C   s&   dD ]} t | d}tt|d qd S )N)r   r   r   r   r   r   r(   r   r   r   r   r   r*   r)   Zpoissonr+   ZtukZtriangler2   )r   r   r  )r  r   r   r   r8   test_not_needs_params  s   
r  c                   C   s0   t jd urtdt jv  tdtjjv d S d S )Nzsignal.hann is deprecatedZ
deprecated)dep_hann__doc__r   r   r   r   r   r   r8   test_deprecation  s   
r  c                  C   s    t t t} t| tu  d S )N)pickleloadsdumpsr  r   )Z	dep_hann2r   r   r8   test_deprecated_pickleable  s   r  )8r  Znumpyr_   r   Znumpy.testingr   r   r   r   r   r   r	   Zpytestr
   r   Z	scipy.fftr   Zscipy.signalr   r   r   r   r  r  r-   r?   rD   rO   rV   rq   rw   r   r   r   r   r   r   r   r   r  r  r  r  r(  r-  r3  r=  r<  r  r  r  r  r  r  r  r  r   r   r   r8   <module>   s    $	J
9






			
("2>5
