§
    fŠtjŸ×  ã                   óX  — d dl Z d dlZd dlZd dlmZ d dlZd dlmZ d dlm	Z	 d dl
mZmZmZ d dlmZmZ d dlmZmZmZmZmZmZmZmZmZmZmZmZ ej        j        Zej        j         Z egZ!g d¢Z" eej#        ¦  «         G d	„ d
¦  «        ¦   «         Z$ eej%        ¦  «         G d„ d¦  «        ¦   «         Z& eej'        ¦  «         G d„ d¦  «        ¦   «         Z( eej)        ¦  «         G d„ d¦  «        ¦   «         Z* eej+        ¦  «         G d„ d¦  «        ¦   «         Z, eej-        ¦  «         G d„ d¦  «        ¦   «         Z. eej/        ¦  «         G d„ d¦  «        ¦   «         Z0g d¢Z1g d¢Z2 eej3        ¦  «         G d„ d¦  «        ¦   «         Z4 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!œZ5 eej6        ¦  «        d"„ ¦   «         Z7 eej8        ¦  «         G d#„ d$¦  «        ¦   «         Z9 eej:        ¦  «         G d%„ d&¦  «        ¦   «         Z; eej<        ¦  «         G d'„ d(¦  «        ¦   «         Z= eej>        ¦  «         G d)„ d*¦  «        ¦   «         Z? eej@        ¦  «         G d+„ d,¦  «        ¦   «         ZA eejB        ¦  «         G d-„ d.¦  «        ¦   «         ZC eejD        ¦  «         G d/„ d0¦  «        ¦   «         ZE eejF        ¦  «         G d1„ d2¦  «        ¦   «         ZG G d3„ d4¦  «        ZH eejI        ¦  «         G d5„ d6¦  «        ¦   «         ZJ eejK        ¦  «         G d7„ d8¦  «        ¦   «         ZLi d9 eg d:¢¦  «        “d; eg d<¢¦  «        “d= eg d>¢¦  «        “d? eg d@¢¦  «        “dA eg dB¢¦  «        “dC eg dD¢¦  «        “dE eg dF¢¦  «        “dG eg dH¢¦  «        “dI eg dJ¢¦  «        “dKg dL¢“dMg dN¢“dOg dP¢“dQg dR¢“dSg dT¢“dUg dV¢“dWg dX¢“dYg dZ¢“g d[¢g d\¢d]œ¥ZM eejN        ¦  «         G d^„ d_¦  «        ¦   «         ZOg d`¢g da¢gdbdcgfg dd¢g de¢g df¢gg dg¢fg dh¢g di¢g dj¢g dk¢g dl¢gg dm¢fg dn¢g do¢g dp¢g dq¢gg dr¢fdsœZP eejQ        ¦  «         G dt„ du¦  «        ¦   «         ZR eejS        ¦  «         G dv„ dw¦  «        ¦   «         ZT eej        ¦  «         G dx„ dy¦  «        ¦   «         ZU edzd{¬|¦  «        ej         V                    d}d~„ e"D ¦   «         ¦  «        d„ ¦   «         ¦   «         ZW ee¦  «        d€„ ¦   «         ZXg d�¢ZYej         V                    d‚dƒ„ eYD ¦   «         ¦  «         ee¦  «        d„„ ¦   «         ¦   «         ZZ eejS        ¦  «        d…„ ¦   «         Z[dS )†é    N)Úarray)Úraises)Úfft)ÚwindowsÚ
get_windowÚresample)Ú_WIN_FUNC_DATAÚ
_WIN_FUNCS)Úxp_assert_closeÚxp_assert_equalÚarray_namespaceÚis_torchÚis_jaxÚis_cupyÚassert_array_almost_equalÚSCIPY_DEVICEÚis_numpyÚmake_xp_test_caseÚmake_xp_pytest_paramÚ_xp_copy_to_numpy))Ú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¢|j        ¬¦  «        dd¬¦  «         t          t          j        d|¬	¦  «        |                     g d
¢|j        ¬¦  «        dd¬¦  «         t          t          j        dd|¬	¦  «        |                     g d¢|j        ¬¦  «        dd¬¦  «         d S )Né   T©ÚsymÚxp)r   gøA,qÞòÖ?ç	5xôB$ì?r;   göA,qÞòÖ?r   ©ÚdtypeçVçž¯Ò<©ÚrtolÚatolé   ©r:   )r   çHáz®GÑ?ç\�Âõ(\ç?ç      ð?rE   rD   r   F)r   rD   rE   rF   rE   rD   )r   r   r!   ÚasarrayÚfloat64©Úselfr:   s     ú]/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/signal/tests/test_windows.pyÚ
test_basiczTestBartHann.test_basic5   s  € Ý�Ô(¨°¸Ð<Ñ<Ô<ØŸ
š
ð $Dð $Dð $DØKMÌ:ð #ñ Wô Wà"¨ð	0ñ 	0ô 	0ð 	0õ 	�Ô(¨¨rÐ2Ñ2Ô2ØŸ
š
Ð#FÐ#FÐ#FØ)+¬ð #ñ 5ô 5à"¨ð	0ñ 	0ô 	0ð 	0õ 	�Ô(¨¨E°bÐ9Ñ9Ô9ØŸ
š
Ð#CÐ#CÐ#CÈ2Ì:˜
ÑVÔVØ"¨ð	0ñ 	0ô 	0ð 	0ð 	0ð 	0ó    N©Ú__name__Ú
__module__Ú__qualname__rL   r   rM   rK   r5   r5   2   s#   € € € € € ð0ð 0ð 0ð 0ð 0rM   r5   c                   ó   — e Zd Zd„ ZdS )ÚTestBartlettc                 óˆ  — t          t          j        d|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          j        d|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          j        dd|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         d S )	Nr7   rC   )r   çš™™™™™Ù?çš™™™™™é?rV   rU   r   r<   rB   )r   çUUUUUUÕ?çUUUUUUå?rF   rX   rW   r   F)r   rW   rX   rF   rX   rW   )r   r   r    rG   rH   rI   s     rK   rL   zTestBartlett.test_basicF   sÙ   € Ý�Ô(¨¨rÐ2Ñ2Ô2ØŸ
š
Ð#=Ð#=Ð#=ÀRÄZ˜
ÑPÔPñ	Rô 	Rð 	Rå�Ô(¨¨rÐ2Ñ2Ô2ØŸ
š
Ð#BÐ#BÐ#BÈ"Ì*˜
ÑUÔUñ	Wô 	Wð 	Wå�Ô(¨¨E°bÐ9Ñ9Ô9ØŸ
š
Ð#?Ð#?Ð#?ÀrÄz˜
ÑRÔRñ	Tô 	Tð 	Tð 	Tð 	TrM   NrN   r   rM   rK   rS   rS   C   s(   € € € € € ðTð Tð Tð Tð TrM   rS   c                   ó   — e Zd Zd„ ZdS )ÚTestBlackmanc                 ó  — t          t          j        dd|¬¦  «        |                     g d¢|j        ¬¦  «        d¬¦  «         t          t          j        dd|¬¦  «        |                     g d	¢|j        ¬¦  «        d
¬¦  «         t          t          j        d|¬¦  «        |                     g d¢|j        ¬¦  «        d¬¦  «         t          t          j        dd|¬¦  «        |                     g d¢|j        ¬¦  «        d¬¦  «         d S )Nr7   Fr8   )r   ç¤p=
×£À?ç)\�Âõ(ä?rF   r]   r\   r<   ç›+¡†›„=©rA   rB   )r   çF…i£ô'·?ç—bê@cÝ?ç×Zgžsí?rb   ra   r`   ç:Œ0âŽyE>rC   )r   çì³©Ö²É?çž,¯ä,ë?re   rd   r   T)r   r\   r]   rF   r]   r\   r   )r   r   r   rG   rH   rI   s     rK   rL   zTestBlackman.test_basicR   sh  € Ý�Ô(¨°¸"Ð=Ñ=Ô=ØŸ
š
Ð#CÐ#CÐ#CÈ2Ì:˜
ÑVÔVØ"ð	$ñ 	$ô 	$ð 	$õ 	�Ô(¨°¸"Ð=Ñ=Ô=ØŸ
š
ð $Mð $Mð $Mð +-¬*ð #ñ 6ô 6ð "ð	#ñ 	#ô 	#ð 	#õ 	�Ô(¨¨rÐ2Ñ2Ô2ØŸ
š
ð $Oð $Oð $Oà*,¬*ð #ñ 6ô 6ð #ð		$ñ 	$ô 	$ð 	$õ
 	�Ô(¨¨D°RÐ8Ñ8Ô8ØŸ
š
Ð#FÐ#FÐ#FØ œjð #ñ *ô *Ø05ð	7ñ 	7ô 	7ð 	7ð 	7ð 	7rM   NrN   r   rM   rK   rZ   rZ   O   s#   € € € € € ð7ð 7ð 7ð 7ð 7rM   rZ   c                   ó   — e Zd Zd„ ZdS )ÚTestBlackmanHarrisc                 ó  — t          t          j        dd|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          j        dd|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          j        d|¬¦  «        |                     g d	¢|j        ¬¦  «        ¦  «         t          t          j        dd
|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         d S )Nr7   FrC   )çiUMu?çè0_^€}¬?ç¸¯çŒ¨à?rF   rk   rj   r<   rB   r8   )ri   gˆj—P¸¡?g'mþå$MÕ?gÇÿ·˜·uì?gÈÿ·˜·uì?g*mþå$MÕ?g�j—P¸¡?)ri   çµÚö^º?gòU×ˆgé?gôU×ˆgé?rl   ri   T)ri   rj   rk   rF   rk   rj   ri   )r   r   r   rG   rH   rI   s     rK   rL   zTestBlackmanHarris.test_basici   sd  € Ý�Ô.¨q°%¸BÐ?Ñ?Ô?ØŸ
š
ð $=ð $=ð $=ØDFÄJð #ñ Pô Pñ	Qô 	Qð 	Qõ 	�Ô.¨q°eÀÐCÑCÔCØŸ
š
ð $Mð $Mð $Mð +-¬*ð #ñ 6ô 6ñ	7ô 	7ð 	7õ
 	�Ô.¨q°RÐ8Ñ8Ô8ØŸ
š
ð $Uð $Uð $Uà*,¬*ð #ñ 6ô 6ñ	7ô 	7ð 	7õ 	�Ô.¨q°d¸rÐBÑBÔBØŸ
š
ð $7ð $7ð $7Ø>@¼jð #ñ Jô Jñ	Kô 	Kð 	Kð 	Kð 	KrM   NrN   r   rM   rK   rg   rg   f   s(   € € € € € ðKð Kð Kð Kð KrM   rg   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )Ú
TestTaylorc                 ó�  — t          t          j        ddd|¬¦  «        |                     dg|j        ¬¦  «        ¦  «         t          t          j        ddd|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          j        d	dd|¬¦  «        |                     g d
¢|j        ¬¦  «        ¦  «         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'   é   rC   rF   r<   é   )ç%6'HÏAè?ç)ÞTæÞ
í?rF   rs   rr   r7   )ç©Î´Xè?ç¹¡1¬E¸ë?çPD3mï?rv   ru   rt   N©r   r   r1   rG   rH   rI   s     rK   Útest_normalizedzTestTaylor.test_normalized~   sî   € õ
 	�œ q¨!¨R°BÐ7Ñ7Ô7ØŸ
š
 C 5°´
