Ë
    âQ(hñ} ã                   óZ  — d dl mZmZmZmZ d dlmZ d dlZd dlm	Z	m
Z
mZmZ d dl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mZmZ d dlmZmZ d dlm Z  d dl!m"Z"m#Z# d d	l$m%Z% d d
l&m'Z' d dlm(Z(  G d„ d«      Z) G d„ d«      Z* G d„ d«      Z+ G d„ d«      Z,ejZ                  j]                  deeg«      d„ «       Z/ G d„ d«      Z0 G d„ d«      Z1 G d„ d«      Z2 G d„ d«      Z3 G d„ d«      Z4 G d „ d!«      Z5 G d"„ d#«      Z6 G d$„ d%«      Z7d&„ Z8ejr                  fd'„Z:d(„ Z;d,d)„Z<d,d*„Z=d,d+„Z>y)-é    )Úxp_assert_equalÚxp_assert_closeÚassert_almost_equalÚassert_array_almost_equal)ÚraisesN)ÚmgridÚpiÚsinÚpoly1d)Úinterp1dÚinterp2dÚlagrangeÚPPolyÚBPolyÚsplrepÚsplevÚ
splantiderÚsplintÚsprootÚAkima1DInterpolatorÚNdPPolyÚBSplineÚPchipInterpolator)ÚpochÚgamma)Ú_ppoly)Úassert_deallocatedÚIS_PYPY)Ú_run_concurrent_barrier)Únquad)Úbinomc                   ó   — e Zd Zd„ Zy)ÚTestInterp2Dc                 ó¸   — t         ddd…dt        d…f   \  }}t        |d|z  z   «      }t        t        «      5  t        |||«       d d d «       y # 1 sw Y   y xY w)Nr   é   y              4@y              5@ç      à?)r   r	   r
   Úassert_raisesÚNotImplementedErrorr   )ÚselfÚyÚxÚzs       úf/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/interpolate/tests/test_interpolate.pyÚtest_interp2dzTestInterp2D.test_interp2d   s\   € Ü�Q�q˜�W˜a¤ 3˜hÐ&Ñ'‰ˆˆ1Ü��#�a‘%‘‹LˆÜÔ.Ó/ñ 	Ü�Q˜˜1Ô÷	÷ 	ñ 	ús   ¹AÁAN)Ú__name__Ú
__module__Ú__qualname__r.   © ó    r-   r#   r#      s   „ ór3   r#   c                   ór  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd(d„Zd(d„Zd„ Zd„ Zd„ Zd„ Zd(d„Zd(d„Zd„ Zej8                  dfd„Zd„ Zej@                  jC                  e"d¬«      d„ «       Z#d„ Z$d „ Z%d!„ Z&d"„ Z'd#„ Z(ej@                  jS                  d$d%«      d&„ «       Z*y'))ÚTestInterp1Dc                 óê  — t        j                  d«      | _        t        j                  d«      | _        t        j                  d«      | _        | j                  j                  d«      | _        t        j                  d«      | _        t        j                  d«      | _        t        j                  dg«      | _
        t        j                  dg«      | _        t        j                  d«      j                  d«      | _        t        j                  d«      j                  d«      | _        t        j                  d«      j                  d	«      | _        t        j                  d«      j                  d«      | _        t        j                  d
«      j                  d«      | _        t        j                  d
«      j                  d«      | _        t        j                  d«      j                  d«      | _        d| j$                  d d …df<   d| j$                  d d …df<   t        j                  d«      j                  d«      | _        d| j&                  dd d …f<   d| j&                  dd d …f<   d| _        y )Nç      @ç      $@)r%   é   ç       @ç        g      4@©r%   é
   )r=   r%   )r%   r%   r9   g      >@)r%   é   r9   )r>   r%   r9   é   r   éâÿÿÿéÿÿÿÿç      YÀ)ÚnpÚarangeÚx5Úx10Úy10ÚreshapeÚx25Úx2Úy2ÚarrayÚx1Úy1Úy210Úy102Úy225Úy25Úy235Úy325Úy210_edge_updatedÚy102_edge_updatedÚ
fill_value©r)   s    r-   Úsetup_methodzTestInterp1D.setup_method$   s²  € Ü—)‘)˜B“-ˆŒÜ—9‘9˜S“>ˆŒÜ—9‘9˜S“>ˆŒØ—8‘8×#Ñ# EÓ*ˆŒÜ—)‘)˜B“-ˆŒÜ—)‘)˜B“-ˆŒÜ—(‘(˜B˜4“.ˆŒÜ—(‘(˜B˜4“.ˆŒä—I‘I˜c“N×*Ñ*¨7Ó3ˆŒ	Ü—I‘I˜c“N×*Ñ*¨7Ó3ˆŒ	Ü—I‘I˜c“N×*Ñ*¨9Ó5ˆŒ	Ü—9‘9˜S“>×)Ñ)¨&Ó1ˆŒÜ—I‘I˜c“N×*Ñ*¨9Ó5ˆŒ	Ü—I‘I˜c“N×*Ñ*¨9Ó5ˆŒ	ô
 "$§¡¨3£×!7Ñ!7¸Ó!@ˆÔØ')ˆ×Ñšq !˜tÑ$Ø(+ˆ×Ñšq "˜uÑ%ô "$§¡¨3£×!7Ñ!7¸Ó!@ˆÔØ')ˆ×Ñ˜q¢!˜tÑ$Ø(+ˆ×Ñ˜r¢1˜uÑ%à ˆ�r3   c                 óf  — dD ]G  }t        | j                  | j                  |¬«       t        | j                  | j                  |d¬«       ŒI t        | j                  | j                  dd¬«       t        | j                  | j                  dt        j                  dg«      ¬«       t        | j                  | j                  dd¬«       t        | j                  | j                  dd¬«       t        | j                  | j                  dd	¬«       t        | j                  | j                  d
¬«       t        | j                  | j                  d¬«       t        | j                  | j                  d¬«       t        | j                  | j                  d¬«       t        | j                  | j
                  ddd	¬«       t        | j                  | j
                  dd
t        j                  d«      ¬«       t        | j                  | j
                  dd
t        j                  d«      t        j                  d«      f¬«       t        | j                  | j
                  dd
t        j                  d«      df¬«       t        t        t         | j                  | j                  «       t        t        t         | j                  t        j                  d
«      «       t        t        t         | j                  | j                  «       t        t        t         | j                  | j                  «       t        t        t         | j                  | j                  «       t        | j                  | j
                  «       t        | j                  | j                  d
¬«       t        t        t         | j                  | j                  «       t        t        t         | j                  | j                  «       t        t        t         | j                  | j                  dd¬«       t        t        t         | j                  | j                  dg d¢¬«       t        t        t         | j                  | j                  dt        j                  d«      ¬«       t        t        t         | j                  | j                  ddgg¬«       t        t        t         | j                  | j                  dddg¬«       t        t        t         | j                  | j                  dt        j                  g «      ¬«       t        t        t         | j                  | j                  dd¬«       t        t        t         | j                  | j
                  dd
ddg¬«       t        t        t         | j                  | j
                  dd
dddgf¬«       y )N)	Únearestú
nearest-upÚzeroÚlinearÚslinearÚ	quadraticÚcubicÚpreviousÚnext©ÚkindÚextrapolate©re   rW   r^   )rA   é   rA   )rA   )rA   rA   r   rh   r%   r>   ©re   ÚaxisrW   r=   ©rj   )rA   rA   rA   r2   r;   )r   rF   rG   rC   rL   rO   rJ   Úonesr'   Ú
ValueErrorrI   rK   rP   rM   rN   ©r)   re   s     r-   Útest_validationzTestInterp1D.test_validationM   s§  € ð
?ò 	NˆDä�T—X‘X˜tŸx™x¨dÕ3Ü�T—X‘X˜tŸx™x¨d¸}ÖMð	Nô 	�—‘˜4Ÿ8™8¨(¸wÕGÜ�—‘˜4Ÿ8™8¨(ÜŸH™H b T›Nõ	,ä�—‘˜4Ÿ8™8¨(Ø!õ	#ä�—‘˜4Ÿ8™8¨(Øõ	 ä�—‘˜4Ÿ8™8¨(Ø$õ	&ä�—‘˜4Ÿ8™8¨!Õ,Ü�—‘˜4Ÿ8™8¨!Õ,Ü�—‘˜4Ÿ8™8¨!Õ,Ü�—‘˜4Ÿ8™8¨!Õ,Ü�—‘˜4Ÿ9™9¨8¸"Ø$õ	&ä�—‘˜$Ÿ)™)¨(¸ÜŸG™G B›Kõ	)ä�—‘˜$Ÿ)™)¨(¸ÜŸW™W R›[¬"¯'©'°"«+Ð6õ	8ä�—‘˜$Ÿ)™)¨(¸ÜŸW™W R›[¨"Ð-õ	/ô 	”j¤(¨D¯H©H°d·h±hÔ?ô 	”j¤(¨D¯H©H´b·h±h¸q³kÔBô 	”j¤(¨D¯H©H°d·g±gÔ>Ü”j¤(¨D¯G©G°T·X±XÔ>Ü”j¤(¨D¯H©H°d·i±iÔ@Ü�—‘˜4Ÿ9™9Ô%Ü�—‘˜4Ÿ9™9¨1Õ-ô 	”j¤(¨D¯G©G°T·X±XÔ>Ü”j¤(¨D¯H©H°d·g±gÔ>ô 	”j¤(¨D¯H©H°d·h±hÀXØ!-õ	/ä”j¤(¨D¯H©H°d·h±hÀXÚ!-õ	/ä”j¤(¨D¯H©H°d·h±hÀXÜ!#§¡¨,Ó!7õ	9ä”j¤(¨D¯H©H°d·h±hÀXØ#% $ õ	)ä”j¤(¨D¯H©H°d·h±hÀXØ"$ b õ	+ä”j¤(¨D¯H©H°d·h±hÀXÜ!#§¡¨"£õ	/ä”j¤(¨D¯H©H°d·h±hÀXØ!#õ	%ä”j¤(¨D¯G©G°T·Y±YÀXØ¨"¨b¨õ	3ä”j¤(¨D¯G©G°T·Y±YÀXØ¨"¨r°2¨h¨ö	9r3   c                 ó@  — t        | j                  | j                  «      j                  sJ ‚t        | j                  | j                  d¬«      j                  rJ ‚t        | j                  | j                  «      j                  sJ ‚t        | j                  | j                  d¬«      j                  rJ ‚t        j                  t        | j                  | j                  «      j                  «      sJ ‚t        | j                  | j                  d¬«      j                  dk(  sJ ‚t        | j                  | j                  d¬«      j                  dk(  sJ ‚t        | j                  | j                  «      j                  dk(  sJ ‚t        | j                  | j                  «      j                  dk(  sJ ‚t        | j                  | j                  d¬	«      j                  dk(  sJ ‚t        t        | j                  | j                  «      j                  | j                  «       t        t        | j                  | j                  «      j                  | j                  «       t        t        | j                  | j                  «      j                  | j                  «       y )
NF)Úcopy)Úbounds_errorç      @©rW   )ç      ð?r:   r   rh   rk   )r   rF   rG   rq   rr   rC   ÚisnanrW   rj   rO   rP   r   r+   r*   rX   s    r-   Ú	test_initzTestInterp1D.test_init‘   sÎ  € ô ˜Ÿ™ $§(¡(Ó+×0Ò0Ð0Ð0Ü˜DŸH™H d§h¡h°UÔ;×@Ò@Ð@Ð@Ü˜Ÿ™ $§(¡(Ó+×8Ò8Ð8Ð8Ü˜DŸH™H d§h¡h¸UÔC×PÒPÐPÐPÜ�x‰xœ §¡¨4¯8©8Ó4×?Ñ?Ô@Ð@Ð@Ü˜Ÿ™ $§(¡(°sÔ;×FÑFÈ#ÒMÐMÐMÜ˜Ÿ™ 4§8¡8¸
ÔC×NÑNØòð 	
ð ô ˜Ÿ™ $§(¡(Ó+×0Ñ0°AÒ5Ð5Ð5Ü˜Ÿ™ $§)¡)Ó,×1Ñ1°QÒ6Ð6Ð6Ü˜Ÿ™ $§)¡)°!Ô4×9Ñ9¸QÒ>Ð>Ð>Üœ §¡¨4¯8©8Ó4×6Ñ6¸¿¹ÔAÜœ §¡¨4¯8©8Ó4×6Ñ6¸¿¹ÔAÜœ §¡¨4¯9©9Ó5×7Ñ7¸¿¹ÕCr3   c                 óœ  — t        | j                  | j                  «      }t        | j                  d d d…   | j                  d d d…   «      }t         || j                  «      | j                  «       t         |d«      t	        j
                  d«      «       t         |g d¢«       |g d¢«      «       t        | j                  d d d…   | j                  d d d…   d¬«      }t         || j                  «      | j                  «       t        | j                  d d d…   | j                  d d d…   d¬«      }t        t        || j                  «       t        | j                  | j                  «      }t        | j                  d d d…   | j                  d d …d d d…f   «      }t         || j                  «       || j                  «      «       y )NrA   ç333333ó?©g333333@gffffff@ç      @F)Úassume_sortedT)	r   rF   rG   r   rC   rL   r'   rm   rO   )r)   Úinterp10Úinterp10_unsortedÚinterp10_assume_kwÚinterp10_assume_kw2Úinterp10_y_2dÚinterp10_y_2d_unsorteds          r-   Útest_assume_sortedzTestInterp1D.test_assume_sorted¤   sd  € ä˜DŸH™H d§h¡hÓ/ˆÜ$ T§X¡X©d°¨d¡^°T·X±X¹dÀ¸d±^ÓDÐä!Ñ"3°D·H±HÓ"=¸t¿x¹xÔHÜ!Ñ"3°CÓ"8¼"¿(¹(À3»-ÔHÜ!Ñ"3²OÓ"DÙ"*ª?Ó";ô	=ô & d§h¡h©t°¨t¡n°d·h±h¹tÀ¸t±nØ49ô;Ðä!Ñ"4°T·X±XÓ">ÀÇÁÔIä& t§x¡x±°"°¡~°t·x±xÁÀ"À±~Ø59ô;Ðô 	”jÐ"5°t·x±xÔ@ô ! §¡¨4¯9©9Ó5ˆÜ!)¨$¯(©(±4°R°4©.¸$¿)¹)ÂAÁtÈÀtÀGÑ:LÓ!MÐÜ!¡-°·±Ó"9Ù"8¸¿¹Ó"Bõ	Dr3   c                 ó4   — dD ]  }| j                  |«       Œ y )N)r^   r_   )Ú_check_linearrn   s     r-   Útest_linearzTestInterp1D.test_linear¾   s   € Ø)ò 	%ˆDØ×Ñ˜tÕ$ñ	%r3   c                 ó>  — t        | j                  | j                  |¬«      }t         || j                  «      | j                  «       t         |d«      t	        j
                  d«      «       t         |g d¢«      t	        j
                  g d¢«      «       t        | j                  | j                  |d¬«      }t         |g d¢«      t	        j                  g d¢«      d¬«       t        |dd	¬
«      }t        t        t         | j                  | j                  fi |¤Ž y )Nrd   ry   rz   rf   rg   ©ç      ð¿r   é	   é   ç›+¡†›„=©ÚrtolT©re   rW   rr   )r   rF   rG   r   rC   rL   r   ÚasarrayÚdictr'   rm   )r)   re   r}   ÚextrapolatorÚoptss        r-   r…   zTestInterp1D._check_linearÂ   sÍ   € ä˜DŸH™H d§h¡h°TÔ:ˆÜ!¡(¨4¯8©8Ó"4°d·h±hÔ?Ü!¡(¨3£-´·±¸#³Ô?Ü!¡(ª?Ó";Ü"$§(¡(ª?Ó";ô	=ô   §¡¨$¯(©(¸Ø+8ô:ˆä™¢_Ó5ÜŸ
™
Ò#3Ó4¸5õ	Bô ˜Ø,Ø!%ô'ˆô 	”j¤(¨D¯H©H°d·h±hÑGÀ$ÓGr3   c                 ó�  — t         j                  t         j                  t         j                  t         j                  fD ]N  }t        j
                  d|¬«      }|} t        ||d¬«      |«      }|j                  |k(  sJ ‚t        ||d¬«       ŒP g d¢}t         j                  dd	g} t        ||«      |«      }t        ||d¬«       y )
Né   ©Údtyper^   rd   çVçž¯Ò<©Úatol©r   rh   r%   r   rh   )
rC   Úfloat16Úfloat32Úfloat64Ú
longdoublerD   r   r—   r   Únan)r)   Údtypr+   r*   Úyps        r-   Útest_linear_dtypeszTestInterp1D.test_linear_dtypesÕ   s¯   € ô —Z‘ZÜ—Z‘ZÜ—Z‘ZÜ—]‘]ð$ò 	/ˆDô —	‘	˜! 4Ô(ˆAØˆAØ.”˜!˜Q XÔ.¨qÓ1ˆBØ—8‘8˜tÒ#Ð#Ð#Ü˜B ¨Ö.ð	/ò ˆÜ�V‰V�Q˜ˆNˆØŒX�a˜‹^˜AÓˆÜ˜˜A EÖ*r3   c                 óä  — t         j                  t         j                  t         j                  g}|t         j                  t         j
                  gz   }g d¢}|D ]•  }t        j                  dd|¬«      }|D ]v  }t        j                  | dz  «      j                  |«      }|D ]G  }|j                  |«      }	|D ]/  }
