Ë
    ÏÍ:j`å  ã                   ó@  — 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 eej�                  «       G d3„ d4«      «       ZI eej”                  «       G d5„ d6«      «       ZK eej˜                  «       G d7„ d8«      «       ZMi 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]œ¥ZN eejž                  «       G d^„ d_«      «       ZPg 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œZQ eej¤                  «       G dt„ du«      «       ZS eej¨                  «       G dv„ dw«      «       ZU eej                  «       G dx„ dy«      «       ZV eej®                  «       G dz„ d{«      «       ZX eej²                  «       G d|„ d}«      «       ZZ ed~d¬€«      ej<                  j·                  d�e"D � �cg c]  \  } } e e\e| «      | |«      ‘Œ c}} «      d‚„ «       «       Z] ee«      dƒ„ «       Z^g d„¢Z_ej<                  j·                  d…e_D �cg c]  } ee|   d    |«      ‘Œ c}«       ee«      d†„ «       «       Z` eej¨                  «      d‡„ «       Zay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/home/mcse/projects/srt_converter/srt-converter-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  s]  € Ü×$Ñ$Ó&ñ 	PÜ×#Ñ#ØÐ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÷/	P÷ 	Pñ 	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*  sc   € Ü×$Ñ$Ó&ñ 	:Ü×#Ñ#ØÐ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  sd   € Ü×$Ñ$Ó&ñ 	:Ü×#Ñ#ØÐ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  s~   € Ø!Ÿz™zò +5à<>¿J¹Jð  *ó  HÐô ×$Ñ$Ó&ñ 	8Ü×#Ñ#ØÐ7¼ôFä—‘ q¨R°BÔ7ˆH÷	8ô 	" (Ð,@È!ÖL÷		8ð 	8úó   ´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  s   € Ø "§
