§
    µ³Ùg   ã                   óÌ  — 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|„ Z5d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))Ú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dS )Ú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¬¦  «         d S )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    úU/granary/edev/quantum/lib/python3.11/site-packages/scipy/signal/tests/test_windows.pyÚ
test_basiczTestBartHann.test_basic)   s¶   € Ý�Ô(¨°Ð5Ñ5Ô5ðDð Dð Dà"¨ð	0ñ 	0ô 	0ð 	0õ 	�Ô(¨Ñ+Ô+Ø;Ð;Ð;Ø"¨ð	0ñ 	0ô 	0ð 	0õ 	�Ô(¨¨EÑ2Ô2Ø8Ð8Ð8Ø"¨ð	0ñ 	0ô 	0ð 	0ð 	0ð 	0ó    N©Ú__name__Ú
__module__Ú__qualname__r?   r   r@   r>   r.   r.   '   s#   € € € € € ð
0ð 
0ð 
0ð 
0ð 
0r@   r.   c                   ó   — e Zd Zd„ ZdS )ÚTestBartlettc                 óà   — t          t          j        d¦  «        g d¢¦  «         t          t          j        d¦  «        g d¢¦  «         t          t          j        dd¦  «        g d¢¦  «         d S )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   sz   € Ý�Ô(¨Ñ+Ô+Ð-GÐ-GÐ-GÑHÔHÐHÝ�Ô(¨Ñ+Ô+Ð-LÐ-LÐ-LÑMÔMÐMÝ�Ô(¨¨EÑ2Ô2Ø4Ð4Ð4ñ	6ô 	6ð 	6ð 	6ð 	6r@   NrA   r   r@   r>   rF   rF   6   s#   € € € € € ð6ð 6ð 6ð 6ð 6r@   rF   c                   ó   — e Zd Zd„ ZdS )Ú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¬¦  «         d S )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Ñ6Ô6Ø8Ð8Ð8¸uð	Fñ 	Fô 	Fð 	Få�Ô(¨°Ð6Ñ6Ô6ðBð Bð BàHLð	Nñ 	Nô 	Nð 	Nõ 	�Ô(¨Ñ+Ô+ðDð Dð Dà"ð	$ñ 	$ô 	$ð 	$õ 	�Ô(¨¨DÑ1Ô1Ø;Ð;Ð;À%ð	Iñ 	Iô 	Ið 	Ið 	Ið 	Ir@   NrA   r   r@   r>   rM   rM   ?   s(   € € € € € ðIð Ið Ið Ið Ir@   rM   c                   ó   — e Zd Zd„ ZdS )ÚTestBlackmanHarrisc                 ó0  — 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	¢¦  «         d S )
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   sÝ   € Ý�Ô.¨q°%Ñ8Ô8ØNÐNÐNñ	Pô 	Pð 	På�Ô.¨q°eÐ<Ñ<Ô<ðBð Bð Bñ	Cô 	Cð 	Cõ 	�Ô.¨qÑ1Ô1ðJð Jð Jñ	Kô 	Kð 	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dS )Ú
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¢¦  «        ¦  «         d	S )
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   s¦   € õ
 	�œ q¨!¨RÑ0Ô0°#Ñ6Ô6Ð6ÝÝŒN˜1˜a Ñ$Ô$ÝŒHÐJÐJÐJÑKÔKñ	
ô 	
ð 	
õ 	ÝŒN˜1˜a Ñ$Ô$ÝŒ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¢¦  «        ¦  «         d	S )
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˜1˜a ¨%Ð0Ñ0Ô0ÝŒHð ð ð ñ ô ñ	
ô 	
ð 	
õ 	ÝŒN˜1˜a ¨%Ð0Ñ0Ô0ÝŒHð ð ð ñ ô ñ	
ô 	
ð 	
ð 	
ð 	
r@   c           	      óZ  — d}d}t          j        |dddd¬¦  «        }t          ||¦  «        }dt          j        t          j        |t          j        |¦  «        z  ¦  «        ¦  «        z  }t          j        t          j        |¦  «        dk    ¦  «        }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¬¦  «         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)Ú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˜5 q¨b°uÀ%ÐHÑHÔHˆÝ��5‰MŒMˆØ•B”H�RœV A­¬°©
¬
¡NÑ3Ô3Ñ4Ô4Ñ4ˆå”Y�rœw t™}œ}¨qÒ0Ñ1Ô1ˆ
åŒw�t˜J¨
 {Ð2Ô3Ñ4Ô4ˆà•2”9˜TÐ%8Ò8Ñ9Ô9Ñ9¸EÑAÀEÑIˆØ•B”I˜dÐ&9Ò9Ñ:Ô:Ñ:¸UÑBÀUÑJˆå˜˜h¨QÐ/Ñ/Ô/Ð/Ý˜ ¨SÐ1Ñ1Ô1Ð1Ý˜ ¨cÐ2Ñ2Ô2Ð2Ð2Ð2r@   N)rB   rC   rD   rk   rs   r‰   r   r@   r>   r`   r`   a   sA   € € € € € ð
