Ë
    âQ(h   ã                   óÎ  — 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 g d¢Z G d„ d	«      Z G d
„ d«      Z G d„ d«      Z G d„ d«      Z G d„ d«      Z G d„ d«      Z G d„ d«      Z eg d¢«      Z eg d¢«      Z G 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!„ Z  G d"„ d#«      Z! G d$„ d%«      Z" G d&„ d'«      Z# G d(„ d)«      Z$ G d*„ d+«      Z% G d,„ d-«      Z& G d.„ d/«      Z' G d0„ d1«      Z( G d2„ d3«      Z) G d4„ d5«      Z* G d6„ d7«      Z+i d8 eg d9¢«      “d: eg d;¢«      “d< eg d=¢«      “d> eg d?¢«      “d@ eg dA¢«      “dB eg dC¢«      “dD eg dE¢«      “dF eg dG¢«      “dH eg dI¢«      “dJg dK¢“dLg dM¢“dNg dO¢“dPg dQ¢“dRg dS¢“dTg dU¢“dVg dW¢“dXg dY¢“g dZ¢g d[¢d\œ¥Z, G d]„ d^«      Z-g d_¢g d`¢gdadbgfg dc¢g dd¢g de¢gg df¢fg dg¢g dh¢g di¢g dj¢g dk¢gg dl¢fg dm¢g dn¢g do¢g dp¢gg dq¢fdrœZ. G ds„ dt«      Z/ G du„ dv«      Z0 G dw„ dx«      Z1dy„ Z2dz„ Z3d{„ Z4d|„ Z5y)}é    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))Úboxcar© )Útriangr   )Úparzenr   )Úbohmanr   )Úblackmanr   )Únuttallr   )Úblackmanharrisr   )Úflattopr   )Úbartlettr   )Úbarthannr   )Úhammingr   )Úkaiser©é   )Údpss)é   )Úgaussian©ç      à?)Úgeneral_gaussian)ç      ø?r    )Úchebwinr   )Úcosiner   )Úhannr   )Úexponentialr   )Útaylorr   )Útukeyr"   )Úlanczosr   c                   ó   — e Zd Zd„ Zy)ÚTestBartHannc                 óâ   — t        t        j                  dd¬«      g d¢dd¬«       t        t        j                  d«      g d¢dd¬«       t        t        j                  dd	«      g d
¢dd¬«       y )Né   T©Úsym)r   gøA,qÞòÖ?ç	5xôB$ì?r3   göA,qÞòÖ?r   çVçž¯Ò<©ÚrtolÚatolé   )r   çHáz®GÑ?ç\�Âõ(\ç?ç      ð?r:   r9   r   F)r   r9   r:   r;   r:   r9   )r   r   r   ©Úselfs    ú]/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/signal/tests/test_windows.pyÚ
test_basiczTestBartHann.test_basic)   sd   € Üœ×(Ñ(¨°Ô5òDà"¨õ	0ô 	œ×(Ñ(¨Ó+Ú;Ø"¨õ	0ô 	œ×(Ñ(¨¨EÓ2Ú8Ø"¨ö	0ó    N©Ú__name__Ú
__module__Ú__qualname__r?   r   r@   r>   r.   r.   '   s   „ ó
0r@   r.   c                   ó   — e Zd Zd„ Zy)ÚTestBartlettc                 óÌ   — t        t        j                  d«      g d¢«       t        t        j                  d«      g d¢«       t        t        j                  dd«      g d¢«       y )Nr0   )r   çš™™™™™Ù?çš™™™™™é?rI   rH   r   r8   )r   çUUUUUUÕ?çUUUUUUå?r;   rK   rJ   r   F)r   rJ   rK   r;   rK   rJ   )r   r   r   r<   s    r>   r?   zTestBartlett.test_basic8   sH   € Üœ×(Ñ(¨Ó+Ò-GÔHÜœ×(Ñ(¨Ó+Ò-LÔMÜœ×(Ñ(¨¨EÓ2Ú4õ	6r@   NrA   r   r@   r>   rF   rF   6   s   „ ó6r@   rF   c                   ó   — e Zd Zd„ Zy)ÚTestBlackmanc                 ó&  — t        t        j                  dd¬«      g d¢d¬«       t        t        j                  dd¬«      g d¢d	¬«       t        t        j                  d«      g d
¢d¬«       t        t        j                  dd«      g d¢d¬«       y )Nr0   Fr1   )r   ç¤p=
×£À?ç)\�Âõ(ä?r;   rP   rO   ç›+¡†›„=©r7   r8   )r   çF…i£ô'·?ç—bê@cÝ?ç×Zgžsí?rU   rT   rS   g:Œ0âŽyE>)r   çì³©Ö²É?çž,¯ä,ë?rW   rV   r   T)r   rO   rP   r;   rP   rO   r   )r   r   r   r<   s    r>   r?   zTestBlackman.test_basicA   s   € Üœ×(Ñ(¨°Ô6Ú8¸uõ	Fäœ×(Ñ(¨°Ô6òBàHLõ	Nô 	œ×(Ñ(¨Ó+òDà"õ	$ô 	œ×(Ñ(¨¨DÓ1Ú;À%ö	Ir@   NrA   r   r@   r>   rM   rM   ?   s   „ óIr@   rM   c                   ó   — e Zd Zd„ Zy)ÚTestBlackmanHarrisc                 ó  — t        t        j                  dd«      g d¢«       t        t        j                  dd¬«      g d¢«       t        t        j                  d«      g d¢«       t        t        j                  dd¬«      g d	¢«       y )
Nr0   F)çiUMu?çè0_^€}¬?ç¸¯çŒ¨à?r;   r]   r\   r8   r1   )r[   gˆj—P¸¡?g'mþå$MÕ?gÇÿ·˜·uì?gÈÿ·˜·uì?g*mþå$MÕ?g�j—P¸¡?)r[   çµÚö^º?gòU×ˆgé?gôU×ˆgé?r^   r[   T)r[   r\   r]   r;   r]   r\   r[   )r   r   r   r<   s    r>   r?   zTestBlackmanHarris.test_basicR   sw   € Üœ×.Ñ.¨q°%Ó8ÚNô	Päœ×.Ñ.¨q°eÔ<òBô	Cô 	œ×.Ñ.¨qÓ1òJô	Kô 	œ×.Ñ.¨q°dÔ;ò"õ	#r@   NrA   r   r@   r>   rY   rY   P   s   „ ó#r@   rY   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)Ú
TestTaylorc                 ó  — t        t        j                  ddd«      d«       t        t        j                  ddd«      t        j                  g d¢«      «       t        t        j                  ddd«      t        j                  g d¢«      «       y	)
z£Tests windows of small length that are normalized to 1. See the
        documentation for the Taylor window for more information on
        normalization.
        r   r    é   r;   é   )ç%6'HÏAè?ç)ÞTæÞ
í?r;   re   rd   r0   )ç©Î´Xè?ç¹¡1¬E¸ë?çPD3mï?rh   rg   rf   N©r   r   r*   Únpr   r<   s    r>   Útest_normalizedzTestTaylor.test_normalizedc   sk   € ô
 	œŸ™ q¨!¨RÓ0°#Ô6ÜÜ�N‰N˜1˜a Ó$Ü�H‰HÒJÓKô	
ô 	Ü�N‰N˜1˜a Ó$Ü�H‰Hò ó õ	
r@   c                 óä   — t        t        j                  dddd¬«      t        j                  g d¢«      «       t        t        j                  dddd¬«      t        j                  g d¢«      «       y	)
z¦Test windows of small length that are not normalized to 1. See
        the documentation for the Taylor window for more information on
        normalization.
        rc   r    rb   F©Únorm)ç	P•ç¨ ì?çsCËpÃð?g)8‚uxò?rp   ro   r0   )ç)S~Œ¸ë?r;   çktÖÀ¹#ò?rr   r;   rq   Nri   r<   s    r>   Útest_non_normalizedzTestTaylor.test_non_normalizedu   s\   € ô
 	Ü�N‰N˜1˜a ¨%Ô0Ü�H‰Hò ó ô	
ô 	Ü�N‰N˜1˜a ¨%Ô0Ü�H‰Hò ó õ	
r@   c           	      ó:  — d}d}t        j                  |dddd¬«      }t        ||«      }dt        j                  t        j
                  |t        j                  |«      z  «      «      z  }t        j                  t        j                  |«      dkD  «      }t        j                  |||  «      }d	t        j                  |d
k  «      z  |z  |z  }d	t        j                  |dk  «      z  |z  |z  }	t        |dd¬«       t        |dd¬«       t        |	dd¬«       y)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Úsllrn   r2   é   r   r    gXÇ$Àg_‚•Ò2ÀgòAÏf•AÀr   rR   g˜LŒJêò?çš™™™™™¹?gˆ…ZÓ¼ã@N)
r   r*   r   rj   Úlog10ÚabsÚamaxÚargmaxÚdiffr   )
r=   ÚM_winÚN_fftÚwÚfÚspecÚ
first_zeroÚPSLLÚBW_3dBÚBW_18dBs
             r>   Útest_correctnesszTestTaylor.test_correctness‡   sõ   € ð ˆØˆô �N‰N˜5 q¨b°uÀ%ÔHˆÜ��5‹MˆØ”B—H‘HœRŸV™V A¬¯©°«
¡NÓ3Ó4Ñ4ˆä—Y‘YœrŸw™w t›}¨qÑ0Ó1ˆ
ä�w‰w�t˜J¨
 {Ð3Ó4ˆà”2—9‘9˜TÐ%8Ñ8Ó9Ñ9¸EÑAÀEÑIˆØ”B—I‘I˜dÐ&9Ñ9Ó:Ñ:¸UÑBÀUÑJˆä˜˜h¨QÕ/Ü˜ ¨SÕ1Ü˜ ¨cÖ2r@   N)rB   rC   rD   rk   rs   r‰   r   r@   r>   r`   r`   a   s   „ ò
ò$
ó$!3r@   r`   c                   ó   — e Zd Zd„ Zy)Ú
TestBohmanc                 óÐ   — t        t        j                  d«      g d¢«       t        t        j                  dd¬«      g d¢«       t        t        j                  dd«      g d¢«       y )	Nr0   )r   g$I³ ˆíÆ?ç6 Dî­²ê?r�   g I³ ˆíÆ?r   r8   Tr1   )r   ç éëPGç»?ç4}êè|ã?r;   ç6}êè|ã?rŽ   r   F)r   rŽ   r�   r;   r�   rŽ   )r   r   r   r<   s    r>   r?   zTestBohman.test_basic­   sX   € ÜœŸ™ qÓ)òDô	Eô 	œŸ™ q¨dÔ3òDô	Eô 	œŸ™ q¨%Ó0òAõ	Br@   NrA   r   r@   r>   r‹   r‹   «   s   „ ó	Br@   r‹   c                   ó   — e Zd Zd„ Zy)Ú
TestBoxcarc                 óÌ   — t        t        j                  d«      g d¢«       t        t        j                  d«      g d¢«       t        t        j                  dd«      g d¢«       y )Nr0   ©r   r   r   r   r   r   r8   ©r   r   r   r   r   r   r   F)r   r   r   r<   s    r>   r?   zTestBoxcar.test_basic»   s@   € ÜœŸ™ qÓ)Ò+=Ô>ÜœŸ™ qÓ)Ò+@ÔAÜœŸ™ q¨%Ó0Ò2DÕEr@   NrA   r   r@   r>   r’   r’   ¹   s   „ óFr@   r’   )5çæCV¸É?çC®Ô³ ”»?çQÜñ&¿EÁ?çÆÀ:Ž*Å?ç‹ÿ;¢BuÉ?çúíëÀ9#Î?ç=î[­—Ñ?çZ‚Œ€
GÔ?çÙµ½Ý’×?çLÁgÓÚ?ç(+†« Ý?çïTÀ=Ïà?ç zR&5´á?çs�ËcÍHã?ç…–uÿØä?ç¼]/M`æ?çxC8Ùç?çïô¥·?é?çÚ9ÍíŽê?çm¨çoÂë?çäÙå[Öì?ç�Tâ:Æí?çsK«!q�î?ç/Màô.ï?ç„ÖÃ—‰¢ï?çÃ)só�èï?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–   )6ç?áìÖ2Ê?çw.Œô¢v»?ç×Ûf*Ä#Á?ç�–®`ñÄ?çd${„š!É?çŸ��·±Í?ç®ãüMÑ?çut\�ìÓ?ç¥Ljh°Ö?çxak¶ò’Ù?çŠWYÛ�Ü?çÿêqßj�ß?ç†<‚)[á?ç@ÜÕ«Èèâ?çôMšEsä?ç”½¥œ/öå?çéñ{›þlç?ç[^¹Þ6Óè?çÅ:U¾g$ê?ç:• U\ë?çI.ÿ!ývì?çùõCl°pí?çg¸ŸFî?ç¨¦$ëpôî?çV˜‡Lyï?çä.ÂåÒï?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°   c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestChebWinc                 óÄ  — t        «       5 }|j                  t        d«       t        t	        j
                  dd«      g d¢«       t        t	        j
                  dd«      g d¢«       t        t	        j
                  dd«      g d¢«       t        t	        j
                  dd«      g d	¢«       t        t	        j
                  ddd
«      g d¢«       d d d «       y # 1 sw Y   y xY w)NúThis window is not suitabler0   éd   )ç}õ	³Éº?çLù ‡>à?r;   r;   rÐ   rÏ   r8   )ç×öSî¬?ç�D1mPCÔ?ç%5ÂáèRè?r;   rÓ   rÒ   rÑ   é
   )r;   çT€ýE‡mã?ç¢	Å-oÉå?rÖ   rÕ   r;   )r;   çÂF˜3œà?çýNOÖÃâ?ç»	r]†ã?rØ   r×   r;   F)r;   r×   rØ   rÙ   rØ   r×   )r
   ÚfilterÚUserWarningr   r   r&   )r=   Úsups     r>   r?   zTestChebWin.test_basicæ   sÀ   € ÜÓ ð 	2 CØ�J‰J”{Ð$AÔBÜœGŸO™O¨A¨sÓ3òEôFô œGŸO™O¨A¨sÓ3òEôFô œGŸO™O¨A¨rÓ2òJôKô œGŸO™O¨A¨rÓ2ò6ô7ô œGŸO™O¨A¨r°5Ó9ò1ô2÷!	2÷ 	2ñ 	2ús   ‹CCÃCc                 óÀ   — t        «       5 }|j                  t        d«       t        j                  dd¬«      }d d d «       t        t        d¬«       y # 1 sw Y   ŒxY w)NrÍ   é5   éØÿÿÿ©Úatru   ©Údecimal)r
   rÚ   rÛ   r   r&   r   Úcheb_odd_true)r=   rÜ   Úcheb_odds      r>   Útest_cheb_odd_high_attenuationz*TestChebWin.test_cheb_odd_high_attenuationü   sL   € ÜÓ ð 	3 CØ�J‰J”{Ð$AÔBÜ—‘ r¨cÔ2ˆH÷	3ô 	" (¬MÀ1ÖE÷	3ð 	3úó   ‹.AÁAc                 óÀ   — t        «       5 }|j                  t        d«       t        j                  dd¬«      }d d d «       t        t        d¬«       y # 1 sw Y   ŒxY w)NrÍ   é6   é(   rà   ru   râ   )r
   rÚ   rÛ   r   r&   r   Úcheb_even_true)r=   rÜ   Ú	cheb_evens      r>   Útest_cheb_even_high_attenuationz+TestChebWin.test_cheb_even_high_attenuation  sL   € ÜÓ ð 	3 CØ�J‰J”{Ð$AÔBÜŸ™¨¨rÔ2ˆI÷	3ô 	" )¬^ÀQÖG÷	3ð 	3úrç   c                 óÒ   — t        g d¢«      }t        «       5 }|j                  t        d«       t	        j
                  dd¬«      }d d d «       t        |d¬«       y # 1 sw Y   ŒxY w)N)r;   çmŒ�ðœà?ç‡¿&kÔÃâ?gïäÓc[†ã?rð   rï   r;   rÍ   r8   rÔ   rà   ru   râ   ©r   r
   rÚ   rÛ   r   r&   r   )r=   Úcheb_odd_low_at_truerÜ   rå   s       r>   Útest_cheb_odd_low_attenuationz)TestChebWin.test_cheb_odd_low_attenuation  s_   € Ü$ò &0ó  1Ðô Ó ð 	1 CØ�J‰J”{Ð$AÔBÜ—‘ q¨RÔ0ˆH÷	1ô 	" (Ð,@È!ÖL÷	1ð 	1úó   ˜.AÁA&c                 óÒ   — t        g d¢«      }t        «       5 }|j                  t        d«       t	        j
                  dd¬«      }d d d «       t        |d¬«       y # 1 sw Y   ŒxY w)N)r;   ç Â¤RìÜ?çN(DÀ!Tà?ç# Â¤Rá?rø   r÷   rö   r;   rÍ   é   iöÿÿÿrà   ru   râ   rñ   )r=   Úcheb_even_low_at_truerÜ   rì   s       r>   Útest_cheb_even_low_attenuationz*TestChebWin.test_cheb_even_low_attenuation  s_   € Ü %ò ';ó !<Ðô Ó ð 	3 CØ�J‰J”{Ð$AÔBÜŸ™¨¨cÔ2ˆI÷	3ô 	" )Ð-BÈAÖN÷	3ð 	3úrô   N)rB   rC   rD   r?   ræ   rí   ró   rû   r   r@   r>   rË   rË   ä   s   „ ò2ò,FòHòMóOr@   rË   )ç›|dµyÍ?çvSà?™{?r;   rý   )ç´1¤›B?ç%ô”À…µ?rÿ   rþ   )çÌ�¿£ªRÁ?ç8ï,6V‹×?r;   r  )ç\Kr‡�Ì?ç