¡
ò ,@à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  sf   € ä ×&Ñ&Ó(ò <‰ˆˆ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%   ç       @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   ru  )rJ   r:   r{  Úmsgs       rK   Útest_exceptionsz'TestKaiserBesselDerived.test_exceptions,  s�   € Øˆð"ˆäœ:¨SÔ1ñ 	AÜ×)Ñ)¨!¨a©%°b¸RÕ@÷	Að"ˆäœ:¨SÔ1ñ 	LÜ×)Ñ)¨!¨a©%°b¸eÈÕK÷	Lð 	L÷	Að 	Aú÷	Lð 	Lú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_basicT  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Œ  Q  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_basicg  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”  d  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¹  sZ   € ä—O‘OÓ%ò 	K‰DˆAˆqÜ!Ÿ,™,¨¸À"ÒE‰KˆC�Ü˜C  1¡¨D¸!Õ<Ü˜F A a¡D¨t¸$ÈÖJñ	K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:   r{  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   ry  )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,   r1  rC   r2  r3  r5  r   )	r   r&   r   Ú
isinstancer‰   Úndarrayr  r  r4  )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­  r5  Ú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   rC  rB  r<   ç•Ö&è.>r_   rC   ©r˜  çÕøuH%à?ç;9‡ïí?rG  rF  r˜  rB   T)r˜  rB  rC  rF   rC  rB  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   rw  )rJ   r:   Úns      rK   Útest_array_sizezTestLanczos.test_array_size  s_   € Øò 	EˆAÜ—?‘? 1¨%°BÔ7×=Ñ=¸aÑ@ÀAÒEÐEÐEÜ—?‘? 1¨$°2Ô6×<Ñ<¸QÑ?À1ÓDÐDÐDñ	ErM   N)rO   rP   rQ   rL   rK  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$  sb   € ô &×+Ñ+Ó-ò 	6‰GˆC�Ø˜1™Ÿ™ˆIØ% c UÐ*TÐUˆCØ Ñ#Ð( SÓ(Ð#Ø�a‘5Ð5Ò5Ð5Ð5ñ		6rM   c                 óÐ   — t        j                  dd|¬«      }t        ||j                  |«      «       t        j                  dd|¬«      }t        ||j                  |«      «       y )Nr   é   rC   )r   é   )r   r   r   ry  ©rJ   r:   r“   s      rK   Útest_boxcarzTestGetWindow.test_boxcar8  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   rW  s      rK   Útest_cheb_oddzTestGetWindow.test_cheb_oddA  sw   € ä×$Ñ$Ó&ñ 	OÜ×#Ñ#ØÐ7¼ôFä×"Ñ"Ð#3°RÀÈ2ÔNˆA÷	Oô 	"Øˆr�z‰zœ-¨r¯z©zˆzÓ:ÀAö	
÷		Oð 	Oú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þ   rW  s      rK   Útest_cheb_evenzTestGetWindow.test_cheb_evenK  sk   € ä×$Ñ$Ó&ñ 	NÜ×#Ñ#ØÐ7¼ôFä×"Ñ" ?°BÀÈ"ÔMˆA÷	Nô 	" ! R§Z¡Z´Ó%?ÈÖK÷		Nð 	Nú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_dpssS  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_floatY  s\   € ä×!Ñ! # r¨bÔ1ˆÜ�~‰~˜b # u°Ô4ˆÜ�"Œ:ô ˜D $¨R¯X©X°d·j±jÓ-A×-EÑ-EÖFä˜D $Õ'rM   ÚNxr1  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   rg  r:   s      rK   Útest_invalid_parameter_NXz'TestGetWindow.test_invalid_parameter_NXd  s:   € ô �]‰]œ:Ð-?Ô@ñ 	2Ü×Ñ˜v r¨bÕ1÷	2÷ 	2ñ 	2ú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'   )ri  r   r  r   r   r‰   )rJ   r:   Úxp_s      rK   Útest_invalid_inputsz!TestGetWindow.test_invalid_inputsk  sÓ  € ä�]‰]œ:Ð-DÔEñ 	<Ü×Ñ˜v q°!¸Õ;÷	<ä�]‰]œ:Ð-CÔDñ 	4Ü×Ñ ˜y¨!°Õ3÷	4ä�]‰]œ:Ð-TÔUñ 	0Ü×Ñ˜u a¨BÕ/÷	0ä�]‰]œ:Ð-OÔPñ 	4Ü×Ñ˜y¨!°Õ3÷	4ä�]‰]œ:Ð-RÔSñ 	6Ü×Ñ˜{¨A°"Õ5÷	6ä�]‰]œ:Ð-OÔPñ 	3Ü×Ñ˜x¨¨rÕ2÷	3ä�]‰]œ:Ð-KÔLñ 	9Ü×Ñ˜~¨q°RÕ8÷	9ä�]‰]œ:Ð-RÔSñ 	FØ’(œˆCÜ×ÑÐ 0°1°a°&Ð9¸1ÀÕE÷	Fð 	F÷	<ñ 	<ú÷	4ñ 	4ú÷	0ñ 	0ú÷	4ñ 	4ú÷	6ñ 	6ú÷	3ð 	3ú÷	9ð 	9ú÷	Fð 	Fú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  |¬«      }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 must|^window.shape=r€  r   )Úwindow)Úaranger   r   r  r  r   rw  )rJ   r:   ÚosfactorÚsigr   Úmesgs         rK   Útest_array_as_windowz"TestGetWindow.test_array_as_window�  sk   € ð ˆØ�i‰i˜‹nˆä× Ñ  °(¸a±-ÀBÔGˆØ,ˆÜœ:¨TÔ2ñ 	?Ü�S˜#Ÿ)™) A™,¨Ñ1¸#Õ>÷	?÷ 	?ñ 	?ús   ÁA*Á*A3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   ri  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ô �]‰]œ:Ó&ñ 	FÜÐ(ª/Ð:¸AÀ"ÕE÷	F÷ 	Fñ 	Fú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   rA  r<   rD  r_   Frr  rE  Ú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   r9  r‰   r:  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__rS  r   r   r   rX  r-   rZ  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   rM  rM     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   rM  c                   ó"  — e Zd Zej                  j                  dd«      ej                  j                  dd«      ej                  j                  dd«      ej                  j                  dd«      d	„ «       «       «       «       Zd
„ Zd„ Zd„ Z	d„ Z
y)ÚTestGeneralGaussianr{  )r7   rB   Úp)r%   r,   r|  )rF   rt  r9   ©TFc                 óH  — |r'|j                  ||j                  ¬«      |dz
  dz  z
  }n+|j                  |dz   |j                  ¬«      |dz  z
  }|dd }|j                  dt        ||z  «      d|z  z  z  «      }t	        j
                  |||||¬«      }t        ||d¬	«       y)
