§
    µ³Ùg6>  ã                   óö   — d dl Zd dlmZmZmZ d dlZd dlmZ d dlm	c m
Z d dlm	Z	  G d„ d¦  «        Zej        ej        eej        ej        ej        eeej        ej        eeiZ G d„ d¦  «        Zd	„ Zd
„ ZdS )é    N)Úassert_almost_equalÚxp_assert_closeÚxp_assert_equal)Úraises)Úsignalc                   óB   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
S )ÚTestBSplinesa  Test behaviors of B-splines. Some of the values tested against were
    returned as of SciPy 1.1.0 and are included for regression testing
    purposes. Others (at integer points) are compared to theoretical
    expressions (cf. Unser, Aldroubi, Eden, IEEE TSP 1993, Table 1).c                 ó¤  — t           j                             d¦  «        }t          t          t
          j        t          j        dg¦  «        d¦  «         |                     dd¦  «        }ddd|z  z
  z  }t          j        g d¢g d¢g d	¢g d
¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g¦  «        }t          t          j        |d¦  «        |¦  «         d S )Né©0  r   é   é
   é   é   )gÿ7Áúé¦Ý¿gÿDáŠöª @gÇ¸5Pæ?gB…ß¸"@gy…Ó¼Â®@gE±Ã5Ê`@g&¤à)°#@gEêf‘!Àg–Ïò<¸Ó@gSbÏ….X ÀgFgôþš‹Àg½$Æ`Ì#@)gI<M$ k@gYÅvRº÷@gý’dˆ)B	Àgã,ôÚÏÀ#@gd?‹¥Hð#Àgk±€®"`	@g‚)û•k	ÀgiÝÌ	V@gH„-ÑQ#@gŽn)ŒÒ” Àg3%�0×ï?gõ°@‰	À)g¢•AÖÏZÀgõ³9s˜@g /{Dîõ¿gÙÙ©Ô@gºãEC@g¨'ÁUE@gØ¢?å«@gÖ‚ —Áù�¿g¿¹¿zÜk@gÂù³£a"@gò¿½´¦~â¿g ™KGº#@)g$9Ëò–ÛÀgL|¤wàâú¿gùlTŽÆ@g?ss}aJò?g7¦iHÃ^	Àgát»,`±þ?g��hŸ�@glA1ªómÀg±¦²(ìT#Àg˜* Á#Àg…DVŽûÜ#@g„¾¿à@)g°'²½³ý"@ga+‘Ù“ßþ¿gE„=õa@gÅ:¢•"ÀgäIVÎ@gžÞ÷5³º@gòYd\í¸ð¿gÑ–1ÜpÀg"–æ¹2Ü Àg:õi²æ@gi^J§� @g—`H¹ÁQ!À)g�·•^›Õ!Àg#±¬MÆ½!@gè®ºH€&@gfQñâq@g™å�Â%‚ê¿gmùÌ‚r!@gö
,üð²@gìY„ bÀgÒYÁÊüä#@g/-�Úi @gˆè V�qÀgªßùíå"À)gšHÄï�"@gùÝÑÞÄè¿gÊœôßÿ6@gg€²eáÀgšã&´öP@gYä2É#Cý¿gí
0ê¢@gí€Ê|0žú¿g È*!/æ@g(Š±ÒÀgqq–Š¤ø?g)a§‚À)gF¨!Ã�àÀgzÄÇ«œ‹Àg²’^í‹ò¿ge”€û®Fð?g¦
©O0É!ÀgVùØ<’¯ÀgÍtÐ¡§Àg%9ä�W@gûš^[H#@g¼3›Fázæ?gñ.öâ´5 Àg�s…±dù?)gíë†Ž™ÃÀgÕ,
š™@gAß/Éuõ@g`û¦9oÀgebgÈ€Ñ@g‘š¸MŸÀgZµ‰ça@g�<ÆË‰8Àg:É˜³%@gdŽHˆ°Ñ	Àgž¡òŽ×4Àg¶:Ns@)g¡ê€ÙÀg»÷¯-µþÒ¿gœE-² Àg)À in"@gíd.xêôÀg2~ñwµÀgÄ�µ¯ÑôÀgYrñ4Q?gkM-:ÝÖÀgÑÿÛ,@g+‡Ý @gV¤Ûu»À)g@Ÿ+¾_$ó?g¸KGj­é±?g[ C$}á@g›_÷Àg‘D/£X@gH›Óú•ÍÀgÖJSÊŒ¯@gú€@gÒâÀgò�N+ÀgÃ«	Žçñ¿gk8é�Àg®„jZ”‡@)gÝµB`þ¹#@g�+òNÒð?gÏ�õ»	Àg°gó„'Àgƒ=!"F@gÆ±ÃÒŸ"ÀgÖ'-:ß@g¬#�åàÀg'ªŽ‡„ØÀgj Ž\ÔB@g~gƒe×@g$qÁß¼À)
ÚnpÚrandomÚRandomStater   Ú	TypeErrorÚbspÚspline_filterÚasarrayÚrandr   )ÚselfÚrngÚdata_array_realÚresult_array_reals       úV/granary/edev/quantum/lib/python3.11/site-packages/scipy/signal/tests/test_bsplines.pyÚtest_spline_filterzTestBSplines.test_spline_filter   s}  € ÝŒi×#Ò# EÑ*Ô*ˆå�y�#Ô+­R¬Z¸¸©_¬_¸aÑ@Ô@Ð@àŸ(š( 2 rÑ*Ô*ˆà˜a  /Ñ 1Ñ1Ñ2ˆÝœJð@ð @ð @ð@ð @ð @ð?ð ?ð ?ð@ð @ð @ð@ð @ð @ð@ð @ð @ð@ð @ð @ð?ð ?ð ?ð@ð @ð @ð@ð @ð @ðAð Að Að@ð @ð @ðC#Añ$Bô $BÐõJ 	�Ô)¨/¸1Ñ=Ô=Ø)ñ	+ô 	+ð 	+ð 	+ð 	+ó    c           
      óV  — t           j                             d¦  «        }|                     dd¦  «        |                     dd¦  «        dz  z   }ddd|z  z
  z  }t          j        g d¢g d¢g d	¢g d
