Ë
    ÏÍ:jü¨ ã                   ód  — d dl mZmZmZmZmZmZmZ d dl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( d d
l)m*Z* d dl+m,Z, d dl#m-Z- ej\                  j^                  Z/ej\                  j`                  Z0 G d„ d«      Z1 G d„ d«      Z2 G d„ d«      Z3 ee«       G d„ d«      «       Z4ej\                  jk                  dee"g«      d„ «       Z6 eee«       G d„ d«      «       Z7 G d„ d«      Z8 ee«       G d„ d«      «       Z9 ee«       G d„ d«      «       Z: ee«       G d„ d «      «       Z; eee«       G d!„ d"«      «       Z< ee«       G d#„ d$«      «       Z= G d%„ d&«      Z>d'„ Z?ej€                  fd(„ZAd)„ ZBd-d*„ZCd-d+„ZDd-d,„ZEy).é    )Úxp_assert_equalÚxp_assert_closeÚassert_almost_equalÚassert_array_almost_equalÚmake_xp_test_caseÚis_cupyÚ_xp_copy_to_numpy)Úarray_api_extra)ÚraisesN)ÚmgridÚpiÚsinÚpoly1d)Úinterp1dÚinterp2dÚlagrangeÚPPolyÚBPolyÚsplrepÚsplevÚ
splantiderÚsplintÚsprootÚAkima1DInterpolatorÚNdPPolyÚBSplineÚPchipInterpolator)ÚpochÚgamma)Ú_ppoly)Úassert_deallocated)Ú_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       ú}/home/mcse/projects/srt_converter/srt-converter-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__r1   © ó    r0   r&   r&      s   „ ór6   r&   c                   ó8  — 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'd„Zd'd„Zd„ Zd„ Zd„ Zd„ Zd'd„Zd'd„Zd„ Zej:                  dfd„Zd„ Zd„ Z d„ Z!d„ Z"d „ Z#d!„ Z$d"„ Z%e&jN                  jQ                  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(   r<   g      >@)r(   é   r<   )rA   r(   r<   é   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    r0   Ú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Ñ%à ˆ�r6   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©rh   rZ   ra   )rD   é   rD   )rD   )rD   rD   r   rk   r(   rA   ©rh   ÚaxisrZ   r@   ©rm   )rD   rD   rD   r5   r>   )r   rI   rJ   rF   rO   rR   rM   Úonesr*   Ú
ValueErrorrL   rN   rS   rP   rQ   ©r,   rh   s     r0   Útest_validationzTestInterp1D.test_validationR   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¨ö	9r6   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ç      @©rZ   )ç      ð?r=   r   rk   rn   )r   rI   rJ   rt   ru   rF   ÚisnanrZ   rm   rR   rS   r   r.   r-   r[   s    r0   Ú	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¸¿¹ÕCr6   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 )NrD   ç333333ó?©g333333@gffffff@ç      @F)Úassume_sortedT)	r   rI   rJ   r   rF   rO   r*   rp   rR   )r,   Úinterp10Úinterp10_unsortedÚinterp10_assume_kwÚinterp10_assume_kw2Úinterp10_y_2dÚinterp10_y_2d_unsorteds          r0   Ú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r6   c                 ó4   — dD ]  }| j                  |«       Œ y )N)ra   rb   )Ú_check_linearrq   s     r0   Útest_linearzTestInterp1D.test_linearÃ   s   € Ø)ò 	%ˆDØ×Ñ˜tÕ$ñ	%r6   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 )Nrg   r|   r}   ri   rj   ©ç      ð¿r   é	   é   ç›+¡†›„=©ÚrtolT©rh   rZ   ru   )r   rI   rJ   r   rF   rO   r   ÚasarrayÚdictr*   rp   )r,   rh   r€   ÚextrapolatorÚoptss        r0   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À$ÓGr6   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é   ©Údtypera   rg   çVçž¯Ò<©Úatol©r   rk   r(   r   rk   )
rF   Úfloat16Úfloat32Úfloat64Ú
longdoublerG   r   rš   r   Únan)r,   Údtypr.   r-   Úyps        r0   Ú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Ö*r6   c                 óÜ   — t        j                  ddg«      }t        j                  ddgddgg«      } t        ||«      |«      }t        ||d¬«       t        j                  |dk\  «      sJ ‚y )Ng`{j¼t“H?gü©ñÒMb`?r>   gf¦x˜K;?g#B’¡œÇ;rœ   r   )rF   rO   r   r   Úall)r,   r.   r-   r¥   s       r0   Útest_linear_numerical_stabilityz,TestInterp1D.test_linear_numerical_stabilityï   sg   € ô �H‰HÐ(¨%Ð0Ó1ˆÜ�H‰H�s˜C�jÐ#8¸#Ð">Ð?Ó@ˆØŒX�a˜‹^˜AÓˆÜ˜˜A EÕ*Ü�v‰v�b˜A‘gŒÐ‰r6   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)rb   r`   rc   rd   r   r@   r™   rv   F©rh   ru   çH¯¼šò×z>z, ú )r�   Úcheck_dtypeÚerr_msg)rF   rŸ   r    r¡   Ú	complex64Ú
complex128rG   ÚexpÚastyper   r   )r,   Údt_rÚdt_rcÚspline_kindsÚdtxr.   Údtyr-   ÚdtnÚxnewrh   Úfs               r0   Ú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r6   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 )Nrd   rg   r|   ç      ø?r}   ©r   rI   rJ   r   rF   rO   ©r,   r€   s     r0   Ú
test_cubiczTestInterp1D.test_cubic  sv   € ä˜DŸH™H d§h¡h°WÔ=ˆÜ!¡(¨4¯8©8Ó"4°d·h±hÔ?Ü!¡(¨3£-´·±¸#³Ô?Ü!¡(¨3£-´·±¸#³Ô?Ü!¡(ª?Ó";Ü"$§(¡(ª?Ó";õ	>r6   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^   rg   r|   rx   r¾   r}   ©r=   r~   r~   ri   rj   r‹   ©r>   r   r�   r�   r�   r�   Tr’   ©
r   rI   rJ   r   rF   rO   r   r”   r*   rp   ©r,   r€   r•   r–   s       r0   Ú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À$ÓGr6   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_   rg   r|   rx   r¾   r=   r}   rÃ   ri   rj   r‹   rÄ   r�   r�   Tr’   rÅ   rÆ   s       r0   Ú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À$ÓGr6   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 )%Nre   rg   r|   rx   r¾   r}   ©r=   r:   r~   ri   rj   r‹   r   r�   r�   r�   ©rD   éþÿÿÿr<   r˜   é   é   r<   r˜   é   é   é   rl   ©rÍ   r<   rÎ   r@   rŽ   Tr’   rž   ©r   rk   rD   ©rh   rZ   r   ©rÍ   rD   r   rk   r(   rA   r<   rk   rD   ©r(   r   rk   ©rD   r   rk   FrC   ©r   rI   rJ   r   rF   rO   r   r£   rR   rS   r”   r*   rp   rX   rY   ©r,   r€   r•   Úinterpolator1DÚinterpolator2DÚinterpolator2DAxis0r–   s          r0   Ú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˜ð%õ	&r6   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 )$Nrf   rg   r|   r=   r¾   r}   )rv   r~   r~   ri   rj   r‹   r   r�   r�   r�   rÌ   r<   r˜   r@   rÐ   rÑ   rl   rÓ   rk   rŽ   Tr’   rž   rÔ   rÕ   rÖ   rD   r×   rØ   FrB   rÙ   rÚ   s          r0   Ú	test_nextzTestInterp1D.test_nextƒ  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˜ÜŸ&™&¤"§&¡&Ð)ð+õ	,r6   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`   rg   r|   rx   r¾   r}   rË   r¿   rÀ   s     r0   Ú	test_zerozTestInterp1D.test_zeroÈ  sv   € ä˜DŸH™H d§h¡h°VÔ<ˆÜ!¡(¨4¯8©8Ó"4°d·h±hÔ?Ü!¡(¨3£-´·±¸"³Ô>Ü!¡(¨3£-´·±¸"³Ô>Ü!¡(ª?Ó";Ü"$§(¡(ª<Ó"8õ	:r6   c                 ó„   — t        t        ||«       	  ||«       y # t        $ r}|› t        |«      v sJ ‚Y d }~y d }~ww xY w©N)r*   rp   Ústr)r,   ÚinterpolantÚ
test_arrayÚ
fail_valueÚerrs        r0   Úbounds_check_helperz TestInterp1D.bounds_check_helperÑ  sA   € ô 	”j +¨zÔ:ð	1Ù˜
Õ#øÜò 	1Ø!�l¤s¨3£xÑ/Ð0Õ/ûð	1ús   “ œ	?¥:º?ra   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)rZ   ru   rh   gffffff&@g333333Àg333333)@gÍÌÌÌÌL3@)Úcheck_shape)rŒ   r>   r:   ç      "@ç      &@)TFFFF)FFFFTT)ru   rh   rŒ   rî   )r>   rŒ   r>   )r>   rx   ç      5@rï   )r>   r:   rí   )	r   rI   rJ   rZ   r   rF   rO   Ú_check_boundsrê   )r,   rh   Úextrap10Úraises_bounds_errors       r0   Ú_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Õ,r6   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’   rk   r   rD   )	rF   rG   r³   Úintr   r£   ry   r   Úr_)r,   rh   r.   r-   ÚcÚyis         r0   Ú_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Ñ&;Õ<r6   c                 óV   — dD ]$  }| j                  |«       | j                  |«       Œ& y )N)ra   rd   r^   re   rf   rb   r`   rc   )ró   rù   rq   s     r0   Útest_boundszTestInterp1D.test_boundsú  s/   € ð5ò 	2ˆDà×Ñ˜tÔ$Ø×+Ñ+¨DÕ1ñ	2r6   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@éöÿÿÿrE   rý   rþ   rD   )rh   rm   rZ   ru   rA   rk   r   )rþ   éÈ   é,  r(   r   r  )rý   é8ÿÿÿéÔþÿÿr  r  c              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­wrä   )rF   rO   )Ú.0r»   s     r0   ú	<genexpr>z1TestInterp1D._check_fill_value.<locals>.<genexpr>a  s   è ø€ Ò"C°1¤2§8¡8¨A§;Ñ"Cùs   ‚!iè  iÐ  iüÿÿi0øÿÿ)r   rI   rJ   r   rF   r“   rV   rW   rT   rU   rH   ÚndimÚshaper*   rp   rO   ÚrangeÚtuple)r,   rh   Úinterpr-   ÚresultrZ   Úiis          r0   Ú_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r6   c                 ó4   — dD ]  }| j                  |«       Œ y ©N)ra   r^   rd   rb   rc   r`   re   rf   )r  rq   s     r0   Útest_fill_valuezTestInterp1D.test_fill_value¡  s!   € ð1ò 	)ˆDà×"Ñ" 4Õ(ñ	)r6   c                 óš   — t        | j                  | j                  d¬«      }|j                  dk(  sJ ‚d|_        |j                  dk(  sJ ‚y )Ng     À^@rw   g     t@)r   rI   rJ   rZ   )r,   r  s     r0   Útest_fill_value_writeablez&TestInterp1D.test_fill_value_writeable§  sH   € ä˜$Ÿ(™( D§H¡H¸Ô?ˆØ× Ñ  EÒ)Ð)Ð)Ø!ˆÔØ× Ñ  EÒ)Ð)Ñ)r6   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 )Nrg   rv   r:   r=   ç      @r|   r5   rx   rî   ç      (@r   ©rm   rh   r~   g      *@g      .@g      1@r;   ç      @g      ,@)r   rI   rJ   r   rF   rO   Ú
isinstanceÚndarrayr  rR   rS   )r,   rh   r€   Ú	interp210Ú	interp102Úx_news         r0   Ú_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r6   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)é   r<   é   é   r  ©r¯   r!  )r(   rA   rk   r  rk   )
rF   rG   ÚprodrK   Ú	enumerater   r   Úlistr  r
  )