úVerify basic parametrizations. r<   r%   r'   Nr1  g      à¿rC   çê-�™—q=r_   )rz  rH   Úexpr‹   r   r+   r   )	rJ   r{  r‘  r|  r9   r:   ÚtÚx_refÚxs	            rK   rL   zTestGeneralGaussian.test_basicÆ  s    € ñ Ø—	‘	˜! 2§:¡:�	Ó.°!°A±#¸±Ñ:‰Aà—	‘	˜!˜A™# R§Z¡Z�	Ó0°1°q±5Ñ8ˆAØ�#�2�ˆAØ—‘�tœc ! c¡'›l¨q°©sÑ3Ñ3Ó4ˆÜ×$Ñ$ Q¨¨3°¸Ô;ˆÜ˜˜5 uÖ-rM   c                 ó‚   — t        j                  ddd|¬«      }t        j                  dddd|¬«      }t        ||«       y)úIVerify the correctness of the default value of function parameter `sym`. r7   r%   rC   Tr8   N)r   r+   r   ©rJ   r:   r™  r˜  s       rK   Útest_default_func_parameterz/TestGeneralGaussian.test_default_func_parameterÕ  s:   € ä×$Ñ$ Q¨¨1°Ô4ˆÜ×(Ñ(¨¨A¨q°d¸rÔBˆÜ˜˜5Õ!rM   c                 ó~   — t        j                  ddd|¬«      }t        j                  dd|¬«      }t        ||«       y)zbTesting that `general_gaussian` with p = 1 is equivalent to the normal
        `gaussian` window. rB   rF   rt  ©r‘  r|  r:   )Ústdr:   N)r   r+   r(   r   )rJ   r:   Úw1r|  s       rK   Útest_p1_equals_gaussianz+TestGeneralGaussian.test_p1_equals_gaussianÛ  s8   € ô ×%Ñ% a¨3°C¸BÔ?ˆÜ×Ñ˜a S¨RÔ0ˆÜ˜˜BÕrM   c                 óä   — t        j                  ddd|¬«      }t        |j                  |«      «      dk(  sJ ‚t        j                  ddd|¬«      }t        |j                  |«      «      dk  sJ ‚y)	z- Testing that if M is odd, the peak is at 1. rB   r5  rt  rŸ  rF   r7   r,   N)r   r+   ÚfloatrŒ   rW  s      rK   Útest_peak_valuez#TestGeneralGaussian.test_peak_valueâ  sf   € ä×$Ñ$ Q¨!°¸Ô<ˆÜ�R—V‘V˜A“YÓ 3Ò&Ð&Ð&ô ×$Ñ$ Q¨#°3¸2Ô>ˆÜ�R—V‘V˜A“YÓ #Ò%Ð%Ñ%rM   c                 óf  — t        j                  ddd|¬«      j                  d   dk(  sJ ‚t        t        j                  ddd|¬«      |j	                  dg|j
                  ¬«      «       t        j                  t        «      5  t        j                  ddd|¬«       ddd«       y# 1 sw Y   yxY w)z2Test the length edge cases are handled correctly. r   r%   rC   rF   r<   r1  N)	r   r+   rw  r   rG   rH   ri  r   r  rI   s     rK   Útest_len_edge_casesz'TestGeneralGaussian.test_len_edge_casesë  s˜   € ô ×'Ñ'¨¨1¨a°BÔ7×=Ñ=¸aÑ@ÀAÒEÐEÐEô 	œ×0Ñ0°°A°q¸RÔ@ØŸ
™
 C 5°·