˜
Ñ;Ô;ñ	=ô 	=ð 	=åÝŒN˜1˜a ¨Ð+Ñ+Ô+Ø�JŠJÐLÐLÐLØœZð ñ )ô )ñ	
ô 	
ð 	
õ
 	ÝŒN˜1˜a ¨Ð+Ñ+Ô+Ø�JŠJð ð ð ð ”Zð ñ !ô !ñ	
ô 	
ð 	
ð 	
ð 	
rM   c           	      ó  — t          t          j        dddd|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          j        dddd|¬¦  «        |                     g d	¢|j        ¬¦  «        ¦  «         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.
        rq   r'   rp   F©Únormr:   )ç	P•ç¨ ì?çsCËpÃð?g)8‚uxò?r}   r|   r<   r7   )ç)S~Œ¸ë?rF   çktÖÀ¹#ò?r   rF   r~   Nrw   rI   s     rK   Útest_non_normalizedzTestTaylor.test_non_normalized’   s¸   € õ
 	ÝŒN˜1˜a ¨%°BÐ7Ñ7Ô7Ø�JŠJð ð ð à”Zð ñ !ô !ñ	
ô 	
ð 	
õ 	ÝŒN˜1˜a ¨%°BÐ7Ñ7Ô7Ø�JŠJð ð ð à”Zð ñ !ô !ñ	
ô 	
ð 	
ð 	
ð 	
rM   c           	      ó   — d}d}t          j        |dddd|¬¦  «        }t          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          j        |dd¬¦  «        sJ ‚t          j        |	dd¬¦  «        sJ ‚t          j        |
dd¬¦  «        sJ ‚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Úsllr{   r9   r:   é   r   r'   gXÇ$Àg_‚•Ò2ÀgòAÏf•AÀr%   )Úabs_tolg˜LŒJêò?çš™™™™™¹?gˆ…ZÓ¼ã@N)r   r1   r   r   ÚnpÚlog10ÚabsÚmaxÚargmaxÚdiffÚmathÚisclose)rJ   r:   ÚM_winÚN_fftÚwÚf_npÚspecÚ
first_zeroÚPSLLÚBW_3dBÚBW_18dBs              rK   Útest_correctnesszTestTaylor.test_correctness¤   sK  € ð ˆØˆõ ŒN˜5 q¨b°uÀ%ÈBÐOÑOÔOˆÝÕ$ QÑ'Ô'¨Ñ/Ô/ˆà•B”H�RœV D­2¬6°$©<¬<Ñ$7Ñ8Ô8Ñ9Ô9Ñ9ˆå”Y�rœw t™}œ}¨qÒ0Ñ1Ô1ˆ
åŒv�d˜: z kÐ1Ô2Ñ3Ô3ˆà•2”9˜TÐ%8Ò8Ñ9Ô9Ñ9¸EÑAÀEÑIˆØ•B”I˜dÐ&9Ò9Ñ:Ô:Ñ:¸UÑBÀUÑJˆåŒ|˜D (°AÐ6Ñ6Ô6Ð6Ð6Ð6ÝŒ|˜F F°CÐ8Ñ8Ô8Ð8Ð8Ð8ÝŒ|˜G V°SÐ9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9rM   N)rO   rP   rQ   rx   r€   rš   r   rM   rK   rn   rn   {   sA   € € € € € ð
ð 
ð 
ð(
ð 
ð 
ð$":ð ":ð ":ð ":ð ":rM   rn   c                   ó   — e Zd Zd„ ZdS )Ú
TestBohmanc                 óŠ  — t          t          j        d|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          j        dd|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          j        dd	|¬¦  «        |                     g d
¢|j        ¬¦  «        ¦  «         d S )Nr7   rC   )r   g$I³ ˆíÆ?ç6 Dî­²ê?rž   g I³ ˆíÆ?r   r<   rB   Tr8   )r   ç éëPGç»?ç4}êè|ã?rF   ç6}êè|ã?rŸ   r   F)r   rŸ   r    rF   r¡   rŸ   )r   r   r   rG   rH   rI   s     rK   rL   zTestBohman.test_basicÌ   s  € Ý�œ q¨RÐ0Ñ0Ô0ØŸ
š
ð $Oð $Oð $Oà*,¬*ð #ñ 6ô 6ñ	7ô 	7ð 	7õ 	�œ q¨d°rÐ:Ñ:Ô:ØŸ
š
ð $Oð $Oð $Oà*,¬*ð #ñ 6ô 6ñ	7ô 	7ð 	7õ 	�œ q¨%°BÐ7Ñ7Ô7ØŸ
š
ð $Lð $Lð $Là*,¬*ð #ñ 6ô 6ñ	7ô 	7ð 	7ð 	7ð 	7rM   NrN   r   rM   rK   rœ   rœ   É   s#   € € € € € ð7ð 7ð 7ð 7ð 7rM   rœ   c                   ó   — e Zd Zd„ ZdS )Ú
TestBoxcarc                 óˆ  — t          t          j        d|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          j        d|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          j        dd|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         d S )Nr7   rC   ©rF   r%   r%   r%   r%   r%   r<   rB   ©rF   r%   r%   r%   r%   r%   r%   F)r   r   r   rG   rH   rI   s     rK   rL   zTestBoxcar.test_basicÞ   sÖ   € Ý�œ q¨RÐ0Ñ0Ô0ØŸ
š
Ð#7Ð#7Ð#7¸r¼z˜
ÑJÔJñ	Lô 	Lð 	Lå�œ q¨RÐ0Ñ0Ô0ØŸ
š
Ð#:Ð#:Ð#:À"Ä*˜
ÑMÔMñ	Oô 	Oð 	Oå�œ q¨%°BÐ7Ñ7Ô7ØŸ
š
Ð#7Ð#7Ð#7¸r¼z˜
ÑJÔJñ	Lô 	Lð 	Lð 	Lð 	LrM   NrN   r   rM   rK   r£   r£   Û   s(   € € € € € ðLð Lð Lð Lð LrM   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ó�èï?rF   rÀ   r¿   r¾   r½   r¼   r»   rº   r¹   r¸   r·   r¶   rµ   r´   r³   r²   r±   r°   r¯   r®   r­   r¬   r«   rª   r©   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ï?çä.ÂåÒï?rF   rF   rÚ   rÙ   rØ   r×   rÖ   rÕ   rÔ   rÓ   rÒ   rÑ   rÐ   rÏ   rÎ   rÍ   rÌ   rË   rÊ   rÉ   rÈ   rÇ   rÆ   rÅ   rÄ   rÃ   rÂ   rÁ   c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestChebWinc           	      ó$  — t          j        ¦   «         5  t          j        ddt          ¦  «         t	          t          j        dd|¬¦  «        |                     g d¢|j        ¬¦  «        d¬	¦  «         t	          t          j        d
d|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t	          t          j        dd|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t	          t          j        d
d|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t	          t          j        ddd|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚignoreúThis window is not suitabler7   éd   rC   )ç}õ	³Éº?çLù ‡>à?rF   rF   râ   rá   r<   rc   r_   rB   )ç×öSî¬?ç�D1mPCÔ?ç%5ÂáèRè?rF   rå   rä   rã   é
   )rF   çT€ýE‡mã?ç¢	Å-oÉå?rè   rç   rF   )rF   çÂF˜3œà?çýNOÖÃâ?ç»	r]†ã?rê   ré   rF   F)rF   ré   rê   rë   rê   ré   )	ÚwarningsÚcatch_warningsÚfilterwarningsÚUserWarningr   r   r-   rG   rH   rI   s     rK   rL   zTestChebWin.test_basic  sb  € ÝÔ$Ñ&Ô&ð 	Pð 	PÝÔ#ØÐ7½ñFô Fð Få�GœO¨A¨s°rÐ:Ñ:Ô:ØŸJšJð (Pð (Pð (Pð /1¬jð 'ñ :ô :ð "&ðñ ô ð õ �GœO¨A¨s°rÐ:Ñ:Ô:ØŸJšJð (Pð (Pð (Pð /1¬jð 'ñ :ô :ñ;ô ;ð ;õ
 �GœO¨A¨r°bÐ9Ñ9Ô9ØŸJšJð (Uð (Uð (Uà.0¬jð 'ñ :ô :ñ;ô ;ð ;õ �GœO¨A¨r°bÐ9Ñ9Ô9ØŸJšJð (Að (Að (AàHJÌ
ð 'ñ Tô TñUô Uð Uõ �GœO¨A¨r°5¸RÐ@Ñ@Ô@ØŸJšJð (<ð (<ð (<àCEÄ:ð 'ñ Oô OñPô Pð Pð/	Pð 	Pð 	Pñ 	Pô 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pøøøð 	Pð 	Pð 	Pð 	Pð 	Pð 	Ps   ”E$FÆF	ÆF	c                 ó  — t          j        ¦   «         5  t          j        ddt          ¦  «         t	          j        dd|¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ||                     t          ¦  «        d¬¦  «         d S )NrÞ   rß   é5   éØÿÿÿ©Úatr:   r‚   ©Údecimal)	rì   rí   rî   rï   r   r-   r   rG   Úcheb_odd_true)rJ   r:   Úcheb_odds      rK   Útest_cheb_odd_high_attenuationz*TestChebWin.test_cheb_odd_high_attenuation*  sÅ   € ÝÔ$Ñ&Ô&ð 	:ð 	:ÝÔ#ØÐ7½ñFô Fð Få” r¨c°bÐ9Ñ9Ô9ˆHð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:õ 	" (¨B¯JªJµ}Ñ,EÔ,EÈqÐQÑQÔQÐQÐQÐQó   ”3AÁAÁAc                 ó  — t          j        ¦   «         5  t          j        ddt          ¦  «         t	          j        dd|¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ||                     t          ¦  «        d¬¦  «         d S )NrÞ   rß   é6   é(   ró   r‚   rõ   )	rì   rí   rî   rï   r   r-   r   rG   Úcheb_even_true)rJ   r:   Ú	cheb_evens      rK   Útest_cheb_even_high_attenuationz+TestChebWin.test_cheb_even_high_attenuation1  sÆ   € ÝÔ$Ñ&Ô&ð 	:ð 	:ÝÔ#ØÐ7½ñFô Fð Fåœ¨¨r°bÐ9Ñ9Ô9ˆIð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:õ 	" )¨R¯ZªZ½Ñ-GÔ-GÐQRÐSÑSÔSÐSÐSÐSrú   c                 ó   — |                      g d¢|j        ¬¦  «        }t          j        ¦   «         5  t          j        ddt
          ¦  «         t          j        dd|¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ||d¬	¦  «         d S )
N)rF   çmŒ�ðœà?ç‡¿&kÔÃâ?gïäÓc[†ã?r  r  rF   r<   rÞ   rß   rB   ræ   ró   r‚   rõ   ©	rG   rH   rì   rí   rî   rï   r   r-   r   )rJ   r:   Úcheb_odd_low_at_truerø   s       rK   Útest_cheb_odd_low_attenuationz)TestChebWin.test_cheb_odd_low_attenuation8  së   € Ø!Ÿzšzð +5ð +5ð +5à<>¼Jð  *ñ  Hô  HÐõ Ô$Ñ&Ô&ð 	8ð 	8ÝÔ#ØÐ7½ñFô Fð Få” q¨R°BÐ7Ñ7Ô7ˆHð	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8õ 	" (Ð,@È!ÐLÑLÔLÐLÐLÐLó   ²3A1Á1A5Á8A5c                 ó   — |                      g d¢|j        ¬¦  «        }t          j        ¦   «         5  t          j        ddt
          ¦  «         t          j        dd|¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ||d¬	¦  «         d S )