r,   rh   Úar-   ÚnÚsr.   r/   rM   Úbs
             r0   Ú_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Ð*ñ	1r6   c                 óV   — dD ]$  }| j                  |«       | j                  |«       Œ& y )N)ra   rd   rb   rc   r^   r`   re   rf   )r  r+  rq   s     r0   Útest_ndzTestInterp1D.test_ndÜ  s/   € ð1ò 	'ˆDà×!Ñ! $Ô'Ø× Ñ  Õ&ñ	'r6   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)
rk   ç      @rA   gÍÌÌÌÌÌ@r   gš™™™™™@gš™™™™™@g       @g      #@r@   ù      ð?       @rg   rD   rk   r@   é   )rF   rO   r³   r   r   ÚlinspaceÚrealÚimag)	r,   rš   rh   r.   r-   r÷   ÚxiÚcrÚcis	            r0   Ú_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Õ5r6   c                 ó’   — dD ]B  }| j                  t        j                  |«       | j                  t        j                  |«       ŒD y r  )r8  rF   r°   r±   rq   s     r0   Útest_complexzTestInterp1D.test_complexò  s;   € ð1ò 	5ˆDà×Ñ¤§¡¨dÔ3Ø×Ñ¤§¡¨tÕ4ñ	5r6   c                 ó¾   — 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   rk   çš™™™™™¹?çš™™™™™É?)rF   r2  r!   r   )r,   r.   r-   r  s       r0   Útest_circular_refszTestInterp1D.test_circular_refsø  sT   € ä�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^   re   rf   )r   é2   é   r™   rg   )rF   rO   Úint8r   r   )r,   rh   r.   r  s       r0   Útest_overflow_nearestz"TestInterp1D.test_overflow_nearest  sA   € à3ò 	0ˆDÜ—‘š¬R¯W©WÔ5ˆAÜ˜!˜Q TÔ*ˆBÜ%¡b¨£e¨QÕ/ñ	0r6   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`   rb   rg   gš™™™™™@r  )	rF   rG   r³   Úfloatrt   r£   r   Úisfiniter¨   )r,   r.   r-   rh   ÚirÚvalss         r0   Ú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Ó$×(Ñ(Õ*Ð*Ð*ñ	+r6   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˜   rA   )rc   rd   rg   r!  rk   r<   )rF   rG   r³   rE  rt   r£   r   r“   ry   r¨   r  )
r,   r.   r-   Úynrh   rG  Úirnrº   ÚoutÚoutns
             r0   Ú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Ó.Ð.Ð.ñ	/ñ	/r6   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@   rd   rg   )rF   ro   r£   rG   r*   rp   r   )r,   r.   r-   s      r0   Ú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@   rv   r�   r<  ©TFF)ra   r^   r`   rb   rc   rd   rg   )rF   rG   r²   ÚflagsÚ	writeabler   rF  r¨   )r,   r.   r-   rº   Úxnew_writeablerh   r»   rH  s           r0   Ú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Ó(×,Ñ,Õ.Ð.Ð.ñ	/ñ	/r6   rh   )ra   r^   r_   re   rf   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?   )rh   ru   rZ   )rk   r¾   r(   )r=   r!  r@   Tr«   zx_new is above©Úmatchr=   )r   r   rF   r“   r*   rp   )r,   rh   r»   s      r0   Ú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)ra   )*r2   r3   r4   r\   rr   rz   r†   r‰   rˆ   r¦   r©   r¼   rÁ   rÇ   rÉ   rÞ   rà   râ   rê   ró   rù   rû   r  r  r  r  r+  r-  rF   r±   r8  r:  r>  rC  rI  rO  rQ  rX  ÚpytestÚmarkÚparametrizer\  r5   r6   r0   r8   r8   '   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òò0ò	+ò/ò$)ò/ð ‡[�[×ÑØÐGóñóñr6   r8   c                   ó   — e Zd Zd„ Zy)ÚTestLagrangec                 ó6  — t        g d¢«      }t        j                  t        |j                  «      «      } ||«      }t        j                  t        d¬«      5  t        ||«      }d d d «       t        |j                  j                  «       y # 1 sw Y   Œ*xY w)N)r<   r(   rk   r   rA   z
`lagrange`rZ  )
r   rF   rG   ÚlenÚcoeffsr]  ÚwarnsÚDeprecationWarningr   r   )r,   ÚpÚxsÚysÚpls        r0   Útest_lagrangezTestLagrange.test_lagrangeJ  sl   € Ü’;ÓˆÜ�Y‰Y”s˜1Ÿ8™8“}Ó%ˆÙˆr‹UˆÜ�\‰\Ô,°LÔAñ 	!Ü˜"˜R“ˆB÷	!ä! !§(¡(¨2¯9©9Õ5÷	!ð 	!ús   ÁBÂBN)r2   r3   r4   rk  r5   r6   r0   ra  ra  H  s   „ ó6r6   ra  c                   óT   — 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y)ÚTestAkima1DInterpolatorc                 ó6  — |j                  dd|j                  ¬«      }|j                  g d¢|j                  ¬«      }t        ||«      }|j                  g d¢|j                  ¬«      }|j                  g d¢|j                  ¬«      }t	         ||«      |«       y )Nr>   rî   r™   ©r>   r=   rx   rv   r=   r~   ç      @rp  gš™™™™™@çffffff@rv   ©r>   r)   rx   r¾   r/  ç      @g      @rq  g      @gÍÌÌÌÌÌ@g333333!@gÍÌÌÌÌÌ#@r;   ©r>   g      ö?r=   r¾   g     @ÿ?g     à@gŒ.ºè¢‹@gß^äë@gn ¹ä@gGNBÐ@grcß–÷·@g¦	£ÎI@rv   ©rG   r¡   r“   r   r   ©r,   Úxpr.   r-   Úakr5  rø   s          r0   Ú	test_evalz!TestAkima1DInterpolator.test_evalU  s”   € Ø�I‰I�b˜# R§Z¡ZˆIÓ0ˆØ�J‰JÚ<ÀBÇJÁJð ó 
ˆô !  AÓ&ˆØ�Z‰Zò Ø"$§*¡*ð ó .ˆà�Z‰Zò ð —z‘zð	 ó #ˆô
 	™˜2› Õ#r6   c                 ó:  — |j                  dd|j                  ¬«      }|j                  g d¢|j                  ¬«      }t        ||d¬«      }|j                  g d¢|j                  ¬«      }|j                  g d¢|j                  ¬«      }t	         ||«      |«       y )	Nr>   rî   r™   ro  Úmakima©Úmethodrr  )r>   gFð?ðƒõ?r=   gš™™™™÷?gš™™™™ÿ?g…¶g{¶'@gú>J(j@g?±Ôç§ð@gqÁü@gýÞÀÇð³@gû•Š9~@g­Áøo¢
@rv   ru  rv  s          r0   Útest_eval_modz%TestAkima1DInterpolator.test_eval_modd  s™   € ð �I‰I�b˜# R§Z¡ZˆIÓ0ˆØ�J‰JÚ<ÀBÇJÁJð ó 
ˆô !  A¨hÔ7ˆØ�Z‰Zò &Ø-/¯Z©Zð ó 9ˆà�Z‰Zò 5ð =?¿J¹Jð ó Hˆô 	™˜2› Õ#r6   c                 ó–  — |j                  dd|j                  ¬«      }|j                  g d¢|j                  ¬«      }|j                  |d|z  fd¬«      }t	        ||«      }|j                  g d¢|j                  ¬«      }|j                  g d	¢|j                  ¬«      }|j                  |d|z  fd¬«      }t         ||«      |«       y )
Nr>   rî   r™   ro  r=   rk   rn   rr  rt  )rG   r¡   r“   Ústackr   r   rv  s          r0   Útest_eval_2dz$TestAkima1DInterpolator.test_eval_2dw  sË   € Ø�I‰I�b˜# R§Z¡ZˆIÓ0ˆØ�J‰JÚ<ÀBÇJÁJð ó 
ˆð �H‰H�a˜˜a™�[ qˆHÓ)ˆÜ   AÓ&ˆØ�Z‰Zò &Ø-/¯Z©Zð ó 9ˆà�Z‰Zò 8ð @B¿z¹zð ó Kˆð �X‰X�r˜2 ™7�m¨!ˆXÓ,ˆÜ™˜2› Õ#r6   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î   ro  )rŽ   r(   r(   r   r=   rk   rv   r  rr  )é   r(   r(   rt  )rF   rG   rO   Úemptyr   r   )r,   r.   Úy_r-   rx  r5  rø   Úyi_s           r0   Útest_eval_3dz$TestAkima1DInterpolator.test_eval_3dŠ  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› Õ#r6   c                 óà   — |j                  ddg|j                  ¬«      }|j                  ddg«      }t        ||dd ¬«      }t         |d«      |j                  d|j                  ¬«      «       y )	Nr>   rx   r™   r)   r   )rm   ri   gÍÌÌÌÌÌÜ?g333333ç?)r“   r¡   r   r   )r,   rw  r.   r-   Úakimas        r0   Ú$test_linear_interpolant_edge_case_1dz<TestAkima1DInterpolator.test_linear_interpolant_edge_case_1d£  s]   € Ø�J‰J˜˜S�z¨¯©ˆJÓ4ˆØ�J‰J˜˜S�zÓ"ˆÜ# A q¨q¸dÔCˆÜ™˜d› R§Z¡Z°¸R¿Z¹Z ZÓ%HÕIr6   c                 óz  — |j                  ddg«      }|j                  |d|z  d|z  d|z  fd¬«      }t        ||«      }|j                  ddg«      }|j                  g d	¢g d
¢g|j                  ¬«      }t	         ||«      |«       t        ||j
                  d¬«      }t	         ||«      |j
                  «       y )Nr>   rx   r=   rv   r  rk   rn   r)   )r)   rx   r¾   r=   )rx   r=   rv   r  r™   )r“   r€  r   r¡   r   ÚTrv  s          r0   Ú$test_linear_interpolant_edge_case_2dz<TestAkima1DInterpolator.test_linear_interpolant_edge_case_2d©  s²   € Ø�J‰J˜˜B�xÓ ˆØ�H‰H�a˜˜a™  a¡¨¨a©Ð0°qˆHÓ9ˆä   AÓ&ˆØ�Z‰Z˜˜b˜	Ó"ˆØ�Z‰ZÒ+Ú)ð+Ø24·*±*ð ó 
ˆô 	™˜2› Ô#ä   A§C¡C¨aÔ0ˆÜ™˜2› §¡Õ%r6   c                 óì  — t        j                  dd«      }t        j                  ddg«      }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                  d	dg«      }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                  ddd
«      d¬«      }t         ||«      |j                  ddd
«      «       t	        ||j                  d
dd«      d
¬«      }t         ||«      |j                  d
dd«      «       y )Nr>   r=   rx   )r(   r(   r(   r   rk   rv   r  r)   r(   rn   )rF   rG   rO   r„  r   r   Ú	transpose)r,   r.   r…  r-   rx  r†  rø   r5  s           r0   Ú$test_linear_interpolant_edge_case_3dz<TestAkima1DInterpolator.test_linear_interpolant_edge_case_3d·  sm  € Ü�I‰I�b˜"ÓˆÜ�X‰X�r˜2�hÓˆÜ�H‰H�YÓˆØˆŠ!ˆQ�ˆ'‰
Ø˜"‘WˆŠ!ˆQ�ˆ'‰
Ø˜"‘WˆŠ!ˆQ�ˆ'‰
Ø˜"‘WˆŠ!ˆQ�ˆ'‰
Ü   AÓ&ˆÜ�h‰h˜˜R�yÓ!ˆÜ�X‰X�iÓ ˆØˆŠ1ˆa�ˆ7‰Ø˜3‘hˆŠ1ˆa�ˆ7‰Ø˜3‘hˆŠ1ˆa�ˆ7‰Ø˜3‘hˆŠ1ˆa�ˆ7‰ØˆÜ™˜2› Ô#ä   A§K¡K°°1°aÓ$8¸qÔAˆÜ™˜2› §¡¨Q°°1Ó 5Ô6ä   A§K¡K°°1°aÓ$8¸qÔAˆÜ™˜2› §¡¨Q°°1Ó 5Õ6r6   c                 ó<  — |j                  g d¢|j                  ¬«      }|j                  ||dz  f«      j                  }t	        ||«      }|j                  ddg|j                  ¬«      } ||«      }t        ||j                  ||dz  f«      j                  «       y )Nrž   r™   r(   r)   r¾   )r“   r¡   r€  rŒ  r   r   )r,   rw  r.   r-   rx  Úx_evalÚy_evals          r0   Ú%test_degenerate_case_multidimensionalz=TestAkima1DInterpolator.test_degenerate_case_multidimensionalÏ  s…   € à�J‰J’y¨¯
©
ˆJÓ3ˆØ�H‰H�a˜˜A™�YÓ×!Ñ!ˆÜ   AÓ&ˆØ—‘˜S #˜J¨b¯j©j�Ó9ˆÙ�F“ˆÜ˜ §¡¨&°&¸!±)Ð)<Ó =× ?Ñ ?Õ@r6   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î   ro  z9Extending a 1-D Akima interpolator is not yet implementedrZ  )rF   rG   rO   r   r]  r   r+   Úextend)r,   r.   r-   rx  r[  s        r0   Ú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î   ro  z `method`=invalid is unsupported.rZ  Úinvalidr|  )rF   rG   rO   r]  r   r+   r   )r,   r.   r-   r[  s       r0   Ú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úrR  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éûÿÿÿr<   rŽ   r(   rÿ   r@   é   T©ri   Fr›   rœ   r   r   éüÿÿÿrD   rA   )rF   r2  r   r   r   Úfullr£   )r,   r.   r-   Úx_extÚy_extÚak_trueÚak_falseÚak_nones           r0   Ú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Ö:r6   c                 óÂ  — t        j                  dd«      }dt        j                  t        j                  t        «      j
                  «      z  t        j                  |dz
  d«      z  }t        ||d¬«      }t        ||d¬«      } ||«      } ||«      }t        j                  |«      j                  «       sJ ‚t        j                  |«      j                  «       sJ ‚y )	Nrk   r@   g    €„.Ar   r)   r{  r|  r‰  )
rF   rG   ÚsqrtÚfinforE  ÚmaxÚ	heavisider   rF  r¨   )r,   r.   r-   Úak1Úak2Úy_eval1Úy_eval2s          r0   Útest_no_overflowz(TestAkima1DInterpolator.test_no_overflowû  s«   € ä�I‰I�a˜ÓˆØ”—‘œŸ™¤%›×,Ñ,Ó-Ñ-¬b¯l©l¸1¸Q¹3ÀÓ.DÑDˆä! ! Q¨xÔ8ˆÜ! ! Q¨wÔ7ˆá�a“&ˆÙ�a“&ˆä�{‰{˜7Ó#×'Ñ'Ô)Ð)Ð)Ü�{‰{˜7Ó#×'Ñ'Ô)Ð)Ñ)r6   N)r2   r3   r4   ry  r~  r�  r‡  rŠ  r�  r�  r”  r—  rš  r¦  r°  r5   r6   r0   rm  rm  S  s@   „ ò$ò$ò&$ò&$ò2Jò&ò7ò0Aò"ò8ò;ó(*r6   rm  r}  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î   ro  y               @zreal valuesrZ  c                 ó¨   — t        j                  ddd«      }|dz  }t        j                  ddd«      }t        ||d¬	«      }d
„ }t        d|||«       y )Nrœ  r<   rŽ   r(   rÿ   r@   r�  Trž  c                 ó   —  ||«       y rä   r5   )Ú_rx  r¡  s      r0   Ú	worker_fnz9test_complex.<locals>.test_concurrency.<locals>.worker_fn  s	   € Ùˆu�Ir6   )rF   r2  r   r"   )r,   r.   r-   r¡  rx  rµ  s         r0   Útest_concurrencyz&test_complex.<locals>.test_concurrency  sR   € ä�K‰K˜˜A˜rÓ"ˆØˆq‰DˆÜ—‘˜C  RÓ(ˆÜ   A°4Ô8ˆò	ô 	   I¨r°5Õ9r6   )rF   rG   rO   r]  r   rp   )r}  r.   r-   Úmsgr¶  s        r0   r:  r:  
  sf   € ô 	�	‰	�"�cÓ€AÜ
�‰ÒAÓB€AØ	ˆBˆq‰D‰€AØ
€CÜ	�‰”z¨Ô	-ñ Ùˆq�!Œ÷ó
:÷ó
:ús   Á
A)Á)A5c                   óH   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zy)ÚTestPPolyCommonc                 ó¶   — |j                  ddgddgddgg«      }|j                  g d¢«      }t        t        t        ||«       t        t        t        ||«       y )Nrk   r   r(   r<   rA   r!  )r   rk   r)   )r“   r*   rp   r   r   )r,   rw  r÷   r.   s       r0   Útest_sort_checkzTestPPolyCommon.test_sort_check$  sM   € Ø�J‰J˜˜A˜  A ¨¨A¨Ð/Ó0ˆØ�J‰J’{Ó#ˆÜ”j¤%¨¨AÔ.Ü”j¤%¨¨AÕ.r6   c                 ó¨   — t        t        «      5  t        |j                  ddg«      |j                  ddg«      «       d d d «       y # 1 sw Y   y xY w)Nrk   r(   r   )r*   rp   r   r“   ©r,   rw  s     r0   Útest_ctor_czTestPPolyCommon.test_ctor_c*  sC   € äœ:Ó&ñ 	:Ü�"—*‘*˜a ˜VÓ$ b§j¡j°!°Q°Ó&8Ô9÷	:÷ 	:ñ 	:ús   �/AÁAc                 ó’  — 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
  }|j                  |«      |j                  |«      }}t        t        fD ]õ  } ||d d …d d…d	f   |d d «      }|j                  |d d …dd …d	f   |dd  «        ||d d …dd …d	f   |dd  «      }|j                  |d d …d d…d	f   |d d «        |||«      }t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       Œ÷ y )
NéÒ  rA   r   r@   rB   r(   rk   r�   .)rF   ÚrandomÚseedÚuniquerö   Úrandrc  r“   r   r   r–  r   r÷   r.   )	r,   rw  Úorderr.   r÷   ÚclsÚppÚpp2Úpp3s	            r0   r—  zTestPPolyCommon.test_extend/  st  € ä
�	‰	�‰�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ˆà�z‰z˜!‹}˜bŸj™j¨›mˆ1ˆäœ5�>ò 	*ˆCÙ�Q’q˜"˜1˜"˜c�z‘] A c r FÓ+ˆBØ�I‰I�aš˜1™2˜s˜
‘m Q r s VÔ,á�aš˜2™3 ˜‘n a¨¨ fÓ-ˆCØ�J‰J�qš˜C˜R˜C ˜‘~ q¨¨" vÔ.á�a˜“)ˆCä˜BŸD™D #§%¡%Ô(Ü˜BŸD™D #§%¡%Ô(Ü˜CŸE™E 3§5¡5Ô)Ü˜CŸE™E 3§5¡5Õ)ñ	*r6   c                 ó|  — t         j                  j                  d«       |j                  ddd«      }|j	                  t         j                  j                  dd«      «      }|j                  ddd«      }|j	                  t         j                  j                  dd«      «      }t        t        fD ]Š  } |||«      } |||«      } |||«      }	|	j                  ||dd  «       |j                  dddd	¬
«      }
|j                  ddd«      }t         ||
«       |	|
«      «       t         ||«       |	|«      «       ŒŒ y )NrÀ  r   rk   r!  r(   r<   r   r  F)Úendpoint)
rF   rÁ  rÂ  r2  r“   rÄ  r   r   r–  r   )r,   rw  r.   r÷   rM   Úc2rÆ  Úpp1rÈ  Úpp_combÚxi1Úxi2s               r0   Útest_extend_diff_ordersz'TestPPolyCommon.test_extend_diff_ordersG  s  € ä
�	‰	�‰�tÔà�K‰K˜˜1˜aÓ ˆØ�J‰J”r—y‘y—~‘~ a¨Ó+Ó,ˆà�[‰[˜˜A˜qÓ!ˆØ�Z‰ZœŸ	™	Ÿ™ 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ñ	4r6   c                 ód  — t         j                  j                  d«       d}t        j                  t         j                  j	                  ddd«      «      }t         j                  j                  |dz   |j                  d   dz
  dd«      }|j                  |«      |j                  |«      }}t        t        fD ]õ  } |||«      } ||d d …d d…df   |d d «      }|j                  |d d …dd …df   |dd  «        ||d d …dd …df   |dd  «      }|j                  |d d …d d…df   |d d «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       Œ÷ y )	Nr   rA   r@   é   rk   r(   r�   .)rF   rÁ  rÂ  ÚsortÚuniformrÄ  r  r“   r   r   r–  r   r÷   r.   )	r,   rw  rÅ  r.   r÷   rÆ  rg  Úp1Úp2s	            r0   Ú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¸Ó;ˆà�z‰z˜!‹}˜bŸj™j¨›mˆ1ˆäœ5�>ò 	'ˆCÙ�A�q“	ˆAá�Q’q˜"˜1˜"˜c�z‘] A c r FÓ+ˆBØ�I‰I�aš˜1™2˜s˜
‘m Q r s VÔ,á�Q’q˜"™#˜s�{‘^ Q r s VÓ,ˆBØ�I‰I�aš˜3˜B˜3 ˜‘n a¨¨ fÔ-ä˜BŸD™D !§#¡#Ô&Ü˜BŸD™D !§#¡#Ô&Ü˜BŸD™D !§#¡#Ô&Ü˜BŸD™D !§#¡#Õ&ñ	'r6   c           	      óè  — t         j                  j                  d«       |j                  t         j                  j	                  ddddd«      «      }|j                  t        j
                  t         j                  j	                  d«      «      «      }|j                  t         j                  j	                  dd	«      «      }t        t        fD ]"  } |||«      } ||«      j                  d
k(  rŒ"J ‚ y )NrÀ  r˜   rÎ   r<   r!  r"  rƒ  rA   r   )rA   r   r<   r!  r"  )	rF   rÁ  rÂ  r“   rÄ  rÔ  r   r   r  )r,   rw  r÷   r.   Úx_prÆ  rg  s          r0   Ú
test_shapezTestPPolyCommon.test_shapew  sª   € Ü
�	‰	�‰�tÔØ�J‰J”r—y‘y—~‘~ a¨¨Q°°1Ó5Ó6ˆØ�J‰J”r—w‘wœrŸy™yŸ~™~¨bÓ1Ó2Ó3ˆØ�j‰jœŸ™Ÿ™¨¨1Ó-Ó.ˆÜœ5�>ò 	3ˆCÙ�A�q“	ˆAÙ�S“6—<‘< ?Ó2Ð2Ð2ñ	3r6   c           	      ó*  — t         j                  j                  d«       t         j                  j                  ddddd«      }t        j                  t         j                  j                  d«      «      }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Î   r<   r!  r"  rƒ  ).r   r   r   r)   r5   r<  r=  çš™™™™™Ù?r™   )rF   rÁ  rÂ  rÄ  rÔ  r   r   r  rO   r*   rp   Úobject)r,   r÷   r.   rÆ  rg  s        r0   Útest_shape_scalarsz"TestPPolyCommon.test_shape_scalars€  sÍ   € Ü
�	‰	�‰�tÔÜ�I‰I�N‰N˜1˜b ! Q¨Ó*ˆÜ�G‰G”B—I‘I—N‘N 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r6   c                 ó~  — t         j                  j                  ddddd«      }t        j                  t         j                  j                  d«      «      }t         j                  j                  dd«      }t	        |j
                  |||f«      \  }}}t        t        fD ]  } |||«      }d	„ }t        d
|||«       Œ y )Nr˜   rÎ   r<   r!  r"  rƒ  rA   r   c                 ó   —  ||«       y rä   r5   )r´  r  Úxpps      r0   rµ  z3TestPPolyCommon.test_concurrency.<locals>.worker_fn˜  s	   € Ù�s•r6   r@   )	rF   rÁ  rÄ  rÔ  Úmapr“   r   r   r"   )r,   rw  r÷   r.   râ  rÆ  r  rµ  s           r0   r¶  z TestPPolyCommon.test_concurrency�  sœ   € ä�I‰I�N‰N˜1˜b ! Q¨Ó*ˆÜ�G‰G”B—I‘I—N‘N 2Ó&Ó'ˆÜ�i‰i�n‰n˜Q Ó"ˆä˜Ÿ
™
 Q¨¨3 KÓ0‰	ˆˆ1ˆcäœ5�>ò 	@ˆCÙ˜˜A“YˆFòô $ B¨	°6¸3Õ?ñ	@r6   c           
      óÐ  — t         j                  j                  d«       |j                  t        j                  t         j                  j                  d«      «      «      }|j                  t         j                  j                  d«      dz  «      }|j                  |«      |j                  |«      }}|j                  t         j                  j                  d«      «      }t        t        fD ]v  } |||«       |||«       |||«      }
}	}dD ]T  }t        |j                   |||«      «       |	||«      «       t        |j                   |||«      «       |
||«      «       ŒV Œx y )Né90  rƒ  )r˜   rÎ   y      ð?333333Ó?r<   rž   )
rF   rÁ  rÂ  r“   rÔ  r3  r4  r   r   r   )r,   rw  r.   r÷   Úc_reÚc_imrÚ  rÆ  rg  Úp_reÚp_imÚnus               r0   Útest_complex_coefz!TestPPolyCommon.test_complex_coef�  s  € Ü
�	‰	�‰�uÔØ�J‰J”r—w‘wœrŸy™y×/Ñ/°Ó3Ó4Ó5ˆØ�J‰J”r—y‘y×'Ñ'¨Ó0°IÑ>Ó?ˆØ—W‘W˜Q“Z §¡¨£ˆdˆØ�j‰jœŸ™×)Ñ)¨!Ó,Ó-ˆÜœ5�>ò 	DˆCÙ  1›I¡s¨4°£|±S¸¸q³\�TˆtˆAØò D�Ü §¡©¨#¨r«
Ó 3±T¸#¸r³]ÔCÜ §¡©¨#¨r«
Ó 3±T¸#¸r³]ÕCñDñ	Dr6   c                 óT  — t         j                  j                  d«       t         j                  j                  dddddd«      }|j                  }t         j                  j                  d«      }|j                  |«      |j                  |«      }}d	D �]]  }|j                  |d
z      }|j                  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 ‚ Œ÷ �Œ` dD ]0  }t        t        fD ]  }t        t        |fi t        ||¬«      ¤Ž Œ! Œ2 y )Nrå  rA   r   r<   r!  r"  r˜   )rk   r(   ©r   rk   r(   rA   rk   rn   r(   )rD   r   r<   r!  )r÷   r.   rm   )rF   rÁ  rÂ  rÄ  r  r“   rÔ  r   r   r÷   Ú
derivativeÚantiderivativerm   r*   rp   r”   )r,   rw  r÷   Úc_srâ  rm   Úmr.   rÆ  rg  ÚresÚ
targ_shaperÖ  s                r0   Ú	test_axiszTestPPolyCommon.test_axis©  s
  € Ü