±
˜
Ó;ô	=ô �]‰]œ:Ó&ñ 	6Ü×$Ñ$ R¨¨A°"Õ5÷	6÷ 	6ñ 	6ús   ÂB'Â'B0N)rO   rP   rQ   ri  r�  rŽ  rL   r�  r¢  r¥  r§  r   rM   rK   r�  r�  Ã  s†   „ ð ‡[�[×Ñ˜S &Ó)Ø‡[�[×Ñ˜S (Ó+Ø‡[�[×Ñ˜U HÓ-Ø‡[�[×Ñ˜U MÓ2ñ	.ó 3ó .ó ,ó *ð	.ò"ò ò&ó
6rM   r�  c                   óš   — e Zd Zej                  j                  dd«      ej                  j                  dd«      d„ «       «       Zd„ Zd„ Zy)	Ú
TestCosiner{  )r5  r‚   r9   r’  c                 ó4  — |r$|j                  ||j                  ¬«      dz   |z  }n.|j                  |dz   |j                  ¬«      dz   |dz   z  }|dd }|j                  |j                  |z  «      }t	        j
                  |||¬«      }t        ||d¬«       y)	r”  r<   r*   r%   Nr1  r8   r•  r_   )rz  rH   Úsinrx  r   r.   r   )rJ   r{  r9   r:   r—  r˜  r™  s          rK   rL   zTestCosine.test_basicú  sŽ   € ñ Ø—‘˜1 B§J¡J�Ó/°#Ñ5¸Ñ:‰Aà—‘˜1˜Q™3 b§j¡j�Ó1°CÑ7¸A¸a¹CÑ@ˆAØ�#�2�ˆAØ—‘�r—u‘u˜q‘yÓ!ˆÜ�N‰N˜1 #¨"Ô-ˆÜ˜˜5 uÖ-rM   c                 óz   — t        j                  d|¬«      }t        j                  dd|¬«      }t        ||«       y)r›  r7   rC   Tr8   N)r   r.   r   rœ  s       rK   r�  z&TestCosine.test_default_func_parameter  s.   € ä�N‰N˜1 Ô$ˆÜ—‘˜q d¨rÔ2ˆÜ˜˜5Õ!rM   c                 óZ  — t        j                  d|¬«      j                  d   dk(  sJ ‚t        t        j                  d|¬«      |j	                  dg|j
                  ¬«      «       t        j                  t        «      5  t        j                  d|¬«       ddd«       y# 1 sw Y   yxY w)z9Testing that the length edge cases are handled correctly.r   rC   r%   rF   r<   r1  N)	r   r.   rw  r   rG   rH   ri  r   r  rI   s     rK   r§  zTestCosine.test_len_edge_cases  s†   € ô �~‰~˜a BÔ'×-Ñ-¨aÑ0°AÒ5Ð5Ð5ô 	œŸ™ q¨RÔ0ØŸ
™
 C 5°·
±
˜
Ó;ô	=ô �]‰]œ:Ó&ñ 	&Ü�N‰N˜2 "Õ%÷	&÷ 	&ñ 	&ús   Â B!Â!B*N)	rO   rP   rQ   ri  r�  rŽ  rL   r�  r§  r   rM   rK   r©  r©  ø  sH   „ à‡[�[×Ñ˜S &Ó)Ø‡[�[×Ñ˜U MÓ2ñ	.ó 3ó *ð	.ò"ó
&rM   r©  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   Fr1  é	   r7   r   g      @r:   iùÿÿÿr<   r%   rF   ræ   g)\�Âõ(ð?r^   r_   rI  )Úgetattrr   r   ri  Úskipr   r   r   rì   rí   rî   rï   r   rw  r  r  r   rG   rH   r=   Úallr   ÚimagÚ
zeros_like)ry  Úwindow_nameÚparamsr:   r¡  r|  Ú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ä	×	 Ñ	 Ó	"ñ 5=Ü×ÑØÐ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5=÷ 5=ñ 5=ús   ÂOQ4Ñ4Q=c                 óB   — dD ]  }t        t        t        |d| ¬«       Œ y )N)r#   Úksrru  Ú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Ç  d  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   ri  rµ  r   rw  )r:   ry  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°   € ô —‘Ð ò 
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ñ
SrM   )br�   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`  ru  rm  r   r…  r   rŒ  r   r”  r¦  r2   r£  r"  r&   r  r3   r?  rM  r+   r�  r.   r©  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ñ` �7—?‘?Ó#÷Yð 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 �7×+Ñ+Ó,÷16ð 16ó -ð16ñh �7—>‘>Ó"÷&ð &ó #ð&ñB �,Ð'QÔRØ‡�×ÑØð $0÷áˆK˜ñ 	™W W¨kÓ:¸KÈÕPóóñ?=óó Sð?=ñD �:Óñ@ó ð@ò€ð, ‡�×ÑØð öàñ 	˜Z¨Ñ/°Ñ2°FÕ;òóñ �:Óñó óðñ �7—?‘?Ó#ñSó $ñSùósùòVs   Ó5VÕV