¢g d¢g d¢g d¢g¦  «        }t          t          j        |d¦  «        |d¬¦  «         d S )Nr   é   y              ð?r   y      ð?      ð?r   )y$™“
‰Ý¿%)ÿáþ¿y��ë©ª @;;×ÿR@yî’þHæ?káŸŒ"Ày¥¼?½!@3âŸ¥Í@yÊ±«Æ¯@b Èº@y…mÕ¿5a@,ñ¡Àºð¿yú`¨°#@Aé4 pÀ)yžF÷ÿ³�!Àí÷ôÛ ÀyÀêéŸ·Ó@@ä_²æ@ywˆûŸ.X Àæ/¡@§� @y4 L ›‹À&í ÁQ!ÀyjÙ¿_Ì#@æ ›Õ!ÀyØÄÙßŸk@ƒa
 Æ½!@ySh¬?º÷@ÀÓ¿&@)y¬–®?@	À¿X@�@yH:ÀÏÀ#@·–ê~%‚ê¿yX…öHð#À‘Ç€r!@y} "`	@)Æ¿ð²@yùí@k	Àu�ØbÀyoâ»ÿU@I"$ üä#@yA ÑQ#@¸°, i @)yïb@r” Àß‚ KqÀyÓ”Êÿ×ï?È¤àìå"Àyr‚Û	À”“À�"@yÆ%`ÏZÀvƒ.ßÄè¿y$°½?s˜@ó*  7@yx‰îõ¿üeb€eáÀyü÷CàÔ@¦í öP@)yÍÎ?M@¡kÀ9Fý¿yÎ¸™ŸUE@4%@ê¢@y[yÉÿä«@#?0žú¿y N àù�¿5¥H /æ@yw€Ük@²€°ÒÀy¥"€a"@$â÷€Š¤ø?y†•ýÿ§~â¿ò¯HÀ¦‚À)y}Ýñ?\º#@A¤¶?ÝáÀy›¥	€–ÛÀd³Ÿœ‹Ày�»{_àâú¿¸ï( Œò¿y^pÝÿ�Æ@;ÉÒ^¯Fð?yuøµ?aJò? U 0É!Ày¢\@Ã^	ÀKÇÿ‘¯Ày™x¬¾_±þ?¹+äß¡§À)yl.@Ž@9UÀY@yNÐª¿ómÀxp€[H#@y¥DùìT#À†bázæ?yhú Á#ÀýFà´5 Ày…˜èûÜ#@‘^ÿdù?yÔ<²¿à@­V?™ÃÀy{æÝ?³ý"@�&@™@r   g�íµ ÷Æ°>)Úrtol)r   r   r   r   r   r   r   r   )r   r   Údata_array_complexÚresult_array_complexs       r   Útest_spline_filter_complexz'TestBSplines.test_spline_filter_complexD   s  € ÝŒi×#Ò# EÑ*Ô*ˆØ ŸXšX a¨™^œ^¨c¯hªh°q¸!©n¬n¸RÑ.?Ñ?Ðà  aÐ(:Ñ&:Ñ!:Ñ;ÐÝ!œzð&ð &ð &ð&ð &ð &ð&ð &ð &ð%ð %ð %ð+ð +ð +ð&ð &ð &ð%ð %ð %ð1&ñ 'ô  'Ðõ@ 	�Ô)Ð*<¸aÑ@Ô@Ø,°4ð	9ñ 	9ô 	9ð 	9ð 	9ð 	9r   c                 ó   — t           j                             d¦  «         t          t	          j        dd¦  «        d¦  «         t          t	          j        t          j        dg¦  «        d¦  «        t          j        dg¦  «        d¬¦  «         d S )	Ni«0  r   g<~“ö?ç      ð?r   gÁîïè¨?g•Ö&è.>©Úatol)r   r   Úseedr   r   Úgauss_spliner   r   )r   s    r   Útest_gauss_splinezTestBSplines.test_gauss_splinel   s�   € Ý