�	‰	�‰�uÔÜ�I‰I�N‰N˜1˜a  A q¨!Ó,ˆØ�g‰gˆÜ�i‰i×Ñ˜vÓ&ˆà—‘˜A“ §
¡
¨3£ˆ3ˆà ó 	-ˆDØ—‘˜˜Q™‘ˆAØ—
‘
œ2Ÿ7™7¤2§9¡9§>¡>°!°A±#Ó#6Ó7Ó8ˆAÜœu�~ò -�Ù˜˜1 4Ô(�Ø—s‘s—y‘y C¨¨T°!©VÐ$4°s¸5¸D°zÑ$AÀCÈÈQÉÈÀLÑ$PÒPÐPÐPÙ˜“f�Ø   $˜Z¨#¯)©)Ñ3°c¸!¸D¹&¸'°lÑB�
Ø—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r6   N)r2   r3   r4   r»  r¾  r—  rÑ  rØ  rÛ  rß  r¶  rë  rô  r5   r6   r0   r¹  r¹  !  s8   „ ò/ò:ò
*ò04ò2'ò.3òVò@ò 
DóLr6   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©r2   r3   r4   r5   r6   r0   ÚPrø  Ê  ó   „ Ør6   rú  c                   ó   — e Zd Zy)úTestPolySubclassing.BNrù  r5   r6   r0   ÚBrý  Í  rû  r6   rþ  c                 ó*  — t         j                  j                  d«       t        j                  t         j                  j                  d«      «      }t         j                  j                  d«      }| j	                  ||«      | j                  ||«      fS )NrÀ  rA   )r   r(   )rF   rÁ  rÂ  rÔ  rú  rþ  )r,   r.   r÷   s      r0   Ú_make_polynomialsz%TestPolySubclassing._make_polynomialsÐ  sb   € Ü
�	‰	�‰�tÔÜ�G‰G”B—I‘I×$Ñ$ QÓ'Ó(ˆÜ�I‰I×Ñ˜VÓ$ˆØ�v‰v�a˜‹|˜TŸV™V A q›\Ð)Ð)r6   c                 óè   — | j                  «       \  }}||fD ]-  }|j                  «       }|j                  |j                  k(  rŒ-J ‚ |j                  «       }|j                  |j                  k(  sJ ‚y rä   )r   rî  Ú	__class__rï  )r,   rÇ  Úbprg  ÚpdÚppas         r0   Útest_derivativez#TestPolySubclassing.test_derivativeÖ  sn   € Ø×'Ñ'Ó)‰ˆˆBØ�b�ò 	/ˆAØ—‘“ˆBØ—;‘; "§,¡,Ó.Ð.Ð.ð	/ð ×ÑÓ!ˆØ�|‰|˜sŸ}™}Ò,Ð,Ñ,r6   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Ž   rk   ©r)  )rF   rÁ  rÂ  rÔ  rö   rÄ  rc  r   rú  Úfrom_spliner  )r,   r.   r-   ÚsplrÇ  s        r0   Ú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Ò%Ð%Ñ%r6   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        r0   Útest_conversionsz$TestPolySubclassing.test_conversionsè  sh   € Ø×'Ñ'Ó)‰ˆˆBà�f‰f×)Ñ)¨"Ó-ˆØ�}‰} §¡Ò&Ð&Ð&à�f‰f×%Ñ% bÓ)ˆØ�}‰} §¡Ò&Ð&Ñ&r6   c                 óŠ   — g d¢}dgdgdgg}| j                   j                  ||«      }|j                  | j                   k(  sJ ‚y )Nrž   rk   r(   rA   )rþ  Úfrom_derivativesr  )r,   r.   r-   r  s       r0   Útest_from_derivativesz)TestPolySubclassing.test_from_derivativesñ  sD   € ÚˆØˆS�1�#˜�sˆOˆØ�V‰V×$Ñ$ Q¨Ó*ˆØ�|‰|˜tŸv™vÒ%Ð%Ñ%r6   N)r2   r3   r4   r   rú  r   rþ  r   r  r  r  r  r5   r6   r0   rö  rö  É  s3   „ ôˆEô ôˆEô ò*ò-ò&ò'ó&r6   rö  c                   óœ  — e Zd Zd„ Zd„ Zd„ Z eedf«      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 eedf«      d„ «       Z eedf«      d„ «       Z eedfedf«      d„ «       Z eedf«      d„ «       Z eedfedf«      d„ «       Z eedfedf«       edd¬«      d „ «       «       Z d!„ Z!d"„ Z"y#)$Ú	TestPPolyc                 ó*  — |j                  ddgddgddgg«      }|j                  g d¢«      }t        ||«      }t         |d«      |j                  d	|j                  ¬
«      «       t         |d«      |j                  d|j                  ¬
«      «       y )Nrk   r   r(   r<   rA   r!  ©r   r)   rk   ç333333Ó?ç…ëQ¸…@r™   çffffffæ?ç¤p=
×£@©r“   r   r   r¡   ©r,   rw  r÷   r.   rg  s        r0   Útest_simplezTestPPoly.test_simpleú  s   € Ø�J‰J˜˜A˜  A ¨¨A¨Ð/Ó0ˆØ�J‰J’{Ó#ˆÜ�!�Q‹KˆÜ™˜#› §
¡
Ð+?ÀrÇzÁz 
Ó RÔSÜÙˆc‹F�B—J‘JÐ?ÀrÇzÁz�JÓRõ	
r6   c                 óæ  — |j                  ddgddgddgg«      }|j                  g d¢«      }t        ||d¬	«      }t         |d
«      |j                  d|j                  ¬«      «       t         |d«      |j                  d|j                  ¬«      «       t         |d
d«      |j                  d|j                  ¬«      «       t         |dd«      |j                  d|j                  ¬«      «       y )Nrk   r   r(   r<   rA   r!  r  Úperiodicrž  gÍÌÌÌÌÌô?r  r™   ç333333Ó¿r  gÍÌÌÌÌÌ@gffffff@r  r  s        r0   Útest_periodiczTestPPoly.test_periodic  sÌ   € Ø�J‰J˜˜A˜  A ¨¨A¨Ð/Ó0ˆØ�J‰J’{Ó#ˆÜ�!�Q JÔ/ˆä™˜#›ØŸ
™
Ð#=ÀRÇZÁZ˜
ÓPô	RäÙˆd‹GØ�J‰JÐAÈÏÉˆJÓTô	
ô
 	™˜#˜q›	 2§:¡:¨kÀÇÁ :Ó#LÔMÜ™˜$ ›
 B§J¡JÐ/BÈ"Ï*É* JÓ$UÕVr6   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 )Nrk   r   r(   r<   rA   r!  r  )r   r<  r=  r!  rž  rT  )rF   rO   r   rU  rV  rF  r¨   )r,   r÷   r.   rº   rV  r»   rH  s          r0   rX  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Ó$×(Ñ(Õ*Ð*Ð*ñ	+r6   Úrootsc           	      ó€  — 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        |j                  |||f«      \  }}}t        ||d¬«      }t        |j                  |d
¬«      |j                  |d
¬«      d¬«      }|j                  |j	                  ddd«      «      }t         ||«       ||«      d¬«       t         ||d«       ||d«      d¬«       |j                  «       }|j                  «       }t         ||«       ||«      d¬«       |j                  «       }|j                  «       }|j	                  ddd«      D ]~  \  }}t        |j                  ||f«      \  }}|j!                  ||«      }|j!                  ||«      }t        ||d¬«       t         ||«       ||«      z
   ||«       ||«      z
  d¬«       Œ€ |j#                  «       }|j#                  «       }t        ||j                  |«      d¬«       �Œ— y )Nc                 ó´   — t        j                  | dz   «      j                  dd«      }t        j                  | dz   «      }t        ||«      }|d d d…d d d…f   S )Nrk   rD   )rF   rG   rK   r$   )Úpowerr(  Úkrþ  s       r0   Úbinom_matrixz/TestPPoly.test_descending.<locals>.binom_matrix!  sT   € Ü—	‘	˜% !™)Ó$×,Ñ,¨R°Ó3ˆAÜ—	‘	˜% !™)Ó$ˆAÜ�a˜“ˆAØ‘T�r�T™4˜R˜4�Z‘=Ð r6   r   rA   ©r@   rÓ  rB   r@   rk   rÍ   r(   ©ÚsizerD   Trž  rn   rÿ   rÓ  rþ   ç‚vIhÂ%<=r�   ©r<   r(   çê-�™—q=)rF   rÁ  ÚRandomStaterÔ  rÕ  ÚdiffrG   ÚdotrŒ  rã  r“   r   Úflipr   rî  rï  Ú	integrater%  )r,   rw  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                              r0   Útest_descendingzTestPPoly.test_descending  ss  € ò	!ô �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ä˜BŸJ™J¨¨R°¨Ó4‰IˆB��AÜ�r˜1¨$Ô/ˆBÜ�r—w‘w˜r¨�wÓ+¨R¯W©W°Q¸R¨WÓ-@ÈdÔSˆBà—Z‘Z §¡¨C°°SÓ 9Ó:ˆ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Ü˜2Ÿ:™:¨¨1 vÓ.‘��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ñO'	Cr6   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(   rk   rA   r  r  r<   ©r<   r!  ©r<   r(   rk   r(   rA   )r"  r(   rk   r(   rA   )
rF   rÁ  rÄ  rO   r   r.   r  r÷   rî  rï  )r,   rw  r÷   r.   rg  ÚdpÚips          r0   Útest_multi_shapezTestPPoly.test_multi_shapeS  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˜_Ò,Ð,Ñ,r6   c                 óÔ  — t         j                  j                  d«       t        j                  ddgddgddggt        ¬«      }t        j                  g d	¢«      }t        j                  |j                  |«      |j                  |«      «      }t         |d
«      |j                  d|j                  ¬«      «       t         |d«      |j                  d|j                  ¬«      «       y )NrÀ  rk   r   r(   r<   rA   r!  r™   r  r  r  r  r  )
rF   rÁ  rÂ  rO   rE  r   Úconstruct_fastr“   r   r¡   r  s        r0   Útest_construct_fastzTestPPoly.test_construct_fastc  s¨   € Ü
�	‰	�‰�tÔÜ�H‰H�q˜!�f˜q !˜f q¨! fÐ-´UÔ;ˆÜ�H‰H’[Ó!ˆÜ× Ñ  §¡¨A£°·
±
¸1³Ó>ˆÜ™˜#› §
¡
Ð+?ÀrÇzÁz 
Ó RÔSÜÙˆc‹F�B—J‘JÐ?ÀrÇzÁz�JÓRõ	
r6   c                 ó*  — t         j                  j                  d«      }|j                  ddd«      }t        j                  t         j
                  d|j                  d«      df   «      }t         j
                  d   }t        |j                  |||f«      \  }}}t        ||«      }	|j                  t        |||«      «      }
t         |	|«      |
«       |j                  t        |d d …d d …df   ||«      «      }
t         |	|«      d d …df   |
«       y )	NrÀ  rA   rÎ   é   r   rŽ   rk   )r  r)   g…ëQ¸Õ?ç333333ã?)rF   rÁ  r1  rÄ  rÔ  rö   rã  r“   r   Ú_ppoly_eval_1r   Ú_ppoly_eval_2)r,   rw  r6  Úc_npÚx_npÚx_p_npr÷   r.   rÚ  rg  Úexpecteds              r0   Ú#test_vs_alternative_implementationsz-TestPPoly.test_vs_alternative_implementationsm  sá   € Ü�i‰i×#Ñ# DÓ)ˆØ�x‰x˜˜2˜rÓ"ˆÜ�w‰w”r—u‘u˜Q §¡¨£¨aÐ/Ñ0Ó1ˆÜ—‘Ð*Ñ+ˆä˜Ÿ
™
 T¨4°Ð$8Ó9‰	ˆˆ1ˆcä�!�Q‹Kˆà—:‘:œm¨D°$¸Ó?Ó@ˆÜ™˜#› Ô)à—:‘:œm¨D²²A°q°©M¸4ÀÓHÓIˆÜ™˜#›šq !˜t™ hÕ/r6   c                 ó*  — t         j                  j                  d«      }t        j                  t         j                  d|j                  d«      df   «      }|j                  t        |«      «      }t        ||d¬«      \  }}}|j                  |«      |j                  |«      }	}t        j                  ||	|f«      }
t        j                  ddd«      }|j                  |«      }t         |
|«      |j                  t        ||||f«      «      «       t        ||	|«      }t        j                  |«      }t         ||«       ||«      «       dD ]A  }t        ||	||¬«      }t        j                  |«      }|j                  |j                  k(  rŒAJ ‚ y )	NrÀ  r   rŽ   rk   r	  r   )NTFrž  )rF   rÁ  r1  rÔ  rö   rÄ  rc  r   r“   r   r
  r2  r   r   r   ri   )r,   rw  r6  r.   r-   Út_nprV  r)  Útr÷   rÇ  Úxi_npr5  r*  ÚpppÚextraprg  s                    r0   r  zTestPPoly.test_from_spline}  sP  € Ü�i‰i×#Ñ# DÓ)ˆÜ�G‰G”B—E‘E˜!˜SŸX™X b›\¨1Ð,Ñ-Ó.ˆØ�H‰H”S˜“VÓˆä˜q ! qÔ)‰ˆˆd�AØ�z‰z˜$Ó §¡¨DÓ!1ˆ1ˆÜ×Ñ  1 a˜yÓ)ˆä—‘˜A˜q #Ó&ˆØ�Z‰Z˜ÓˆÜ™˜2› §
