Ë
    çÿæiŸ×  ã                   óš
  — 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jF                  «       G d	„ d
«      «       Z$ eejJ                  «       G d„ d«      «       Z& eejN                  «       G d„ d«      «       Z( eejR                  «       G d„ d«      «       Z* eejV                  «       G d„ d«      «       Z, eejZ                  «       G d„ d«      «       Z. eej^                  «       G d„ d«      «       Z0g d¢Z1g d¢Z2 eejf                  «       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jl                  «      d"„ «       Z7 eejp                  «       G d#„ d$«      «       Z9 eejt                  «       G d%„ d&«      «       Z; eejx                  «       G d'„ d(«      «       Z= eej|                  «       G d)„ d*«      «       Z? eej€                  «       G d+„ d,«      «       ZA eej„                  «       G d-„ d.«      «       ZC eejˆ                  «       G d/„ d0«      «       ZE eejŒ                  «       G d1„ d2«      «       ZG G d3„ d4«      ZH eej’                  «       G d5„ d6«      «       ZJ eej–                  «       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jœ                  «       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j¢                  «       G dt„ du«      «       ZR eej¦                  «       G dv„ dw«      «       ZT eej                  «       G dx„ dy«      «       ZU edzd{¬|«      ej<                  j­                  d}e"D � �cg c]  \  } } e eWe| «      | |«      ‘Œ c}} «      d~„ «       «       ZX ee«      d„ «       ZYg d€¢ZZej<                  j­                  d�eZD �cg c]  } ee|   d    |«      ‘Œ c}«       ee«      d‚„ «       «       Z[ eej¦                  «      dƒ„ «       Z\yc c}} w c c}w )„é    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y)ÚTestBartHannc                 óŽ  — t        t        j                  dd|¬«      |j                  g d¢|j                  ¬«      dd¬«       t        t        j                  d|¬	«      |j                  g d
¢|j                  ¬«      dd¬«       t        t        j                  dd|¬	«      |j                  g d¢|j                  ¬«      dd¬«       y )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     út/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/scipy/signal/tests/test_windows.pyÚ
test_basiczTestBartHann.test_basic5   s­   € Üœ×(Ñ(¨°¸Ô<ØŸ
™
ò $DØKMÏ:É:ð #ó Wà"¨õ	0ô 	œ×(Ñ(¨¨rÔ2ØŸ
™
Ò#FØ)+¯©ð #ó 5à"¨õ	0ô 	œ×(Ñ(¨¨E°bÔ9ØŸ
™
Ò#CÈ2Ï:É:˜
ÓVØ"¨ö	0ó    N©Ú__name__Ú
__module__Ú__qualname__rL   r   rM   rK   r5   r5   2   s   „ ó0rM   r5   c                   ó   — e Zd Zd„ Zy)ÚTestBartlettc                 óz  — t        t        j                  d|¬«      |j                  g d¢|j                  ¬«      «       t        t        j                  d|¬«      |j                  g d¢|j                  ¬«      «       t        t        j                  dd|¬«      |j                  g d¢|j                  ¬«      «       y )	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ØŸ
™
Ò#=ÀRÇZÁZ˜
ÓPô	Räœ×(Ñ(¨¨rÔ2ØŸ
™
Ò#BÈ"Ï*É*˜
ÓUô	Wäœ×(Ñ(¨¨E°bÔ9ØŸ
™
Ò#?ÀrÇzÁz˜
ÓRõ	TrM   NrN   r   rM   rK   rS   rS   C   s   „ óTrM   rS   c                   ó   — e Zd Zd„ Zy)ÚTestBlackmanc                 ó
  — t        t        j                  dd|¬«      |j                  g d¢|j                  ¬«      d¬«       t        t        j                  dd|¬«      |j                  g d	¢|j                  ¬«      d
¬«       t        t        j                  d|¬«      |j                  g d¢|j                  ¬«      d¬«       t        t        j                  dd|¬«      |j                  g d¢|j                  ¬«      d¬«       y )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   sè   € Üœ×(Ñ(¨°¸"Ô=ØŸ
™
Ò#CÈ2Ï:É:˜
ÓVØ"õ	$ô 	œ×(Ñ(¨°¸"Ô=ØŸ
™
ò $Mð +-¯*©*ð #ó 6ð "õ	#ô 	œ×(Ñ(¨¨rÔ2ØŸ
™
ò $Oà*,¯*©*ð #ó 6ð #õ		$ô
 	œ×(Ñ(¨¨D°RÔ8ØŸ
™
Ò#FØ Ÿj™jð #ó *Ø05ö	7rM   NrN   r   rM   rK   rZ   rZ   O   s   „ ó7rM   rZ   c                   ó   — e Zd Zd„ Zy)ÚTestBlackmanHarrisc                 óú  — t        t        j                  dd|¬«      |j                  g d¢|j                  ¬«      «       t        t        j                  dd|¬«      |j                  g d¢|j                  ¬«      «       t        t        j                  d|¬«      |j                  g d	¢|j                  ¬«      «       t        t        j                  dd
|¬«      |j                  g d¢|j                  ¬«      «       y )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   sæ   € Üœ×.Ñ.¨q°%¸BÔ?ØŸ
™
ò $=ØDFÇJÁJð #ó Pô	Qô 	œ×.Ñ.¨q°eÀÔCØŸ
™
ò $Mð +-¯*©*ð #ó 6ô	7ô
 	œ×.Ñ.¨q°RÔ8ØŸ
™
ò $Uà*,¯*©*ð #ó 6ô	7ô 	œ×.Ñ.¨q°d¸rÔBØŸ
™
ò $7Ø>@¿j¹jð #ó Jõ	KrM   NrN   r   rM   rK   rg   rg   f   s   „ óKrM   rg   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)Ú
TestTaylorc                 ó‚  — t        t        j                  ddd|¬«      |j                  dg|j                  ¬«      «       t        t        j                  ddd|¬«      |j                  g d¢|j                  ¬«      «       t        t        j                  d	dd|¬«      |j                  g d
¢|j                  ¬«      «       y)z£Tests windows of small length that are normalized to 1. See the
        documentation for the Taylor window for more information on
        normalization.
        r%   r'   é   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ØŸ
™
 C 5°·
±
˜
Ó;ô	=äÜ�N‰N˜1˜a ¨Ô+Ø�J‰JÒLØŸZ™Zð ó )ô	
ô
 	Ü�N‰N˜1˜a ¨Ô+Ø�J‰Jò ð —Z‘Zð ó !õ	
rM   c           	      ó  — t        t        j                  dddd|¬«      |j                  g d¢|j                  ¬«      «       t        t        j                  dddd|¬«      |j                  g d	¢|j                  ¬«      «       y
)z¦Test windows of small length that are not normalized to 1. See
        the documentation for the Taylor window for more information on
        normalization.
        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’   sx   € ô
 	Ü�N‰N˜1˜a ¨%°BÔ7Ø�J‰Jò à—Z‘Zð ó !ô	
ô 	Ü�N‰N˜1˜a ¨%°BÔ7Ø�J‰Jò à—Z‘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kD  «      }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 ‚y)að  This test ensures the correctness of the implemented Taylor
        Windowing function. A Taylor Window of 1024 points is created, its FFT
        is taken, and the Peak Sidelobe Level (PSLL) and 3dB and 18dB bandwidth
        are found and checked.

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

        References
        -----
        .. [1] Armin Doerry, "Catalog of Window Taper Functions for
               Sidelobe Control", 2017.
               https://www.researchgate.net/profile/Armin_Doerry/publication/316281181_Catalog_of_Window_Taper_Functions_for_Sidelobe_Control/links/58f92cb2a6fdccb121c9d54d/Catalog-of-Window-Taper-Functions-for-Sidelobe-Control.pdf
        i   i   é   é#   F)ÚnbarÚ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¤   s  € ð ˆØˆô �N‰N˜5 q¨b°uÀ%ÈBÔOˆÜÔ$ QÓ'¨Ó/ˆà”B—H‘HœRŸV™V D¬2¯6©6°$«<Ñ$7Ó8Ó9Ñ9ˆä—Y‘YœrŸw™w t›}¨qÑ0Ó1ˆ
