§
    fŠtj¬J  ã                   ó®  — d dl Z d dlZd dlmZmZmZmZmZm	Z	m
Z
 d dlZd dlmZ d dlmZ ej        j        Zej        j        Zeg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 ed¬¦  «         G d	„ d
¦  «        ¦   «         Z eej        ¦  «        d„ ¦   «         Z eej        ¦  «        d„ ¦   «         Z dS )é    N)Úassert_almost_equalÚxp_assert_closeÚxp_assert_equalÚmake_xp_test_caseÚxp_default_dtypeÚarray_namespaceÚ_xp_copy_to_numpy)Úraises)Úsignalc                   ó  — e Zd ZdZ eej        ¦  «        d„ ¦   «         Z eej        ¦  «        d„ ¦   «         Z eej	        ¦  «        d„ ¦   «         Z
 edd¬¦  «         eej	        ¦  «        d„ ¦   «         ¦   «         Z eej        ¦  «        d	„ ¦   «         Z eej        ¦  «        d
„ ¦   «         Z edd¬¦  «         eej        ¦  «        d„ ¦   «         ¦   «         Z edd¬¦  «         eej        ¦  «        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        |                     dg¦  «        d¦  «         |                     dd¦  «        }ddd|z  z
  z  }|                     |¦  «        }|                     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|j	        ¬¦  «        }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Áß¼À©Údtype)ÚnpÚrandomÚRandomStater
   Ú	TypeErrorr   Úspline_filterÚasarrayÚrandÚfloat64r   )ÚselfÚxpÚrngÚdata_array_realÚresult_array_reals        ú^/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/signal/tests/test_bsplines.pyÚtest_spline_filterzTestBSplines.test_spline_filter   s¢  € åŒi×#Ò# EÑ*Ô*ˆå�y�&Ô.°·
²
¸A¸3±´ÀÑCÔCÐCàŸ(š( 2 rÑ*Ô*ˆà˜a  /Ñ 1Ñ1Ñ2ˆØŸ*š* _Ñ5Ô5ˆØŸJšJð@ð @ð @ð@ð @ð @ð?ð ?ð ?ð@ð @ð @ð@ð @ð @ð@ð @ð @ð@ð @ð @ð?ð ?ð ?ð@ð @ð @ð@ð @ð @ðAð Að Að@ð @ð @ðC#AðF IKÌ
ðI 'ñ $Tô $TÐõJ 	�Ô,¨_¸aÑ@Ô@Ø)ñ	+ô 	+ð 	+ð 	+ð 	+ó    c           
      ó�  — t           j                             d¦  «        }|                     dd¦  «        |                     dd¦  «        dz  z   }ddd|z  z
  z  }|                     |¦  «        }|                     g d¢g d¢g d	¢g d
¢g d¢g d¢g d¢g|j        ¬¦  «        }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   r   g�íµ ÷Æ°>)Úrtol)	r   r   r   r   r   Ú
complex128r   r   r   )r   r   r    Údata_array_complexÚresult_array_complexs        r#   Útest_spline_filter_complexz'TestBSplines.test_spline_filter_complexL   s/  € åŒi×#Ò# EÑ*Ô*ˆØ ŸXšX a¨™^œ^¨c¯hªh°q¸!©n¬n¸RÑ.?Ñ?Ðà  aÐ(:Ñ&:Ñ!:Ñ;ÐØŸZšZÐ(:Ñ;Ô;Ðà!Ÿzšzð&ð &ð &ð&ð &ð &ð&ð &ð &ð%ð %ð %ð+ð +ð +ð&ð &ð &ð%ð %ð %ð1&ð6 .0¬]ð9  *ñ  <ô  <Ðõ@ 	�Ô,Ð-?ÀÑCÔCØ,°4ð	9ñ 	9ô 	9ð 	9ð 	9ð 	9r%   c                 óô   — t          j        t          j        dd¦  «        d¦  «        sJ ‚t	          t          j        |                     dg¦  «        d¦  «        |                     dg¦  «        d¬¦  «         d S )Nr   g<~“ö?ç      ð?r   gÁîïè¨?g•Ö&è.>©Úatol)ÚmathÚiscloser   Úgauss_spliner   r   )r   r   s     r#   Útest_gauss_splinezTestBSplines.test_gauss_splinew   sy   € åŒ|�FÔ/°°1Ñ5Ô5Ð7HÑIÔIÐIÐIÐIå�Ô+¨B¯JªJ¸°tÑ,<Ô,<¸aÑ@Ô@ØŸ
š
 J <Ñ0Ô0°tð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r%   Tz$deliberate: array-likes are accepted©Únp_onlyÚreasonc                 ó|   — g d¢}t          t          j        |d¦  «        t          j        g d¢¦  «        ¦  «         d S )N)ç      ð¿ç        r9   é   )ç¡«„Y.¼Ã?gyeÍ~“æ?r<   )r   r   r3   r   r   )r   r   Úknotss      r#   Útest_gauss_spline_listz#TestBSplines.test_gauss_spline_list   sN   € ð "Ð!Ð!ˆÝ�FÔ/°°qÑ9Ô9ÝœJÐ'JÐ'JÐ'JÑKÔKñ	