¡
¬5°¸¸tÀQ¸Ó+HÓ IÔJô �A�q˜!ÓˆÜ×Ñ Ó"ˆÜ™˜B›¡ 2£Ô'ð *ò 	2ˆFÜ˜˜1˜a¨VÔ4ˆAÜ×!Ñ! !Ó$ˆAØ—=‘= A§M¡MÓ1Ð1Ð1ñ	2r6   c                 óà  — t         j                  j                  d«      }t        j                  t         j                  d|j                  d«      df   «      }|j                  t        |«      «      }t        ||d¬«      \  }}}t        |j                  |«      |j                  |«      |«      }t        j                  |«      }	|j                  ddd«      }
t         |	|
«       ||
«      «       y r  )rF   rÁ  r1  rÔ  rö   rÄ  rc  r   r   r“   r   r
  r2  r   )r,   rw  r6  r.   r-   r]  r÷   r)  r  rÇ  r5  s              r0   Útest_from_spline_2zTestPPoly.test_from_spline_2•  s´   € ä�i‰i×#Ñ# DÓ)ˆÜ�G‰G”B—E‘E˜!˜SŸX™X b›\¨1Ð,Ñ-Ó.ˆØ�H‰H”S˜“VÓˆÜ˜˜A Ô#‰ˆˆ1ˆaÜ�b—j‘j “m R§Z¡Z°£]°AÓ6ˆÜ×Ñ˜sÓ#ˆà�[‰[˜˜A˜rÓ"ˆÜ™˜2›¡ B£Õ(r6   c                 ó  — t         j                  j                  d«       |j                  g d¢g«      j                  }|j                  g d¢g«      j                  }|j                  ddgg«      j                  }|j                  ddg«      }t        ||«      }t        ||«      }t        ||«      }t        |j                  «       j                  |j                  «       t        |j                  d«      j                  |j                  «       y )	NrÀ  )r   rA   r(   rk   )rÎ   r!  r(   é   r!  r   rk   r(   )	rF   rÁ  rÂ  r“   rŒ  r   r   rî  r÷   )	r,   rw  r÷   ÚdcÚddcr.   rÇ  ÚdppÚddpps	            r0   Útest_derivative_simplez TestPPoly.test_derivative_simple¡  sÃ   € Ü
�	‰	�‰�tÔØ�J‰Jš�~Ó&×(Ñ(ˆØ�Z‰Zš˜Ó(×*Ñ*ˆØ�j‰j˜5 %˜.Ð)Ó*×,Ñ,ˆØ�J‰J˜˜1�vÓˆä�1�a‹[ˆÜ�B˜‹lˆÜ�S˜!‹}ˆä˜Ÿ™›×)Ñ)¨3¯5©5Ô1Ü˜Ÿ™ aÓ(×*Ñ*¨D¯F©FÕ3r6   c                 óP  — t         j                  j                  d«      }t        j                  t         j                  d|j                  d«      df   «      }|j                  t        |«      «      }t        ||d¬«      \  }}}|j                  |«      |j                  |«      }	}t        j                  ||	|f«      }
t        j                  ddd«      }|j                  |«      }t        dd«      D ]2  }t         |
||«      |j                  t        ||||f|«      «      «       Œ4 y )NrÀ  r   rŽ   rk   r	  r   rA   )rF   rÁ  r1  rÔ  rö   rÄ  rc  r   r“   r   r
  r2  r	  r   r   )r,   rw  r6  r.   r-   r\  rV  r)  r]  r÷   rÇ  r^  r5  Údxs                 r0   Útest_derivative_evalzTestPPoly.test_derivative_eval¯  só   € Ü�i‰i×#Ñ# DÓ)ˆÜ�G‰G”B—E‘E˜!˜SŸX™X b›\¨1Ð,Ñ-Ó.ˆØ�H‰H”S˜“VÓˆä˜q ! qÔ)‰ˆˆd�AØ�z‰z˜$Ó §¡¨DÓ!1ˆ1ˆÜ×Ñ  1 a˜yÓ)ˆä—‘˜A˜q #Ó&ˆØ�Z‰Z˜ÓˆÜ˜˜1“+ò 	WˆBÜ™B˜r 2›J¨¯
©
´5¸ÀÀtÈQÀÐQSÓ3TÓ(UÕVñ	Wr6   c                 ó"  — t         j                  j                  d«      }t        j                  t         j                  d|j                  d«      df   «      }|j                  t        |«      «      }t        ||dd¬«      \  }}}|j                  |«      |j                  |«      }	}t        j                  ||	|f«      }
|j                  ddd«      }t        dd«      D ]/  }t         |
||«       |
j                  |«      |«      d	|› �¬
«       Œ1 y )NrÀ  r   rŽ   rk   r<   ©r)  r)  r   r@   údx=r#  )rF   rÁ  r1  rÔ  rö   rÄ  rc  r   r“   r   r
  r2  r	  r   rî  )r,   rw  r6  rW  Úy_npr\  rV  r)  r]  r÷   rÇ  r5  rk  s                r0   r  zTestPPoly.test_derivative½  sç   € Ü�i‰i×#Ñ# DÓ)ˆÜ�w‰w”r—u‘u˜Q §¡¨£¨aÐ/Ñ0Ó1ˆØ�x‰xœ˜D›	Ó"ˆä˜t T¨Q°!Ô4‰ˆˆd�AØ�z‰z˜$Ó §¡¨DÓ!1ˆ1ˆÜ×Ñ  1 a˜yÓ)ˆà�[‰[˜˜A˜sÓ#ˆÜ˜˜2“,ò 	SˆBÜ™B˜r 2›JÐ(9¨¯©°bÓ(9¸"Ó(=ÈÈRÈDÀzÖRñ	Sr6   c           
      óÐ  — t        |j                  dgg«      |j                  ddg«      «      }t        |j                  «       j                  t        |j                  dgdgg«      |j                  ddg«      «      j                  «       t        |j                  «       j
                  t        |j                  dgdgg«      |j                  ddg«      «      j
                  «       y )Nrx   r   rk   )r   r“   r   rï  r÷   r.   )r,   rw  rg  s      r0   Útest_antiderivative_of_constantz)TestPPoly.test_antiderivative_of_constantÊ  sº   € ä�"—*‘*˜r˜d˜VÓ$ b§j¡j°!°Q°Ó&8Ó9ˆÜØ×ÑÓ× Ñ Ü�"—*‘*˜q˜c A 3˜ZÓ(¨"¯*©*°a¸°VÓ*<Ó=×?Ñ?ô	
ô 	Ø×ÑÓ× Ñ Ü�"—*‘*˜q˜c A 3˜ZÓ(¨"¯*©*°a¸°VÓ*<Ó=×?Ñ?õ	
r6   c                 óN  — t        |j                  ddgg«      |j                  g d¢«      «      }|j                  «       }t        |j                  |j                  ddgddgg|j
                  ¬«      «       t        |j                  |j                  g d¢|j
                  ¬«      «       t        |j                  dd«      |j                  d	|j
                  ¬«      «       t        |j                   |d«       |d«      z
  «      |j                  d	|j
                  ¬«      «       y )
Nrx   r)   rž   rk   r   r™   )r>   rk   r(   r(   r¾   )	r   r“   rï  r   r÷   r¡   r.   r   r5  )r,   rw  rg  Úqs       r0   Ú#test_antiderivative_regression_4355z-TestPPoly.test_antiderivative_regression_4355Ö  sØ   € ä�"—*‘*˜r 3˜i˜[Ó)¨2¯:©:²iÓ+@ÓAˆØ×ÑÓˆÜ˜Ÿ™˜RŸZ™Z¨!¨S¨°A°q°6Ð(:À"Ç*Á*˜ZÓMÔNÜ˜Ÿ™˜RŸZ™Zª¸2¿:¹:˜ZÓFÔGÜ˜Ÿ™ A qÓ)¨2¯:©:°cÀÇÁ¨:Ó+LÔMÜ˜Ÿ
™
¡1 Q£4©!¨A«$¡;Ó/ØŸ
™
 3¨b¯j©j˜
Ó9õ	;r6   c                 óò  — |j                  g d¢g d¢g|j                  ¬«      j                  }|j                  g d¢g d¢g|j                  ¬«      j                  }|j                  g d¢g d¢g|j                  ¬«      j                  }|j                  g d¢|j                  ¬«      }t        ||«      }|j	                  «       }|j	                  d	«      }|j	                  «       }	t        |j                  |«       t        |j                  j                  |j                  «       t        |j                  j                  |j                  «       t        |	j                  j                  |j                  «       y )
N)rA   r(   rk   )r   r   ç      û?r™   )rk   rk   rk   r   )r   r   rw  ç      Õ?)ç      Ð?gUUUUUUÕ?r)   r   r   )r   r   g      ë?rx  g«ªªªª*£?)r   ry  rk   r(   )r“   r¡   rŒ  r   rï  r   r.   r÷   )
r,   rw  r÷   ÚicÚiicr.   rÇ  ÚippÚiippÚiipp2s
             r0   Útest_antiderivative_simplez$TestPPoly.test_antiderivative_simpleà  s  € ð �J‰Jš	¢>Ð2¸"¿*¹*ˆJÓE×GÑGˆð �Z‰ZšÒ'?Ð@ÈÏ
É
ˆZÓS×UÑUˆð �j‰jÒ/ÚJðLà!Ÿz™zð ó 
÷ ‰!ð 	ð �J‰J’|¨2¯:©:ˆJÓ6ˆä�1�a‹[ˆØ×ÑÓ!ˆØ× Ñ  Ó#ˆØ×"Ñ"Ó$ˆä˜Ÿ™˜qÔ!Ü˜Ÿ™Ÿ™ §¡Ô&Ü˜Ÿ™Ÿ™ #§%¡%Ô(Ü˜Ÿ™Ÿ	™	 3§5¡5Õ)r6   c                 óÜ  — t         j                  j                  d«      }t        j                  ddd«      dz  }|j	                  t        |«      «      }t        ||dd¬«      \  }}}|j                  |«      |j                  |«      }	}t        j                  ||	|f«      }
t        dd«      D ]½  }|
j                  |«      }|j                  |«      }t        |
j                  |j                  «       t        |«      D ]k  }|j                  |«      }d	}||j                  d d
 z  d|z
  |j                  dd  z  z   }t         ||j                  dd  «       ||«      dd|› d|› �¬«       Œm Œ¿ y )NrÀ  r   rk   rB   r(   r<   rn  r@   r.  rD   r¬   ro  z k=)r‘   r¯   )rF   rÁ  r1  r2  rÄ  rc  r   r“   r   r
  r	  rï  rî  r   r÷   r.   )r,   rw  r6  rW  rp  r\  rV  r)  r]  r÷   rÇ  rk  r|  rÈ  ÚrrË  s                   r0   Ú!test_antiderivative_vs_derivativez+TestPPoly.test_antiderivative_vs_derivativeù  sR  € Ü�i‰i×#Ñ# DÓ)ˆÜ�{‰{˜1˜a Ó$ aÑ'ˆØ�x‰xœ˜D›	Ó"ˆÜ˜t T¨Q°!Ô4‰ˆˆd�AØ�z‰z˜$Ó §¡¨DÓ!1ˆ1ˆÜ×Ñ  1 a˜yÓ)ˆä˜˜2“,ò 	ˆBØ×#Ñ# BÓ'ˆCð —.‘. Ó$ˆCÜ˜BŸD™D #§%¡%Ô(ô ˜2“Yò �Ø—n‘n QÓ'�à�Ø˜SŸU™U 3 B˜Z™<¨1¨q©5°#·%±%¸¸°)Ñ*;Ñ;�äÙ˜Ÿ™˜a˜b˜	“N¡C¨£M¸ÈÈBÈ4ÈsÐSTÐRUÐFVöññ	r6   c                 óš  — t         j                  j                  d«      }t        j                  t         j                  d|j                  d«      df   «      }|j                  t        |«      «      }t        ||dd¬«      \  }}}|j                  |«      |j                  |«      }	}t        j                  ||	|f«      }
t        dd«      D ]~  }|
j                  |«      }t        |||f|«      \  }}}t        j                  ddd«      }|j                  |«      }t         ||«      |j                  t!        ||||f«      «      d	¬
«       Œ€ y )NrÀ  r   rŽ   rk   r<   rn  r@   r   r¬   r�   )rF   rÁ  r1  rÔ  rö   rÄ  rc  r   r“   r   r
  r	  rï  r   r2  r   r   )r,   rw  r6  rW  rp  r\  rV  r)  r]  r÷   rÇ  rk  rÈ  Út2_npÚc2_npÚk2r^  r5  s                     r0   Útest_antiderivative_vs_splinez'TestPPoly.test_antiderivative_vs_spline  s  € Ü�i‰i×#Ñ# DÓ)ˆÜ�w‰w”r—u‘u˜Q §¡¨£¨aÐ/Ñ0Ó1ˆØ�x‰xœ˜D›	Ó"ˆä˜t T¨Q°!Ô4‰ˆˆd�AØ�z‰z˜$Ó §¡¨DÓ!1ˆ1ˆÜ×Ñ  1 a˜yÓ)ˆä˜˜2“,ò 	'ˆBØ×#Ñ# BÓ'ˆCÜ)¨4°°q¨/¸2Ó>ÑˆE�5˜"Ü—K‘K  1 cÓ*ˆEØ—‘˜EÓ"ˆBÜ™C ›G R§Z¡Z´°e¸eÀUÈBÐ=OÓ0PÓ%QØ!%ö'ñ	'r6   c                 óP  — |j                  g d¢g d¢g«      j                  }|j                  g d¢|j                  ¬«      }t        ||«      }|j	                  «       }t         |d«       |d«      d¬«       |j                  «       }t        |j                  |j                  «       y )	N)r(   rk   r(   r(   )r(   rk   rA   rA   r  r™   gAíþÿÿß?g_p‰   à?g:Œ0âŽyE>r�   )r“   rŒ  r¡   r   rï  r   rî  r÷   )r,   rw  r÷   r.   rg  rL  r×  s          r0   Útest_antiderivative_continuityz(TestPPoly.test_antiderivative_continuity$  s   € Ø�J‰Jš¢lÐ3Ó4×6Ñ6ˆØ�J‰J’{¨"¯*©*ˆJÓ5ˆä�!�Q‹KˆØ×ÑÓˆô 	™˜:›©¨:«¸TÕBð �]‰]‹_ˆÜ˜Ÿ™˜aŸc™cÕ"r6   c                 óJ  — t         j                  j                  d«      }t        j                  t         j                  d|j                  d«      df   «      }|j                  t        |«      «      }t        ||dd¬«      \  }}}|j                  |«      |j                  |«      }	}t        j                  ||	|f«      }
d\  }}|
j                  ||«      }|
j                  «       }t        | ||«       ||«      z
  d¬	«       t        ||j                  t        |||||f«      |j                  ¬
«      d¬	«       d\  }}|
j                  ||d¬«      }t        | ||«       ||«      z
  d¬	«       |j!                  |j#                  |
j                  ||d¬«      «      «      sJ ‚y )NrÀ  r   rŽ   rk   r<   rn  )r  çÍÌÌÌÌÌì?F©Úcheck_0dr™   )r"  r‹  Trž  )rF   rÁ  r1  rÔ  rö   rÄ  rc  r   r“   r   r
  r5  rï  r   r   r¡   r¨   ry   )r,   rw  r6  rW  rp  r\  rV  r)  r]  r÷   rÇ  r'  r*  Úigr|  s                  r0   Útest_integratezTestPPoly.test_integrate2  se  € Ü�i‰i×#Ñ# DÓ)ˆÜ�w‰w”r—u‘u˜Q §¡¨£¨aÐ/Ñ0Ó1ˆØ�x‰xœ˜D›	Ó"ˆä˜t T¨Q°!Ô4‰ˆˆd�AØ�z‰z˜$Ó §¡¨DÓ!1ˆ1ˆÜ×Ñ  1 a˜yÓ)ˆà‰ˆˆ1Ø�\‰\˜!˜QÓˆà×ÑÓ!ˆÜ˜™C ›F¡S¨£V™O°eÕ<ÜØ�—
‘
œ6 ! Q¨¨t°Q¨Ó8ÀÇ
Á
�
ÓKØõ	
ð
 ‰ˆˆ1Ø�\‰\˜!˜Q¨Dˆ\Ó1ˆÜ˜™C ›F¡S¨£V™O°eÕ<à�v‰v�b—h‘h˜rŸ|™|¨A¨q¸e˜|ÓDÓEÔFÐFÑFr6   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©rk   r(   r   r>   rŒ   r=   ç       €rx   rT  rk   r   )rF   rO   rU  rV  r   r5  rF  r¨   )r,   r.   r÷   rV  rú  rH  s         r0   Útest_integrate_readonlyz!TestPPoly.test_integrate_readonlyK  sˆ   € Ü�H‰H’YÓˆÜ�H‰H�r˜2�h  c 
¨R°¨I¸¸B°xÐ@ÓAˆà&ò 	+ˆIØ )ˆA�G‰GÔä�a˜“ˆAØ—;‘;˜q !Ó$ˆDä—;‘;˜tÓ$×(Ñ(Õ*Ð*Ð*ñ	+r6   c           	      óp  — t        j                  g d¢«      }t        j                  ddgddgddgddgg«      }|j                  |«      |j                  |«      }}t        ||d¬«      }|j	                  «       }|j                   |d	«       |d
«      z
  |j
                  ¬«      }t        |j                  d