N)rF   ç Â¤RìÜ?çN(DÀ!Tà?ç# Â¤Rá?r  r
  r	  rF   r<   rÞ   rß   é   iöÿÿÿró   r‚   rõ   r  )rJ   r:   Úcheb_even_low_at_truerÿ   s       rK   Útest_cheb_even_low_attenuationz*TestChebWin.test_cheb_even_low_attenuationB  sî   € Ø "§
¢
ð ,@ð ,@ð ,@àGIÄzð !+ñ !Sô !SÐõ Ô$Ñ&Ô&ð 	:ð 	:ÝÔ#ØÐ7½ñFô Fð Fåœ¨¨c°bÐ9Ñ9Ô9ˆIð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:õ 	" )Ð-BÈAÐNÑNÔNÐNÐNÐNr  N)rO   rP   rQ   rL   rù   r   r  r  r   rM   rK   rÜ   rÜ   
  sp   € € € € € ðPð Pð Pð:Rð Rð RðTð Tð TðMð Mð MðOð Oð Oð Oð OrM   rÜ   )ç›|dµyÍ?çvSà?™{?rF   r  )ç´1¤›B?ç%ô”À…µ?r  r  )çÌ�¿£ªRÁ?ç8ï,6V‹×?rF   r  )ç\Kr‡�Ì?ç
–oü²hã?r  r  )r  r  rF   r  r  )r  r  rF   r  r  ))r‚   Nçš™™™™™É?F)r‚   Nr  T)r‚   NrF   F)r‚   NrF   T)r‚   r'   r  F)r‚   r'   r  T)r‚   r'   rF   F)r‚   r'   rF   T)rq   Nr  T)rq   NrF   T)rq   r'   r  T)rq   r'   rF   Tc                 óö   — t                                ¦   «         D ]^\  }}|€!t          t          t          j        g|¢R d| iŽ Œ(t	          j        |d| iŽ}t          ||                      |¦  «        d¬¦  «         Œ_d S )Nr:   r^   ©r@   )Úexponential_dataÚitemsÚassert_raisesÚ
ValueErrorr   r0   r   rG   )r:   ÚkÚvÚwins       rK   Útest_exponentialr!  j  s�   € å ×&Ò&Ñ(Ô(ð <ð <‰ˆˆ1Øˆ9Ý�*¥gÔ&9ÐE¸AÐEÐEÐEÀ"ÐEÐEÐEÐEåÔ% qÐ0¨RÐ0Ð0ˆCÝ˜C §¢¨A¡¤°UÐ;Ñ;Ô;Ð;Ð;ð<ð <rM   c                   ó   — e Zd Zd„ ZdS )ÚTestFlatTopc                 ó  — t          t          j        dd|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          j        dd|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          j        d|¬¦  «        |                     g d	¢|j        ¬¦  «        ¦  «         t          t          j        dd
|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         d S )Nr7   Fr8   )ç˜ÿbF˜;¿çsý*?ª¿çdR	pö^É?rF   r'  r&  r<   rB   )r%  çì`p|ËÜ¢¿çò¥î‰Ôë…?ç ÄÞJëüè?r*  r)  r(  rC   )r%  ç<ó#¢¸U±¿çÜ_&kã?r,  r+  r%  T)r%  r&  r'  rF   r'  r&  r%  )r   r   r   rG   rH   rI   s     rK   rL   zTestFlatTop.test_basicw  sb  € Ý�œ¨¨u¸Ð<Ñ<Ô<ØŸ
š
ð $?ð $?ð $?ØFHÄjð #ñ Rô Rñ	Sô 	Sð 	Sõ 	�œ¨¨u¸Ð<Ñ<Ô<ØŸ
š
ð $:ð $:ð $:ð BDÄð #ñ Mô Mñ	Nô 	Nð 	Nõ
 	�œ¨¨bÐ1Ñ1Ô1ØŸ
š
ð $Gð $Gð $Gð +-¬*ð #ñ 6ô 6ñ	7ô 	7ð 	7õ
 	�œ¨¨4°BÐ7Ñ7Ô7ØŸ
š
ð $Mð $Mð $Mà+-¬:ð #ñ 7ô 7ñ	8ô 	8ð 	8ð 	8ð 	8rM   NrN   r   rM   rK   r#  r#  t  s#   € € € € € ð8ð 8ð 8ð 8ð 8rM   r#  c                   ó   — e Zd Zd„ ZdS )ÚTestGaussianc                 ó  — t          t          j        dd|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          j        dd|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          j        dd	|¬¦  «        |                     g d
¢|j        ¬¦  «        ¦  «         t          t          j        dd	d|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         d S )Nr7   rF   rC   )ç|„ÿÙæ~¦?ç«w$ÇÔ?ç"‚í$j=ì?r2  r1  r0  r<   rB   g333333ó?)r0  ç
"ñîÅêÏ?ç;ŽeÙÜœæ?rF   r4  r3  r0  é   )r  ç÷ÅÆ¤Ÿé?çŠyÉÊLEî?rF   r7  r6  r  F)r  r6  r7  rF   r7  r6  )r   r   r(   rG   rH   rI   s     rK   rL   zTestGaussian.test_basicŽ  sj  € Ý�Ô(¨¨C°BÐ7Ñ7Ô7ØŸ
š
ð $Mð $Mð $Mð +-¬*ð #ñ 6ô 6ñ	7ô 	7ð 	7õ
 	�Ô(¨¨C°BÐ7Ñ7Ô7ØŸ
š
ð $Mð $Mð $Mð +-¬*ð #ñ 6ô 6ñ	7ô 	7ð 	7õ
 	�Ô(¨¨A°"Ð5Ñ5Ô5ØŸ
š
ð $Lð $Lð $Lð +-¬*ð #ñ 6ô 6ñ	7ô 	7ð 	7õ
 	�Ô(¨¨A¨u¸Ð<Ñ<Ô<ØŸ
š
ð $8ð $8ð $8à?A¼zð #ñ Kô Kñ	Lô 	Lð 	Lð 	Lð 	LrM   NrN   r   rM   rK   r.  r.  ‹  s(   € € € € € ðLð Lð Lð Lð LrM   r.  c                   ó   — e Zd Zd„ ZdS )ÚTestGeneralCosinec                 ób  — |                      g d¢¦  «        }t          t          j        d|¦  «        |                      g d¢|j        ¬¦  «        ¦  «         |                      g d¢¦  «        }t          t          j        d|d¬¦  «        |                      g d¢|j        ¬¦  «        ¦  «         d S )	N©r*   ç333333Ó?r  rq   )rU   r<  r%   r<  rU   r<   r‚   F)r9   ©rU   r<  r%   r<  )rG   r   r   Úgeneral_cosinerH   )rJ   r:   Úas      rK   rL   zTestGeneralCosine.test_basic§  s¿   € Ø�JŠJ���Ñ'Ô'ˆÝ�Ô.¨q°!Ñ4Ô4ØŸ
š
Ð#:Ð#:Ð#:À"Ä*˜
ÑMÔMñ	Oô 	Oð 	Oð �JŠJ���Ñ'Ô'ˆÝ�Ô.¨q°!¸Ð?Ñ?Ô?ØŸ
š
Ð#5Ð#5Ð#5¸R¼Z˜
ÑHÔHñ	Jô 	Jð 	Jð 	Jð 	JrM   NrN   r   rM   rK   r9  r9  ¤  s(   € € € € € ðJð Jð Jð Jð JrM   r9  c                   ó   — e Zd Zd„ ZdS )ÚTestGeneralHammingc                 ó�  — t          t          j        dd|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          j        ddd|¬¦  «        |                     g d	¢|j        ¬¦  «        ¦  «         t          t          j        d
dd|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         d S )Nrq   çffffffæ?rC   ©rU   rC  rF   rC  rU   r<   ç      è?Fr8   )r*   çy&"‡å?ç‡ÙææÝxî?rG  rF  r7   T)r*   rF  rG  rG  rF  r*   )r   r   Úgeneral_hammingrG   rH   rI   s     rK   rL   zTestGeneralHamming.test_basic´  s	  € Ý�Ô/°°3¸2Ð>Ñ>Ô>ØŸ
š
Ð#<Ð#<Ð#<ÀBÄJ˜
ÑOÔOñ	Qô 	Qð 	Qå�Ô/°°4¸UÀrÐJÑJÔJØŸ
š
ð $@ð $@ð $@ØGIÄzð #ñ Sô Sñ	Tô 	Tð 	Tõ 	�Ô/°°4¸TÀbÐIÑIÔIØŸ
š
ð $Eð $Eð $EØLNÌJð #ñ Xô Xñ	Yô 	Yð 	Yð 	Yð 	YrM   NrN   r   rM   rK   rA  rA  ±  s(   € € € € € ðYð Yð Yð Yð YrM   rA  c                   ó   — e Zd Zd„ ZdS )ÚTestHammingc                 ó  — t          t          j        dd|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          j        dd|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          j        d|¬¦  «        |                     g d	¢|j        ¬¦  «        ¦  «         t          t          j        dd
|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         d S )Nr7   FrC   )ç{®Gáz´?ç×£p=
×Ó?ç¤p=
×£è?rF   rN  rM  r<   rB   r8   )rL  çîC�W4Ð?ç	Ÿ/È5Žä?ç4òCªÑŠî?rQ  rP  rO  )rL  çÂÂ6 ivÙ?çŠðœžP0í?rS  rR  rL  T)rL  rM  rN  rF   rN  rM  rL  )r   r   r"   rG   rH   rI   s     rK   rL   zTestHamming.test_basicÂ  sH  € Ý�œ¨¨5°RÐ8Ñ8Ô8ØŸ
š
Ð#FÐ#FÐ#FØ)+¬ð #ñ 5ô 5ñ	6ô 	6ð 	6õ 	�œ¨¨u¸Ð<Ñ<Ô<ØŸ
š
ð $Lð $Lð $Lð +-¬*ð #ñ 6ô 6ñ	7ô 	7ð 	7õ
 	�œ¨¨bÐ1Ñ1Ô1ØŸ