–oü²hã?r  r  )rü   rý   r;   rý   rü   )r   r  r;   r  r   ))ru   Nçš™™™™™É?F)ru   Nr  T)ru   Nr;   F)ru   Nr;   T)ru   r    r  F)ru   r    r  T)ru   r    r;   F)ru   r    r;   T)rc   Nr  T)rc   Nr;   T)rc   r    r  T)rc   r    r;   Tc                  óÀ   — t         j                  «       D ]G  \  } }|€ t        t        t        j
                  g| ¢­Ž  Œ(t	        j
                  | Ž }t        ||d¬«       ŒI y )NrQ   ©r6   )Úexponential_dataÚitemsÚassert_raisesÚ
ValueErrorr   r)   r   )ÚkÚvÚwins      r>   Útest_exponentialr  8  sT   € Ü ×&Ñ&Ó(ò 0‰ˆˆ1Øˆ9Üœ*¤g×&9Ñ&9Ð>¸AÔ>ä×%Ñ% qÐ)ˆCÜ˜C ¨Ö/ñ0r@   c                   ó   — e Zd Zd„ Zy)ÚTestFlatTopc                 ó  — t        t        j                  dd¬«      g d¢«       t        t        j                  dd¬«      g d¢«       t        t        j                  d«      g d¢«       t        t        j                  dd«      g d	¢«       y )
Nr0   Fr1   )ç˜ÿbF˜;¿çsý*?ª¿çdR	pö^É?r;   r  r  r8   )r  çì`p|ËÜ¢¿çò¥î‰Ôë…?ç ÄÞJëüè?r  r  r  )r  ç<ó#¢¸U±¿çÜ_&kã?r  r  r  T)r  r  r  r;   r  r  r  )r   r   r   r<   s    r>   r?   zTestFlatTop.test_basicC  sp   € ÜœŸ™¨¨uÔ5ò3ô	4ô 	œŸ™¨¨uÔ5ò/ô	0ô
 	œŸ™¨Ó*ò'ô	(ô 	œŸ™¨¨4Ó0òAõ	Br@   NrA   r   r@   r>   r  r  A  s   „ óBr@   r  c                   ó   — e Zd Zd„ Zy)ÚTestGaussianc                 ó  — t        t        j                  dd«      g d¢«       t        t        j                  dd«      g d¢«       t        t        j                  dd«      g d¢«       t        t        j                  ddd	«      g d
¢«       y )Nr0   r;   )ç|„ÿÙæ~¦?ç«w$ÇÔ?ç"‚í$j=ì?r  r  r  r8   g333333ó?)r  ç
"ñîÅêÏ?ç;ŽeÙÜœæ?r;   r!  r   r  é   )r  ç÷ÅÆ¤Ÿé?çŠyÉÊLEî?r;   r$  r#  r  F)r  r#  r$  r;   r$  r#  )r   r   r!   r<   s    r>   r?   zTestGaussian.test_basicW  s€   € Üœ×(Ñ(¨¨CÓ0òBô	Cô 	œ×(Ñ(¨¨CÓ0òBô	Cô 	œ×(Ñ(¨¨AÓ.òAô	Bô 	œ×(Ñ(¨¨A¨uÓ5ò-õ	.r@   NrA   r   r@   r>   r  r  U  s   „ ó.r@   r  c                   ó   — e Zd Zd„ Zy)ÚTestGeneralCosinec                 ó˜   — t        t        j                  dg d¢«      g d¢«       t        t        j                  dg d¢d¬«      g d¢«       y )Nrc   ©r#   ç333333Ó?r  )rH   r)  r   r)  rH   ru   Fr1   ©rH   r)  r   r)  )r   r   Úgeneral_cosiner<   s    r>   r?   zTestGeneralCosine.test_basicl  s8   € Üœ×.Ñ.¨q²/ÓBÚ/ô	1äœ×.Ñ.¨q²/ÀuÔMÚ*õ	,r@   NrA   r   r@   r>   r&  r&  j  s   „ ó,r@   r&  c                   ó   — e Zd Zd„ Zy)ÚTestGeneralHammingc                 óØ   — t        t        j                  dd«      g d¢«       t        t        j                  ddd¬«      g d¢«       t        t        j                  ddd	¬«      g d
¢«       y )Nrc   çffffffæ?©rH   r/  r;   r/  rH   ç      è?Fr1   )r#   çy&"‡å?ç‡ÙææÝxî?r3  r2  r0   T)r#   r2  r3  r3  r2  r#   )r   r   Úgeneral_hammingr<   s    r>   r?   zTestGeneralHamming.test_basicu  sZ   € Üœ×/Ñ/°°3Ó7Ú1ô	3äœ×/Ñ/°°4¸UÔCò5ô	6ô 	œ×/Ñ/°°4¸TÔBò9õ	:r@   NrA   r   r@   r>   r-  r-  s  s   „ ó:r@   r-  c                   ó   — e Zd Zd„ Zy)ÚTestHammingc                 ó  — t        t        j                  dd«      g d¢«       t        t        j                  dd¬«      g d¢«       t        t        j                  d«      g d¢«       t        t        j                  dd¬«      g d	¢«       y )
Nr0   F)ç{®Gáz´?ç×£p=
×Ó?ç¤p=
×£è?r;   r:  r9  r8   r1   )r8  çîC�W4Ð?ç	Ÿ/È5Žä?ç4òCªÑŠî?r=  r<  r;  )r8  çÂÂ6 ivÙ?çŠðœžP0í?r?  r>  r8  T)r8  r9  r:  r;   r:  r9  r8  )r   r   r   r<   s    r>   r?   zTestHamming.test_basic‚  sm   € ÜœŸ™¨¨5Ó1Ú;ô	=äœŸ™¨¨uÔ5òAô	Bô 	œŸ™¨Ó*òGô	Hô 	œŸ™¨¨tÔ4ÚAõ	Cr@   NrA   r   r@   r>   r6  r6  €  s   „ óCr@   r6  c                   ó   — e Zd Zd„ Zy)ÚTestHannc                 ó.  — t        t        j                  dd¬«      g d¢dd¬«       t        t        j                  dd¬«      g d¢dd¬«       t        t        j                  dd	«      g d
¢dd¬«       t        t        j                  d«      g d¢dd¬«       y )Nr0   Fr1   )r   ç      Ð?r1  r;   r1  rC  r4   r5   r8   )r   ç\$è:¾È?ç°H`r�ã?ç8®åT^jî?rF  rE  rD  T©r   çXhdˆÖ?çTúËÍ»ñì?rI  rH  r   ©r   rC  r1  r;   r1  rC  r   )r   r   r(   r<   s    r>   r?   zTestHann.test_basic’  s�   € ÜœŸ™ Q¨EÔ2Ú8Ø"¨õ	0ô 	œŸ™ Q¨EÔ2òAð #¨õ		0ô
 	œŸ™ Q¨Ó-òDà"¨õ	0ô 	œŸ™ Q›Ú;Ø"¨ö	0r@   NrA   r   r@   r>   rA  rA  �  s   „ ó0r@   rA  c                   ó   — e Zd Zd„ Zy)Ú