d	«      |«       t        |j                  dd«      |«       t        |j                  dd«      |j                  d|z  «      «       t        |j                  dd«      |j                   |d«       |d«      z
  |j
                  ¬«      «       t        |j                  dd«      |j                   |d«       |d
«      z
   |d	«      z    |d«      z
  |j
                  ¬«      «       t        |j                  dd«      |j                   |d«       |d
«      z
   |d	«      z    |d«      z
  |j
                  ¬«      «       t        |j                  dd«      |j                   |d«       |d
«      z
   |d	«      z    |d«      z
  d	|z  z   |j
                  ¬«      «       t        |j                  dd«      |j                   |d«       |d«      z
  |j
                  ¬«      «       t        |j                  dd«      |j                   |d«       |d«      z
  |j
                  ¬«      «       t        |j                  dd«      |j                   |d«       |d«      z
  d|z  z
  |j
                  ¬«      «       y )Nr‘  r>   rŒ   r=   r’  rx   r!  rž  r   rk   r™   rÿ   éùÿÿÿrŸ  r(   r¾   r/  rs  r<   ç      /@r�  r   rD   rA   é÷ÿÿÿ)rF   rO   r“   r   rï  r¡   r   r5  )	r,   rw  rW  rV  r.   r÷   rú  ÚIÚ
period_ints	            r0   Útest_integrate_periodicz!TestPPoly.test_integrate_periodicW  s¦  € Ü�x‰xš	Ó"ˆÜ�x‰x˜"˜b˜ C¨ :°°C¨y¸2¸r¸(ÐCÓDˆà�z‰z˜$Ó §¡¨DÓ!1ˆ1ˆä�!�Q JÔ/ˆØ×ÑÓˆà—Z‘Z¡ !£¡q¨£t¡°2·:±:�ZÓ>ˆ
ä˜Ÿ™ A qÓ)¨:Ô6Ü˜Ÿ™ C¨Ó,¨jÔ9Ü˜Ÿ™ C¨Ó,¨b¯j©j¸¸Z¹Ó.HÔIä˜Ÿ™ C¨Ó-ØŸ
™
¡1 S£6©A¨c«F¡?¸"¿*¹*˜
ÓEô	Gä˜Ÿ™ C¨Ó+ØŸ
™
¡1 Q£4©!¨A«$¡;±°1³Ñ#5¹¸#»Ñ#>ÀbÇjÁj˜
ÓQô	Sä˜Ÿ™ H¨fÓ5ØŸ
™
¡1 Q£4©!¨A«$¡;±°1³Ñ#5¹¸#»Ñ#>ÀbÇjÁj˜
ÓQô	SäØ�K‰K˜˜VÓ$Ø�J‰JÙ�!“‘q˜“t‘™a ›dÑ"¡Q s£VÑ+¨a°*©nÑ<ÀBÇJÁJð ó ô	
ô 	˜Ÿ™ A rÓ*ØŸ
™
¡1 Q£4©!¨A«$¡;°b·j±j˜
ÓAô	Cä˜Ÿ™ B¨Ó,ØŸ
™
¡1 Q£4©!¨A«$¡;°b·j±j˜
ÓAô	Cä˜Ÿ™ A sÓ+ØŸ
™
¡1 Q£4©!¨A«$¡;°°Z±Ñ#?ÀrÇzÁz˜
ÓRõ	Tr6   c           
      ó�  — t        j                  ddd«      dz  }t        j                  d|z  «      }t        ||dd¬«      \  }}}|j	                  |«      |j	                  |«      }}t        j                  |||f«      }	|	j                  «       }
|
|
dk\  |
d	k  z     }
t        |
|j	                  t        |||f«      «      d
¬«       y )Nr   rk   r1  r(   rB   rA   rn  gVçž¯Ò¼g     ð?r›   rœ   )
rF   r2  r   r   r“   r   r
  r%  r   r   )r,   rw  rW  rp  r\  rV  r)  r]  r÷   rÇ  r�  s              r0   Ú
test_rootszTestPPoly.test_rootsy  s³   € ä�{‰{˜1˜a Ó$ aÑ'ˆÜ�v‰v�b˜‘g‹ˆä   t¨q°AÔ6‰ˆˆt�QØ�z‰z˜$Ó §¡¨DÓ!1ˆ1ˆÜ×Ñ  1 a˜yÓ)ˆà�H‰H‹JˆØˆq�I‰~ ! y¡.Ñ1Ñ2ˆÜ˜˜2Ÿ:™:¤f¨d°D¸!¨_Ó&=Ó>ÀUÖKr6   c           	      ó>  — |j                  ddgddgddgg|j                  ¬«      j                  }|j                  g d¢|j                  ¬«      }t        ||«      }t	        |j                  «       |j                  dd|j                  dg|j                  ¬«      «       d}t        |«      }|d	d d …fxx   |z  cc<   |j                  |«      }t        ||«      }t	        |j                  |«      |j                  dd|j                  dg|j                  ¬«      «       y )
NrD   ry  r   r™   )r   rÝ  rS  rx   rÝ  g333333ë?r=   rk   )	r“   r¡   rŒ  r   r   r%  r£   r	   Úsolve)r,   rw  r÷   r.   rÇ  ÚconstÚc1rÍ  s           r0   Útest_roots_idzerozTestPPoly.test_roots_idzero†  s÷   € ð �J‰J˜˜T˜
 Q¨ F¨R°¨JÐ7¸r¿z¹zˆJÓJ×LÑLˆØ�J‰JÒ)°·±ˆJÓ<ˆä�1�a‹[ˆÜØ�H‰H‹JØ�J‰J˜˜c 2§6¡6¨:Ð6¸b¿j¹jˆJÓIô	
ð
 ˆÜ˜qÓ!ˆØ
ˆ1Šaˆ4‹�EÑ‹Ø�Z‰Z˜‹^ˆÜ�B˜‹lˆäØ�I‰I�eÓØ�J‰J˜˜c 2§6¡6¨:Ð6¸b¿j¹jˆJÓIõ	
r6   rž  c           	      óì  — dgdgg}ddg}t        |j                  |«      |j                  |«      «      }t        |j                  «       |j                  d|j                  g|j
                  ¬«      «       t        |j                  d«      |j                  d|j                  g|j
                  ¬«      «       t        |j                  d«      |j                  g |j
                  ¬«      «       ddgddgg}g d¢}t        |j                  |«      |j                  |«      «      }t        |j                  «       |j                  d|j                  d|j                  g|j
                  ¬«      «       t        |j                  d«      |j                  d|j                  d|j                  g|j
                  ¬«      «       t        |j                  d«      |j                  g |j
                  ¬«      «       y )Nr   rk   r™   rž   )r   r“   r   r%  r£   r¡   rž  r  s        r0   Útest_roots_all_zerozTestPPoly.test_roots_all_zerož  ss  € ð ˆS�1�#ˆJˆØ�ˆFˆÜ�"—*‘*˜Q“- §¡¨A£Ó/ˆÜ˜Ÿ™›	 2§:¡:¨q°"·&±&¨kÀÇÁ :Ó#LÔMÜ˜Ÿ™ ›
 B§J¡J°°2·6±6¨{À"Ç*Á* JÓ$MÔNÜ˜Ÿ™ ›
 B§J¡J¨r¸¿¹ JÓ$DÔEà�ˆV�a˜�VÐˆÚˆÜ�"—*‘*˜Q“- §¡¨A£Ó/ˆÜØ�G‰G‹I�r—z‘z 1 b§f¡f¨a°·±Ð"8ÀÇ
Á
�zÓKô	
ô 	Ø�G‰G�A‹J˜Ÿ
™
 A r§v¡v¨q°"·&±&Ð#9ÀÇÁ˜
ÓLô	
ô 	˜Ÿ™ ›
 B§J¡J¨r¸¿¹ JÓ$DÕEr6   c                 ó’  — |j                  g d¢g d¢g|j                  ¬«      j                  }|j                  g d¢|j                  ¬«      }t        ||«      }t	        |j                  «       |j                  ddg|j                  ¬«      «       t	        |j                  d¬«      |j                  dg|j                  ¬«      «       y )	N)rk   r   rD   )rD   r   r   r™   rØ   g       Àr>   Frž  )r“   r¡   rŒ  r   r   r%  ©r,   rw  r÷   r.   rÇ  s        r0   Útest_roots_repeatedzTestPPoly.test_roots_repeated³  s–   € ð �J‰Jš
¢JÐ/°r·z±zˆJÓB×DÑDˆØ�J‰J’z¨¯©ˆJÓ4ˆä�1�a‹[ˆÜ˜Ÿ™›
 B§J¡J°°c¨{À"Ç*Á* JÓ$MÔNÜØ�H‰H ˆHÓ'¨¯©°S°EÀÇÁ¨Ó)Lõ	
r6   c                 óD  — |j                  dgdgg|j                  ¬«      j                  }|j                  g d¢|j                  ¬«      }t        ||«      }t	        |j                  «       |j                  dg|j                  ¬«      «       t	        |j                  d¬«      |j                  g |j                  ¬«      «       t	        |j                  d«      |j                  dg|j                  ¬«      «       t	        |j                  dd¬«      |j                  g |j                  ¬«      «       t	        |j                  d«      |j                  g |j                  ¬«      «       t	        |j                  dd¬«      |j                  g |j                  ¬«      «       y )	Nrk   rD   r™   r  r)   F)Údiscontinuityr¾   )r“   r¡   rŒ  r   r   r%  rž  r¥  s        r0   Útest_roots_discontzTestPPoly.test_roots_discontÂ  s7  € ð �J‰J˜˜˜b˜T�{¨"¯*©*ˆJÓ5×7Ñ7ˆØ�J‰J’{¨"¯*©*ˆJÓ5ˆÜ�1�a‹[ˆÜ˜Ÿ™›
 B§J¡J°¨u¸B¿J¹J JÓ$GÔHÜØ�H‰H 5ˆHÓ)¨2¯:©:°bÀÇ
Á
¨:Ó+Kô	
ô
 	˜Ÿ™ › r§z¡z°3°%¸r¿z¹z zÓ'JÔKÜØ�H‰H�S¨ˆHÓ.°·
±
¸2ÀRÇZÁZ°
Ó0Pô	
ô 	˜Ÿ™ › r§z¡z°"¸B¿J¹J zÓ'GÔHÜØ�H‰H�S¨ˆHÓ.°·
±
¸2ÀRÇZÁZ°
Ó0Põ	
r6   Tz)solve returns object array for c.ndim > 2)Únp_onlyÚreasonc                 ó~  — t         j                  j                  d«      }d}dD �]�  }t        dd«      D �]n  }t        j                  t         j
                  dd|j                  d«      z  df   «      }d|j                  |dz   t        |«      dz
  dd	«      z  dz
  }|j                  |«      |j                  |«      }	}t        |	|«      }
d
t        |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¬«       Œ‰ Œ™ Œ½ �Œq �Œ„ |dkD  sJ t        |«      «       ‚y )NrÀ  r   rT  rÓ  r@   rB   r(   rk   rA   r>   F)r¨  ri   rž  )rê  ri   ú(z) r = r¬   )r�   r¯   rì   rþ   )rF   rÁ  r1  r	  rÃ  rö   rÄ  rc  r“   r   rE  rž  r-  Úreprr   )r,   rw  r6  Únumri   rÅ  rW  rV  r.   r÷   rÇ  r-   r�  ÚiÚjÚrrÚvalÚcmpvalr·  s                      r0   Útest_roots_randomzTestPPoly.test_roots_randomØ  sÏ  € ô �i‰i×#Ñ# DÓ)ˆàˆà(ó 	PˆKÜ˜q "›ó P�Ü—y‘y¤§¡ q¨"¨s¯x©x¸«|Ñ*;¸RÐ'?Ñ!@ÓA�Ø˜Ÿ™ %¨¡'¬3¨t«9°Q©;¸¸1Ó=Ñ=ÀÑA�Ø—z‘z $Ó'¨¯©°DÓ)9�1�Ü˜1˜a“[�Øœu S§Z¡Z£\Ó2Ð3ò 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ð. �SŠyÐ#œ$˜s›)Ó#‰yr6   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À  rk   rÐ   é‚   rA   )rk   r(   rk   r   r™   Úignore)r™  g»½×Ùß|Û=rœ   )rF   rÁ  r1  r	  rÄ  r„  r  Úcomplexr    Ú_croots_poly1ry   r¨   ÚabsÚerrstateÚravelr   Ú
zeros_like)	r,   r6  r)  r÷   r-   Úwrò  Úcresr°  s	            r0   Útest_roots_crootszTestPPoly.test_roots_crootsù  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                 óÜ  — t        j                  g d¢g«      j                  }t        j                  ddg«      }|j                  |«      |j                  |«      }}dD �]  }t	        |||¬«      }|j                  «       }|j                  «       }	|du rï|j                  |j                   ||j                  ddg«      «      «      «      sJ ‚|j                  |j                   |	|j                  ddg«      «      «      «      sJ ‚|j                  |j                   ||j                  ddg«      «      «      «      sJ ‚t        |«      rŒít        |j                  «       |j                  d	g|j                  ¬
«      «       �Œ%t         |ddg«      |j                  ddg|j                  ¬
«      «       |j                  |j                   |	|j                  ddg«      «      «      «      rJ ‚|j                  |j                   ||j                  ddg«      «      «      «      rJ ‚t        |«      r�ŒÕt        |j                  «       |j                  d	dg|j                  ¬
«      «       �Œ y )NrØ   r   rk   ©TFNrž  Fçš™™™™™¹¿çš™™™™™ñ?rx   r™   g®Gáz®ï?gèz®GáÊ¿rŒ   )rF   rO   rŒ  r“   r   rî  rï  r¨   ry   r   r   r%  r¡   r   Úany)
r,   rw  rV  rW  r÷   r.   ri   rÇ  Úpp_dÚpp_is
             r0   r¦  zTestPPoly.test_extrapolate_attr  sð  € ä�x‰xš˜Ó%×'Ñ'ˆÜ�x‰x˜˜A˜ÓˆØ�z‰z˜$Ó §¡¨DÓ!1ˆ1ˆà.ó 	ˆKÜ�q˜!¨Ô5ˆBØ—=‘=“?ˆDØ×$Ñ$Ó&ˆDà˜eÑ#Ø—v‘v˜bŸh™h¡r¨"¯*©*°d¸C°[Ó*AÓ'BÓCÔDÐDÐDØ—v‘v˜bŸh™h¡t¨B¯J©J¸¸c°{Ó,CÓ'DÓEÔFÐFÐFØ—v‘v˜bŸh™h¡t¨B¯J©J¸¸c°{Ó,CÓ'DÓEÔFÐFÐFÜ˜r•{Ü#ØŸ™›
 B§J¡J°¨u¸B¿J¹J JÓ$Göô  Ù˜˜c�{“OØ—J‘J ¨(Ð3¸2¿:¹:�JÓFôð Ÿ6™6 "§(¡(©4°·
±
¸DÀ#¸;Ó0GÓ+HÓ"IÔJÐJÐJØŸ6™6 "§(¡(©4°·
±
¸DÀ#¸;Ó0GÓ+HÓ"IÔJÐJÐJÜ˜r–{Ü#ØŸ™›
 B§J¡J°°T¨{À"Ç*Á* JÓ$Möñ+	r6   N)#r2   r3   r4   r  r#  rX  r   r   rG  rM  rP  rZ  r  rb  ri  rl  r  rr  ru  r  r‚  r‡  r‰  r�  r“  rš  rœ  r¡  r£  r¦  r©  Úskip_xp_backendsrµ  rÁ  r¦  r5   r6   r0   r  r  ø  sv  „ ò
òWò+ñ ˜˜wÐ'Ó(ñ1Có )ð1Còf-ò 
ò0ò 2ò0
)ò4òWòSò

ò;ò*ò2ò4'ò"#òGò2
+ò TñD ˜˜wÐ'Ó(ñ
Ló )ð
Lñ ˜˜wÐ'Ó(ñ
ó )ð
ñ. ˜˜wÐ'¨%°Ð)9Ó:ñFó ;ðFñ( ˜˜wÐ'Ó(ñ
ó )ð
ñ ˜˜wÐ'¨%°Ð)9Ó:ñ
ó ;ð
ñ* ˜˜wÐ'¨%°Ð)9Ó:Ù˜dÐ+VÔWñ$ó Xó ;ð$ò>Eó<r6   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                 óÂ   — |j                  ddg«      }|j                  dgg«      }t        ||«      }t         |d«      |j                  d|j                  ¬«      «       y )Nr   rk   rA   r<  rv   r™   ©r“   r   r   r¡   ©r,   rw  r.   r÷   r  s        r0   r  zTestBPoly.test_simple9  sP   € Ø�J‰J˜˜1�vÓˆØ�J‰J˜˜�uÓˆÜ�1�a‹[ˆÜ™˜3› §¡¨B°b·j±j Ó!AÕBr6   c                 óÆ   — |j                  ddg«      }|j                  dgdgg«      }t        ||«      }t         |d«      |j                  d|j                  ¬«      «       y )Nr   rk   rA   r<  ggfffff@r™   rÍ  rÎ  s        r0   Útest_simple2zTestBPoly.test_simple2?  sT   € Ø�J‰J˜˜1�vÓˆØ�J‰J˜˜˜a˜S�zÓ"ˆÜ�1�a‹[ˆÜ™˜3› §¡¨NÀ"Ç*Á* Ó!MÕNr6   c                 óÊ   — |j                  ddg«      }|j                  dgdgdgg«      }t        ||«      }t         |d«      |j                  d|j                  ¬«      «       y )Nr   rk   rA   r   r=  g433333@r™   rÍ  rÎ  s        r0   Útest_simple3zTestBPoly.test_simple3E  s]   € Ø�J‰J˜˜1�vÓˆØ�J‰J˜˜˜a˜S 1 #�Ó'ˆÜ�1�a‹[ˆÜÙˆs‹GØ�J‰JÐ@ÈÏ
É
ˆJÓSõ	
r6   c                 óÎ   — |j                  ddg«      }|j                  dgdgdgdgg«      }t        ||«      }t         |d«      |j                  d|j                  ¬«      «       y )Nr   rk   r(   r  g:ßO�—nð?r™   rÍ  rÎ  s        r0   Útest_simple4zTestBPoly.test_simple4N  sl   € Ø�J‰J˜˜1�vÓˆØ�J‰J˜˜˜a˜S 1 #¨ sÐ+Ó,ˆÜ�1�a‹[ˆÜ™˜3›ØŸ
™
ð (.ð 68·Z±Zð #ó Aõ	
r6   c                 óÒ   — |j                  ddg«      }|j                  dgdgdgdgdgg«      }t        ||«      }t         |d«      |j                  d|j                  ¬«      «       y )Nr   rk   r˜   r(   r  g”Ô	h"l@r™   rÍ  rÎ  s        r0   Útest_simple5zTestBPoly.test_simple5Y  so   € Ø�J‰J˜˜1�vÓˆØ�J‰J˜˜˜a˜S 1 #¨ s¨Q¨CÐ0Ó1ˆÜ�1�a‹[ˆÜ™˜3›ØŸ
™
ð &(ð 02¯z©zð	 #ó ;õ	
r6   c                 óæ  — |j                  g d¢«      }|j                  ddgddgddgg«      }t        ||d¬«      }t         |d«      |j                  d|j                  ¬	«      «       t         |d
«      |j                  d|j                  ¬	«      «       t         |dd«      |j                  d|j                  ¬	«      «       t         |d
d«      |j                  d|j                  ¬	«      «       y )N©r   rk   rA   rA   r   r(   r!  rž  g333333@gHáz®Gñ?r™   gÍÌÌÌÌÌô¿ç[�Âõ(\Ï?rk   çÌÌÌÌÌÌÀr  rÍ  rÎ  s        r0   r#  zTestBPoly.test_periodice  s¿   € Ø�J‰J’yÓ!ˆØ�J‰J˜˜A˜  A ¨¨A¨Ð/Ó0ˆä�1�a ZÔ0ˆä™˜3› §¡¨J¸b¿j¹j Ó!IÔJÜ™˜4› "§*¡*¨^À2Ç:Á: *Ó"NÔOä™˜3 ›
 B§J¡J¨x¸r¿z¹z JÓ$JÔKÜ™˜4 › R§Z¡Z°À2Ç:Á: ZÓ%NÕOr6   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        |j                  |||f«      \  }}	}