š
ð $Rð $Rð $Rà*,¬*ð #ñ 6ô 6ñ	7ô 	7ð 	7õ 	�œ¨¨t¸Ð;Ñ;Ô;ØŸ
š
Ð#LÐ#LÐ#LØ)+¬ð #ñ 5ô 5ñ	6ô 	6ð 	6ð 	6ð 	6rM   NrN   r   rM   rK   rJ  rJ  ¿  s#   € € € € € ð6ð 6ð 6ð 6ð 6rM   rJ  c                   ó   — e Zd Zd„ ZdS )ÚTestHannc                 ó$  — t          t          j        dd|¬¦  «        |                     g d¢|j        ¬¦  «        dd¬¦  «         t          t          j        dd|¬¦  «        |                     g d	¢|j        ¬¦  «        dd¬¦  «         t          t          j        dd
|¬¦  «        |                     g d¢|j        ¬¦  «        dd¬¦  «         t          t          j        d|¬¦  «        |                     g d¢|j        ¬¦  «        dd¬¦  «         d S )Nr7   Fr8   )r   ç      Ð?rE  rF   rE  rW  r<   r>   r?   rB   )r   ç\$è:¾È?ç°H`r�ã?ç8®åT^jî?rZ  rY  rX  TrC   ©r   çXhdˆÖ?çTúËÍ»ñì?r]  r\  r   ©r   rW  rE  rF   rE  rW  r   )r   r   r/   rG   rH   rI   s     rK   rL   zTestHann.test_basic×  sl  € Ý�œ Q¨E°bÐ9Ñ9Ô9ØŸ
š
Ð#CÐ#CÐ#CÈ2Ì:˜
ÑVÔVØ"¨ð	0ñ 	0ô 	0ð 	0õ 	�œ Q¨E°bÐ9Ñ9Ô9ØŸ
š
ð $Lð $Lð $Lð +-¬*ð #ñ 6ô 6ð #¨ð	0ñ 	0ô 	0ð 	0õ 	�œ Q¨°Ð4Ñ4Ô4ØŸ
š
ð $Oð $Oð $Oà*,¬*ð #ñ 6ô 6ð #¨ð		0ñ 	0ô 	0ð 	0õ
 	�œ Q¨2Ð.Ñ.Ô.ØŸ
š
Ð#FÐ#FÐ#FØ œjð #ñ *ô *à"¨ð	0ñ 	0ô 	0ð 	0ð 	0ð 	0rM   NrN   r   rM   rK   rU  rU  Ô  s#   € € € € € ð0ð 0ð 0ð 0ð 0rM   rU  c                   ó   — e Zd Zd„ ZdS )Ú
TestKaiserc                 ó’  — t          t          j        dd|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          j        dd|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          j        dd|¬¦  «        |                     g d	¢|j        ¬¦  «        ¦  «         t          t          j        dd|¬¦  «        |                     g d
¢|j        ¬¦  «        ¦  «         t          t          j        ddd|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         d S )Nr7   r*   rC   )çl‘ýî?ç®<ê3Nï?çi>�%ìï?rd  rc  rb  r<   rB   )rb  ç	‘¯È$ï?ç6­ÿ éÈï?rF   rf  re  rb  gš™™™™™@)çÂ§âAÕ¨Ð?ç¯Oãð Få?çœ$üù§©î?ri  rh  rg  )rg  ç*‡çý‰'ã?çÜó=aì?rF   rk  rj  rg  F)rg  rj  rk  rF   rk  rj  )r   r   r#   rG   rH   rI   s     rK   rL   zTestKaiser.test_basicï  s¼  € Ý�œ q¨#°"Ð5Ñ5Ô5ØŸ
š
ð $Lð $Lð $Lð +-¬*ð #ñ 6ô 6ñ	7ô 	7ð 	7õ
 	�œ q¨#°"Ð5Ñ5Ô5ØŸ
š
ð $Lð $Lð $Lð +-¬*ð #ñ 6ô 6ñ	7ô 	7ð 	7õ
 	�œ q¨#°"Ð5Ñ5Ô5ØŸ
š
ð $Lð $Lð $Lð +-¬*ð #ñ 6ô 6ñ	7ô 	7ð 	7õ
 	�œ q¨#°"Ð5Ñ5Ô5ØŸ
š
ð $Lð $Lð $Lð +-¬*ð #ñ 6ô 6ñ	7ô 	7ð 	7õ
 	�œ q¨#¨u¸Ð<Ñ<Ô<ØŸ
š
ð $8ð $8ð $8à?A¼zð #ñ Kô Kñ	Lô 	Lð 	Lð 	Lð 	LrM   NrN   r   rM   rK   r`  r`  ì  s(   € € € € € ðLð Lð Lð Lð LrM   r`  c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestKaiserBesselDerivedc                 óÈ  — t          j        dd|¬¦  «        }t          ||                     g ¦  «        ¦  «         d}t          j        |d|¬¦  «        }t          j        d|d|¬¦  «        }t          ||¦  «         |d |dz  …         dz  || dz  d …         dz  z   }t          ||                     |j        |j        ¬	¦  «        ¦  «         t          j        dt          j
        dz  |¬¦  «        d d
…         }|                     |¦  «        t          j        d¦  «        z  dz  }t          ||¦  «         t          t          j        dt          j
        dz  |¬¦  «        d d…         |                     ddg|j        ¬	¦  «        ¦  «         t          t          j        dt          j
        dz  |¬¦  «        d d…         |                     g d¢|j        ¬	¦  «        ¦  «         d S )Nr*   ç      @©Úbetar:   rà   )zkaiser bessel derivedro  F©Úfftbinsr:   r'   r<   r%   g       @r‚   gè«UÓ˜à?gU3|\ë?r7   r5  )gHZ1êÛ?g¸Kfž æ?g"iF5±Ëì?)r   Úkaiser_bessel_derivedr   rG   r   r   ÚonesÚshaper=   r‰   ÚpiÚ	ones_liker�   ÚsqrtrH   )rJ   r:   r“   ÚMÚw2ÚactualÚdesireds          rK   rL   z"TestKaiserBesselDerived.test_basic  së  € åÔ)¨#°C¸BÐ?Ñ?Ô?ˆÝ˜˜2Ÿ:š: b™>œ>Ñ*Ô*Ð*àˆÝÔ)¨!°#¸"Ð=Ñ=Ô=ˆÝÔÐ >Ø !¨5°Rð9ñ 9ô 9ˆå˜˜2ÑÔÐð �7�A˜‘F�7”˜q‘ 1 a R¨1¡W X X¤;°!Ñ#3Ñ3ˆÝ˜ §¢¨¬¸F¼L Ñ IÔ IÑJÔJÐJõ Ô.¨qµr´u¸q±yÀRÐHÑHÔHÈÈ!ÈÔLˆØ—,’,˜vÑ&Ô&­¬°1©¬Ñ5¸Ñ;ˆÝ˜ Ñ(Ô(Ð(å�Ô5°a½b¼eÀa¹iÈBÐOÑOÔOÐPRÐQRÐPRÔSØŸ
š
 N°NÐ#CÈ2Ì:˜
ÑVÔVñ	Xô 	Xð 	Xõ 	�Ô5°a½b¼eÀa¹iÈBÐOÑOÔOÐPRÐQRÐPRÔSØŸ
š
Ð#SÐ#SÐ#SØ)+¬ð #ñ 5ô 5ñ	6ô 	6ð 	6ð 	6ð 	6rM   c                 ó6  — 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%   ro  rp  zCKaiser-Bessel Derived windows are only defined for symmetric shapesF)rq  r9   r:   )r  r  r   rt  )rJ   r:   rz  Úmsgs       rK   Útest_exceptionsz'TestKaiserBesselDerived.test_exceptions,  sS  € Øˆð"ˆå�:¨SÐ1Ñ1Ô1ð 	Að 	AÝÔ)¨!¨a©%°b¸RÐ@Ñ@Ô@Ð@ð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Að"ˆå�:¨SÐ1Ñ1Ô1ð 	Lð 	LÝÔ)¨!¨a©%°b¸eÈÐKÑKÔKÐKð	Lð 	Lð 	Lñ 	Lô 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Løøøð 	Lð 	Lð 	Lð 	Lð 	Lð 	Ls#   ›AÁAÁ	AÁ%BÂBÂBN)rO   rP   rQ   rL   r‚  r   rM   rK   rm  rm  
  s7   € € € € € ð6ð 6ð 6ð>Lð Lð Lð Lð LrM   rm  c                   ó   — e Zd Zd„ ZdS )ÚTestNuttallc                 ó  — t          t          j        dd|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          j        dd|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          j        d|¬¦  «        |                     g d	¢|j        ¬¦  «        ¦  «         t          t          j        dd
|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         d S )Nr7   Fr8   )çA Ž"ÆÆ7?çv§;O<g¯?ç$2bUsïà?rF   rˆ  r‡  r<   rB   )r†  gx&yxXW£?g‚íÌÓ?ïÕ?çµ‘êŠì?r‰  g„íÌÓ?ïÕ?g&yxXW£?rC   )r†  gëðŽEºJ¼?g=`…�T‹é?g>`…�T‹é?góðŽEºJ¼?r†  T)r†  r‡  rˆ  rF   rˆ  r‡  r†  )r   r   r   rG   rH   rI   s     rK   rL   zTestNuttall.test_basic=  sh  € Ý�œ¨¨u¸Ð<Ñ<Ô<ØŸ
š
ð $/ð $/ð $/Ø68´jð #ñ Bô Bñ	Cô 	Cð 	Cõ 	�œ¨¨u¸Ð<Ñ<Ô<ØŸ
š
ð $Lð $Lð $Lð +-¬*ð	 #ñ 6ô 6ñ	7ô 	7ð 	7õ 	�œ¨¨bÐ1Ñ1Ô1ØŸ
š
ð $Cð $Cð $CàJLÌ*ð #ñ Vô Vñ	Wô 	Wð 	Wõ 	�œ¨¨4°BÐ7Ñ7Ô7ØŸ
š
ð $Eð $Eð $EØLNÌJð #ñ Xô Xñ	Yô 	Yð 	Yð 	Yð 	YrM   NrN   r   rM   rK   r„  r„  ;  s(   € € € € € ðYð Yð Yð Yð YrM   r„  c                   ó   — e Zd Zd„ ZdS )Ú
TestParzenc                 óŠ  — t          t          j        d|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          j        dd|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          j        dd	|¬¦  «        |                     g d
¢|j        ¬¦  «        ¦  «         d S )Nr7   rC   )çe/¡½„ö‚?rW  çä8Žã8Žë?rŽ  rW  r�  r<   rB   Tr8   )ç%OZQ%âw?çÄ2¤|Ï&Ä?çêªÝ�þÍä?rF   r‘  r�  r�  F)r�  r�  r‘  rF   r‘  r�  )r   r   r   rG   rH   rI   s     rK   rL   zTestParzen.test_basicS  s
  € Ý�œ q¨RÐ0Ñ0Ô0ØŸ
š
ð $Tð $Tð $Tà*,¬*ð #ñ 6ô 6ñ	7ô 	7ð 	7õ 	�œ q¨d°rÐ:Ñ:Ô:ØŸ
š
ð $Mð $Mð $Mð +-¬*ð #ñ 6ô 6ñ	7ô 	7ð 	7õ
 	�œ q¨%°BÐ7Ñ7Ô7ØŸ