TestKaiserc                 óZ  — t        t        j                  dd«      g d¢«       t        t        j                  dd«      g d¢«       t        t        j                  dd«      g d¢«       t        t        j                  dd«      g d¢«       t        t        j                  ddd	«      g d
¢«       y )Nr0   r#   )çl‘ýî?ç®<ê3Nï?çi>�%ìï?rP  rO  rN  r8   )rN  ç	‘¯È$ï?ç6­ÿ éÈï?r;   rR  rQ  rN  gš™™™™™@)çÂ§âAÕ¨Ð?ç¯Oãð Få?çœ$üù§©î?rU  rT  rS  )rS  ç*‡çý‰'ã?çÜó=aì?r;   rW  rV  rS  F)rS  rV  rW  r;   rW  rV  )r   r   r   r<   s    r>   r?   zTestKaiser.test_basic¦  s–   € ÜœŸ™ q¨#Ó.òAô	Bô 	œŸ™ q¨#Ó.òAô	Bô 	œŸ™ q¨#Ó.òAô	Bô 	œŸ™ q¨#Ó.òAô	Bô 	œŸ™ q¨#¨uÓ5ò-õ	.r@   NrA   r   r@   r>   rL  rL  ¤  s   „ ó.r@   rL  c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestKaiserBesselDerivedc                 ó4  — d}t        j                  |d¬«      }t        j                  d|d¬«      }t        ||«       t        |d |dz   dz  || dz  d  dz  z   d«       t        t        j                  dt        j
                  dz  ¬«      d d	 t	        j                  d«      dz  «       t        t        j                  d