t        |	|d
¬«      }t        |j                  |
d	¬«      |j                  |d	¬«      d
¬«      }|j                  |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   rA   r+  r@   rk   rÄ  r<  r,  rD   Trž  rn   rÿ   rÓ  rþ   r.  r�   r/  r0  )rF   rÁ  r1  rÔ  rÕ  rt   rã  r“   r   r4  r   rî  rï  r5  )r,   rw  r6  r(  rñ  rW  Úca_npÚcd_npr.   r7  r<  r=  r  r>  r?  r@  rA  rB  r'  r*  rC  rD  s                         r0   rG  zTestBPoly.test_descendingq  sÒ  € Ü�i‰i×#Ñ# AÓ&ˆàˆØó 	,ˆAÜ—7‘7˜3Ÿ;™; q¨"¨a°!©eÓ4Ó5ˆDØ—K‘K  c°¸±¸A°�KÓ?ˆEà™$˜B˜$‘K×$Ñ$Ó&ˆEä˜BŸJ™J¨¨u°eÐ(<Ó=‰IˆAˆr�2ä�r˜1¨$Ô/ˆBÜ�r—w‘w˜r¨�wÓ+¨R¯W©W°Q¸R¨WÓ-@ÈdÔSˆBà—Z‘Z §¡¨C°°SÓ 9Ó:ˆ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Ø%*ö,ò	,ñ3	,r6   c                 ó–  — t         j                  j                  d«      }|j                  ddddd«      }t        j                  g d¢«      }|j                  |«      |j                  |«      }}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(   rk   rA   r  r  r<   rI  rJ  )rF   rÁ  r1  rÄ  rO   r“   r   r.   r  r÷   rî  )	r,   rw  r6  rV  rW  r÷   r.   rg  rK  s	            r0   rM  zTestBPoly.test_multi_shape•  s  € Ü�i‰i×#Ñ# DÓ)ˆØ�x‰x˜˜1˜a  AÓ&ˆÜ�x‰xšÓ$ˆØ�z‰z˜$Ó §¡¨DÓ!1ˆ1ˆÜ�!�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˜_Ò,Ð,Ñ,r6   c           	      ó  — |j                  ddg«      }|j                  dgdgdgg«      }t        ||«      }d}|dz  }t         ||«      |j                  dd|z
  z  d|z
  z  d|z  d|z
  z  z   d|z  |z  z   |j                  ¬«      «       y )Nr   r(   rA   rk   r   r<  r™   rÍ  )r,   rw  r.   r÷   r  Úxvalr)  s          r0   Útest_interval_lengthzTestBPoly.test_interval_length£  s˜   € Ø�J‰J˜˜1�vÓˆØ�J‰J˜˜˜a˜S 1 #�Ó'ˆÜ�1�a‹[ˆØˆØ�1‰HˆÜÙˆt‹HØ�J‰J�q˜A˜a™C‘y ! A¡#‘¨¨q©°!°A±#©Ñ6¸¸Q¹¸q¹Ñ@ÈÏ
É
ˆJÓSõ	
r6   c                 ó*  — |j                  g d¢«      }|j                  ddgddgddgg«      }t        ||«      }t         |d«      |j                  d|j                  ¬«      «       t         |d«      |j                  d	|j                  ¬«      «       y )
NrØ  rA   r   r(   rÝ  gGáz®Gñ?r™   ç333333û?rÙ  rÍ  rÎ  s        r0   Útest_two_intervalszTestBPoly.test_two_intervals®  sz   € Ø�J‰J’yÓ!ˆØ�J‰J˜˜A˜  A ¨¨A¨Ð/Ó0ˆÜ�1�a‹[ˆä™˜3› §¡¨K¸r¿z¹z Ó!JÔKÜ™˜3› §¡¨NÀ"Ç*Á* Ó!MÕNr6   c                 óÀ  — |j                  ddg|j                  ¬«      }|j                  dgdgdgg|j                  ¬«      }t        ||«      }dD �]
  }t        |||¬«      }|j                  «       }|d	u rs|j	                  |j                   ||j                  d
dg«      «      «      «      sJ ‚|j	                  |j                   ||j                  d
dg«      «      «      «      rŒ—J ‚|j                  |j                   ||j                  d
dg«      «      «      «      rJ ‚|j                  |j                   ||j                  d
dg«      «      «      «      s�ŒJ ‚ y )Nr   r(   r™   rA   rk   r   rÃ  rž  FrÄ  gÍÌÌÌÌÌ @)r“   r¡   r   rî  r¨   ry   rÆ  )r,   rw  r.   r÷   r  ri   Úbp_ds          r0   r¦  zTestBPoly.test_extrapolate_attr¶  s/  € Ø�J‰J˜˜1�v R§Z¡ZˆJÓ0ˆØ�J‰J˜˜˜a˜S 1 #�¨b¯j©jˆJÓ9ˆÜ�1�a‹[ˆà.ó 	KˆKÜ�q˜!¨Ô5ˆBØ—=‘=“?ˆDØ˜eÑ#Ø—v‘v˜bŸh™h¡r¨"¯*©*°d¸C°[Ó*AÓ'BÓCÔDÐDÐDØ—v‘v˜bŸh™h¡t¨B¯J©J¸¸c°{Ó,CÓ'DÓEÕFÐFÐFàŸ6™6 "§(¡(©2¨b¯j©j¸$À¸Ó.EÓ+FÓ"GÔHÐHÐHØŸ6™6 "§(¡(©4°·
±
¸DÀ#¸;Ó0GÓ+HÓ"IÖJÐJÐJñ	Kr6   N)r2   r3   r4   r  rÐ  rÒ  rÔ  rÖ  r#  rG  rM  rá  rä  r¦  r5   r6   r0   rË  rË  7  s?   „ òCòOò
ò	
ò

ò
Pò",òH-ò	
òOóKr6   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                 ó’  — |j                  g d¢«      }|j                  ddgddgddgg«      }t        ||«      }|j                  «       }t         |d«      |j                  d|j                  ¬«      «       t         |d«      |j                  d	|j                  ¬«      «       t        |j                  d
D �cg c]  } |d|«      ‘Œ c}«      |j                  g d¢|j                  ¬«      «       t        |j                  d
D �cg c]  } |d|«      ‘Œ c}«      |j                  g d¢|j                  ¬«      «       y c c}w c c}w )NrØ  rA   r   r(   rÝ  rÚ  r™   rã  r  ©rk   r(   rA   )rÚ  r~   r>   )r  rx   r   )r“   r   rî  r   r¡   r€  )r,   rw  r.   r÷   r  Úbp_derrê  s          r0   r  z!TestBPolyCalculus.test_derivativeÈ  s  € Ø�J‰J’yÓ!ˆØ�J‰J˜˜A˜  A ¨¨A¨Ð/Ó0ˆÜ�1�a‹[ˆØ—‘“ˆÜ™˜s› R§Z¡Z°ÀÇ
Á
 ZÓ%KÔLÜ™˜s› R§Z¡Z°¸2¿:¹: ZÓ%FÔGô 	˜Ÿ™¸	Ö!B°"¡" S¨"¥+Ò!BÓCØŸ
™
Ò#7¸r¿z¹z˜
ÓJô	
ô 	˜Ÿ™¸	Ö!B°"¡" S¨"¥+Ò!BÓCØŸ
™
¢<°r·z±z˜
ÓBõ	
ùò "Cùò "Cs   Â8D?ÄEc                 ó  — t         j                  j                  d«      }d\  }}t        j                  |j                  |«      «      }|j                  ||dz
  f«      }|j	                  |«      |j	                  |«      }}t        ||«      }t        j                  |«      }t        |«      D ]S  }	|j                  «       }|j                  «       }|j                  |d   |d   d«      }
t         ||
«       ||
«      «       ŒU y ©NrÀ  ©r<   r˜   rk   r   rD   é   )rF   rÁ  r1  rÔ  r“   r   r   r  r	  rî  r2  r   )r,   rw  r6  rñ  r)  r.   r÷   r  rÇ  Údrâ  s              r0   Ú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Ó ˆà�z‰z˜!‹}˜bŸj™j¨›mˆ1ˆÜ�1�a‹[ˆÜ×'Ñ'¨Ó+ˆä�q“ò 	.ˆAØ—‘“ˆBØ—‘“ˆBØ—+‘+˜a ™d A b¡E¨2Ó.ˆCÜ™B˜s›G¡R¨£WÕ-ñ		.r6   c           	      óò  — t         j                  j                  d«      }d\  }}t        j                  |j                  |«      «      }|j                  ||dz
  f«      }|j	                  «       |dz  fD ]�  }|j                  |«      |j                  |«      }	}t        ||	«      }
|j                  |	d   |	d   d«      }t        |«      D ]*  }t         |
||«       |
j                  |«      |«      «       Œ, Œƒ y )NrÀ  rî  rk   r0  r   rD   rï  )rF   rÁ  r1  rÔ  rt   r“   r   r2  r	  r   rî  )r,   rw  r6  rñ  r)  rW  rV  Úcc_npÚccr.   r  râ  r°  s                r0   Útest_deriv_inplacez$TestBPolyCalculus.test_deriv_inplaceé  sã   € Ü�i‰i×#Ñ# DÓ)ˆØ‰ˆˆ1Ü�w‰w�s—z‘z !“}Ó%ˆØ�z‰z˜1˜a ™c˜(Ó#ˆð —i‘i“k 4¨¡?Ð3ò 	CˆEØ—J‘J˜uÓ% r§z¡z°$Ó'7�ˆBÜ�r˜1“ˆBØ—+‘+˜a ™d A b¡E¨2Ó.ˆCÜ˜1“Xò C�Ü¡ 3¨£
Ð,<¨B¯M©M¸!Ó,<¸SÓ,AÕBñCñ		Cr6   c           
      óJ  — |j                  g d¢«      }|j                  ddgddgg«      }t        ||«      }|j                  «       }|j                  ddd|j                  ¬«      }t         ||«      |j                  |dk  |dz  dz  d	|z  |dz  dz
  z  d
z   «      dd¬«       y )NrØ  r   rk   rA   rŽ   r™   r(   r=   r)   g      è?r0  ©r�   r‘   )r“   r   rï  r2  r¡   r   Úwhere)r,   rw  r.   r÷   r  ÚbiÚxxs          r0   r  z,TestBPolyCalculus.test_antiderivative_simple÷  s©   € ð �J‰J’yÓ!ˆØ�J‰J˜˜A˜  A Ð'Ó(ˆä�1�a‹[ˆØ×ÑÓ ˆà�[‰[˜˜A˜r¨¯©ˆ[Ó4ˆÜ™˜2›ØŸ™  a¡¨¨Q©°©Ø),¨r©°R¸±U¸Q±YÑ)?À$Ñ)FóHà"¨ö	0r6   c                 óÐ  — t         j                  j                  d«      }|j                  t        j                  |j                  d«      «      |j
                  ¬«      }|j                  |j                  d«      |j
                  ¬«      }t        ||«      }|j                  |d   |d   d«      }t         |j                  «       j                  «       |«       ||«      dd¬	«       y )
NrÀ  rŽ   r™   ©r   r@   r(   rA   r   rD   rþ   r0  r÷  )rF   rÁ  r1  r“   rÔ  r¡   r   r2  r   rï  rî  ©r,   rw  r6  r.   r÷   r  rú  s          r0   Útest_der_antiderz"TestBPolyCalculus.test_der_antider  s°   € Ü�i‰i×#Ñ# DÓ)ˆØ�J‰J”r—w‘w˜sŸz™z¨"›~Ó.°b·j±jˆJÓAˆØ�J‰J�s—z‘z -Ó0¸¿
¹
ˆJÓCˆÜ�1�a‹[ˆà�[‰[˜˜1™˜q ™u cÓ*ˆÜÐ8˜×)Ñ)Ó+×6Ñ6Ó8¸Ó<Ù˜2› U°ö	8r6   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   rD   r@   r(   r0  r÷  )
rF   rÁ  r1  rÔ  r   r   r  r2  r   rï  )r,   r6  r.   r÷   r  rÇ  rú  s          r0   Ú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r6   c                 ó¬  — t         j                  j                  d«      }|j                  t        j                  |j                  d«      «      |j
                  ¬«      }|j                  |j                  d«      |j
                  ¬«      }t        ||«      j                  «       }|j                  dd }t         ||dz
  «       ||dz   «      dd¬	«       y )
NrÀ  rŽ   r™   ©r   r@   rk   rD   r�   r0  r÷  )
rF   rÁ  r1  r“   rÔ  r¡   r   rï  r.   r   rý  s          r0   Útest_antider_continuousz)TestBPolyCalculus.test_antider_continuous!  s¡   € Ü�i‰i×#Ñ# DÓ)ˆØ�J‰J”r—w‘w˜sŸz™z¨"›~Ó.°b·j±jˆJÓAˆØ�J‰J�s—z‘z 'Ó*°"·*±*ˆJÓ=ˆÜ�1�a‹[×'Ñ'Ó)ˆà�T‰T�!�BˆZˆÜ™˜2 ™:›Ù˜2 ™:›¨U¸ö	@r6   c                 ó’  — t         j                  j                  d«      }t        j                  |j                  d«      «      }|j                  d«      }|j	                  |«      |j	                  |«      }}t        ||«      }t        j                  |«      }t        |j                  dd«      |j                  dd«      ddd¬«       y )	NrÀ  rŽ   r  r   rk   r0  F)r�   r‘   r�  )
rF   rÁ  r1  rÔ  r“   r   r   r  r   r5  )r,   rw  r6  r.   r÷   r  rÇ  s          r0   r�  z TestBPolyCalculus.test_integrate+  s˜   € Ü�i‰i×#Ñ# DÓ)ˆÜ�G‰G�C—J‘J˜r“NÓ#ˆØ�J‰J�wÓˆØ�z‰z˜!‹}˜bŸj™j¨›mˆ1ˆÜ�1�a‹[ˆÜ×'Ñ'¨Ó+ˆÜ˜Ÿ™ Q¨Ó*ØŸ™ Q¨Ó*°¸UÈUö	Tr6   c                 óæ  — |j                  dgg|j                  ¬«      }|j                  ddg|j                  ¬«      }t        ||«      }t        |j	                  dd«      |j                  d|j                  ¬«      dd¬«       t        ||d¬	«      }|j                  |j	                  dd«      «      sJ ‚t        |j	                  ddd
¬	«      |j                  d|j                  ¬«      dd¬«       y )Nrk   r™   r   r(   r=   r�   F)r�   r�  rž  T)r“   r¡   r   r   r5  ry   )r,   rw  r÷   r.   r*  Úb1s         r0   Útest_integrate_extrapz'TestBPolyCalculus.test_integrate_extrap5  sÏ   € Ø�J‰J˜˜�u B§J¡JˆJÓ/ˆØ�J‰J˜˜1�v R§Z¡ZˆJÓ0ˆÜ�!�Q‹Kˆô 	˜Ÿ™ A qÓ)¨2¯:©:°bÀÇ
Á
¨:Ó+KØ"¨Uõ	4ô �1�a UÔ+ˆØ�x‰x˜Ÿ™ Q¨Ó*Ô+Ð+Ð+Ü˜Ÿ™ Q¨°t˜Ó<ØŸ
™
 2¨R¯Z©Z˜