š
ð $8ð $8ð $8à?A¼zð #ñ Kô Kñ	Lô 	Lð 	Lð 	Lð 	LrM   NrN   r   rM   rK   r‹  r‹  P  s(   € € € € € ðLð Lð Lð Lð LrM   r‹  c                   ó   — e Zd Zd„ ZdS )Ú
TestTriangc                 óŠ  — t          t          j        dd|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          j        d|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          j        dd|¬	¦  «        |                     g d
¢|j        ¬¦  «        ¦  «         d S )Nr7   TrC   )çUUUUUUÅ?r*   ç«ªªªªªê?r–  r*   r•  r<   rB   )rW  r*   rE  r%   rE  r*   rW  Fr8   )rW  r*   rE  r%   rE  r*   )r   r   r   rG   rH   rI   s     rK   rL   zTestTriang.test_basicf  sØ   € å�œ q¨$°2Ð6Ñ6Ô6ØŸ
š
Ð#AÐ#AÐ#AÈÌ˜
ÑTÔTñ	Vô 	Vð 	Vå�œ q¨RÐ0Ñ0Ô0ØŸ
š
Ð#DÐ#DÐ#DÈBÌJ˜
ÑWÔWñ	Yô 	Yð 	Yå�œ q¨e¸Ð;Ñ;Ô;ØŸ
š
Ð#?Ð#?Ð#?ÀrÄz˜
ÑRÔRñ	Tô 	Tð 	Tð 	Tð 	TrM   NrN   r   rM   rK   r“  r“  c  s(   € € € € € ðTð Tð Tð Tð TrM   r“  )r‚   r*   T)ç        rF   rF   r—  )r‚   çÍÌÌÌÌÌì?T)r—  ç„Ëü‚Øúê?r™  r—  )r‚   rF   T)r—  rE  rE  r—  )r‚   r*   F)r—  rF   rF   rF   )r‚   r˜  F)r—  çrnÁOCÇâ?rF   rš  )r‚   rF   F)r—  r*   rF   r*   )rq   r—  T)rF   rF   rF   rF   rF   )rq   rV   T)r—  çYª«©xæ?rF   r›  r—  )rq   rF   T)r—  r*   rF   r*   r—  )r7   r   r¥   )rB   r   r¦   )r7   rW  )r—  r%   r%   r%   r%   r   )rB   rW  )r—  r%   r%   r%   r%   r%   r   ©r7   )r   r]  rF   rF   gRúËÍ»ñì?r   )rB   )r   rE  rF   rF   rF   rE  r   ©r7   rE  )r   gxÅ³	&¬á?rF   rF   gvÅ³	&¬á?r   ©rB   rE  )r   g#}`yqÚ?çŽ)!ûï?rF   rŸ  g#}`yqÚ?r   r[  r^  )©r7   r%   )rB   r%   c                   ó   — e Zd Zd„ Zd„ ZdS )Ú	TestTukeyc                 ó.  — t                                ¦   «         D ]z\  }}|€!t          t          t          j        g|¢R d|iŽ Œ(t          |¦  «        r
|dv rdddœ}ndddœ}t	          j        |d|iŽ}t          ||                     |¦  «        fddi|¤Ž Œ{d S )	Nr:   )rœ  r�  rž  r   g+i¤)+`>rc   r?   r>   Úcheck_dtypeF)	Ú
tukey_datar  r  r  r   r2   r   r   rG   )rJ   r:   r  r  Ú	atol_rtolr   s         rK   rL   zTestTukey.test_basic�  sä   € å×$Ò$Ñ&Ô&ð 	@ð 	@‰DˆAˆqØˆyÝ�j­'¬-ÐC¸!ÐCÐCÐCÀÐCÐCÐCÐCå˜B‘<”<ð A AÐ)JÐ$JÐ$JØ*.¸Ð!=Ð!=�Y�Yà*/¸Ð!@Ð!@�Yå”m QÐ.¨2Ð.Ð.�Ý  R§Z¢Z°¡]¤]ð @ð @Ø,1ð@Ø5>ð@ð @ð @ð @ð	@ð 	@rM   c                 óú   — t          j        dd|¬¦  «        }t          j        d|¬¦  «        }t          ||¦  «         t          j        dd|¬¦  «        }t          j        d|¬¦  «        }t          ||¦  «         d S )Nrà   r   rC   r%   )r   r2   r   r   r/   )rJ   r:   Útuk0Úbox0Útuk1Úhan1s         rK   Útest_extremeszTestTukey.test_extremesŸ  s|   € åŒ}˜S !¨Ð+Ñ+Ô+ˆÝŒ~˜c bÐ)Ñ)Ô)ˆÝ˜˜dÑ#Ô#Ð#åŒ}˜S !¨Ð+Ñ+Ô+ˆÝŒ|˜C BÐ'Ñ'Ô'ˆÝ˜˜dÑ#Ô#Ð#Ð#Ð#rM   N)rO   rP   rQ   rL   r¬  r   rM   rK   r¢  r¢  �  s5   € € € € € ð@ð @ð @ð$ð $ð $ð $ð $rM   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 í�`ç?))r‚   rˆ   r'   )r5  gffffffö?r5  )rq   r,   rq   )rà   r'   r‚   c                   óP   — e Zd Zd„ Zd„ Zd„ Zd„ Z ed¬¦  «        d„ ¦   «         ZdS )	ÚTestDPSSc                 óÔ   — t                                ¦   «         D ]M\  }}t          j        |d|dœŽ\  }}t	          ||d         d|¬¦  «         t	          ||d         dd|¬¦  «         ŒNd S )	NT©Úreturn_ratiosr:   r   gH¯¼šò×z>)rA   Úerr_msgr%   gñhãˆµøä>)r@   rA   r   )Ú	dpss_datar  r   r&   r   )rJ   r:   r  r  r   Úratioss         rK   rL   zTestDPSS.test_basic¸  s‚   € å—O’OÑ%Ô%ð 	Kð 	K‰DˆAˆqÝ!œ,¨¸À"ÐEÐEÐE‰KˆC�Ý˜C  1¤¨D¸!Ð<Ñ<Ô<Ð<Ý˜F A a¤D¨t¸$ÈÐJÑJÔJÐJÐJð	Kð 	KrM   c                 ón  — 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ÍÌÌÌÌÌ @rC   r'   rF   )r   Ú	subsamplerz   g¸…ëQ¸ž?r  r   )Úranger   r&   r   r‰   r�   Úsumr   )rJ   r:   rz  r   ÚexpectedÚwin_subÚwin_2s          rK   Ú
test_unityzTestDPSS.test_unity¿  s\  € å�q˜"‘”ð 	-ñ 	-ˆAå”,˜q ! c¡'¨bÐ1Ñ1Ô1ˆCØ˜1‘uˆHÝ�BœJ s¨BÑ/Ô/×3Ò3Ñ5Ô5°xØ$' ð+ñ +ô +ð +õ ”l 1 a¨#¡g°KÀBÐGÑGÔGˆGØ�1Šuˆuå¥¤
¨7°BÑ 7Ô 7× ;Ò ;Ñ =Ô =¸xØ(/ \ð3ñ 3ô 3ð 3å  W°4Ð8Ñ8Ô8Ð8å”L  A¨¡G°!¸Ð;Ñ;Ô;ˆEØ šF˜F�q�q¨ˆHÝ�BœJ u¨bÑ1Ô1×5Ò5Ñ7Ô7¸Ø$) ð-ñ -ô -ð -ñ -ð!	-ð 	-rM   c                 ó’  — t          j        dddd|¬¦  «        d         }t          ||                     |¦  «        ¦  «         t          j        dddd|¬¦  «        d         }t          ||                     |¦  «        ¦  «         t          j        dddd|¬¦  «        d         }t          ||                     |¦  «        ¦  «         d S )	Né   r7   r‚   Tr  r%   rB   r  )r   r&   r   rx  )rJ   r:   Úlams      rK   r¬  zTestDPSS.test_extremesÔ  s¹   € åŒl˜2˜q !°4¸BÐ?Ñ?Ô?ÀÔBˆÝ˜˜RŸ\š\¨#Ñ.Ô.Ñ/Ô/Ð/ÝŒl˜2˜q !°4¸BÐ?Ñ?Ô?ÀÔBˆÝ˜˜RŸ\š\¨#Ñ.Ô.Ñ/Ô/Ð/ÝŒl˜2˜q !°4¸BÐ?Ñ?Ô?ÀÔBˆÝ˜˜RŸ\š\¨#Ñ.Ô.Ñ/Ô/Ð/Ð/Ð/rM   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 )	Nr‚   r,   éÿÿÿÿéûÿÿÿçš™™™™™ñ?r5  r   r%   )r  r  r   r&   Ú	TypeErrorrI   s     rK   Útest_degeneratezTestDPSS.test_degenerateÝ  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Ð9rM   T)Únp_onlyc                 ób  — t          j        dd¦  «        }t          |dg¦  «         t          j        ddd¬¦  «        \  }}t          |dg¦  «         |dk    sJ ‚t          j        dddd¬¦  «        \  }}t          |dg¦  «         t          |t          j        ¦  «        sJ ‚t          |dg¦  «         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 )Nr%   rF   T)r  r‚   )ÚKmaxr  r,   r0  rC   r1  r2  r5  r   )	r   r&   r   Ú
isinstancer‰   Úndarrayr  r  r3  )rJ   r:   r“   Úratios       rK   Útest_degenerate_signle_samplesz'TestDPSS.test_degenerate_signle_samplesç  s‰  € õ ŒL˜˜BÑÔˆÝ˜˜B˜4Ñ Ô Ð Ý”<  2°TÐ:Ñ:Ô:‰ˆˆ5Ý˜˜B˜4Ñ Ô Ð Ø˜Š{ˆ{ˆ{ˆ{Ý”<  2¨A¸TÐBÑBÔB‰ˆˆ5Ý˜˜B˜4Ñ Ô Ð Ý˜%¥¤Ñ,Ô,Ð,Ð,Ð,Ý˜ ˜tÑ$Ô$Ð$å•j¥'¤,°°3¸¸rÐBÑBÔBÐBÝ•j¥'¤,°°3¸¸rÐBÑBÔBÐBÝ•i¥¤¨q°#°s¸rÐBÑBÔBÐBÝ•j¥'¤,°°3¸¸bÐAÑAÔAÐAÝ•j¥'¤,°°2°q¸RÐ@Ñ@Ô@Ð@Ý•j¥'¤,°°1°a¸BÐ?Ñ?Ô?Ð?Ý•j¥'¤,°°A°q¸RÐ@Ñ@Ô@Ð@Ð@Ð@rM   N)	rO   rP   rQ   rL   r+  r¬  r4  Úskip_xp_backendsr;  r   rM   rK   r  r  µ  s‚   € € € € € ðKð Kð Kð-ð -ð -ð*0ð 0ð 0ð:ð :ð :ð Ð˜dÐ#Ñ#Ô#ðAð Añ $Ô#ðAð Að ArM   r  c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestLanczosc                 ó–  — t          t          j        dd|¬¦  «        |                     g d¢|j        ¬¦  «        d¬¦  «         t          t          j        d|¬¦  «        |                     g d	¢|j        ¬¦  «        d¬¦  «         t          t          j        d
d|¬¦  «        |                     g d¢|j        ¬¦  «        d¬¦  «         d S )Nr7   Fr8   ©r—  çq«Ï¾ºvÚ?ç;F¾ºvê?rF   rB  rA  r<   ç•Ö&è.>r_   rC   ©r—  çÕøuH%à?ç;9‡ïí?rF  rE  r—  rB   T)r—  rA  rB  rF   rB  rA  r—  )r   r   r3   rG   rH   rI   s     rK   rL   zTestLanczos.test_basic   s!  € õ 	�œ¨¨u¸Ð<Ñ<Ô<ØŸ
š
ð $1ð $1ð $1à8:¼
ð #ñ Dô Dð "ð		#ñ 	#ô 	#ð 	#õ
 	�œ¨¨bÐ1Ñ1Ô1ØŸ
š
ð $5ð $5ð $5à<>¼Jð #ñ Hô Hð "ð		#ñ 	#ô 	#ð 	#õ
 	�œ¨¨t¸Ð;Ñ;Ô;ØŸ