ä�v‰v�d˜: z kÐ2Ó3ˆà”2—9‘9˜TÐ%8Ñ8Ó9Ñ9¸EÑAÀEÑIˆØ”B—I‘I˜dÐ&9Ñ9Ó:Ñ:¸UÑBÀUÑJˆä�|‰|˜D (°AÕ6Ð6Ð6Ü�|‰|˜F F°CÕ8Ð8Ð8Ü�|‰|˜G V°SÕ9Ð9Ñ9rM   N)rO   rP   rQ   rx   r€   rš   r   rM   rK   rn   rn   {   s   „ ò
ò(
ó$":rM   rn   c                   ó   — e Zd Zd„ Zy)Ú
TestBohmanc                 ó|  — t        t        j                  d|¬«      |j                  g d¢|j                  ¬«      «       t        t        j                  dd|¬«      |j                  g d¢|j                  ¬«      «       t        t        j                  dd	|¬«      |j                  g d
¢|j                  ¬«      «       y )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ØŸ
™
ò $Oà*,¯*©*ð #ó 6ô	7ô 	œŸ™ q¨d°rÔ:ØŸ
™
ò $Oà*,¯*©*ð #ó 6ô	7ô 	œŸ™ q¨%°BÔ7ØŸ
™
ò $Là*,¯*©*ð #ó 6õ	7rM   NrN   r   rM   rK   rœ   rœ   É   s   „ ó7rM   rœ   c                   ó   — e Zd Zd„ Zy)Ú
TestBoxcarc                 óz  — t        t        j                  d|¬«      |j                  g d¢|j                  ¬«      «       t        t        j                  d|¬«      |j                  g d¢|j                  ¬«      «       t        t        j                  dd|¬«      |j                  g d¢|j                  ¬«      «       y )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ØŸ
™
Ò#7¸r¿z¹z˜
ÓJô	LäœŸ™ q¨RÔ0ØŸ
™
Ò#:À"Ç*Á*˜
ÓMô	OäœŸ™ q¨%°BÔ7ØŸ
™
Ò#7¸r¿z¹z˜
ÓJõ	LrM   NrN   r   rM   rK   r£   r£   Û   s   „ ó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y)ÚTestChebWinc           	      ó  — t        j                  «       5  t        j                  ddt        «       t	        t        j                  dd|¬«      |j                  g d¢|j                  ¬«      d¬	«       t	        t        j                  d
d|¬«      |j                  g d¢|j                  ¬«      «       t	        t        j                  dd|¬«      |j                  g d¢|j                  ¬«      «       t	        t        j                  d
d|¬«      |j                  g d¢|j                  ¬«      «       t	        t        j                  ddd|¬«      |j                  g d¢|j                  ¬«      «       d d d «       y # 1 sw Y   y xY w)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  sP  € Ü×$Ñ$Õ&Ü×#Ñ#ØÐ7¼ôFäœGŸO™O¨A¨s°rÔ:ØŸJ™Jò (Pð /1¯j©jð 'ó :ð "&õô œGŸO™O¨A¨s°rÔ:ØŸJ™Jò (Pð /1¯j©jð 'ó :ô;ô
 œGŸO™O¨A¨r°bÔ9ØŸJ™Jò (Uà.0¯j©jð 'ó :ô;ô œGŸO™O¨A¨r°bÔ9ØŸJ™Jò (AàHJÏ
É
ð 'ó TôUô œGŸO™O¨A¨r°5¸RÔ@ØŸJ™Jò (<àCEÇ:Á:ð 'ó OôP÷/ '×&Ñ&ús   •EE8Å8Fc                 óþ   — t        j                  «       5  t        j                  ddt        «       t	        j
                  dd|¬«      }d d d «       t        |j                  t        «      d¬«       y # 1 sw Y   Œ+xY w)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ä—‘ r¨c°bÔ9ˆH÷ 'ô 	" (¨B¯J©J´}Ó,EÈqÖQ÷	 'Ð&úó   •4A3Á3A<c                 óþ   — t        j                  «       5  t        j                  ddt        «       t	        j
                  dd|¬«      }d d d «       t        |j                  t        «      d¬«       y # 1 sw Y   Œ+xY w)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äŸ™¨¨r°bÔ9ˆI÷ 'ô 	" )¨R¯Z©Z¼Ó-GÐQRÖS÷	 'Ð&úrú   c                 ó  — |j                  g d¢|j                  ¬«      }t        j                  «       5  t        j                  ddt
        «       t        j                  dd|¬«      }d d d «       t        |d¬	«       y # 1 sw Y   ŒxY w)
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  sw   € Ø!Ÿz™zò +5à<>¿J¹Jð  *ó  HÐô ×$Ñ$Õ&Ü×#Ñ#ØÐ7¼ôFä—‘ q¨R°BÔ7ˆH÷ 'ô 	" (Ð,@È!ÖL÷	 'Ð&úó   ´4A?Á?Bc                 ó  — |j                  g d¢|j                  ¬«      }t        j                  «       5  t        j                  ddt
        «       t        j                  dd|¬«      }d d d «       t        |d¬	«       y # 1 sw Y   ŒxY w)
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  sx   € Ø "§
¡
ò ,@àGIÇzÁzð !+ó !SÐô ×$Ñ$Õ&Ü×#Ñ#ØÐ7¼ôFäŸ™¨¨c°bÔ9ˆI÷ 'ô 	" )Ð-BÈAÖN÷	 'Ð&úr  N)rO   rP   rQ   rL   rù   r   r  r  r   rM   rK   rÜ   rÜ   
  s    „ òPò:RòTòMó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         j                  «       D ]\  \  }}|€#t        t        t        j
                  g|¢­d| iŽ Œ+t	        j
                  |d| iŽ}t        || j                  |«      d¬«       Œ^ y )Nr:   r^   ©r@   )Úexponential_dataÚitemsÚassert_raisesÚ