Ó8¸uÈuö	Vr6   c           	      ó‚  — |j                  g d¢«      }|j                  ddgddgddgddgg«      }t        j                  t        ||«      d¬«      }|j	                  «       }|j                   |d	«       |d
«      z
  «      }t        |j                  d
d	«      |«       t        |j                  dd«      |«       t        |j                  dd«      |j                  d|z  «      «       t        |j                  dd«      |j                   |d«       |d«      z
  «      «       t        |j                  dd«      |j                   |d«       |d
«      z
   |d	«      z    |d«      z
  «      «       t        |j                  dd«      |j                   |d«       |d
«      z
   |d	«      z    |d«      z
  «      «       t        |j                  dd«      |j                   |d«       |d
«      z
   |d	«      z    |d«      z
  d	|z  z   «      «       t        |j                  dd«      |j                   |d«       |d«      z
  «      «       t        |j                  dd«      |j                   |d«       |d«      z
  «      «       t        |j                  dd«      |j                   |d«       |d«      z
  d|z  z
  «      «       y )Nr‘  r>   rŒ   r=   r’  rx   r!  rž  r   rk   rÿ   r•  rŸ  r(   r¾   r/  rs  r<   r–  r�  r   rD   rA   r—  )r“   r   r  r   rï  r   r5  )r,   rw  r.   r÷   rú  r˜  r™  s          r0   rš  z)TestBPolyCalculus.test_integrate_periodicD  s;  € Ø�J‰J’yÓ!ˆØ�J‰J˜˜R˜ 3¨ *¨r°3¨i¸"¸b¸ÐBÓCˆä×"Ñ"¤5¨¨A£;¸JÔGˆØ×ÑÓˆà—Z‘Z¡ !£¡q¨£t¡Ó,ˆ
ä˜Ÿ™ A qÓ)¨:Ô6Ü˜Ÿ™ C¨Ó,¨jÔ9Ü˜Ÿ™ C¨Ó,¨b¯j©j¸¸Z¹Ó.HÔIä˜Ÿ™ C¨Ó-¨r¯z©z¹!¸C»&Á1ÀSÃ6¹/Ó/JÔKÜ˜Ÿ™ C¨Ó+¨R¯Z©Z¹¸!»¹qÀ»t¹ÁaÈÃdÑ8JÉQÈsËVÑ8SÓ-TÔUÜ˜Ÿ™ H¨fÓ5ØŸ
™
¡1 Q£4©!¨A«$¡;±°1³Ñ#5¹¸#»Ñ#>Ó?ô	Aä˜Ÿ™ C¨Ó0ØŸ
™
¡1 Q£4©!¨A«$¡;±°1³Ñ#5¹¸#»Ñ#>ÀÀZÁÑ#OÓPô	Rô 	˜Ÿ™ A rÓ*¨B¯J©J±q¸³t¹aÀ»d±{Ó,CÔDÜ˜Ÿ™ B¨Ó,¨b¯j©j¹¸1»ÁÀ!Ã¹Ó.EÔFÜ˜Ÿ™ A sÓ+¨R¯Z©Z¹¸!»¹qÀ»t¹ÀaÈ*ÁnÑ8TÓ-UÕVr6   c                 óp  — |j                  dgg«      }|j                  ddg«      }t        ||«      }|j                  ddd«      }t         |j	                  d«      |«       |j                  «       |«      dd¬«       t         |j	                  d«      |«       |j                  d«      |«      dd¬«       y )Nrk   r   rï  rD   r0  r÷  )r“   r   r2  r   rî  rï  )r,   rw  r÷   r.   r*  rú  s         r0   Útest_antider_negz"TestBPolyCalculus.test_antider_neg\  s©   € à�J‰J˜˜�uÓˆØ�J‰J˜˜1�vÓˆÜ�!�Q‹Kˆà�[‰[˜˜A˜rÓ"ˆäÐ(˜Ÿ™ RÓ(¨Ó,Ð.@¨a×.>Ñ.>Ó.@ÀÓ.DØ"¨õ	0ä˜˜Ÿ™ Q›¨Ó+Ð-A¨Q×-=Ñ-=¸bÓ-AÀ"Ó-EØ"¨ö	0r6   N)r2   r3   r4   r  rñ  rõ  r  rþ  r   r  r�  r  rš  r
  r5   r6   r0   rè  rè  Æ  s?   „ ò
ò .ò"Cò0ò(8ò
Jò@òTòVòWó00r6   rè  c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚTestPolyConversionsc                 óP  — |j                  g d¢«      }|j                  ddgddgddgg«      }t        ||«      }t        j                  |«      }t        j                  |«      }|j                  ddg«      }t         ||«       ||«      «       t         ||«       ||«      «       y )	NrØ  rA   r(   rk   r˜   r   r<  çffffffö?)r“   r   r   r  r  r   )r,   rw  r.   r÷   rÇ  r  rÍ  Úxvs           r0   Útest_bp_from_ppz#TestPolyConversions.test_bp_from_ppl  s’   € Ø�J‰J’yÓ!ˆØ�J‰J˜˜A˜  A ¨¨A¨Ð/Ó0ˆÜ�1�a‹[ˆÜ×#Ñ# BÓ'ˆÜ×(Ñ(¨Ó,ˆà�Z‰Z˜˜c˜
Ó#ˆÜ™˜2›¡ 2£Ô'Ü™˜2›¡ B£Õ(r6   c                 óú  — t         j                  j                  d«      }d\  }}|j                  t        j                  |j                  |«      «      «      }|j                  |j                  ||dz
  f«      «      }t        ||«      }t        j                  |«      }t        j                  |«      }	|j                  |d   |d   d«      }
t         ||
«       ||
«      «       t         ||
«       |	|
«      «       y rí  )rF   rÁ  r1  r“   rÔ  r   r   r  r  r2  r   )r,   rw  r6  rñ  r)  r.   r÷   rÇ  r  rÍ  r  s              r0   Útest_bp_from_pp_randomz*TestPolyConversions.test_bp_from_pp_randomw  sÆ   € Ü�i‰i×#Ñ# DÓ)ˆØ‰ˆˆ1Ø�J‰J”r—w‘w˜sŸz™z¨!›}Ó-Ó.ˆØ�J‰J�s—z‘z 1 a¨¡c (Ó+Ó,ˆÜ�1�a‹[ˆÜ×#Ñ# BÓ'ˆÜ×(Ñ(¨Ó,ˆà�[‰[˜˜1™˜q ™u bÓ)ˆÜ™˜2›¡ 2£Ô'Ü™˜2›¡ B£Õ(r6   c                 ó€  — |j                  g d¢|j                  ¬«      }|j                  ddgddgddgg|j                  ¬«      }t        ||«      }t        j                  |«      }t        j
                  |«      }|j                  ddg«      }t         ||«       ||«      «       t         ||«       ||«      «       y )	NrØ  r™   rA   rk   r   r(   r<  r  )r“   r¡   r   r   r  r  r   )r,   rw  r.   r÷   r  rÇ  r  r  s           r0   Útest_pp_from_bpz#TestPolyConversions.test_pp_from_bp„  s¢   € Ø�J‰J’y¨¯
©
ˆJÓ3ˆØ�J‰J˜˜A˜  A ¨¨A¨Ð/°r·z±zˆJÓBˆÜ�1�a‹[ˆÜ×'Ñ'¨Ó+ˆÜ×$Ñ$ RÓ(ˆà�Z‰Z˜˜c˜
Ó#ˆÜ™˜2›¡ 2£Ô'Ü™˜2›¡ B£Õ(r6   c                 ó¢  — |j                  g d¢|j                  ¬«      }|j                  ddgddgddgg|j                  ¬«      }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™   rA   rk   r   r(   )r“   r¡   r   r*   Ú	TypeErrorr  r   r  )r,   rw  r.   r÷   rÇ  r  s         r0   Útest_broken_conversionsz+TestPolyConversions.test_broken_conversions�  s´   € à�J‰J’y¨¯
©
ˆJÓ3ˆØ�J‰J˜˜A˜  A ¨¨A¨Ð/°r·z±zˆJÓBˆÜ�1�a‹[ˆÜœ9Ó%ñ 	+Ü×&Ñ& rÔ*÷	+ô �1�a‹[ˆÜœ9Ó%ñ 	'Ü×"Ñ" 2Ô&÷	'ð 	'÷		+ð 	+ú÷	'ð 	'ús   Á!B9ÂCÂ9CÃCN)r2   r3   r4   r  r  r  r  r5   r6   r0   r  r  j  s   „ ò	)ò)ò	)ó
'r6   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        j                  dd|j                  dg|j                  ¬«      |j                  dg|j                  ¬«      «      }t	        ||j                  ddg|j                  ¬«      «       y )Nr   rk   r(   r™   rA   r=   rv   ©r   Ú_construct_from_derivativesr“   r¡   r   )r,   rw  r   s      r0   Útest_make_poly_1z)TestBPolyFromDerivatives.test_make_poly_1ž  sb   € Ü×.Ñ.Øˆq�"—*‘*˜a˜S¨¯
©
�*Ó3°R·Z±ZÀÀÈ2Ï:É:°ZÓ5Vó
ˆô 	˜˜BŸJ™J¨¨B x°r·z±z˜JÓBÕCr6   c           	      óà  — t        j                  dd|j                  ddg|j                  ¬«      |j                  dg|j                  ¬«      «      }t	        ||j                  g d¢|j                  ¬«      «       t        j                  dd|j                  ddg|j                  ¬«      |j                  dg|j                  ¬«      «      }t	        ||j                  g d¢|j                  ¬«      «       t        j                  dd|j                  dg|j                  ¬«      |j                  ddg|j                  ¬«      «      }t	        ||j                  g d¢|j                  ¬«      «       y )	Nr   rk   r™   )rx   rx   rx   r(   rA   )r=   rs  rx   )r=   g      à¿rx   r  ©r,   rw  r   rÌ  Úc3s        r0   Útest_make_poly_2z)TestBPolyFromDerivatives.test_make_poly_2¤  s#  € Ü×.Ñ.Øˆq�"—*‘*˜a ˜V¨2¯:©:�*Ó6Ø�J‰J˜�s "§*¡*ˆJÓ-ó
ˆô 	˜˜BŸJ™J¢|¸2¿:¹:˜JÓFÔGô ×.Ñ.Øˆq�"—*‘*˜a ˜V¨2¯:©:�*Ó6Ø�J‰J˜�s "§*¡*ˆJÓ-ó
ˆô 	˜˜BŸJ™J¢~¸R¿Z¹Z˜JÓHÔIô ×.Ñ.Øˆq�"—*‘*˜a˜S¨¯
©
�*Ó3Ø�J‰J˜˜1�v R§Z¡ZˆJÓ0ó
ˆô 	˜˜BŸJ™J¢~¸R¿Z¹Z˜JÓHÕIr6   c           	      óâ  — t        j                  dd|j                  g d¢|j                  ¬«      |j                  dg|j                  ¬«      «      }t	        ||j                  g d¢|j                  ¬«      «       t        j                  dd|j                  dg|j                  ¬«      |j                  g d¢|j                  ¬«      «      }t	        ||j                  g d¢|j                  ¬«      «       t        j                  dd|j                  dd	g|j                  ¬«      |j                  dd
g|j                  ¬«      «      }t	        ||j                  g d¢|j                  ¬«      «       y )Nr   rk   rê  r™   r   )rx   ç«ªªªªªú?g«ªªªªª@r  )r   r(   rA   )rx   gUUUUUU	@g«ªªªªª
@r  r(   rA   )rx   r#  rv   r  r  r  s        r0   Útest_make_poly_3z)TestBPolyFromDerivatives.test_make_poly_3¹  s   € ä×.Ñ.Øˆq�"—*‘*šY¨b¯j©j�*Ó9Ø�J‰J˜�s "§*¡*ˆJÓ-ó
ˆô 	˜˜BŸJ™JÒ'<ÀBÇJÁJ˜JÓOÔPô ×.Ñ.Øˆq�"—*‘*˜a˜S¨¯
©
�*Ó3Ø�J‰J’y¨¯
©
ˆJÓ3ó
ˆô 	˜˜BŸJ™JÒ'=ÀRÇZÁZ˜JÓPÔQô ×.Ñ.Øˆq�"—*‘*˜a ˜V¨2¯:©:�*Ó6Ø�J‰J˜˜1�v R§Z¡ZˆJÓ0ó
ˆô 	˜˜BŸJ™JÒ'9ÀÇÁ˜JÓLÕMr6   c                 ó:  — t         j                  j                  d«      }|j                  t         j                  d|j                  d«      f   «      }|j                  t         j                  d|j                  d«      f   «      }t        j                  dd||«      }t        |d d …d f   |j                  ddg|j                  ¬«      «      }t        d«      D ]@  }t         |d«      ||   d¬	«       t         |d
«      ||   d¬	«       |j                  «       }ŒB y )Nrå  r   r<   rk   r™   r!  r>   FrŒ  rx   )rF   rÁ  r1  r“   rö   r   r  r¡   r	  r   rî  )r,   rw  r6  ÚyaÚybr÷   rÇ  r±  s           r0   Útest_make_poly_12z*TestBPolyFromDerivatives.test_make_poly_12Ï  sã   € Ü�i‰i×#Ñ# EÓ*ˆØ�Z‰ZœŸ™˜a §¡¨A£Ð.Ñ/Ó0ˆØ�Z‰ZœŸ™˜a §¡¨A£Ð.Ñ/Ó0ˆä×-Ñ-¨a°°B¸Ó;ˆÜ�1’Q˜�W‘:˜rŸz™z¨1¨a¨&¸¿
¹
˜zÓCÓDˆÜ�q“ò 	!ˆAÜ™B˜r›F B q¡E°EÕ:Ü™B˜r›F B q¡E°EÕ:Ø—‘“‰Bñ	!r6   c           	      óž  — t         j                  j                  d«      }|j                  ddg|j                  ¬«      }d\  }}|j                  |j                  |ddddf«      |j                  ¬«      }t        ||«      }t        j                  ||«      }t        ||«      }	|j                  ddd	«      }t         ||«       |	|«      «       y )
Nrå  r   rk   r™   )r˜   r<   r(   rA   r   rŽ   )	rF   rÁ  r1  r“   r¡   r   Ú_raise_degreer2  r   )
r,   rw  r6  r.   r)  rð  r÷   r  r   r  s
             r0   Útest_raise_degreez*TestBPolyFromDerivatives.test_raise_degreeÛ  s®   € Ü�i‰i×#Ñ# EÓ*ˆØ�J‰J˜˜1�v R§Z¡ZˆJÓ0ˆØ‰ˆˆ1Ø�J‰J�s—z‘z 1 a¨¨A¨q /Ó2¸"¿*¹*ˆJÓEˆÜ�1�a‹[ˆä× Ñ   AÓ&ˆÜ�B˜‹lˆà�[‰[˜˜A˜rÓ"ˆÜ™˜2›¡ B£Õ(r6   c           	      ó¶   — t        t        t        j                  |j	                  ddg|j
                  ¬«      |j	                  dg|j
                  ¬«      «       y )Nr   rk   r™   )r*   rp   r   r  r“   r¡   r½  s     r0   Ú
test_xi_yiz#TestBPolyFromDerivatives.test_xi_yiè  sB   € ÜÜœ×.Ñ.Ø�J‰J˜˜1�v R§Z¡ZˆJÓ0°"·*±*¸a¸SÈÏ
É
°*Ó2Sõ	
r6   c                 óÈ   — |j                  g d¢|j                  ¬«      }|j                  dgdgdgg|j                  ¬«      }t        t        t        j
                  ||«       y )N©r   r   rk   r™   r   )r“   r¡   r*   rp   r   r  )r,   rw  r5  rø   s       r0   Útest_coords_orderz*TestBPolyFromDerivatives.test_coords_orderî  sN   € Ø�Z‰Zš	¨¯©ˆZÓ4ˆØ�Z‰Z˜!˜˜q˜c A 3˜¨r¯z©zˆZÓ:ˆÜ”j¤%×"8Ñ"8¸"¸bÕAr6   c           
      óÎ  ‡— ‰j                  g d¢‰j                  ¬«      }t        t        ˆfd„ddgdgddgddgg«      «      }t	        j
                  ||«      }|j                  j                  dk(  sJ ‚|j                  «       }dD ]\  }t         ||«      ‰j                  d‰j                  ¬«      «       t         ||«      ‰j                  d‰j                  ¬«      «       Œ^ y )Nrí  r™   c                 ó>   •— ‰j                  | ‰j                  ¬«      S )Nr™   )r“   r¡   )r.   rw  s    €r0   ú<lambda>z5TestBPolyFromDerivatives.test_zeros.<locals>.<lambda>ø  s   ø€ ˜"Ÿ*™* Q¨b¯j©j˜*Ó9€ r6   r   )r   rA   )r>   r<  rx   rÅ  gffffffþ?r=   r/  r>   )