t        |||
d¬«      }t         ||	«      |dd|› d	|› d
|› �¬«       Œ1 ŒI Œx Œ— y )N)r_   r]   r`   ra   r   r=   r–   rs   F©re   rr   çH¯¼šò×z>z, ú )rš   Úcheck_dtypeÚerr_msg)rC   rœ   r�   rž   Ú	complex64Ú
complex128rD   ÚexpÚastyper   r   )r)   Údt_rÚdt_rcÚspline_kindsÚdtxr+   Údtyr*   ÚdtnÚxnewre   Úfs               r-   Útest_slinear_dtypesz TestInterp1D.test_slinear_dtypesê   só   € ô —
‘
œBŸJ™J¬¯
©
Ð3ˆØœŸ™¤b§m¡mÐ4Ñ4ˆÚ@ˆØò 
	GˆCÜ—	‘	˜!˜R sÔ+ˆAØò G�Ü—F‘F˜A˜2˜c™6“N×)Ñ)¨#Ó.�Øò G�CØŸ8™8 C›=�DØ ,ò G˜Ü$ Q¨°À5ÔI˜Ü'©¨$«°¸Ø49Ø36°%°r¸#¸¸aÀ¸uÐ0EöGñGñGñGñ
	Gr3   c                 óz  — t        | j                  | j                  d¬«      }t         || j                  «      | j                  «       t         |d«      t	        j
                  d«      «       t         |d«      t	        j
                  d«      «       t         |g d¢«      t	        j
                  g d¢«      «       y )Nra   rd   ry   ç      ø?rz   ©r   rF   rG   r   rC   rL   ©r)   r}   s     r-   Ú
test_cubiczTestInterp1D.test_cubicü   sv   € ä˜DŸH™H d§h¡h°WÔ=ˆÜ!¡(¨4¯8©8Ó"4°d·h±hÔ?Ü!¡(¨3£-´·±¸#³Ô?Ü!¡(¨3£-´·±¸#³Ô?Ü!¡(ª?Ó";Ü"$§(¡(ª?Ó";õ	>r3   c                 ób  — t        | j                  | j                  d¬«      }t         || j                  «      | j                  «       t         |d«      t	        j
                  d«      «       t         |d«      t	        j
                  d«      «       t         |g d¢«      t	        j
                  g d¢«      «       t        | j                  | j                  dd¬	«      }t         |g d
¢«      g d¢d¬«       t        ddd¬«      }t        t        t         | j                  | j                  fi |¤Ž y )Nr[   rd   ry   ru   r¸   rz   ©r:   r{   r{   rf   rg   rˆ   ©r;   r   rŠ   rŠ   rŒ   r�   Tr�   ©
r   rF   rG   r   rC   rL   r   r‘   r'   rm   ©r)   r}   r’   r“   s       r-   Útest_nearestzTestInterp1D.test_nearest  sÚ   € ô ˜DŸH™H d§h¡h°YÔ?ˆÜ!¡(¨4¯8©8Ó"4°d·h±hÔ?Ü!¡(¨3£-´·±¸"³Ô>Ü!¡(¨3£-´·±¸"³Ô>Ü!¡(ª?Ó";Ü"$§(¡(ª<Ó"8ô	;ô   §¡¨$¯(©(¸Ø+8ô:ˆä™¢_Ó5Ú&¨Uõ	4ô ˜Ø,Ø!%ô'ˆô 	”j¤(¨D¯H©H°d·h±hÑGÀ$ÓGr3   c                 ób  — t        | j                  | j                  d¬«      }t         || j                  «      | j                  «       t         |d«      t	        j
                  d«      «       t         |d«      t	        j
                  d«      «       t         |g d¢«      t	        j
                  g d¢«      «       t        | j                  | j                  dd	¬
«      }t         |g d¢«      g d¢d¬«       t        dd	d¬«      }t        t        t         | j                  | j                  fi |¤Ž y )Nr\   rd   ry   ru   r¸   r:   rz   r½   rf   rg   rˆ   r¾   rŒ   r�   Tr�   r¿   rÀ   s       r-   Útest_nearest_upzTestInterp1D.test_nearest_up  sÚ   € ô ˜DŸH™H d§h¡h°\ÔBˆÜ!¡(¨4¯8©8Ó"4°d·h±hÔ?Ü!¡(¨3£-´·±¸"³Ô>Ü!¡(¨3£-´·±¸"³Ô>Ü!¡(ª?Ó";Ü"$§(¡(ª<Ó"8ô	;ô   §¡¨$¯(©(¸Ø+8ô:ˆä™¢_Ó5Ú&¨Uõ	4ô ˜Ø,Ø!%ô'ˆô 	”j¤(¨D¯H©H°d·h±hÑGÀ$ÓGr3   c           
      óÈ  — t        | j                  | j                  d¬«      }t         || j                  «      | j                  «       t         |d«      t	        j
                  d«      «       t         |d«      t	        j
                  d«      «       t         |g d¢«      t	        j
                  g d¢«      «       t        | j                  | j                  dd¬	«      }t         |g d
¢«      t        j                  dddgd¬«       t        | j                  | j                  dd¬	«      }t         |g d¢«      t        j                  t        j                  ddddg«       t        | j                  | j                  dd¬	«      }t         |g d¢«      t        j                  t        j                  ddddgt        j                  t        j                  ddddgg«       t        | j                  | j                  ddd¬«      }t         |g d¢«      t        j                  t        j                  gddgddgg«       t        ddd¬«      }t        t        t         | j                  | j                  fi |¤Ž t        g d¢g d¢ddd¬«      }t         |g d¢«      t        j                  t        j                  ddd d d g«       t        g d!¢g d"¢ddd#¬«      }t         |g d¢«      t        j                  t        j                  ddd d d g«       t        | j                  | j                  dd¬	«      }t         |g d¢«      t        j                  t        j                  ddd$d$gt        j                  t        j                  ddd$d$gg«       t        | j                  | j                  ddd¬«      }t         |g d¢«      t        j                  t        j                  gddgd$d$gg«       y )%Nrb   rd   ry   ru   r¸   rz   ©r:   r7   r{   rf   rg   rˆ   r   rŠ   rŒ   r�   ©rA   éþÿÿÿr9   r•   é   é   r9   r•   é   é   é   ri   ©rÇ   r9   rÈ   r=   r‹   Tr�   r›   ©r   rh   rA   ©re   rW   r|   ©rÇ   rA   r   rh   r%   r>   r9   rh   rA   ©r%   r   rh   ©rA   r   rh   Fr@   ©r   rF   rG   r   rC   rL   r   r    rO   rP   r‘   r'   rm   rU   rV   ©r)   r}   r’   Úinterpolator1DÚinterpolator2DÚinterpolator2DAxis0r“   s          r-   Útest_previouszTestInterp1D.test_previous/  s*  € ä˜DŸH™H d§h¡h°ZÔ@ˆÜ!¡(¨4¯8©8Ó"4°d·h±hÔ?Ü!¡(¨3£-´·±¸"³Ô>Ü!¡(¨3£-´·±¸"³Ô>Ü!¡(ª?Ó";Ü"$§(¡(ª<Ó"8ô	;ô   §¡¨$¯(©(¸Ø+8ô:ˆä™¢_Ó5ÜŸ™  A qÐ)°õ	7ô " $§(¡(¨D¯H©H¸:Ø-:ô<ˆä™Ò'=Ó>ÜŸ™¤§¡¨¨A¨q°!Ð4ô	6ô " $§(¡(¨D¯I©I¸JØ-:ô<ˆä™Ò'=Ó>ÜŸ&™&¤"§&¡&¨!¨Q°°1Ð5ÜŸ&™&¤"§&¡&¨"¨b°"°bÐ9ð;ô	<ô ' t§x¡x°·±ÀØ,-¸-ôIÐäÑ+ªKÓ8ÜŸ&™&¤"§&¡&Ð)Ø˜b˜Ø˜b˜ð#ô	$ô
 ˜Ø,Ø!%ô'ˆô 	”j¤(¨D¯H©H°d·h±hÑGÀ$ÒGô "¢)Ú",°:Ø-:Ø04ô6ˆô 	™Ò'>Ó?ÜŸ™¤§¡¨¨A¨r°2°rÐ:ô	<ô "¢)Ú",°:Ø-:Ø05ô7ˆô 	™Ò'>Ó?ÜŸ™¤§¡¨¨A¨r°2°rÐ:ô	<ô " $§(¡(¨D×,BÑ,BØ'1Ø-:ô<ˆô 	™Ò'=Ó>ÜŸ&™&¤"§&¡&¨!¨Q°°SÐ9ÜŸ&™&¤"§&¡&¨"¨b°#°sÐ;ð=ô	>ô ' t§x¡x°×1GÑ1GØ,6Ø,-¸-ôIÐô 	Ñ+ªKÓ8ÜŸ&™&¤"§&¡&Ð)Ø˜b˜Ø˜s˜ð%õ	&r3   c           
      óÈ  — t        | j                  | j                  d¬«      }t         || j                  «      | j                  «       t         |d«      t	        j
                  d«      «       t         |d«      t	        j
                  d«      «       t         |g d¢«      t	        j
                  g d¢«      «       t        | j                  | j                  dd¬	«      }t         |g d
¢«      dddt        j                  gd¬«       t        | j                  | j                  dd¬	«      }t         |g d¢«      ddddt        j                  t        j                  g«       t        | j                  | j                  dd¬	«      }t         |g d¢«      ddddt        j                  t        j                  gddddt        j                  t        j                  gg«       t        | j                  | j                  ddd¬«      }t         |g d¢«      ddgddgt        j                  t        j                  gg«       t        ddd¬«      }t        t        t         | j                  | j                  fi |¤Ž t        g d¢g d¢ddd¬«      }t         |g d¢«      dddddt        j                  t        j                  g«       t        g d ¢g d!¢ddd"¬«      }t         |g d¢«      dddddt        j                  t        j                  g«       t        | j                  | j                  dd¬	«      }t         |g d¢«      d#d#ddt        j                  t        j                  gd#d#ddt        j                  t        j                  gg«       t        | j                  | j                  ddd¬«      }t         |g d¢«      d#d#gddgt        j                  t        j                  gg«       y )$Nrc   rd   ry   r:   r¸   rz   )rs   r{   r{   rf   rg   rˆ   r   rŠ   rŒ   r�   rÆ   r9   r•   r=   rÊ   rË   ri   rÍ   rh   r‹   Tr�   r›   rÎ   rÏ   rÐ   rA   rÑ   rÒ   Fr?   rÓ   rÔ   s          r-   Ú	test_nextzTestInterp1D.test_nextt  s*  € ä˜DŸH™H d§h¡h°VÔ<ˆÜ!¡(¨4¯8©8Ó"4°d·h±hÔ?Ü!¡(¨3£-´·±¸"³Ô>Ü!¡(¨3£-´·±¸"³Ô>Ü!¡(ª?Ó";Ü"$§(¡(ª<Ó"8ô	;ô   §¡¨$¯(©(¸Ø+8ô:ˆä™¢_Ó5Ø˜A˜q¤"§&¡&Ð)°õ	7ô " $§(¡(¨D¯H©H¸6Ø-:ô<ˆä™Ò'=Ó>Ø˜A˜q !¤R§V¡V¬R¯V©VÐ4ô	6ô " $§(¡(¨D¯I©I¸FØ-:ô<ˆä™Ò'=Ó>Ø˜Q  1¤b§f¡f¬b¯f©fÐ5Ø˜b " b¬"¯&©&´"·&±&Ð9ð;ô	<ô ' t§x¡x°·±ÀØ,-¸-ôIÐäÑ+ªKÓ8Ø˜Q˜Ø˜b˜ÜŸ&™&¤"§&¡&Ð)ð+ô	,ô
 ˜Ø,Ø!%ô'ˆô 	”j¤(¨D¯H©H°d·h±hÑGÀ$ÒGô "¢)Ú",°6Ø-:Ø04ô6ˆô 	™Ò'>Ó?Ø˜A˜q ! R¬¯©´·±Ð8ô	:ô "¢)Ú",°6Ø-:Ø05ô7ˆô 	™Ò'>Ó?Ø˜A˜q ! R¬¯©´·±Ð8ô	:ô " $§(¡(¨D×,BÑ,BØ'-Ø-:ô<ˆô 	™Ò'=Ó>Ø˜b ! Q¬¯©´·±Ð7Ø˜b " b¬"¯&©&´"·&±&Ð9ð;ô	<ô ' t§x¡x°×1GÑ1GØ,2Ø,-¸-ôIÐô 	Ñ+ªKÓ8Ø˜b˜Ø˜b˜ÜŸ&™&¤"§&¡&Ð)ð+õ	,r3   c                 óz  — t        | j                  | j                  d¬«      }t         || j                  «      | j                  «       t         |d«      t	        j
                  d«      «       t         |d«      t	        j
                  d«      «       t         |g d¢«      t	        j
                  g d¢«      «       y )Nr]   rd   ry   ru   r¸   rz   rÅ   r¹   rº   s     r-   Ú	test_zerozTestInterp1D.test_zero¹  sv   € ä˜DŸH™H d§h¡h°VÔ<ˆÜ!¡(¨4¯8©8Ó"4°d·h±hÔ?Ü!¡(¨3£-´·±¸"³Ô>Ü!¡(¨3£-´·±¸"³Ô>Ü!¡(ª?Ó";Ü"$§(¡(ª<Ó"8õ	:r3   c                 ó„   — t        t        ||«       	  ||«       y # t        $ r}|› t        |«      v sJ ‚Y d }~y d }~ww xY w©N)r'   rm   Ústr)r)   ÚinterpolantÚ
test_arrayÚ
fail_valueÚerrs        r-   Úbounds_check_helperz TestInterp1D.bounds_check_helperÂ  sA   € ô 	”j +¨zÔ:ð	1Ù˜
Õ#øÜò 	1Ø!�l¤s¨3£xÑ/Ð0Õ/ûð	1ús   “ œ	?¥:º?r^   c                 ó  — t        | j                  | j                  | j                  d|¬«      }t	         |d«      t        j                  | j                  «      «       t	         |d«      t        j                  | j                  «      «       t	         |dgdgdgdggg«      t        j                  | j                  «      d¬«       t	        |j                  t        j                  g d¢«      «      t        j                  g d	¢g d
¢g«      «       t        | j                  | j                  d|¬«      }| j                  |dd«       | j                  |dd«       | j                  |g d¢d«       | j                  |g d¢d«        |g d¢«       y )NF)rW   rr   re   gffffff&@g333333Àg333333)@gÍÌÌÌÌL3@)Úcheck_shape)r‰   r;   r7   ç      "@ç      &@)TFFFF)FFFFTT)rr   re   r‰   rè   )r;   r‰   r;   )r;   ru   ç      5@ré   )r;   r7   rç   )	r   rF   rG   rW   r   rC   rL   Ú_check_boundsrä   )r)   re   Úextrap10Úraises_bounds_errors       r-   Ú_bounds_checkzTestInterp1D._bounds_checkË  sD  € ä˜DŸH™H d§h¡h¸4¿?¹?Ø).°Tô;ˆô 	™ ›¬¯©°·±Ó(AÔBÜ™ ›¬¯©°·±Ó(AÔBÜ™ D 6¨D¨6°D°6¸D¸6Ð"BÐ!CÓDÜŸ8™8 D§O¡OÓ4À%õ	Iä˜×.Ñ.Ü!Ÿx™xÒ(CÓDóFäŸ8™8Ò%GÚ%Gð%Ió Jô	Kô
 ' t§x¡x°·±ÈØ,0ô2Ðð 	× Ñ Ð!4°d¸DÔAØ× Ñ Ð!4°d¸DÔAØ× Ñ Ð!4Ò6FÈÔMØ× Ñ Ð!4Ò6FÈÔMášOÕ,r3   c                 óŠ  — t        j                  d«      j                  t        «      }t        j                  d«      j                  t        «      }t	        |||t         j
                  d¬«      } ||dz
  «      }t        j                  |d   «      sJ ‚t        |t         j                  t         j
                  |d d f   «       y )Nr=   Fr�   rh   r   rA   )	rC   rD   r­   Úintr   r    rv   r   Úr_)r)   re   r+   r*   ÚcÚyis         r-   Ú_bounds_check_int_nan_fillz'TestInterp1D._bounds_check_int_nan_fillã  sŠ   € Ü�I‰I�b‹M× Ñ ¤Ó%ˆÜ�I‰I�b‹M× Ñ ¤Ó%ˆÜ�Q˜ ´·±ÀeÔLˆÙˆq�1‰u‹XˆÜ�x‰x˜˜1™ŒÐˆÜ! "¤b§e¡e¬B¯F©F°A°c°r°F¨NÑ&;Õ<r3   c                 óV   — dD ]$  }| j                  |«       | j                  |«       Œ& y )N)r^   ra   r[   rb   rc   r_   r]   r`   )rí   ró   rn   s     r-   Útest_boundszTestInterp1D.test_boundsë  s/   € ð5ò 	2ˆDà×Ñ˜tÔ$Ø×+Ñ+¨DÕ1ñ	2r3   c                 óÎ  — t        | j                  | j                  |dd¬«      }t         |d«      t	        j
                  d«      «       t         |d«      t	        j
                  d«      «       t         |ddg«      dd	g«       | j                  | j                  | j                  | j                  fD �]S  }t        | j                  ||d
d	d¬«      }t         |d«      t	        j
                  d«      «       t         |d«      t	        j
                  d«      «       t         |ddg«      t	        j
                  d«      «       t        | j                  ||d
dd¬«      }t         |d«      t	        j
                  d«      «       t         |d«      t	        j
                  d«      «       |j                  dk(  r'dd	gg|j                  d   z  g|j                  d   z  }ndd	gg|j                  d   z  }t         |ddg«      |«       �ŒV g d¢}| j                  | j                  fD ]'  }t        t        t         | j                  ||d
|d¬«       Œ) t        | j                  | j                  |d
|d¬«      }t         |d«      g d¢gdz  «       t         |d«      g d¢gdz  «       t         |ddg«      d	d	gddgddgggdz  «       d	dg}t        t        t         | j                  | j                  |d
|d¬«       | j                  | j                  | j                  fD ]¥  }t        | j                  ||d
|d¬«      }d	dg}|j                  dk(  r|g|j                  d   z  }t         |d«      |«       t         |d«      |«       d	d	gddgg}|j                  dk(  r|g|j                  d   z  }t         |ddg«      |«       Œ§ t	        j                  g d¢«      d	f}| j                  | j                  fD ]'  }t        t        t         | j                  ||d
|d¬«       Œ) t        | j                  | j                  |d
|d¬«      }t         |d«      t	        j
                  d«      «       t         |d«      g d¢gdz  «       t         |ddg«      dd	gdd	gdd	gggdz  «       t	        j                  ddg«      d	f}t        t        t         | j                  | j                  |d
|d¬«       | j                  | j                  | j                  fD ]¸  }t        | j                  ||d
|d¬«      }t         |d«      t	        j
                  d	«      «       ddg}|j                  dk(  r|g|j                  d   z  }t         |d«      |«       dd	gdd	gg}|j                  dk(  r|g|j                  d   z  }t         |ddg«      |«       Œº g d¢g d¢f}| j                  | j                  fD ]'  }t        t        t         | j                  ||d
|d¬«       Œ) t!        d«      D ]�  }|dk(  rt#        d„ |D «       «      }t        | j                  | j                  |d
|d¬«      }t         |d«      g d¢gdz  «       t         |d«      g d¢gdz  «       t         |ddg«      dd	gddgddgggdz  «       Œ‘ ddgd	dgf}t        t        t         | j                  | j                  |d
|d¬«       | j                  | j                  | j                  fD ]Ë  }t        | j                  ||d
|d¬«      }d	dg}|j                  dk(  r|g|j                  d   z  }t         |d«      |«       ddg}|j                  dk(  r|g|j                  d   z  }t         |d«      |«       dd	gddgg}|j                  dk(  r|g|j                  d   z  }t         |ddg«      |«       ŒÍ d	dgddgg}| j                  | j                  | j                  fD ]'  }t        t        t         | j                  ||d
|d¬«       Œ) t!        d«      D ]“  }|dk(  rt	        j                  |«      }t        | j                  | j                  |d
|d¬«      }t         |d«      d	dgddgg«       t         |d«      d	dgddgg«       t         |ddg«      d	d	gddggddgddggg«       Œ• ddgddggd	dgddggf}| j                  | j                  | j                  fD ]'  }t        t        t         | j                  ||d
|d¬«       Œ) t!        d«      D ]®  }|dk(  r0t	        j                  |d   «      t	        j                  |d   «      f}t        | j                  | j                  |d
|d¬«      }t         |d«      d	dgddgg«       t         |d«      ddgddgg«       t         |ddg«      dd	gddggddgddggg«       Œ° y )N)éœÿÿÿéd   Fr�   r=   g      Y@éöÿÿÿrB   r÷   rø   rA   )re   rj   rW   rr   r>   rh   r   )rø   éÈ   é,  r%   rú   rû   )r÷   é8ÿÿÿéÔþÿÿrü   rý   c              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­wrÞ   )rC   rL   )Ú.0rµ   s     r-   ú	<genexpr>z1TestInterp1D._check_fill_value.<locals>.<genexpr>R  s   è ø€ Ò"C°1¤2§8¡8¨A§;Ñ"Cùs   ‚!iè  iÐ  iüÿÿi0øÿÿ)r   rF   rG   r   rC   r�   rS   rT   rQ   rR   rE   ÚndimÚshaper'   rm   rL   ÚrangeÚtuple)r)   re   Úinterpr*   ÚresultrW   Úiis          r-   Ú_check_fill_valuezTestInterp1D._check_fill_valueñ  sØ	  € Ü˜$Ÿ(™( D§H¡H°4Ø%0¸uôFˆä!¡&¨£*¬b¯j©j¸Ó.>Ô?Ü!¡&¨£+¬r¯z©z¸%Ó/@ÔAÜ!¡&¨#¨r¨Ó"3°d¸C°[ÔAð —)‘)˜TŸY™Y¨¯	©	°4·8±8Ð<ó 	AˆAÜ˜dŸg™g q¨t¸"Ø),¸5ôBˆFä%¡f¨R£j´"·*±*¸TÓ2BÔCÜ%¡f¨S£k´2·:±:¸dÓ3CÔDÜ%¡f¨c°2¨YÓ&7¼¿¹ÀDÓ9IÔJô ˜dŸg™g q¨t¸"Ø)4À5ôJˆFä%¡f¨R£j´"·*±*¸TÓ2BÔCÜ%¡f¨S£k´2·:±:¸eÓ3DÔEØ�v‰v˜Š{Ø  #˜;˜-¨!¯'©'°!©*Ñ4Ð5¸¿¹À¹
ÑB‘à ˜+˜¨¯©°©Ñ3�Ü%¡f¨c°2¨YÓ&7¸Ö@ð!	Aò& %ˆ
Ø—)‘)˜TŸY™YÐ'ò 	NˆAÜœ*¤h°·±¸ÀØ!¨jÀuöNð	Nô ˜$Ÿ'™' 4§9¡9°4¸bØ%/¸eôEˆä!¡&¨£*ªÐ.?À!Ñ.CÔDÜ!¡&¨£+²Ð/@À1Ñ/DÔEÜ!¡&¨#¨r¨Ó"3¸¸S°zØ8;¸S°zØ8;¸S°zð7Cð 6DàFGñ6Hô 	Ið
 ˜3�Zˆ
Ü”j¤(¨D¯G©G°T·Y±YÀTØ¨*À5õ	Jà—)‘)˜TŸY™Y¨¯©Ð1ò 	AˆAÜ˜dŸg™g q¨t¸"Ø)3À%ôIˆFà˜3�ZˆFØ�v‰v˜Š{Ø ˜ A§G¡G¨A¡JÑ.�Ü%¡f¨R£j°&Ô9Ü%¡f¨S£k°6Ô:Ø˜C�j 3¨ *Ð-ˆFØ�v‰v˜Š{Ø ˜ A§G¡G¨A¡JÑ.�Ü%¡f¨c°2¨YÓ&7¸Õ@ð	Aô —h‘hÒ1Ó2°CÐ8ˆ
Ø—)‘)˜TŸY™YÐ'ò 	NˆAÜœ*¤h°·±¸ÀØ!¨jÀuöNð	Nô ˜$Ÿ'™' 4§9¡9°4¸bØ%/¸eôEˆä!¡&¨£*¬b¯j©j¸Ó.>Ô?Ü!¡&¨£+Ò0BÐ/CÀaÑ/GÔHÜ!¡&¨#¨r¨Ó"3¸¸c°{Ø8<¸c°{Ø8<¸c°{ð7Dð 6EàGHñ6Iô 	Jô
 —h‘h  d˜|Ó,¨cÐ2ˆ
Ü”j¤(¨D¯G©G°T·Y±YÀTØ¨*À5õ	Jà—)‘)˜TŸY™Y¨¯©Ð1ò 	AˆAÜ˜dŸg™g q¨t¸"Ø)3À%ôIˆFä%¡f¨R£j´"·*±*¸S³/ÔBØ˜D�\ˆFØ�v‰v˜Š{Ø ˜ A§G¡G¨A¡JÑ.�Ü%¡f¨S£k°6Ô:Ø˜S�k D¨# ;Ð/ˆFØ�v‰v˜Š{Ø ˜ A§G¡G¨A¡JÑ.�Ü%¡f¨c°2¨YÓ&7¸Õ@ð	Aò )ª/Ð:ˆ
Ø—)‘)˜TŸY™YÐ'ò 	NˆAÜœ*¤h°·±¸ÀØ!¨jÀuöNð	Nô ˜“(ò 		NˆBØ�QŠwÜ"Ñ"C¸
Ô"CÓC�
Ü˜dŸg™g t§y¡y°tÀ"Ø)3À%ôIˆFä%¡f¨R£j²?Ð2CÀaÑ2GÔHÜ%¡f¨S£kÒ4FÐ3GÈ!Ñ3KÔLÜ%¡f¨c°2¨YÓ&7¸DÀ#¸;Ø<@À#¸;Ø<@À#¸;ð;Hð :IàKLñ:Mõ Nð		Nð ˜T�l S¨# JÐ/ˆ
Ü”j¤(¨D¯G©G°T·Y±YÀTØ¨*À5õ	Jà—)‘)˜TŸY™Y¨¯©Ð1ò 	AˆAÜ˜dŸg™g q¨t¸"Ø)3À%ôIˆFà˜3�ZˆFØ�v‰v˜Š{Ø ˜ A§G¡G¨A¡JÑ.�Ü%¡f¨R£j°&Ô9Ø˜D�\ˆFØ�v‰v˜Š{Ø ˜ A§G¡G¨A¡JÑ.�Ü%¡f¨S£k°6Ô:Ø˜S�k D¨# ;Ð/ˆFØ�v‰v˜Š{Ø ˜ A§G¡G¨A¡JÑ.�Ü%¡f¨c°2¨YÓ&7¸Õ@ð	Að" ˜C�j 4¨ ,Ð/ˆ
Ø—)‘)˜TŸY™Y¨¯©Ð1ò 	NˆAÜœ*¤h°·±¸ÀØ!¨jÀuöNð	Nô ˜“(ò 
	KˆBØ�QŠwÜŸX™X jÓ1�
Ü˜dŸg™g t§y¡y°tÀ"Ø)3À%ôIˆFä%¡f¨R£j°C¸°:ÀÀd¸|Ð2LÔMÜ%¡f¨S£k°S¸#°JÀÀtÀÐ3MÔNÜ%¡f¨c°2¨YÓ&7¸CÀ¸:Ø<?À¸:ð;Gà<@À$¸<Ø<@À$¸<ð;Ið:Jõ Kð
	Kð ˜d�| e¨U ^Ð4Ø˜S�z D¨$ <Ð0ð2ˆ
à—)‘)˜TŸY™Y¨¯©Ð1ò 	NˆAÜœ*¤h°·±¸ÀØ!¨jÀuöNð	Nô ˜“(ò 	LˆBØ�QŠwÜ Ÿh™h z°!¡}Ó5´r·x±xÀ
È1ÁÓ7NÐO�
Ü˜dŸg™g t§y¡y°tÀ"Ø)3À%ôIˆFä%¡f¨R£j°C¸°:ÀÀd¸|Ð2LÔMÜ%¡f¨S£k°T¸4°LØ5:¸E°Nð4Dô Eä%¡f¨c°2¨YÓ&7¸DÀ#¸;Ø<@À#¸;ð;Hà<AÀ4¸=Ø<AÀ4¸=ð;Jð:Kõ Lñ	Lr3   c                 ó4   — dD ]  }| j                  |«       Œ y ©N)r^   r[   ra   r_   r`   r]   rb   rc   )r  rn   s     r-   Útest_fill_valuezTestInterp1D.test_fill_value’  s!   € ð1ò 	)ˆDà×"Ñ" 4Õ(ñ	)r3   c                 óš   — t        | j                  | j                  d¬«      }|j                  dk(  sJ ‚d|_        |j                  dk(  sJ ‚y )Ng     À^@rt   g     t@)r   rF   rG   rW   )r)   r  s     r-   Útest_fill_value_writeablez&TestInterp1D.test_fill_value_writeable˜  sH   € ä˜$Ÿ(™( D§H¡H¸Ô?ˆØ× Ñ  EÒ)Ð)Ð)Ø!ˆÔØ× Ñ  EÒ)Ð)Ñ)r3   c           	      ój  — t        | j                  | j                  |¬«      }t         |t	        j
                  ddgddgg«      «      t	        j
                  ddgddgg«      «       t         |d«      t        j                  «      sJ ‚ |d«      j                  dk(  sJ ‚t        | j                  | j                  |¬«      }t         |d«      t	        j
                  dd	g«      «       t         |t	        j
                  ddg«      «      t	        j
                  ddgd	d
gg«      «       t        | j                  | j                  d|¬«      }t         |d«      t	        j
                  ddg«      «       t         |t	        j
                  ddg«      «      t	        j
                  ddgddgg«      «       t	        j
                  ddgddgg«      }t         ||«      t	        j
                  ddgddggddgd
dggg«      «       t         ||«      t	        j
                  ddgdd	ggddgddggg«      «       y )Nrd   rs   r7   r:   ç      @ry   r2   ru   rè   ç      (@r   ©rj   re   r{   g      *@g      .@g      1@r8   ç      @g      ,@)r   rF   rG   r   rC   rL   Ú
isinstanceÚndarrayr  rO   rP   )r)   re   r}   Ú	interp210Ú	interp102Úx_news         r-   Ú_nd_check_interpzTestInterp1D._nd_check_interpŸ  s  € ô ˜DŸH™H d§h¡h°TÔ:ˆÜ!¡(¬2¯8©8°b¸"°XÀÀB¸xÐ4HÓ+IÓ"JÜ"$§(¡(¨R°¨H°r¸2°hÐ+?Ó"@ô	Bô ™( 3›-¬¯©Ô4Ð4Ð4Ù˜‹}×"Ñ" bÒ(Ð(Ð(ô ˜TŸX™X t§y¡y°tÔ<ˆ	Ü!¡)¨B£-´·±¸2¸s¸)Ó1DÔEÜ!¡)¬B¯H©H°b¸"°XÓ,>Ó"?Ü"$§(¡(¨R°¨H°s¸C°jÐ+AÓ"Bô	Dô ˜TŸX™X t§y¡y°q¸tÔDˆ	Ü!¡)¨B£-´·±¸3À¸*Ó1EÔFÜ!¡)¬B¯H©H°b¸"°XÓ,>Ó"?Ü"$§(¡(¨R°¨H°r¸2°hÐ+?Ó"@ô	Bô —‘˜2˜r˜( R¨ HÐ-Ó.ˆÜ!¡)¨EÓ"2Ü"$§(¡(¨b°"¨X¸¸B°xÐ,@Ø.1°3¨Z¸#¸s¸Ð,Dð,Fó #Gô	Hô 	"¡)¨EÓ"2Ü"$§(¡(¨b°"¨X¸¸S°zÐ,BØ.0°"¨X¸¸S°zÐ,Bð,Dó #Eõ	Fr3   c                 óÎ  — g d¢} t        j                  t        j                  |«      «      j                  |Ž }t	        |«      D ]ž  \  }}t        j                  |«      }t        ||||¬«      }t         ||«      ||¬«       t        j                  d«      j                  d«      dz  }t        |«      }	g d¢|	||dz     ||«      j                  t        |	«      k(  rŒ™J |«       ‚ y )N)é   r9   é   é   r  ©r©   r  )r%   r>   rh   r  rh   )
rC   rD   ÚprodrH   Ú	enumerater   r   Úlistr  r  )
r)   re   Úar*   ÚnÚsr+   r,   rJ   Úbs
             r-   Ú_nd_check_shapezTestInterp1D._nd_check_shape¿  sÃ   € âˆØ)ŒB�I‰I”b—g‘g˜a“jÓ!×)Ñ)¨1Ð-ˆÜ˜a“Lò 	1‰DˆAˆqÜ—	‘	˜!“ˆAÜ˜˜A A¨DÔ1ˆAÜ%¡a¨£d¨A°tÕ<ä—‘˜5Ó!×)Ñ)¨'Ó2°SÑ8ˆBÜ�Q“ˆAÚ ˆAˆa��!‘ˆHÙ�R“5—;‘;¤%¨£(Ó*Ð0¨DÓ0Ð*ñ	1r3   c                 óV   — dD ]$  }| j                  |«       | j                  |«       Œ& y )N)r^   ra   r_   r`   r[   r]   rb   rc   )r  r%  rn   s     r-   Útest_ndzTestInterp1D.test_ndÍ  s/   € ð1ò 	'ˆDà×!Ñ! $Ô'Ø× Ñ  Õ&ñ	'r3   c                 óÆ  — t        j                  g d¢«      }||dz  z  }|j                  |«      }t        |||¬«      }t	        |d d  ||«      d d «       t        j
                  ddd«      }t        ||j                  |¬«      }t        ||j                  |¬«      }t	         ||«      j                   ||«      «       t	         ||«      j                   ||«      «       y )N)