š
ð $5ð $5ð $5à<>¼Jð #ñ Hô Hð "ð		#ñ 	#ô 	#ð 	#ð 	#ð 	#rM   c                 ó°   — dD ]R}t          j        |d|¬¦  «        j        d         |k    sJ ‚t          j        |d|¬¦  «        j        d         |k    sJ ‚ŒSd S )N)r   ræ   é   Fr8   r   T)r   r3   rv  )rJ   r:   Úns      rK   Útest_array_sizezTestLanczos.test_array_size  sv   € Øð 	Eð 	EˆAÝ”? 1¨%°BÐ7Ñ7Ô7Ô=¸aÔ@ÀAÒEÐEÐEÐEÝ”? 1¨$°2Ð6Ñ6Ô6Ô<¸QÔ?À1ÒDÐDÐDÐDÐDð	Eð 	ErM   N)rO   rP   rQ   rL   rJ  r   rM   rK   r>  r>  ý  s7   € € € € € ð#ð #ð #ð2Eð Eð Eð Eð ErM   r>  c                   ó®  — e Zd ZdZd„ Z eej        ¦  «        d„ ¦   «         Z eej	        ¦  «        d„ ¦   «         Z
 eej	        ¦  «        d„ ¦   «         Z eej        ¦  «        d„ ¦   «         Z eej        ¦  «        d„ ¦   «         Zej                             dd	d
 ej        d¦  «        g¦  «         eej        ¦  «        d„ ¦   «         ¦   «         Zd„ Z eej        ¦  «        d„ ¦   «         Z eej        ¦  «        d„ ¦   «         Z eej        ¦  «        d„ ¦   «         Z eej        ¦  «        d„ ¦   «         Z eej        ¦  «        d„ ¦   «         Z d„ Z!dS )ÚTestGetWindowz*Unit test for `scipy.signal.get_windows`. c                 ó’   — t          j        ¦   «         D ]2\  }}|d         j        }d|› d�}||v s
J |¦   «         ‚|d         dv sJ ‚Œ3dS )a|  Verify that the `_windows._WIN_FUNC_DATA` dict is consistent.

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


          It is verified that the correct window name (i.e., corresponding to the
          function in the value tuple) is included in the key tuple. It is also checked
          that the second entry in the value tuple is either ``True``, ``False`` or
          ``'OPTIONAL'``.
          r   zFunction name in z* does not contain name of actual function!r%   )TFÚOPTIONALN)r	   r  rO   )rJ   Únn_Úv_Ú	func_namer�  s        rK   Útest_WIN_FUNC_DATA_integrityz*TestGetWindow.test_WIN_FUNC_DATA_integrity#  sw   € õ &Ô+Ñ-Ô-ð 	6ð 	6‰GˆC�Ø˜1œœˆIØU cÐUÐUÐUˆCØ Ð#Ð#Ð# SÑ#Ô#Ð#Ø�a”5Ð5Ð5Ð5Ð5Ð5Ð5ð		6ð 	6rM   c                 óî   — t          j        dd|¬¦  «        }t          ||                     |¦  «        ¦  «         t          j        dd|¬¦  «        }t          ||                     |¦  «        ¦  «         d S )Nr   é   rC   )r   é   )r   r   r   rx  ©rJ   r:   r“   s      rK   Útest_boxcarzTestGetWindow.test_boxcar7  sl   € åÔ˜x¨°Ð3Ñ3Ô3ˆÝ˜˜2Ÿ<š<¨™?œ?Ñ+Ô+Ð+õ Ô˜{¨B°2Ð6Ñ6Ô6ˆÝ˜˜2Ÿ<š<¨™?œ?Ñ+Ô+Ð+Ð+Ð+rM   c                 ó$  — t          j        ¦   «         5  t          j        ddt          ¦  «         t	          j        ddd|¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ||                     t          |j	        ¬¦  «        d¬	¦  «         d S )
NrÞ   rß   )r-   rò   rñ   Frr  r<   r‚   rõ   )
rì   rí   rî   rï   r   r   r   rG   r÷   rH   rV  s      rK   Útest_cheb_oddzTestGetWindow.test_cheb_odd@  sí   € åÔ$Ñ&Ô&ð 	Oð 	OÝÔ#ØÐ7½ñFô Fð FåÔ"Ð#3°RÀÈ2ÐNÑNÔNˆAð	Oð 	Oð 	Oñ 	Oô 	Oð 	Oð 	Oð 	Oð 	Oð 	Oð 	Oøøøð 	Oð 	Oð 	Oð 	Oõ 	"Øˆr�zŠz�-¨r¬zˆzÑ:Ô:ÀAð	
ñ 	
ô 	
ð 	
ð 	
ð 	
ó   ”4AÁAÁAc                 ó  — t          j        ¦   «         5  t          j        ddt          ¦  «         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ý   rü   Frr  r‚   rõ   )	rì   rí   rî   rï   r   r   r   rG   rþ   rV  s      rK   Útest_cheb_evenzTestGetWindow.test_cheb_evenJ  sÙ   € åÔ$Ñ&Ô&ð 	Nð 	NÝÔ#ØÐ7½ñFô Fð FåÔ" ?°BÀÈ"ÐMÑMÔMˆAð	Nð 	Nð 	Nñ 	Nô 	Nð 	Nð 	Nð 	Nð 	Nð 	Nð 	Nøøøð 	Nð 	Nð 	Nð 	Nõ 	" ! R§Z¢ZµÑ%?Ô%?ÈÐKÑKÔKÐKÐKÐKrZ  c                 ó„   — t          j        ddd|¬¦  «        }t          j        dd|¬¦  «        }t          ||¦  «         d S )N)r&   r5  é@   Frr  r5  rC   )r   r   r&   r   ©rJ   r:   Úwin1Úwin2s       rK   Ú	test_dpsszTestGetWindow.test_dpssR  sG   € åÔ! +¨r¸5ÀRÐHÑHÔHˆÝŒ|˜B  bÐ)Ñ)Ô)ˆÝ˜˜dÑ#Ô#Ð#Ð#Ð#rM   c                 ó  — t          j        dd|¬¦  «        }t          j        ddd|¬¦  «        }t          |¦  «        r1t	          |||                     |j        ¦  «        j        ¬¦  «         d S t          ||¦  «         d S )NgÍÌÌÌÌÌ@r^  rC   Fr  )	r   r   r#   r   r   Úfinfor=   Úepsr   r_  s       rK   Útest_kaiser_floatzTestGetWindow.test_kaiser_floatX  sƒ   € åÔ! # r¨bÐ1Ñ1Ô1ˆÝŒ~˜b # u°Ð4Ñ4Ô4ˆÝ�"‰:Œ:ð 	(õ ˜D $¨R¯XªX°d´jÑ-AÔ-AÔ-EÐFÑFÔFÐFÐFÐFå˜D $Ñ'Ô'Ð'Ð'Ð'rM   ÚNxr0  g      @r5  c                 óœ   — t          j        t          d¬¦  «        5  t          j        d||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz^Parameter Nx=.*r  r/   rC   )Úpytestr   r  r   r   )rJ   rg  r:   s      rK   Útest_invalid_parameter_NXz'TestGetWindow.test_invalid_parameter_NXc  s–   € õ Œ]�:Ð-?Ð@Ñ@Ô@ð 	2ð 	2ÝÔ˜v r¨bÐ1Ñ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2ð 	2ð 	2s   œAÁAÁAc                 óÆ  — t          j        t          d¬¦  «        5  t          j        ddd|¬¦  «         ddd¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          j        dgd|¬	¦  «         ddd¦  «         n# 1 swxY w Y   t          j        t          d
¬¦  «        5  t          j        dd|¬	¦  «         ddd¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          j        dd|¬	¦  «         ddd¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          j        dd|¬	¦  «         ddd¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          j        dd|¬	¦  «         ddd¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          j        dd|¬	¦  «         ddd¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  |pt
          }t          j        dddgfd|¬	¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z?Raise all exceptions (except those concerning parameter `Nx`). z^Parameter fftbins=.*r  r/   rq   r%   rr  Nz^Parameter window=.*rC   z%^First tuple entry of parameter win.*)é*   z ^Invalid window name 'INVALID'.*ÚINVALIDz#^'hann' does not allow parameters.*)r/   r%   z ^'kaiser' must have parameters.*r#   z^Window dpss must have one.*)r&   r%   r'   z#^'general_cosine' does not accept.*úgeneral cosiner'   )ri  r   r  r   r   r‰   )rJ   r:   Úxp_s      rK   Útest_invalid_inputsz!TestGetWindow.test_invalid_inputsj  sT  € åŒ]�:Ð-DÐEÑEÔEð 	<ð 	<ÝÔ˜v q°!¸Ð;Ñ;Ô;Ð;ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<åŒ]�:Ð-CÐDÑDÔDð 	4ð 	4ÝÔ ˜y¨!°Ð3Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4åŒ]�:Ð-TÐUÑUÔUð 	0ð 	0ÝÔ˜u a¨BÐ/Ñ/Ô/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0åŒ]�:Ð-OÐPÑPÔPð 	4ð 	4ÝÔ˜y¨!°Ð3Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4åŒ]�:Ð-RÐSÑSÔSð 	6ð 	6ÝÔ˜{¨A°"Ð5Ñ5Ô5Ð5ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6åŒ]�:Ð-OÐPÑPÔPð 	3ð 	3ÝÔ˜x¨¨rÐ2Ñ2Ô2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3åŒ]�:Ð-KÐLÑLÔLð 	9ð 	9ÝÔ˜~¨q°RÐ8Ñ8Ô8Ð8ð	9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9åŒ]�:Ð-RÐSÑSÔSð 	Fð 	FØ�(�ˆCÝÔÐ 0°1°a°&Ð9¸1ÀÐEÑEÔEÐEð	Fð 	Fð 	Fñ 	Fô 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Føøøð 	Fð 	Fð 	Fð 	Fð 	Fð 	Fs�   œAÁAÁAÁ'BÂBÂBÂ2CÃCÃCÃ<D Ä D$Ä'D$ÅE*Å*E.Å1E.ÆF4Æ4F8Æ;F8ÇG>Ç>HÈHÈ$%IÉIÉIc                 ó*  — t          j        dd|¬¦  «        }t          t          ddd|¬¦  «        |¦  «         t          t          dd|¬¦  «        |¦  «         t          t          ddd|¬¦  «        |¦  «         t          j        dd|¬¦  «        }t          t          dd|¬¦  «        |¦  «         t          t          ddd|¬¦  «        |¦  «         t          t          d	d|¬¦  «        |¦  «         t          t          d	dd|¬¦  «        |¦  «         d
S )zIEnsure that suffixes `_periodic` and `_symmetric` work for window names. rq   Tr8   r    Frr  Úbartlett_symmetricrC   Úbartlett_periodicN)r   r    r   r   )rJ   r:   Úw_symÚw_pers       rK   Útest_symmetric_periodicz%TestGetWindow.test_symmetric_periodic~  s)  € õ Ô  ¨°Ð4Ñ4Ô4ˆÝ�
 :¨q¸%ÀBÐGÑGÔGÈÑOÔOÐOÝ�
Ð#7¸¸rÐBÑBÔBÀEÑJÔJÐJå�
Ð#7¸ÀDÈRÐPÑPÔPÐRWÑXÔXÐXåÔ  ¨°"Ð5Ñ5Ô5ˆÝ�
 :¨q°RÐ8Ñ8Ô8¸%Ñ@Ô@Ð@Ý�
 :¨q¸$À2ÐFÑFÔFÈÑNÔNÐNÝ�
Ð#6¸¸bÐAÑAÔAÀ5ÑIÔIÐIå�
Ð#6¸À5ÈRÐPÑPÔPØñ	ô 	ð 	ð 	ð 	rM   c                 ó,  — d}|                      d¦  «        }t          j        d|dz  |¬¦  «        }t          |¦  «        rdnd}t	          t
          |¬¦  «        5  t          ||j        d         |z  |¬	¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Né€   )r#   g       @r'   rC   z^window mustz^window.shape=r  r   )Úwindow)Úaranger   r   r   r  r  r   rv  )rJ   r:   ÚosfactorÚsigr   Úmesgs         rK   Útest_array_as_windowz"TestGetWindow.test_array_as_window�  sß   € ð ˆØ�iŠi˜‰nŒnˆåÔ  °(¸a±-ÀBÐGÑGÔGˆÝ!(¨¡¤ÐBˆ~ˆ~Ð2BˆÝ�:¨TÐ2Ñ2Ô2ð 	?ð 	?Ý�S˜#œ) Aœ,¨Ñ1¸#Ð>Ñ>Ô>Ð>ð	?ð 	?ð 	?ñ 	?ô 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?øøøð 	?ð 	?ð 	?ð 	?ð 	?ð 	?s   Á!B	Â	BÂBc           	      óÞ  — t          t          d|                     g d¢¦  «        fd¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          d|                     g d¢¦  «        fdd¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t	          j        t          ¦  «        5  t          dg d¢fd|¬	¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nr>  r;  r‚   r=  r<   F)rs  )rU   çš™™™™™á?r€  rU   rC   )r   r   rG   rH   ri  r   r  rI   s     rK   Útest_general_cosinez!TestGetWindow.test_general_cosineš  s_  € å�
Ð$4°b·j²jÀÀÀÑ6QÔ6QÐ#RÐTUÑVÔVØŸ
š
Ð#5Ð#5Ð#5¸R¼Z˜
ÑHÔHñ	Jô 	Jð 	Jå�
Ð$4°b·j²jÀÀÀÑ6QÔ6QÐ#RÐTUØ+0ð2ñ 2ô 2àŸ
š
Ð#9Ð#9Ð#9ÀÄ˜
ÑLÔLñ	Nô 	Nð 	Nõ Œ]�:Ñ&Ô&ð 	Fð 	FÝÐ(¨/¨/¨/Ð:¸AÀ"ÐEÑEÔEÐEð	Fð 	Fð 	Fñ 	Fô 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Føøøð 	Fð 	Fð 	Fð 	Fð 	Fð 	Fs   Â>C"Ã"C&Ã)C&c                 óø   — t          t          dd|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         t          t          ddd|¬¦  «        |                     g d¢|j        ¬¦  «        ¦  «         d S )	N)rH  rC  rq   rC   )rU   çâÐ¶õnã?ç”·Èâ£*î?r„  rƒ  r<   Frr  rD  ©r   r   rG   rH   rI   s     rK   Útest_general_hammingz"TestGetWindow.test_general_hamming¥  sž   € å�
Ð#;¸QÀ2ÐFÑFÔFØŸ
š
Ð#TÐ#TÐ#TØ)+¬ð #ñ 5ô 5ñ	6ô 	6ð 	6õ 	�
Ð#;¸QÈÐRTÐUÑUÔUØŸ
š
Ð#<Ð#<Ð#<ÀBÄJ˜
ÑOÔOñ	Qô 	Qð 	Qð 	Qð 	QrM   c                 ó`  — t          t          dd|¬¦  «        |                     g d¢|j        ¬¦  «        d¬¦  «         t          t          ddd|¬	¦  «        |                     g d
¢|j        ¬¦  «        d¬¦  «         t          t          dd|¬¦  «        t          dd|¬¦  «        ¦  «         d S )Nr3   r7   rC   r@  r<   rC  r_   Frr  rD  Úsincr…  rI   s     rK   Útest_lanczoszTestGetWindow.test_lanczos­  sý   € å�
 9¨a°BÐ7Ñ7Ô7ØŸ
š
ð $1ð $1ð $1Ø8:¼
ð #ñ Dô DØJNð	Pñ 	Pô 	Pð 	Põ 	�
 9¨a¸À2ÐFÑFÔFØŸ
š
ð $5ð $5ð $5Ø<>¼Jð #ñ Hô HØNRð	Tñ 	Tô 	Tð 	Tõ 	�
 9¨a°BÐ7Ñ7Ô7Ý" 6¨1°Ð4Ñ4Ô4ñ	6ô 	6ð 	6ð 	6ð 	6rM   c                 óÜ   — t          dd¦  «        }t          |t          j        ¦  «        sJ ‚t          dd|¬¦  «        }t	          |¦  «        st          |t          j        ¦  «        rJ ‚d S d S )Nr3   r7   rC   )r   r8  r‰   r9  r   )rJ   r:   r   s      rK   Útest_xp_defaultzTestGetWindow.test_xp_default¸  ss   € å˜ AÑ&Ô&ˆÝ˜#�rœzÑ*Ô*Ð*Ð*Ð*å˜ A¨"Ð-Ñ-Ô-ˆÝ˜‰|Œ|ð 	3Ý! #¥r¤zÑ2Ô2Ð2Ð2Ð2ð	3ð 	3Ø2Ð2rM   N)"rO   rP   rQ   Ú__doc__rR  r   r   r   rW  r-   rY  r\  r&   rb  r#   rf  ri  ÚmarkÚparametrizer‰   rH   r/   rj  rp  r    rv  r~  r>  r�  rH  r†  r3   r‰  r‹  r   rM   rK   rL  rL    sG  € € € € € à4Ð4ð6ð 6ð 6ð( Ð�w”~Ñ&Ô&ð,ð ,ñ 'Ô&ð,ð Ð�w”Ñ'Ô'ð
ð 
ñ (Ô'ð
ð Ð�w”Ñ'Ô'ðLð Lñ (Ô'ðLð Ð�w”|Ñ$Ô$ð$ð $ñ %Ô$ð$ð
 Ð�w”~Ñ&Ô&ð(ð (ñ 'Ô&ð(ð „[×Ò˜T B¨¨Z¨R¬Z¸©]¬]Ð#;Ñ<Ô<ØÐ�w”|Ñ$Ô$ð2ð 2ñ %Ô$ñ =Ô<ð2ð
Fð Fð Fð( Ð�wÔ'Ñ(Ô(ðð ñ )Ô(ðð  Ð�w”~Ñ&Ô&ð?ð ?ñ 'Ô&ð?ð Ð�wÔ-Ñ.Ô.ðFð Fñ /Ô.ðFð Ð�wÔ.Ñ/Ô/ðQð Qñ 0Ô/ðQð Ð�w”Ñ'Ô'ð6ð 6ñ (Ô'ð6ð3ð 3ð 3ð 3ð 3rM   rL  z
dask.arrayz(https://github.com/dask/dask/issues/2620©Úreasonzwindow,window_name,paramsc                 ó\   — g | ])\  }}t          t          t          |¦  «        ||¦  «        ‘Œ*S r   )r   Úgetattrr   )Ú.0Úwindow_nameÚparamss      rK   ú
<listcomp>r–  Å  sB   € ð ð ð áˆK˜õ 	�W¥W¨kÑ:Ô:¸KÈÑPÔPðð ð rM   c           	      ó`	  — t          t          |¦  «        } t          |¦  «        r|dv rt          j        d|›d�¬¦  «         |dv rSt          |¦  «        rt          j        d¬¦  «         t          |¦  «        r t          dk    rt          j        d¬¦  «         t          j	        ¦   «         5  t          j
        d	d