Œ	�Š�uÑÔÐÝ�CÔ,¨Q°Ñ2Ô2Ð4EÑFÔFÐFÝ�Ô(­¬°R°DÑ)9Ô)9¸1Ñ=Ô=Ýœ
 J <Ñ0Ô0°tð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r   c                 ó|   — g d¢}t          t          j        |d¦  «        t          j        g d¢¦  «        ¦  «         d S )N)ç      ð¿ç        r-   é   )ç¡«„Y.¼Ã?gyeÍ~“æ?r0   )r   r   r*   r   r   )r   Úknotss     r   Útest_gauss_spline_listz#TestBSplines.test_gauss_spline_lists   sL   € à!Ð!Ð!ˆÝ�CÔ,¨U°AÑ6Ô6ÝœJÐ'JÐ'JÐ'JÑKÔKñ	
ô 	
ð 	
ð 	
ð 	
r   c                 óâ  — t           j                             d¦  «         t          t	          j        t          j        dg¦  «        ¦  «        dg¦  «         t          j        g d¢¦  «        }t          t	          j        t          j        g d¢¦  «        d¦  «        |¦  «         t          j        g d¢¦  «        }t          t	          j        t          j        g d¢¦  «        ¦  «        |¦  «         d S )Ni®0  r   r.   )gúû{ß®]ó?gzU%™Îý?gðßzè@gŠÂ6ûfw@gvenß'@©r&   r   r/   é   é   r   )g¥ß|òÉ-é?g>ï!<m @gå6Lúœÿ@glMˆóO”@g>}›‘×@)r   r   r)   r   r   Ú	cspline1dr   r   )r   Úc1dÚc1d0s      r   Útest_cspline1dzTestBSplines.test_cspline1dz   sÜ   € Ý
Œ	�Š�uÑÔÐÝ�œ¥b¤j°!°¡o¤oÑ6Ô6¸¸Ñ=Ô=Ð=ÝŒjð &ð &ð &ñ 'ô 'ˆõ 	�œ¥b¤jÐ1AÐ1AÐ1AÑ&BÔ&BÀAÑFÔFÈÑLÔLÐLÝŒzð 'ð 'ð 'ñ (ô (ˆå�œ¥b¤jÐ1AÐ1AÐ1AÑ&BÔ&BÑCÔCÀTÑJÔJÐJÐJÐJr   c                 ó  — t           j                             d¦  «         t          t	          j        t          j        dg¦  «        ¦  «        dg¦  «         t          t          t          j        t          j        g d¢¦  «        d¦  «         t          t          t          j        t          j        g d¢¦  «        d¦  «         t          j        g d¢¦  «        }t          t	          j        t          j        g d¢¦  «        ¦  «        |¦  «         d S )Ni¯0  r   r.   r4   r&   r-   )g)ù`ßOë?gAkúÃ2 @g„ž‹Žýÿ@g‚oçÎ@gÀ5Á�Ú•@)
r   r   r)   r   r   Ú	qspline1dr   r   Ú
ValueErrorr   )r   Úq1d0s     r   Útest_qspline1dzTestBSplines.test_qspline1d…   sÛ   € Ý
Œ	�Š�uÑÔÐÝ�œ¥b¤j°!°¡o¤oÑ6Ô6¸¸Ñ=Ô=Ð=å�z�3œ=­"¬*Ð5EÐ5EÐ5EÑ*FÔ*FÈÑKÔKÐKÝ�z�3œ=­"¬*Ð5EÐ5EÐ5EÑ*FÔ*FÈÑLÔLÐLÝŒzð 'ð 'ð 'ñ (ô (ˆå�œ¥b¤jÐ1AÐ1AÐ1AÑ&BÔ&BÑCÔCÀTÑJÔJÐJÐJÐJr   c           	      óv  — t           j                             d¦  «         t          t	          j        t          j        ddg¦  «        dg¦  «        t          j        dg¦  «        ¦  «         t          t	          j        t          j        g d¢¦  «        g ¦  «        t          j        g ¦  «        ¦  «         g d¢}|d         |d         z
  }g d¢}t          j        g d¢¦  «        }t	          j        |¦  «        }t          j        g d	¢¦  «        }t          t	          j        ||||d         ¬