rh   ç      @r>   gÍÌÌÌÌÌ@r  gš™™™™™@gš™™™™™@g       @g      #@r=   ù      ð?       @rd   rA   rh   r=   é   )rC   rL   r­   r   r   ÚlinspaceÚrealÚimag)	r)   r—   re   r+   r*   rñ   ÚxiÚcrÚcis	            r-   Ú_check_complexzTestInterp1D._check_complexÓ  sº   € Ü�H‰HÒ@ÓAˆØ��f‘ÑˆØ�H‰H�U‹Oˆô �Q˜ Ô%ˆÜ! ! C R &©!¨A«$¨s°¨)Ô4ô �[‰[˜˜B Ó#ˆÜ�a˜Ÿ™ dÔ+ˆÜ�a˜Ÿ™ dÔ+ˆÜ!¡! B£%§*¡*©b°«fÔ5Ü!¡! B£%§*¡*©b°«fÕ5r3   c                 ó’   — dD ]B  }| j                  t        j                  |«       | j                  t        j                  |«       ŒD y r
  )r2  rC   rª   r«   rn   s     r-   Útest_complexzTestInterp1D.test_complexã  s;   € ð1ò 	5ˆDà×Ñ¤§¡¨dÔ3Ø×Ñ¤§¡¨tÕ4ñ	5r3   zTest not meaningful on PyPy)Úreasonc                 ó¾   — t        j                  dd«      }t        j                  dd«      }t        t        ||«      5 } |ddg«       ~d d d «       y # 1 sw Y   y xY w)Nr   rh   çš™™™™™¹?çš™™™™™É?)rC   r,  r   r   )r)   r+   r*   r  s       r-   Útest_circular_refszTestInterp1D.test_circular_refsé  sV   € ô �K‰K˜˜1ÓˆÜ�K‰K˜˜1Óˆä¤¨!¨QÓ/ð 	°6Ù�C˜�:ÔØ÷	÷ 	ñ 	ús   ¾AÁAc                 ó    — dD ]I  }t        j                  g d¢t         j                  ¬«      }t        |||¬«      }t	         ||«      |«       ŒK y )N)r[   rb   rc   )r   é2   é   r–   rd   )rC   rL   Úint8r   r   )r)   re   r+   r  s       r-   Útest_overflow_nearestz"TestInterp1D.test_overflow_nearestó  sA   € à3ò 	0ˆDÜ—‘š¬R¯W©WÔ5ˆAÜ˜!˜Q TÔ*ˆBÜ%¡b¨£e¨QÕ/ñ	0r3   c                 ó"  — t        j                  d«      j                  t        «      }|j	                  «       }t         j
                  |d<   dD ]?  }t        |||¬«      } |ddg«      }t        j                  |«      j                  «       rŒ?J ‚ y )Nr=   r  )r]   r_   rd   gš™™™™™@r  )	rC   rD   r­   Úfloatrq   r    r   ÚisfiniteÚall)r)   r+   r*   re   ÚirÚvalss         r-   Útest_local_nanszTestInterp1D.test_local_nansú  sy   € ô �I‰I�b‹M× Ñ ¤Ó'ˆØ�F‰F‹HˆÜ�v‰vˆˆ!‰Ø'ò 	+ˆDÜ˜!˜Q TÔ*ˆBÙ�s˜C�j“>ˆDÜ—;‘;˜tÓ$×(Ñ(Õ*Ð*Ð*ñ	+r3   c                 óî  — t        j                  d«      j                  t        «      }|j	                  «       }|j	                  «       }t         j
                  |d<   dD ]•  }t        |||¬«      }t        |||¬«      }dddgddgddggfD ]g  }t        j                  |«      } ||«       ||«      }	}t        j                  |	«      j                  «       sJ ‚|j                  |	j                  k(  rŒgJ ‚ Œ— y )Nr•   r>   )r`   ra   rd   r  rh   r9   )rC   rD   r­   r@  rq   r    r   r�   rv   rB  r  )
r)   r+   r*   Úynre   rC  Úirnr´   ÚoutÚoutns
             r-   Útest_spline_nanszTestInterp1D.test_spline_nans  sà   € ô �I‰I�a‹L×Ñ¤Ó&ˆØ�F‰F‹HˆØ�V‰V‹XˆÜ—‘ˆˆ1‰à*ò 	/ˆDÜ˜!˜Q TÔ*ˆBÜ˜1˜b tÔ,ˆCØ˜Q ˜F a¨ V¨a°¨VÐ$4Ð5ò /�Ü—z‘z $Ó'�Ù˜q›E¡3 q£6�T�Ü—x‘x “~×)Ñ)Ô+Ð+Ð+Ø—y‘y D§J¡JÓ.Ð.Ð.ñ	/ñ	/r3   c                 óÞ   — t        j                  d«      t         j                  z  }t        j                  d«      }t	        t
        «      5  t        ||d¬«       d d d «       y # 1 sw Y   y xY w)Nr=   ra   rd   )rC   rl   r    rD   r'   rm   r   )r)   r+   r*   s      r-   Útest_all_nanszTestInterp1D.test_all_nans  sN   € ä�G‰G�B‹Kœ"Ÿ&™&Ñ ˆÜ�I‰I�b‹MˆÜœ:Ó&ñ 	)Ü�Q˜ Õ(÷	)÷ 	)ñ 	)úó   ÁA#Á#A,c                 óf  — t        j                  dd«      }t        j                  | dz  «      }t        j                  ddd«      }dD ]f  }||j                  _        d|j                  _        dD ]=  }t        |||¬	«      } ||«      }t        j                  |«      j                  «       rŒ=J ‚ Œh y )
Nr   r=   rs   rŠ   r7  ©TFF)r^   r[   r]   r_   r`   ra   rd   )rC   rD   r¬   ÚflagsÚ	writeabler   rA  rB  )r)   r+   r*   r´   Úxnew_writeablere   rµ   rD  s           r-   Útest_read_onlyzTestInterp1D.test_read_only  s¢   € Ü�I‰I�a˜ÓˆÜ�F‰F�A�2˜‘8ÓˆÜ�y‰y˜˜A˜sÓ#ˆà+ò 	/ˆNØ#1ˆD�J‰JÔ Ø %ˆA�G‰GÔð"ò /�ä˜Q ¨Ô-�Ù˜“w�Ü—{‘{ 4Ó(×,Ñ,Õ.Ð.Ð.ñ	/ñ	/r3   re   )r^   r[   r\   rb   rc   c                 óø   — t        dgdg|dd¬«      }t         |g d¢«      t        j                  g d¢«      «       t        dgdg|d¬	«      }t	        t
        d
¬«      5   |d«       d d d «       y # 1 sw Y   y xY w)Nr¸   r  Fr<   )re   rr   rW   )rh   r¸   r%   )r:   r  r=   Tr¥   zx_new is above©Úmatchr:   )r   r   rC   r�   r'   rm   )r)   re   rµ   s      r-   Útest_single_valuezTestInterp1D.test_single_value,  so   € ô
 �c�U˜Q˜C d¸Ø 'ô)ˆä™š+›¬¯
©
²<Ó(@ÔAä�c�U˜Q˜C d¸Ô>ˆÜœ:Ð-=Ô>ñ 	ÙˆcŒF÷	÷ 	ñ 	ús   Á	A0Á0A9N)r^   )+r/   r0   r1   rY   ro   rw   rƒ   r†   r…   r£   r¶   r»   rÁ   rÃ   rØ   rÚ   rÜ   rä   rí   ró   rõ   r  r  r  r  r%  r'  rC   r«   r2  r4  ÚpytestÚmarkÚskipifr   r9  r>  rE  rK  rM  rT  ÚparametrizerX  r2   r3   r-   r5   r5   "   s  „ ò'!òRB9òHDò&Dò4%òHò&+ò*Gò$>òHò*Hò*C&òJC,òJ:ò1ó-ó0=ò2ò_LòB)ò*óFó@1ò'ð $&§=¡=°xó 6ò 5ð ‡[�[×Ñ˜Ð(EÐÓFñó Gðò0ò	+ò/ò$)ò/ð ‡[�[×ÑØÐGóñóñr3   r5   c                   ó   — e Zd Zd„ Zy)ÚTestLagrangec                 óÖ   — t        g d¢«      }t        j                  t        |j                  «      «      } ||«      }t        ||«      }t        |j                  |j                  «       y )N)r9   r%   rh   r  r>   )r   rC   rD   ÚlenÚcoeffsr   r   )r)   ÚpÚxsÚysÚpls        r-   Útest_lagrangezTestLagrange.test_lagrange<  sH   € Ü’;ÓˆÜ�Y‰Y”s˜1Ÿ8™8“}Ó%ˆÙˆr‹UˆÜ�b˜‹_ˆÜ! !§(¡(¨2¯9©9Õ5r3   N)r/   r0   r1   rf  r2   r3   r-   r^  r^  :  s   „ ó6r3   r^  c                   ó<   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
y	)
ÚTestAkima1DInterpolatorc                 óö   — t        j                  dd«      }t        j                  g d¢«      }t        ||«      }t        j                  g d¢«      }t        j                  g d¢«      }t	         ||«      |«       y )Nr;   rè   ©r;   r:   ru   rs   r:   r{   ç      @rk  gš™™™™™@çffffff@rs   ©r;   r&   ru   r¸   r)  ç      @g      @rl  g      @gÍÌÌÌÌÌ@g333333!@gÍÌÌÌÌÌ#@r8   ©r;   g      ö?r:   r¸   g     @ÿ?g     à@gŒ.ºè¢‹@gß^äë@gn ¹ä@gGNBÐ@grcß–÷·@g¦	£ÎI@rs   ©rC   rD   rL   r   r   ©r)   r+   r*   Úakr/  rò   s         r-   Ú	test_evalz!TestAkima1DInterpolator.test_evalE  sc   € Ü�I‰I�b˜#ÓˆÜ�H‰HÒEÓFˆÜ   AÓ&ˆÜ�X‰Xò ó ˆä�X‰Xò ó ˆô
 	™˜2› Õ#r3   c                 óú   — t        j                  dd«      }t        j                  g d¢«      }t        ||d¬«      }t        j                  g d¢«      }t        j                  g d¢«      }t	         ||«      |«       y )Nr;   rè   rj  Úmakima©Úmethodrm  )r;   gFð?ðƒõ?r:   gš™™™™÷?gš™™™™ÿ?g…¶g{¶'@gú>J(j@g?±Ôç§ð@gqÁü@gýÞÀÇð³@gû•Š9~@g­Áøo¢
@rs   rp  rq  s         r-   Útest_eval_modz%TestAkima1DInterpolator.test_eval_modR  sg   € ô �I‰I�b˜#ÓˆÜ�H‰HÒEÓFˆÜ   A¨hÔ7ˆÜ�X‰Xò &ó 'ˆä�X‰Xò 5ó 6ˆô 	™˜2› Õ#r3   c                 ó^  — t        j                  dd«      }t        j                  g d¢«      }t        j                  |d|z  f«      }t	        ||«      }t        j                  g d¢«      }t        j                  g d¢«      }t        j                  |d|z  f«      }t         ||«      |«       y )Nr;   rè   rj  r:   rm  ro  )rC   rD   rL   Úcolumn_stackr   r   rq  s         r-   Útest_eval_2dz$TestAkima1DInterpolator.test_eval_2dc  s�   € Ü�I‰I�b˜#ÓˆÜ�H‰HÒEÓFˆÜ�O‰O˜Q  Q¡˜KÓ(ˆÜ   AÓ&ˆÜ�X‰Xò &ó 'ˆä�X‰Xò 8ó 9ˆô �_‰_˜b " r¡'˜]Ó+ˆÜ™˜2› Õ#r3   c                 ó  — t        j                  dd«      }t        j                  g d¢«      }t        j                  d«      }||d d …ddf<   d|z  |d d …ddf<   d|z  |d d …ddf<   d	|z  |d d …ddf<   t	        ||«      }t        j                  g d
¢«      }t        j                  d«      }t        j                  g d¢«      }||d d …ddf<   d|z  |d d …ddf<   d|z  |d d …ddf<   d	|z  |d d …ddf<   t         ||«      |«       y )Nr;   rè   rj  )r‹   r%   r%   r   r:   rh   rs   r  rm  )é   r%   r%   ro  )rC   rD   rL   Úemptyr   r   )r)   r+   Úy_r*   rr  r/  rò   Úyi_s           r-   Útest_eval_3dz$TestAkima1DInterpolator.test_eval_3dt  s  € Ü�I‰I�b˜#ÓˆÜ�X‰XÒFÓGˆÜ�H‰H�ZÓ ˆØˆŠ!ˆQ�ˆ'‰
Ø˜"‘WˆŠ!ˆQ�ˆ'‰
Ø˜"‘WˆŠ!ˆQ�ˆ'‰
Ø˜"‘WˆŠ!ˆQ�ˆ'‰
Ü   AÓ&ˆÜ�X‰Xò &ó 'ˆä�X‰X�jÓ!ˆÜ�h‰hò 9ó :ˆð ˆŠ1ˆa�ˆ7‰Ø˜3‘hˆŠ1ˆa�ˆ7‰Ø˜3‘hˆŠ1ˆa�ˆ7‰Ø˜3‘hˆŠ1ˆa�ˆ7‰Ü™˜2› Õ#r3   c                 ó,  — t        j                  g d¢«      }t        j                  ||dz  f«      j                  }t	        ||«      }t        j                  ddg«      } ||«      }t        |t        j                  ||dz  f«      j                  «       y )Nr›   r%   r&   r¸   )rC   rL   ÚvstackÚTr   r   )r)   r+   r*   rr  Úx_evalÚy_evals         r-   Ú%test_degenerate_case_multidimensionalz=TestAkima1DInterpolator.test_degenerate_case_multidimensional�  su   € ä�H‰H’YÓˆÜ�I‰I�q˜!˜Q™$�iÓ ×"Ñ"ˆÜ   AÓ&ˆÜ—‘˜3 ˜*Ó%ˆÙ�F“ˆÜ˜¤§	¡	¨6°6¸1±9Ð*=Ó >× @Ñ @ÕAr3   c                 óþ   — t        j                  dd«      }t        j                  g d¢«      }t        ||«      }d}t	        j
                  t        |¬«      5  |j                  d d «       d d d «       y # 1 sw Y   y xY w)Nr;   rè   rj  z9Extending a 1-D Akima interpolator is not yet implementedrV  )rC   rD   rL   r   rY  r   r(   Úextend)r)   r+   r*   rr  rW  s        r-   Útest_extendz#TestAkima1DInterpolator.test_extend–  sd   € Ü�I‰I�b˜#ÓˆÜ�H‰HÒEÓFˆÜ   AÓ&ˆØKˆÜ�]‰]Ô.°eÔ<ñ 	"Ø�I‰I�d˜DÔ!÷	"÷ 	"ñ 	"ús   ÁA3Á3A<c                 óÞ   — t        j                  dd«      }t        j                  g d¢«      }d}t        j                  t
        |¬«      5  t        ||d¬«       d d d «       y # 1 sw Y   y xY w)Nr;   rè   rj  z `method`=invalid is unsupported.rV  Úinvalidrv  )rC   rD   rL   rY  r   r(   r   )r)   r+   r*   rW  s       r-   Útest_mod_invalid_methodz/TestAkima1DInterpolator.test_mod_invalid_methodž  sV   € Ü�I‰I�b˜#ÓˆÜ�H‰HÒEÓFˆØ2ˆÜ�]‰]Ô.°eÔ<ñ 	8Ü  1¨YÕ7÷	8÷ 	8ñ 	8úrN  c                 ó8  — t        j                  ddd«      }|dz  }t        j                  ddd«      }|dz  }t        ||d¬	«      }t        ||d
¬	«      }t        ||d ¬	«      }t         ||«       ||«      d¬«       t	         ||«      dd t        j
                  dt         j                  «      «       t	         ||«      dd t        j
                  dt         j                  «      «       t         ||d¬	«       ||«      d¬«       t        | ||«      d¬«       y )Néûÿÿÿr9   r‹   r%   rù   r=   é   T©rf   Fr˜   r™   r   r  éüÿÿÿrA   r>   )rC   r,  r   r   r   Úfullr    )r)   r+   r*   Úx_extÚy_extÚak_trueÚak_falseÚak_nones           r-   Útest_extrapolate_attrz-TestAkima1DInterpolator.test_extrapolate_attr¥  sæ   € ä�K‰K˜˜A˜rÓ"ˆØˆq‰DˆÜ—‘˜C  RÓ(ˆØ�q‘ˆä% a¨¸Ô=ˆÜ& q¨!¸Ô?ˆÜ% a¨¸Ô=ˆä™ ›©°«¸eÕDÜ™ ›¨¨!Ð,¬b¯g©g°a¼¿¹Ó.@ÔAÜ™ ›¨¨2Ð.´·±¸¼2¿6¹6Ó0BÔCä™ °DÔ9¹7À5»>ÐPUÕVä˜™w u›~°EÖ:r3   N)r/   r0   r1   rs  rx  r{  r�  r‡  rŠ  r�  r™  r2   r3   r-   rh  rh  D  s+   „ ò$ò$ò"$ò"$ò2Bò"ò8ó;r3   rh  rw  c                 óð   — t        j                  dd«      }t        j                  g d¢«      }|d|z  z
  }d}t        j                  t
        |¬«      5   | ||«       d d d «       d„ }y # 1 sw Y   d„ }y xY w)Nr;   rè   rj  y               @zreal valuesrV  c                 ó¨   — t        j                  ddd«      }|dz  }t        j                  ddd«      }t        ||d¬	«      }d
„ }t        d|||«       y )Nr�  r9   r‹   r%   rù   r=   r�  Tr‘  c                 ó   —  ||«       y rÞ   r2   )Ú_rr  r”  s      r-   Ú	worker_fnz9test_complex.<locals>.test_concurrency.<locals>.worker_fnÊ  s	   € Ùˆu�Ir3   )rC   r,  r   r   )r)   r+   r*   r”  rr  rž  s         r-   Útest_concurrencyz&test_complex.<locals>.test_concurrencyÃ  sR   € ä�K‰K˜˜A˜rÓ"ˆØˆq‰DˆÜ—‘˜C  RÓ(ˆÜ   A°4Ô8ˆò	ô 	   I¨r°5Õ9r3   )rC   rD   rL   rY  r   rm   )rw  r+   r*   ÚmsgrŸ  s        r-   r4  r4  ¹  sf   € ô 	�	‰	�"�cÓ€AÜ
�‰ÒAÓB€AØ	ˆBˆq‰D‰€AØ
€CÜ	�‰”z¨Ô	-ñ Ùˆq�!Œ÷ó
:÷ó
:ús   Á
A)Á)A5c                   óB   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zy
)ÚTestPPolyCommonc                 óÆ   — t        j                  ddgddgddgg«      }t        j                  g d¢«      }t        t        t        ||«       t        t        t
        ||«       y )Nrh   r  r%   r9   r>   r  )r   rh   r&   )rC   rL   r'   rm   r   r   )r)   rñ   r+   s      r-   Útest_sort_checkzTestPPolyCommon.test_sort_checkÒ  sM   € Ü�H‰H�q˜!�f˜q !˜f q¨! fÐ-Ó.ˆÜ�H‰H’[Ó!ˆÜ”j¤%¨¨AÔ.Ü”j¤%¨¨AÕ.r3   c                 ól   — t        t        «      5  t        ddgddg«       d d d «       y # 1 sw Y   y xY w)Nrh   r%   r   )r'   rm   r   rX   s    r-   Útest_ctor_czTestPPolyCommon.test_ctor_cØ  s1   € äœ:Ó&ñ 	"Ü�1�a�&˜1˜a˜&Ô!÷	"÷ 	"ñ 	"ús   �*ª3c                 óF  — t         j                  j                  d«       d}t        j                  t         j                  ddt         j                  j                  d«      z  df   «      }dt         j                  j                  |dz   t        |«      dz
  dd«      z  dz
  }t        t        fD ]ñ  } ||d d …d d…f   |d d «      }|j                  |d d …dd …f   |dd  «        ||d d …dd …f   |dd  «      }|j                  |d d …d d…f   |d d «        |||«      }t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       Œó y )	NéÒ  r>   r   r=   r?   r%   rh   rŠ   )rC   ÚrandomÚseedÚuniquerð   Úrandr`  r   r   r‰  r   rñ   r+   )r)   Úorderr+   rñ   ÚclsÚppÚpp2Úpp3s           r-   rŠ  zTestPPolyCommon.test_extendÝ  sS  € ä
�	‰	�‰�tÔàˆÜ�I‰I”b—e‘e˜A˜r¤B§I¡I§N¡N°2Ó$6Ñ6¸Ð:Ñ;Ó<ˆØŒb�i‰i�n‰n˜U 1™W¤c¨!£f¨Q¡h°°1Ó5Ñ5¸Ñ9ˆäœ5�>ò 	*ˆCÙ�Q’q˜˜!˜�t‘W˜a  ˜fÓ%ˆBØ�I‰I�aš˜!™"˜‘g˜q  ˜vÔ&á�aš˜2™3˜‘i  2 3 Ó(ˆCØ�J‰J�qš˜C˜R˜C˜‘y ! C R &Ô)á�a˜“)ˆCä˜BŸD™D #§%¡%Ô(Ü˜BŸD™D #§%¡%Ô(Ü˜CŸE™E 3§5¡5Ô)Ü˜CŸE™E 3§5¡5Õ)ñ	*r3   c                 ó`  — t         j                  j                  d«       t        j                  ddd«      }t         j                  j	                  dd«      }t        j                  ddd«      }t         j                  j	                  dd«      }t
        t        fD ]’  } |||«      } |||«      } |||«      }|j                  ||dd  «       t        j                  dddd	¬
«      }	t        j                  ddd«      }
t         ||	«       ||	«      «       t         ||
«       ||
«      «       Œ” y )Nr¨  r   rh   r  r%   r9   r  rû   F)Úendpoint)	rC   r©  rª  r,  r¬  r   r   r‰  r   )r)   r+   rñ   rJ   Úc2r®  Úpp1r°  Úpp_combÚxi1Úxi2s              r-   Útest_extend_diff_ordersz'TestPPolyCommon.test_extend_diff_ordersó  sò   € ä
�	‰	�‰�tÔä�K‰K˜˜1˜aÓ ˆÜ�I‰I�N‰N˜1˜aÓ ˆä�[‰[˜˜A˜qÓ!ˆÜ�Y‰Y�^‰^˜A˜qÓ!ˆäœ5�>ò 	4ˆCÙ�a˜“)ˆCÙ�b˜"“+ˆCá˜!˜Q“iˆGØ�N‰N˜2˜r ! "˜vÔ&ô —+‘+˜a  C°%Ô8ˆCÜ—+‘+˜a  CÓ(ˆCä™C ›H¡g¨c£lÔ3Ü™C ›H¡g¨c£lÕ3ñ	4r3   c                 ó  — t         j                  j                  d«       d}t        j                  t         j                  j	                  ddd«      «      }t         j                  j                  |dz   |j                  d   dz
  dd«      }t        t        fD ]ñ  } |||«      } ||d d …d d…f   |d d «      }|j                  |d d …dd …f   |dd  «        ||d d …dd …f   |dd  «      }|j                  |d d …d d…f   |d d «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       Œó y )Nr   r>   r=   é   rh   r%   rŠ   )rC   r©  rª  ÚsortÚuniformr¬  r  r   r   r‰  r   rñ   r+   )r)   r­  r+   rñ   r®  rb  Úp1Úp2s           r-   Útest_extend_descendingz&TestPPolyCommon.test_extend_descending  s>  € Ü