t        j
                  dz  ¬«      d d ddg«       t        t        j                  dt        j
                  dz  ¬«      d d g d¢«       y )NrÎ   ç      @©Úbeta)zkaiser bessel derivedr[  F©Úfftbinsr    r;   r   ru   gè«UÓ˜à?gU3|\ë?r0   r"  )gHZ1êÛ?g¸Kfž æ?g"iF5±Ëì?)r   Úkaiser_bessel_derivedr   r   rj   ÚpiÚsqrt)r=   ÚMr‚   Úw2s       r>   r?   z"TestKaiserBesselDerived.test_basic¿  sþ   € ØˆÜ×)Ñ)¨!°#Ô6ˆÜ×ÑÐ >Ø !¨5ô2ˆä˜˜2Ôô 	˜˜'˜1 ™6˜
 a™¨!¨Q¨B°!©G¨H¨+¸Ñ*:Ñ:¸BÔ?ô 	œ×5Ñ5°a¼b¿e¹eÀa¹iÔHÈÈ!ÐLÜŸ™ ›
 Q™ô	(ô 	œ×5Ñ5°a¼b¿e¹eÀa¹iÔHÈÈ!ÐLØ'¨Ð8ô	:ô 	œ×5Ñ5°a¼b¿e¹eÀa¹iÔHÈÈ!ÐLÚHõ	Jr@   c                 ó  — d}d}t        t        |¬«      5  t        j                  |dz   d¬«       d d d «       d}t        t        |¬«      5  t        j                  |dz   dd¬	«       d d d «       y # 1 sw Y   ŒAxY w# 1 sw Y   y xY w)
NrÎ   zHKaiser-Bessel Derived windows are only defined for even number of points©Úmatchr   r[  r\  zCKaiser-Bessel Derived windows are only defined for symmetric shapesF)r]  r2   )r	  r
  r   r`  )r=   rc  Úmsgs      r>   Útest_exceptionsz'TestKaiserBesselDerived.test_exceptions×  s‡   € Øˆð"ˆäœ:¨SÔ1ñ 	:Ü×)Ñ)¨!¨a©%°bÕ9÷	:ð"ˆäœ:¨SÔ1ñ 	EÜ×)Ñ)¨!¨a©%°b¸eÕD÷	Eð 	E÷	:ð 	:ú÷	Eð 	Eús   –A1ÁA=Á1A:Á=BN)rB   rC   rD   r?   ri  r   r@   r>   rY  rY  ½  s   „ òJó0Er@   rY  c                   ó   — e Zd Zd„ Zy)ÚTestNuttallc                 ó  — t        t        j                  dd¬«      g d¢«       t        t        j                  dd¬«      g d¢«       t        t        j                  d«      g d¢«       t        t        j                  dd«      g d	¢«       y )
Nr0   Fr1   )çA Ž"ÆÆ7?çv§;O<g¯?ç$2bUsïà?r;   ro  rn  r8   )rm  gx&yxXW£?g‚íÌÓ?ïÕ?çµ‘êŠì?rp  g„íÌÓ?ïÕ?g&yxXW£?)rm  gëðŽEºJ¼?g=`…�T‹é?g>`…�T‹é?góðŽEºJ¼?rm  T)rm  rn  ro  r;   ro  rn  rm  )r   r   r   r<   s    r>   r?   zTestNuttall.test_basicè  sr   € ÜœŸ™¨¨uÔ5ò$ô	%ô 	œŸ™¨¨uÔ5òAô	Bô 	œŸ™¨Ó*òLô	Mô 	œŸ™¨¨4Ó0ò/õ	0r@   NrA   r   r@   r>   rk  rk  æ  s   „ ó0r@   rk  c                   ó   — e Zd Zd„ Zy)Ú
TestParzenc                 óÐ   — t        t        j                  d«      g d¢«       t        t        j                  dd¬«      g d¢«       t        t        j                  dd«      g d¢«       y )	Nr0   )çe/¡½„ö‚?rC  çä8Žã8Žë?ru  rC  rt  r8   Tr1   )ç%OZQ%âw?çÄ2¤|Ï&Ä?çêªÝ�þÍä?r;   rx  rw  rv  F)rv  rw  rx  r;   rx  rw  )r   r   r   r<   s    r>   r?   zTestParzen.test_basicú  sV   € ÜœŸ™ qÓ)òIô	Jô 	œŸ™ q¨dÔ3òBô	Cô 	œŸ™ q¨%Ó0ò-õ	.r@   NrA   r   r@   r>   rr  rr  ø  s   „ ó.r@   rr  c                   ó   — e Zd Zd„ Zy)Ú
TestTriangc                 óÐ   — t        t        j                  dd«      g d¢«       t        t        j                  d«      g d¢«       t        t        j                  dd¬«      g d¢«       y )	Nr0   T)çUUUUUUÅ?r#   ç«ªªªªªê?r}  r#   r|  r8   )rC  r#   r1  r   r1  r#   rC  Fr1   )rC  r#   r1  r   r1  r#   )r   r   r   r<   s    r>   r?   zTestTriang.test_basic
  sH   € äœŸ™ q¨$Ó/Ú6ô	8äœŸ™ qÓ)Ú9ô	;äœŸ™ q¨eÔ4Ú4õ	6r@   NrA   r   r@   r>   rz  rz    s   „ ó6r@   rz  )ru   r#   T)ç        r;   r;   r~  )ru   çÍÌÌÌÌÌì?T)r~  ç„Ëü‚Øúê?r€  r~  )ru   r;   T)r~  r1  r1  r~  )ru   r#   F)r~  r;   r;   r;   )ru   r  F)r~  çrnÁOCÇâ?r;   r�  )ru   r;   F)r~  r#   r;   r#   )rc   r~  T)r;   r;   r;   r;   r;   )rc   rI   T)r~  çYª«©xæ?r;   r‚  r~  )rc   r;   T)r~  r#   r;   r#   r~  )r0   r   r”   )r8   r   r•   )r0   rC  )r   r   r   r   r   r   )r8   rC  )r   r   r   r   r   r   r   )r0   )r   rI  r;   r;   gRúËÍ»ñì?r   )r8   )r   r1  r;   r;   r;   r1  r   )r0   r1  )r   gxÅ³	&¬á?r;   r;   gvÅ³	&¬á?r   )r8   r1  )r   g#}`yqÚ?çŽ)!ûï?r;   rƒ  g#}`yqÚ?r   rG  rJ  ))r0   r   )r8   r   c                   ó   — e Zd Zd„ Zd„ Zy)Ú	TestTukeyc                 óÂ   — t         j                  «       D ]H  \  }}|€ t        t        t        j
                  g|¢­Ž  Œ(t	        j
                  |Ž }t        ||dd¬«       ŒJ y )Nr4   r5   )Ú