ValueErrorr   r0   r   rG   )r:   ÚkÚvÚwins       rK   Útest_exponentialr!  j  sa   € ä ×&Ñ&Ö(‰ˆˆ1Øˆ9Üœ*¤g×&9Ñ&9ÐE¸AÒEÀ"ÓEä×%Ñ% qÐ0¨RÑ0ˆCÜ˜C §¡¨A£°UÖ;ñ )rM   c                   ó   — e Zd Zd„ Zy)ÚTestFlatTopc                 óú  — t        t        j                  dd|¬«      |j                  g d¢|j                  ¬«      «       t        t        j                  dd|¬«      |j                  g d¢|j                  ¬«      «       t        t        j                  d|¬«      |j                  g d	¢|j                  ¬«      «       t        t        j                  dd
|¬«      |j                  g d¢|j                  ¬«      «       y )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  sâ   € ÜœŸ™¨¨u¸Ô<ØŸ
™
ò $?ØFHÇjÁjð #ó Rô	Sô 	œŸ™¨¨u¸Ô<ØŸ
™
ò $:ð BDÇÁð #ó Mô	Nô
 	œŸ™¨¨bÔ1ØŸ
™
ò $Gð +-¯*©*ð #ó 6ô	7ô
 	œŸ™¨¨4°BÔ7ØŸ
™
ò $Mà+-¯:©:ð #ó 7õ	8rM   NrN   r   rM   rK   r#  r#  t  s   „ ó8rM   r#  c                   ó   — e Zd Zd„ Zy)ÚTestGaussianc                 óþ  — t        t        j                  dd|¬«      |j                  g d¢|j                  ¬«      «       t        t        j                  dd|¬«      |j                  g d¢|j                  ¬«      «       t        t        j                  dd	|¬«      |j                  g d
¢|j                  ¬«      «       t        t        j                  dd	d|¬«      |j                  g d¢|j                  ¬«      «       y )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Ž  sí   € Üœ×(Ñ(¨¨C°BÔ7ØŸ
™
ò $Mð +-¯*©*ð #ó 6ô	7ô
 	œ×(Ñ(¨¨C°BÔ7ØŸ
™
ò $Mð +-¯*©*ð #ó 6ô	7ô
 	œ×(Ñ(¨¨A°"Ô5ØŸ
™
ò $Lð +-¯*©*ð #ó 6ô	7ô
 	œ×(Ñ(¨¨A¨u¸Ô<ØŸ
™
ò $8à?A¿z¹zð #ó Kõ	LrM   NrN   r   rM   rK   r.  r.  ‹  s   „ óLrM   r.  c                   ó   — e Zd Zd„ Zy)ÚTestGeneralCosinec                 óH  — |j                  g d¢«      }t        t        j                  d|«      |j                  g d¢|j                  ¬«      «       |j                  g d¢«      }t        t        j                  d|d¬«      |j                  g d¢|j                  ¬«      «       y )	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ØŸ
™
Ò#:À"Ç*Á*˜
ÓMô	Oð �J‰J’Ó'ˆÜœ×.Ñ.¨q°!¸Ô?ØŸ
™
Ò#5¸R¿Z¹Z˜
ÓHõ	JrM   NrN   r   rM   rK   r9  r9  ¤  s   „ óJrM   r9  c                   ó   — e Zd Zd„ Zy)ÚTestGeneralHammingc                 ó‚  — t        t        j                  dd|¬«      |j                  g d¢|j                  ¬«      «       t        t        j                  ddd|¬«      |j                  g d	¢|j                  ¬«      «       t        t        j                  d
dd|¬«      |j                  g d¢|j                  ¬«      «       y )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ÁJ˜
ÓOô	Qäœ×/Ñ/°°4¸UÀrÔJØŸ
™
ò $@ØGIÇzÁzð #ó Sô	Tô 	œ×/Ñ/°°4¸TÀbÔIØŸ
™
ò $EØLNÏJÉJð #ó Xõ	YrM   NrN   r   rM   rK   rA  rA  ±  s   „ óYrM   rA  c                   ó   — e Zd Zd„ Zy)ÚTestHammingc                 óú  — t        t        j                  dd|¬«      |j                  g d¢|j                  ¬«      «       t        t        j                  dd|¬«      |j                  g d¢|j                  ¬«      «       t        t        j                  d|¬«      |j                  g d	¢|j                  ¬«      «       t        t        j                  dd
|¬«      |j                  g d¢|j                  ¬«      «       y )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Â  sÖ   € ÜœŸ™¨¨5°RÔ8ØŸ
™
Ò#FØ)+¯©ð #ó 5ô	6ô 	œŸ™¨¨u¸Ô<ØŸ
™
ò $Lð +-¯*©*ð #ó 6ô	7ô
 	œŸ™¨¨bÔ1ØŸ
™
ò $Rà*,¯*©*ð #ó 6ô	7ô 	œŸ™¨¨t¸Ô;ØŸ
™
Ò#LØ)+¯©ð #ó 5õ	6rM   NrN   r   rM   rK   rJ  rJ  ¿  s   „ ó6rM   rJ  c                   ó   — e Zd Zd„ Zy)ÚTestHannc                 ó  — t        t        j                  dd|¬«      |j                  g d¢|j                  ¬«      dd¬«       t        t        j                  dd|¬«      |j                  g d	¢|j                  ¬«      dd¬«       t        t        j                  dd
|¬«      |j                  g d¢|j                  ¬«      dd¬«       t        t        j                  d|¬«      |j                  g d¢|j                  ¬«      dd¬«       y )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×  sè   € ÜœŸ™ Q¨E°bÔ9ØŸ
™
Ò#CÈ2Ï:É:˜
ÓVØ"¨õ	0ô 	œŸ™ Q¨E°bÔ9ØŸ
™
ò $Lð +-¯*©*ð #ó 6ð #¨õ	0ô 	œŸ™ Q¨°Ô4ØŸ
™
ò $Oà*,¯*©*ð #ó 6ð #¨õ		0ô
 	œŸ™ Q¨2Ô.ØŸ
™
Ò#FØ Ÿj™jð #ó *à"¨ö	0rM   NrN   r   rM   rK   rU  rU  Ô  s   „ ó0rM   rU  c                   ó   — e Zd Zd„ Zy)Ú
TestKaiserc                 ó|  — t        t        j                  dd|¬«      |j                  g d¢|j                  ¬«      «       t        t        j                  dd|¬«      |j                  g d¢|j                  ¬«      «       t        t        j                  dd|¬«      |j                  g d	¢|j                  ¬«      «       t        t        j                  dd|¬«      |j                  g d
¢|j                  ¬«      «       t        t        j                  ddd|¬«      |j                  g d¢|j                  ¬«      «       y )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ØŸ
™
ò $Lð +-¯*©*ð #ó 6ô	7ô
 	œŸ™ q¨#°"Ô5ØŸ
™
ò $Lð +-¯*©*ð #ó 6ô	7ô
 	œŸ™ q¨#°"Ô5ØŸ
™
ò $Lð +-¯*©*ð #ó 6ô	7ô
 	œŸ™ q¨#°"Ô5ØŸ
™
ò $Lð +-¯*©*ð #ó 6ô	7ô
 	œŸ™ q¨#¨u¸Ô<ØŸ
™
ò $8à?A¿z¹zð #ó Kõ	LrM   NrN   r   rM   rK   r`  r`  ì  s   „ óLrM   r`  c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestKaiserBesselDerivedc                 óŠ  — t        j                  dd|¬«      }t        ||j                  g «      «       d}t        j                  |d|¬«      }t        j                  d|d|¬«      }t        ||«       |d |dz   dz  || dz  d  dz  z   }t        ||j                  |j                  |j                  ¬	«      «       t        j                  dt        j                  dz  |¬«      d d
 }|j                  |«      t        j                  d«      z  dz  }t        ||«       t        t        j                  dt        j                  dz  |¬«      d d |j                  ddg|j                  ¬	«      «       t        t        j                  dt        j                  dz  |¬«      d d |j                  g d¢|j                  ¬	«      «       y )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ˆä˜˜2Ôð �7�A˜‘F�˜q‘ 1 a R¨1¡W X ;°!Ñ#3Ñ3ˆÜ˜ §¡¨¯©¸F¿L¹L Ó IÔJô ×.Ñ.¨q´r·u±u¸q±yÀRÔHÈÈ!ÐLˆØ—,‘,˜vÓ&¬¯©°1«Ñ5¸Ñ;ˆÜ˜ Ô(äœ×5Ñ5°a¼b¿e¹eÀa¹iÈBÔOÐPRÐQRÐSØŸ