ð 
ð 
ð$
ð 
ð 
ð$!3ð !3ð !3ð !3ð !3r@   r`   c                   ó   — e Zd Zd„ ZdS )Ú
TestBohmanc                 óä   — t          t          j        d¦  «        g d¢¦  «         t          t          j        dd¬¦  «        g d¢¦  «         t          t          j        dd¦  «        g d¢¦  «         d S )	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­   s²   € Ý�œ qÑ)Ô)ðDð Dð Dñ	Eô 	Eð 	Eõ 	�œ q¨dÐ3Ñ3Ô3ðDð Dð Dñ	Eô 	Eð 	Eõ 	�œ q¨%Ñ0Ô0ðAð Að Añ	Bô 	Bð 	Bð 	Bð 	Br@   NrA   r   r@   r>   r‹   r‹   «   s(   € € € € € ð	Bð 	Bð 	Bð 	Bð 	Br@   r‹   c                   ó   — e Zd Zd„ ZdS )Ú
TestBoxcarc                 óà   — t          t          j        d¦  «        g d¢¦  «         t          t          j        d¦  «        g d¢¦  «         t          t          j        dd¦  «        g d¢¦  «         d S )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»   sm   € Ý�œ qÑ)Ô)Ð+=Ð+=Ð+=Ñ>Ô>Ð>Ý�œ qÑ)Ô)Ð+@Ð+@Ð+@ÑAÔAÐAÝ�œ q¨%Ñ0Ô0Ð2DÐ2DÐ2DÑEÔEÐEÐEÐEr@   NrA   r   r@   r>   r’   r’   ¹   s(   € € € € € ðFð Fð Fð Fð 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dS )ÚTestChebWinc                 óþ  — t          ¦   «         5 }|                     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 ¦  «         d S # 1 swxY w Y   d S )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ÔBÐBÝ�GœO¨A¨sÑ3Ô3ðEð Eð EñFô Fð Fõ �GœO¨A¨sÑ3Ô3ðEð Eð EñFô Fð Fõ �GœO¨A¨rÑ2Ô2ðJð Jð JñKô Kð Kõ �GœO¨A¨rÑ2Ô2ð6ð 6ð 6ñ7ô 7ð 7õ �GœO¨A¨r°5Ñ9Ô9ð1ð 1ð 1ñ2ô 2ð 2ð!	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2ð 	2ð 	2s   �CC2Ã2C6Ã9C6c                 óâ   — t          ¦   «         5 }|                     t          d¦  «         t          j        dd¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |t          d¬¦  «         d S )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ü   s¦   € ÝÑ Ô ð 	3 CØ�JŠJ•{Ð$AÑBÔBÐBÝ” r¨cÐ2Ñ2Ô2ˆHð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3õ 	" (­MÀ1ÐEÑEÔEÐEÐEÐEó   �2AÁAÁAc                 óâ   — t          ¦   «         5 }|                     t          d¦  «         t          j        dd¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |t          d¬¦  «         d S )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  s¦   € ÝÑ Ô ð 	3 CØ�JŠJ•{Ð$AÑBÔBÐBÝœ¨¨rÐ2Ñ2Ô2ˆIð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3õ 	" )­^ÀQÐGÑGÔGÐGÐGÐGrç   c                 óú   — t          g d¢¦  «        }t          ¦   «         5 }|                     t          d¦  «         t	          j        dd¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ||d¬¦  «         d S )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ð &0ð &0ñ  1ô  1Ðõ Ñ Ô ð 	1 CØ�JŠJ•{Ð$AÑBÔBÐBÝ” q¨RÐ0Ñ0Ô0ˆHð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1õ 	" (Ð,@È!ÐLÑLÔLÐLÐLÐLó    2AÁA"Á%A"c                 óú   — t          g d¢¦  «        }t          ¦   «         5 }|                     t          d¦  «         t	          j        dd¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ||d¬¦  «         d S )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ÔBÐBÝœ¨¨cÐ2Ñ2Ô2ˆIð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3õ 	" )Ð-BÈAÐNÑNÔNÐNÐNÐNrô   N)rB   rC   rD   r?   ræ   rí   ró   rû   r   r@   r>   rË   rË   ä   sm   € € € € € ð2ð 2ð 2ð,Fð Fð FðHð Hð HðMð Mð MðOð Oð Oð Oð 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                                ¦   «         D ]E\  } }|€t          t          t          j        g| ¢R Ž  Œ%t	          j        | Ž }t          ||d¬¦  «         ŒFd S )NrQ   ©r6   )Úexponential_dataÚitemsÚassert_raisesÚ
ValueErrorr   r)   r   )ÚkÚvÚwins      r>   Útest_exponentialr  8  ss   € Ý ×&Ò&Ñ(Ô(ð 0ð 0‰ˆˆ1Øˆ9Ý�*¥gÔ&9Ð>¸AÐ>Ð>Ð>Ð>Ð>åÔ% qÐ)ˆCÝ˜C ¨Ð/Ñ/Ô/Ð/Ð/ð0ð 0r@   c                   ó   — e Zd Zd„ ZdS )ÚTestFlatTopc                 ó0  — 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	¢¦  «         d S )
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  sÚ   € Ý�œ¨¨uÐ5Ñ5Ô5ð3ð 3ð 3ñ	4ô 	4ð 	4õ 	�œ¨¨uÐ5Ñ5Ô5ð/ð /ð /ñ	0ô 	0ð 	0õ
 	�œ¨Ñ*Ô*ð'ð 'ð 'ñ	(ô 	(ð 	(õ 	�œ¨¨4Ñ0Ô0ðAð Að Añ	Bô 	Bð 	Bð 	Bð 	Br@   NrA   r   r@   r>   r  r  A  s(   € € € € € ðBð Bð Bð Bð Br@   r  c                   ó   — e Zd Zd„ ZdS )ÚTestGaussianc                 ó0  — 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 S )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Ô0ðBð Bð Bñ	Cô 	Cð 	Cõ 	�Ô(¨¨CÑ0Ô0ðBð Bð Bñ	Cô 	Cð 	Cõ 	�Ô(¨¨AÑ.Ô.ðAð Að Añ	Bô 	Bð 	Bõ 	�Ô(¨¨A¨uÑ5Ô5ð-ð -ð -ñ	.ô 	.ð 	.ð 	.ð 	.r@   NrA   r   r@   r>   r  r  U  s#   € € € € € ð.ð .ð .ð .ð .r@   r  c                   ó   — e Zd Zd„ ZdS )ÚTestGeneralCosinec                 ó¦   — t          t          j        dg d¢¦  «        g d¢¦  «         t          t          j        dg d¢d¬¦  «        g d¢¦  «         d S )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  sm   € Ý�Ô.¨q°/°/°/ÑBÔBØ/Ð/Ð/ñ	1ô 	1ð 	1å�Ô.¨q°/°/°/ÀuÐMÑMÔMØ*Ð*Ð*ñ	,ô 	,ð 	,ð 	,ð 	,r@   NrA   r   r@   r>   r&  r&  j  s#   € € € € € ð,ð ,ð ,ð ,ð ,r@   r&  c                   ó   — e Zd Zd„ ZdS )ÚTestGeneralHammingc                 óì   — t          t          j        dd¦  «        g d¢¦  «         t          t          j        ddd¬¦  «        g d¢¦  «         t          t          j        ddd	¬¦  «        g d
¢¦  «         d S )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  s¢   € Ý�Ô/°°3Ñ7Ô7Ø1Ð1Ð1ñ	3ô 	3ð 	3å�Ô/°°4¸UÐCÑCÔCð5ð 5ð 5ñ	6ô 	6ð 	6õ 	�Ô/°°4¸TÐBÑBÔBð9ð 9ð 9ñ	:ô 	:ð 	:ð 	:ð 	:r@   NrA   r   r@   r>   r-  r-  s  s#   € € € € € ð:ð :ð :ð :ð :r@   r-  c                   ó   — e Zd Zd„ ZdS )ÚTestHammingc                 ó0  — 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	¢¦  «         d S )
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‚  sÕ   € Ý�œ¨¨5Ñ1Ô1Ø;Ð;Ð;ñ	=ô 	=ð 	=å�œ¨¨uÐ5Ñ5Ô5ðAð Að Añ	Bô 	Bð 	Bõ 	�œ¨Ñ*Ô*ðGð Gð Gñ	Hô 	Hð 	Hõ 	�œ¨¨tÐ4Ñ4Ô4ØAÐAÐAñ	Cô 	Cð 	Cð 	Cð 	Cr@   NrA   r   r@   r>   r6  r6  €  s(   € € € € € ðCð Cð Cð Cð Cr@   r6  c                   ó   — e Zd Zd„ ZdS )ÚTestHannc                 óH  — 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¬¦  «         d S )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Ñ2Ô2Ø8Ð8Ð8Ø"¨ð	0ñ 	0ô 	0ð 	0õ 	�œ Q¨EÐ2Ñ2Ô2ðAð Að Að #¨ð		0ñ 	0ô 	0ð 	0õ
 	�œ Q¨Ñ-Ô-ðDð Dð Dà"¨ð	0ñ 	0ô 	0ð 	0õ 	�œ Q™œØ;Ð;Ð;Ø"¨ð	0ñ 	0ô 	0ð 	0ð 	0ð 	0r@   NrA   r   r@   r>   rA  rA  �  s#   € € € € € ð0ð 0ð 0ð 0ð 0r@   rA  c                   ó   — e Zd Zd„ ZdS )Ú
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
¢¦  «         d S )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ð Að Añ	Bô 	Bð 	Bõ 	�œ q¨#Ñ.Ô.ðAð Að Añ	Bô 	Bð 	Bõ 	�œ q¨#Ñ.Ô.ðAð Að Añ	Bô 	Bð 	Bõ 	�œ q¨#Ñ.Ô.ðAð Að Añ	Bô 	Bð 	Bõ 	�œ q¨#¨uÑ5Ô5ð-ð -ð -ñ	.ô 	.ð 	.ð 	.ð 	.r@   NrA   r   r@   r>   rL  rL  ¤  s#   € € € € € ð.ð .ð .ð .ð .r@   rL  c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestKaiserBesselDerivedc                 ól  — 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¢¦  «         d S )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¿  sS  € ØˆÝÔ)¨!°#Ð6Ñ6Ô6ˆÝÔÐ >Ø !¨5ð2ñ 2ô 2ˆå˜˜2ÑÔÐõ 	˜˜'˜1 ™6˜'œ
 a™¨!¨Q¨B°!©G¨H¨H¬+¸Ñ*:Ñ:¸BÑ?Ô?Ð?õ 	�Ô5°a½b¼eÀa¹iÐHÑHÔHÈÈ!ÈÔLÝœ ™
œ
 Q™ñ	(ô 	(ð 	(õ 	�Ô5°a½b¼eÀa¹iÐHÑHÔHÈÈ!ÈÔLØ'¨Ð8ñ	:ô 	:ð 	:õ 	�Ô5°a½b¼eÀa¹iÐHÑHÔHÈÈ!ÈÔLØHÐHÐHñ	Jô 	Jð 	Jð 	Jð 	Jr@   c                 ó2  — d}d}t          t          |¬¦  «        5  t          j        |dz   d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          t          |¬¦  «        5  t          j        |dz   dd¬	¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
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Ñ1Ô1ð 	:ð 	:ÝÔ)¨!¨a©%°bÐ9Ñ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð"ˆå�:¨SÐ1Ñ1Ô1ð 	Eð 	EÝÔ)¨!¨a©%°b¸eÐDÑDÔDÐDð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eð 	Eð 	Es#   ›AÁAÁAÁ$BÂBÂBN)rB   rC   rD   r?   ri  r   r@   r>   rY  rY  ½  s:   € € € € € ðJð Jð Jð0Eð Eð Eð Eð Er@   rY  c                   ó   — e Zd Zd„ ZdS )ÚTestNuttallc                 ó0  — 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	¢¦  «         d S )
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è  sÞ   € Ý�œ¨¨uÐ5Ñ5Ô5ð$ð $ð $ñ	%ô 	%ð 	%õ 	�œ¨¨uÐ5Ñ5Ô5ðAð Að Añ	Bô 	Bð 	Bõ 	�œ¨Ñ*Ô*ðLð Lð Lñ	Mô 	Mð 	Mõ 	�œ¨¨4Ñ0Ô0ð/ð /ð /ñ	0ô 	0ð 	0ð 	0ð 	0r@   NrA   r   r@   r>   rk  rk  æ  s#   € € € € € ð0ð 0ð 0ð 0ð 0r@   rk  c                   ó   — e Zd Zd„ ZdS )Ú
TestParzenc                 óä   — t          t          j        d¦  «        g d¢¦  «         t          t          j        dd¬¦  «        g d¢¦  «         t          t          j        dd¦  «        g d¢¦  «         d S )	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ú  sª   € Ý�œ qÑ)Ô)ðIð Ið Iñ	Jô 	Jð 	Jõ 	�œ q¨dÐ3Ñ3Ô3ðBð Bð Bñ	Cô 	Cð 	Cõ 	�œ q¨%Ñ0Ô0ð-ð -ð -ñ	.ô 	.ð 	.ð 	.ð 	.r@   NrA   r   r@   r>   rr  rr  ø  s#   € € € € € ð.ð .ð .ð .ð .r@   rr  c                   ó   — e Zd Zd„ ZdS )Ú
TestTriangc                 óä   — t          t          j        dd¦  «        g d¢¦  «         t          t          j        d¦  «        g d¢¦  «         t          t          j        dd¬¦  «        g d¢¦  «         d S )	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
  sˆ   € å�œ q¨$Ñ/Ô/Ø6Ð6Ð6ñ	8ô 	8ð 	8å�œ qÑ)Ô)Ø9Ð9Ð9ñ	;ô 	;ð 	;å�œ q¨eÐ4Ñ4Ô4Ø4Ð4Ð4ñ	6ô 	6ð 	6ð 	6ð 	6r@   NrA   r   r@   r>   rz  rz    s#   € € € € € ð6ð 6ð 6ð 6ð 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dS )Ú	TestTukeyc                 óÆ   — t                                ¦   «         D ]F\  }}|€t          t          t          j        g|¢R Ž  Œ%t	          j        |Ž }t          ||dd¬¦  «         ŒGd S )Nr4   r5   )Ú
tukey_datar  r	  r
  r   r+   r   )r=   r  r  r  s       r>   r?   zTestTukey.test_basic3  sw   € å×$Ò$Ñ&Ô&ð 	@ð 	@‰DˆAˆqØˆyÝ�j­'¬-Ð<¸!Ð<Ð<Ð<Ð<Ð<å”m QÐ'�Ý  Q¨U¸Ð?Ñ?Ô?Ð?Ð?ð	@ð 	@r@   c                 óê   — t          j        dd¦  «        }t          j        d¦  «        }t          ||¦  «         t          j        dd¦  «        }t          j        d¦  «        }t          ||¦  «         d S )NrÎ   r   r   )r   r+   r   r   r(   )r=   Útuk0Úbox0Útuk1Úhan1s        r>   Útest_extremeszTestTukey.test_extremes<  sh   € åŒ}˜S !Ñ$Ô$ˆÝŒ~˜cÑ"Ô"ˆÝ! $¨Ñ-Ô-Ð-åŒ}˜S !Ñ$Ô$ˆÝŒ|˜CÑ Ô ˆÝ! $¨Ñ-Ô-Ð-Ð-Ð-r@   N)rB   rC   rD   r?   r�  r   r@   r>   r…  r…  1  s5   € € € € € ð@ð @ð @ð.ð .ð .ð .ð .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dS )ÚTestDPSSc                 óÒ   — t                                ¦   «         D ]L\  }}t          j        |ddiŽ\  }}t	          ||d         d|¬¦  «         t	          ||d         dd|¬¦  «         ŒMd S )	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ð 	K‰DˆAˆqÝ!œ,¨Ð>¸Ð>Ð>‰KˆC�Ý˜C  1¤¨D¸!Ð<Ñ<Ô<Ð<Ý˜F A a¤D¨t¸$ÈÐJÑJÔJÐJÐJð	Kð 	Kr@   c                 óf  — t          dd¦  «        D �]}t          j        ||dz  ¦  «        }|dz  }t          t	          j        |d¦  «                             ¦   «         ||› ¬¦  «         t          j        ||dz  d¬¦  «        }|dk    rJt          t	          j        |d¦  «                             ¦   «         ||› ¬¦  «         t          ||d	¬
¦  «         t          j        ||dz  d¬¦  «        }|dk    rdnd}t          t	          j        |d¦  «                             ¦   «         ||› ¬¦  «         �Œ d S )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[  sS  € å�q˜"‘”ð 	-ñ 	-ˆAå”,˜q ! c¡'Ñ*Ô*ˆCØ˜1‘uˆHÝ�œ C¨Ñ,Ô,×0Ò0Ñ2Ô2°HØ$' ð+ñ +ô +ð +õ ”l 1 a¨#¡g°KÐ@Ñ@Ô@ˆGØ�1Šuˆuå�RœZ¨°Ñ4Ô4×8Ò8Ñ:Ô:¸HØ(/ \ð3ñ 3ô 3ð 3å  W°4Ð8Ñ8Ô8Ð8å”L  A¨¡G°!Ð4Ñ4Ô4ˆEØ šF˜F�q�q¨ˆHÝ�œ E¨2Ñ.Ô.×2Ò2Ñ4Ô4°hØ$) ð-ñ -ô -ð -ñ -ð!	-ð 	-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¦  «         d S )
Né   r0   ru   T)rÿ  r   r;   r8   rù   )r   r   r   )r=   Úlams     r>   r�  zTestDPSS.test_extremesp  s�   € åŒl˜2˜q !°4Ð8Ñ8Ô8¸Ô;ˆÝ! # rÑ*Ô*Ð*ÝŒl˜2˜q !°4Ð8Ñ8Ô8¸Ô;ˆÝ! # rÑ*Ô*Ð*ÝŒl˜2˜q !°4Ð8Ñ8Ô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¦  «         d S )	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Ô9Ð9Ý•j¥'¤,°°1°aÑ8Ô8Ð8Ý•j¥'¤,°°A°qÑ9Ô9Ð9Ð9Ð9r@   N)rB   rC   rD   r?   r  r�  r  r   r@   r>   rý  rý  R  sS   € € € € € ðKð Kð Kð-ð -ð -ð*+ð +ð +ð:ð :ð :ð :ð :r@   rý  c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestLanczosc                 óò   — t          t          j        dd¬¦  «        g d¢d¬¦  «         t          t          j        d¦  «        g d¢d¬¦  «         t          t          j        dd	¬¦  «        g d
¢d¬¦  «         d S )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†  sÁ   € õ 	�œ¨¨uÐ5Ñ5Ô5ð&ð &ð &ð "ð		#ñ 	#ô 	#ð 	#õ
 	�œ¨Ñ*Ô*ð*ð *ð *ð "ð		#ñ 	#ô 	#ð 	#õ
 	�œ¨¨tÐ4Ñ4Ô4ð*ð *ð *ð "ð		#ñ 	#ô 	#ð 	#ð 	#ð 	#r@   c           	      óÔ   — dD ]d}t          t          t          j        |d¬¦  «        ¦  «        |¦  «         t          t          t          j        |d¬¦  «        ¦  «        |¦  «         Œed S )N)r   rÔ   é   Fr1   T)r   Úlenr   r,   )r=   Úns     r>   Útest_array_sizezTestLanczos.test_array_sizeŸ  sl   € Øð 	?ð 	?ˆAÝ��Wœ_¨Q°EÐ:Ñ:Ô:Ñ;Ô;¸QÑ?Ô?Ð?Ý��Wœ_¨Q°DÐ9Ñ9Ô9Ñ:Ô:¸AÑ>Ô>Ð>Ð>ð	?ð 	?r@   N)rB   rC   rD   r?   r#  r   r@   r>   r  r  „  s2   € € € € € ð#ð #ð #ð2?ð ?ð ?ð ?ð ?r@   r  c                   óJ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ ZdS )ÚTestGetWindowc                 óâ   — t          j        dd¦  «        }t          |t          j        |¦  «        ¦  «         t          j        dd¦  «        }t          |t          j        |¦  «        ¦  «         d S )Nr   é   )r   é   )r   r   r   rj   Ú	ones_like)r=   r‚   s     r>   Útest_boxcarzTestGetWindow.test_boxcar§  s^   € ÝÔ˜x¨Ñ,Ô,ˆÝ˜1�bœl¨1™oœoÑ.Ô.Ð.õ Ô˜{¨BÑ/Ô/ˆÝ˜1�bœl¨1™oœoÑ.Ô.Ð.Ð.Ð.r@   c                 óä   — t          ¦   «         5 }|                     t          d¦  «         t          j        ddd¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |t          d¬¦  «         d S )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¯  sº   € ÝÑ Ô ð 	H CØ�JŠJ•{Ð$AÑBÔBÐBÝÔ"Ð#3°RÀÐGÑGÔGˆAð	Hð 	Hð 	Hñ 	Hô 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Høøøð 	Hð 	Hð 	Hð 	Hõ 	" !¥]¸AÐ>Ñ>Ô>Ð>Ð>Ð>ó   �3AÁAÁAc                 óä   — t          ¦   «         5 }|                     t          d¦  «         t          j        ddd¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |t          d¬¦  «         d S )NrÍ   )r&   rê   ré   Fr^  ru   râ   )r
   rÚ   rÛ   r   r   r   rë   r,  s      r>   Útest_cheb_evenzTestGetWindow.test_cheb_evenµ  s¹   € ÝÑ Ô ð 	G CØ�JŠJ•{Ð$AÑBÔBÐBÝÔ" ?°BÀÐFÑFÔFˆAð	Gð 	Gð 	Gñ 	Gô 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gøøøð 	Gð 	Gð 	Gð 	Gõ 	" !¥^¸QÐ?Ñ?Ô?Ð?Ð?Ð?r.  c                 ó‚   — t          j        ddd¬¦  «        }t          j        dd¦  «        }t          ||d¬¦  «         d S )N)r   r"  é@   Fr^  r"  ru   râ   )r   r   r   r   ©r=   Úwin1Úwin2s      r>   Ú	test_dpsszTestGetWindow.test_dpss»  sE   € ÝÔ! +¨r¸5ÐAÑAÔAˆÝŒ|˜B Ñ"Ô"ˆÝ! $¨°aÐ8Ñ8Ô8Ð8Ð8Ð8r@   c                 ó|   — t          j        dd¦  «        }t          j        ddd¦  «        }t          ||¦  «         d S )NgÍÌÌÌÌÌ@r2  F)r   r   r   r   r3  s      r>   Útest_kaiser_floatzTestGetWindow.test_kaiser_floatÀ  s=   € ÝÔ! # rÑ*Ô*ˆÝŒ~˜b # uÑ-Ô-ˆÝ˜˜dÑ#Ô#Ð#Ð#Ð#r@   c                 ó¤   — t          t          t          j        t	          d¦  «        d¦  «         t          t          t          j        dd¦  «         d S )Nr(   rù   Úbrokenru   )r	  r
  r   r   Úsetr<   s    r>   Útest_invalid_inputsz!TestGetWindow.test_invalid_inputsÅ  s>   € å•j¥'Ô"4µc¸&±k´kÀ1ÑEÔEÐEõ 	•j¥'Ô"4°hÀÑBÔBÐBÐBÐBr@   c                 ó  — d}t          j        d¦  «        }t          j        d|dz  ¦  «        }t	          t
          d¬¦  «        5  t          |t          |¦  «        |z  |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )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˜‰nŒnˆåÔ  °(¸a±-Ñ@Ô@ˆÝ�:Ð-HÐIÑIÔIð 	;ð 	;Ý�S�#˜c™(œ( XÑ-°cÐ:Ñ:Ô:Ð:ð	;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øøøð 	;ð 	;ð 	;ð 	;ð 	;ð 	;s   Á#A5Á5A9Á<A9c                 óš   — t          t          dg d¢fd¦  «        g d¢¦  «         t          t          dg d¢fdd¬¦  «        g d¢¦  «         d S )Nr+  r(  ru   r*  Fr^  )rH   çš™™™™™á?rE  rH   ©r   r   r<   s    r>   Útest_general_cosinez!TestGetWindow.test_general_cosineÕ  sz   € Ý�
Ð$4°o°o°oÐ#FÈÑJÔJØ*Ð*Ð*ñ	,ô 	,ð 	,å�
Ð$4°o°o°oÐ#FÈØ+0ð2ñ 2ô 2à.Ð.Ð.ñ	0ô 	0ð 	0ð 	0ð 	0r@   c                 óŠ   — t          t          dd¦  «        g d¢¦  «         t          t          ddd¬¦  «        g d¢¦  «         d S )N)r4  r/  rc   )rH   çâÐ¶õnã?ç”·Èâ£*î?rJ  rI  Fr^  r0  rF  r<   s    r>   Útest_general_hammingz"TestGetWindow.test_general_hammingÜ  sd   € Ý�
Ð#;¸QÑ?Ô?ØIÐIÐIñ	Kô 	Kð 	Kå�
Ð#;¸QÈÐNÑNÔNØ1Ð1Ð1ñ	3ô 	3ð 	3ð 	3ð 	3r@   c                 óê   — t          t          dd¦  «        g d¢d¬¦  «         t          t          ddd¬¦  «        g d¢d¬¦  «         t          t          dd¦  «        t          d	d¦  «        ¦  «         d S )
Nr,   r0   r  r  rR   Fr^  r  ÚsincrF  r<   s    r>   Útest_lanczoszTestGetWindow.test_lanczosâ  sŸ   € Ý�
 9¨aÑ0Ô0ð&ð &ð &Ø,0ð	2ñ 	2ô 	2ð 	2õ 	�
 9¨a¸Ð?Ñ?Ô?ð*ð *ð *Ø04ð	6ñ 	6ô 	6ð 	6õ 	�
 9¨aÑ0Ô0µ*¸VÀQÑ2GÔ2GÑHÔHÐHÐHÐHr@   N)rB   rC   rD   r*  r-  r0  r6  r8  r<  rC  rG  rK  rN  r   r@   r>   r%  r%  ¥  sµ   € € € € € ð/ð /ð /ð?ð ?ð ?ð@ð @ð @ð9ð 9ð 9ð
$ð $ð $ð
Cð Cð Cð;ð ;ð ;ð0ð 0ð 0ð3ð 3ð 3ðIð Ið Ið Ið Ir@   r%  c                  ó  — t           D �]z\  } }t          t          | ¦  «        }t          ¦   «         5 }|                     t
          d¦  «          |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¬¦  «         t          t!           |dg|¢R ddiŽ¦  «        j        dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   �Œ|d S )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  ì  sR  € Ý+ð /+ñ /+Ñˆ�VÝ� +Ñ.Ô.ˆÝÑ Ô ð -	+ CØ�JŠJ•{Ð$AÑBÔBÐBà�˜Ð-˜FÐ-Ð-Ð-¨Ð-Ð-ˆBØ�˜Ð.˜FÐ.Ð.Ð.¨Ð.Ð.ˆBÝ% b¨¨"¨¤g¨rÑ2Ô2Ð2à�˜Ð-˜FÐ-Ð-Ð-¨Ð-Ð-ˆBØ�˜Ð.˜FÐ.Ð.Ð.¨Ð.Ð.ˆBÝ% b¨¨"¨¤g¨rÑ2Ô2Ð2õ �˜V˜V AÐ9¨Ð9Ð9Ð9°DÐ9Ð9Ñ:Ô:¸AÑ>Ô>Ð>Ý�˜V˜V AÐ:¨Ð:Ð:Ð:°EÐ:Ð:Ñ;Ô;¸QÑ?Ô?Ð?Ý�˜V˜V AÐ9¨Ð9Ð9Ð9°DÐ9Ð9Ñ:Ô:¸AÑ>Ô>Ð>Ý�˜V˜V AÐ:¨Ð:Ð:Ð:°EÐ:Ð:Ñ;Ô;¸QÑ?Ô?Ð?õ �* f¨cÐ;°FÐ;Ð;Ð;Ð;Ý�* f¨bÐ:°6Ð:Ð:Ð:Ð:õ ˜v˜v aÐ;¨&Ð;Ð;Ð;°dÐ;Ð;¸RÑ@Ô@Ð@Ý˜v˜v aÐ<¨&Ð<Ð<Ð<°eÐ<Ð<¸bÑAÔAÐAÝ˜v˜v aÐ;¨&Ð;Ð;Ð;°dÐ;Ð;¸a¸SÑAÔAÐAÝ˜v˜v aÐ<¨&Ð<Ð<Ð<°eÐ<Ð<¸q¸cÑBÔBÐBõ �F�F˜1Ð0˜vÐ0Ð0Ð0¨4Ð0Ð0Ô6¸'ÒAÑBÔBÐBÝ�F�F˜1Ð1˜vÐ1Ð1Ð1¨5Ð1Ð1Ô7¸7ÒBÑCÔCÐCÝ�F�F˜1Ð0˜vÐ0Ð0Ð0¨4Ð0Ð0Ô6¸'ÒAÑBÔBÐBÝ�F�F˜1Ð1˜vÐ1Ð1Ð1¨5Ð1Ð1Ô7¸7ÒBÑCÔCÐCÝ�F�F˜1Ð0˜vÐ0Ð0Ð0¨4Ð0Ð0Ô6¸'ÒAÑBÔBÐBÝ�F�F˜1Ð1˜vÐ1Ð1Ð1¨5Ð1Ð1Ô7¸7ÒBÑCÔCÐCõ ˜f˜f RÐ;¨&Ð;Ð;Ð;°dÐ;Ð;¸TÑBÔBÐBÝ˜f˜f RÐ<¨&Ð<Ð<Ð<°eÐ<Ð<¸dÑCÔCÐCÝ˜f˜f QÐ:¨Ð:Ð:Ð:°TÐ:Ð:¸DÑAÔAÐAÝ˜f˜f QÐ;¨Ð;Ð;Ð;°UÐ;Ð;¸TÑBÔBÐBõ �C   rÐ >¨FÐ >Ð >Ð >¸Ð >Ð >Ñ?Ô?ÔDØ Eð+ñ +ô +ð +å�C   rÐ >¨FÐ >Ð >Ð >¸Ð >Ð >Ñ?Ô?ÔDØ Eð+ñ +ô +ð +ðY-	+ð -	+ð -	+ñ -	+ô -	+ð -	+ð -	+ð -	+ð -	+ð -	+ð -	+øøøð -	+ð -	+ð -	+ð -	+ùð/+ð /+s   ±L:M7Í7M;	Í>M;	c                  óH   — dD ]} t          t          t          | d¦  «         Œd S )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    s6   € ðð 9ð 9ˆõ 	•j¥*¨f°aÑ8Ô8Ð8Ð8ð9ð 9r@   c                  ój   — dD ]/} t          | d¦  «        }t          t          |¦  «        d¦  «         Œ0d S )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  *  sG   € ðð "ð "ˆõ( ˜ Ñ#Ô#ˆÝ•S˜‘X”X˜qÑ!Ô!Ð!Ð!ð+"ð "r@   c            	      ó~  — t           j        fD ]®}  | d¦  «        }t          j        t          j        |t          j        |¦  «        z
  ¦  «        ¦  «        }t          |d¦  «          | d¦  «        }t          j        t          j        |t          j        |¦  «        z
  ¦  «        ¦  «        }t          |d¦  «         Œ¯d S )Ni   r~  i  )r   r,   rj   Úmaxr|   Úflipr   )r  r‚   Úerrors      r>   Útest_symmetricrn  C  s©   € å”Ð ð 	!ð 	!ˆàˆC�‰IŒIˆÝ”•r”v˜a¥¤¨¡
¤
™lÑ+Ô+Ñ,Ô,ˆÝ�U˜CÑ Ô Ð ð ˆC�‰IŒIˆÝ”•r”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Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6ðð ð €ð40ð 0ð 0ð 0ð 0ñ 0ô 0ð 0ð6ð 6ð 6ð 6ð 6ñ 6ô 6ð 6ðIð Ið Ið Ið Iñ Iô Ið Ið"#ð #ð #ð #ð #ñ #ô #ð #ð"G3ð G3ð G3ð G3ð G3ñ G3ô G3ð G3ðTBð Bð Bð Bð Bñ Bô Bð BðFð Fð Fð Fð Fñ Fô Fð Fð �ð !ð !ð !ñ "ô "€ð �ð 6ð 6ð 6ñ 7ô 7€ð(4Oð 4Oð 4Oð 4Oð 4Oñ 4Oô 4Oð 4Oðr 	ˆð (ð (ð (ñ 	)ô 	)ð  ˜%ð !Jð !Jð !Jñ Kô Kà ˜5ð "7ð "7ð "7ñ 8ô 8à˜%ð !Kð !Kð !Kñ Lô Lð 	ˆð Að Að Añ 	Bô 	BàØ˜ð 4ð 4ð 4ñ 5ô 5ààˆð Að Að Añ 	Bô 	Bð  ˜%ð !Jð !Jð !Jñ Kô KàØð3ð Ð ð:0ð 0ð 0ðBð Bð Bð Bð Bñ Bô Bð Bð(.ð .ð .ð .ð .ñ .ô .ð .ð*,ð ,ð ,ð ,ð ,ñ ,ô ,ð ,ð
:ð 
:ð 
:ð 
:ð 
:ñ 
:ô 
:ð 
:ðCð Cð Cð Cð Cñ Cô Cð Cð 0ð 0ð 0ð 0ð 0ñ 0ô 0ð 0ð(.ð .ð .ð .ð .ñ .ô .ð .ð2&Eð &Eð &Eð &Eð &Eñ &Eô &Eð &EðR0ð 0ð 0ð 0ð 0ñ 0ô 0ð 0ð$.ð .ð .ð .ð .ñ .ô .ð .ð 	6ð 	6ð 	6ð 	6ð 	6ñ 	6ô 	6ð 	6ðØ�E�EÐ.Ð.Ð.Ñ/Ô/ðà�E�Eð 5ð 5ð 5ñ 6ô 6ðð �E�EÐ0Ð0Ð0Ñ1Ô1ð	ð
 �U�UÐ/Ð/Ð/Ñ0Ô0ðð �U�Uð 6ð 6ð 6ñ 7ô 7ðð �U�UÐ/Ð/Ð/Ñ0Ô0ðð �E�EÐ3Ð3Ð3Ñ4Ô4ðð �E�Eð :ð :ð :ñ ;ô ;ðð �E�EÐ3Ð3Ð3Ñ4Ô4ðð ÐÐÐðð Ð!Ð!Ð!ðð  Ð Ð Ð ð!ð" Ð#Ð#Ð#ð#ð$ 	Ð
BÐ
BÐ
Bð%ð& 	Ð
+Ð
+Ð
+ð'ð( ÐFÐFÐFð)ð* ð :ð :ð :ð+ð.$ð $ð $à/Ð/Ð/ð3ð ð €
ð:.ð .ð .ð .ð .ñ .ô .ð .ð4 HÐGÐGÐIÐIÐIð  Að  DOð  Q\ð  C]ð  ^Ø:Ð:Ð:Ð<\Ð<\Ð<\ð  _Gð  _Gð  _Gð  Hð  Jqð  Jqð  Jqð  rØVÐVÐVð  YUð  YUð  YUð  WYð  WYð  WYð  [Vð  [Vð  [Vð  Xað  Xað  Xað  bð  dkð  dkð  dkð  lð |ð  |ð  |ð  ~J(ð  ~J(ð  ~J(ð  L(D<ð  L(D<ð  L(D<ð  F<`Pð  F<`Pð  F<`Pð  aPð  cPWQð  cPWQð  cPWQð  XQðð €	ð/:ð /:ð /:ð /:ð /:ñ /:ô /:ð /:ðd?ð ?ð ?ð ?ð ?ñ ?ô ?ð ?ðBDIð DIð DIð DIð DIñ DIô DIð DIðN0+ð 0+ð 0+ðf9ð 9ð 9ð"ð "ð "ð2!ð !ð !ð !ð !r@   