t          ¦  «          | dg|¢R d|dœŽ} | dg|¢R d|dœŽ}t          |d d…         |¦  «          | dg|¢R d|dœŽ} | dg|¢R d|dœŽ}t          |d d…         |¦  «          | dg|¢R d|dœŽj        d         dk    sJ ‚ | dg|¢R d|dœŽj        d         dk    sJ ‚ | dg|¢R d|dœŽj        d         dk    sJ ‚ | dg|¢R d|dœŽj        d         dk    sJ ‚t          t          | dg|¢R d|iŽ t          t          | dg|¢R d|iŽ t!           | dg|¢R d|dœŽ|                     g |j        ¬¦  «        ¦  «         t!           | dg|¢R d|dœŽ|                     g |j        ¬¦  «        ¦  «         t!           | dg|¢R d|dœŽ|                     dg|j        ¬¦  «        ¦  «         t!           | dg|¢R d|dœŽ|                     dg|j        ¬¦  «        ¦  «          | dg|¢R d|dœŽj        |j        k    sJ ‚ | dg|¢R d|dœŽj        |j        k    sJ ‚ | dg|¢R d|dœŽj        |j        k    sJ ‚ | dg|¢R d|dœŽj        |j        k    sJ ‚ | dg|¢R d|dœŽj        |j        k    sJ ‚ | dg|¢R d|dœŽj        |j        k    sJ ‚|                      | dg|¢R d|dœŽdk     ¦  «        sJ ‚|                      | dg|¢R d|dœŽdk     ¦  «        sJ ‚|                      | dg|¢R d|dœŽdk     ¦  «        sJ ‚|                      | dg|¢R d|dœŽdk     ¦  «        sJ ‚t+           | dg|¢R d|dœŽ¦  «        }|                     |¦  «        }t          ||                     |¦  «        d¬¦  «         t+           | dg|¢R d|dœŽ¦  «        }|                     |¦  «        }t          ||                     |¦  «        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)r1   r-   zwindow_name = ú: item assignmentr�  )r&   z'dpss window is not implemented for cupyÚcpuz)needs eight_tridiagonal which is CPU onlyrÞ   rß   r  Tr8   rB   Fr0  é	   r7   r   g      @r:   iùÿÿÿr<   r%   rF   ræ   g)\�Âõ(ð?r^   r_   rH  )r’  r   r   ri  Úskipr   r   r   rì   rí   rî   rï   r   rv  r  r  r   rG   rH   r=   Úallr   ÚimagÚ
zeros_like)ry  r”  r•  r:   Úw1r{  Úress          rK   Útest_windowfunc_basicsr¡  Â  sï  € õ •W˜kÑ*Ô*€FÝˆb�z„zð A�kÐ%:Ð:Ð:ÝŒÐ?˜kÐ?Ð?Ð?Ð@Ñ@Ô@Ð@Ø�hÐÐÝ�2‰;Œ;ð 	JÝŒKÐHÐIÑIÔIÐIÝ�B‰<Œ<ð 	L�L¨EÒ1Ð1ÝŒKÐJÐKÑKÔKÐKå	Ô	 Ñ	"Ô	"ð 5=ð 5=ÝÔØÐ3µ[ñ	Bô 	Bð 	Bð ˆV�AÐ0˜Ð0Ð0 D¨RÐ0Ð0Ð0ˆØˆV�AÐ1˜Ð1Ð1 E¨bÐ1Ð1Ð1ˆÝ˜˜3˜B˜3œ Ñ$Ô$Ð$àˆV�AÐ0˜Ð0Ð0 D¨RÐ0Ð0Ð0ˆØˆV�AÐ1˜Ð1Ð1 E¨bÐ1Ð1Ð1ˆÝ˜˜3˜B˜3œ Ñ$Ô$Ð$ð ˆv�aÐ2˜&Ð2Ð2 d¨rÐ2Ð2Ð2Ô8¸Ô;¸qÒ@Ð@Ð@Ð@Øˆv�aÐ3˜&Ð3Ð3 e°Ð3Ð3Ð3Ô9¸!Ô<ÀÒAÐAÐAÐAØˆv�aÐ2˜&Ð2Ð2 d¨rÐ2Ð2Ð2Ô8¸Ô;¸qÒ@Ð@Ð@Ð@Øˆv�aÐ3˜&Ð3Ð3 e°Ð3Ð3Ð3Ô9¸!Ô<ÀÒAÐAÐAÐAõ 	•j &¨#Ð>°Ð>Ð>Ð>¸2Ð>Ð>Ð>Ý•j &¨"Ð=¨vÐ=Ð=Ð=¸"Ð=Ð=Ð=õ 	˜˜˜qÐ; 6Ð;Ð;¨t¸Ð;Ð;Ð;ØŸ
š
 2¨R¬Z˜
Ñ8Ô8ñ	:ô 	:ð 	:å˜˜˜qÐ< 6Ð<Ð<¨u¸Ð<Ð<Ð<ØŸ
š
 2¨R¬Z˜
Ñ8Ô8ñ	:ô 	:ð 	:å˜˜˜qÐ; 6Ð;Ð;¨t¸Ð;Ð;Ð;ØŸ
š
 B 4¨r¬z˜
Ñ:Ô:ñ	<ô 	<ð 	<å˜˜˜qÐ< 6Ð<Ð<¨u¸Ð<Ð<Ð<ØŸ
š
 B 4¨r¬z˜
Ñ:Ô:ñ	<ô 	<ð 	<ð ˆv�aÐ2˜&Ð2Ð2 d¨rÐ2Ð2Ð2Ô8¸B¼JÒFÐFÐFÐFØˆv�aÐ3˜&Ð3Ð3 e°Ð3Ð3Ð3Ô9¸R¼ZÒGÐGÐGÐGØˆv�aÐ2˜&Ð2Ð2 d¨rÐ2Ð2Ð2Ô8¸B¼JÒFÐFÐFÐFØˆv�aÐ3˜&Ð3Ð3 e°Ð3Ð3Ð3Ô9¸R¼ZÒGÐGÐGÐGØˆv�aÐ2˜&Ð2Ð2 d¨rÐ2Ð2Ð2Ô8¸B¼JÒFÐFÐFÐFØˆv�aÐ3˜&Ð3Ð3 e°Ð3Ð3Ð3Ô9¸R¼ZÒGÐGÐGÐGð �vŠv�f�f˜RÐ: &Ð:Ð:¨d°rÐ:Ð:Ð:¸TÒAÑBÔBÐBÐBÐBØ�vŠv�f�f˜RÐ; &Ð;Ð;¨e¸Ð;Ð;Ð;¸dÒBÑCÔCÐCÐCÐCØ�vŠv�f�f˜QÐ9 Ð9Ð9¨T°bÐ9Ð9Ð9¸DÒ@ÑAÔAÐAÐAÐAØ�vŠv�f�f˜QÐ: Ð:Ð:¨U°rÐ:Ð:Ð:¸TÒAÑBÔBÐBÐBÐBõ �&�&˜Ð7˜fÐ7Ð7¨%°BÐ7Ð7Ð7Ñ8Ô8ˆØ�gŠg�c‰lŒlˆÝ˜˜RŸ]š]¨3Ñ/Ô/°eÐ<Ñ<Ô<Ð<å�&�&˜Ð7˜fÐ7Ð7¨%°BÐ7Ð7Ð7Ñ8Ô8ˆØ�gŠg�c‰lŒlˆÝ˜˜RŸ]š]¨3Ñ/Ô/°eÐ<Ñ<Ô<Ð<ðk5=ð 5=ð 5=ñ 5=ô 5=ð 5=ð 5=ð 5=ð 5=ð 5=ð 5=ð 5=øøøð 5=ð 5=ð 5=ð 5=ð 5=ð 5=s   Â,O*R#Ò#R'Ò*R'c                 óL   — dD ] }t          t          t          |d| ¬¦  «         Œ!d S )N)r#   Úksrrt  Úkbdr(   ÚgaussÚgsszgeneral gaussianr+   zgeneral gaussÚgeneral_gaussÚggsÚdssr&   rn  r>  r-   Úchebzgeneral hammingrH  rB   rC   )r  r  r   )r:   Úwinstrs     rK   Útest_needs_paramsr¬    s?   € ðð @ð @ˆõ 	•j¥*¨f°a¸BÐ?Ñ?Ô?Ð?Ð?ð@ð @rM   )r!   r    r   r   r   r   r.   r   r"   r   r   r1   r0   Úpoissonr2   ÚtukÚtriangler3   rˆ  zwindow,winstrc                 óP   — g | ]#}t          t          |         d          |¦  «        ‘Œ$S )r   )r   r
   )r“  r«  s     rK   r–  r–  0  s<   € ð ð ð àõ 	�Z¨Ô/°Ô2°FÑ;Ô;ðð ð rM   c                 ó¦   — t          | ¦  «        r|dv rt          j        |› d�¬¦  «         t          |d| ¬¦  «        }|j        d         dk    sJ ‚d S )N)r1   r˜  r�  rB   rC   r   )r   ri  r›  r   rv  )r:   ry  r«  r   s       rK   Útest_not_needs_paramsr²  .  si   € õ ˆb�z„zð 9�f 
Ð*Ð*ÝŒ˜fÐ7Ð7Ð7Ð8Ñ8Ô8Ð8Ý
�V˜Q 2Ð
&Ñ
&Ô
&€CØŒ9�QŒ<˜1ÒÐÐÐÐÐrM   c           	      óê  — t           j        fD ]ä} |d| ¬¦  «        }t          |¦  «        j        }|                      |                      | ||¦  «        z
  ¦  «        ¦  «        }t          ||                      d¦  «        dd¬¦  «          |d| ¬¦  «        }|                      |                      | ||¦  «        z
  ¦  «        ¦  «        }t          ||                      d¦  «        dd¬¦  «         Œåd S )Ni   rC   r—  F)r¤  Úcheck_0di  )r   r3   r   ÚfliprŒ   r‹   r   rG   )r:   r   r“   rµ  Úerrors        rK   Útest_symmetricr·  =  s÷   € õ ”Ð ð 
Sð 
SˆàˆC�˜ÐÑÔˆÝ˜qÑ!Ô!Ô&ˆØ—’�r—v’v˜a $ $ q¡'¤'™kÑ*Ô*Ñ+Ô+ˆÝ˜˜rŸzšz¨#™œ¸EÈEÐRÑRÔRÐRð ˆC�˜ÐÑÔˆØ—’�r—v’v˜a $ $ q¡'¤'™kÑ*Ô*Ñ+Ô+ˆÝ˜˜rŸzšz¨#™œ¸EÈEÐRÑRÔRÐRÐRð
Sð 
SrM   )\r�   rì   Únumpyr‰   r   ri  r   r  Ú	scipy.fftr   Úscipy.signalr   r   r   Úscipy.signal.windows._windowsr	   r
   Úscipy._lib._array_apir   r   r   r   r   r   r   r   r   r   r   r   r�  r<  Úxfail_xp_backendsÚlazy_xp_modulesÚwindow_funcsr!   r5   r    rS   r   rZ   r   rg   r1   rn   r   rœ   r   r£   r÷   rþ   r-   rÜ   r  r0   r!  r   r#  r(   r.  r>  r9  rH  rA  r"   rJ  r/   rU  r#   r`  rt  rm  r„  r   r‹  r   r“  r¥  r2   r¢  r!  r&   r  r3   r>  rL  rŽ  r¡  r¬  Ú_winstrr²  r·  r   rM   rK   ú<module>rÁ     sí  ðØ €€€Ø €€€à Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø €€€Ø *Ð *Ð *Ð *Ð *Ð *à Ð Ð Ð Ð Ð Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø DÐ DÐ DÐ DÐ DÐ DÐ DÐ Dðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ”;Ô/Ð Ø”KÔ1Ð à�)€ðð ð €ð4 Ð�7Ô#Ñ$Ô$ð0ð 0ð 0ð 0ð 0ñ 0ô 0ñ %Ô$ð0ð  Ð�7Ô#Ñ$Ô$ðTð Tð Tð Tð Tñ Tô Tñ %Ô$ðTð Ð�7Ô#Ñ$Ô$ð7ð 7ð 7ð 7ð 7ñ 7ô 7ñ %Ô$ð7ð, Ð�7Ô)Ñ*Ô*ðKð Kð Kð Kð Kñ Kô Kñ +Ô*ðKð( Ð�7”>Ñ"Ô"ðJ:ð J:ð J:ð J:ð J:ñ J:ô J:ñ #Ô"ðJ:ðZ Ð�7”>Ñ"Ô"ð7ð 7ð 7ð 7ð 7ñ 7ô 7ñ #Ô"ð7ð" Ð�7”>Ñ"Ô"ðLð Lð Lð Lð Lñ Lô Lñ #Ô"ðLðð ð €ð0ð 0ð 0€ð( Ð�7”?Ñ#Ô#ð?Oð ?Oð ?Oð ?Oð ?Oñ ?Oô ?Oñ $Ô#ð?OðH 	ˆð (ð (ð (ñ 	)ô 	)ð  ˜%ð !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ð Ð ð: Ð�7Ô&Ñ'Ô'ð<ð <ñ (Ô'ð<ð Ð�7”?Ñ#Ô#ð8ð 8ð 8ð 8ð 8ñ 8ô 8ñ $Ô#ð8ð, Ð�7Ô#Ñ$Ô$ðLð Lð Lð Lð Lñ Lô Lñ %Ô$ðLð0 Ð�7Ô)Ñ*Ô*ð	Jð 	Jð 	Jð 	Jð 	Jñ 	Jô 	Jñ +Ô*ð	Jð Ð�7Ô*Ñ+Ô+ð
Yð 
Yð 
Yð 
Yð 
Yñ 
Yô 
Yñ ,Ô+ð
Yð Ð�7”?Ñ#Ô#ð6ð 6ð 6ð 6ð 6ñ 6ô 6ñ $Ô#ð6ð( Ð�7”<Ñ Ô ð0ð 0ð 0ð 0ð 0ñ 0ô 0ñ !Ô ð0ð. Ð�7”>Ñ"Ô"ðLð Lð Lð Lð Lñ Lô Lñ #Ô"ðLð: Ð�7Ô0Ñ1Ô1ð-Lð -Lð -Lð -Lð -Lñ -Lô -Lñ 2Ô1ð-Lð`Yð Yð Yð Yð Yñ Yô Yð Yð* Ð�7”>Ñ"Ô"ðLð Lð Lð Lð Lñ Lô Lñ #Ô"ðLð$ Ð�7”>Ñ"Ô"ð	Tð 	Tð 	Tð 	Tð 	Tñ 	Tô 	Tñ #Ô"ð	TðØ�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ð ð €
ð: Ð�7”=Ñ!Ô!ð$ð $ð $ð $ð $ñ $ô $ñ "Ô!ð$ð@ 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ðð €	ð Ð�7”<Ñ Ô ðDAð DAð DAð DAð DAñ DAô DAñ !Ô ðDAðN Ð�7”?Ñ#Ô#ðEð Eð Eð Eð Eñ Eô Eñ $Ô#ðEðB Ð�7Ô%Ñ&Ô&ð_3ð _3ð _3ð _3ð _3ñ _3ô _3ñ 'Ô&ð_3ðD Ð�,Ð'QÐRÑRÔRØ„×ÒØðð à#/ðñ ô ñô ð?=ð ?=ñô ñ SÔRð?=ðD Ð�:ÑÔð@ð @ñ Ôð@ðð ð €ð, „×ÒØðð àðñ ô ñô ð Ð�:ÑÔðð ñ Ôñô ðð Ð�7”?Ñ#Ô#ðSð Sñ $Ô#ðSð Sð SrM   