™
 N°NÐ#CÈ2Ï:É:˜
ÓVô	Xô 	œ×5Ñ5°a¼b¿e¹eÀa¹iÈBÔOÐPRÐQRÐSØŸ
™
Ò#SØ)+¯©ð #ó 5õ	6rM   c                 ó  — d}d}t        t        |¬«      5  t        j                  |dz   d|¬«       d d d «       d}t        t        |¬«      5  t        j                  |dz   dd|¬	«       d d d «       y # 1 sw Y   ŒBxY w# 1 sw Y   y xY w)
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,  sv   € Øˆð"ˆäœ:¨SÖ1Ü×)Ñ)¨!¨a©%°b¸RÕ@÷ 2ð"ˆäœ:¨SÖ1Ü×)Ñ)¨!¨a©%°b¸eÈÕK÷ 2Ð1÷ 2Ð1ú÷ 2Ð1ús   –A3ÁA?Á3A<Á?BN)rO   rP   rQ   rL   r‚  r   rM   rK   rm  rm  
  s   „ ò6ó>LrM   rm  c                   ó   — e Zd Zd„ Zy)ÚTestNuttallc                 óú  — t        t        j                  dd|¬«      |j                  g d¢|j                  ¬«      «       t        t        j                  dd|¬«      |j                  g d¢|j                  ¬«      «       t        t        j                  d|¬«      |j                  g d	¢|j                  ¬«      «       t        t        j                  dd
|¬«      |j                  g d¢|j                  ¬«      «       y )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=  sá   € ÜœŸ™¨¨u¸Ô<ØŸ
™
ò $/Ø68·j±jð #ó Bô	Cô 	œŸ™¨¨u¸Ô<ØŸ
™
ò $Lð +-¯*©*ð	 #ó 6ô	7ô 	œŸ™¨¨bÔ1ØŸ
™
ò $CàJLÏ*É*ð #ó Vô	Wô 	œŸ™¨¨4°BÔ7ØŸ
™
ò $EØLNÏJÉJð #ó Xõ	YrM   NrN   r   rM   rK   r„  r„  ;  s   „ óYrM   r„  c                   ó   — e Zd Zd„ Zy)Ú
TestParzenc                 ó|  — t        t        j                  d|¬«      |j                  g d¢|j                  ¬«      «       t        t        j                  dd|¬«      |j                  g d¢|j                  ¬«      «       t        t        j                  dd	|¬«      |j                  g d
¢|j                  ¬«      «       y )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ØŸ
™
ò $Tà*,¯*©*ð #ó 6ô	7ô 	œŸ™ q¨d°rÔ:ØŸ
™
ò $Mð +-¯*©*ð #ó 6ô	7ô
 	œŸ™ q¨%°BÔ7ØŸ
™
ò $8à?A¿z¹zð #ó Kõ	LrM   NrN   r   rM   rK   r‹  r‹  P  s   „ óLrM   r‹  c                   ó   — e Zd Zd„ Zy)Ú
TestTriangc                 ó|  — t        t        j                  dd|¬«      |j                  g d¢|j                  ¬«      «       t        t        j                  d|¬«      |j                  g d¢|j                  ¬«      «       t        t        j                  dd|¬	«      |j                  g d
¢|j                  ¬«      «       y )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ØŸ
™
Ò#AÈÏÉ˜
ÓTô	VäœŸ™ q¨RÔ0ØŸ
™
Ò#DÈBÏJÉJ˜
ÓWô	YäœŸ™ q¨e¸Ô;ØŸ
™
Ò#?ÀrÇzÁz˜
ÓRõ	TrM   NrN   r   rM   rK   r“  r“  c  s   „ ó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y)Ú	TestTukeyc                 ó   — t         j                  «       D ]w  \  }}|€#t        t        t        j
                  g|¢­d|iŽ Œ+t        |«      r
|dv rdddœ}ndddœ}t	        j
                  |d|iŽ}t        ||j                  |«      fddi|¤Ž Œy y )	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ä˜B”< AÐ)JÑ$JØ*.¸Ñ!=‘Yà*/¸Ñ!@�Yä—m‘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        ||«       y )Nrà   r   rC   r%   )r   r2   r   r   r/   )rJ   r:   Útuk0Úbox0Útuk1Úhan1s         rK   Útest_extremeszTestTukey.test_extremesŸ  sZ   € ä�}‰}˜S !¨Ô+ˆÜ�~‰~˜c bÔ)ˆÜ˜˜dÔ#ä�}‰}˜S !¨Ô+ˆÜ�|‰|˜C BÔ'ˆÜ˜˜dÕ#rM   N)rO   rP   rQ   rL   r¬  r   rM   rK   r¢  r¢  �  s   „ ò@ó$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                   óB   — e Zd Zd„ Zd„ Zd„ Zd„ Z ed¬«      d„ «       Zy)	ÚTestDPSSc                 ó¸   — t         j                  «       D ]C  \  }}t        j                  |d|dœŽ\  }}t	        ||d   d|¬«       t	        ||d   dd|¬«       ŒE y )	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¸  sS   € ä—O‘OÖ%‰DˆAˆqÜ!Ÿ,™,¨¸À"ÒE‰KˆC�Ü˜C  1¡¨D¸!Õ<Ü˜F A a¡D¨t¸$ÈÖJñ &rM   c                 ó8  — t        dd«      D �]
  }t        j                  ||dz  |¬«      }|dz  }t        t	        j
                  |d«      j                  «       ||› ¬«       t        j                  ||dz  d|¬	«      }|dkD  r?t        t	        j
                  |d«      j                  «       ||› ¬«       t        ||d