tukey_datar  r	  r
  r   r+   r   )r=   r  r  r  s       r>   r?   zTestTukey.test_basic3  sT   € ä×$Ñ$Ó&ò 	@‰DˆAˆqØˆyÜœj¬'¯-©-Ð<¸!Ô<ä—m‘m QÐ'�Ü  Q¨U¸Ö?ñ	@r@   c                 óà   — t        j                  dd«      }t        j                  d«      }t        ||«       t        j                  dd«      }t        j                  d«      }t        ||«       y )NrÎ   r   r   )r   r+   r   r   r(   )r=   Útuk0Úbox0Útuk1Úhan1s        r>   Útest_extremeszTestTukey.test_extremes<  sR   € ä�}‰}˜S !Ó$ˆÜ�~‰~˜cÓ"ˆÜ! $¨Ô-ä�}‰}˜S !Ó$ˆÜ�|‰|˜CÓ ˆÜ! $¨Õ-r@   N)rB   rC   rD   r?   r�  r   r@   r>   r…  r…  1  s   „ ò@ó.r@   r…  )çÑÆIPÞß?ç;¯]LÆà?r�  rŽ  )g/vI<£tå?gEî@¾¿Ì?gEî@¾¿Ì¿g/vI<£tå¿g¤ÐVÉ?gª$aÈ²¬`?)çìÑ‹BAÚ?g«njªkê?r�  )g>˜efž æ?r~  g>˜efž æ¿)ç	¸ž#nâ?gLoÆ¦�â¿r‘  )gmê/ üÿï?gä¢96+ðï?gé›¦br©é?)g wà²?VÆ?gõ>J#¹ß?g÷;�öWiå?gÖ™}I#¹ß?g€ƒr²?VÆ?)g¦:7A!(Ü?çcHX˜á¶á?r~  çcHX˜á¶á¿ç¨S[@!(Ü¿)çq¦ÿhÜ4ä?çT1§a~Â²?g�ØÐÈEÜ¿r–  r•  )r’  r”  r~  g¨S[@!(Ü?r“  )gûu+tóÑ?çXÓ>Žîß¿g²3”ù˜6ã?r—  g;éStóÑ?)gMLªÅÆýï?gh5"í†zï?g\v³ÿ4—è?gPªaåîøÍ?gÑ¦Ÿd�Œ?)dçsk¼ö8Si?ç»p¢€&çp?çÞ5ˆÙBÅu?çÖÀ¥OêL{?çõ0‚8Ã€?çwê—-µ<„?ç¬kìÆFˆ?ç‘^ëŠÍRŒ?çñkËPz�?ç1¹��Ãþ’?çY�^»Q·•?ç¡XÙ9¤˜?çdkÑ�^Å›?ç3Ÿ«aJŸ?çß)âIQ¡?çî¨ŠÙ-£?ç�Ñ«"¥?çµ¦¹‡.§?ç¹ô~�9P©?ç~�nµ[†«?ç8ïð¸WÏ­?ç	%fÒ³°?çñ!«ÒKI±?çP¶¤Jd„²?ç‹úÓ/ÙÄ³?ç$~©s	µ?çpku³ëP¶?çÖæ%ê™·?çõüž•