�	‰	�‰�qÔàˆÜ�G‰G”B—I‘I×%Ñ% a¨¨RÓ0Ó1ˆÜ�I‰I�N‰N˜5 1™9 a§g¡g¨a¡j°1¡n°a¸Ó;ˆäœ5�>ò 	'ˆCÙ�A�q“	ˆAá�Q’q˜"˜1˜"�u‘X˜q  "˜vÓ&ˆBØ�I‰I�aš˜1™2˜‘h  " # Ô'á�Q’q˜"™#�v‘Y  " # Ó'ˆBØ�I‰I�aš˜3˜B˜3˜‘i  3 B Ô(ä˜BŸD™D !§#¡#Ô&Ü˜BŸD™D !§#¡#Ô&Ü˜BŸD™D !§#¡#Ô&Ü˜BŸD™D !§#¡#Õ&ñ	'r3   c           	      óÌ  — t         j                  j                  d«       t         j                  j                  ddddd«      }t        j                  t         j                  j                  d«      «      }t         j                  j                  dd	«      }t
        t        fD ]"  } |||«      } ||«      j                  d
k(  rŒ"J ‚ t
        t        fD ]�  } ||d   |«      }t        j                   |d«      «      dk(  sJ ‚t        j                   |t        j                  d«      «      «      dk(  sJ ‚t        t        |t        j                  ddgdggt        ¬«      «       Œ’ y )Nr¨  r•   rÈ   r9   r  r  r}  r>   r  )r>   r  r9   r  r  ).r   r   r   r&   r2   r7  r8  çš™™™™™Ù?r–   )rC   r©  rª  r¬  r¼  r   r   r  rL   r'   rm   Úobject)r)   rñ   r+   Úxpr®  rb  s         r-   Ú
test_shapezTestPPolyCommon.test_shape!  s  € Ü
�	‰	�‰�tÔÜ�I‰I�N‰N˜1˜b ! Q¨Ó*ˆÜ�G‰G”B—I‘I—N‘N 2Ó&Ó'ˆÜ�Y‰Y�^‰^˜A˜qÓ!ˆÜœ5�>ò 	2ˆCÙ�A�q“	ˆAÙ�R“5—;‘; /Ó1Ð1Ð1ð	2ô
 œ5�>ò 	VˆCÙ�A�l‘O QÓ'ˆAä—8‘8™A˜c›FÓ# rÒ)Ð)Ð)Ü—8‘8™AœbŸh™h s›mÓ,Ó-°Ò3Ð3Ð3äœ* a¬¯©°C¸°:À¸uÐ2EÌVÔ)TÕUñ	Vr3   c                 óD  — t         j                  j                  ddddd«      }t        j                  t         j                  j                  d«      «      }t         j                  j                  dd«      }t        t
        fD ]  } |||«      }d	„ }t        d
|||«       Œ y )Nr•   rÈ   r9   r  r  r}  r>   r  c                 ó   —  ||«       y rÞ   r2   )r�  r  rÄ  s      r-   rž  z3TestPPolyCommon.test_concurrency.<locals>.worker_fn<  s	   € Ù�r•
r3   r=   )rC   r©  r¬  r¼  r   r   r   )r)   rñ   r+   rÄ  r®  r  rž  s          r-   rŸ  z TestPPolyCommon.test_concurrency3  s~   € ä�I‰I�N‰N˜1˜b ! Q¨Ó*ˆÜ�G‰G”B—I‘I—N‘N 2Ó&Ó'ˆÜ�Y‰Y�^‰^˜A˜qÓ!ˆäœ5�>ò 	?ˆCÙ˜˜A“YˆFòô $ B¨	°6¸2Õ>ñ	?r3   c           	      óN  — t         j                  j                  d«       t        j                  t         j                  j                  d«      «      }t         j                  j                  d«      dz  }|j                  |j
                  }}t         j                  j                  d«      }t        t        fD ]l  } |||«       |||«       |||«      }	}}dD ]J  }
t         |||
«      j                   |||
«      «       t         |||
«      j
                   |	||
«      «       ŒL Œn y )Né90  r}  )r•   rÈ   y      ð?333333Ó?r9   r›   )	rC   r©  rª  r¼  r-  r.  r   r   r   )r)   r+   rñ   Úc_reÚc_imrÄ  r®  rb  Úp_reÚp_imÚnus              r-   Útest_complex_coefz!TestPPolyCommon.test_complex_coefB  sâ   € Ü
�	‰	�‰�uÔÜ�G‰G”B—I‘I×$Ñ$ RÓ(Ó)ˆÜ�I‰I×Ñ˜WÓ%¨Ñ3ˆØ—V‘V˜QŸV™VˆdˆÜ�Y‰Y×Ñ˜aÓ ˆÜœ5�>ò 	>ˆCÙ  1›I¡s¨4°£|±S¸¸q³\�TˆtˆAØò >�Ü¡ " b£	§¡±°R¸³Ô=Ü¡ " b£	§¡±°R¸³Õ=ñ>ñ	>r3   c                 óò  — t         j                  j                  d«       t         j                  j                  dddddd«      }|j                  }t         j                  j                  d«      }d	D �]N  }|j                  |d
z      }t        j
                  t         j                  j                  |d
z   «      «      }t        t        fD ]õ  } ||||¬«      }|j                  j                  |||dz    |d | z   ||dz   d  z   k(  sJ ‚ ||«      }	|d | |j                  z   |d|z   d  z   }
|	j                  |
k(  sJ ‚ ||||¬«      j                  «        ||||¬«      j                  d«       ||||¬«      j                  «        ||||¬«      j                  d«      fD ]  }|j                  |j                  k(  rŒJ ‚ Œ÷ �ŒQ dD ]0  }t        t        fD ]  }t        t        |fi t        ||¬«      ¤Ž Œ! Œ2 y )NrÉ  r>   r  r9   r  r  r•   )rh   r%   ©r   rh   r%   r>   rh   rk   r%   )rA   r  r9   r  )rñ   r+   rj   )rC   r©  rª  r¬  r  r¼  r   r   rñ   Ú
derivativeÚantiderivativerj   r'   rm   r‘   )r)   rñ   Úc_srÄ  rj   Úmr+   r®  rb  ÚresÚ
targ_shaper¾  s               r-   Ú	test_axiszTestPPolyCommon.test_axisN  sè  € Ü
�	‰	�‰�uÔÜ�I‰I�N‰N˜1˜a  A q¨!Ó,ˆØ�g‰gˆÜ�Y‰Y×Ñ˜fÓ%ˆØ ó 	-ˆDØ—‘˜˜Q™‘ˆAÜ—‘œŸ	™	Ÿ™ q¨¡sÓ+Ó,ˆAÜœu�~ò -�Ù˜˜1 4Ô(�Ø—s‘s—y‘y C¨¨T°!©VÐ$4°s¸5¸D°zÑ$AÀCÈÈQÉÈÀLÑ$PÒPÐPÐPÙ˜“e�Ø   $˜Z¨"¯(©(Ñ2°S¸¸4¹¸°\ÑA�
Ø—y‘y JÒ.Ð.Ð.ñ ˜q !¨$Ô/×:Ñ:Ó<Ù˜q !¨$Ô/×:Ñ:¸1Ó=Ù˜q !¨$Ô/×>Ñ>Ó@Ù˜q !¨$Ô/×>Ñ>¸qÓAðCò -�Bð Ÿ7™7 a§f¡fÓ,Ð,Ð,ñ	-ò-ð	-ð& "ò 	LˆDÜœu�~ò L�Üœj¨#ÑK´¸¸QÀTÔ1JÓKñLñ	Lr3   N)r/   r0   r1   r¤  r¦  rŠ  r¹  rÀ  rÅ  rŸ  rÏ  rØ  r2   r3   r-   r¢  r¢  Ð  s1   „ ò/ò"ò
*ò,4ò2'ò*Vò$?ò
>óLr3   r¢  c                   óV   — e Zd Z G d„ de«      Z G d„ de«      Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zy
)ÚTestPolySubclassingc                   ó   — e Zd Zy)úTestPolySubclassing.PN©r/   r0   r1   r2   r3   r-   ÚPrÜ  l  ó   „ Ør3   rÞ  c                   ó   — e Zd Zy)úTestPolySubclassing.BNrÝ  r2   r3   r-   ÚBrá  o  rß  r3   râ  c                 ó*  — t         j                  j                  d«       t        j                  t         j                  j                  d«      «      }t         j                  j                  d«      }| j	                  ||«      | j                  ||«      fS )Nr¨  r>   )r  r%   )rC   r©  rª  r¼  rÞ  râ  )r)   r+   rñ   s      r-   Ú_make_polynomialsz%TestPolySubclassing._make_polynomialsr  sb   € Ü
�	‰	�‰�tÔÜ�G‰G”B—I‘I×$Ñ$ QÓ'Ó(ˆÜ�I‰I×Ñ˜VÓ$ˆØ�v‰v�a˜‹|˜TŸV™V A q›\Ð)Ð)r3   c                 óè   — | j                  «       \  }}||fD ]-  }|j                  «       }|j                  |j                  k(  rŒ-J ‚ |j                  «       }|j                  |j                  k(  sJ ‚y rÞ   )rä  rÒ  Ú	__class__rÓ  )r)   r¯  Úbprb  ÚpdÚppas         r-   Útest_derivativez#TestPolySubclassing.test_derivativex  sn   € Ø×'Ñ'Ó)‰ˆˆBØ�b�ò 	/ˆAØ—‘“ˆBØ—;‘; "§,¡,Ó.Ð.Ð.ð	/ð ×ÑÓ!ˆØ�|‰|˜sŸ}™}Ò,Ð,Ñ,r3   c                 ó¦  — t         j                  j                  d«       t        j                  t         j                  dt         j                  j                  d«      df   «      }t         j                  j                  t        |«      «      }t        ||d¬«      }| j                  j                  |«      }|j                  | j                  k(  sJ ‚y )Nr¨  r   r‹   rh   ©r#  )rC   r©  rª  r¼  rð   r¬  r`  r   rÞ  Úfrom_splineræ  )r)   r+   r*   Úsplr¯  s        r-   Útest_from_splinez$TestPolySubclassing.test_from_spline�  s‹   € Ü
�	‰	�‰�tÔÜ�G‰G”B—E‘E˜!œRŸY™YŸ^™^¨BÓ/°Ð2Ñ3Ó4ˆÜ�I‰I�N‰Nœ3˜q›6Ó"ˆä�Q˜˜QÔˆØ�V‰V×Ñ Ó$ˆØ�|‰|˜tŸv™vÒ%Ð%Ñ%r3   c                 ó  — | j                  «       \  }}| j                  j                  |«      }|j                  | j                  k(  sJ ‚| j                  j                  |«      }|j                  | j                  k(  sJ ‚y rÞ   )rä  rÞ  Úfrom_bernstein_basisræ  râ  Úfrom_power_basis)r)   r¯  rç  rµ  Úbp1s        r-   Útest_conversionsz$TestPolySubclassing.test_conversionsŠ  sh   € Ø×'Ñ'Ó)‰ˆˆBà�f‰f×)Ñ)¨"Ó-ˆØ�}‰} §¡Ò&Ð&Ð&à�f‰f×%Ñ% bÓ)ˆØ�}‰} §¡Ò&Ð&Ñ&r3   c                 óŠ   — g d¢}dgdgdgg}| j                   j                  ||«      }|j                  | j                   k(  sJ ‚y )Nr›   rh   r%   r>   )râ  Úfrom_derivativesræ  )r)   r+   r*   rç  s       r-   Útest_from_derivativesz)TestPolySubclassing.test_from_derivatives“  sD   € ÚˆØˆS�1�#˜�sˆOˆØ�V‰V×$Ñ$ Q¨Ó*ˆØ�|‰|˜tŸv™vÒ%Ð%Ñ%r3   N)r/   r0   r1   r   rÞ  r   râ  rä  rê  rï  rô  r÷  r2   r3   r-   rÚ  rÚ  k  s3   „ ôˆEô ôˆEô ò*ò-ò&ò'ó&r3   rÚ  c                   ó´   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)Ú	TestPPolyc                 ó  — t        j                  ddgddgddgg«      }t        j                  g d¢«      }t        ||«      }t         |d«      t        j                  d	«      «       t         |d
«      t        j                  d«      «       y )Nrh   r  r%   r9   r>   r  ©r   r&   rh   ç333333Ó?ç…ëQ¸…@çffffffæ?ç¤p=
×£@©rC   rL   r   r   r�   ©r)   rñ   r+   rb  s       r-   Útest_simplezTestPPoly.test_simple›  sl   € Ü�H‰H�q˜!�f˜q !˜f q¨! fÐ-Ó.ˆÜ�H‰H’[Ó!ˆÜ�!�Q‹KˆÜ™˜#›¤§
¡
Ð+?Ó @ÔAÜ™˜#›¤§
¡
Ð+KÓ LÕMr3   c                 ó¶  — t        j                  ddgddgddgg«      }t        j                  g d¢«      }t        ||d¬	«      }t         |d
«      t        j                  d«      «       t         |d«      t        j                  d«      «       t         |d
d«      t        j                  d«      «       t         |dd«      t        j                  d«      «       y )Nrh   r  r%   r9   r>   r  rû  Úperiodicr‘  gÍÌÌÌÌÌô?rý  ç333333Ó¿rÿ  gÍÌÌÌÌÌ@gffffff@r   r  s       r-   Útest_periodiczTestPPoly.test_periodic¢  s¬   € Ü�H‰H�q˜!�f˜q !˜f q¨! fÐ-Ó.ˆÜ�H‰H’[Ó!ˆÜ�!�Q JÔ/ˆä™˜#›ÜŸ
™
Ð#=Ó>ô	@ä™˜$›ÜŸ
™
Ð#MÓNô	Pô 	™˜#˜q›	¤2§:¡:¨kÓ#:Ô;Ü™˜$ ›
¤B§J¡JÐ/BÓ$CÕDr3   c                 ó|  — t        j                  ddgddgddgg«      }t        j                  g d¢«      }t        j                  g d¢«      }t        ||d	¬
«       dD ]]  }||j                  _        ||j                  _        t        ||«      } ||«      }t        j
                  |«      j                  «       rŒ]J ‚ y )Nrh   r  r%   r9   r>   r  rû  )r   r7  r8  r  r‘  rP  )rC   rL   r   rQ  rR  rA  rB  )r)   rñ   r+   r´   rR  rµ   rD  s          r-   rT  zTestPPoly.test_read_only¯  s¡   € Ü�H‰H�q˜!�f˜q !˜f q¨! fÐ-Ó.ˆÜ�H‰H’[Ó!ˆÜ�x‰xšÓ&ˆÜˆa� 
Õ+à&ò 	+ˆIØ )ˆA�G‰GÔØ )ˆA�G‰GÔÜ�a˜“ˆAÙ�T“7ˆDÜ—;‘;˜tÓ$×(Ñ(Õ*Ð*Ð*ñ	+r3   c           	      óÖ  — d„ }t         j                  j                  d«      }d}dD �]?  }t        j                  |j	                  dd|dz   «      «      }|j	                  dd|dz   |f¬	«      }t        j
                  |«      }|d d d …f   t        j                  |dz   «      d d d
…d f   z  } ||«      }	||z  }
t        j                  |	j                  |
«      }||z  }t        ||d¬«      }t        |d d …d d d
…f   |d d d
…   d¬«      }|j	                  ddd«      }t         ||«       ||«      d¬«       t         ||d«       ||d«      d¬«       |j                  «       }|j                  «       }t         ||«       ||«      d¬«       |j                  «       }|j                  «       }|j	                  ddd«      D ]c  \  }}|j                  ||«      }|j                  ||«      }t        ||d¬«       t         ||«       ||«      z
   ||«       ||«      z
  d¬«       Œe |j                  «       }|j                  «       }t        |t        j                  |«      d¬«       �ŒB y )Nc                 ó´   — t        j                  | dz   «      j                  dd«      }t        j                  | dz   «      }t        ||«      }|d d d…d d d…f   S )Nrh   rA   )rC   rD   rH   r!   )Úpowerr"  Úkrâ  s       r-   Úbinom_matrixz/TestPPoly.test_descending.<locals>.binom_matrix½  sT   € Ü—	‘	˜% !™)Ó$×,Ñ,¨R°Ó3ˆAÜ—	‘	˜% !™)Ó$ˆAÜ�a˜“ˆAØ‘T�r�T™4˜R˜4�Z‘=Ð r3   r   r>   ©r=   r»  r?   r=   rh   rÇ   r%   ©ÚsizerA   Tr‘  rù   r»  rø   ç‚vIhÂ%<=r�   ©r9   r%   çê-�™—q=)rC   r©  ÚRandomStater¼  r½  ÚdiffrD   Údotr„  r   r   rÒ  rÓ  Ú	integrateÚroots)r)   r  Úrngr
  rÕ  r+   ÚcaÚhÚh_powersrâ  ÚcapÚcdpÚcdÚparè  Úx_testÚpa_dÚpd_dÚpa_iÚpd_ir!  r$  Úint_aÚint_dÚroots_dÚroots_as                             r-   Útest_descendingzTestPPoly.test_descending¼  s0  € ò	!ô �i‰i×#Ñ# AÓ&ˆàˆØó %	CˆAÜ—‘˜Ÿ™ A r¨1¨q©5Ó1Ó2ˆAØ—‘˜R ¨%°!©)°Q¨�Ó8ˆBä—‘˜“
ˆAØ˜šq˜‘z¤R§Y¡Y¨u°q©yÓ%9¹$¸B¸$À¸*Ñ%EÑEˆHÙ˜UÓ#ˆAØ�x‘-ˆCÜ—&‘&˜Ÿ™˜cÓ"ˆCØ�x‘ˆBä�r˜1¨$Ô/ˆBÜ�rš!™T˜r˜T˜'‘{ A¡d¨ d¡G¸Ô>ˆBà—[‘[  b¨#Ó.ˆFÜ™B˜v›J©¨6«
¸Õ?Ü™B˜v q›M©2¨f°a«=¸uÕEà—=‘=“?ˆDØ—=‘=“?ˆDä™D ›L©$¨v«,¸UÕCð
 ×$Ñ$Ó&ˆDØ×$Ñ$Ó&ˆDØŸ™ C¨¨VÓ4ò ,‘��1ØŸ™ Q¨Ó*�ØŸ™ Q¨Ó*�Ü  u°5Õ9Ü¡ Q£©$¨q«'Ñ 1±4¸³7¹TÀ!»WÑ3DØ%*ö,ð	,ð —h‘h“jˆGØ—h‘h“jˆGÜ˜G¤R§W¡W¨WÓ%5¸E×BñK%	Cr3   c                 ó¢  — t         j                  j                  ddddd«      }t        j                  g d¢«      }t	        ||«      }|j
                  j                  |j                  k(  sJ ‚|j                  j                  |j                  k(  sJ ‚ |d«      j                  |j                  dd  k(  sJ ‚ |t         j                  j                  dd«      «      j                  d|j                  dd  z   k(  sJ ‚|j                  «       }|j                  j                  d	k(  sJ ‚|j                  «       }|j                  j                  d
k(  sJ ‚y )Nr  r%   rh   r>   rû  rü  r9   ©r9   r  ©r9   r%   rh   r%   r>   )r  r%   rh   r%   r>   )
rC   r©  r¬  rL   r   r+   r  rñ   rÒ  rÓ  )r)   rñ   r+   rb  ÚdpÚips         r-   Útest_multi_shapezTestPPoly.test_multi_shapeí  s  € Ü�I‰I�N‰N˜1˜a  A qÓ)ˆÜ�H‰H’[Ó!ˆÜ�!�Q‹KˆØ�s‰s�y‰y˜AŸG™GÒ#Ð#Ð#Ø�s‰s�y‰y˜AŸG™GÒ#Ð#Ð#Ù�‹v�|‰|˜qŸw™w q r˜{Ò*Ð*Ð*á”—‘—‘  1Ó%Ó&×,Ñ,°¸¿¹ÀÀ¸Ñ0DÒDÐDÐDà�\‰\‹^ˆØ�t‰t�z‰z˜_Ò,Ð,Ð,Ø×ÑÓˆØ�t‰t�z‰z˜_Ò,Ð,Ñ,r3   c                 óx  — t         j                  j                  d«       t        j                  ddgddgddggt        ¬«      }t        j                  g d	¢«      }t        j                  ||«      }t         |d
«      t        j                  d«      «       t         |d«      t        j                  d«      «       y )Nr¨  rh   r  r%   r9   r>   r  r–   rû  rü  rý  rþ  rÿ  )	rC   r©  rª  rL   r@  r   Úconstruct_fastr   r�   r  s       r-   Útest_construct_fastzTestPPoly.test_construct_fastü  s…   € Ü
�	‰	�‰�tÔÜ�H‰H�q˜!�f˜q !˜f q¨! fÐ-´UÔ;ˆÜ�H‰H’[Ó!ˆÜ× Ñ   AÓ&ˆÜ™˜#›¤§
¡
Ð+?Ó @ÔAÜ™˜#›¤§
¡
Ð+KÓ LÕMr3   c                 ó´  — t         j                  j                  d«      }|j                  ddd«      }t        j                  t         j
                  d|j                  d«      df   «      }t        ||«      }t         j
                  d   }t        |||«      }t         ||«      |«       t        |d d …d d …df   ||«      }t         ||«      d d …df   |«       y )	Nr¨  r>   rÈ   é   r   r‹   rh   )rü  r&   g…ëQ¸Õ?ç333333ã?)