¬«       t        j                  ||dz  d|¬	«      }|dk(  rdnd}t        t	        j
                  |d«      j                  «       ||› ¬«       �Œ y )Nr%   é   gÍÌÌÌÌÌ @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ˆCØ˜1‘uˆHÜœBŸJ™J s¨BÓ/×3Ñ3Ó5°xØ$' 5õ+ô —l‘l 1 a¨#¡g°KÀBÔGˆGØ�1Šuä¤§
¡
¨7°BÓ 7× ;Ñ ;Ó =¸xØ(/ yõ3ä  W°4Õ8ä—L‘L  A¨¡G°!¸Ô;ˆEØ šF‘q¨ˆHÜœBŸJ™J u¨bÓ1×5Ñ5Ó7¸Ø$) 7÷-ñ! rM   c                 óT  — t        j                  dddd|¬«      d   }t        ||j                  |«      «       t        j                  dddd|¬«      d   }t        ||j                  |«      «       t        j                  dddd|¬«      d   }t        ||j                  |«      «       y )	Né   r7   r‚   Tr  r%   rB   r  )r   r&   r   rx  )rJ   r:   Úlams      rK   r¬  zTestDPSS.test_extremesÔ  sŒ   € ä�l‰l˜2˜q !°4¸BÔ?ÀÑBˆÜ˜˜RŸ\™\¨#Ó.Ô/Ü�l‰l˜2˜q !°4¸BÔ?ÀÑBˆÜ˜˜RŸ\™\¨#Ó.Ô/Ü�l‰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«       y )	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Ü”j¤'§,¡,°°1°aÔ8Ü”j¤'§,¡,°°A°qÕ9rM   T)Únp_onlyc                 ó6  — 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|¬	«       y )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‰L˜˜BÓˆÜ˜˜B˜4Ô Ü—<‘<  2°TÔ:‰ˆˆ5Ü˜˜B˜4Ô Ø˜Š{Ðˆ{Ü—<‘<  2¨A¸TÔB‰ˆˆ5Ü˜˜B˜4Ô Ü˜%¤§¡Ô,Ð,Ð,Ü˜ ˜tÔ$ä”j¤'§,¡,°°3¸¸rÕBÜ”j¤'§,¡,°°3¸¸rÕBÜ”i¤§¡¨q°#°s¸rÕBÜ”j¤'§,¡,°°3¸¸bÕ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  µ  s2   „ òKò-ò*0ò:ñ ˜dÔ#ñAó $ñArM   r  c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestLanczosc                 óˆ  — t        t        j                  dd|¬«      |j                  g d¢|j                  ¬«      d¬«       t        t        j                  d|¬«      |j                  g d	¢|j                  ¬«      d¬«       t        t        j                  d
d|¬«      |j                  g d¢|j                  ¬«      d¬«       y )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à8:¿
¹
ð #ó Dð "õ		#ô
 	œŸ™¨¨bÔ1ØŸ
™
ò $5à<>¿J¹Jð #ó Hð "õ		#ô
 	œŸ™¨¨t¸Ô;ØŸ
™
ò $5à<>¿J¹Jð #ó Hð "ö		#rM   c                 óº   — dD ]V  }t        j                  |d|¬«      j                  d   |k(  sJ ‚t        j                  |d|¬«      j                  d   |k(  rŒVJ ‚ y )N)r   ræ   é   Fr8   r   T)r   r3   rv  )rJ   r:   Úns      rK   Útest_array_sizezTestLanczos.test_array_size  sX   € ÛˆAÜ—?‘? 1¨%°BÔ7×=Ñ=¸aÑ@ÀAÒEÐEÐEÜ—?‘? 1¨$°2Ô6×<Ñ<¸QÑ?À1ÓDÐDÐDñ rM   N)rO   rP   rQ   rL   rJ  r   rM   rK   r>  r>  ý  s   „ ò#ó2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"                  j%                  dd	d
 ej(                  d«      g«       eej*                  «      d„ «       «       Zd„ Z eej0                  «      d„ «       Z eej                  «      d„ «       Z eej6                  «      d„ «       Z eej:                  «      d„ «       Z eej>                  «      d„ «       Z d„ Z!y)ÚTestGetWindowz*Unit test for `scipy.signal.get_windows`. c                 óŽ   — t        j                  «       D ].  \  }}|d   j                  }d|› d�}||v sJ |«       ‚|d   dv rŒ.J ‚ y)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#  s]   € ô &×+Ñ+Ö-‰GˆC�Ø˜1™Ÿ™ˆIØ% c UÐ*TÐUˆCØ Ñ#Ð( SÓ(Ð#Ø�a‘5Ð5Ò5Ð5Ð5ñ	 .rM   c                 óÐ   — t        j                  dd|¬«      }t        ||j                  |«      «       t        j                  dd|¬«      }t        ||j                  |«      «       y )Nr   é   rC   )r   é   )r   r   r   rx  ©rJ   r:   r“   s      rK   Útest_boxcarzTestGetWindow.test_boxcar7  sP   € ä×Ñ˜x¨°Ô3ˆÜ˜˜2Ÿ<™<¨›?Ô+ô ×Ñ˜{¨B°2Ô6ˆÜ˜˜2Ÿ<™<¨›?Õ+rM   c                 ó  — t        j                  «       5  t        j                  ddt        «       t	        j
                  ddd|¬«      }d d d «       t        |j                  t        |j                  ¬«      d¬	«       y # 1 sw Y   Œ7xY w)
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@  sl   € ä×$Ñ$Õ&Ü×#Ñ#ØÐ7¼ôFä×"Ñ"Ð#3°RÀÈ2ÔNˆA÷ 'ô 	"Øˆr�z‰zœ-¨r¯z©zˆzÓ:ÀAö	
÷	 'Ð&ús   •5B Â B	c                 ó   — t        j                  «       5  t        j                  ddt        «       t	        j
                  ddd|¬«      }d d d «       t        |j                  t        «      d¬«       y # 1 sw Y   Œ+xY w)	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`   € ä×$Ñ$Õ&Ü×#Ñ#ØÐ7¼ôFä×"Ñ" ?°BÀÈ"ÔMˆA÷ 'ô 	" ! R§Z¡Z´Ó%?ÈÖK÷	 'Ð&ús   •5A4Á4A=c                 ó~   — t        j                  ddd|¬«      }t        j                  dd|¬«      }t        ||«       y )N)r&   r5  é@   Frr  r5  rC   )r   r   r&   r   ©rJ   r:   Úwin1Úwin2s       rK   Ú	test_dpsszTestGetWindow.test_dpssR  s4   € ä×!Ñ! +¨r¸5ÀRÔHˆÜ�|‰|˜B  bÔ)ˆÜ˜˜dÕ#rM   c                 óø   — t        j                  dd|¬«      }t        j                  ddd|¬«      }t        |«      r2t	        |||j                  |j                  «      j                  ¬«       y t        ||«       y )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ˆÜ�~‰~˜b # u°Ô4ˆÜ�"Œ:ô ˜D $¨R¯X©X°d·j±jÓ-A×-EÑ-EÖFä˜D $Õ'rM   ÚNxr0  g      @r5  c                 ó”   — t        j                  t        d¬«      5  t        j                  d||¬«       d d d «       y # 1 sw Y   y xY w)Nz^Parameter Nx=.*r  r/   rC   )Úpytestr   r  r   r   )rJ   rf  r:   s      rK   Útest_invalid_parameter_NXz'TestGetWindow.test_invalid_parameter_NXc  s2   € ô �]‰]œ:Ð-?Ö@Ü×Ñ˜v r¨bÕ1÷ A×@Ñ@ús	   œ>¾Ac                 ó®  — t        j                  t        d¬«      5  t        j                  ddd|¬«       ddd«       t        j                  t        d¬«      5  t        j                  dgd|¬	«       ddd«       t        j                  t        d