ô 	
ð 	
ð 	
ð 	
r%   c                 óþ  — t          t          j        |                     dg¦  «        ¦  «        |                     dg|j        ¬¦  «        ¦  «         |                     g d¢|j        ¬¦  «        }t          t          j        |                     g d¢¦  «        d¦  «        |¦  «         |                     g d¢|j        ¬¦  «        }t          t          j        |                     g d¢¦  «        ¦  «        |¦  «         d S )Nr   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   Ú	cspline1dr   r   r   )r   r   Úc1dÚc1d0s       r#   Útest_cspline1dzTestBSplines.test_cspline1dˆ   s  € å�Ô(¨¯ª°Q°C©¬Ñ9Ô9ØŸ
š
 B 4¨r¬z˜
Ñ:Ô:ñ	<ô 	<ð 	<à�jŠjð &ð &ð &Ø-/¬Zð ñ 9ô 9ˆõ 	�Ô(¨¯ªÐ4DÐ4DÐ4DÑ)EÔ)EÀqÑIÔIÈ3ÑOÔOÐOØ�zŠzð 'ð 'ð 'Ø.0¬jð ñ :ô :ˆå�Ô(¨¯ªÐ4DÐ4DÐ4DÑ)EÔ)EÑFÔFÈÑMÔMÐMÐMÐMr%   c                 ó8  — t          t          j        |                     dg¦  «        ¦  «        |                     dg|j        ¬¦  «        ¦  «         t          t          t          j        |                     g d¢¦  «        d¦  «         t          t          t          j        |                     g d¢¦  «        d¦  «         |                     g d¢|j        ¬¦  «        }t          t          j        |                     g d¢|j        ¬¦  «        ¦  «        |¦  «         d S )Nr   r:   r   r@   r.   r9   )g)ù`ßOë?gAkúÃ2 @g„ž‹Žýÿ@g‚oçÎ@gÀ5Á�Ú•@)r   r   Ú	qspline1dr   r   r
   Ú
ValueErrorr   )r   r   Úq1d0s      r#   Útest_qspline1dzTestBSplines.test_qspline1d”   s  € å�Ô(¨¯ª°Q°C©¬Ñ9Ô9ØŸ
š
 B 4¨r¬z˜
Ñ:Ô:ñ	<ô 	<ð 	<õ 	�z�6Ô+¨R¯ZªZÐ8HÐ8HÐ8HÑ-IÔ-IÈ2ÑNÔNÐNÝ�z�6Ô+¨R¯ZªZÐ8HÐ8HÐ8HÑ-IÔ-IÈ3ÑOÔOÐOØ�zŠzð 'ð 'ð 'Ø.0¬jð ñ :ô :ˆåÝÔ˜RŸZšZÐ(8Ð(8Ð(8ÀÄ
˜ZÑKÔKÑLÔLÈdñ	
ô 	
ð 	
ð 	
ð 	
r%   Úcupyz&https://github.com/cupy/cupy/pull/9484©r7   c           	      óJ  — t          j        |                     ddg|j        ¬¦  «        |                     dg|j        ¬¦  «        ¦  «        }t	          ||                     dg|j        ¬¦  «        ¦  «         t          j        |                     g d¢|j        ¬¦  «        |                     g |j        ¬¦  «        ¦  «        }t          ||                     g |j        ¬¦  «        ¦  «         t          j        |                     g d¢|j        ¬¦  «        |                     dg|j        ¬¦  «        ¦  «        }t	          ||                     dg|j        ¬¦  «        ¦  «         g d¢}|d         |d         z
  }g d	¢}|                     g d