ã¸?çqºúÝ*º?çþ%wìo»?çZÃo¸°¼?ç·ÍØÀë½?çŸ�ßÓƒ¿?ç£“B¬@%À?ç‹g·3ŸµÀ?ç/ß—†#@Á?ç‚0žÞÄÁ?ç›üšÕÐ@Â?çÛ=½¤µÂ?ç.§Fàö!Ã?çit±3…Ã?ç¦:.ôÒÞÃ?çì­X.Ä?çøGkNVsÄ?çŽƒ"Hk­Ä?çÖÊ 'FÜÄ?ç²¾`»¤ÿÄ?çiG»UÅ?ç‘#!º5#Å?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˜  )dgUw³¦|’?g“£TP¾‘–?gÞj›·ñôš?gwïÄ¢¥Ÿ?gDÑŠ¶O¢?gê_¯{î¤?g¢<“ ¬§?gÈ�k¯„ª?gŸ¦ê¬ƒt­?gü(P¯‡;°?g…ÅHùÀÃ±?gBàKXP³?gà.mË�Þ´?g ·ni†k¶?gà"�=ô·?gO»Ÿu¹?g©°„{†ìº?g¤gþÁU¼?gØ/uã®½?gN×�$sò¾?g ]ð’ÍÀ?gÐ“¶áE™À?gÞÝoY*Á?gÀÜ›�Á?g’Øbu³ØÁ?g„Š`ÒÎÂ?gàÉªJSÂ?ga`gT*rÂ?gê®.Ÿ“{Â?gYÁÑnÂ?g.ý®|TKÂ?g¹Óç´¸Â?g®z§ŸÃ¾Á?gõ€»äfUÁ?g,ûÁÔÀ?gÓÔ™=À?gÂg�'î¿?gÇwsä•½?gÇñ…Áã»?gƒË[\€	º?g„#Âk	¸?g%Þ*æµ?gLw<w¢³?g,h-ŸA±?g[::<ñ�­?gé¤199l¨?g.4ä“¦%£?gGÈÓ/„›?gÆ¢hlO“�?g[°ÀŽù$v?g[°ÀŽù$v¿gÆ¢hlO“�¿gGÈÓ/„›¿g.4ä“¦%£¿gé¤199l¨¿g[::<ñ�­¿g,h-ŸA±¿gLw<w¢³¿g%Þ*æµ¿g„#Âk	¸¿gƒË[\€	º¿gÇñ…Áã»¿gÇwsä•½¿gÂg�'î¿¿gÓÔ™=À¿g,ûÁÔÀ¿gõ€»äfUÁ¿g®z§ŸÃ¾Á¿g¹Óç´¸Â¿g.ý®|TKÂ¿gYÁÑnÂ¿gê®.Ÿ“{Â¿ga`gT*rÂ¿gàÉªJSÂ¿g„Š`ÒÎÂ¿g’Øbu³ØÁ¿gÀÜ›�Á¿gÞÝoY*Á¿gÐ“¶áE™À¿g ]ð’ÍÀ¿gN×�$sò¾¿gØ/uã®½¿g¤gþÁU¼¿g©°„{†ìº¿gO»Ÿu¹¿gà"�=ô·¿g ·ni†k¶¿gà.mË�Þ´¿gBàKXP³¿g…ÅHùÀÃ±¿gü(P¯‡;°¿gŸ¦ê¬ƒt­¿gÈ�k¯„ª¿g¢<“ ¬§¿gê_¯{î¤¿gDÑŠ¶O¢¿gwïÄ¢¥Ÿ¿gÞj›·ñôš¿g“£TP¾‘–¿gUw³¦|’¿)dç¶|Wâ—°?ç…¢	¬Í“²?çãì¼ÞŽ´?çû
8Ï�¶?ç\ÿˆúi¸?çÙ®32†Aº?çû!ô;f¼?ç°+÷œª½?ç©3sXL2¿?ç?’æáJÀ?çÐ5£QGèÀ?çåÞôAoÁ?çöÏW¹åÝÁ?çò Á}2Â?çÀæâ�‰kÂ?çÊ«IÇ‡Â?ç—Fæ6†Â?ç�ÝÖífÂ?çchŽ'Â?ç%"™aåÈÁ?çhÁ“/ËKÁ?çŽÉÁð:°À?ç>†}ñûí¿?çDC1?XB¾?ç±Q”ST`¼?çs\ø‡NKº?ç˜Ø
3¸?ç<”Éòs˜µ?çoÜãþ³?ç@°1O°?çÈ5›M›ÿª?ç#Š$ÕÒ7¥?ç,9pÌ‡§ž?çßCÄø)Á’?çW¸ª»]{?çæÃ#YÖés¿çè‡ˆÐE™�¿ç �nê›¿ç•x;i£¿çƒ6ô
œ¨¿çv^
Ž�­¿çmüñ­û±¿çÂ-b3³¿ç[EhÌpø´¿ç[½Ñ6š¶¿çaŽ»”ü·¿ç·ßæü0¹¿ç_Ï: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Ê  )dg½¦I!w.Ã?g÷‰MuÛÃ?gì%¶PldÄ?g3·ÎzÈÄ?g¢>°€•Å?g·Îd¤ƒÅ?g!DK�yÅ?g+âo ÉÄ?gYhŒ{˜bÄ?g{½^yÓÃ?gSh‹1ÑÃ?gùy�%@Â?g|hzäj?Á?gP\DÊÀ?g¨z	€·½?gVx<Ò…ýº?g‘ÉÒ¸?gqÐ&ÓÝÿ´?gb¿žäË±?g8‰Ù|pÿ¬?gž‡å_cH¦?gª6K…	Ÿ?g¨wpÎ�‘?g‡"‡†Q	q?g@m§8Mi�¿gÁÇ�þ¿3•¿g7/`_qŒ ¿gäSýÓØ!¦¿gç8QöJ«¿g6÷ã8èù¯¿gu\q—²¿gï/Zþ~Ü³¿g€épQ†Zµ¿g™CÛü‚‡¶¿g¸3¼`·¿gÃ7¼<wä·¿g³œÿ¸¿g¥p‹¥é·¿g<WuÄl·¿gÌð~`·�¶¿g¯²TÙµ¿g#âÔqv´¿g,¦]BÁi²¿g…£wÂ|°¿gvÄ¾ðŒ®¬¿g3ÿ‘¨¿gaï�·£¿g·…LÑH†›¿gêU½,ˆ©�¿gvúA]¤Pv¿gvúA]¤Pv?gêU½,ˆ©�?g·…LÑH†›?gaï�·£?g3ÿ‘¨?gvÄ¾ðŒ®¬?g…£wÂ|°?g,¦]BÁi²?g#âÔqv´?g¯²TÙµ?gÌð~`·�¶?g<WuÄl·?g¥p‹¥é·?g³œÿ¸?gÃ7¼<wä·?g¸3¼`·?g™CÛü‚‡¶?g€épQ†Zµ?gï/Zþ~Ü³?gu\q—²?g6÷ã8èù¯?gç8QöJ«?gäSýÓØ!¦?g7/`_qŒ ?gÁÇ�þ¿3•?g@m§8Mi�?g‡"‡†Q	q¿g¨wpÎ�‘¿gª6K…	Ÿ¿gž‡å_cH¦¿g8‰Ù|pÿ¬¿gb¿žäË±¿gqÐ&ÓÝÿ´¿g‘ÉÒ¸¿gVx<Ò…ýº¿g¨z	€·½¿gP\DÊÀ¿g|hzäj?Á¿gùy�%@Â¿gSh‹1ÑÃ¿g{½^yÓÃ¿gYhŒ{˜bÄ¿g+âo ÉÄ¿g!DK�yÅ¿g·Îd¤ƒÅ¿g¢>°€•Å¿g3·ÎzÈÄ¿gì%¶PldÄ¿g÷‰MuÛÃ¿g½¦I!w.Ã¿)g…Áˆÿï?g�ú´"ìï?gy?'êð³î?g í�`ç?))ru   rz   r    )r"  gffffffö?r"  )rc   r%   rc   )rÎ   r    ru   c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚTestDPSSc                 ó¶   — t         j                  «       D ]B  \  }}t        j                  |ddiŽ\  }}t	        ||d   d|¬«       t	        ||d   dd|¬«       ŒD y )	NÚreturn_ratiosTr   gH¯¼šò×z>)r7   Úerr_msgr   gñhãˆµøä>)r6   r7   r   )Ú	dpss_datar  r   r   r   )r=   r  r  r  Úratioss        r>   r?   zTestDPSS.test_basicT  s[   € ä—O‘OÓ%ò 	K‰DˆAˆqÜ!Ÿ,™,¨Ð>¸Ñ>‰KˆC�Ü˜C  1¡¨D¸!Õ<Ü˜F A a¡D¨t¸$ÈÖJñ	Kr@   c                 ó0  — t        dd«      D �]  }t        j                  ||dz  «      }|dz  }t        t	        j
                  |d«      j                  «       ||› ¬«       t        j                  ||dz  d¬«      }|dkD  r?t        t	        j
                  |d«      j                  «       ||› ¬«       t        ||d	¬
«       t        j                  ||dz  d¬«      }|dk(  rdnd}t        t	        j
                  |d«      j                  «       ||› ¬«       �Œ	 y )Nr   é   gÍÌÌÌÌÌ @r    r;   )r   Ú	subsamplerm   g¸…ëQ¸ž?r  r   )Úranger   r   r   rj   ÚiscloseÚsumr   )r=   rc  r  ÚexpectedÚwin_subÚwin_2s         r>   Ú
test_unityzTestDPSS.test_unity[  sñ   € ä�q˜"“ó 	-ˆAä—,‘,˜q ! c¡'Ó*ˆCØ˜1‘uˆHÜœŸ™ C¨Ó,×0Ñ0Ó2°HØ$' 5õ+ô —l‘l 1 a¨#¡g°KÔ@ˆGØ�1ŠuäœRŸZ™Z¨°Ó4×8Ñ8Ó:¸HØ(/ yõ3ä  W°4Õ8ä—L‘L  A¨¡G°!Ô4ˆEØ šF‘q¨ˆHÜœŸ™ E¨2Ó.×2Ñ2Ó4°hØ$) 7÷-ñ!	-r@   c                 óô   — t        j                  dddd¬«      d   }t        |d«       t        j                  dddd¬«      d   }t        |d«       t        j                  dd	dd¬«      d   }t        |d«       y )
Né   r0   ru   T)rÿ  r   r;   r8   rù   )r   r   r   )r=   Úlams     r>   r�  zTestDPSS.test_extremesp  sk   € ä�l‰l˜2˜q !°4Ô8¸Ñ;ˆÜ! # rÔ*Ü�l‰l˜2˜q !°4Ô8¸Ñ;ˆÜ! # rÔ*Ü�l‰l˜2˜q !°4Ô8¸Ñ;ˆÜ! # rÕ*r@   c                 óÒ  — 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«       y )	Nru   r%   éÿÿÿÿéûÿÿÿgš™™™™™ñ?r"  r   r   )r	  r
  r   r   Ú	TypeErrorr<   s    r>   Útest_degeneratezTestDPSS.test_degeneratey  sŽ   € ä”j¤'§,¡,°°3¸Ô;Ü”j¤'§,¡,°°3¸Ô;Ü”i¤§¡¨q°#°sÔ;Ü”j¤'§,¡,°°3¸Ô:Ü”j¤'§,¡,°°2°qÔ9Ü”j¤'§,¡,°°1°aÔ8Ü”j¤'§,¡,°°A°qÕ9r@   N)rB   rC   rD   r?   r  r�  r  r   r@   r>   rý  rý  R  s   „ òKò-ò*+ó:r@   rý  c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestLanczosc                 óÞ   — t        t        j                  dd¬«      g d¢d¬«       t        t        j                  d«      g d¢d¬«       t        t        j                  dd	¬«      g d