rC   r©  r  r¬  r¼  rð   r   Ú_ppoly_eval_1r   Ú_ppoly_eval_2)r)   r  rñ   r+   rb  rÄ  Úexpecteds          r-   Ú#test_vs_alternative_implementationsz-TestPPoly.test_vs_alternative_implementations  s²   € Ü�i‰i×#Ñ# DÓ)ˆØ�H‰H�Q˜˜BÓˆÜ�G‰G”B—E‘E˜!˜SŸX™X b›\¨1Ð,Ñ-Ó.ˆä�!�Q‹Kˆä�U‰UÐ&Ñ'ˆÜ   A rÓ*ˆÜ™˜"›˜xÔ(ä  ¢1¢Q q 5¡¨1¨bÓ1ˆÜ™˜"›ša ˜d™ XÕ.r3   c                 ó”  — t         j                  j                  d«      }t        j                  t         j                  d|j                  d«      df   «      }|j                  t        |«      «      }t        ||d¬«      }t        j                  |«      }t        j                  ddd«      }t         ||«      t        ||«      «       t        |Ž }t        j                  |«      }t         ||«       ||«      «       |\  }	}
}dD ]A  }t        |	|
||¬«      }t        j                  |«      }|j                  |j                  k(  rŒAJ ‚ y )	Nr¨  r   r‹   rh   rì  rú   )NTFr‘  )rC   r©  r  r¼  rð   r¬  r`  r   r   rí  r,  r   r   r   rf   )r)   r  r+   r*   rî  r¯  r/  r$  ÚpppÚtrñ   r  Úextraprb  s                 r-   rï  zTestPPoly.test_from_spline  s  € Ü�i‰i×#Ñ# DÓ)ˆÜ�G‰G”B—E‘E˜!˜SŸX™X b›\¨1Ð,Ñ-Ó.ˆØ�H‰H”S˜“VÓˆä�Q˜˜QÔˆÜ×Ñ˜sÓ#ˆä�[‰[˜˜A˜sÓ#ˆÜ™˜2›¤ b¨#£Ô/ô �SˆMˆÜ×Ñ Ó"ˆÜ™˜B›¡ 2£Ô'ð ‰ˆˆ1ˆaØ)ò 	2ˆFÜ˜˜1˜a¨VÔ4ˆAÜ×!Ñ! !Ó$ˆAØ—=‘= A§M¡MÓ1Ð1Ð1ñ	2r3   c                 ó>  — t         j                  j                  d«       t        j                  g d¢g«      j                  }t        j                  g d¢g«      j                  }t        j                  ddgg«      j                  }t        j                  ddg«      }t        ||«      }t        ||«      }t        ||«      }t        |j                  «       j                  |j                  «       t        |j                  d«      j                  |j                  «       y )	Nr¨  )r  r>   r%   rh   )rÈ   r  r%   é   r  r   rh   r%   )	rC   r©  rª  rL   r„  r   r   rÒ  rñ   )r)   rñ   ÚdcÚddcr+   r¯  ÚdppÚddpps           r-   Útest_derivative_simplez TestPPoly.test_derivative_simple)  sÃ   € Ü
�	‰	�‰�tÔÜ�H‰H’l�^Ó$×&Ñ&ˆÜ�X‰X’}�oÓ&×(Ñ(ˆÜ�h‰h˜ ˜Ð'Ó(×*Ñ*ˆÜ�H‰H�a˜�VÓˆä�1�a‹[ˆÜ�B˜‹lˆÜ�S˜!‹}ˆä˜Ÿ™›×)Ñ)¨3¯5©5Ô1Ü˜Ÿ™ aÓ(×*Ñ*¨D¯F©FÕ3r3   c           	      ó¸  — t         j                  j                  d«      }t        j                  t         j                  d|j                  d«      df   «      }|j                  t        |«      «      }t        ||d¬«      }t        j                  |«      }t        j                  ddd«      }t        dd«      D ]   }t         |||«      t        |||«      «       Œ" y )Nr¨  r   r‹   rh   rì  rú   r>   )rC   r©  r  r¼  rð   r¬  r`  r   r   rí  r,  r  r   r   ©r)   r  r+   r*   rî  r¯  r/  Údxs           r-   Útest_derivative_evalzTestPPoly.test_derivative_eval7  s¬   € Ü�i‰i×#Ñ# DÓ)ˆÜ�G‰G”B—E‘E˜!˜SŸX™X b›\¨1Ð,Ñ-Ó.ˆØ�H‰H”S˜“VÓˆä�Q˜˜QÔˆÜ×Ñ˜sÓ#ˆä�[‰[˜˜A˜sÓ#ˆÜ˜˜1“+ò 	<ˆBÜ™B˜r 2›J¬¨b°#°rÓ(:Õ;ñ	<r3   c                 óÚ  — t         j                  j                  d«      }t        j                  t         j                  d|j                  d«      df   «      }|j                  t        |«      «      }t        ||dd¬«      }t        j                  |«      }t        j                  ddd«      }t        dd«      D ]0  }t         |||«       |j                  |«      |«      d	|fz  ¬
«       Œ2 y )Nr¨  r   r‹   rh   r9   ©r#  r  rú   r=   zdx=%dr  )rC   r©  r  r¼  rð   r¬  r`  r   r   rí  r,  r  r   rÒ  rF  s           r-   rê  zTestPPoly.test_derivativeC  sÁ   € Ü�i‰i×#Ñ# DÓ)ˆÜ�G‰G”B—E‘E˜!˜SŸX™X b›\¨1Ð,Ñ-Ó.ˆØ�H‰H”S˜“VÓˆä�Q˜˜Q !Ô$ˆÜ×Ñ˜sÓ#ˆä�[‰[˜˜A˜sÓ#ˆÜ˜˜2“,ò 	5ˆBÜ™B˜r 2›JÐ(9¨¯©°bÓ(9¸"Ó(=Ø$+¨r¨e¡Oö5ñ	5r3   c                 ó  — t        dggddg«      }t        |j                  «       j                  t        dgdggddg«      j                  «       t        |j                  «       j                  t        dgdggddg«      j                  «       y )Nru   r   rh   )r   r   rÓ  rñ   r+   )r)   rb  s     r-   Útest_antiderivative_of_constantz)TestPPoly.test_antiderivative_of_constantP  sz   € ä�B�4�&˜1˜a˜&Ó!ˆÜ˜×(Ñ(Ó*×,Ñ,¬e°a°S¸1¸#°JÀÀAÀÓ.G×.IÑ.IÔJÜ˜×(Ñ(Ó*×,Ñ,¬e°a°S¸1¸#°JÀÀAÀÓ.G×.IÑ.IÕJr3   c                 óŽ  — t        ddggg d¢«      }|j                  «       }t        |j                  ddgddgg«       t        |j                  g d¢«       t        |j                  dd«      t        j                  d«      «       t        t        j                   |d«       |d«      z
  «      t        j                  d«      «       y )	Nru   r&   r›   rh   r   )r;   rh   r%   r%   r¸   )	r   rÓ  r   rñ   r+   r   r  rC   r�   )r)   rb  Úqs      r-   Ú#test_antiderivative_regression_4355z-TestPPoly.test_antiderivative_regression_4355V  s’   € ä�B˜�9�+šyÓ)ˆØ×ÑÓˆÜ˜Ÿ™˜q #˜h¨¨A¨Ð/Ô0Ü˜Ÿ™š[Ô)Ü˜Ÿ™ A qÓ)¬2¯:©:°c«?Ô;ÜœŸ
™
¡1 Q£4©!¨A«$¡;Ó/ÜŸ
™
 3›õ	)r3   c                 óð  — t         j                  j                  d«       t        j                  g d¢g d¢g«      j                  }t        j                  g d¢g d¢g«      j                  }t        j                  g d¢g d¢g«      j                  }t        j                  g d¢«      }t        ||«      }|j                  «       }|j                  d	«      }|j                  «       }t        |j                  |«       t        |j                  j                  |j                  «       t        |j                  j                  |j                  «       t        |j                  j                  |j                  «       y )
Nr¨  )r>   r%   rh   )r   r   ç      û?)rh   rh   rh   r   )r   r   rQ  ç      Õ?)ç      Ð?gUUUUUUÕ?r&   r   r   )r   r   g      ë?rR  g«ªªªª*£?)r   rS  rh   r%   )
rC   r©  rª  rL   r„  r   rÓ  r   r+   rñ   )	r)   rñ   ÚicÚiicr+   r¯  ÚippÚiippÚiipp2s	            r-   Útest_antiderivative_simplez$TestPPoly.test_antiderivative_simple`  s  € Ü
�	‰	�‰�tÔô �H‰H’i¢Ð0Ó1×3Ñ3ˆô �X‰X’|Ò%=Ð>Ó?×AÑAˆô �h‰hÒ-ÚHðJó KßKLÉ1ð 	ä�H‰H’\Ó"ˆä�1�a‹[ˆØ×ÑÓ!ˆØ× Ñ  Ó#ˆØ×"Ñ"Ó$ˆä˜Ÿ™˜qÔ!Ü˜Ÿ™Ÿ™ §¡Ô&Ü˜Ÿ™Ÿ™ #§%¡%Ô(Ü˜Ÿ™Ÿ	™	 3§5¡5Õ)r3   c           
      óˆ  — t         j                  j                  d«      }t        j                  ddd«      dz  }|j	                  t        |«      «      }t        ||dd¬«      }t        j                  |«      }t        dd«      D ]¼  }|j                  |«      }|j                  |«      }t        |j                  |j                  «       t        |«      D ]j  }	|j                  |	«      }d	}
|
|j                  d d
 z  d|
z
  |j                  dd  z  z   }t         ||j                  dd  «       ||«      dd||	fz  ¬«       Œl Œ¾ y )Nr¨  r   rh   r?   r%   r9   rJ  r=   r  rA   r¦   z
dx=%d k=%d)rŽ   r©   )rC   r©  r  r,  r¬  r`  r   r   rí  r  rÓ  rÒ  r   rñ   r+   )r)   r  r+   r*   rî  r¯  rG  rV  r°  r  Úrr³  s               r-   Ú!test_antiderivative_vs_derivativez+TestPPoly.test_antiderivative_vs_derivativex  s*  € Ü�i‰i×#Ñ# DÓ)ˆÜ�K‰K˜˜1˜bÓ! 1Ñ$ˆØ�H‰H”S˜“VÓˆÜ�Q˜˜Q !Ô$ˆÜ×Ñ˜sÓ#ˆä˜˜2“,ò 	KˆBØ×#Ñ# BÓ'ˆCð —.‘. Ó$ˆCÜ˜BŸD™D #§%¡%Ô(ô ˜2“Yò K�Ø—n‘n QÓ'�à�Ø˜SŸU™U 3 B˜Z™<¨1¨q©5°#·%±%¸¸°)Ñ*;Ñ;�ä¡ C§E¡E¨!¨" I£±°H³Ø%)°<À2ÀqÀ'Ñ3IöKñKñ	Kr3   c                 óô  — t         j                  j                  d«      }t        j                  t         j                  d|j                  d«      df   «      }|j                  t        |«      «      }t        ||dd¬«      }t        j                  |«      }t        dd«      D ]T  }|j                  |«      }t        ||«      }t        j                  ddd«      }	t         ||	«      t        |	|«      d	¬
«       ŒV y )Nr¨  r   r‹   rh   r9   rJ  r=   rú   r¦   r�   )rC   r©  r  r¼  rð   r¬  r`  r   r   rí  r  rÓ  r   r,  r   r   )
r)   r  r+   r*   rî  r¯  rG  r°  Úspl2r/  s
             r-   Útest_antiderivative_vs_splinez'TestPPoly.test_antiderivative_vs_spline�  sÊ   € Ü�i‰i×#Ñ# DÓ)ˆÜ�G‰G”B—E‘E˜!˜SŸX™X b›\¨1Ð,Ñ-Ó.ˆØ�H‰H”S˜“VÓˆä�Q˜˜Q !Ô$ˆÜ×Ñ˜sÓ#ˆä˜˜2“,ò 	'ˆBØ×#Ñ# BÓ'ˆCÜ˜c 2Ó&ˆDä—‘˜Q  3Ó'ˆBÜ™C ›G¤U¨2¨t£_Ø!%ö'ñ	'r3   c                 óH  — t        j                  g d¢g d¢g«      j                  }t        j                  g d¢«      }t        ||«      }|j	                  «       }t         |d«       |d«      d¬«       |j                  «       }t        |j                  |j                  «       y )N)r%   rh   r%   r%   )r%   rh   r>   r>   rû  gAíþÿÿß?g_p‰   à?g:Œ0âŽyE>r�   )rC   rL   r„  r   rÓ  r   rÒ  rñ   )r)   rñ   r+   rb  r.  r¿  s         r-   Útest_antiderivative_continuityz(TestPPoly.test_antiderivative_continuity   sw   € Ü�H‰H’l¢LÐ1Ó2×4Ñ4ˆÜ�H‰H’[Ó!ˆä�!�Q‹KˆØ×ÑÓˆô 	™˜:›©¨:«¸TÕBð �]‰]‹_ˆÜ˜Ÿ™˜aŸc™cÕ"r3   c                 óÂ  — t         j                  j                  d«      }t        j                  t         j                  d|j                  d«      df   «      }|j                  t        |«      «      }t        ||dd¬«      }t        j                  |«      }d\  }}|j                  ||«      }|j                  «       }	t        | |	|«       |	|«      z
  d¬	«       t        |t        |||«      d¬	«       d
\  }}|j                  ||d¬«      }t        | |	|«       |	|«      z
  d¬	«       t        j                  |j                  ||d¬«      «      j                  «       sJ ‚y )Nr¨  r   r‹   rh   r9   rJ  )rü  çÍÌÌÌÌÌì?F©Úcheck_0d)r  rc  Tr‘  )rC   r©  r  r¼  rð   r¬  r`  r   r   rí  r  rÓ  r   r   rv   rB  )
r)   r  r+   r*   rî  r¯  r!  r$  ÚigrV  s
             r-   Útest_integratezTestPPoly.test_integrate®  s!  € Ü�i‰i×#Ñ# DÓ)ˆÜ�G‰G”B—E‘E˜!˜SŸX™X b›\¨1Ð,Ñ-Ó.ˆØ�H‰H”S˜“VÓˆä�Q˜˜Q !Ô$ˆÜ×Ñ˜sÓ#ˆà‰ˆˆ1Ø�\‰\˜!˜QÓˆà×ÑÓ!ˆÜ˜™C ›F¡S¨£V™O°eÕ<Ü˜œF 1 a¨Ó-¸Õ>à‰ˆˆ1Ø�\‰\˜!˜Q¨Dˆ\Ó1ˆÜ˜™C ›F¡S¨£V™O°eÕ<ä�x‰x˜Ÿ™ Q¨°u˜Ó=Ó>×BÑBÔDÐDÑDr3   c                 ó*  — t        j                  g d¢«      }t        j                  ddgddgddgddgg«      }dD ]V  }||j                  _        t	        ||«      }|j                  dd	«      }t        j                  |«      j                  «       rŒVJ ‚ y )
N©rh   r%   r  r;   r‰   r:   ç       €ru   rP  rh   r  )rC   rL   rQ  rR  r   r  rA  rB  )r)   r+   rñ   rR  rÞ  rD  s         r-   Útest_integrate_readonlyz!TestPPoly.test_integrate_readonlyÃ  sˆ   € Ü�H‰H’YÓˆÜ�H‰H�r˜2�h  c 
¨R°¨I¸¸B°xÐ@ÓAˆà&ò 	+ˆIØ )ˆA�G‰GÔä�a˜“ˆAØ—;‘;˜q !Ó$ˆDä—;‘;˜tÓ$×(Ñ(Õ*Ð*Ð*ñ	+r3   c           	      ó´  — t        j                  g d¢«      }t        j                  ddgddgddgddgg«      }t        ||d¬«      }|j                  «       }t        j                   |d	«       |d
«      z
  «      }t        |j                  d
d	«      |«       t        |j                  dd«      |«       t        |j                  dd«      t        j                  d|z  «      «       t        |j                  dd«      t        j                   |d«       |d«      z
  «      «       t        |j                  dd«      t        j                   |d«       |d
«      z
   |d	«      z    |d«      z
  «      «       t        |j                  dd«      t        j                   |d«       |d
«      z
   |d	«      z    |d«      z
  «      «       t        |j                  dd«      t        j                   |d«       |d
«      z
   |d	«      z    |d«      z
  d	|z  z   «      «       t        |j                  dd«      t        j                   |d«       |d«      z
  «      «       t        |j                  dd«      t        j                   |d«       |d«      z
  «      «       t        |j                  dd«      t        j                   |d«       |d«      z
  d|z  z
  «      «       y ©Nri  r;   r‰   r:   rj  ru   r  r‘  r  rh   rù   iùÿÿÿr’  r%   r¸   r)  rn  r9   g      /@r�  r   rA   r>   i÷ÿÿÿ)rC   rL   r   rÓ  r�   r   r  ©r)   r+   rñ   rÞ  ÚIÚ
period_ints         r-   Útest_integrate_periodicz!TestPPoly.test_integrate_periodicÏ  s@  € Ü�H‰H’YÓˆÜ�H‰H�r˜2�h  c 
¨R°¨I¸¸B°xÐ@ÓAˆä�!�Q JÔ/ˆØ×ÑÓˆä—Z‘Z¡ !£¡q¨£t¡Ó,ˆ
ä˜Ÿ™ A qÓ)¨:Ô6Ü˜Ÿ™ C¨Ó,¨jÔ9Ü˜Ÿ™ C¨Ó,¬b¯j©j¸¸Z¹Ó.HÔIä˜Ÿ™ C¨Ó-ÜŸ
™
¡1 S£6©A¨c«F¡?Ó3ô	5ä˜Ÿ™ C¨Ó+ÜŸ
™
¡1 Q£4©!¨A«$¡;±°1³Ñ#5¹¸#»Ñ#>Ó?ô	Aä˜Ÿ™ H¨fÓ5ÜŸ
™
¡1 Q£4©!¨A«$¡;±°1³Ñ#5¹¸#»Ñ#>Ó?ô	Aä˜Ÿ™ C¨Ó0ÜŸ
™
¡1 Q£4©!¨A«$¡;±°1³Ñ#5¹¸#»Ñ#>ÀÀZÁÑ#OÓPô	Rä˜Ÿ™ A rÓ*ÜŸ
™
¡1 Q£4©!¨A«$¡;Ó/ô	1ä˜Ÿ™ B¨Ó,ÜŸ
™
¡1 Q£4©!¨A«$¡;Ó/ô	1ä˜Ÿ™ A sÓ+ÜŸ
™
¡1 Q£4©!¨A«$¡;°°Z±Ñ#?Ó@õ	Br3   c                 ó  — t        j                  ddd«      dz  }t        j                  d|z  «      }t        ||dd¬«      }t	        j
                  |«      }|j                  «       }||dk\  |d	k  z     }t        |t        |«      d
¬«       y )Nr   rh   r+  r%   r?   r>   rJ  gVçž¯Ò¼g     ð?r˜   r™   )	rC   r,  r
   r   r   rí  r  r   r   )r)   r+   r*   rî  r¯  r[  s         r-   Ú
test_rootszTestPPoly.test_rootsë  s|   € Ü�K‰K˜˜1˜bÓ! 1Ñ$ˆÜ�F‰F�2�a‘4‹Lˆä�Q˜˜Q !Ô$ˆÜ×Ñ˜sÓ#ˆà�H‰H‹JˆØˆq�I‰~ ! y¡.Ñ1Ñ2ˆÜ˜œ6 #›;¨UÖ3r3   c                 óª  — t        j                  ddgddgddgg«      j                  }t        j                  g d¢«      }t        ||«      }t	        |j                  «       ddt         j                  dg«       d}|j                  «       }|dd d …fxx   |z  cc<   t        ||«      }t	        |j                  |«      ddt         j                  dg«       y )	NrA   rS  r   )r   rÂ  r5  ru   rÂ  g333333ë?r:   rh   )	rC   rL   r„  r   r   r  r    rq   Úsolve)r)   rñ   r+   r¯  ÚconstÚc1rµ  s          r-   Útest_roots_idzerozTestPPoly.test_roots_idzeroö  s·   € ô �H‰H�r˜4�j 1 a &¨2¨t¨*Ð5Ó6×8Ñ8ˆÜ�H‰HÒ'Ó(ˆä�1�a‹[ˆÜ˜Ÿ™›
Ø˜s¤B§F¡F¨JÐ7ô	9ð ˆØ�V‰V‹XˆØ
ˆ1Šaˆ4‹�EÑ‹Ü�B˜‹lˆä˜Ÿ	™	 %Ó(Ø˜s¤B§F¡F¨JÐ7õ	9r3   c                 ó`  — dgdgg}ddg}t        ||«      }t        |j                  «       dt        j                  g«       t        |j                  d«      dt        j                  g«       t        |j                  d«      g «       ddgddgg}g d¢}t        ||«      }t        |j                  «       dt        j                  dt        j                  g«       t        |j                  d«      dt        j                  dt        j                  g«       t        |j                  d«      g «       y )Nr   rh   r›   )r   r   r  rC   r    ru  r  s       r-   Útest_roots_all_zerozTestPPoly.test_roots_all_zero	  sß   € àˆS�1�#ˆJˆØ�ˆFˆÜ�!�Q‹KˆÜ˜Ÿ™›	 A¤r§v¡v ;Ô/Ü˜Ÿ™ ›
 Q¬¯© KÔ0Ü˜Ÿ™ ›
 BÔ'à�ˆV�a˜�VÐˆÚˆÜ�!�Q‹KˆÜ˜Ÿ™›	 A¤r§v¡v¨q´"·&±&Ð#9Ô:Ü˜Ÿ™ ›
 Q¬¯©°´2·6±6Ð$:Ô;Ü˜Ÿ™ ›
 BÕ'r3   c                 óR  — t        j                  g d¢g d¢g«      j                  }t        j                  g d¢«      }t        ||«      }t	        |j                  «       t        j                  ddg«      «       t	        |j                  d¬«      t        j                  dg«      «       y )N)rh   r   rA   )rA   r   r   rÒ   g       Àr;   Fr‘  )rC   rL   r„  r   r   r  r�   ©r)   rñ   r+   r¯  s       r-   Útest_roots_repeatedzTestPPoly.test_roots_repeated  ss   € ô
 �H‰H’j¢*Ð-Ó.×0Ñ0ˆÜ�H‰H’ZÓ ˆä�1�a‹[ˆÜ˜Ÿ™›
¤B§J¡J°°c¨{Ó$;Ô<Ü˜Ÿ™¨U˜Ó3´R·Z±ZÀÀÓ5FÕGr3   c                 óÄ  — t        j                  dgdgg«      j                  }t        j                  g d¢«      }t        ||«      }t	        |j                  «       t        j                  dg«      «       t	        |j                  d¬«      t        j                  g «      «       t	        |j                  d«      t        j                  dg«      «       t	        |j                  dd¬«      t        j                  g «      «       t	        |j                  d«      t        j                  g «      «       t	        |j                  dd¬«      t        j                  g «      «       y )Nrh   rA   rû  r&   F)Údiscontinuityr¸   )rC   rL   r„  r   r   r  r�   ru  r|  s       r-   Útest_roots_discontzTestPPoly.test_roots_discont%  sæ   € ä�H‰H�q�c˜B˜4�[Ó!×#Ñ#ˆÜ�H‰H’[Ó!ˆÜ�1�a‹[ˆÜ˜Ÿ™›
¤B§J¡J°¨uÓ$5Ô6Ü˜Ÿ™¨u˜Ó5´r·z±zÀ"³~ÔFô 	˜Ÿ™ ›¤r§z¡z°3°%Ó'8Ô9Ü˜Ÿ™ °E˜Ó:¼B¿J¹JÀr»NÔKä˜Ÿ™ ›¤r§z¡z°"£~Ô6Ü˜Ÿ™ °E˜Ó:¼B¿J¹JÀr»NÕKr3   c                 ó(  — t         j                  j                  d«      }d}dD �]V  }t        dd«      D �]C  }t        j                  t         j
                  dd|j                  d«      z  df   «      }d|j                  |dz   t        |«      dz
  dd	«      z  dz
  }t        ||«      }d|j                  «       fD ]»  }|j                  |d
|¬«      }	t        d«      D ]—  }
t        d	«      D ]‡  }|	|
|f   }|j                  dkD  sŒ||j                  z  } |||¬«      d d …|
|f   } ||d|¬«      d d …|
|f   }d|›dt        |«      › �}t        ||z
  |z  t        j                  d«      d|d
¬«       Œ‰ Œ™ Œ½ �ŒF �ŒY |dkD  sJ t        |«      «       ‚y )Nr¨  r   rP  r»  r=   r?   r%   rh   r>   F)r  rf   r‘  )rÎ  rf   ú(z) r = r;   r¦   )rš   r©   ræ   rø   )rC   r©  r  r  r«  rð   r¬  r`  r   ru  r  Úreprr   r�   )r)   r  Únumrf   r­  r+   rñ   r¯  r*   r[  ÚiÚjÚrrÚvalÚcmpvalr   s                   r-   Útest_roots_randomzTestPPoly.test_roots_random4  s­  € ä�i‰i×#Ñ# DÓ)ˆàˆà(ó 	PˆKÜ˜q "›ó P�Ü—I‘IœbŸe™e A r¨C¯H©H°R«LÑ'8¸"Ð$<Ñ=Ó>�Ø�c—h‘h˜u Q™w¬¨A«¨q©°!°QÓ7Ñ7¸!Ñ;�ä˜1˜a“[�Ø˜SŸZ™Z›\Ð*ò P�AØŸ™ °%À[˜ÓQ�Aä" 1›Xò P˜Ü!& q£ò P˜AØ!" 1 Q 3¡˜BØ!Ÿw™w¨›{à # r§w¡w¡ Ù&(¨¸Ô&EÂaÈÈ!ÀeÑ&L Ù)+¨B°1Ø8Cô*EÚEFÀqÈÀUñ*L à()¨+¨¸¼tÀB»x¸jÐ&I Ü /°°Q±¸&Ñ0@Ä"Ç*Á*ÈSÃ/Ø59Ø8;Èö!PñPñPòPòPð	Pð0 �SŠyÐ#œ$˜s›)Ó#‰yr3   c           
      ó4  — t         j                  j                  d«      }t        dd«      D �]]  }|j	                  |dd«      }|dk(  r
d|d d …ddf<   d|j                  «       fD �]"  }t        j
                  |j                  t        ¬«      }t        j                  |||«       |dk(  r&t        j                  |«      j                  «       sJ ‚Œk| }d}t        |«      D ]7  }|||d f   ||dz
  |z
  z  z  z  }|t        ||d f   ||dz
  |z
  z  z  «      z  }Œ9 t        j                  d	¬