¢¦  «        }|                     t          j        t          |¦  «        ¦  «        ¦  «        }|                     g d¢|j        ¬¦  «        }t	          t          j        ||                     |¦  «        ||d         ¬¦  «        |¦  «         t          j	        t          d¬¦  «        5  t          j        |                     g |j        ¬¦  «        |                     dg|j        ¬¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr:   r   r   ©r.   r   r   r9   gÚÁQUUÕ?©
éýÿÿÿéþÿÿÿéÿÿÿÿr   r   r   r;   rA   rB   é   r   ©&g      Àg      Àg      Àg      Àg      Àg      Àg      Àg      Àg       Àg      ø¿r9   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`@)&ra   çúSWü®©@r`   ç7.ëO­@r_   ç0†0†‹/@g)-3×/Ý@rj   r_   ri   r`   rh   ra   çú^…Œ:@rb   ç4Eãývõ@rc   çc4~#².@rd   çãuyJ9©@re   çý¶/¹´~	@rf   ç·Y@‘¼ý@rg   rp   rf   ro   re   rn   rd   rm   rc   rl   rb   rk   ra   rh   ©ÚdxÚx0ú+Spline coefficients 'cj' must not be empty.©Úmatch)r   Úcspline1d_evalr   r   r   r   rC   r	   Úpytestr
   rI   ©	r   r   ÚrÚxrr   ÚnewxÚyÚcjÚnewys	            r#   Útest_cspline1d_evalz TestBSplines.test_cspline1d_eval¡   sø  € õ Ô! "§*¢*¨b°!¨W¸B¼J *Ñ"GÔ"GØ!Ÿzšz¨2¨$°b´j˜zÑAÔAñCô Cˆå˜˜2Ÿ:š: r d°"´*˜:Ñ=Ô=Ñ>Ô>Ð>åÔ! "§*¢*¨Z¨Z¨Z¸r¼z *Ñ"JÔ"JØ!Ÿzšz¨"°B´J˜zÑ?Ô?ñAô Aˆå˜˜2Ÿ:š: b°´
˜:Ñ;Ô;Ñ<Ô<Ð<õ Ô! "§*¢*¨[¨[¨[ÀÄ
 *Ñ"KÔ"KØ"$§*¢*¨d¨V¸2¼: *Ñ"FÔ"FñHô Hˆå˜˜2Ÿ:š: z l¸"¼*˜:ÑEÔEÑFÔFÐFà-Ð-Ð-ˆØˆqŒT�A�a”D‰[ˆðð ð ˆð �JŠJð &ð &ð &ñ 'ô 'ˆà�ZŠZ�Ô(Õ):¸1Ñ)=Ô)=Ñ>Ô>Ñ?Ô?ˆØ�zŠzð :ð :ð :ð BDÄð ñ Mô Mˆõ 	ÝÔ! " b§j¢j°Ñ&6Ô&6¸2À!ÀAÄ$ÐGÑGÔGÈñ	
ô 	
ð 	
õ Œ]�:Ø"OðQñ Qô Qð 	Gð 	GåÔ! "§*¢*¨R°r´z *Ñ"BÔ"BØ"$§*¢*¨c¨U¸"¼* *Ñ"EÔ"EñGô Gð Gð	Gð 	Gð 	Gñ 	Gô 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gøøøð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gs   É AJÊJÊJc                 óÀ  — t          t          j        |                     ddg¦  «        |                     dg¦  «        ¦  «        |                     dg¦  «        ¦  «         t	          t          j        |                     g d¢¦  «        |                     g ¦  «        ¦  «        |                     g ¦  «        ¦  «         t          j        |                     g d¢|j        ¬¦  «        |                     dg|j        ¬¦  «        ¦  «        }t	          ||                     dg|j        ¬¦  «        ¦  «         g d¢}|d         |d         z
  }g d	¢}|                     g d
¢¦  «        }t          j        |¦  «        }|                     g d¢|j        ¬¦  «        }t          j        ||                     ||j        ¬¦  «        ||d         ¬¦  «        }t          ||¦  «         t          j        t          d¬¦  «        5  t          j        |                     g |j        ¬¦  «        |                     dg|j        ¬¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr:   r   rO   r   r9   g      Ð?rP   r   rU   r^   )&ra   çTW½
ú@r`   çâ©oR¼@r_   ç¡âîbP¨@geW÷/Ý@r„   r_   rƒ   r`   r‚   ra   çäÌá Bà@rb   çêHGœÂ(@rc   çnfWÎœ=@rd   ç%Ýd	O@re   çuð#éè	@rf   ç‰)C¹@rg   rŠ   rf   r‰   re   rˆ   rd   r‡   rc   r†   rb   r…   ra   r‚   rq   rt   ru   )
r   r   Úqspline1d_evalr   r   r   rH   rx   r
   rI   ry   s	            r#   Útest_qspline1d_evalz TestBSplines.test_qspline1d_evalÊ   s¿  € õ 	�Ô-¨b¯jªj¸"¸a¸Ñ.AÔ.AÀ2Ç:Â:ÈrÈdÑCSÔCSÑTÔTØŸ
š
 B 4Ñ(Ô(ñ	
ô 	
ð 	
õ 	�Ô-¨b¯jªj¸¸¸Ñ.DÔ.DÀbÇjÂjÐQSÁnÄnÑUÔUØŸ
š
 2™œñ	
ô 	
ð 	
õ
 Ô! "§*¢*¨[¨[¨[ÀÄ
 *Ñ"KÔ"KØ"$§*¢*¨d¨V¸2¼: *Ñ"FÔ"FñHô Hˆå˜˜2Ÿ:š: t f°B´J˜:Ñ?Ô?Ñ@Ô@Ð@à-Ð-Ð-ˆØˆqŒT�A�a”D‰[ˆðð ð ˆð �JŠJð &ð &ð &ñ 'ô 'ˆåÔ˜aÑ Ô ˆØ�zŠzð :ð :ð :ð BDÄð ñ Mô Mˆõ Ô!Ø�—
’
˜4 r¤z�
Ñ2Ô2°r¸aÀ¼dð
ñ 
ô 
ˆõ 	˜˜4Ñ Ô Ð åŒ]�:Ø!NðPñ Pô Pð 	Gð 	GåÔ! "§*¢*¨R°r´z *Ñ"BÔ"BØ"$§*¢*¨c¨U¸"¼* *Ñ"EÔ"EñGô Gð Gð	Gð 	Gð 	Gñ 	Gô 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gøøøð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gs   Ç;AIÉIÉIN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r$   r,   r3   r4   Úskip_xp_backendsr>   rC   rF   rH   rK   Úxfail_xp_backendsrw   r€   r‹   rŒ   © r%   r#   r   r      sÕ  € € € € € ðHð Hð
 Ð�vÔ+Ñ,Ô,ð/+ð /+ñ -Ô,ð/+ðb Ð�vÔ+Ñ,Ô,ð(9ð (9ñ -Ô,ð(9ðT Ð�vÔ*Ñ+Ô+ð
ð 
ñ ,Ô+ð
ð Ð˜dÐ+QÐRÑRÔRØÐ�vÔ*Ñ+Ô+ð
ð 
ñ ,Ô+ñ SÔRð
ð Ð�vÔ'Ñ(Ô(ð	Nð 	Nñ )Ô(ð	Nð Ð�vÔ'Ñ(Ô(ð

ð 

ñ )Ô(ð

ð Ð�vÐ&NÐOÑOÔOØÐ�vÔ,Ñ-Ô-ð%Gð %Gñ .Ô-ñ PÔOð%GðN Ð�vÐ&NÐOÑOÔOØÐ�vÔ,Ñ-Ô-ð%Gð %Gñ .Ô-ñ PÔOð%Gð %Gð %Gr%   r   T)r6   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dd¬¦  «        ej                             dej	        e
ej        eej        eg¦  «        d„ ¦   «         ¦   «         Z edd¬¦  «        ej                             d	¬
¦  «        d„ ¦   «         ¦   «         Z edd¬¦  «        ej                             d¬
¦  «        ej        j        ej                             dej	        e
ej        eej        eg¦  «        d„ ¦   «         ¦   «         ¦   «         ¦   «         ZdS )ÚTestSepfir2dc           	      ó”  — |                      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 ¦  «         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 )
N©r.   rW   rZ   rW   r.   r'   é	   r   z
odd lengthru   r   úobject too deep)r   rS   )
r   r   r   r   r   Úsepfir2drx   r
   rI   Úreshape©r   r   ÚfiltÚimages       r#   Útest_sepfir2d_invalid_filterz)TestSepfir2d.test_sepfir2d_invalid_filterü   sº  € Ø�zŠzÐ3Ð3Ð3Ñ4Ô4ˆÝ”	—’˜q !Ñ$Ô$ˆØ—
’
˜5Ñ!Ô!ˆåŒ˜˜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õ Œ]�:Ð->Ð?Ñ?Ô?ð 	Dð 	DÝŒO˜E 2§:¢:¨d°GÑ#<Ô#<¸dÑCÔCÐCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	DåŒ]�:Ð->Ð?Ñ?Ô?ð 	Dð 	DÝŒO˜E 4¨¯ª°D¸'Ñ)BÔ)BÑCÔCÐCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dð 	Dð 	DsH   ÂB1Â1B5Â8B5ÃDÄDÄ	DÄ(+EÅE#Å&E#Æ+F=Æ=GÇGc                 ó   — |                      g d¢¦  «        }t          j                             dd¦  «        }|                      |¦  «        }t	          j        t          d¬¦  «        5  t          j        | 	                    |d¦  «        ||¦  «         d d d ¦  «         n# 1 swxY w Y   t	          j        t          d¬¦  «        5  t          j        |dd d …f         ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr—   é   r™   ru   )rA   rA   rA   zobject of too small depthr   )
r   r   r   r   rx   r
   rI   r   rš   r›   rœ   s       r#   Útest_sepfir2d_invalid_imagez(TestSepfir2d.test_sepfir2d_invalid_image  s|  € Ø�zŠzÐ3Ð3Ð3Ñ4Ô4ˆÝ”	—’˜q !Ñ$Ô$ˆØ—
’
˜5Ñ!Ô!ˆõ Œ]�:Ð->Ð?Ñ?Ô?ð 	Fð 	FÝŒO˜BŸJšJ u¨iÑ8Ô8¸$ÀÑEÔEÐEð	Fð 	Fð 	Fñ 	Fô 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Føøøð 	Fð 	Fð 	Fð 	Fõ Œ]�:Ð-HÐIÑIÔIð 	5ð 	5ÝŒO˜E ! Q Q Q $œK¨¨tÑ4Ô4Ð4ð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5ð 	5ð 	5s$   Á(+BÂB#Â&B#Ã!C3Ã3C7Ã:C7Ú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   r   ©rV   r   rV   r   )rX   rZ   r[   r[   rZ   rX   g¼‰Ø—²Òœ<r/   )rW   rZ   r\   r\   rZ   rW   )r   Úarrayr   rš   Úsepfir_dtype_mapr   r   )	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%   TzTODO: convert this testr5   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©   rª   Úresult_stridedÚresult_contigs           r#   Útest_stridedzTestSepfir2d.test_strided5  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: flakyrM   c           
      ó  — 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 )N)r.   rW   rZ   rW   r.   rY   rW   rA   )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_2D  sœ   € õ
 Œ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   rA   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­   r«   s          r#   Útest_sepfir2d_strided_3z$TestSepfir2d.test_sepfir2d_strided_3R  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)r�   rŽ   r�   rŸ   r¢   rx   ÚmarkÚparametrizer   Úuint8ÚintÚfloat32ÚfloatÚ	complex64Úcomplexr®   r‘   r´   Úxfailr¶   Ú	fail_asanr¿   r“   r%   r#   r•   r•   ú   sÈ  € € € € € ðDð Dð Dð&
5ð 
5ð 
5ð „[×Ò˜VØ	Œ�3˜œ
 E¨2¬<¸ÐAñô ð6ð 6ñô ð6ð. Ð˜dÐ+DÐEÑEÔEØ„[×Ò˜VØ	Œ�3˜œ
 E¨2¬<¸ÐAñô ð	;ð 	;ñô ñ FÔEð	;ð Ð˜dÐ+DÐEÑEÔEØ„[×ÒÐCÐÑDÔDð
Kð 
Kñ EÔDñ FÔEð
Kð Ð˜dÐ+DÐEÑEÔEØ„[×ÒÐJÐÑKÔKØ„[ÔØ„[×Ò˜VØ	Œ�3˜œ
 E¨2¬<¸ÐAñô ð6ð 6ñô ñ Ôñ LÔKñ FÔEð6ð 6ð 6r%   r•   c                 ó  — t           j                             d¦  «        }|                     dd¦  «        }|                      |t          | ¦  «        ¬¦  «        }t          j        |d¦  «        }t          |¦  «        | k    sJ ‚d S )NiWÖ
éG   éI   r   r]   )	r   r   r   r   r   r   r   Ú	cspline2dr   ©r   r    rž   r«   s       r#   Útest_cspline2drÏ   x  sy   € å
Œ)×
Ò
 	Ñ
*Ô
*€CØ�HŠH�R˜ÑÔ€EØ�JŠJ�uÕ$4°RÑ$8Ô$8ˆJÑ9Ô9€EÝÔ˜e SÑ)Ô)€FÝ˜6Ñ"Ô" bÒ(Ð(Ð(Ð(Ð(Ð(r%   c                 ó
  — t           j                             d¦  «        }|                     dd¦  «        }|                      |t          | ¦  «        ¬¦  «        }t          j        |¦  «        }t          |¦  «        | k    sJ ‚d S )NiWÖ
rË   rÌ   r   )	r   r   r   r   r   r   r   Ú	qspline2dr   rÎ   s       r#   Útest_qspline2drÒ   �  sw   € å
Œ)×
Ò
 	Ñ
*Ô
*€CØ�HŠH�R˜ÑÔ€EØ�JŠJ�uÕ$4°RÑ$8Ô$8ˆJÑ9Ô9€EÝÔ˜eÑ$Ô$€FÝ˜6Ñ"Ô" bÒ(Ð(Ð(Ð(Ð(Ð(r%   )!r1   Únumpyr   Úscipy._lib._array_apir   r   r   r   r   r   r	   rx   r
   Úscipyr   rÀ   r‘   r’   Úlazy_xp_modulesr   rÂ   rÄ   rÃ   r   rÅ   rÆ   rÇ   r§   r•   rÍ   rÏ   rÑ   rÒ   r“   r%   r#   ú<module>r×      s×  ðà €€€Ø Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð €€€Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð à”;Ô/Ð Ø”KÔ1Ð à�(€ð]Gð ]Gð ]Gð ]Gð ]Gñ ]Gô ]Gð ]GðB ”H˜bœj¨#¨r¬zØ”J ¤
¨E°5Ø”L "¤,°¸ðBÐ ð
 Ð˜$ÐÑÔðz6ð z6ð z6ð z6ð z6ñ z6ô z6ñ  Ôðz6ðz Ð�6Ô#Ñ$Ô$ð)ð )ñ %Ô$ð)ð Ð�6Ô#Ñ$Ô$ð)ð )ñ %Ô$ð)ð )ð )r%   