¢d¬«       y )Nr0   Fr1   ©r~  çq«Ï¾ºvÚ?ç;F¾ºvê?r;   r  r  ç•Ö&è.>rR   ©r~  çÕøuH%à?ç;9‡ïí?r  r  r~  r8   T)r~  r  r  r;   r  r  r~  )r   r   r,   r<   s    r>   r?   zTestLanczos.test_basic†  sc   € ô 	œŸ™¨¨uÔ5ò&ð "õ		#ô
 	œŸ™¨Ó*ò*ð "õ		#ô
 	œŸ™¨¨tÔ4ò*ð "ö		#r@   c           	      óº   — dD ]V  }t        t        t        j                  |d¬«      «      |«       t        t        t        j                  |d¬«      «      |«       ŒX y )N)r   rÔ   é   Fr1   T)r   Úlenr   r,   )r=   Úns     r>   Útest_array_sizezTestLanczos.test_array_sizeŸ  sE   € Øò 	?ˆAÜœœWŸ_™_¨Q°EÔ:Ó;¸QÔ?ÜœœWŸ_™_¨Q°DÔ9Ó:¸AÕ>ñ	?r@   N)rB   rC   rD   r?   r#  r   r@   r>   r  r  „  s   „ ò#ó2?r@   r  c                   óH   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zy)ÚTestGetWindowc                 óØ   — t        j                  dd«      }t        |t        j                  |«      «       t        j                  dd«      }t        |t        j                  |«      «       y )Nr   é   )r   é   )r   r   r   rj   Ú	ones_like)r=   r‚   s     r>   Útest_boxcarzTestGetWindow.test_boxcar§  sL   € Ü×Ñ˜x¨Ó,ˆÜ˜1œbŸl™l¨1›oÔ.ô ×Ñ˜{¨BÓ/ˆÜ˜1œbŸl™l¨1›oÕ.r@   c                 óÂ   — t        «       5 }|j                  t        d«       t        j                  ddd¬«      }d d d «       t        t        d¬«       y # 1 sw Y   ŒxY w)NrÍ   )r&   rß   rÞ   Fr^  ru   râ   )r
   rÚ   rÛ   r   r   r   rä   ©r=   rÜ   r‚   s      r>   Útest_cheb_oddzTestGetWindow.test_cheb_odd¯  sU   € ÜÓ ð 	H CØ�J‰J”{Ð$AÔBÜ×"Ñ"Ð#3°RÀÔGˆA÷	Hô 	" !¤]¸AÖ>÷	Hð 	Húó   ‹/AÁAc                 óÂ   — t        «       5 }|j                  t        d«       t        j                  ddd¬«      }d d d «       t        t        d¬«       y # 1 sw Y   ŒxY w)NrÍ   )r&   rê   ré   Fr^  ru   râ   )r
   rÚ   rÛ   r   r   r   rë   r,  s      r>   Útest_cheb_evenzTestGetWindow.test_cheb_evenµ  sT   € ÜÓ ð 	G CØ�J‰J”{Ð$AÔBÜ×"Ñ" ?°BÀÔFˆA÷	Gô 	" !¤^¸QÖ?÷	Gð 	Gúr.  c                 ó|   — t        j                  ddd¬«      }t        j                  dd«      }t        ||d¬«       y )N)r   r"  é@   Fr^  r"  ru   râ   )r   r   r   r   ©r=   Úwin1Úwin2s      r>   Ú	test_dpsszTestGetWindow.test_dpss»  s2   € Ü×!Ñ! +¨r¸5ÔAˆÜ�|‰|˜B Ó"ˆÜ! $¨°aÖ8r@   c                 óv   — t        j                  dd«      }t        j                  ddd«      }t        ||«       y )NgÍÌÌÌÌÌ@r2  F)r   r   r   r   r3  s      r>   Útest_kaiser_floatzTestGetWindow.test_kaiser_floatÀ  s0   € Ü×!Ñ! # rÓ*ˆÜ�~‰~˜b # uÓ-ˆÜ˜˜dÕ#r@   c                 ó–   — t        t        t        j                  t	        d«      d«       t        t        t        j                  dd«       y )Nr(   rù   Úbrokenru   )r	  r
  r   r   Úsetr<   s    r>   Útest_invalid_inputsz!TestGetWindow.test_invalid_inputsÅ  s0   € ä”j¤'×"4Ñ"4´c¸&³kÀ1ÔEô 	”j¤'×"4Ñ"4°hÀÕBr@   c                 óä   — d}t        j                  d«      }t        j                  d|dz  «      }t	        t
        d¬«      5  t        |t        |«      |z  |¬«       d d d «       y # 1 sw Y   y xY w)Né€   )r   g       @r    zmust have the same lengthrf  )Úwindow)rj   Úaranger   r   r	  r
  r   r!  )r=   ÚosfactorÚsigr  s       r>   Útest_array_as_windowz"TestGetWindow.test_array_as_windowÌ  s_   € àˆÜ�i‰i˜‹nˆä× Ñ  °(¸a±-Ó@ˆÜœ:Ð-HÔIñ 	;Ü�Sœ#˜c›( XÑ-°cÕ:÷	;÷ 	;ñ 	;ús   ÁA&Á&A/c                 óx   — t        t        dg d¢fd«      g d¢«       t        t        dg d¢fdd¬«      g d¢«       y )Nr+  r(  ru   r*  Fr^  )rH   çš™™™™™á?rE  rH   ©r   r   r<   s    r>   Útest_general_cosinez!TestGetWindow.test_general_cosineÕ  s;   € Üœ
Ð$4²oÐ#FÈÓJÚ*ô	,äœ
Ð$4²oÐ#FÈØ+0ô2â.õ	0r@   c                 óh   — t        t        dd«      g d¢«       t        t        ddd¬«      g d¢«       y )N)r4  r/  rc   )rH   çâÐ¶õnã?ç”·Èâ£*î?rJ  rI  Fr^  r0  rF  r<   s    r>   Útest_general_hammingz"TestGetWindow.test_general_hammingÜ  s/   € Üœ
Ð#;¸QÓ?ÚIô	Käœ
Ð#;¸QÈÔNÚ1õ	3r@   c                 ó°   — t        t        dd«      g d¢d¬«       t        t        ddd¬«      g d¢d¬«       t        t        dd«      t        d	d«      «       y )
Nr,   r0   r  r  rR   Fr^  r  ÚsincrF  r<   s    r>   Útest_lanczoszTestGetWindow.test_lanczosâ  sR   € Üœ
 9¨aÓ0ò&Ø,0õ	2ô 	œ
 9¨a¸Ô?ò*Ø04õ	6ô 	œ
 9¨aÓ0´*¸VÀQÓ2GÕHr@   N)rB   rC   rD   r*  r-  r0  r6  r8  r<  rC  rG  rK  rN  r   r@   r>   r%  r%  ¥  s7   „ ò/ò?ò@ò9ò
$ò
Cò;ò0ò3óIr@   r%  c                  ó4  — t         D �]  \  } }t        t        | «      }t        «       5 }|j	                  t
        d«        |dg|¢­ddiŽ} |dg|¢­ddiŽ}t        |d d |«        |dg|¢­ddiŽ} |dg|¢­ddiŽ}t        |d d |«       t        t         |d	g|¢­ddiŽ«      d	«       t        t         |d	g|¢­ddiŽ«      d	«       t        t         |dg|¢­ddiŽ«      d«       t        t         |dg|¢­ddiŽ«      d«       t        t        |d