«      5  ||z  }d d d «       |j                  «       }|t        j                  |«          }t        |t        j                   |«      d¬«       �Œ% �Œ` y # 1 sw Y   ŒZxY w)Nr¨  rh   rÊ   é‚   r>   )rh   r%   rh   r   r–   Úignore)rŒ  g»½×Ùß|Û=r™   )rC   r©  r  r  r¬  r~  r  Úcomplexr   Ú_croots_poly1rv   rB  ÚabsÚerrstateÚravelr   Ú
zeros_like)	r)   r  r  rñ   r*   ÚwrÖ  Úcresr…  s	            r-   Útest_roots_crootszTestPPoly.test_roots_crootsT  sƒ  € ä�i‰i×#Ñ# DÓ)ˆä�q˜"“ó 	EˆAØ—‘˜˜A˜sÓ#ˆAà�AŠvà"�’!�A�a�%‘à˜Ÿ™›Ð&ó E�Ü—H‘H˜QŸW™W¬GÔ4�Ü×$Ñ$ Q¨¨1Ô-à˜’6ÜŸ8™8 A›;Ÿ?™?Ô,Ð,Ð,Øà�b�Ø�Ü˜q›ò 8�AØ˜1˜Q˜t˜V™9 q¨1¨Q©3¨q©5¡zÑ1Ñ1�CØœC  ! D &¡	¨A°°!±°A±©JÑ 6Ó7Ñ7‘Dð8ô —[‘[¨Ô2ñ  Ø˜4‘K�C÷ à—i‘i“k�Øœ2Ÿ8™8 C›=˜.Ñ)�Ü ¤R§]¡]°3Ó%7¸e×Dò#Eñ	E÷( ð  ús   Ä/FÆFc                 óf  — t        j                  g d¢g«      j                  }t        j                  ddg«      }dD �]r  }t        |||¬«      }|j	                  «       }|j                  «       }|du ržt        j                   |ddg«      «      j                  «       sJ ‚t        j                   |ddg«      «      j                  «       sJ ‚t        j                   |ddg«      «      j                  «       sJ ‚|j                  «       dgk(  rŒÒJ ‚t         |ddg«      d	d
g«       t        j                   |ddg«      «      j                  «       rJ ‚t        j                   |ddg«      «      j                  «       rJ ‚t        |j                  «       t        j                  ddg«      «       �Œu y )NrÒ   r   rh   ©TFNr‘  Fçš™™™™™¹¿çš™™™™™ñ?g®Gáz®ï?gèz®GáÊ¿ru   r‰   )rC   rL   r„  r   rÒ  rÓ  rv   rB  r  r   Úanyr�   )r)   rñ   r+   rf   r¯  Úpp_dÚpp_is          r-   r™  zTestPPoly.test_extrapolate_attrr  sg  € ä�H‰H’j�\Ó"×$Ñ$ˆÜ�H‰H�a˜�VÓˆà.ó 	EˆKÜ�q˜!¨Ô5ˆBØ—=‘=“?ˆDØ×$Ñ$Ó&ˆDà˜eÑ#Ü—x‘x¡ D¨# ;£Ó0×4Ñ4Ô6Ð6Ð6Ü—x‘x¡ d¨C [Ó 1Ó2×6Ñ6Ô8Ð8Ð8Ü—x‘x¡ d¨C [Ó 1Ó2×6Ñ6Ô8Ð8Ð8Ø—x‘x“z a SÓ(Ð(Ð(ä¡ D¨# ;£°(¸HÐ1EÔFÜŸ8™8¡D¨$°¨Ó$5Ó6×:Ñ:Ô<Ð<Ð<ÜŸ8™8¡D¨$°¨Ó$5Ó6×:Ñ:Ô<Ð<Ð<Ü §¡£
¬B¯J©J¸¸T°{Ó,CÖDñ	Er3   N)r/   r0   r1   r  r  rT  r)  r/  r2  r9  rï  rD  rH  rê  rL  rO  rY  r\  r_  ra  rg  rk  rq  rs  rx  rz  r}  r€  rŠ  r–  r™  r2   r3   r-   rù  rù  š  sœ   „ òNòEò+ò/Còb-òNò/ò2ò.4ò
<ò5òKò)ò*ò0Kò0'ò #òEò*
+òBò8	4ò9ò&(ò 
HòLò$ò@Eó<Er3   rù  c                   óN   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zy)Ú	TestBPolyc                 óv   — ddg}dgg}t        ||«      }t         |d«      t        j                  d«      «       y )Nr   rh   r>   r7  rs   ©r   r   rC   r�   ©r)   r+   rñ   rç  s       r-   r  zTestBPoly.test_simple‰  s5   € Ø�ˆFˆØˆSˆEˆÜ�1�a‹[ˆÜ™˜3›¤§¡¨B£Õ0r3   c                 óz   — ddg}dgdgg}t        ||«      }t         |d«      t        j                  d«      «       y )Nr   rh   r>   r7  ggfffff@r¡  r¢  s       r-   Útest_simple2zTestBPoly.test_simple2�  s:   € Ø�ˆFˆØˆS�1�#ˆJˆÜ�1�a‹[ˆÜ™˜3›¤§¡¨NÓ!;Õ<r3   c                 ó~   — ddg}dgdgdgg}t        ||«      }t         |d«      t        j                  d«      «       y )Nr   rh   r>   r  r8  g433333@r¡  r¢  s       r-   Útest_simple3zTestBPoly.test_simple3•  sC   € Ø�ˆFˆØˆS�1�#˜�sˆOˆÜ�1�a‹[ˆÜ™˜3›Ü—
‘
ÐDÓEõ	Gr3   c                 ó‚   — ddg}dgdgdgdgg}t        ||«      }t         |d«      t        j                  d«      «       y )Nr   rh   r%   rü  g:ßO�—nð?r¡  r¢  s       r-   Útest_simple4zTestBPoly.test_simple4œ  sK   € Ø�ˆFˆØˆS�1�#˜�s˜Q˜CÐ ˆÜ�1�a‹[ˆÜ™˜3›ÜŸ
™
ð (.ó /õ	
r3   c                 ó†   — ddg}dgdgdgdgdgg}t        ||«      }t         |d«      t        j                  d«      «       y )Nr   rh   r•   r%   rü  g”Ô	h"l@r¡  r¢  s       r-   Útest_simple5zTestBPoly.test_simple5§  sO   € Ø�ˆFˆØˆS�1�#˜�s˜Q˜C ! Ð%ˆÜ�1�a‹[ˆÜ™˜3›ÜŸ
™
ð &(ó )õ	
r3   c                 ój  — g d¢}ddgddgddgg}t        ||d¬«      }t         |d«      t        j                  d«      «       t         |d	«      t        j                  d
«      «       t         |dd«      t        j                  d«      «       t         |d	d«      t        j                  d«      «       y )N©r   rh   r>   r>   r   r%   r  r‘  g333333@gHáz®Gñ?gÍÌÌÌÌÌô¿ç[�Âõ(\Ï?rh   çÌÌÌÌÌÌÀrþ  r¡  r¢  s       r-   r  zTestBPoly.test_periodic³  s�   € ÚˆØ�ˆV�a˜�V˜a ˜VÐ$ˆä�1�a ZÔ0ˆä™˜3›¤§¡¨JÓ!7Ô8Ü™˜4›¤"§*¡*¨^Ó"<Ô=ä™˜3 ›
¤B§J¡J¨xÓ$8Ô9Ü™˜4 ›¤R§Z¡Z°Ó%<Õ=r3   c           	      ó˜  — t         j                  j                  d«      }d}dD �]£  }t        j                  |j	                  dd|dz   «      «      }|j	                  dd|dz   |f¬«      }|d d d	…   j                  «       }t        ||d
¬«      }t        |d d …d d d	…f   |d d d	…   d
¬«      }|j	                  ddd«      }	t         ||	«       ||	«      d¬«       t         ||	d«       ||	d«      d¬«       |j                  «       }
|j                  «       }t         |
|	«       ||	«      d¬«       |j                  «       }|j                  «       }|j	                  ddd«      D ]c  \  }}|j                  ||«      }|j                  ||«      }t        ||d¬«       t         ||«       ||«      z
   ||«       ||«      z
  d¬«       Œe �Œ¦ y )Nr   r>   r  r=   rh   r™  r7  r  rA   Tr‘  rù   r»  rø   r  r�   r  r  )rC   r©  r  r¼  r½  rq   r   r   rÒ  rÓ  r  )r)   r  r
  rÕ  r+   r  r  r  rè  r   r!  r"  r#  r$  r!  r$  r%  r&  s                     r-   r)  zTestBPoly.test_descending¿  s£  € Ü�i‰i×#Ñ# AÓ&ˆàˆØó 	,ˆAÜ—‘˜Ÿ™ A r¨1¨q©5Ó1Ó2ˆAØ—‘˜T 3¨e°a©i¸¨^�Ó<ˆBà‘D�b�D‘—‘“ˆBä�r˜1¨$Ô/ˆBÜ�rš!™T˜r˜T˜'‘{ A¡d¨ d¡G¸Ô>ˆBà—[‘[  b¨#Ó.ˆFÜ™B˜v›J©¨6«
¸Õ?Ü™B˜v q›M©2¨f°a«=¸uÕEà—=‘=“?ˆDØ—=‘=“?ˆDä™D ›L©$¨v«,¸UÕCð
 ×$Ñ$Ó&ˆDØ×$Ñ$Ó&ˆDØŸ™ C¨¨VÓ4ò ,‘��1ØŸ™ Q¨Ó*�ØŸ™ Q¨Ó*�Ü  u°5Õ9Ü¡ Q£©$¨q«'Ñ 1±4¸³7¹TÀ!»WÑ3DØ%*ö,ò	,ñ/	,r3   c                 óR  — t         j                  j                  d«      }|j                  ddddd«      }t        j                  g d¢«      }t        ||«      }|j                  j                  |j                  k(  sJ ‚|j                  j                  |j                  k(  sJ ‚ |d«      j                  |j                  dd  k(  sJ ‚ ||j                  dd«      «      j                  d	|j                  dd  z   k(  sJ ‚|j                  «       }|j                  j                  d
k(  sJ ‚y )Nr¨  r  r%   rh   r>   rû  rü  r9   r+  r,  )
rC   r©  r  r¬  rL   r   r+   r  rñ   rÒ  )r)   r  rñ   r+   rb  r-  s         r-   r/  zTestBPoly.test_multi_shapeá  sì   € Ü�i‰i×#Ñ# DÓ)ˆØ�H‰H�Q˜˜1˜a Ó#ˆÜ�H‰H’[Ó!ˆÜ�!�Q‹KˆØ�s‰s�y‰y˜AŸG™GÒ#Ð#Ð#Ø�s‰s�y‰y˜AŸG™GÒ#Ð#Ð#Ù�‹v�|‰|˜qŸw™w q r˜{Ò*Ð*Ð*Ù�—‘˜!˜Q“Ó ×&Ñ&¨&°1·7±7¸1¸2°;Ñ*>Ò>Ð>Ð>à�\‰\‹^ˆØ�t‰t�z‰z˜_Ò,Ð,Ñ,r3   c           	      óÎ   — ddg}dgdgdgg}t        ||«      }d}|dz  }t         ||«      t        j                  dd|z
  z  d|z
  z  d|z  d|z
  z  z   d|z  |z  z   «      «       y )Nr   r%   r>   rh   r  r7  r¡  )r)   r+   rñ   rç  Úxvalr#  s         r-   Útest_interval_lengthzTestBPoly.test_interval_lengthî  s}   € Ø�ˆFˆØˆS�1�#˜�sˆOˆÜ�1�a‹[ˆØˆØ�1‰HˆÜ™˜4›ÜŸ
™
 1¨¨!©¡9¨a°©c¡?°U¸1±W¸aÀ¹c±]Ñ#BÀQÈÁUÈ1ÁWÑ#LÓMõ	
r3   c                 óÎ   — g d¢}ddgddgddgg}t        ||«      }t         |d«      t        j                  d«      «       t         |d«      t        j                  d«      «       y )	Nr¬  r>   r   r%   rÂ  gGáz®Gñ?ç333333û?r­  r¡  r¢  s       r-   Útest_two_intervalszTestBPoly.test_two_intervalsø  sX   € ÚˆØ�ˆV�a˜�V˜a ˜VÐ$ˆÜ�1�a‹[ˆä™˜3›¤§¡¨KÓ!8Ô9Ü™˜3›¤§¡¨NÓ!;Õ<r3   c                 óð  — ddg}dgdgdgg}t        ||«      }dD ]Ù  }t        |||¬«      }|j                  «       }|du r[t        j                   |d	d
g«      «      j	                  «       sJ ‚t        j                   |d	d
g«      «      j	                  «       rŒ~J ‚t        j                   |d	d
g«      «      j                  «       rJ ‚t        j                   |d	d
g«      «      j                  «       sŒÙJ ‚ y )Nr   r%   r>   rh   r  r˜  r‘  Fr™  gÍÌÌÌÌÌ @)r   rÒ  rC   rv   rB  r›  )r)   r+   rñ   rç  rf   Úbp_ds         r-   r™  zTestBPoly.test_extrapolate_attr   så   € Ø�ˆFˆØˆS�1�#˜�sˆOˆÜ�1�a‹[ˆà.ò 	=ˆKÜ�q˜!¨Ô5ˆBØ—=‘=“?ˆDØ˜eÑ#Ü—x‘x¡ D¨# ;£Ó0×4Ñ4Ô6Ð6Ð6Ü—x‘x¡ d¨C [Ó 1Ó2×6Ñ6Õ8Ð8Ð8äŸ8™8¡B¨¨c {£OÓ4×8Ñ8Ô:Ð:Ð:ÜŸ8™8¡D¨$°¨Ó$5Ó6×:Ñ:Õ<Ð<Ð<ñ	=r3   N)r/   r0   r1   r  r¤  r¦  r¨  rª  r  r)  r/  r³  r¶  r™  r2   r3   r-   rŸ  rŸ  ˆ  s;   „ ò1ò=òGò	
ò

ò
>ò ,òD-ò
ò=ó=r3   rŸ  c                   óN   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zy)ÚTestBPolyCalculusc                 ó&  — g d¢}ddgddgddgg}t        ||«      }|j                  «       }t         |d«      t        j                  d«      «       t         |d«      t        j                  d«      «       t        t        j                  d	D �cg c]  } |d|«      ‘Œ c}«      t        j                  g d
¢«      «       t        t        j                  d	D �cg c]  } |d|«      ‘Œ c}«      t        j                  g d¢«      «       y c c}w c c}w )Nr¬  r>   r   r%   rÂ  r®  rµ  rþ  ©rh   r%   r>   )r®  r{   r;   )rþ  ru   r   )r   rÒ  r   rC   r�   )r)   r+   rñ   rç  Úbp_derrÎ  s         r-   rê  z!TestBPolyCalculus.test_derivative  sÓ   € ÚˆØ�ˆV�a˜�V˜a ˜VÐ$ˆÜ�1�a‹[ˆØ—‘“ˆÜ™˜s›¤R§Z¡Z°Ó%9Ô:Ü™˜s›¤R§Z¡Z°£_Ô5ô 	œŸ
™
¸)Ö#D°B¡B s¨B¥KÒ#DÓEÜŸ
™
Ò#7Ó8ô	
ô 	œŸ
™
¸)Ö#D°B¡B s¨B¥KÒ#DÓEÜŸ
™
¢<Ó0õ	
ùò $Eùò $Es   ÂD	ÃDc                 óÌ  — t         j                  j                  d«      }d\  }}t        j                  |j                  |«      «      }|j                  ||dz
  f«      }t	        ||«      }t        j                  |«      }t        |«      D ]W  }|j                  «       }|j                  «       }t        j                  |d   |d   d«      }	t         ||	«       ||	«      «       ŒY y ©Nr¨  ©r9   r•   rh   r   rA   é   )rC   r©  r  r¼  r   r   rñ  r  rÒ  r,  r   )
r)   r  rÕ  r  r+   rñ   rç  r¯  ÚdrÄ  s
             r-   Útest_derivative_ppolyz'TestBPolyCalculus.test_derivative_ppoly!  s»   € ä�i‰i×#Ñ# DÓ)ˆØ‰ˆˆ1Ü�G‰G�C—J‘J˜q“MÓ"ˆØ�J‰J˜˜1˜Q™3�xÓ ˆÜ�1�a‹[ˆÜ×'Ñ'¨Ó+ˆä�q“ò 	,ˆAØ—‘“ˆBØ—‘“ˆBÜ—‘˜Q˜q™T 1 R¡5¨"Ó-ˆBÜ™B˜r›F¡B r£FÕ+ñ		,r3   c           	      ó¶  — t         j                  j                  d«      }d\  }}t        j                  |j                  |«      «      }|j                  ||dz
  f«      }|j	                  «       |dz  fD ]c  }t        ||«      }t        j                  |d   |d   d«      }t        |«      D ]*  }	t         |||	«       |j                  |	«      |«      «       Œ, Œe y )Nr¨  rÀ  rh   r*  r   rA   rÁ  )
rC   r©  r  r¼  rq   r   r,  r  r   rÒ  )
r)   r  rÕ  r  r+   rñ   Úccrç  rÄ  r…  s
             r-   Útest_deriv_inplacez$TestBPolyCalculus.test_deriv_inplace0  sÈ   € Ü�i‰i×#Ñ# DÓ)ˆØ‰ˆˆ1Ü�G‰G�C—J‘J˜q“MÓ"ˆØ�J‰J˜˜1˜Q™3�xÓ ˆð —6‘6“8˜Q ™\Ð*ò 	AˆBÜ�r˜1“ˆBÜ—‘˜Q˜q™T 1 R¡5¨"Ó-ˆBÜ˜1“Xò A�Ü¡ 2 q£	Ð+;¨2¯=©=¸Ó+;¸BÓ+?Õ@ñAñ	Ar3   c           
      ó  — g d¢}ddgddgg}t        ||«      }|j                  «       }t        j                  ddd«      }t	         ||«      t        j
                  |dk  |dz  dz  d|z  |dz  dz
  z  d	z   «      d
d
¬«       y )Nr¬  r   rh   r>   r‹   r%   r:   r&   g      è?r  ©rš   rŽ   )r   rÓ  rC   r,  r   Úwhere)r)   r+   rñ   rç  ÚbiÚxxs         r-   rY  z,TestBPolyCalculus.test_antiderivative_simple=  s�   € ò ˆØ�ˆV�a˜�VÐˆä�1�a‹[ˆØ×ÑÓ ˆä�[‰[˜˜A˜rÓ"ˆÜ™˜2›ÜŸ™  a¡¨¨Q©°©Ø),¨r©°R¸±U¸Q±YÑ)?À$Ñ)FóHà"¨ö	0r3   c                 ól  — t         j                  j                  d«      }t        j                  |j                  d«      «      }|j                  d«      }t	        ||«      }t        j
                  |d   |d   d«      }t         |j                  «       j                  «       |«       ||«      dd¬«       y )	Nr¨  r‹   ©r  r=   r%   r>   r   rA   rø   r  rÈ  )	rC   r©  r  r¼  r   r,  r   rÓ  rÒ  ©r)   r  r+   rñ   rç  rË  s         r-   Útest_der_antiderz"TestBPolyCalculus.test_der_antiderQ  sŽ   € Ü�i‰i×#Ñ# DÓ)ˆÜ�G‰G�C—J‘J˜r“NÓ#ˆØ�J‰J�}Ó%ˆÜ�1�a‹[ˆä�[‰[˜˜1™˜q ™u cÓ*ˆÜÐ8˜×)Ñ)Ó+×6Ñ6Ó8¸Ó<Ù˜2› U°ö	8r3   c                 óš  — t         j                  j                  d«      }t        j                  |j                  d«      «      }|j                  d«      }t	        ||«      }t        j                  |«      }t        j                  |d   |d   d«      }t         |j                  d«      |«       |j                  d«      |«      dd¬	«       y )
Nr¨  r‹   rÍ  r   rA   r=   r%   r  rÈ  )
rC   r©  r  r¼  r   r   rñ  r,  r   rÓ  )r)   r  r+   rñ   rç  r¯  rË  s          r-   Útest_antider_ppolyz$TestBPolyCalculus.test_antider_ppoly[  s¦   € Ü�i‰i×#Ñ# DÓ)ˆÜ�G‰G�C—J‘J˜r“NÓ#ˆØ�J‰J�}Ó%ˆÜ�1�a‹[ˆÜ×'Ñ'¨Ó+ˆä�[‰[˜˜1™˜q ™u bÓ)ˆäÐ,˜×)Ñ)¨!Ó,¨RÓ0Ø,˜×)Ñ)¨!Ó,¨RÓ0°uÀ5ö	Jr3   c                 ó@  — t         j                  j                  d«      }t        j                  |j                  d«      «      }|j                  d«      }t	        ||«      j                  «       }|j                  dd }t         ||dz
  «       ||dz   «      dd¬«       y )	Nr¨  r‹   ©r  r=   rh   rA   rŒ   r  rÈ  )rC   r©  r  r¼  r   rÓ  r+   r   rÎ  s         r-   Útest_antider_continuousz)TestBPolyCalculus.test_antider_continuousg  s   € Ü�i‰i×#Ñ# DÓ)ˆÜ�G‰G�C—J‘J˜r“NÓ#ˆØ�J‰J�wÓˆÜ�1�a‹[×'Ñ'Ó)ˆà�T‰T�!�BˆZˆÜ™˜2 ™:›Ù˜2 ™:›¨U¸ö	@r3   c                 óN  — t         j                  j                  d«      }t        j                  |j                  d«      «      }|j                  d«      }t	        ||«      }t        j                  |«      }t        |j                  dd«      |j                  dd«      ddd¬«       y )	Nr¨  r‹   rÓ  r   rh   r  F)rš   rŽ   re  )	rC   r©  r  r¼  r   r   rñ  r   r  )r)   r  r+   rñ   rç  r¯  s         r-   rg  z TestBPolyCalculus.test_integrateq  s   € Ü�i‰i×#Ñ# DÓ)ˆÜ�G‰G�C—J‘J˜r“NÓ#ˆØ�J‰J�wÓˆÜ�1�a‹[ˆÜ×'Ñ'¨Ó+ˆÜ˜Ÿ™ Q¨Ó*ØŸ™ Q¨Ó*°¸UÈUö	Tr3   c                 ób  — dgg}ddg}t        ||«      }t        |j                  dd«      t        j                  d«      dd¬«       t        ||d¬«      }t        j
                  |j                  dd«      «      sJ ‚t        |j                  ddd	¬«      t        j                  d«      dd¬«       y )
Nrh   r   r%   r:   rŒ   F)rš   re  r‘  T)r   r   r  rC   r�   rv   )r)   rñ   r+   r$  Úb1s        r-   Útest_integrate_extrapz'TestBPolyCalculus.test_integrate_extrapz  s›   € ØˆSˆEˆØ�ˆFˆÜ�!�Q‹Kˆô 	˜Ÿ™ A qÓ)¬2¯:©:°b«>Ø"¨Uõ	4ô �1�a UÔ+ˆÜ�x‰x˜Ÿ™ Q¨Ó*Ô+Ð+Ð+Ü˜Ÿ™ Q¨°t˜Ó<ÜŸ
™
 2›¨U¸Uö	Dr3   c                 ó„  — t        j                  g d¢«      }t        j                  ddgddgddgddgg«      }t        j                  t	        ||«      d¬«      }|j                  «       } |d	«       |d
«      z
  }t        |j                  d
d	«      |«       t        |j                  dd«      |«       t        |j                  dd«      d|z  «       t        |j                  dd«       |d«       |d«      z
  «       t        |j                  dd«       |d«       |d
«      z
   |d	«      z    |d«      z
  «       t        |j                  dd«       |d«       |d
«      z
   |d	«      z    |d«      z
  «       t        |j                  dd«       |d«       |d
«      z
   |d	«      z    |d«      z
  d	|z  z   «       t        |j                  dd«       |d«       |d«      z
  «       t        |j                  dd«       |d«       |d«      z
  «       t        |j                  dd«       |d«       |d«      z
  d|z  z
  «       y rm  )rC   rL   r   rò  r   rÓ  r   r  rn  s         r-   rq  z)TestBPolyCalculus.test_integrate_periodic‰  sé  € Ü�H‰H’YÓˆÜ�H‰H�r˜2�h  c 
¨R°¨I¸¸B°xÐ@ÓAˆä×"Ñ"¤5¨¨A£;¸JÔGˆØ×ÑÓˆá�q“T™A˜a›D‘[ˆ
ä˜Ÿ™ A qÓ)¨:Ô6Ü˜Ÿ™ C¨Ó,¨jÔ9Ü˜Ÿ™ C¨Ó,¨a°*©nÔ=ä˜Ÿ™ C¨Ó-©q°«v¹¸#»©Ô?Ü˜Ÿ™ C¨Ó+©Q¨q«T±A°a³D©[¹1¸Q»4Ñ-?Á!ÀCÃ&Ñ-HÔIÜ˜Ÿ™ H¨fÓ5Ù˜!›™q ›t™¡a¨£dÑ*©Q¨s«VÑ3ô	5ä˜Ÿ™ C¨Ó0Ù˜!›™q ›t™¡a¨£dÑ*©Q¨s«VÑ3°a¸*±nÑDô	Fô 	˜Ÿ™ A rÓ*©A¨a«D±1°Q³4©KÔ8Ü˜Ÿ™ B¨Ó,©a°«d±Q°q³T©kÔ:Ü˜Ÿ™ A sÓ+©Q¨q«T±A°a³D©[¸1¸z¹>Ñ-IÕJr3   c                 ó<  — dgg}ddg}t        ||«      }t        j                  ddd«      }t         |j	                  d«      |«       |j                  «       |«      dd¬«       t         |j	                  d«      |«       |j                  d«      |«      dd¬«       y )Nrh   r   rÁ  rA   r  rÈ  )r   rC   r,  r   rÒ  rÓ  )r)   rñ   r+   r$  rË  s        r-   Útest_antider_negz"TestBPolyCalculus.test_antider_neg¡  s—   € àˆSˆEˆØ�ˆFˆÜ�!�Q‹Kˆä�[‰[˜˜A˜rÓ"ˆäÐ(˜Ÿ™ RÓ(¨Ó,Ð.@¨a×.>Ñ.>Ó.@ÀÓ.DØ"¨õ	0ä˜˜Ÿ™ Q›¨Ó+Ð-A¨Q×-=Ñ-=¸bÓ-AÀ"Ó-EØ"¨ö	0r3   N)r/   r0   r1   rê  rÃ  rÆ  rY  rÏ  rÑ  rÔ  rg  rØ  rq  rÛ  r2   r3   r-   rº  rº    s?   „ ò
ò ,òAò0ò(8ò
Jò@òTòDòKó00r3   rº  c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚTestPolyConversionsc                 óö   — g d¢}ddgddgddgg}t        ||«      }t        j                  |«      }t        j                  |«      }ddg}t	         ||«       ||«      «       t	         ||«       ||«      «       y )	Nr¬  r>   r%   rh   r•   r  r7  çffffffö?)r   r   rò  rñ  r   )r)   r+   rñ   r¯  rç  rµ  rÄ  s          r-   Útest_bp_from_ppz#TestPolyConversions.test_bp_from_pp°  sw   € ÚˆØ�ˆV�a˜�V˜a ˜VÐ$ˆÜ�1�a‹[ˆÜ×#Ñ# BÓ'ˆÜ×(Ñ(¨Ó,ˆà�3ˆZˆÜ™˜2›¡ 2£Ô'Ü™˜2›¡ B£Õ(r3   c                 óÆ  — t         j                  j                  d«      }d\  }}t        j                  |j                  |«      «      }|j                  ||dz
  f«      }t	        ||«      }t        j                  |«      }t	        j                  |«      }t        j                  |d   |d   d«      }	t         ||	«       ||	«      «       t         ||	«       ||	«      «       y r¿  )
rC   r©  r  r¼  r   r   rò  rñ  r,  r   )
r)   r  rÕ  r  r+   rñ   r¯  rç  rµ  rÄ  s
             r-   Útest_bp_from_pp_randomz*TestPolyConversions.test_bp_from_pp_random»  s´   € Ü�i‰i×#Ñ# DÓ)ˆØ‰ˆˆ1Ü�G‰G�C—J‘J˜q“MÓ"ˆØ�J‰J˜˜1˜Q™3�xÓ ˆÜ�1�a‹[ˆÜ×#Ñ# BÓ'ˆÜ×(Ñ(¨Ó,ˆä�[‰[˜˜1™˜q ™u bÓ)ˆÜ™˜2›¡ 2£Ô'Ü™˜2›¡ B£Õ(r3   c                 óö   — g d¢}ddgddgddgg}t        ||«      }t        j                  |«      }t        j                  |«      }ddg}t	         ||«       ||«      «       t	         ||«       ||«      «       y )Nr¬  r>   rh   r  r%   r7  rß  )r   r   rñ  rò  r   )r)   r+   rñ   rç  r¯  ró  rÄ  s          r-   Útest_pp_from_bpz#TestPolyConversions.test_pp_from_bpÈ  sw   € ÚˆØ�ˆV�a˜�V˜a ˜VÐ$ˆÜ�1�a‹[ˆÜ×'Ñ'¨Ó+ˆÜ×$Ñ$ RÓ(ˆà�3ˆZˆÜ™˜2›¡ 2£Ô'Ü™˜2›¡ B£Õ(r3   c                 ó6  — g d¢}ddgddgddgg}t        ||«      }t        t        «      5  t        j                  |«       d d d «       t	        ||«      }t        t        «      5  t	        j
                  |«       d d d «       y # 1 sw Y   ŒCxY w# 1 sw Y   y xY w)Nr¬  r>   rh   r  r%   )r   r'   Ú	TypeErrorrñ  r   rò  )r)   r+   rñ   r¯  rç  s        r-   Útest_broken_conversionsz+TestPolyConversions.test_broken_conversionsÓ  s’   € âˆØ�ˆV�a˜�V˜a ˜VÐ$ˆÜ�1�a‹[ˆÜœ9Ó%ñ 	+Ü×&Ñ& rÔ*÷	+ô �1�a‹[ˆÜœ9Ó%ñ 	'Ü×"Ñ" 2Ô&÷	'ð 	'÷		+ð 	+ú÷	'ð 	'ús   «BÁ$BÂBÂBN)r/   r0   r1   rà  râ  rä  rç  r2   r3   r-   rÝ  rÝ  ¯  s   „ ò	)ò)ò	)ó
'r3   rÝ  c                   ól   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestBPolyFromDerivativesc                 óT   — t        j                  dddgdg«      }t        |ddg«       y )Nr   rh   r%   r>   r:   rs   ©r   Ú_construct_from_derivativesr   )r)   rw  s     r-   Útest_make_poly_1z)TestBPolyFromDerivatives.test_make_poly_1á  s*   € Ü×.Ñ.¨q°!°a°S¸1¸#Ó>ˆÜ˜˜R ˜HÕ%r3   c                 óú   — t        j                  ddddgdg«      }t        |g d¢«       t        j                  ddddgdg«      }t        |g d¢«       t        j                  dddgddg«      }t        |g d¢«       y )Nr   rh   )ru   ru   ru   r%   r>   )r:   rn  ru   )r:   g      à¿ru   rë  ©r)   rw  r´  Úc3s       r-   Útest_make_poly_2z)TestBPolyFromDerivatives.test_make_poly_2å  sx   € Ü×.Ñ.¨q°!°a¸°V¸a¸SÓAˆÜ˜šLÔ)ô ×.Ñ.¨q°!°a¸°V¸a¸SÓAˆÜ˜šNÔ+ô ×.Ñ.¨q°!°a°S¸1¸a¸&ÓAˆÜ˜šNÕ+r3   c                 óü   — t        j                  ddg d¢dg«      }t        |g d¢«       t        j                  dddgg d¢«      }t        |g d¢«       t        j                  ddddgdd	g«      }t        |g d
¢«       y )Nr   rh   r¼  r  )ru   ç«ªªªªªú?g«ªªªªª@r  )r  r%   r>   )ru   gUUUUUU	@g«ªªªªª
@r  r%   r>   )ru   ró  rs   r  rë  rï  s       r-   Útest_make_poly_3z)TestBPolyFromDerivatives.test_make_poly_3ñ  su   € ä×.Ñ.¨q°!²YÀÀÓDˆÜ˜Ò1Ô2ô ×.Ñ.¨q°!°a°Sº)ÓDˆÜ˜Ò2Ô3ô ×.Ñ.¨q°!°a¸°V¸aÀ¸VÓDˆÜ˜Ò.Õ/r3   c                 óÈ  — t         j                  j                  d«      }t         j                  d|j                  d«      f   }t         j                  d|j                  d«      f   }t	        j
                  dd||«      }t	        |d d …d f   ddg«      }t        d«      D ]@  }t         |d«      ||   d¬«       t         |d	«      ||   d¬«       |j                  «       }ŒB y )
NrÉ  r   r9   rh   r  r;   Frd  ru   )	rC   r©  r  rð   r   rì  r  r   rÒ  )r)   r  ÚyaÚybrñ   r¯  r†  s          r-   Útest_make_poly_12z*TestBPolyFromDerivatives.test_make_poly_12þ  sÀ   € Ü�i‰i×#Ñ# EÓ*ˆÜ�U‰U�1�c—j‘j “mÐ#Ñ$ˆÜ�U‰U�1�c—j‘j “mÐ#Ñ$ˆä×-Ñ-¨a°°B¸Ó;ˆÜ�1’Q˜�W‘:  1˜vÓ&ˆÜ�q“ò 	!ˆAÜ™B˜r›F B q¡E°EÕ:Ü™B˜r›F B q¡E°EÕ:Ø—‘“‰Bñ	!r3   c                 ó:  — t         j                  j                  d«      }ddg}d\  }}|j                  |ddddf«      }t        ||«      }t        j                  ||«      }t        ||«      }t        j
                  ddd«      }	t         ||	«       ||	«      «       y )	NrÉ  r   rh   )r•   r9   r%   r>   r  r‹   )rC   r©  r  r   Ú_raise_degreer,  r   )
r)   r  r+   r  rÂ  rñ   rç  rw  ró  rÄ  s
             r-   Útest_raise_degreez*TestBPolyFromDerivatives.test_raise_degree
  sŒ   € Ü�i‰i×#Ñ# EÓ*ˆØ�ˆFˆØ‰ˆˆ1Ø�J‰J˜˜1˜a  A�Ó'ˆÜ�1�a‹[ˆä× Ñ   AÓ&ˆÜ�B˜‹lˆä�[‰[˜˜A˜rÓ"ˆÜ™˜2›¡ B£Õ(r3   c                 óJ   — t        t        t        j                  ddgdg«       y )Nr   rh   ©r'   rm   r   rö  rX   s    r-   Ú
test_xi_yiz#TestBPolyFromDerivatives.test_xi_yi  s   € Ü”j¤%×"8Ñ"8¸1¸a¸&À1À#ÕFr3   c                 ó\   — g d¢}dgdgdgg}t        t        t        j                  ||«       y )N©r   r   rh   r   rý  )r)   r/  rò   s      r-   Útest_coords_orderz*TestBPolyFromDerivatives.test_coords_order  s,   € ÚˆØˆc�A�3˜˜ˆ_ˆÜ”j¤%×"8Ñ"8¸"¸bÕAr3   c                 óJ  — g d¢}ddgdgddgddgg}t        j                  ||«      }|j                  j                  dk(  sJ ‚|j	                  «       }dD ]L  }t         ||«      t        j                  d«      «       t         ||«      t        j                  d«      «       ŒN y )NrÑ  r   )r  r>   )r;   r7  ru   rš  gffffffþ?r:   r)  r;   )r   rö  rñ   r  rÒ  r   rC   r�   )r)   r/  rò   r¯  ÚppdrÄ  s         r-   Ú
test_zerosz#TestBPolyFromDerivatives.test_zeros  s‘   € ÚˆØ�!ˆf�q�c˜A˜q˜6 A q 6Ð*ˆÜ×#Ñ# B¨Ó+ˆØ�t‰t�z‰z˜VÒ#Ð#Ð#à�m‰m‹oˆØ2ò 	6ˆBÜ™B˜r›F¤B§J¡J¨s£OÔ4Ü™C ›G¤R§Z¡Z°£_Õ5ñ	6r3   c                 ó  — t         j                  j                  d«      }t        j                  t	        |dz   «      D �cg c]
  }d|dz  z  ‘Œ c}«      }t	        |dz   «      D �cg c]  }|j                  |«      ‘Œ }}||fS c c}w c c}w )Nr¨  rh   ru   r%   )rC   r©  r  r�   r  )r)   rÕ  r  r  r†  r/  rò   s          r-   Ú_make_random_mkz(TestBPolyFromDerivatives._make_random_mk+  ss   € ä�i‰i×#Ñ# DÓ)ˆÜ�Z‰Z¬E°!°A±#«JÖ7 q˜˜a ™d›Ò7Ó8ˆÜ%*¨1¨Q©3£ZÖ0 ˆc�j‰j˜�mÐ0ˆÐ0Ø�2ˆvˆùò 8ùÚ0s   ¿BÁ%Bc           	      óú   — d\  }}| j                  ||«      \  }}t        j                  ||«      }t        |dz  «      D ]5  }t	         ||«      |D �cg c]  }||   ‘Œ	 c}«       |j                  «       }Œ7 y c c}w )N©r9   rÈ   r%   )r  r   rö  r  r   rÒ  )r)   rÕ  r  r/  rò   r¯  r­  Úyys           r-   Útest_random_12z'TestBPolyFromDerivatives.test_random_122  su   € Ø‰ˆˆ1Ø×%Ñ% a¨Ó+‰ˆˆBÜ×#Ñ# B¨Ó+ˆä˜1˜a™4“[ò 	!ˆEÜ™B˜r›F¸Ö$<°2 R¨£YÒ$<Ô=Ø—‘“‰Bñ	!ùÚ$<s   ÁA8c           	      óŽ   — d\  }}| j                  ||«      \  }}t        t        t        j                  fi t        ||d¬«      ¤Ž y )Nr  r   ©r/  rò   Úorders)r  r'   rm   r   rö  r‘   ©r)   rÕ  r  r/  rò   s        r-   Útest_order_zeroz(TestBPolyFromDerivatives.test_order_zero;  sD   € Ø‰ˆˆ1Ø×%Ñ% a¨Ó+‰ˆˆBÜ”j¤%×"8Ñ"8ñ 	0Ü˜" ¨AÔ.ó	0r3   c           
      óÐ   — d\  }}| j                  ||«      \  }}t        j                  ||d|z  dz
  ¬«       t        t        t        j                  fi t        ||d|z  ¬«      ¤Ž y )Nr  r%   rh   ©r  r  )r  r   rö  r'   rm   r‘   r  s        r-   Útest_orders_too_highz-TestBPolyFromDerivatives.test_orders_too_highA  sb   € Ø‰ˆˆ1Ø×%Ñ% a¨Ó+‰ˆˆBä×Ñ˜r 2¨a°©c°!©eÕ4Ü”j¤%×"8Ñ"8ñ 	2Ü˜" ¨A¨a©CÔ0ó	2r3   c           	      ó‚  — d\  }}| j                  ||«      \  }}d}t        j                  |||¬«      }t        |dz  dz   «      D ]6  }t	         ||dd dz
  «       ||dd dz   «      «       |j                  «       }Œ8 t        j                   ||dd dz
  «       ||dd dz   «      «      rJ ‚d}t        j                  |||¬«      }t        |dz  «      D ]6  }t	         ||dd dz
  «       ||dd dz   «      «       |j                  «       }Œ8 t        j                   ||dd dz
  «       ||dd dz   «      «      rJ ‚y )	Nr  r9   r  r%   rh   rA   r  r  )r  r   rö  r  r   rÒ  rC   Úallclose)r)   rÕ  r  r/  rò   r­  r¯  r†  s           r-   Útest_orders_globalz+TestBPolyFromDerivatives.test_orders_globalI  sc  € Ø‰ˆˆ1Ø×%Ñ% a¨Ó+‰ˆˆBð ˆÜ×#Ñ# B¨°5Ô9ˆä�u˜a‘x ‘zÓ"ò 	!ˆAÜ™B˜r ! B˜x¨%Ñ/Ó0±"°R¸¸"°XÀÑ5EÓ2FÔGØ—‘“‰Bð	!ô —;‘;™r " Q r (¨UÑ"2Ó3±R¸¸1¸R¸À5Ñ8HÓ5IÔJÐJÐJð
 ˆÜ×#Ñ# B¨°5Ô9ˆÜ�u˜a‘x“ò 	!ˆAÜ™B˜r ! B˜x¨%Ñ/Ó0±"°R¸¸"°XÀÑ5EÓ2FÔGØ—‘“‰Bð	!ô —;‘;™r " Q r (¨UÑ"2Ó3±R¸¸1¸R¸À5Ñ8HÓ5IÔJÐJÐJÐJr3   c           	      ó¶  — d\  }}| j                  ||«      \  }}t        |«      D �cg c]  }|dz   ‘Œ	 }}t        |dd «      D ]Ž  \  }}t        j                  |||¬«      }	t        ||   dz  dz   «      D ]0  }
t         |	|dz
  «       |	|dz   «      «       |	j                  «       }	Œ2 t        j                   |	|dz
  «       |	|dz   «      «      sŒŽJ ‚ y c c}w )N)r  rÈ   rh   rA   r  r%   r  )	r  r  r  r   rö  r   rÒ  rC   r  )r)   rÕ  r  r/  rò   Úor  r…  r+   r¯  r†  s              r-   Útest_orders_localz*TestBPolyFromDerivatives.test_orders_locala  sá   € Ø‰ˆˆ1Ø×%Ñ% a¨Ó+‰ˆˆBä!& q£Ö*˜A�!�a“%Ð*ˆÐ*Ü˜b  2˜hÓ'ò 	A‰DˆAˆqÜ×'Ñ'¨¨B°vÔ>ˆBÜ˜6 !™9¨™>¨AÑ-Ó.ò %�Ü¡ 1 u¡9£©r°!°e±)«}Ô=Ø—]‘]“_‘ð%ô —{‘{¡2 a¨%¡i£=±"°Q¸±Y³-Õ@Ð@Ð@ñ	Aùò +s   ¨Cc                 ó>  — t         j                  j                  d«      }d\  }}t        j                  |j                  |dz   «      «      }|j                  |dz   |dddf«      }t	        j
                  ||«      }|j                  j                  d|z  |dddfk(  sJ ‚y )Nr¨  )r  r9   rh   r  r  r•   r%   )rC   r©  r  r¼  r   rö  rñ   r  )r)   r  rÕ  r  r/  rò   r¯  s          r-   Útest_yi_trailing_dimsz.TestBPolyFromDerivatives.test_yi_trailing_dimsm  s�   € Ü�i‰i×#Ñ# DÓ)ˆØ‰ˆˆ1Ü�W‰W�S—Z‘Z  !¡“_Ó%ˆØ�Z‰Z˜˜1™˜a  A qÐ)Ó*ˆÜ×#Ñ# B¨Ó+ˆØ�t‰t�z‰z˜a ™c 1 a¨¨AÐ.Ò.Ð.Ñ.r3   c                 óò  — t        j                  d«      }t        j                  ddgdgdgg|¬«      }t	         |d«      t        j
                  d«      «       t        j                  d«      }t        j                  ddgdgdgg|¬«      }t	         |d«      t        j
                  d«      «       d}t        j                  ddgdgdgg|¬«      }t	         |d«      t        j
                  d«      «       d}y )Nrh   r   r  )rC   Úint32r   rö  r   r�   Úint64)r)   r  rb  s      r-   Útest_gh_5430z%TestBPolyFromDerivatives.test_gh_5430u  sÊ   € ô
 —‘˜!“ˆÜ×"Ñ" A q 6¨Q¨C°!°¨:¸fÔEˆÜ™A˜a›D¤"§*¡*¨Q£-Ô0Ü—‘˜!“ˆÜ×"Ñ" A q 6¨Q¨C°!°¨:¸fÔEˆÜ™A˜a›D¤"§*¡*¨Q£-Ô0Øˆä×"Ñ" A q 6¨Q¨C°!°¨:¸fÔEˆÜ™A˜a›D¤"§*¡*¨Q£-Ô0Ø‰r3   N)r/   r0   r1   rí  rñ  rô  rø  rû  rþ  r  r  r  r
  r  r  r  r  r  r  r2   r3   r-   ré  ré  à  sV   „ ò&ò
,ò0ò
!ò)òGòBò
	6òò!ò0ò2òKò0
Aò/ór3   ré  c                   óz   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zej                  j                  d
„ «       Zy)ÚTestNdPPolyc                 óD  — t         j                  j                  d«      }|j                  dd«      }t        j                  ddd«      }|j                  d«      }t        ||f«      } ||f«      }t        |d d …d d …d f   ||«      j                  «       }t        ||«       y )Nr¨  r  r9   r   rh   r  rú   )	rC   r©  r  r¬  r,  r   r6  r’  r   )r)   r  rñ   r+   r/  rb  Úv1Úv2s           r-   Útest_simple_1dzTestNdPPoly.test_simple_1dˆ  sˆ   € Ü�i‰i×#Ñ# DÓ)ˆà�H‰H�Q˜‹NˆÜ�K‰K˜˜1˜cÓ"ˆà�X‰X�c‹]ˆä�A˜�tÓˆÙ�ˆu‹Xˆä˜1šQšq ˜X™;¨¨2Ó.×4Ñ4Ó6ˆÜ˜˜BÕr3   c           
      óÊ  — t         j                  j                  d«      }|j                  dddd«      }t        j                  ddd«      }t        j                  ddd«      d	z  }|j                  d
«      }|j                  d
«      }t        j
                  t        |«      dg|j                  ¬«      }|j                  t         j                  «       t        j                  |j                  ddd«      ||ft        j                  ddgt         j                  ¬«      t         j                  ||f   t        j                  ddgt         j                  ¬«      d|«       |j!                  «       }t#        |||f||«      }t%        ||«       t'        |||f«      }	dD ]H  }
 |	t         j                  ||f   |
¬«      }t#        |||f|||
¬«      }t%        ||t)        |
«      ¬«       ŒJ y )Nr¨  r  r9   r  r  r   rh   r•   r%   rú   r–   r»  é*   )N©r   r   ©r   rh   )rh   r   )r%   r>   )rŠ   r%   ©rÎ  r  )rC   r©  r  r¬  r,  r~  r`  r—   Úfillr    r   Úevaluate_ndrH   rL   ÚintcÚc_r’  Ú_ppoly2d_evalr   r   rƒ  )r)   r  rñ   r+   r*   r/  rò   r"  r#  rb  rÎ  s              r-   Útest_simple_2dzTestNdPPoly.test_simple_2d–  s…  € Ü�i‰i×#Ñ# DÓ)ˆà�H‰H�Q˜˜1˜aÓ ˆÜ�K‰K˜˜1˜cÓ"ˆÜ�K‰K˜˜1˜cÓ" AÑ%ˆà�X‰X�c‹]ˆØ�X‰X�c‹]ˆä�X‰X”s˜2“w �l¨!¯'©'Ô2ˆØ
�‰”—‘ŒÜ×Ñ˜1Ÿ9™9 S¨#¨qÓ1Ø˜q˜6ÜŸ8™8 Q¨ F´"·'±'Ô:ÜŸ5™5  R ™=ÜŸ8™8 Q¨ F´"·'±'Ô:ØØô	ð �X‰X‹ZˆÜ˜1˜q !˜f b¨"Ó-ˆÜ˜˜BÔä�A˜˜1�vÓˆØ@ò 	6ˆBÙ”2—5‘5˜˜R˜‘= RÔ(ˆBÜ˜q 1 a &¨"¨b°RÔ8ˆBÜ˜B ¬D°«HÖ5ñ	6r3   c           	      ó  — t         j                  j                  d«      }|j                  dddddd«      }t        j                  dd	d«      }t        j                  dd	d«      d
z  }t        j                  dd	d«      dz  }|j                  d«      }|j                  d«      }|j                  d«      }t        ||||f«      }	dD ]:  }
 |	|||f|