¬«      5  t        j                  dd|¬	«       ddd«       t        j                  t        d¬«      5  t        j                  dd|¬	«       ddd«       t        j                  t        d¬«      5  t        j                  dd|¬	«       ddd«       t        j                  t        d¬«      5  t        j                  dd|¬	«       ddd«       t        j                  t        d¬«      5  t        j                  dd|¬	«       ddd«       t        j                  t        d¬«      5  |xs t
        }t        j                  dddgfd|¬	«       ddd«       y# 1 sw Y   �Œ¾xY w# 1 sw Y   �ŒŽxY w# 1 sw Y   �Œ_xY w# 1 sw Y   �Œ0xY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒÑxY w# 1 sw Y   Œ¡xY w# 1 sw Y   yxY w)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'   )rh  r   r  r   r   r‰   )rJ   r:   Úxp_s      rK   Útest_invalid_inputsz!TestGetWindow.test_invalid_inputsj  s�  € ä�]‰]œ:Ð-DÖEÜ×Ñ˜v q°!¸Õ;÷ Fä�]‰]œ:Ð-CÖDÜ×Ñ ˜y¨!°Õ3÷ Eä�]‰]œ:Ð-TÖUÜ×Ñ˜u a¨BÕ/÷ Vä�]‰]œ:Ð-OÖPÜ×Ñ˜y¨!°Õ3÷ Qä�]‰]œ:Ð-RÖSÜ×Ñ˜{¨A°"Õ5÷ Tä�]‰]œ:Ð-OÖPÜ×Ñ˜x¨¨rÕ2÷ Qä�]‰]œ:Ð-KÖLÜ×Ñ˜~¨q°RÕ8÷ Mä�]‰]œ:Ð-RÖSØ’(œˆCÜ×ÑÐ 0°1°a°&Ð9¸1ÀÕE÷ TÐS÷ FÑEúçDÑDúçUÑUúçPÑPúçSÑSúçPÐPúçLÐLúçSÐSús_   œG2ÁG?ÂHÃHÄH&Å
H3ÆH?Ç'IÇ2G<Ç?H	ÈHÈH#È&H0È3H<È?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|¬«      |«       y
)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ˆÜœ
 :¨q¸%ÀBÔGÈÔOÜœ
Ð#7¸¸rÔBÀEÔJäœ
Ð#7¸ÀDÈRÔPÐRWÔXä× Ñ  ¨°"Ô5ˆÜœ
 :¨q°RÔ8¸%Ô@Üœ
 :¨q¸$À2ÔFÈÔNÜœ
Ð#6¸¸bÔAÀ5ÔIäœ
Ð#6¸À5ÈRÔPØõ	rM   c                 ó  — d}|j                  d«      }t        j                  d|dz  |¬«      }t        |«      rdnd}t	        t
        |¬«      5  t        ||j                  d   |z  |¬	«       d d d «       y # 1 sw Y   y xY w)
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�  sk   € ð ˆØ�i‰i˜‹nˆä× Ñ  °(¸a±-ÀBÔGˆÜ!(¨¤‰~Ð2BˆÜœ:¨TÖ2Ü�S˜#Ÿ)™) A™,¨Ñ1¸#Õ>÷ 3×2Ñ2ús   ÁA7Á7B c           	      ó   — t        t        d|j                  g d¢«      fd«      |j                  g d¢|j                  ¬«      «       t        t        d|j                  g d¢«      fdd¬«      |j                  g d¢|j                  ¬«      «       t	        j
                  t        «      5  t        dg d¢fd|¬	«       d d d «       y # 1 sw Y   y xY w)
Nr>  r;  r‚   r=  r<   F)rs  )rU   çš™™™™™á?r  rU   rC   )r   r   rG   rH   rh  r   r  rI   s     rK   Útest_general_cosinez!TestGetWindow.test_general_cosineš  s¡   € äœ
Ð$4°b·j±jÂÓ6QÐ#RÐTUÓVØŸ
™
Ò#5¸R¿Z¹Z˜
ÓHô	Jäœ
Ð$4°b·j±jÂÓ6QÐ#RÐTUØ+0ô2àŸ
™
Ò#9ÀÇÁ˜
ÓLô	Nô �]‰]œ:Õ&ÜÐ(ª/Ð:¸AÀ"ÕE÷ '×&Ñ&ús   Â(CÃCc                 óÚ   — t        t        dd|¬«      |j                  g d¢|j                  ¬«      «       t        t        ddd|¬«      |j                  g d¢|j                  ¬«      «       y )	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ØŸ
™
Ò#TØ)+¯©ð #ó 5ô	6ô 	œ
Ð#;¸QÈÐRTÔUØŸ
™
Ò#<ÀBÇJÁJ˜
ÓOõ	QrM   c                 ó*  — t        t        dd|¬«      |j                  g d¢|j                  ¬«      d¬«       t        t        ddd|¬	«      |j                  g d
¢|j                  ¬«      d¬«       t        t        dd|¬«      t        dd|¬«      «       y )Nr3   r7   rC   r@  r<   rC  r_   Frr  rD  Úsincr„  rI   s     rK   Útest_lanczoszTestGetWindow.test_lanczos­  s‘   € äœ
 9¨a°BÔ7ØŸ