r“   r¡   r&  rã  r   r  r÷   r  rî  r   )r,   rw  r5  rø   rÇ  ÚppdrÚ  s    `     r0   Ú
test_zerosz#TestBPolyFromDerivatives.test_zerosó  sÌ   ø€ Ø�Z‰Zš¨B¯J©JˆZÓ7ˆäÜÛ9Ø�Q�˜!˜˜q !˜f q¨! fÐ-óó
ˆô ×#Ñ# B¨Ó+ˆØ�t‰t�z‰z˜VÒ#Ð#Ð#à�m‰m‹oˆØ3ò 	IˆCÜ™B˜s›G R§Z¡Z°¸2¿:¹: ZÓ%FÔGÜ™C ›H b§j¡j°¸B¿J¹J jÓ&GÕHñ	Ir6   c                 óH  — t         j                  j                  d«      }|j                  t	        |dz   «      D �cg c]
  }d|dz  z  ‘Œ c}|j
                  ¬«      }t	        |dz   «      D �cg c]"  }|j                  |j                  |«      «      ‘Œ$ }}||fS c c}w c c}w )NrÀ  rk   rx   r(   r™   )rF   rÁ  r1  r“   r	  r¡   )r,   rñ  r)  rw  r6  r±  r5  rø   s           r0   Ú_make_random_mkz(TestBPolyFromDerivatives._make_random_mk	  s„   € ä�i‰i×#Ñ# DÓ)ˆØ�Z‰Z¬E°!°A±#«JÖ7 q˜˜a ™d›Ò7¸r¿z¹zˆZÓJˆÜ16°q¸±s³Ö<¨Aˆb�j‰j˜Ÿ™ A›Õ'Ð<ˆÐ<Ø�2ˆvˆùò 8ùÚ<s   »BÁ-'Bc                 ó  — d\  }}| j                  |||«      \  }}t        j                  ||«      }t        |dz  «      D ]D  }t	         ||«      |j                  |D �cg c]  }||   ‘Œ	 c}«      «       |j                  «       }ŒF y c c}w )N©r<   rÎ   r(   )r7  r   r  r	  r   r€  rî  )	r,   rw  rñ  r)  r5  rø   rÇ  rÅ  Úyys	            r0   Útest_random_12z'TestBPolyFromDerivatives.test_random_12	  s€   € Ø‰ˆˆ1Ø×%Ñ% a¨¨BÓ/‰ˆˆBÜ×#Ñ# B¨Ó+ˆä˜1˜a™4“[ò 	!ˆEÜ™B˜r›F B§H¡HÀ"Ö-E¸B¨b°«iÒ-EÓ$FÔGØ—‘“‰Bñ	!ùÚ-Es   ÁBc           	      ó�   — d\  }}| j                  |||«      \  }}t        t        t        j                  fi t        ||d¬«      ¤Ž y )Nr9  r   ©r5  rø   Úorders)r7  r*   rp   r   r  r”   ©r,   rw  rñ  r)  r5  rø   s         r0   Útest_order_zeroz(TestBPolyFromDerivatives.test_order_zero	  sF   € Ø‰ˆˆ1Ø×%Ñ% a¨¨BÓ/‰ˆˆBÜ”j¤%×"8Ñ"8ñ 	0Ü˜" ¨AÔ.ó	0r6   c           
      óÒ   — d\  }}| j                  |||«      \  }}t        j                  ||d|z  dz
  ¬«       t        t        t        j                  fi t        ||d|z  ¬«      ¤Ž y )Nr9  r(   rk   ©r>  r=  )r7  r   r  r*   rp   r”   r?  s         r0   Útest_orders_too_highz-TestBPolyFromDerivatives.test_orders_too_high	  sd   € Ø‰ˆˆ1Ø×%Ñ% a¨¨BÓ/‰ˆˆBä×Ñ˜r 2¨a°©c°!©eÕ4Ü”j¤%×"8Ñ"8ñ 	2Ü˜" ¨A¨a©CÔ0ó	2r6   c           
      óÀ  — d\  }}| j                  |||«      \  }}d}t        j                  |||¬«      }t        |dz  dz   «      D ]6  }t	         ||dd dz
  «       ||dd dz   «      «       |j                  «       }Œ8 |j                  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 |j                  t        j                   ||dd dz
  «       ||dd dz   «      «      «      rJ ‚y )	Nr9  r<   rB  r(   rk   rD   r0  r!  )	r7  r   r  r	  r   rî  r¨   ÚxpxÚisclose)	r,   rw  rñ  r)  r5  rø   rÅ  rÇ  r±  s	            r0   Útest_orders_globalz+TestBPolyFromDerivatives.test_orders_global"	  sw  € Ø‰ˆˆ1Ø×%Ñ% a¨¨BÓ/‰ˆˆBð ˆÜ×#Ñ# B¨°5Ô9ˆä�u˜a‘x ‘zÓ"ò 	!ˆAÜ™B˜r ! B˜x¨%Ñ/Ó0±"°R¸¸"°XÀÑ5EÓ2FÔGØ—‘“‰Bð	!ð —6‘6œ#Ÿ+™+¡b¨¨A¨b¨°EÑ)9Ó&:¹B¸rÀ!ÀB¸xÈ%Ñ?OÓ<PÓQÔRÐRÐRð
 ˆÜ×#Ñ# B¨°5Ô9ˆÜ�u˜a‘x“ò 	!ˆAÜ™B˜r ! B˜x¨%Ñ/Ó0±"°R¸¸"°XÀÑ5EÓ2FÔGØ—‘“‰Bð	!ð —6‘6œ#Ÿ+™+¡b¨¨A¨b¨°EÑ)9Ó&:¹B¸rÀ!ÀB¸xÈ%Ñ?OÓ<PÓQÔRÐRÐRÐRr6   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 |j                  t        j                   |
|	dz
  «       |
|	dz   «      «      «      sŒ�J ‚ y c c}w )N)r"  rÎ   rk   rD   rB  r(   r0  )
r7  r	  r%  r   r  r   rî  r¨   rE  rF  )r,   rw  rñ  r)  r5  rø   Úor>  r°  r.   rÇ  r±  s               r0   Útest_orders_localz*TestBPolyFromDerivatives.test_orders_local:	  sì   € Ø‰ˆˆ1Ø×%Ñ% a¨¨BÓ/‰ˆˆBä!& q£Ö*˜A�!�a“%Ð*ˆÐ*Ü˜b  2˜hÓ'ò 	I‰DˆAˆqÜ×'Ñ'¨¨B°vÔ>ˆBÜ˜6 !™9¨™>¨AÑ-Ó.ò %�Ü¡ 1 u¡9£©r°!°e±)«}Ô=Ø—]‘]“_‘ð%ð —v‘vœcŸk™k©"¨Q°©Y«-¹¸AÀ¹I»ÓGÕHÐHÐHñ	Iùò +s   ©C&c           	      óz  — t         j                  j                  d«      }d\  }}|j                  t        j                  |j                  |dz   «      «      «      }|j                  |j                  |dz   |dddf«      «      }t        j                  ||«      }|j                  j                  d|z  |dddfk(  sJ ‚y )NrÀ  )r"  r<   rk   r!  r"  r˜   r(   )	rF   rÁ  r1  r“   rÔ  r   r  r÷   r  )r,   rw  r6  rñ  r)  r5  rø   rÇ  s           r0   Útest_yi_trailing_dimsz.TestBPolyFromDerivatives.test_yi_trailing_dimsF	  sŸ   € Ü�i‰i×#Ñ# DÓ)ˆØ‰ˆˆ1Ø�Z‰ZœŸ™ §
¡
¨1¨Q©3£Ó0Ó1ˆØ�Z‰Z˜Ÿ
™
 A a¡C¨¨A¨q°!Ð#4Ó5Ó6ˆÜ×#Ñ# B¨Ó+ˆØ�t‰t�z‰z˜a ™c 1 a¨¨AÐ.Ò.Ð.Ñ.r6   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 )Nrk   r   rB  )rF   Úint32r   r  r   r“   Úint64)r,   r>  rg  s      r0   Útest_gh_5430z%TestBPolyFromDerivatives.test_gh_5430N	  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Ø‰r6   N)r2   r3   r4   r  r!  r$  r(  r+  r-  r0  r5  r7  r;  r@  rC  rG  rJ  rL  rP  r5   r6   r0   r  r  œ  sY   „ òDòJò*Nò,
!ò)ò
òBò
Iò"ò!ò0ò2òSò0
Iò/ór6   r  c                   óH   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Z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   r<   r   rk   r!  r   )	rF   rÁ  r1  rÄ  r2  r   rT  r½  r   )r,   r6  r÷   r.   r5  rg  Úv1Úv2s           r0   Útest_simple_1dzTestNdPPoly.test_simple_1da	  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Õr6   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   r<   r!  r"  r   rk   r˜   r(   r   r™   rÓ  é*   )N©r   r   ©r   rk   )rk   r   )r(   rA   )r�   r(   ©rê  r#  )rF   rÁ  r1  rÄ  r2  r„  rc  rš   Úfillr£   r    Úevaluate_ndrK   rO   ÚintcÚc_r½  Ú_ppoly2d_evalr   r   r®  )r,   r6  r÷   r.   r-   r5  rø   rT  rU  rg  rê  s              r0   Útest_simple_2dzTestNdPPoly.test_simple_2do	  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ñ	6r6   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   r<   r!  r"  r˜   r�   r   rk   r(   r@   rA   é(   )N©r   r   r   ©r   rk   r   ©rk   r   r   )r(   rA   r   )r!  r   r(   r[  r#  )	rF   rÁ  r1  rÄ  r2  r   Ú_ppoly3d_evalr   r®  )r,   r6  r÷   r.   r-   r/   r5  rø   Úzirg  rê  rT  rU  s                r0   Ú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ñ		6r6   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   r<   r!  r"  r˜   r�   r@   rŽ   r   rk   r(   rA   rÎ   rÓ  )rF   rÁ  r1  rÄ  r2  r   Ú_ppoly4d_evalr   )r,   r6  r÷   r.   r-   r/   Úur5  rø   rh  Úuirg  rT  rU  s                 r0   Ú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Õr6   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   r<   r   rk   r!  r[  r(   )rF   rÁ  r1  rÄ  r2  r   rî  r   r   r÷   rï  )r,   r6  r÷   r.   rg  rK  rÖ  Údp1s           r0   Ú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Õ$r6   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   r<   r!  r"  r˜   r�   r   rk   r(   r@   rA   r[  re  )r   r   rA   )rF   rÁ  r1  rÄ  r2  r   r   r�  rî  r   r÷   rï  )
r,   r6  r÷   r.   r-   r/   rg  rÖ  rK  rp  s
             r0   Ú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õ	;r6   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À  )rk   rk   rk   rA   r   r<   r   rk   r   r<   r(   r!  rA   )rk   r   r   )r   r(   r   rÓ  )
rF   rÁ  r1  ro   r2  r   rï  rÄ  r   r   )r,   r6  r÷   r.   r-   r/   rg  rL  r5  rø   rh  s              r0   Ú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r6   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   r<   é   r�  r   rk   rÑ   r(   rA   rD   rZ  )r   r)   )r  r  )rS  r=  c                 ó   •—  ‰| |f«      S rä   r5   )r.   r-   rg  s     €r0   r3  z/TestNdPPoly.test_integrate_2d.<locals>.<lambda>
  s   ø€ ©1¨a°¨V«9€ r6   gñhãˆµøä>)ÚepsrelÚepsabs)r–   F)r‘   r�   r�  r¯   )rF   rÁ  r1  rÄ  r2  r�  rK   r  rt   r    Úfix_continuityr   r5  r#   r”   r   r®  )r,   r6  r÷   r.   r-   ÚcxÚrangesrŽ  Úig2Úerr2rg  s             @r0   Ú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ñ		2r6   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   r<   r!  rw  r�  rÑ   r   rk   r(   rÒ   rA   r   )r=  r  rn   rf  re  r/  )	rF   rÁ  r1  rÄ  r2  r   Úintegrate_1drï  r   )r,   r6  r÷   r.   r-   r/   rg  rl  Úvr'  r*  ÚpxÚpaxÚpyÚpayÚpzÚpazs                    r0   Útest_integrate_1dzTestNdPPoly.test_integrate_1d
  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ÕDr6   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   r<   r!  r"  r˜   r�   r,  r   rk   r˜   r�   r(   r@   rA   c                 óˆ   •— ‰j                  d¬«      }‰j                  d¬«      }‰j                  d¬«      } ||||f«       y )Nrc  r,  )rÕ  )r´  r  r5  rø   rh  r6  s        €r0   rµ  z/TestNdPPoly.test_concurrency.<locals>.worker_fn@
  sA   ø€ Ø—‘ "�Ó%ˆBØ—‘ "�Ó%ˆBØ—‘ "�Ó%ˆBÙ��R˜�Õr6   )rF   rÁ  Údefault_rngrÕ  r2  r   r"   )r,   r÷   r.   r-   r/   rg  rµ  r6  s          @r0   r¶  zTestNdPPoly.test_concurrency6
  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Õ1r6   N)r2   r3   r4   rV  ra  ri  rn  rq  rs  ru  r€  rŠ  r¶  r5   r6   r0   rR  rR  `	  s7   „ ò ò6ò:6ò( ò(%ò(;ò>Bò(2òBEó42r6   rR  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   rk   Nc              3   ó^   •K  — | ]$  }‰|‰f   ‰‰j                   d    |z
  dz
  z  z  –— Œ& y­w)r   rk   N)r  )r  r)  r÷   rð  r±  s     €€€r0   r  z _ppoly_eval_1.<locals>.<genexpr>S
  s;   øè ø€ ò ,Øð �!�A�#‘˜˜QŸW™W Q™Z¨™\¨!™^Ñ,Õ,ñ ,ùs   ƒ*-)	rF   Úzerosrc  r  r%  r£   ÚsearchsortedÚsumr	  )	r÷   r.   ÚxpsrM  r°  rw  r�  rð  r±  s	   `      @@r0   rT  rT  I
  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Šð	ð €Jr6   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}«      }|||	<   |j                  |«      }|S c c}w )z4Evaluate piecewise polynomial manually (another way)r   rD   rk   )ÚNN)r  rF   r½  Ú
empty_likeÚcompressr‘  Úcliprc  ÚtakeÚvanderrO   r	  r3  rK   )rd  Úbreaksrº   r\  r'  r*  ÚKÚ	saveshaperò  Úmaskrú  ÚindxsrÇ  r2  ÚVr)  Úvaluess                    r0   rU  rU  Y
  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Ø
�+‰+�iÓ
 €CØ€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 orderrk   )rp   r   )r.   r-   r(  s      r0   Ú_dpowr£  p
  sC   € ð 	ˆ1‚uÜÐ3Ó4Ð4Ø	
ˆQŠØä�A˜‘E˜A‘I˜qÓ! A¨¨A©¡JÑ.Ð.r6   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
    NrY  r™   r(   r   rD   rk   ©rF   r„  rc  rš   r  r%  Úzipr£   r‘  r	  r£  )r÷   rh  rº   Úynewrê  rM  ÚnxÚnyÚjoutr.   r-   Új1Új2Ús1Ús2r³  Úk1r†  s                     r0   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‹	ð)ð, €Jr6   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
    Nrd  r™   rA   r   rD   rk   r(   r¥  )r÷   rh  rº   r§  Úznewrê  rM  r¨  r©  Únzrª  r.   r-   r/   r«  r¬  Új3r­  r®  Ús3r³  r¯  r†  Úk3s                           r0   rg  rg   
  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 €Jr6   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   rD   rk   r(   rA   r¥  )r÷   rh  rº   r§  r±  Úunewrê  rM  ÚmxÚmyÚmzÚmurª  r.   r-   r/   rl  r«  r¬  r³  Új4r­  r®  r´  Ús4r³  r¯  r†  rµ  Úk4s                                 r0   rk  rk  È
  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‹	ð;ð> €Jr6   rä   )FÚscipy._lib._array_apir   r   r   r   r   r   r	   Úscipy._externalr
   rE  r]  r   r*   Únumpyr   r   r   r   rF   Úscipy.interpolater   r   r   r   r   r   r   r   r   r   r   r   r   r   Úscipy.specialr   r   r    Úscipy._lib._gcutilsr!   Úscipy._lib._testutilsr"   Úscipy.integrater#   r$   r^  rÉ  Úxfail_xp_backendsr&   r8   ra  rm  r_  r:  r¹  rö  r  rË  rè  r  r  rR  rT  r£   rU  r£  r`  rg  rk  r5   r6   r0   ú<module>rÈ     sõ  ð÷÷ ñ õ 3Ý *Û ç (Ó (Û ÷-÷ -÷ -÷ -÷ &å $å 2Ý 9å !å à—;‘;×/Ñ/Ð Ø—K‘K×1Ñ1Ð ÷ñ ÷^ñ ^÷B6ñ 6ñ Ð&Ó'÷s*ð s*ó (ðs*ðl ‡�×Ñ˜Ð$7Ð9JÐ#KÓLñ:ó Mð:ñ, �5˜%Ó ÷dLð dLó !ðdL÷N,&ñ ,&ñ^ �5Ó÷{ð {ó ð{ñ| �5Ó÷KKð KKó ðKKñ\ �5Ó÷`0ð `0ó ð`0ñF �5˜%Ó ÷.'ð .'ó !ð.'ñb �5Ó÷@ð @ó ð@÷Ff2ñ f2òRð  .0¯V©Vó ò.	/ó!óH%ôP*r6   