¬«      }t        ||||f||||
¬«      }t        ||t        |
«      ¬«       Œ< y )Nr¨  r  r9   r  r  r•   rŠ   r   rh   r%   r=   r>   é(   )N©r   r   r   ©r   rh   r   ©rh   r   r   )r%   r>   r   )r  r   r%   r)  r  )	rC   r©  r  r¬  r,  r   Ú_ppoly3d_evalr   rƒ  )r)   r  rñ   r+   r*   r,   r/  rò   Úzirb  rÎ  r"  r#  s                r-   Útest_simple_3dzTestNdPPoly.test_simple_3d³  sô   € Ü�i‰i×#Ñ# DÓ)ˆà�H‰H�Q˜˜1˜a  AÓ&ˆÜ�K‰K˜˜1˜cÓ"ˆÜ�K‰K˜˜1˜cÓ" AÑ%ˆÜ�K‰K˜˜1˜cÓ" AÑ%ˆà�X‰X�b‹\ˆØ�X‰X�b‹\ˆØ�X‰X�b‹\ˆä�A˜˜1˜a�yÓ!ˆðò 	6ˆBá�B˜˜B�< BÔ'ˆBÜ˜q 1 a¨ )¨R°°R¸BÔ?ˆBÜ˜B ¬D°«HÖ5ñ		6r3   c           
      ó<  — t         j                  j                  d«      }|j                  dddddddd	«      }t        j                  d
dd«      }t        j                  d
dd«      dz  }t        j                  d
dd	«      dz  }t        j                  d
dd«      dz  }|j                  d«      }|j                  d«      }|j                  d«      }	|j                  d«      }
t        |||||f«      } ||||	|
f«      }t        |||||f|||	|
«      }t        ||«       y )Nr¨  r  r9   r  r  r•   rŠ   r=   r‹   r   rh   r%   r>   rÈ   r»  )rC   r©  r  r¬  r,  r   Ú_ppoly4d_evalr   )r)   r  rñ   r+   r*   r,   Úur/  rò   r6  Úuirb  r"  r#  s                 r-   Útest_simple_4dzTestNdPPoly.test_simple_4dÇ  s
  € Ü�i‰i×#Ñ# DÓ)ˆà�H‰H�Q˜˜1˜a  A r¨2Ó.ˆÜ�K‰K˜˜1˜cÓ"ˆÜ�K‰K˜˜1˜cÓ" AÑ%ˆÜ�K‰K˜˜1˜dÓ# QÑ&ˆÜ�K‰K˜˜1˜dÓ# QÑ&ˆà�X‰X�b‹\ˆØ�X‰X�b‹\ˆØ�X‰X�b‹\ˆØ�X‰X�b‹\ˆä�A˜˜1˜a �|Ó$ˆÙ��B˜˜BÐÓ ˆä˜1˜q ! Q¨˜l¨B°°B¸Ó;ˆÜ˜˜BÕr3   c                 óì  — t         j                  j                  d«      }|j                  dd«      }t        j                  ddd«      }t        ||f«      }|j                  dg¬«      }t        ||«      }|j                  «       }t        |j                  |j                  «       |j                  dg¬«      }t        ||«      }|j                  d«      }t        |j                  |j                  «       y )	Nr¨  r  r9   r   rh   r  r)  r%   )rC   r©  r  r¬  r,  r   rÒ  r   r   rñ   rÓ  )r)   r  rñ   r+   rb  r-  r¾  Údp1s           r-   Útest_deriv_1dzTestNdPPoly.test_deriv_1dÛ  sÅ   € Ü�i‰i×#Ñ# DÓ)ˆà�H‰H�Q˜‹NˆÜ�K‰K˜˜1˜cÓ"ˆä�A˜�tÓˆð �\‰\˜a˜Sˆ\Ó!ˆÜ�1�a‹[ˆØ�m‰m‹oˆÜ˜Ÿ™˜cŸe™eÔ$ð ×Ñ ! ÐÓ%ˆÜ�1�a‹[ˆØ×Ñ Ó"ˆÜ˜Ÿ™˜cŸe™eÕ$r3   c                 óö  — t         j                  j                  d«      }|j                  dddddd«      }t        j                  dd	d«      }t        j                  dd	d«      d