™
ò $1Ø8:¿
¹
ð #ó DØJNõ	Pô 	œ
 9¨a¸À2ÔFØŸ
™
ò $5Ø<>¿J¹Jð #ó HØNRõ	Tô 	œ
 9¨a°BÔ7Ü" 6¨1°Ô4õ	6rM   c                 óÀ   — t        dd«      }t        |t        j                  «      sJ ‚t        dd|¬«      }t	        |«      st        |t        j                  «      rJ ‚y y )Nr3   r7   rC   )r   r8  r‰   r9  r   )rJ   r:   r   s      rK   Útest_xp_defaultzTestGetWindow.test_xp_default¸  sS   € ä˜ AÓ&ˆÜ˜#œrŸz™zÔ*Ð*Ð*ä˜ A¨"Ô-ˆÜ˜Œ|Ü! #¤r§z¡zÔ2Ð2Ð2Ð2ð rM   N)"rO   rP   rQ   Ú__doc__rR  r   r   r   rW  r-   rY  r[  r&   ra  r#   re  rh  ÚmarkÚparametrizer‰   rH   r/   ri  ro  r    ru  r}  r>  r€  rH  r…  r3   rˆ  rŠ  r   rM   rK   rL  rL    sŠ  „ á4ò6ñ( �w—~‘~Ó&ñ,ó 'ð,ñ �w—‘Ó'ñ
ó (ð
ñ �w—‘Ó'ñLó (ðLñ �w—|‘|Ó$ñ$ó %ð$ñ
 �w—~‘~Ó&ñ(ó 'ð(ð ‡[�[×Ñ˜T B¨¨Z¨R¯Z©Z¸«]Ð#;Ó<Ù�w—|‘|Ó$ñ2ó %ó =ð2ò
Fñ( �w×'Ñ'Ó(ñó )ðñ  �w—~‘~Ó&ñ?ó 'ð?ñ �w×-Ñ-Ó.ñFó /ðFñ �w×.Ñ.Ó/ñQó 0ðQñ �w—‘Ó'ñ6ó (ð6ó3rM   rL  z
dask.arrayz(https://github.com/dask/dask/issues/2620©Úreasonzwindow,window_name,paramsc           	      ó 	  — t        t        |«      } t        |«      r|dv rt        j                  d|›d�¬«       |dv rKt        |«      rt        j                  d¬«       t        |«      rt        dk7  rt        j                  d¬«       t        j                  «       5  t        j                  d	d
t        «        | dg|¢­d|dœŽ} | dg|¢­d|dœŽ}t        |d d |«        | dg|¢­d|dœŽ} | dg|¢­d|dœŽ}t        |d d |«        | dg|¢­d|dœŽj                  d   dk(  sJ ‚ | dg|¢­d|dœŽj                  d   dk(  sJ ‚ | dg|¢­d|dœŽj                  d   dk(  sJ ‚ | dg|¢­d|dœŽj                  d   dk(  sJ ‚t        t        | dg|¢­d|iŽ t        t        | dg|¢­d|iŽ t!         | dg|¢­d|dœŽ|j#                  g |j$                  ¬«      «       t!         | dg|¢­d|dœŽ|j#                  g |j$                  ¬«      «       t!         | dg|¢­d|dœŽ|j#                  dg|j$                  ¬«      «       t!         | dg|¢­d|dœŽ|j#                  dg|j$                  ¬«      «        | dg|¢­d|dœŽj&                  |j$                  k(  sJ ‚ | dg|¢­d|dœŽj&                  |j$                  k(  sJ ‚ | dg|¢­d|dœŽj&                  |j$                  k(  sJ ‚ | dg|¢­d|dœŽj&                  |j$                  k(  sJ ‚ | dg|¢­d|dœŽj&                  |j$                  k(  sJ ‚ | dg|¢­d|dœŽj&                  |j$                  k(  sJ ‚|j)                   | dg|¢­d|dœŽdk  «      sJ ‚|j)                   | dg|¢­d|dœŽdk  «      sJ ‚|j)                   | dg|¢­d|dœŽdk  «      sJ ‚|j)                   | dg|¢­d|dœŽdk  «      sJ ‚t+         | dg|¢­d|dœŽ«      }|j-                  |«      }t        ||j/                  |«      d¬«       t+         | dg|¢­d|dœŽ«      }|j-                  |«      }t        ||j/                  |«      d¬«       d d d «       y # 1 sw Y   y xY w)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  )Úgetattrr   r   rh  Úskipr   r   r   rì   rí   rî   rï   r   rv  r  r  r   rG   rH   r=   Úallr   ÚimagÚ
zeros_like)rx  Úwindow_nameÚparamsr:   Úw1r{  Úress          rK   Útest_windowfunc_basicsr�  Â  sÇ  € ô ”W˜kÓ*€FÜˆb„z�kÐ%:Ñ:Ü�‰˜n˜kÐ-Ð->Ð?Õ@Ø�hÑÜ�2Œ;Ü�K‰KÐHÕIÜ�BŒ<œL¨EÒ1Ü�K‰KÐJÕKä	×	 Ñ	 Õ	"Ü×ÑØÐ3´[ô	Bñ �AÐ0˜Ñ0 D¨RÒ0ˆÙ�AÐ1˜Ñ1 E¨bÒ1ˆÜ˜˜3˜B˜ Ô$á�AÐ0˜Ñ0 D¨RÒ0ˆÙ�AÐ1˜Ñ1 E¨bÒ1ˆÜ˜˜3˜B˜ Ô$ñ �aÐ2˜&Ñ2 d¨rÒ2×8Ñ8¸Ñ;¸qÒ@Ð@Ð@Ù�aÐ3˜&Ñ3 e°Ò3×9Ñ9¸!Ñ<ÀÒAÐAÐAÙ�aÐ2˜&Ñ2 d¨rÒ2×8Ñ8¸Ñ;¸qÒ@Ð@Ð@Ù�aÐ3˜&Ñ3 e°Ò3×9Ñ9¸!Ñ<ÀÒAÐAÐAô 	”j &¨#Ð>°Ò>¸2Ò>Ü”j &¨"Ð=¨vÒ=¸"Ò=ô 	™˜qÐ; 6Ñ;¨t¸Ò;ØŸ
™
 2¨R¯Z©Z˜
Ó8ô	:ä™˜qÐ< 6Ñ<¨u¸Ò<ØŸ
™
 2¨R¯Z©Z˜
Ó8ô	:ä™˜qÐ; 6Ñ;¨t¸Ò;ØŸ
™
 B 4¨r¯z©z˜
Ó:ô	<ä™˜qÐ< 6Ñ<¨u¸Ò<ØŸ
™
 B 4¨r¯z©z˜
Ó:ô	<ñ �aÐ2˜&Ñ2 d¨rÒ2×8Ñ8¸B¿J¹JÒFÐFÐFÙ�aÐ3˜&Ñ3 e°Ò3×9Ñ9¸R¿Z¹ZÒGÐGÐGÙ�aÐ2˜&Ñ2 d¨rÒ2×8Ñ8¸B¿J¹JÒFÐFÐFÙ�aÐ3˜&Ñ3 e°Ò3×9Ñ9¸R¿Z¹ZÒGÐGÐGÙ�aÐ2˜&Ñ2 d¨rÒ2×8Ñ8¸B¿J¹JÒFÐFÐFÙ�aÐ3˜&Ñ3 e°Ò3×9Ñ9¸R¿Z¹ZÒGÐGÐGð �v‰v‘f˜RÐ: &Ñ:¨d°rÒ:¸TÑAÔBÐBÐBØ�v‰v‘f˜RÐ; &Ñ;¨e¸Ò;¸dÑBÔCÐCÐCØ�v‰v‘f˜QÐ9 Ñ9¨T°bÒ9¸DÑ@ÔAÐAÐAØ�v‰v‘f˜QÐ: Ñ:¨U°rÒ:¸TÑAÔBÐBÐBô ‘&˜Ð7˜fÑ7¨%°BÒ7Ó8ˆØ�g‰g�c‹lˆÜ˜˜RŸ]™]¨3Ó/°eÕ<ä‘&˜Ð7˜fÑ7¨%°BÒ7Ó8ˆØ�g‰g�c‹lˆÜ˜˜RŸ]™]¨3Ó/°eÕ<÷k 
#×	"Ñ	"ús   ÂOQ4Ñ4Q=c                 óB   — dD ]  }t        t        t        |d| ¬«       Œ y )N)r#   Úksrrt  Úkbdr(   ÚgaussÚgsszgeneral gaussianr+   zgeneral gaussÚgeneral_gaussÚggsÚdssr&   rm  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                 ó˜   — t        | «      r|dv rt        j                  |› d�¬«       t        |d| ¬«      }|j                  d   dk(  sJ ‚y )N)r1   r‘  rŽ  rB   rC   r   )r   rh  r•  r   rv  )r:   rx  r§  r   s       rK   Útest_not_needs_paramsr­  .  sJ   € ô ˆb„z�f 
Ñ*Ü�‰˜f˜XÐ%6Ð7Õ8Ü
�V˜Q 2Ô
&€CØ�9‰9�Q‰<˜1ÒÐÑrM   c           	      óž  — t         j                  fD ]¹  } |d| ¬«      }t        |«      j                  }| j	                  | j                  | ||«      z
  «      «      }t        || j                  d«      dd¬«        |d| ¬«      }| j	                  | j                  | ||«      z
  «      «      }t        || j                  d«      dd¬«       Œ» y )Ni   rC   r—  F)r¤  Úcheck_0di  )r   r3   r   ÚfliprŒ   r‹   r   rG   )r:   r   r“   r°  Úerrors        rK   Útest_symmetricr²  =  s©   € ô —‘Ó ˆá�˜ÔˆÜ˜qÓ!×&Ñ&ˆØ—‘�r—v‘v˜a¡$ q£'™kÓ*Ó+ˆÜ˜˜rŸz™z¨#›¸EÈEÕRñ �˜ÔˆØ—‘�r—v‘v˜a¡$ q£'™kÓ*Ó+ˆÜ˜˜rŸz™z¨#›¸EÈEÖRñ !rM   )]r�   rì   Únumpyr‰   r   rh  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�  r¨  Ú_winstrr­  r²  )r™  rš  r§  s   000rK   Ú<module>r¼     s[  ðÛ Û ã Ý Û Ý *å ß 6Ñ 6ß D÷÷ ÷ ó ð —;‘;×/Ñ/Ð Ø—K‘K×1Ñ1Ð à�)€ò€ñ4 �7×#Ñ#Ó$÷0ð 0ó %ð0ñ  �7×#Ñ#Ó$÷Tð Tó %ðTñ �7×#Ñ#Ó$÷7ð 7ó %ð7ñ, �7×)Ñ)Ó*÷Kð Kó +ðKñ( �7—>‘>Ó"÷J:ð J:ó #ðJ:ñZ �7—>‘>Ó"÷7ð 7ó #ð7ñ" �7—>‘>Ó"÷Lð Ló #ðLò€ò0€ñ( �7—?‘?Ó#÷?Oð ?Oó $ð?OñH 	ò (ó 	)ñ  ò !Jó Ká ò "7ó 8áò !Kó Lñ 	ò Aó 	BàÙò 4ó 5àáò Aó 	Bñ  ò !Jó KàØñ3Ð ñ: �7×&Ñ&Ó'ñ<ó (ð<ñ �7—?‘?Ó#÷8ð 8ó $ð8ñ, �7×#Ñ#Ó$÷Lð Ló %ðLñ0 �7×)Ñ)Ó*÷	Jð 	Jó +ð	Jñ �7×*Ñ*Ó+÷