¦  «        |¦  «         d S )Ni°0  r.   r   ©r&   r   r   ©
éýÿÿÿéþÿÿÿéÿÿÿÿr   r   r   r/   r5   r6   é   r   ©&g      Àg      Àg      Àg      Àg      Àg      Àg      Àg      Àg       Àg      ø¿r-   g      à¿r.   ç      à?r&   g      ø?ç       @ç      @ç      @g      @ç      @g      @g      @ç      @ç      @g      @g      @g      @ç       @g      !@g      "@g      #@g      $@g      %@g      &@g      '@g      (@g      )@©
gw¾Ÿ/Ý@çÛù~j¼t@çé&1¬@çZd;ßÏ@çð§ÆK7	@ç¬Zd»@çåÐ"Ûù~@çj¼t“„@ç¼t“Vö?çÇK7‰A`@)&rS   çúSWü®©@rR   ç7.ëO­@rQ   ç0†0†‹/@g)-3×/Ý@r\   rQ   r[   rR   rZ   rS   çú^…Œ:@rT   ç4Eãývõ@rU   çc4~#².@rV   çãuyJ9©@rW   çý¶/¹´~	@rX   ç·Y@‘¼ý@rY   rb   rX   ra   rW   r`   rV   r_   rU   r^   rT   r]   rS   rZ   ©ÚdxÚx0)	r   r   r)   r   r   Úcspline1d_evalr   r   r7   ©r   Úxrd   ÚnewxÚyÚcjÚnewys          r   Útest_cspline1d_evalz TestBSplines.test_cspline1d_eval�   sB  € Ý
Œ	�Š�uÑÔÐÝ�Ô*­2¬:°r¸1°gÑ+>Ô+>ÀÀÑEÔEÝœ
 B 4Ñ(Ô(ñ	
ô 	
ð 	
õ 	�Ô*­2¬:°j°j°jÑ+AÔ+AÀ2ÑFÔFÝœ
 2™œñ	
ô 	
ð 	
ð .Ð-Ð-ˆØˆqŒT�A�a”D‰[ˆðð ð ˆõ ŒJð &ð &ð &ñ 'ô 'ˆåŒ]˜1ÑÔˆÝŒzð :ð :ð :ñ ;ô ;ˆõ 	�Ô*¨2¨t¸¸qÀ¼tÐDÑDÔDÀdÑKÔKÐKÐKÐKr   c           	      óv  — t           j                             d¦  «         t          t	          j        t          j        ddg¦  «        dg¦  «        t          j        dg¦  «        ¦  «         t          t	          j        t          j        g d¢¦  «        g ¦  «        t          j        g ¦  «        ¦  «         g d¢}|d         |d         z
  }g d¢}t          j        g d¢¦  «        }t	          j        |¦  «        }t          j        g d	¢¦  «        }t          t	          j        ||||d         ¬