z  }t        j                  dd	d«      dz  }t        ||||f«      }t        |j                  ddd	d
dd«      |«      }|j                  d
g¬«      }|j                  d
«      }	t        |j                  |	j                  j                  dd
dd	dd«      «       t        |j                  d	ddd
dd«      |«      }|j                  g d¢¬«      }|j                  d	«      }	t        |j                  |	j                  j                  d
dddd	d«      «       t        |j                  d
ddd	dd«      |«      }|j                  g d¢¬«      }|j                  d«      }	t        |j                  |	j                  j                  d
ddddd	«      «       y )Nr¨  r  r9   r  r  r•   rŠ   r   rh   r%   r=   r>   r)  r3  )r   r   r>   )rC   r©  r  r¬  r,  r   r   Ú	transposerÒ  r   rñ   rÓ  )
r)   r  rñ   r+   r*   r,   rb  r¾  r-  r>  s
             r-   Útest_deriv_3dzTestNdPPoly.test_deriv_3dï  s¼  € Ü�i‰i×#Ñ# DÓ)ˆà�H‰H�Q˜˜1˜a  AÓ&ˆÜ�K‰K˜˜1˜cÓ"ˆÜ�K‰K˜˜1˜cÓ" AÑ%ˆÜ�K‰K˜˜1˜cÓ" AÑ%ˆä�A˜˜1˜a�yÓ!ˆô �1—;‘;˜q ! Q¨¨1¨aÓ0°!Ó4ˆØ�\‰\˜a˜Sˆ\Ó!ˆØ�m‰m˜AÓˆÜ˜Ÿ™ØŸ™Ÿ™¨¨1¨a°°A°qÓ9ô	;ô �1—;‘;˜q ! Q¨¨1¨aÓ0°!Ó4ˆØ×Ñ¢ÐÓ+ˆØ×Ñ Ó"ˆÜ˜Ÿ™ØŸ™Ÿ™¨¨1¨a°°A°qÓ9ô	;ô �1—;‘;˜q ! Q¨¨1¨aÓ0°!Ó4ˆØ�\‰\šYˆ\Ó'ˆØ�m‰m˜AÓˆÜ˜Ÿ™ØŸ™Ÿ™¨¨1¨a°°A°qÓ9õ	;r3   c                 óB  — t         j                  j                  d«      }t        j                  d«      }t        j                  ddd«      dz  }t        j                  ddd«      dz  }t        j                  ddd«      d	z  }t        ||||f«      }|j                  d
«      }|j                  d«      }|j                  d«      }|j                  d«      }	|j                  d«      }
t         |||	|
f«      ||	dz  z  |
dz  z  t        d	«      t        d«      z  z  «       y )Nr¨  )rh   rh   rh   r>   r  r9   r   rh   r  r9   r%   r  r>   )rh   r   r  )r   r%   r   r»  )
rC   r©  r  rl   r,  r   rÓ  r¬  r   r   )r)   r  rñ   r+   r*   r,   rb  r.  r/  rò   r6  s              r-   Útest_deriv_3d_simplez TestNdPPoly.test_deriv_3d_simple	  sÿ   € ä�i‰i×#Ñ# DÓ)ˆä�G‰GÐ&Ó'ˆÜ�K‰K˜˜1˜cÓ" AÑ%ˆÜ�K‰K˜˜1˜cÓ" AÑ%ˆÜ�K‰K˜˜1˜cÓ" AÑ%ˆä�A˜˜1˜a�yÓ!ˆØ×Ñ˜iÓ(ˆØ×Ñ˜yÓ)ˆà�X‰X�b‹\ˆØ�X‰X�b‹\ˆØ�X‰X�b‹\ˆä™˜B  B˜<Ó(Ø˜R ™U™
 R¨¡UÑ*¬e°A«h´u¸Q³xÑ.?Ñ@õ	Br3   c                 ó"  ‡
— t         j                  j                  d«      }|j                  dddd«      }t        j                  ddd«      dz  }t        j                  ddd«      d	z  }|j                  dd	dd
«      }|j                  |j                  d   |j                  d   d«      j                  «       }t        j                  ||d	«       |j                  |j                  «      }|j                  dd	dd
«      }|j                  dd
dd	«      }|j                  |j                  d   |j                  d   d«      j                  «       }t        j                  ||d	«       |j                  |j                  «      }|j                  d	dd
d«      j                  «       }t        |||f«      Š
ddgddgddgddgfD ]P  }‰
j                  |«      }t        ˆ
fd„|t        dd¬«      gd	z  ¬«      \  }}	t        ||dddt!        |«      ¬«       ŒR y )Nr¨  r  r9   é   r�  r   rh   rË   r%   r>   rA   r(  )r   r&   )rü  rþ  )r5  r8  c                 ó   •—  ‰| |f«      S rÞ   r2   )r+   r*   rb  s     €r-   ú<lambda>z/TestNdPPoly.test_integrate_2d.<locals>.<lambda>>	  s   ø€ ©1¨a°¨V«9€ r3   gñhãˆµøä>)ÚepsrelÚepsabs)r“   F)rŽ   rš   re  r©   )rC   r©  r  r¬  r,  rA  rH   r  rq   r   Úfix_continuityr   r  r    r‘   r   rƒ  )r)   r  rñ   r+   r*   ÚcxÚrangesrf  Úig2Úerr2rb  s             @r-   Útest_integrate_2dzTestNdPPoly.test_integrate_2d"	  sä  ø€ Ü�i‰i×#Ñ# DÓ)ˆØ�H‰H�Q˜˜2˜rÓ"ˆÜ�K‰K˜˜1˜dÓ# QÑ&ˆÜ�K‰K˜˜1˜dÓ# QÑ&ˆð �K‰K˜˜1˜a Ó#ˆØ�Y‰Y�q—w‘w˜q‘z 1§7¡7¨1¡:¨rÓ2×7Ñ7Ó9ˆÜ×Ñ˜b ! QÔ'Ø�J‰J�q—w‘wÓˆØ�K‰K˜˜1˜a Ó#ˆØ�K‰K˜˜1˜a Ó#ˆØ�Y‰Y�q—w‘w˜q‘z 1§7¡7¨1¡:¨rÓ2×7Ñ7Ó9ˆÜ×Ñ˜b ! QÔ'Ø�J‰J�q—w‘wÓˆØ�K‰K˜˜1˜a Ó#×(Ñ(Ó*ˆô �A˜˜1�vÓˆà Ð'Ø  &Ð)Ø Ð)Ø" JÐ/ð1ò 		2ˆFð
 —‘˜VÓ$ˆBÜÓ4°fÜ$(°¸TÔ$BÐ#CÀAÑ#EôG‰IˆC�ä˜B ¨$°TÀEÜ$(¨£Lö2ñ		2r3   c           	      óJ  — t         j                  j                  d«      }|j                  dddddd«      }t        j                  dd	d«      d	z  }t        j                  dd	d«      d
z  }t        j                  dd	d«      dz  }t        ||||f«      }|j                  d«      }|j                  d«      }d\  }	}
|j                  |	|
d¬«      }|j                  d«      }t         |||f«       ||
||f«       ||	||f«      z
  «       |j                  |	|
d	¬«      }|j                  d«      }t         |||f«       |||
|f«       |||	|f«      z
  «       |j                  |	|
d
¬«      }|j                  d«      }t         |||f«       ||||
f«       ||||	f«      z
  «       y )Nr¨  r  r9   r  rF  r�  rË   r   rh   r%   rÌ   r>   rú   )r8  rþ  rk   r4  r3  r   )	rC   r©  r  r¬  r,  r   Úintegrate_1drÓ  r   )r)   r  rñ   r+   r*   r,   rb  r:  Úvr!  r$  ÚpxÚpaxÚpyÚpayÚpzÚpazs                    r-   Útest_integrate_1dzTestNdPPoly.test_integrate_1dC	  s—  € Ü�i‰i×#Ñ# DÓ)ˆØ�H‰H�Q˜˜1˜b " bÓ)ˆÜ�K‰K˜˜1˜dÓ# QÑ&ˆÜ�K‰K˜˜1˜dÓ# QÑ&ˆÜ�K‰K˜˜1˜dÓ# QÑ&ˆô �A˜˜1˜a�yÓ!ˆà�H‰H�S‹MˆØ�H‰H�S‹MˆØ‰ˆˆ1à�^‰^˜A˜q qˆ^Ó)ˆØ×Ñ˜yÓ)ˆÜ™˜A˜q˜6›
¡C¨¨A¨q¨	£N±S¸!¸QÀ¸³^Ñ$CÔDà�^‰^˜A˜q qˆ^Ó)ˆØ×Ñ˜yÓ)ˆÜ™˜A˜q˜6›
¡C¨¨A¨q¨	£N±S¸!¸QÀ¸³^Ñ$CÔDà�^‰^˜A˜q qˆ^Ó)ˆØ×Ñ˜yÓ)ˆÜ™˜A˜q˜6›
¡C¨¨A¨q¨	£N±S¸!¸QÀ¸³^Ñ$CÕDr3   c                 ó@  ‡— t         j                  j                  d«      Š‰j                  d¬«      }t        j                  ddd«      }t        j                  ddd«      dz  }t        j                  ddd	«      d
z  }t        ||||f«      }ˆfd„}t        d	||«       y )NrÉ  )r  r9   r  r  r•   rŠ   r  r   rh   r•   rŠ   r%   r=   r>   c                 óˆ   •— ‰j                  d¬«      }‰j                  d¬«      }‰j                  d¬«      } ||||f«       y )Nr1  r  )r½  )r�  rî  r/  rò   r6  r  s        €r-   rž  z/TestNdPPoly.test_concurrency.<locals>.worker_fnh	  sA   ø€ Ø—‘ "�Ó%ˆBØ—‘ "�Ó%ˆBØ—‘ "�Ó%ˆBÙ��R˜�Õr3   )rC   r©  Údefault_rngr½  r,  r   r   )r)   rñ   r+   r*   r,   rb  rž  r  s          @r-   rŸ  zTestNdPPoly.test_concurrency]	  s�   ø€ ä�i‰i×#Ñ# EÓ*ˆà�K‰KÐ/ˆKÓ0ˆÜ�K‰K˜˜1˜cÓ"ˆÜ�K‰K˜˜1˜cÓ" AÑ%ˆÜ�K‰K˜˜1˜cÓ" AÑ%ˆä�A˜˜1˜a�yÓ!ˆô	ô 	   I¨qÕ1r3   N)r/   r0   r1   r$  r/  r7  r<  r?  rB  rD  rP  rZ  rY  rZ  Úthread_unsaferŸ  r2   r3   r-   r   r   ‡  sP   „ ò ò6ò:6ò( ò(%ò(;ò>Bò(2òBEð4 ‡[�[×Ññ2ó ñ2r3   r   c                 ó®  ‡ ‡‡— t        j                  t        |«      ‰ j                  d   f«      }t	        |«      D ]–  \  }}|dk  s|dkD  rt         j
                  ||dd…f<   Œ(t        j                  ||«      dz
  Š||‰   z
  Š|‰   |cxk  r|‰dz      k  sJ ‚ J ‚t        ˆ ˆˆfd„t        ‰ j                  d   «      D «       «      }|||dd…f<   Œ˜ |S )z&Evaluate piecewise polynomial manuallyr%   r   rh   Nc              3   ó^   •K  — | ]$  }‰|‰f   ‰‰j                   d    |z
  dz
  z  z  –— Œ& y­w)r   rh   N)r  )rÿ   r  rñ   rÂ  r†  s     €€€r-   r   z _ppoly_eval_1.<locals>.<genexpr>{	  s;   øè ø€ ò ,Øð �!�A�#‘˜˜QŸW™W Q™Z¨™\¨!™^Ñ,Õ,ñ ,ùs   ƒ*-)	rC   Úzerosr`  r  r  r    ÚsearchsortedÚsumr  )	rñ   r+   ÚxpsrI  r…  rÄ  r[  rÂ  r†  s	   `      @@r-   r6  r6  q	  sÙ   ú€ ä
�(‰(”C˜“H˜aŸg™g a™jÐ)Ó
*€CÜ˜3“ò 	‰ˆˆ2Ø�Š6�R˜!’VÜ—v‘vˆC�’!�‰HØÜ�O‰O˜A˜rÓ" QÑ&ˆØ��1‘‰IˆØ�‰t�rÔ"˜A˜a ™c™FÒ"Ð"Ñ"Ð"Ð"Üõ ,Ü˜qŸw™w q™zÓ*ô,ó ,ˆàˆˆAŠaˆCŠð	ð €Jr3   c                 ó’  — |d   }|d   }| j                   d   }t        j                   |«      }t        j                  |«      }t        j                  |«      }||k\  ||k  z  }	|||	 <   |j	                  |	«      }
t        j
                  ||
«      dz
  }|j                  dt        |«      «      }| }|
|j                  |«      z
  }t        j                  ||¬«      }t        j                  t        t        |
«      «      D �cg c])  }t        j                  ||dd…f   |dd…||   f   «      ‘Œ+ c}«      }|||	<   ||_         |S c c}w )z4Evaluate piecewise polynomial manually (another way)r   rA   rh   )ÚNN)r  rC   r’  Ú
empty_likeÚcompressrb  Úclipr`  ÚtakeÚvanderrL   r  r  )ra  Úbreaksr´   r*  r!  r$  ÚKÚ	saveshaperÖ  ÚmaskrË  Úindxsr¯  r  ÚVr  Úvaluess                    r-   r7  r7  �	  s   € àˆq‰	€AØˆr‰
€AØ�‰�Q‰€Aä—‘˜“€IÜ�8‰8�D‹>€DÜ
�-‰-˜Ó
€CØ�A‰I˜$ !™)Ñ$€DØ€Cˆˆ�JØ	�‰�tÓ	€BÜ�O‰O˜F BÓ'¨Ñ)€EØ�J‰J�qœ#˜f›+Ó&€EØ	€BØ�—‘˜EÓ"Ñ"€DÜ
�	‰	�$˜!Ô€AÜ�X‰XÄÄsÈ2ÃwÃÖP¸A”r—v‘v˜a ¢1 ™g rª!¨U°1©X¨+¡Õ7ÒPÓQ€FØ€Cˆ�IØ€C„IØ€Jùò Qs   Ä.Ec                 ód   — |dk  rt        d«      ‚||kD  ryt        ||z
  dz   |«      | ||z
  z  z  S )z
    d^n (x**y) / dx^n
    r   zinvalid derivative orderrh   )rm   r   )r+   r*   r"  s      r-   Ú_dpowrt  ˜	  sC   € ð 	ˆ1‚uÜÐ3Ó4Ð4Ø	
ˆQŠØä�A˜‘E˜A‘I˜qÓ! A¨¨A©¡JÑ.Ð.r3   c                 óì  — |€d}t        j                  t        |«      f| j                  ¬«      }| j                  dd \  }}t        t        ||«      «      D �]  \  }\  }	}
|d   d   |	cxk  r|d   d   k  rn n|d   d   |
cxk  r|d   d   k  sn t         j                  ||<   ŒQt        j                  |d   |	«      dz
  }t        j                  |d   |
«      dz
  }|	|d   |   z
  }|
|d   |   z
  }d}t        | j                  d   «      D ]Y  }t        | j                  d   «      D ]<  }|| ||z
  dz
  ||z
  dz
  ||f   t        |||d   «      z  t        |||d   «      z  z  }Œ> Œ[ |||<   �Œ |S )z@
    Straightforward evaluation of 2-D piecewise polynomial
    Nr'  r–   r%   r   rA   rh   ©rC   r~  r`  r—   r  r  Úzipr    rb  r  rt  )rñ   rc  r´   ÚynewrÎ  rI  ÚnxÚnyÚjoutr+   r*   Új1Új2Ús1Ús2rˆ  Úk1Úk2s                     r-   r.  r.  ¤	  sž  € ð 
€zØˆä
�(‰(”C˜“I�< q§w¡wÔ
/€Cà�W‰W�R�aˆ[�F€Bˆä!¤# d¨D£/Ó2ó ‰ˆ‰fˆq�!Ø�A‘�q‘˜QÔ+ " Q¡%¨¡)Õ+Ø�A‘�q‘˜QÔ+ " Q¡%¨¡)Ô+ÜŸ™ˆC�‰IØä�_‰_˜R ™U AÓ&¨Ñ*ˆÜ�_‰_˜R ™U AÓ&¨Ñ*ˆà��A‘�r‘‰]ˆØ��A‘�r‘‰]ˆàˆä˜Ÿ™ ™
Ó#ò 	0ˆBÜ˜AŸG™G A™JÓ'ò 0�Ø˜˜"˜R™% ™' " R¡%¨¡'¨"¨RÐ/Ñ0Ü  B¨¨1©Ó.ñ/ä  B¨¨1©Ó.ñ/ñ 0‘ñ0ð	0ð ˆˆD‹	ð)ð, €Jr3   c                 óà  — |€d}t        j                  t        |«      f| j                  ¬«      }| j                  dd \  }}}	t        t        |||«      «      D �]‘  \  }
\  }}}|d   d   |cxk  r|d   d   k  r6n n3|d   d   |cxk  r|d   d   k  rn n|d   d   |cxk  r|d   d   k  sn t         j                  ||
<   Œlt        j                  |d   |«      dz
  }t        j                  |d   |«      dz
  }t        j                  |d   |«      dz
  }||d   |   z
  }||d   |   z
  }||d   |   z
  }d}t        | j                  d   «      D ]�  }t        | j                  d   «      D ]r  }t        | j                  d   «      D ]U  }|| ||z
  dz
  ||z
  dz
  |	|z
  dz
  |||f   t        |||d   «      z  t        |||d   «      z  t        |||d   «      z  z  }ŒW Œt Œ‘ |||
<   �Œ” |S )	z@
    Straightforward evaluation of 3-D piecewise polynomial
    Nr2  r–   r>   r   rA   rh   r%   rv  )rñ   rc  r´   rx  ÚznewrÎ  rI  ry  rz  Únzr{  r+   r*   r,   r|  r}  Új3r~  r  Ús3rˆ  r€  r�  Úk3s                           r-   r5  r5  È	  s+  € ð 
€zØˆä
�(‰(”C˜“I�< q§w¡wÔ
/€Cà—‘˜˜!��J€BˆˆBä$¤S¨¨t°TÓ%:Ó;ó ‰ˆ‰iˆq�!�QØ�A‘�q‘˜QÔ+ " Q¡%¨¡)Õ+Ø�A‘�q‘˜QÔ+ " Q¡%¨¡)Õ+Ø�A‘�q‘˜QÔ+ " Q¡%¨¡)Ô+ÜŸ™ˆC�‰IØä�_‰_˜R ™U AÓ&¨Ñ*ˆÜ�_‰_˜R ™U AÓ&¨Ñ*ˆÜ�_‰_˜R ™U AÓ&¨Ñ*ˆà��A‘�r‘‰]ˆØ��A‘�r‘‰]ˆØ��A‘�r‘‰]ˆàˆÜ˜Ÿ™ ™
Ó#ò 	4ˆBÜ˜AŸG™G A™JÓ'ò 4�Ü §¡¨¡
Ó+ò 4�BØ˜A˜b ™e A™g b¨¡e¨A¡g¨b°©e°A©g°b¸¸BÐ>Ñ?Ü# B¨¨B¨q©EÓ2ñ3ä# B¨¨B¨q©EÓ2ñ3ô $ B¨¨B¨q©EÓ2ñ3ñ 4‘Cñ4ñ4ð	4ð ˆˆD‹	ð1ð4 €Jr3   c                 óÔ  — |€d}t        j                  t        |«      f| j                  ¬«      }| j                  dd \  }}	}
}t        t        ||||«      «      D �]	  \  }\  }}}}|d   d   |cxk  r|d   d   k  rPn nM|d   d   |cxk  r|d   d   k  r6n n3|d   d   |cxk  r|d   d   k  rn n|d	   d   |cxk  r|d	   d   k  sn t         j                  ||<   Œ‡t        j                  |d   |«      dz
  }t        j                  |d   |«      dz
  }t        j                  |d   |«      dz
  }t        j                  |d	   |«      dz
  }||d   |   z
  }||d   |   z
  }||d   |   z
  }||d	   |   z
  }d}t        | j                  d   «      D ]Å  }t        | j                  d   «      D ]¨  }t        | j                  d   «      D ]‹  }t        | j                  d	   «      D ]n  }|| ||z
  dz
  |	|z
  dz
  |
|z
  dz
  ||z
  dz
  ||||f   t        |||d   «      z  t        |||d   «      z  t        |||d   «      z  t        |||d	   «      z  z  }Œp Œ� Œª ŒÇ |||<   �Œ |S )
z@
    Straightforward evaluation of 4-D piecewise polynomial
    N)r   r   r   r   r–   r  r   rA   rh   r%   r>   rv  )rñ   rc  r´   rx  rƒ  ÚunewrÎ  rI  ÚmxÚmyÚmzÚmur{  r+   r*   r,   r:  r|  r}  r…  Új4r~  r  r†  Ús4rˆ  r€  r�  r‡  Úk4s                                 r-   r9  r9  ð	  s¸  € ð 
€zØˆä
�(‰(”C˜“I�< q§w¡wÔ
/€Cà—W‘W˜R˜a�[�N€BˆˆB�ä'¬¨D°$¸¸dÓ(CÓDó Ñˆ‰lˆq�!�Q˜Ø�A‘�q‘˜QÔ+ " Q¡%¨¡)Õ+Ø�A‘�q‘˜QÔ+ " Q¡%¨¡)Õ+Ø�A‘�q‘˜QÔ+ " Q¡%¨¡)Õ+Ø�A‘�q‘˜QÔ+ " Q¡%¨¡)Ô+ÜŸ™ˆC�‰IØä�_‰_˜R ™U AÓ&¨Ñ*ˆÜ�_‰_˜R ™U AÓ&¨Ñ*ˆÜ�_‰_˜R ™U AÓ&¨Ñ*ˆÜ�_‰_˜R ™U AÓ&¨Ñ*ˆà��A‘�r‘‰]ˆØ��A‘�r‘‰]ˆØ��A‘�r‘‰]ˆØ��A‘�r‘‰]ˆàˆÜ˜Ÿ™ ™
Ó#ò 	8ˆBÜ˜AŸG™G A™JÓ'ò 8�Ü §¡¨¡
Ó+ò 8�BÜ# A§G¡G¨A¡JÓ/ò 8˜Ø  " R¡%¨¡'¨"¨R©%°©'°"°R±%¸±'¸"¸R¹%À¹'À"ÀRÈÈ2Ð"MÑ NÜ"'¨¨B°°1±Ó"6ñ!7ä"'¨¨B°°1±Ó"6ñ!7ô #(¨¨B°°1±Ó"6ñ!7ô #(¨¨B°°1±Ó"6ñ	!7ñ 8™ñ8ñ8ñ8ð	8ð ˆˆD‹	ð;ð> €Jr3   rÞ   )?Úscipy._lib._array_apir   r   r   r   rY  r   r'   Únumpyr   r	   r
   r   rC   Úscipy.interpolater   r   r   r   r   r   r   r   r   r   r   r   r   r   Úscipy.specialr   r   r   Úscipy._lib._gcutilsr   r   Úscipy._lib._testutilsr   Úscipy.integrater    r!   r#   r5   r^  rh  rZ  r\  r4  r¢  rÚ  rù  rŸ  rº  rÝ  ré  r   r6  r    r7  rt  r.  r5  r9  r2   r3   r-   ú<module>r˜     s4  ð÷ó õ +Û ç (Ó (Û ÷-÷ -÷ -÷ -÷ &å $ç ;Ý 9å !å ÷ñ ÷Uñ U÷p6ñ 6÷r;ñ r;ðj ‡�×Ñ˜Ð$7Ð9JÐ#KÓLñ:ó Mð:÷,XLñ XL÷v,&ñ ,&÷^kEñ kE÷\E=ñ E=÷P\0ñ \0÷~.'ñ .'÷bdñ d÷Ng2ñ g2òTð  .0¯V©Vó ò.	/ó!óH%ôP*r3   