Yð 
Yó ,ð
Yñ �7—?‘?Ó#÷6ð 6ó $ð6ñ( �7—<‘<Ó ÷0ð 0ó !ð0ñ. �7—>‘>Ó"÷Lð Ló #ðLñ: �7×0Ñ0Ó1÷-Lð -Ló 2ð-L÷`Yñ Yñ* �7—>‘>Ó"÷Lð Ló #ðLñ$ �7—>‘>Ó"÷	Tð 	Tó #ð	TðØ‘EÒ.Ó/ðà‘Eò 5ó 6ðð ‘EÒ0Ó1ð	ð
 ‘UÒ/Ó0ðð ‘Uò 6ó 7ðð ‘UÒ/Ó0ðð ‘EÒ3Ó4ðð ‘Eò :ó ;ðð ‘EÒ3Ó4ðð Ò ðð Ò#ðð  Ò"ð!ð" Ò%ð#ð$ 	Ò
Bð%ð& 	Ò
+ð'ð( ÒFð)ð* ò :ð+ò.$â/ò3€
ñ: �7—=‘=Ó!÷$ð $ó "ð$ò@ HÒIð  Að  DOð  Q\ð  C]ð  ^Ú:Ò<\ò  _Gð  Hò  Jqð  rÚVò  YUò  WYò  [Vò  Xað  bò  dkð  lò |ò  ~J(ò  L(D<ò  F<`Pð  aPò  cPWQð  XQñ€	ñ �7—<‘<Ó ÷DAð DAó !ðDAñN �7—?‘?Ó#÷Eð Eó $ðEñB �7×%Ñ%Ó&÷_3ð _3ó 'ð_3ñD �,Ð'QÔRØ‡�×ÑØñ $0ôá#/ÑˆK˜ñ 	™W W¨kÓ:¸KÈÕPØ#/òóñ?=óó Sð?=ñD �:Óñ@ó ð@ò€ð, ‡�×ÑØñ óáˆFñ 	˜Z¨Ñ/°Ñ2°FÕ;Øñóñ �:Óñó óðñ �7—?‘?Ó#ñSó $ñSùósùòVs   Ò"UÓ;U