¦  «        |¦  «         d S )Ni±0  r.   r   rA   rB   r   rG   rP   )&rS   çTW½
ú@rR   çâ©oR¼@rQ   ç¡âîbP¨@geW÷/Ý@rq   rQ   rp   rR   ro   rS   çäÌá Bà@rT   çêHGœÂ(@rU   çnfWÎœ=@rV   ç%Ýd	O@rW   çuð#éè	@rX   ç‰)C¹@rY   rw   rX   rv   rW   ru   rV   rt   rU   rs   rT   rr   rS   ro   rc   )	r   r   r)   r   r   Úqspline1d_evalr   r   r<   rg   s          r   Útest_qspline1d_evalz TestBSplines.test_qspline1d_eval©   sB  € Ý
Œ	�Š�uÑÔÐÝ�Ô*­2¬:°r¸1°gÑ+>Ô+>ÀÀÑEÔEÝœ
 B 4Ñ(Ô(ñ	
ô 	
ð 	
õ 	�Ô*­2¬:°j°j°jÑ+AÔ+AÀ2ÑFÔFÝœ
 2™œñ	
ô 	
ð 	
ð .Ð-Ð-ˆØˆqŒT�!�A”$‰Yˆðð ð ˆõ ŒJð &ð &ð &ñ 'ô 'ˆåŒ]˜1ÑÔˆÝŒzð :ð :ð :ñ ;ô ;ˆõ 	�Ô*¨2¨t¸¸qÀ¼tÐDÑDÔDÀdÑKÔKÐKÐKÐKr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r$   r+   r2   r:   r?   rm   ry   © r   r   r	   r	      s¨   € € € € € ðHð Hð
.+ð .+ð .+ð`&9ð &9ð &9ðP
ð 
ð 
ð
ð 
ð 
ð	Kð 	Kð 	KðKð Kð KðLð Lð Lð4Lð Lð Lð Lð Lr   r	   c            
       óú  — e Zd Zd„ Zd„ Zej                             dej	        e
ej        eej        eg¦  «        d„ ¦   «         Zej                             dej	        e
ej        eej        eg¦  «        d„ ¦   «         Zej                             d¬¦  «        d„ ¦   «         Zej                             d	¬¦  «        ej                             dej	        e
ej        eej        eg¦  «        d
„ ¦   «         ¦   «         ZdS )ÚTestSepfir2dc           	      óh  — t          j        g d¢¦  «        }t           j                             dd¦  «        }t	          j        |||dd …         ¦  «         t          j        t          d¬¦  «        5  t	          j        |||dd …         ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t	          j        ||dd …         |¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t	          j        || 	                    dd	¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t	          j        ||| 	                    dd	¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
N©r&   rI   rL   rI   r&   r    é	   r   z
odd length©Úmatchr   úobject too deeprE   )
r   Úarrayr   r   r   Úsepfir2dÚpytestr   r=   Úreshape©r   ÚfiltÚimages      r   Útest_sepfir2d_invalid_filterz)TestSepfir2d.test_sepfir2d_invalid_filterÊ   s‚  € ÝŒxÐ1Ð1Ð1Ñ2Ô2ˆÝ”	—’˜q !Ñ$Ô$ˆåŒ˜˜t T¨!¨"¨"¤XÑ.Ô.Ð.õ Œ]�:¨\Ð:Ñ:Ô:ð 	3ð 	3ÝŒO˜E 4¨¨a¨b¨b¬Ñ2Ô2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3åŒ]�:¨\Ð:Ñ:Ô:ð 	3ð 	3ÝŒO˜E 4¨¨¨¤8¨TÑ2Ô2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3õ Œ]�:Ð->Ð?Ñ?Ô?ð 	>ð 	>ÝŒO˜E 4§<¢<°°2Ñ#6Ô#6¸Ñ=Ô=Ð=ð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>åŒ]�:Ð->Ð?Ñ?Ô?ð 	>ð 	>ÝŒO˜E 4¨¯ª°a¸Ñ)<Ô)<Ñ=Ô=Ð=ð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>ð 	>ð 	>sH   Á0BÂBÂ"BÃC,Ã,C0Ã3C0Ä+E	Å	EÅEÅ/+F'Æ'F+Æ.F+c                 óÎ  — t          j        g d¢¦  «        }t           j                             dd¦  «        }t	          j        t          d¬¦  «        5  t          j        | 	                    ddd¦  «        ||¦  «         d d d ¦  «         n# 1 swxY w Y   t	          j        t          d¬¦  «        5  t          j        |d         ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr‚   é   r†   r„   r5   zobject of too small depthr   )
r   r‡   r   r   r‰   r   r=   r   rˆ   rŠ   r‹   s      r   Útest_sepfir2d_invalid_imagez(TestSepfir2d.test_sepfir2d_invalid_imageÜ   sc  € ÝŒxÐ1Ð1Ð1Ñ2Ô2ˆÝ”	—’˜q !Ñ$Ô$ˆõ Œ]�:Ð->Ð?Ñ?Ô?ð 	@ð 	@ÝŒO˜EŸMšM¨!¨Q°Ñ2Ô2°D¸$Ñ?Ô?Ð?ð	@ð 	@ð 	@ñ 	@ô 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@øøøð 	@ð 	@ð 	@ð 	@õ Œ]�:Ð-HÐIÑIÔIð 	2ð 	2ÝŒO˜E !œH d¨DÑ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2ð 	2ð 	2s$   Á,B
Â
BÂBÂ0CÃCÃ!CÚdtypc                 óš  — t          j        g d¢g d¢g d¢g d¢g|¬¦  «        }g d¢}dg}t          j        |||¦  «        }t          |         }t          j        g d¢g d¢g d¢g d¢g|¬¦  «        }t          ||d¬¦  «         t          j        |||¦  «        }t          j        g d¢g d¢g d¢g d¢g|¬¦  «        }t          ||d¬¦  «         d S )	N)r   r   r/   r/   r   r   ©Údtype©rH   r   rH   r   )rJ   rL   rM   rM   rL   rJ   g¼‰Ø—²Òœ<r'   )rI   rL   rN   rN   rL   rI   )r   r‡   r   rˆ   Úsepfir_dtype_mapr   r   )r   r’   ÚaÚh1Úh2ÚresultÚdtÚexpecteds           r   Útest_simplezTestSepfir2d.test_simpleç   sP  € õ
 ŒHÐ(Ð(Ð(Ø(Ð(Ð(Ø(Ð(Ð(Ø(Ð(Ð(ð*ð 26ð7ñ 7ô 7ˆð ˆ]ˆ]ˆØˆSˆÝ”  B¨Ñ+Ô+ˆÝ˜dÔ#ˆÝ”:Ð=Ð=Ð=Ø=Ð=Ð=Ø=Ð=Ð=Ø=Ð=Ð=ð?ð GIðJñ Jô Jˆõ 	˜ ¨uÐ5Ñ5Ô5Ð5å”  B¨Ñ+Ô+ˆÝ”:Ð7Ð7Ð7Ø7Ð7Ð7Ø7Ð7Ð7Ø7Ð7Ð7ð9ð ACðDñ Dô Dˆõ 	˜ ¨uÐ5Ñ5Ô5Ð5Ð5Ð5r   c                 óL  — t          j        g d¢g d¢g d¢g d¢g¦  «        }g d¢dg}}t          j        |d d …d d d…f         ||¦  «        }t          j        |d d …d d d…f                              ¦   «         ||¦  «        }t          ||d¬¦  «         |j        |j        k    sJ ‚d S )N)	r   r   r/   r/   r   r   r   r   r/   r–   r   r   çVçž¯Ò<r'   )r   r‡   r   rˆ   Úcopyr   r•   )r   r’   r˜   r™   rš   Úresult_stridedÚresult_contigs          r   Útest_stridedzTestSepfir2d.test_strided  sÕ   € õ ŒHÐ1Ð1Ð1Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0ð2ñ 3ô 3ˆð ��  ˆBˆÝœ¨¨1¨1¨1¨c¨c°¨c¨6¬°B¸Ñ;Ô;ˆÝœ¨¨!¨!¨!¨S¨S¨q¨S¨&¬	¯ªÑ(8Ô(8¸"¸bÑAÔAˆÝ˜¨¸EÐBÑBÔBÐBØÔ# }Ô':Ò:Ð:Ð:Ð:Ð:Ð:r   z#XXX: filt.size > image.shape: flaky)Úreasonc           
      óJ  — t           j                             d¦  «         t          j        g d¢¦  «        }t           j                             dd¦  «        }t          j        g d¢g d¢g d¢g d¢g¦  «        }t          t          j        |||d d d…         ¦  «        |¦  «         d S )	NiÒ  )r&   rI   rL   rI   r&   rK   rI   r5   )gÕæ!SB@gÂ¿3=>@gs€`Ž[C@g›sðLhðE@)gêÍ¨ù*C@g5ëŒï‹éA@g;©/K;ÃE@g<f 2þïE@)g­®€¢E@g>#ÁjD@gŠéB¬þ`G@g]n0Ôa#F@)gÙ•–‘z�H@g¦|ªF×C@gÇœgìKÌE@gŠ�CýŠF@r/   )	r   r   r)   r‡   r   r   r   r   rˆ   )r   rŒ   r�   r�   s       r   Útest_sepfir2d_strided_2z$TestSepfir2d.test_sepfir2d_strided_2  s°   € õ 	Œ	�Š�tÑÔÐÝŒxÐ;Ð;Ð;Ñ<Ô<ˆÝ”	—’˜q !Ñ$Ô$ˆå”:ÐKÐKÐKØ LÐ LÐ LØ LÐ LÐ LØ LÐ LÐ LðNñ Oô Oˆõ 	�œ¨¨t°T¸#¸#¸A¸#´YÑ?Ô?ÀÑJÔJÐJÐJÐJr   z*XXX: flaky. pointers OOB on some platformsc                 óJ  — t          j        g d¢|¬¦  «        }t          j        g d¢g d¢g d¢g d¢g d¢g|¬¦  «        }g d¢g d	¢g d
¢g d¢g d¢g}t          j        |¦  «        }t          j        |||d d d…         ¦  «        }t          ||d¬¦  «         |j        t          |         k    sJ ‚g d¢g d¢g d¢g d¢g d¢g}t          j        |¦  «        }t          j        ||d d d…         |d d d…         ¦  «        }t          ||d¬¦  «         |j        t          |         k    sJ ‚d S )N)r   r   r5   r   r   r/   r   r”   )r   r/   r   r   r   )r   r   r/   r/   r/   )r   r   r/   r   r/   )r   r/   r   r   r/   )r/   r/   r   r   r   )g     À^@g     @Y@g     ÀV@ç      a@g     À_@)ç      `@g     @_@g     €_@ç      c@g      d@)r©   g      a@g     Àb@g     @d@g      f@)rª   g      _@g     €`@g     €b@g     `b@)g      e@g     Àc@r«   g     €d@g      a@r/   r    r'   )g      6@g     €A@ç     €D@g      ?@ç     €G@)g      ;@ç     €C@ç      H@r­   g     €K@)g     €@@g      E@g     €H@g     €J@g     €M@)r®   g      F@r¬   g      B@r¯   )g     ÀP@g      O@r­   g      A@g      G@)r   r‡   r   r   rˆ   r   r•   r—   )r   r’   rŒ   r�   r�   r›   s         r   Útest_sepfir2d_strided_3z$TestSepfir2d.test_sepfir2d_strided_3  s“  € õ ŒxÐ-Ð-Ð-°TÐ:Ñ:Ô:ˆÝ”
˜O˜O˜OØ+˜O˜OØ+˜O˜OØ+˜O˜OØ+˜O˜Oð	-ð 59ð	:ñ :ô :ˆð 3Ð2Ð2Ø2Ð2Ð2Ø2Ð2Ð2Ø2Ð2Ð2Ø2Ð2Ð2ð	4ˆõ
 ”:˜hÑ'Ô'ˆÝ” ¨¨d°3°3°Q°3¬iÑ8Ô8ˆÝ˜ ¨uÐ5Ñ5Ô5Ð5ØŒ|Õ/°Ô5Ò5Ð5Ð5Ð5à-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-Ø-Ð-Ð-ð	/ˆõ
 ”:˜hÑ'Ô'ˆÝ” ¨¨S¨S¨q¨S¬	°4¸¸¸!¸´9Ñ=Ô=ˆÝ˜ ¨uÐ5Ñ5Ô5Ð5ØŒ|Õ/°Ô5Ò5Ð5Ð5Ð5Ð5Ð5r   N)rz   r{   r|   rŽ   r‘   r‰   ÚmarkÚparametrizer   Úuint8ÚintÚfloat32ÚfloatÚ	complex64Úcomplexrž   r¤   Úxfailr§   r°   r~   r   r   r€   r€   É   s^  € € € € € ð>ð >ð >ð$	2ð 	2ð 	2ð „[×Ò˜VØ	Œ�3˜œ
 E¨2¬<¸ÐAñô ð6ð 6ñô ð6ð. „[×Ò˜VØ	Œ�3˜œ
 E¨2¬<¸ÐAñô ð	;ð 	;ñô ð	;ð „[×ÒÐCÐÑDÔDðKð Kñ EÔDðKð „[×ÒÐJÐÑKÔKØ„[×Ò˜VØ	Œ�3˜œ
 E¨2¬<¸ÐAñô ð6ð 6ñô ñ LÔKð6ð 6ð 6r   r€   c                  ó®   — t           j                             d¦  «         t           j                             dd¦  «        } t	          j        | d¦  «         d S )NiWÖ
éG   éI   rO   )r   r   r)   r   r   Ú	cspline2d©r�   s    r   Útest_cspline2dr¿   A  sD   € Ý„I‡N‚N�9ÑÔÐÝŒI�NŠN˜2˜rÑ"Ô"€EÝ
Ô�U˜CÑ Ô Ð Ð Ð r   c                  ó¬   — t           j                             d¦  «         t           j                             dd¦  «        } t	          j        | ¦  «         d S )NiWÖ
r»   r¼   )r   r   r)   r   r   Ú	qspline2dr¾   s    r   Útest_qspline2drÂ   G  sB   € Ý„I‡N‚N�9ÑÔÐÝŒI�NŠN˜2˜rÑ"Ô"€EÝ
Ô�UÑÔÐÐÐr   )Únumpyr   Úscipy._lib._array_apir   r   r   r‰   r   Úscipy.signal._spline_filtersr   Ú_spline_filtersr   Úscipyr	   r³   rµ   r´   Úfloat64r¶   r·   r¸   r—   r€   r¿   rÂ   r~   r   r   ú<module>rÉ      sS  ðà Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð €€€Ø Ð Ð Ð Ð Ð à *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø Ð Ð Ð Ð Ð ðsLð sLð sLð sLð sLñ sLô sLð sLðn ”H˜bœj¨#¨r¬zØ”J ¤
¨E°5Ø”L "¤,°¸ðBÐ ðu6ð u6ð u6ð u6ð u6ñ u6ô u6ð u6ðp!ð !ð !ðð ð ð ð r   