g|¢­Ž  t        t        |dg|¢­Ž  t         |dg|¢­ddiŽg «       t         |dg|¢­ddiŽg «       t         |dg|¢­ddiŽdg«       t         |dg|¢­ddiŽdg«       t         |dg|¢­ddiŽj                  dk(  «       t         |dg|¢­ddiŽj                  dk(  «       t         |dg|¢­ddiŽj                  dk(  «       t         |dg|¢­ddiŽj                  dk(  «       t         |d	g|¢­ddiŽj                  dk(  «       t         |d	g|¢­ddiŽj                  dk(  «       t         |dg|¢­ddiŽd«       t         |dg|¢­ddiŽd«       t         |dg|¢­ddiŽd«       t         |dg|¢­ddiŽd«       t        t!         |dg|¢­ddiŽ«      j"                  dd¬«       t        t!         |dg|¢­ddiŽ«      j"                  dd¬«       d d d «       �Œ y # 1 sw Y   �ŒxY w)NrÍ   rù   r2   Tr8   Fr  é	   r0   g      @iùÿÿÿr   r   ÚfloatrÔ   g)\�Âõ(ð?rQ   rR   r   )Úwindow_funcsÚgetattrr   r
   rÚ   rÛ   r   r   r!  r	  r
  r   r   Údtyper	   r   r   Úimag)Úwindow_nameÚparamsr?  rÜ   Úw1rd  s         r>   Útest_windowfunc_basicsrY  ì  sT  € Ü+ó /+Ñˆ�VÜœ +Ó.ˆÜÓ ð -	+ CØ�J‰J”{Ð$AÔBá˜Ð-˜FÒ-¨Ñ-ˆBÙ˜Ð.˜FÒ.¨Ñ.ˆBÜ% b¨¨" g¨rÔ2á˜Ð-˜FÒ-¨Ñ-ˆBÙ˜Ð.˜FÒ.¨Ñ.ˆBÜ% b¨¨" g¨rÔ2ô œ™V AÐ9¨Ò9°DÑ9Ó:¸AÔ>Üœ™V AÐ:¨Ò:°EÑ:Ó;¸QÔ?Üœ™V AÐ9¨Ò9°DÑ9Ó:¸AÔ>Üœ™V AÐ:¨Ò:°EÑ:Ó;¸QÔ?ô œ* f¨cÐ;°FÓ;Üœ* f¨bÐ:°6Ó:ô ™v aÐ;¨&Ò;°dÑ;¸RÔ@Ü™v aÐ<¨&Ò<°eÑ<¸bÔAÜ™v aÐ;¨&Ò;°dÑ;¸a¸SÔAÜ™v aÐ<¨&Ò<°eÑ<¸q¸cÔBô ‘F˜1Ð0˜vÒ0¨4Ñ0×6Ñ6¸'ÑAÔBÜ‘F˜1Ð1˜vÒ1¨5Ñ1×7Ñ7¸7ÑBÔCÜ‘F˜1Ð0˜vÒ0¨4Ñ0×6Ñ6¸'ÑAÔBÜ‘F˜1Ð1˜vÒ1¨5Ñ1×7Ñ7¸7ÑBÔCÜ‘F˜1Ð0˜vÒ0¨4Ñ0×6Ñ6¸'ÑAÔBÜ‘F˜1Ð1˜vÒ1¨5Ñ1×7Ñ7¸7ÑBÔCô ™f RÐ;¨&Ò;°dÑ;¸TÔBÜ™f RÐ<¨&Ò<°eÑ<¸dÔCÜ™f QÐ:¨Ò:°TÑ:¸DÔAÜ™f QÐ;¨Ò;°UÑ;¸TÔBô œC¡ rÐ >¨FÒ >¸Ñ >Ó?×DÑDØ Eõ+äœC¡ rÐ >¨FÒ >¸Ñ >Ó?×DÑDØ Eõ+÷Y-	+ñ -	+ñ/+÷-	+ñ -	+ús   ¨KLÌL	c                  ó>   — dD ]  } t        t        t        | d«       Œ y )N)r   Úksrr`  Úkbdr!   ÚgaussÚgsszgeneral gaussianr$   zgeneral gaussÚgeneral_gaussÚggsÚdssr   zgeneral cosiner+  r&   Úchebzgeneral hammingr4  r8   )r	  r
  r   )Úwinstrs    r>   Útest_needs_paramsrd    s#   € ðò 9ˆô 	”j¤*¨f°aÕ8ñ9r@   c                  óT   — dD ]#  } t        | d«      }t        t        |«      d«       Œ% y )N)r   r   r   r   r   r   r'   r   r   r   r   r*   r)   Úpoissonr+   ÚtukÚtriangler,   rM  r8   )r   r   r!  )rc  r  s     r>   Útest_not_needs_paramsri  *  s/   € ðò "ˆô( ˜ Ó#ˆÜ”S˜“X˜qÕ!ñ+"r@   c            	      óx  — t         j                  fD ]¦  }  | d«      }t        j                  t        j                  |t        j
                  |«      z
  «      «      }t        |d«        | d«      }t        j                  t        j                  |t        j
                  |«      z
  «      «      }t        |d«       Œ¨ y )Ni   r~  i  )r   r,   rj   Úmaxr|   Úflipr   )r  r‚   Úerrors      r>   Útest_symmetricrn  C  s†   € ä—‘Ð ò 	!ˆá�‹IˆÜ—‘”r—v‘v˜a¤§¡¨£
™lÓ+Ó,ˆÜ�U˜CÔ ñ �‹IˆÜ—‘”r—v‘v˜a¤§¡¨£
™lÓ+Ó,ˆÜ�U˜CÕ ñ	!r@   )6Únumpyrj   r   Únumpy.testingr   r   r   r   r   r	   r
   Úpytestr   r	  Ú	scipy.fftr   Úscipy.signalr   r   r   rR  r.   rF   rM   rY   r`   r‹   r’   rä   rë   rË   r  r  r  r  r&  r-  r6  rA  rL  rY  rk  rr  rz  r‡  r…  r  rý  r  r%  rY  rd  ri  rn  r   r@   r>   ú<module>rt     s×  ðÛ Ý ÷.÷ .ñ .õ +å ß 6Ñ 6ò€÷40ñ 0÷6ñ 6÷Iñ I÷"#ñ #÷"G3ñ G3÷TBñ B÷Fñ Fñ ò !ó "€ñ ò 6ó 7€÷(4Oñ 4Oñr 	ò (ó 	)ñ  ò !Jó Ká ò "7ó 8áò !Kó Lñ 	ò Aó 	BàÙò 4ó 5àáò Aó 	Bñ  ò !Jó KàØñ3Ð ò:0÷Bñ B÷(.ñ .÷*,ñ ,÷
:ñ 
:÷Cñ C÷ 0ñ 0÷(.ñ .÷2&Eñ &E÷R0ñ 0÷$.ñ .÷ 	6ñ 	6ðØ‘EÒ.Ó/ðà‘Eò 5ó 6ðð ‘EÒ0Ó1ð	ð
 ‘UÒ/Ó0ðð ‘Uò 6ó 7ðð ‘UÒ/Ó0ðð ‘EÒ3Ó4ðð ‘Eò :ó ;ðð ‘EÒ3Ó4ðð Òðð Ò!ðð  Ò ð!ð" Ò#ð#ð$ 	Ò
Bð%ð& 	Ò
+ð'ð( ÒFð)ð* ò :ð+ò.$â/ò3€
÷:.ñ .ò4 HÒIð  Að  DOð  Q\ð  C]ð  ^Ú:Ò<\ò  _Gð  Hò  Jqð  rÚVò  YUò  WYò  [Vò  Xað  bò  dkð  lò |ò  ~J(ò  L(D<ò  F<`Pð  aPò  cPWQð  XQñ€	÷/:ñ /:÷d?ñ ?÷BDIñ DIòN0+òf9ò"ó2!r@   