Ë
    qwjw� ã                   ó>  — d dl mZmZmZmZmZ d dlmZ d dlZd dl	m
Z
mZmZmZ d dl	Zd dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZm Z  d dlm!Z! d dl"m#Z#m$Z$ d d	l%m&Z& d d
l'm(Z( d dlm)Z) ejT                  jV                  Z+ejT                  jX                  Z, G d„ d«      Z- G d„ d«      Z. G d„ d«      Z/ ee«       G d„ d«      «       Z0ejT                  jc                  deeg«      d„ «       Z2 eee«       G d„ d«      «       Z3 G d„ d«      Z4 ee«       G d„ d«      «       Z5 ee«       G d„ d«      «       Z6 ee«       G d„ d«      «       Z7 eee«       G d „ d!«      «       Z8 G d"„ d#«      Z9 G d$„ d%«      Z:d&„ Z;ejx                  fd'„Z=d(„ Z>d,d)„Z?d,d*„Z@d,d+„ZAy)-é    )Úxp_assert_equalÚxp_assert_closeÚassert_almost_equalÚassert_array_almost_equalÚmake_xp_test_case)ÚraisesN)ÚmgridÚpiÚsinÚpoly1d)Úinterp1dÚinterp2dÚlagrangeÚPPolyÚBPolyÚsplrepÚsplevÚ
splantiderÚsplintÚsprootÚAkima1DInterpolatorÚNdPPolyÚBSplineÚPchipInterpolator)ÚpochÚgamma)Ú_ppoly)Úassert_deallocatedÚIS_PYPY)Ú_run_concurrent_barrier)Únquad)Úbinomc                   ó   — e Zd Zd„ Zy)ÚTestInterp2Dc                 ó¸   — t         ddd…dt        d…f   \  }}t        |d|z  z   «      }t        t        «      5  t        |||«       d d d «       y # 1 sw Y   y xY w)Nr   é   y              4@y              5@ç      à?)r	   r
   r   Úassert_raisesÚNotImplementedErrorr   )ÚselfÚyÚxÚzs       úm/var/www/html/newmanjeet/manjet/venv/lib/python3.12/site-packages/scipy/interpolate/tests/test_interpolate.pyÚtest_interp2dzTestInterp2D.test_interp2d   sS   € Ü�Q�q˜�W˜a¤ 3˜hÐ&Ñ'‰ˆˆ1Ü��#�a‘%‘‹LˆÜÔ.Õ/Ü�Q˜˜1Ô÷ 0×/Ñ/ús   ¹AÁAN)Ú__name__Ú
__module__Ú__qualname__r/   © ó    r.   r$   r$      s   „ ór4   r$   c                   ór  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd(d„Zd(d„Zd„ Zd„ Zd„ Zd„ Zd(d„Zd(d„Zd„ Zej8                  dfd„Zd„ Zej@                  jC                  e"d¬«      d„ «       Z#d„ Z$d „ Z%d!„ Z&d"„ Z'd#„ Z(ej@                  jS                  d$d%«      d&„ «       Z*y'))ÚTestInterp1Dc                 óê  — t        j                  d«      | _        t        j                  d«      | _        t        j                  d«      | _        | j                  j                  d«      | _        t        j                  d«      | _        t        j                  d«      | _        t        j                  dg«      | _
        t        j                  dg«      | _        t        j                  d«      j                  d«      | _        t        j                  d«      j                  d«      | _        t        j                  d«      j                  d	«      | _        t        j                  d«      j                  d«      | _        t        j                  d
«      j                  d«      | _        t        j                  d
«      j                  d«      | _        t        j                  d«      j                  d«      | _        d| j$                  d d …df<   d| j$                  d d …df<   t        j                  d«      j                  d«      | _        d| j&                  dd d …f<   d| j&                  dd d …f<   d| _        y )Nç      @ç      $@)r&   é   ç       @ç        g      4@©r&   é
   )r>   r&   )r&   r&   r:   g      >@)r&   é   r:   )r?   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    r.   Úsetup_methodzTestInterp1D.setup_method(   s²  € Ü—)‘)˜B“-ˆŒÜ—9‘9˜S“>ˆŒÜ—9‘9˜S“>ˆŒØ—8‘8×#Ñ# EÓ*ˆŒÜ—)‘)˜B“-ˆŒÜ—)‘)˜B“-ˆŒÜ—(‘(˜B˜4“.ˆŒÜ—(‘(˜B˜4“.ˆŒä—I‘I˜c“N×*Ñ*¨7Ó3ˆŒ	Ü—I‘I˜c“N×*Ñ*¨7Ó3ˆŒ	Ü—I‘I˜c“N×*Ñ*¨9Ó5ˆŒ	Ü—9‘9˜S“>×)Ñ)¨&Ó1ˆŒÜ—I‘I˜c“N×*Ñ*¨9Ó5ˆŒ	Ü—I‘I˜c“N×*Ñ*¨9Ó5ˆŒ	ô
 "$§¡¨3£×!7Ñ!7¸Ó!@ˆÔØ')ˆ×Ñšq !˜tÑ$Ø(+ˆ×Ñšq "˜uÑ%ô "$§¡¨3£×!7Ñ!7¸Ó!@ˆÔØ')ˆ×Ñ˜q¢!˜tÑ$Ø(+ˆ×Ñ˜r¢1˜uÑ%à ˆ�r4   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©rf   rX   r_   )rB   é   rB   )rB   )rB   rB   r   ri   r&   r?   ©rf   ÚaxisrX   r>   ©rk   )rB   rB   rB   r3   r<   )r   rG   rH   rD   rM   rP   rK   Úonesr(   Ú
ValueErrorrJ   rL   rQ   rN   rO   ©r*   rf   s     r.   Útest_validationzTestInterp1D.test_validationQ   s   € ó
?ˆDä�T—X‘X˜tŸx™x¨dÕ3Ü�T—X‘X˜tŸx™x¨d¸}ÖMð?ô 	�—‘˜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¨ö	9r4   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ç      @©rX   )ç      ð?r;   r   ri   rl   )r   rG   rH   rr   rs   rD   ÚisnanrX   rk   rP   rQ   r   r,   r+   rY   s    r.   Ú	test_initzTestInterp1D.test_init•   sÎ  € ô ˜Ÿ™ $§(¡(Ó+×0Ò0Ð0Ð0Ü˜DŸH™H d§h¡h°UÔ;×@Ò@Ð@Ð@Ü˜Ÿ™ $§(¡(Ó+×8Ò8Ð8Ð8Ü˜DŸH™H d§h¡h¸UÔC×PÒPÐPÐPÜ�x‰xœ §¡¨4¯8©8Ó4×?Ñ?Ô@Ð@Ð@Ü˜Ÿ™ $§(¡(°sÔ;×FÑFÈ#ÒMÐMÐMÜ˜Ÿ™ 4§8¡8¸
ÔC×NÑNØòð 	
ð ô ˜Ÿ™ $§(¡(Ó+×0Ñ0°AÒ5Ð5Ð5Ü˜Ÿ™ $§)¡)Ó,×1Ñ1°QÒ6Ð6Ð6Ü˜Ÿ™ $§)¡)°!Ô4×9Ñ9¸QÒ>Ð>Ð>Üœ §¡¨4¯8©8Ó4×6Ñ6¸¿¹ÔAÜœ §¡¨4¯8©8Ó4×6Ñ6¸¿¹ÔAÜœ §¡¨4¯9©9Ó5×7Ñ7¸¿¹ÕCr4   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 )NrB   ç333333ó?©g333333@gffffff@ç      @F)Úassume_sortedT)	r   rG   rH   r   rD   rM   r(   rn   rP   )r*   Úinterp10Úinterp10_unsortedÚinterp10_assume_kwÚinterp10_assume_kw2Úinterp10_y_2dÚinterp10_y_2d_unsorteds          r.   Útest_assume_sortedzTestInterp1D.test_assume_sorted¨   sd  € ä˜DŸH™H d§h¡hÓ/ˆÜ$ T§X¡X©d°¨d¡^°T·X±X¹dÀ¸d±^ÓDÐä!Ñ"3°D·H±HÓ"=¸t¿x¹xÔHÜ!Ñ"3°CÓ"8¼"¿(¹(À3»-ÔHÜ!Ñ"3²OÓ"DÙ"*ª?Ó";ô	=ô & d§h¡h©t°¨t¡n°d·h±h¹tÀ¸t±nØ49ô;Ðä!Ñ"4°T·X±XÓ">ÀÇÁÔIä& t§x¡x±°"°¡~°t·x±xÁÀ"À±~Ø59ô;Ðô 	”jÐ"5°t·x±xÔ@ô ! §¡¨4¯9©9Ó5ˆÜ!)¨$¯(©(±4°R°4©.¸$¿)¹)ÂAÁtÈÀtÀGÑ:LÓ!MÐÜ!¡-°·±Ó"9Ù"8¸¿¹Ó"Bõ	Dr4   c                 ó4   — dD ]  }| j                  |«       Œ y )N)r_   r`   )Ú_check_linearro   s     r.   Útest_linearzTestInterp1D.test_linearÂ   s   € Û)ˆDØ×Ñ˜tÕ$ñ *r4   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 )Nre   rz   r{   rg   rh   ©ç      ð¿r   é	   é   ç›+¡†›„=©ÚrtolT©rf   rX   rs   )r   rG   rH   r   rD   rM   r   ÚasarrayÚdictr(   rn   )r*   rf   r~   ÚextrapolatorÚoptss        r.   r†   zTestInterp1D._check_linearÆ   sÍ   € ä˜DŸH™H d§h¡h°TÔ:ˆÜ!¡(¨4¯8©8Ó"4°d·h±hÔ?Ü!¡(¨3£-´·±¸#³Ô?Ü!¡(ª?Ó";Ü"$§(¡(ª?Ó";ô	=ô   §¡¨$¯(©(¸Ø+8ô:ˆä™¢_Ó5ÜŸ
™
Ò#3Ó4¸5õ	Bô ˜Ø,Ø!%ô'ˆô 	”j¤(¨D¯H©H°d·h±hÑGÀ$ÓGr4   c                 ó�  — t         j                  t         j                  t         j                  t         j                  fD ]N  }t        j
                  d|¬«      }|} t        ||d¬«      |«      }|j                  |k(  sJ ‚t        ||d¬«       ŒP g d¢}t         j                  dd	g} t        ||«      |«      }t        ||d¬«       y )
Né   ©Údtyper_   re   çVçž¯Ò<©Úatol©r   ri   r&   r   ri   )
rD   Úfloat16Úfloat32Úfloat64Ú
longdoublerE   r   r˜   r   Únan)r*   Údtypr,   r+   Úyps        r.   Útest_linear_dtypeszTestInterp1D.test_linear_dtypesÙ   sª   € ô —Z‘ZÜ—Z‘ZÜ—Z‘ZÜ—]‘]ó$ˆDô —	‘	˜! 4Ô(ˆAØˆAØ.”˜!˜Q XÔ.¨qÓ1ˆBØ—8‘8˜tÒ#Ð#Ð#Ü˜B ¨Ö.ð$ò ˆÜ�V‰V�Q˜ˆNˆØŒX�a˜‹^˜AÓˆÜ˜˜A EÖ*r4   c                 óä  — t         j                  t         j                  t         j                  g}|t         j                  t         j
                  gz   }g d¢}|D ]•  }t        j                  dd|¬«      }|D ]v  }t        j                  | dz  «      j                  |«      }|D ]G  }|j                  |«      }	|D ]/  }
t        |||
d¬«      }t         ||	«      |dd|› d	|› d
|› �¬«       Œ1 ŒI Œx Œ— y )N)r`   r^   ra   rb   r   r>   r—   rt   F©rf   rs   çH¯¼šò×z>z, Ú )r›   Úcheck_dtypeÚerr_msg)rD   r�   rž   rŸ   Ú	complex64Ú
complex128rE   ÚexpÚastyper   r   )r*   Údt_rÚdt_rcÚspline_kindsÚdtxr,   Údtyr+   ÚdtnÚxnewrf   Úfs               r.   Útest_slinear_dtypesz TestInterp1D.test_slinear_dtypesî   s×   € ô —
‘
œBŸJ™J¬¯
©
Ð3ˆØœŸ™¤b§m¡mÐ4Ñ4ˆÚ@ˆÛˆCÜ—	‘	˜!˜R sÔ+ˆAÛ�Ü—F‘F˜A˜2˜c™6“N×)Ñ)¨#Ó.�Û�CØŸ8™8 C›=�DÛ ,˜Ü$ Q¨°À5ÔI˜Ü'©¨$«°¸Ø49Ø36°%°r¸#¸¸aÀ¸uÐ0EöGñ !-ñ  ñ ñ r4   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 )Nrb   re   rz   ç      ø?r{   ©r   rG   rH   r   rD   rM   ©r*   r~   s     r.   Ú
test_cubiczTestInterp1D.test_cubic   sv   € ä˜DŸH™H d§h¡h°WÔ=ˆÜ!¡(¨4¯8©8Ó"4°d·h±hÔ?Ü!¡(¨3£-´·±¸#³Ô?Ü!¡(¨3£-´·±¸#³Ô?Ü!¡(ª?Ó";Ü"$§(¡(ª?Ó";õ	>r4   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\   re   rz   rv   r¹   r{   ©r;   r|   r|   rg   rh   r‰   ©r<   r   r‹   r‹   r�   rŽ   Tr�   ©
r   rG   rH   r   rD   rM   r   r’   r(   rn   ©r*   r~   r“   r”   s       r.   Útest_nearestzTestInterp1D.test_nearest	  sÚ   € ô ˜DŸH™H d§h¡h°YÔ?ˆÜ!¡(¨4¯8©8Ó"4°d·h±hÔ?Ü!¡(¨3£-´·±¸"³Ô>Ü!¡(¨3£-´·±¸"³Ô>Ü!¡(ª?Ó";Ü"$§(¡(ª<Ó"8ô	;ô   §¡¨$¯(©(¸Ø+8ô:ˆä™¢_Ó5Ú&¨Uõ	4ô ˜Ø,Ø!%ô'ˆô 	”j¤(¨D¯H©H°d·h±hÑGÀ$ÓGr4   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]   re   rz   rv   r¹   r;   r{   r¾   rg   rh   r‰   r¿   r�   rŽ   Tr�   rÀ   rÁ   s       r.   Útest_nearest_upzTestInterp1D.test_nearest_up  sÚ   € ô ˜DŸH™H d§h¡h°\ÔBˆÜ!¡(¨4¯8©8Ó"4°d·h±hÔ?Ü!¡(¨3£-´·±¸"³Ô>Ü!¡(¨3£-´·±¸"³Ô>Ü!¡(ª?Ó";Ü"$§(¡(ª<Ó"8ô	;ô   §¡¨$¯(©(¸Ø+8ô:ˆä™¢_Ó5Ú&¨Uõ	4ô ˜Ø,Ø!%ô'ˆô 	”j¤(¨D¯H©H°d·h±hÑGÀ$ÓGr4   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 )%Nrc   re   rz   rv   r¹   r{   ©r;   r8   r|   rg   rh   r‰   r   r‹   r�   rŽ   ©rB   éþÿÿÿr:   r–   é   é   r:   r–   é   é   é   rj   ©rÈ   r:   rÉ   r>   rŒ   Tr�   rœ   ©r   ri   rB   ©rf   rX   r}   ©rÈ   rB   r   ri   r&   r?   r:   ri   rB   ©r&   r   ri   ©rB   r   ri   FrA   ©r   rG   rH   r   rD   rM   r   r¡   rP   rQ   r’   r(   rn   rV   rW   ©r*   r~   r“   Úinterpolator1DÚinterpolator2DÚinterpolator2DAxis0r”   s          r.   Útest_previouszTestInterp1D.test_previous3  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˜ð%õ	&r4   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 )$Nrd   re   rz   r;   r¹   r{   )rt   r|   r|   rg   rh   r‰   r   r‹   r�   rŽ   rÇ   r:   r–   r>   rË   rÌ   rj   rÎ   ri   rŒ   Tr�   rœ   rÏ   rÐ   rÑ   rB   rÒ   rÓ   Fr@   rÔ   rÕ   s          r.   Ú	test_nextzTestInterp1D.test_nextx  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˜ÜŸ&™&¤"§&¡&Ð)ð+õ	,r4   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^   re   rz   rv   r¹   r{   rÆ   rº   r»   s     r.   Ú	test_zerozTestInterp1D.test_zero½  sv   € ä˜DŸH™H d§h¡h°VÔ<ˆÜ!¡(¨4¯8©8Ó"4°d·h±hÔ?Ü!¡(¨3£-´·±¸"³Ô>Ü!¡(¨3£-´·±¸"³Ô>Ü!¡(ª?Ó";Ü"$§(¡(ª<Ó"8õ	:r4   c                 ó„   — t        t        ||«       	  ||«       y # t        $ r}|› t        |«      v sJ ‚Y d }~y d }~ww xY w©N)r(   rn   Ústr)r*   ÚinterpolantÚ
test_arrayÚ
fail_valueÚerrs        r.   Úbounds_check_helperz TestInterp1D.bounds_check_helperÆ  sA   € ô 	”j +¨zÔ:ð	1Ù˜
Õ#øÜò 	1Ø!�l¤s¨3£xÑ/Ð0Õ/ûð	1ús   “ œ	?¥:º?r_   c                 ó  — t        | j                  | j                  | j                  d|¬«      }t	         |d«      t        j                  | j                  «      «       t	         |d«      t        j                  | j                  «      «       t	         |dgdgdgdggg«      t        j                  | j                  «      d¬«       t	        |j                  t        j                  g d¢«      «      t        j                  g d	¢g d
¢g«      «       t        | j                  | j                  d|¬«      }| j                  |dd«       | j                  |dd«       | j                  |g d¢d«       | j                  |g d¢d«        |g d¢«       y )NF)rX   rs   rf   gffffff&@g333333Àg333333)@gÍÌÌÌÌL3@)Úcheck_shape)rŠ   r<   r8   ç      "@ç      &@)TFFFF)FFFFTT)rs   rf   rŠ   ré   )r<   rŠ   r<   )r<   rv   ç      5@rê   )r<   r8   rè   )	r   rG   rH   rX   r   rD   rM   Ú_check_boundsrå   )r*   rf   Úextrap10Úraises_bounds_errors       r.   Ú_bounds_checkzTestInterp1D._bounds_checkÏ  sD  € ä˜DŸH™H d§h¡h¸4¿?¹?Ø).°Tô;ˆô 	™ ›¬¯©°·±Ó(AÔBÜ™ ›¬¯©°·±Ó(AÔBÜ™ D 6¨D¨6°D°6¸D¸6Ð"BÐ!CÓDÜŸ8™8 D§O¡OÓ4À%õ	Iä˜×.Ñ.Ü!Ÿx™xÒ(CÓDóFäŸ8™8Ò%GÚ%Gð%Ió Jô	Kô
 ' t§x¡x°·±ÈØ,0ô2Ðð 	× Ñ Ð!4°d¸DÔAØ× Ñ Ð!4°d¸DÔAØ× Ñ Ð!4Ò6FÈÔMØ× Ñ Ð!4Ò6FÈÔMášOÕ,r4   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�   ri   r   rB   )	rD   rE   r®   Úintr   r¡   rw   r   Úr_)r*   rf   r,   r+   ÚcÚyis         r.   Ú_bounds_check_int_nan_fillz'TestInterp1D._bounds_check_int_nan_fillç  sŠ   € Ü�I‰I�b‹M× Ñ ¤Ó%ˆÜ�I‰I�b‹M× Ñ ¤Ó%ˆÜ�Q˜ ´·±ÀeÔLˆÙˆq�1‰u‹XˆÜ�x‰x˜˜1™ŒÐˆÜ! "¤b§e¡e¬B¯F©F°A°c°r°F¨NÑ&;Õ<r4   c                 óV   — dD ]$  }| j                  |«       | j                  |«       Œ& y )N)r_   rb   r\   rc   rd   r`   r^   ra   )rî   rô   ro   s     r.   Útest_boundszTestInterp1D.test_boundsï  s*   € ó5ˆDà×Ñ˜tÔ$Ø×+Ñ+¨DÕ1ñ5r4   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@éöÿÿÿrC   rø   rù   rB   )rf   rk   rX   rs   r?   ri   r   )rù   éÈ   é,  r&   rû   rü   )rø   é8ÿÿÿéÔþÿÿrý   rþ   c              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­wrß   )rD   rM   )Ú.0r¶   s     r.   Ú	<genexpr>z1TestInterp1D._check_fill_value.<locals>.<genexpr>V  s   è ø€ Ð"C¹
°1¤2§8¡8¨A§;¹
ùs   ‚!iè  iÐ  iüÿÿi0øÿÿ)r   rG   rH   r   rD   r‘   rT   rU   rR   rS   rF   ÚndimÚshaper(   rn   rM   ÚrangeÚtuple)r*   rf   Úinterpr+   ÚresultrX   Úiis          r.   Ú_check_fill_valuezTestInterp1D._check_fill_valueõ  s„	  € Ü˜$Ÿ(™( D§H¡H°4Ø%0¸uôFˆä!¡&¨£*¬b¯j©j¸Ó.>Ô?Ü!¡&¨£+¬r¯z©z¸%Ó/@ÔAÜ!¡&¨#¨r¨Ó"3°d¸C°[ÔAð —)‘)˜TŸY™Y¨¯	©	°4·8±8Ô<ˆAÜ˜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¸Ö@ð! =ò& %ˆ
Ø—)‘)˜TŸY™YÓ'ˆAÜœ*¤h°·±¸ÀØ!¨jÀuö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Ü˜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¸Õ@ð 2ô —h‘hÒ1Ó2°CÐ8ˆ
Ø—)‘)˜TŸY™YÓ'ˆAÜœ*¤h°·±¸ÀØ!¨jÀuö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Ü˜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¸Õ@ð 2ò )ª/Ð:ˆ
Ø—)‘)˜TŸY™YÓ'ˆAÜœ*¤h°·±¸ÀØ!¨jÀuö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ð ð ˜T�l S¨# JÐ/ˆ
Ü”j¤(¨D¯G©G°T·Y±YÀTØ¨*À5õ	Jà—)‘)˜TŸY™Y¨¯©Ó1ˆ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¸Õ@ð 2ð" ˜C�j 4¨ ,Ð/ˆ
Ø—)‘)˜TŸY™Y¨¯©Ó1ˆAÜœ*¤h°·±¸ÀØ!¨jÀuöNð 2ô ˜–(ˆ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ð ð ˜d�| e¨U ^Ð4Ø˜S�z D¨$ <Ð0ð2ˆ
à—)‘)˜TŸY™Y¨¯©Ó1ˆAÜœ*¤h°·±¸ÀØ!¨jÀuöNð 2ô ˜–(ˆ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ñ r4   c                 ó4   — dD ]  }| j                  |«       Œ y ©N)r_   r\   rb   r`   ra   r^   rc   rd   )r	  ro   s     r.   Útest_fill_valuezTestInterp1D.test_fill_value–  s   € ó1ˆDà×"Ñ" 4Õ(ñ1r4   c                 óš   — t        | j                  | j                  d¬«      }|j                  dk(  sJ ‚d|_        |j                  dk(  sJ ‚y )Ng     À^@ru   g     t@)r   rG   rH   rX   )r*   r  s     r.   Útest_fill_value_writeablez&TestInterp1D.test_fill_value_writeableœ  sH   € ä˜$Ÿ(™( D§H¡H¸Ô?ˆØ× Ñ  EÒ)Ð)Ð)Ø!ˆÔØ× Ñ  EÒ)Ð)Ñ)r4   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 )Nre   rt   r8   r;   ç      @rz   r3   rv   ré   ç      (@r   ©rk   rf   r|   g      *@g      .@g      1@r9   ç      @g      ,@)r   rG   rH   r   rD   rM   Ú
isinstanceÚndarrayr  rP   rQ   )r*   rf   r~   Ú	interp210Ú	interp102Úx_news         r.   Ú_nd_check_interpzTestInterp1D._nd_check_interp£  s  € ô ˜DŸH™H d§h¡h°TÔ:ˆÜ!¡(¬2¯8©8°b¸"°XÀÀB¸xÐ4HÓ+IÓ"JÜ"$§(¡(¨R°¨H°r¸2°hÐ+?Ó"@ô	Bô ™( 3›-¬¯©Ô4Ð4Ð4Ù˜‹}×"Ñ" bÒ(Ð(Ð(ô ˜TŸX™X t§y¡y°tÔ<ˆ	Ü!¡)¨B£-´·±¸2¸s¸)Ó1DÔEÜ!¡)¬B¯H©H°b¸"°XÓ,>Ó"?Ü"$§(¡(¨R°¨H°s¸C°jÐ+AÓ"Bô	Dô ˜TŸX™X t§y¡y°q¸tÔDˆ	Ü!¡)¨B£-´·±¸3À¸*Ó1EÔFÜ!¡)¬B¯H©H°b¸"°XÓ,>Ó"?Ü"$§(¡(¨R°¨H°r¸2°hÐ+?Ó"@ô	Bô —‘˜2˜r˜( R¨ HÐ-Ó.ˆÜ!¡)¨EÓ"2Ü"$§(¡(¨b°"¨X¸¸B°xÐ,@Ø.1°3¨Z¸#¸s¸Ð,Dð,Fó #Gô	Hô 	"¡)¨EÓ"2Ü"$§(¡(¨b°"¨X¸¸S°zÐ,BØ.0°"¨X¸¸S°zÐ,Bð,Dó #Eõ	Fr4   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&   r?   ri   r  ri   )
rD   rE   ÚprodrI   Ú	enumerater   r   Úlistr  r  )
r*   rf   Úar+   ÚnÚsr,   r-   rK   Úbs
             r.   Ú_nd_check_shapezTestInterp1D._nd_check_shapeÃ  s¾   € âˆØ)ŒB�I‰I”b—g‘g˜a“jÓ!×)Ñ)¨1Ð-ˆÜ˜a–L‰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Ð*ñ !r4   c                 óV   — dD ]$  }| j                  |«       | j                  |«       Œ& y )N)r_   rb   r`   ra   r\   r^   rc   rd   )r  r&  ro   s     r.   Útest_ndzTestInterp1D.test_ndÑ  s*   € ó1ˆDà×!Ñ! $Ô'Ø× Ñ  Õ&ñ1r4   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)
ri   ç      @r?   gÍÌÌÌÌÌ@r  gš™™™™™@gš™™™™™@g       @g      #@r>   ù      ð?       @re   rB   ri   r>   é   )rD   rM   r®   r   r   ÚlinspaceÚrealÚimag)	r*   r˜   rf   r,   r+   rò   ÚxiÚcrÚcis	            r.   Ú_check_complexzTestInterp1D._check_complex×  sº   € Ü�H‰HÒ@ÓAˆØ��f‘ÑˆØ�H‰H�U‹Oˆô �Q˜ Ô%ˆÜ! ! C R &©!¨A«$¨s°¨)Ô4ô �[‰[˜˜B Ó#ˆÜ�a˜Ÿ™ dÔ+ˆÜ�a˜Ÿ™ dÔ+ˆÜ!¡! B£%§*¡*©b°«fÔ5Ü!¡! B£%§*¡*©b°«fÕ5r4   c                 ó’   — dD ]B  }| j                  t        j                  |«       | j                  t        j                  |«       ŒD y r  )r3  rD   r«   r¬   ro   s     r.   Útest_complexzTestInterp1D.test_complexç  s6   € ó1ˆDà×Ñ¤§¡¨dÔ3Ø×Ñ¤§¡¨tÕ4ñ1r4   zTest not meaningful on PyPy)Úreasonc                 ó¾   — t        j                  dd«      }t        j                  dd«      }t        t        ||«      5 } |ddg«       ~d d d «       y # 1 sw Y   y xY w)Nr   ri   çš™™™™™¹?çš™™™™™É?)rD   r-  r   r   )r*   r,   r+   r  s       r.   Útest_circular_refszTestInterp1D.test_circular_refsí  sM   € ô �K‰K˜˜1ÓˆÜ�K‰K˜˜1Óˆä¤¨!¨QÔ/°6Ù�C˜�:ÔØ÷ 0×/Ñ/ús   ¾AÁAc                 ó    — dD ]I  }t        j                  g d¢t         j                  ¬«      }t        |||¬«      }t	         ||«      |«       ŒK y )N)r\   rc   rd   )r   é2   é   r—   re   )rD   rM   Úint8r   r   )r*   rf   r,   r  s       r.   Útest_overflow_nearestz"TestInterp1D.test_overflow_nearest÷  s<   € ã3ˆDÜ—‘š¬R¯W©WÔ5ˆAÜ˜!˜Q TÔ*ˆBÜ%¡b¨£e¨QÕ/ñ 4r4   c                 ó"  — t        j                  d«      j                  t        «      }|j	                  «       }t         j
                  |d<   dD ]?  }t        |||¬«      } |ddg«      }t        j                  |«      j                  «       rŒ?J ‚ y )Nr>   r  )r^   r`   re   gš™™™™™@r  )	rD   rE   r®   Úfloatrr   r¡   r   ÚisfiniteÚall)r*   r,   r+   rf   ÚirÚvalss         r.   Útest_local_nanszTestInterp1D.test_local_nansþ  st   € ô �I‰I�b‹M× Ñ ¤Ó'ˆØ�F‰F‹HˆÜ�v‰vˆˆ!‰Û'ˆDÜ˜!˜Q TÔ*ˆBÙ�s˜C�j“>ˆDÜ—;‘;˜tÓ$×(Ñ(Õ*Ð*Ð*ñ (r4   c                 óî  — t        j                  d«      j                  t        «      }|j	                  «       }|j	                  «       }t         j
                  |d<   dD ]•  }t        |||¬«      }t        |||¬«      }dddgddgddggfD ]g  }t        j                  |«      } ||«       ||«      }	}t        j                  |	«      j                  «       sJ ‚|j                  |	j                  k(  rŒgJ ‚ Œ— y )Nr–   r?   )ra   rb   re   r  ri   r:   )rD   rE   r®   rA  rr   r¡   r   r‘   rw   rC  r  )
r*   r,   r+   Úynrf   rD  Úirnrµ   ÚoutÚoutns
             r.   Útest_spline_nanszTestInterp1D.test_spline_nans	  sÖ   € ô �I‰I�a‹L×Ñ¤Ó&ˆØ�F‰F‹HˆØ�V‰V‹XˆÜ—‘ˆˆ1‰ã*ˆDÜ˜!˜Q TÔ*ˆBÜ˜1˜b tÔ,ˆCØ˜Q ˜F a¨ V¨a°¨VÐ$4Ó5�Ü—z‘z $Ó'�Ù˜q›E¡3 q£6�T�Ü—x‘x “~×)Ñ)Ô+Ð+Ð+Ø—y‘y D§J¡JÓ.Ð.Ð.ñ	 6ñ +r4   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>   rb   re   )rD   rm   r¡   rE   r(   rn   r   )r*   r,   r+   s      r.   Útest_all_nanszTestInterp1D.test_all_nans  sE   € ä�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>   rt   r‹   r8  ©TFF)r_   r\   r^   r`   ra   rb   re   )rD   rE   r­   ÚflagsÚ	writeabler   rB  rC  )r*   r,   r+   rµ   Úxnew_writeablerf   r¶   rE  s           r.   Útest_read_onlyzTestInterp1D.test_read_only"  s˜   € Ü�I‰I�a˜ÓˆÜ�F‰F�A�2˜‘8ÓˆÜ�y‰y˜˜A˜sÓ#ˆã+ˆNØ#1ˆD�J‰JÔ Ø %ˆA�G‰GÔó"�ä˜Q ¨Ô-�Ù˜“w�Ü—{‘{ 4Ó(×,Ñ,Õ.Ð.Ð.ñ	"ñ ,r4   rf   )r_   r\   r]   rc   rd   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=   )rf   rs   rX   )ri   r¹   r&   )r;   r  r>   Tr¦   zx_new is above©Úmatchr;   )r   r   rD   r‘   r(   rn   )r*   rf   r¶   s      r.   Útest_single_valuezTestInterp1D.test_single_value0  sf   € ô
 �c�U˜Q˜C d¸Ø 'ô)ˆä™š+›¬¯
©
²<Ó(@ÔAä�c�U˜Q˜C d¸Ô>ˆÜœ:Ð-=Ö>ÙˆcŒF÷ ?×>Ñ>ús   Á	A0Á0A9N)r_   )+r0   r1   r2   rZ   rp   rx   r„   r‡   r†   r¤   r·   r¼   rÂ   rÄ   rÙ   rÛ   rÝ   rå   rî   rô   rö   r	  r  r  r  r&  r(  rD   r¬   r3  r5  ÚpytestÚmarkÚskipifr   r:  r?  rF  rL  rN  rU  ÚparametrizerY  r3   r4   r.   r6   r6   &   s  „ ò'!òRB9òHDò&Dò4%òHò&+ò*Gò$>òHò*Hò*C&òJC,òJ:ò1ó-ó0=ò2ò_LòB)ò*óFó@1ò'ð $&§=¡=°xó 6ò 5ð ‡[�[×Ñ˜Ð(EÐÓFñó Gðò0ò	+ò/ò$)ò/ð ‡[�[×ÑØÐGóñóñr4   r6   c                   ó   — e Zd Zd„ Zy)ÚTestLagrangec                 óÖ   — t        g d¢«      }t        j                  t        |j                  «      «      } ||«      }t        ||«      }t        |j                  |j                  «       y )N)r:   r&   ri   r  r?   )r   rD   rE   ÚlenÚcoeffsr   r   )r*   ÚpÚxsÚysÚpls        r.   Útest_lagrangezTestLagrange.test_lagrange@  sH   € Ü’;ÓˆÜ�Y‰Y”s˜1Ÿ8™8“}Ó%ˆÙˆr‹UˆÜ�b˜‹_ˆÜ! !§(¡(¨2¯9©9Õ5r4   N)r0   r1   r2   rg  r3   r4   r.   r_  r_  >  s   „ ó6r4   r_  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;   rv   rt   r;   r|   ç      @rl  gš™™™™™@çffffff@rt   ©r<   r'   rv   r¹   r*  ç      @g      @rm  g      @gÍÌÌÌÌÌ@g333333!@gÍÌÌÌÌÌ#@r9   ©r<   g      ö?r;   r¹   g     @ÿ?g     à@gŒ.ºè¢‹@gß^äë@gn ¹ä@gGNBÐ@grcß–÷·@g¦	£ÎI@rt   ©rE   rŸ   r‘   r   r   ©r*   Úxpr,   r+   Úakr0  ró   s          r.   Ú	test_evalz!TestAkima1DInterpolator.test_evalJ  s”   € Ø�I‰I�b˜# R§Z¡ZˆIÓ0ˆØ�J‰JÚ<ÀBÇJÁJð ó 
ˆô !  AÓ&ˆØ�Z‰Zò Ø"$§*¡*ð ó .ˆà�Z‰Zò ð —z‘zð	 ó #ˆô
 	™˜2› Õ#r4   c                 ó:  — |j                  dd|j                  ¬«      }|j                  g d¢|j                  ¬«      }t        ||d¬«      }|j                  g d¢|j                  ¬«      }|j                  g d¢|j                  ¬«      }t	         ||«      |«       y )	Nr<   ré   r—   rk  Úmakima©Úmethodrn  )r<   gFð?ðƒõ?r;   gš™™™™÷?gš™™™™ÿ?g…¶g{¶'@gú>J(j@g?±Ôç§ð@gqÁü@gýÞÀÇð³@gû•Š9~@g­Áøo¢
@rt   rq  rr  s          r.   Útest_eval_modz%TestAkima1DInterpolator.test_eval_modY  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› Õ#r4   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—   rk  r;   ri   rl   rn  rp  )rE   rŸ   r‘   Ústackr   r   rr  s          r.   Útest_eval_2dz$TestAkima1DInterpolator.test_eval_2dl  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› Õ#r4   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é   rk  )rŒ   r&   r&   r   r;   ri   rt   r  rn  )é   r&   r&   rp  )rD   rE   rM   Úemptyr   r   )r*   r,   Úy_r+   rt  r0  ró   Úyi_s           r.   Ú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› Õ#r4   c                 óà   — |j                  ddg|j                  ¬«      }|j                  ddg«      }t        ||dd ¬«      }t         |d«      |j                  d|j                  ¬«      «       y )	Nr<   rv   r—   r'   r   )rk   rg   gÍÌÌÌÌÌÜ?g333333ç?)r‘   rŸ   r   r   )r*   rs  r,   r+   Úakimas        r.   Ú$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ÕIr4   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<   rv   r;   rt   r  ri   rl   r'   )r'   rv   r¹   r;   )rv   r;   rt   r  r—   )r‘   r|  r   rŸ   r   ÚTrr  s          r.   Ú$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› §¡Õ%r4   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;   rv   )r&   r&   r&   r   ri   rt   r  r'   r&   rl   )rD   rE   rM   r€  r   r   Ú	transpose)r*   r,   r�  r+   rt  r‚  ró   r0  s           r.   Ú$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Õ6r4   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*   rs  r,   r+   rt  Úx_evalÚy_evals          r.   Ú%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“ˆÜ˜ §¡¨&°&¸!±)Ð)<Ó =× ?Ñ ?Õ@r4   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é   rk  z9Extending a 1-D Akima interpolator is not yet implementedrW  )rD   rE   rM   r   rZ  r   r)   Úextend)r*   r,   r+   rt  rX  s        r.   Útest_extendz#TestAkima1DInterpolator.test_extendÍ  s[   € Ü�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é   rk  z `method`=invalid is unsupported.rW  Úinvalidrx  )rD   rE   rM   rZ  r   r)   r   )r*   r,   r+   rX  s       r.   Útest_mod_invalid_methodz/TestAkima1DInterpolator.test_mod_invalid_methodÕ  sM   € Ü�I‰I�b˜#ÓˆÜ�H‰HÒEÓFˆØ2ˆÜ�]‰]Ô.°eÖ<Ü  1¨YÕ7÷ =×<Ñ<úrO  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©rg   Fr™   rš   r   r  éüÿÿÿrB   r?   )rD   r-  r   r   r   Úfullr¡   )r*   r,   r+   Úx_extÚy_extÚak_trueÚak_falseÚak_nones           r.   Útest_extrapolate_attrz-TestAkima1DInterpolator.test_extrapolate_attrÜ  sæ   € ä�K‰K˜˜A˜rÓ"ˆØˆq‰DˆÜ—‘˜C  RÓ(ˆØ�q‘ˆä% a¨¸Ô=ˆÜ& q¨!¸Ô?ˆÜ% a¨¸Ô=ˆä™ ›©°«¸eÕDÜ™ ›¨¨!Ð,¬b¯g©g°a¼¿¹Ó.@ÔAÜ™ ›¨¨2Ð.´·±¸¼2¿6¹6Ó0BÔCä™ °DÔ9¹7À5»>ÐPUÕVä˜™w u›~°EÖ:r4   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 )	Nri   r>   g    €„.Ar  r'   rw  rx  r…  )
rD   rE   ÚsqrtÚfinforA  ÚmaxÚ	heavisider   rB  rC  )r*   r,   r+   Úak1Úak2Úy_eval1Úy_eval2s          r.   Ú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Ó#×'Ñ'Ô)Ð)Ñ)r4   N)r0   r1   r2   ru  rz  r}  rƒ  r†  r‰  rŒ  r�  r“  r–  r¢  r¬  r3   r4   r.   ri  ri  H  s@   „ ò$ò$ò&$ò&$ò2Jò&ò7ò0Aò"ò8ò;ó(*r4   ri  ry  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é   rk  y               @zreal valuesrW  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ß   r3   )Ú_rt  r�  s      r.   Ú	worker_fnz9test_complex.<locals>.test_concurrency.<locals>.worker_fn  s	   € Ùˆu�Ir4   )rD   r-  r   r    )r*   r,   r+   r�  rt  r±  s         r.   Útest_concurrencyz&test_complex.<locals>.test_concurrency	  sR   € ä�K‰K˜˜A˜rÓ"ˆØˆq‰DˆÜ—‘˜C  RÓ(ˆÜ   A°4Ô8ˆò	ô 	   I¨r°5Õ9r4   )rD   rE   rM   rZ  r   rn   )ry  r,   r+   Úmsgr²  s        r.   r5  r5  ÿ  sa   € ô 	�	‰	�"�cÓ€AÜ
�‰ÒAÓB€AØ	ˆBˆq‰D‰€AØ
€CÜ	�‰”z¨Ö	-Ùˆq�!Œ÷ 
.ó
:÷ 
.ó
:ús   Á
A)Á)A5c                   óB   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zy
)ÚTestPPolyCommonc                 ó¶   — |j                  ddgddgddgg«      }|j                  g d¢«      }t        t        t        ||«       t        t        t        ||«       y )Nri   r  r&   r:   r?   r  )r   ri   r'   )r‘   r(   rn   r   r   )r*   rs  rò   r,   s       r.   Útest_sort_checkzTestPPolyCommon.test_sort_check  sM   € Ø�J‰J˜˜A˜  A ¨¨A¨Ð/Ó0ˆØ�J‰J’{Ó#ˆÜ”j¤%¨¨AÔ.Ü”j¤%¨¨AÕ.r4   c                 ól   — t        t        «      5  t        ddgddg«       d d d «       y # 1 sw Y   y xY w)Nri   r&   r   )r(   rn   r   rY   s    r.   Útest_ctor_czTestPPolyCommon.test_ctor_c  s(   € äœ:Õ&Ü�1�a�&˜1˜a˜&Ô!÷ '×&Ñ&ús   �*ª3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éÒ  r?   r   r>   r@   r&   ri   r‹   .)rD   ÚrandomÚseedÚuniquerñ   Úrandra  r‘   r   r   r’  r   rò   r,   )	r*   rs  Úorderr,   rò   ÚclsÚppÚpp2Úpp3s	            r.   r“  zTestPPolyCommon.test_extend$  so  € ä
�	‰	�‰�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Õ)ñ "r4   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   ri   r  r&   r:   r  rü   F)Úendpoint)
rD   r¼  r½  r-  r‘   r¿  r   r   r’  r   )r*   rs  r,   rò   rK   Úc2rÁ  Úpp1rÃ  Úpp_combÚxi1Úxi2s               r.   Útest_extend_diff_ordersz'TestPPolyCommon.test_extend_diff_orders<  s  € ä
�	‰	�‰�tÔà�K‰K˜˜1˜aÓ ˆØ�J‰J”r—y‘y—~‘~ a¨Ó+Ó,ˆà�[‰[˜˜A˜qÓ!ˆØ�Z‰ZœŸ	™	Ÿ™ q¨!Ó,Ó-ˆäœ5“>ˆ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ñ "r4   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   r?   r>   é   ri   r&   r‹   .)rD   r¼  r½  ÚsortÚuniformr¿  r  r‘   r   r   r’  r   rò   r,   )	r*   rs  rÀ  r,   rò   rÁ  rc  Úp1Úp2s	            r.   Útest_extend_descendingz&TestPPolyCommon.test_extend_descendingU  sZ  € Ü
�	‰	�‰�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 !§#¡#Õ&ñ "r4   c           	      óÌ  — t         j                  j                  d«       t         j                  j                  ddddd«      }t        j                  t         j                  j                  d«      «      }t         j                  j                  dd	«      }t
        t        fD ]"  } |||«      } ||«      j                  d
k(  rŒ"J ‚ t
        t        fD ]�  } ||d   |«      }t        j                   |d«      «      dk(  sJ ‚t        j                   |t        j                  d«      «      «      dk(  sJ ‚t        t        |t        j                  ddgdggt        ¬«      «       Œ’ y )Nr»  r–   rÉ   r:   r  r  r  r?   r  )r?   r  r:   r  r  ).r   r   r   r'   r3   r8  r9  çš™™™™™Ù?r—   )rD   r¼  r½  r¿  rÏ  r   r   r  rM   r(   rn   Úobject)r*   rò   r,   rs  rÁ  rc  s         r.   Ú
test_shapezTestPPolyCommon.test_shapel  s  € Ü
�	‰	�‰�tÔÜ�I‰I�N‰N˜1˜b ! Q¨Ó*ˆÜ�G‰G”B—I‘I—N‘N 2Ó&Ó'ˆÜ�Y‰Y�^‰^˜A˜qÓ!ˆÜœ5“>ˆCÙ�A�q“	ˆAÙ�R“5—;‘; /Ó1Ð1Ð1ð "ô
 œ5“>ˆ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ñ "r4   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  r?   r  c                 ó   —  ||«       y rß   r3   )r°  r  Úxpps      r.   r±  z3TestPPolyCommon.test_concurrency.<locals>.worker_fn‰  s	   € Ù�s•r4   r>   )	rD   r¼  r¿  rÏ  Úmapr‘   r   r   r    )r*   rs  rò   r,   rÚ  rÁ  r  r±  s           r.   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Õ?ñ "r4   c           	      óN  — t         j                  j                  d«       t        j                  t         j                  j                  d«      «      }t         j                  j                  d«      dz  }|j                  |j
                  }}t         j                  j                  d«      }t        t        fD ]l  } |||«       |||«       |||«      }	}}dD ]J  }
t         |||
«      j                   |||
«      «       t         |||
«      j
                   |	||
«      «       ŒL Œn y )Né90  r  )r–   rÉ   y      ð?333333Ó?r:   rœ   )	rD   r¼  r½  rÏ  r.  r/  r   r   r   )r*   r,   rò   Úc_reÚc_imrs  rÁ  rc  Úp_reÚp_imÚnus              r.   Útest_complex_coefz!TestPPolyCommon.test_complex_coefŽ  sØ   € Ü
�	‰	�‰�uÔÜ�G‰G”B—I‘I×$Ñ$ RÓ(Ó)ˆÜ�I‰I×Ñ˜WÓ%¨Ñ3ˆØ—V‘V˜QŸV™VˆdˆÜ�Y‰Y×Ñ˜aÓ ˆÜœ5“>ˆCÙ  1›I¡s¨4°£|±S¸¸q³\�TˆtˆAÛ�Ü¡ " b£	§¡±°R¸³Ô=Ü¡ " b£	§¡±°R¸³Õ=ñ  ñ "r4   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Ý  r?   r  r:   r  r  r–   )ri   r&   ©r   ri   r&   r?   ri   rl   r&   )rB   r  r:   r  )rò   r,   rk   )rD   r¼  r½  r¿  r  r‘   rÏ  r   r   rò   Ú
derivativeÚantiderivativerk   r(   rn   r’   )r*   rs  rò   Úc_srÚ  rk   Úmr,   rÁ  rc  ÚresÚ
targ_shaperÑ  s                r.   Ú	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Ó,Ð,Ð,ñ	Cò &ð !ó& "ˆDÜœu“~�Üœj¨#ÑK´¸¸QÀTÔ1JÓKñ &ñ "r4   N)r0   r1   r2   r·  r¹  r“  rÌ  rÓ  r×  r²  rã  rì  r3   r4   r.   rµ  rµ    s2   „ ò/ò"ò
*ò04ò2'ò.Vò$@ò 
>óLr4   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©r0   r1   r2   r3   r4   r.   ÚPrð  »  ó   „ Ør4   rò  c                   ó   — e Zd Zy)úTestPolySubclassing.BNrñ  r3   r4   r.   ÚBrõ  ¾  ró  r4   rö  c                 ó*  — t         j                  j                  d«       t        j                  t         j                  j                  d«      «      }t         j                  j                  d«      }| j	                  ||«      | j                  ||«      fS )Nr»  r?   )r  r&   )rD   r¼  r½  rÏ  rò  rö  )r*   r,   rò   s      r.   Ú_make_polynomialsz%TestPolySubclassing._make_polynomialsÁ  sb   € Ü
�	‰	�‰�tÔÜ�G‰G”B—I‘I×$Ñ$ QÓ'Ó(ˆÜ�I‰I×Ñ˜VÓ$ˆØ�v‰v�a˜‹|˜TŸV™V A q›\Ð)Ð)r4   c                 óè   — | j                  «       \  }}||fD ]-  }|j                  «       }|j                  |j                  k(  rŒ-J ‚ |j                  «       }|j                  |j                  k(  sJ ‚y rß   )rø  ræ  Ú	__class__rç  )r*   rÂ  Úbprc  ÚpdÚppas         r.   Útest_derivativez#TestPolySubclassing.test_derivativeÇ  si   € Ø×'Ñ'Ó)‰ˆˆBØ�b“ˆAØ—‘“ˆBØ—;‘; "§,¡,Ó.Ð.Ð.ð ð ×ÑÓ!ˆØ�|‰|˜sŸ}™}Ò,Ð,Ñ,r4   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Œ   ri   ©r$  )rD   r¼  r½  rÏ  rñ   r¿  ra  r   rò  Úfrom_splinerú  )r*   r,   r+   ÚsplrÂ  s        r.   Útest_from_splinez$TestPolySubclassing.test_from_splineÐ  s‹   € Ü
�	‰	�‰�tÔÜ�G‰G”B—E‘E˜!œRŸY™YŸ^™^¨BÓ/°Ð2Ñ3Ó4ˆÜ�I‰I�N‰Nœ3˜q›6Ó"ˆä�Q˜˜QÔˆØ�V‰V×Ñ Ó$ˆØ�|‰|˜tŸv™vÒ%Ð%Ñ%r4   c                 ó  — | j                  «       \  }}| j                  j                  |«      }|j                  | j                  k(  sJ ‚| j                  j                  |«      }|j                  | j                  k(  sJ ‚y rß   )rø  rò  Úfrom_bernstein_basisrú  rö  Úfrom_power_basis)r*   rÂ  rû  rÈ  Úbp1s        r.   Útest_conversionsz$TestPolySubclassing.test_conversionsÙ  sh   € Ø×'Ñ'Ó)‰ˆˆBà�f‰f×)Ñ)¨"Ó-ˆØ�}‰} §¡Ò&Ð&Ð&à�f‰f×%Ñ% bÓ)ˆØ�}‰} §¡Ò&Ð&Ñ&r4   c                 óŠ   — g d¢}dgdgdgg}| j                   j                  ||«      }|j                  | j                   k(  sJ ‚y )Nrœ   ri   r&   r?   )rö  Úfrom_derivativesrú  )r*   r,   r+   rû  s       r.   Útest_from_derivativesz)TestPolySubclassing.test_from_derivativesâ  sD   € ÚˆØˆS�1�#˜�sˆOˆØ�V‰V×$Ñ$ Q¨Ó*ˆØ�|‰|˜tŸv™vÒ%Ð%Ñ%r4   N)r0   r1   r2   r   rò  r   rö  rø  rþ  r  r	  r  r3   r4   r.   rî  rî  º  s3   „ ôˆEô ôˆEô ò*ò-ò&ò'ó&r4   rî  c                   óº   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z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 )Nri   r  r&   r:   r?   r  ©r   r'   ri   ç333333Ó?ç…ëQ¸…@r—   çffffffæ?ç¤p=
×£@©r‘   r   r   rŸ   ©r*   rs  rò   r,   rc  s        r.   Ú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õ	
r4   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 )Nri   r  r&   r:   r?   r  r  Úperiodicrš  gÍÌÌÌÌÌô?r  r—   ç333333Ó¿r  gÍÌÌÌÌÌ@gffffff@r  r  s        r.   Ú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ÕVr4   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 )Nri   r  r&   r:   r?   r  r  )r   r8  r9  r  rš  rQ  )rD   rM   r   rR  rS  rB  rC  )r*   rò   r,   rµ   rS  r¶   rE  s          r.   rU  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Ó$×(Ñ(Õ*Ð*Ð*ñ 'r4   c           	      óÖ  — d„ }t         j                  j                  d«      }d}dD �]?  }t        j                  |j	                  dd|dz   «      «      }|j	                  dd|dz   |f¬	«      }t        j
                  |«      }|d d d …f   t        j                  |dz   «      d d d
…d f   z  } ||«      }	||z  }
t        j                  |	j                  |
«      }||z  }t        ||d¬«      }t        |d d …d d d
…f   |d d d
…   d¬«      }|j	                  ddd«      }t         ||«       ||«      d¬«       t         ||d«       ||d«      d¬«       |j                  «       }|j                  «       }t         ||«       ||«      d¬«       |j                  «       }|j                  «       }|j	                  ddd«      D ]c  \  }}|j                  ||«      }|j                  ||«      }t        ||d¬«       t         ||«       ||«      z
   ||«       ||«      z
  d¬«       Œe |j                  «       }|j                  «       }t        |t        j                  |«      d¬«       �ŒB y )Nc                 ó´   — t        j                  | dz   «      j                  dd«      }t        j                  | dz   «      }t        ||«      }|d d d…d d d…f   S )Nri   rB   )rD   rE   rI   r"   )Úpowerr#  Úkrö  s       r.   Úbinom_matrixz/TestPPoly.test_descending.<locals>.binom_matrix  sT   € Ü—	‘	˜% !™)Ó$×,Ñ,¨R°Ó3ˆAÜ—	‘	˜% !™)Ó$ˆAÜ�a˜“ˆAØ‘T�r�T™4˜R˜4�Z‘=Ð r4   r   r?   ©r>   rÎ  r@   r>   ri   rÈ   r&   ©ÚsizerB   Trš  rú   rÎ  rù   ç‚vIhÂ%<=rŽ   ©r:   r&   çê-�™—q=)rD   r¼  ÚRandomStaterÏ  rÐ  ÚdiffrE   Údotrˆ  r   r   ræ  rç  Ú	integrateÚroots)r*   r!  Úrngr  ré  r,   ÚcaÚhÚh_powersrö  ÚcapÚcdpÚcdÚparü  Úx_testÚpa_dÚpd_dÚpa_iÚpd_ir"  r%  Úint_aÚint_dÚroots_dÚroots_as                             r.   Útest_descendingzTestPPoly.test_descending  s$  € ò	!ô �i‰i×#Ñ# AÓ&ˆàˆÜˆAÜ—‘˜Ÿ™ A r¨1¨q©5Ó1Ó2ˆAØ—‘˜R ¨%°!©)°Q¨�Ó8ˆBä—‘˜“
ˆAØ˜šq˜‘z¤R§Y¡Y¨u°q©yÓ%9¹$¸B¸$À¸*Ñ%EÑEˆHÙ˜UÓ#ˆAØ�x‘-ˆCÜ—&‘&˜Ÿ™˜cÓ"ˆCØ�x‘ˆBä�r˜1¨$Ô/ˆBÜ�rš!™T˜r˜T˜'‘{ A¡d¨ d¡G¸Ô>ˆBà—[‘[  b¨#Ó.ˆFÜ™B˜v›J©¨6«
¸Õ?Ü™B˜v q›M©2¨f°a«=¸uÕEà—=‘=“?ˆDØ—=‘=“?ˆDä™D ›L©$¨v«,¸UÕCð
 ×$Ñ$Ó&ˆDØ×$Ñ$Ó&ˆDØŸ™ C¨¨VÖ4‘��1ØŸ™ Q¨Ó*�ØŸ™ Q¨Ó*�Ü  u°5Õ9Ü¡ Q£©$¨q«'Ñ 1±4¸³7¹TÀ!»WÑ3DØ%*ö,ð	 5ð —h‘h“jˆGØ—h‘h“jˆGÜ˜G¤R§W¡W¨WÓ%5¸E×BñK r4   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&   ri   r?   r  r  r:   ©r:   r  ©r:   r&   ri   r&   r?   )r  r&   ri   r&   r?   )
rD   r¼  r¿  rM   r   r,   r  rò   ræ  rç  )r*   rs  rò   r,   rc  ÚdpÚips          r.   Útest_multi_shapezTestPPoly.test_multi_shapeA  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˜_Ò,Ð,Ñ,r4   c                 óx  — t         j                  j                  d«       t        j                  ddgddgddggt        ¬«      }t        j                  g d	¢«      }t        j                  ||«      }t         |d
«      t        j                  d«      «       t         |d«      t        j                  d«      «       y )Nr»  ri   r  r&   r:   r?   r  r—   r  r  r  r  r  )	rD   r¼  r½  rM   rA  r   Úconstruct_fastr   r‘   ©r*   rò   r,   rc  s       r.   Útest_construct_fastzTestPPoly.test_construct_fastQ  s…   € Ü
�	‰	�‰�tÔÜ�H‰H�q˜!�f˜q !˜f q¨! fÐ-´UÔ;ˆÜ�H‰H’[Ó!ˆÜ× Ñ   AÓ&ˆÜ™˜#›¤§
¡
Ð+?Ó @ÔAÜ™˜#›¤§
¡
Ð+KÓ LÕMr4   c                 ó´  — t         j                  j                  d«      }|j                  ddd«      }t        j                  t         j
                  d|j                  d«      df   «      }t        ||«      }t         j
                  d   }t        |||«      }t         ||«      |«       t        |d d …d d …df   ||«      }t         ||«      d d …df   |«       y )	Nr»  r?   rÉ   é   r   rŒ   ri   )r  r'   g…ëQ¸Õ?ç333333ã?)
rD   r¼  r(  r¿  rÏ  rñ   r   Ú_ppoly_eval_1r   Ú_ppoly_eval_2)r*   r-  rò   r,   rc  rs  Úexpecteds          r.   Ú#test_vs_alternative_implementationsz-TestPPoly.test_vs_alternative_implementationsY  s²   € Ü�i‰i×#Ñ# DÓ)ˆØ�H‰H�Q˜˜BÓˆÜ�G‰G”B—E‘E˜!˜SŸX™X b›\¨1Ð,Ñ-Ó.ˆä�!�Q‹Kˆä�U‰UÐ&Ñ'ˆÜ   A rÓ*ˆÜ™˜"›˜xÔ(ä  ¢1¢Q q 5¡¨1¨bÓ1ˆÜ™˜"›ša ˜d™ XÕ.r4   c                 ó”  — t         j                  j                  d«      }t        j                  t         j                  d|j                  d«      df   «      }|j                  t        |«      «      }t        ||d¬«      }t        j                  |«      }t        j                  ddd«      }t         ||«      t        ||«      «       t        |Ž }t        j                  |«      }t         ||«       ||«      «       |\  }	}
}dD ]A  }t        |	|
||¬«      }t        j                  |«      }|j                  |j                  k(  rŒAJ ‚ y )	Nr»  r   rŒ   ri   r  rû   )NTFrš  )rD   r¼  r(  rÏ  rñ   r¿  ra  r   r   r  r-  r   r   r   rg   )r*   r-  r,   r+   r  rÂ  r0  r%  ÚpppÚtrò   r   Úextraprc  s                 r.   r  zTestPPoly.test_from_splineg  s  € Ü�i‰i×#Ñ# DÓ)ˆÜ�G‰G”B—E‘E˜!˜SŸX™X b›\¨1Ð,Ñ-Ó.ˆØ�H‰H”S˜“VÓˆä�Q˜˜QÔˆÜ×Ñ˜sÓ#ˆä�[‰[˜˜A˜sÓ#ˆÜ™˜2›¤ b¨#£Ô/ô �SˆMˆÜ×Ñ Ó"ˆÜ™˜B›¡ 2£Ô'ð ‰ˆˆ1ˆaÛ)ˆFÜ˜˜1˜a¨VÔ4ˆAÜ×!Ñ! !Ó$ˆAØ—=‘= A§M¡MÓ1Ð1Ð1ñ *r4   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   )rD   r¼  r(  rÏ  rñ   r¿  ra  r   r   r‘   r   r  r-  r   )r*   rs  r-  r,   r+   rR  rò   r   r  rÂ  r0  s              r.   Ú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£Õ(r4   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  r?   r&   ri   )rÉ   r  r&   é   r  r   ri   r&   )	rD   r¼  r½  r‘   rˆ  r   r   ræ  rò   )	r*   rs  rò   ÚdcÚddcr,   rÂ  ÚdppÚddpps	            r.   Ú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Õ3r4   c           	      ó¸  — t         j                  j                  d«      }t        j                  t         j                  d|j                  d«      df   «      }|j                  t        |«      «      }t        ||d¬«      }t        j                  |«      }t        j                  ddd«      }t        dd«      D ]   }t         |||«      t        |||«      «       Œ" y )Nr»  r   rŒ   ri   r  rû   r?   )rD   r¼  r(  rÏ  rñ   r¿  ra  r   r   r  r-  r  r   r   ©r*   r-  r,   r+   r  rÂ  r0  Údxs           r.   Ú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ÔˆÜ×Ñ˜sÓ#ˆä�[‰[˜˜A˜sÓ#ˆÜ˜˜1–+ˆBÜ™B˜r 2›J¬¨b°#°rÓ(:Õ;ñ r4   c                 óØ  — t         j                  j                  d«      }t        j                  t         j                  d|j                  d«      df   «      }|j                  t        |«      «      }t        ||dd¬«      }t        j                  |«      }t        j                  ddd«      }t        dd«      D ]/  }t         |||«       |j                  |«      |«      d	|› �¬
«       Œ1 y )Nr»  r   rŒ   ri   r:   ©r$  r   rû   r>   údx=r  )rD   r¼  r(  rÏ  rñ   r¿  ra  r   r   r  r-  r  r   ræ  r^  s           r.   rþ  zTestPPoly.test_derivative¤  s¹   € Ü�i‰i×#Ñ# DÓ)ˆÜ�G‰G”B—E‘E˜!˜SŸX™X b›\¨1Ð,Ñ-Ó.ˆØ�H‰H”S˜“VÓˆä�Q˜˜Q !Ô$ˆÜ×Ñ˜sÓ#ˆä�[‰[˜˜A˜sÓ#ˆÜ˜˜2–,ˆBÜ™B˜r 2›JÐ(9¨¯©°bÓ(9¸"Ó(=ÈÈRÈDÀzÖRñ r4   c                 ó  — t        dggddg«      }t        |j                  «       j                  t        dgdggddg«      j                  «       t        |j                  «       j                  t        dgdggddg«      j                  «       y )Nrv   r   ri   )r   r   rç  rò   r,   )r*   rc  s     r.   Útest_antiderivative_of_constantz)TestPPoly.test_antiderivative_of_constant°  sz   € ä�B�4�&˜1˜a˜&Ó!ˆÜ˜×(Ñ(Ó*×,Ñ,¬e°a°S¸1¸#°JÀÀAÀÓ.G×.IÑ.IÔJÜ˜×(Ñ(Ó*×,Ñ,¬e°a°S¸1¸#°JÀÀAÀÓ.G×.IÑ.IÕJr4   c                 óŽ  — t        ddggg d¢«      }|j                  «       }t        |j                  ddgddgg«       t        |j                  g d¢«       t        |j                  dd«      t        j                  d«      «       t        t        j                   |d«       |d«      z
  «      t        j                  d«      «       y )	Nrv   r'   rœ   ri   r   )r<   ri   r&   r&   r¹   )	r   rç  r   rò   r,   r   r+  rD   r‘   )r*   rc  Úqs      r.   Ú#test_antiderivative_regression_4355z-TestPPoly.test_antiderivative_regression_4355¶  s’   € ä�B˜�9�+šyÓ)ˆØ×ÑÓˆÜ˜Ÿ™˜q #˜h¨¨A¨Ð/Ô0Ü˜Ÿ™š[Ô)Ü˜Ÿ™ A qÓ)¬2¯:©:°c«?Ô;ÜœŸ
™
¡1 Q£4©!¨A«$¡;Ó/ÜŸ
™
 3›õ	)r4   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)r?   r&   ri   )r   r   ç      û?r—   )ri   ri   ri   r   )r   r   rj  ç      Õ?)ç      Ð?gUUUUUUÕ?r'   r   r   )r   r   g      ë?rk  g«ªªªª*£?)r   rl  ri   r&   )r‘   rŸ   rˆ  r   rç  r   r,   rò   )
r*   rs  rò   ÚicÚiicr,   rÂ  ÚippÚiippÚiipp2s
             r.   Ú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Õ)r4   c                 óŠ  — t         j                  j                  d«      }t        j                  ddd«      dz  }|j	                  t        |«      «      }t        ||dd¬«      }t        j                  |«      }t        dd«      D ]½  }|j                  |«      }|j                  |«      }t        |j                  |j                  «       t        |«      D ]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   ri   r@   r&   r:   rb  r>   r%  rB   r§   rc  z k=)r�   rª   )rD   r¼  r(  r-  r¿  ra  r   r   r  r  rç  ræ  r   rò   r,   )r*   r-  r,   r+   r  rÂ  r_  ro  rÃ  r   ÚrrÆ  s               r.   Ú!test_antiderivative_vs_derivativez+TestPPoly.test_antiderivative_vs_derivativeÙ  s!  € Ü�i‰i×#Ñ# DÓ)ˆÜ�K‰K˜˜1˜bÓ! 1Ñ$ˆØ�H‰H”S˜“VÓˆÜ�Q˜˜Q !Ô$ˆÜ×Ñ˜sÓ#ˆä˜˜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öñ ñ r4   c                 óô  — t         j                  j                  d«      }t        j                  t         j                  d|j                  d«      df   «      }|j                  t        |«      «      }t        ||dd¬«      }t        j                  |«      }t        dd«      D ]T  }|j                  |«      }t        ||«      }t        j                  ddd«      }	t         ||	«      t        |	|«      d	¬
«       ŒV y )Nr»  r   rŒ   ri   r:   rb  r>   rû   r§   rŽ   )rD   r¼  r(  rÏ  rñ   r¿  ra  r   r   r  r  rç  r   r-  r   r   )
r*   r-  r,   r+   r  rÂ  r_  rÃ  Úspl2r0  s
             r.   Útest_antiderivative_vs_splinez'TestPPoly.test_antiderivative_vs_splineò  sÅ   € Ü�i‰i×#Ñ# DÓ)ˆÜ�G‰G”B—E‘E˜!˜SŸX™X b›\¨1Ð,Ñ-Ó.ˆØ�H‰H”S˜“VÓˆä�Q˜˜Q !Ô$ˆÜ×Ñ˜sÓ#ˆä˜˜2–,ˆBØ×#Ñ# BÓ'ˆCÜ˜c 2Ó&ˆDä—‘˜Q  3Ó'ˆBÜ™C ›G¤U¨2¨t£_Ø!%ö'ñ r4   c                 óH  — t        j                  g d¢g d¢g«      j                  }t        j                  g d¢«      }t        ||«      }|j	                  «       }t         |d«       |d«      d¬«       |j                  «       }t        |j                  |j                  «       y )N)r&   ri   r&   r&   )r&   ri   r?   r?   r  gAíþÿÿß?g_p‰   à?g:Œ0âŽyE>rŽ   )rD   rM   rˆ  r   rç  r   ræ  rò   )r*   rò   r,   rc  rC  rÒ  s         r.   Útest_antiderivative_continuityz(TestPPoly.test_antiderivative_continuity  sw   € Ü�H‰H’l¢LÐ1Ó2×4Ñ4ˆÜ�H‰H’[Ó!ˆä�!�Q‹KˆØ×ÑÓˆô 	™˜:›©¨:«¸TÕBð �]‰]‹_ˆÜ˜Ÿ™˜aŸc™cÕ"r4   c                 óÂ  — t         j                  j                  d«      }t        j                  t         j                  d|j                  d«      df   «      }|j                  t        |«      «      }t        ||dd¬«      }t        j                  |«      }d\  }}|j                  ||«      }|j                  «       }	t        | |	|«       |	|«      z
  d¬	«       t        |t        |||«      d¬	«       d
\  }}|j                  ||d¬«      }t        | |	|«       |	|«      z
  d¬	«       t        j                  |j                  ||d¬«      «      j                  «       sJ ‚y )Nr»  r   rŒ   ri   r:   rb  )r  çÍÌÌÌÌÌì?F©Úcheck_0d)r  r|  Trš  )rD   r¼  r(  rÏ  rñ   r¿  ra  r   r   r  r+  rç  r   r   rw   rC  )
r*   r-  r,   r+   r  rÂ  r"  r%  Úigro  s
             r.   Útest_integratezTestPPoly.test_integrate  s!  € Ü�i‰i×#Ñ# DÓ)ˆÜ�G‰G”B—E‘E˜!˜SŸX™X b›\¨1Ð,Ñ-Ó.ˆØ�H‰H”S˜“VÓˆä�Q˜˜Q !Ô$ˆÜ×Ñ˜sÓ#ˆà‰ˆˆ1Ø�\‰\˜!˜QÓˆà×ÑÓ!ˆÜ˜™C ›F¡S¨£V™O°eÕ<Ü˜œF 1 a¨Ó-¸Õ>à‰ˆˆ1Ø�\‰\˜!˜Q¨Dˆ\Ó1ˆÜ˜™C ›F¡S¨£V™O°eÕ<ä�x‰x˜Ÿ™ Q¨°u˜Ó=Ó>×BÑBÔDÐDÑDr4   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©ri   r&   r  r<   rŠ   r;   ç       €rv   rQ  ri   r  )rD   rM   rR  rS  r   r+  rB  rC  )r*   r,   rò   rS  rò  rE  s         r.   Útest_integrate_readonlyz!TestPPoly.test_integrate_readonly%  sƒ   € Ü�H‰H’YÓˆÜ�H‰H�r˜2�h  c 
¨R°¨I¸¸B°xÐ@ÓAˆã&ˆIØ )ˆA�G‰GÔä�a˜“ˆAØ—;‘;˜q !Ó$ˆDä—;‘;˜tÓ$×(Ñ(Õ*Ð*Ð*ñ 'r4   c           	      ó´  — t        j                  g d¢«      }t        j                  ddgddgddgddgg«      }t        ||d¬«      }|j                  «       }t        j                   |d	«       |d
«      z
  «      }t        |j                  d
d	«      |«       t        |j                  dd«      |«       t        |j                  dd«      t        j                  d|z  «      «       t        |j                  dd«      t        j                   |d«       |d«      z
  «      «       t        |j                  dd«      t        j                   |d«       |d
«      z
   |d	«      z    |d«      z
  «      «       t        |j                  dd«      t        j                   |d«       |d
«      z
   |d	«      z    |d«      z
  «      «       t        |j                  dd«      t        j                   |d«       |d
«      z
   |d	«      z    |d«      z
  d	|z  z   «      «       t        |j                  dd«      t        j                   |d«       |d«      z
  «      «       t        |j                  dd«      t        j                   |d«       |d«      z
  «      «       t        |j                  dd«      t        j                   |d«       |d«      z
  d|z  z
  «      «       y ©Nr‚  r<   rŠ   r;   rƒ  rv   r  rš  r  ri   rú   iùÿÿÿr›  r&   r¹   r*  ro  r:   g      /@r™  r   rB   r?   i÷ÿÿÿ)rD   rM   r   rç  r‘   r   r+  )r*   r,   rò   rò  ÚIÚ
period_ints         r.   Útest_integrate_periodicz!TestPPoly.test_integrate_periodic1  s@  € Ü�H‰H’YÓˆÜ�H‰H�r˜2�h  c 
¨R°¨I¸¸B°xÐ@ÓAˆä�!�Q JÔ/ˆØ×ÑÓˆä—Z‘Z¡ !£¡q¨£t¡Ó,ˆ
ä˜Ÿ™ A qÓ)¨:Ô6Ü˜Ÿ™ C¨Ó,¨jÔ9Ü˜Ÿ™ C¨Ó,¬b¯j©j¸¸Z¹Ó.HÔIä˜Ÿ™ C¨Ó-ÜŸ
™
¡1 S£6©A¨c«F¡?Ó3ô	5ä˜Ÿ™ C¨Ó+ÜŸ
™
¡1 Q£4©!¨A«$¡;±°1³Ñ#5¹¸#»Ñ#>Ó?ô	Aä˜Ÿ™ H¨fÓ5ÜŸ
™
¡1 Q£4©!¨A«$¡;±°1³Ñ#5¹¸#»Ñ#>Ó?ô	Aä˜Ÿ™ C¨Ó0ÜŸ
™
¡1 Q£4©!¨A«$¡;±°1³Ñ#5¹¸#»Ñ#>ÀÀZÁÑ#OÓPô	Rä˜Ÿ™ A rÓ*ÜŸ
™
¡1 Q£4©!¨A«$¡;Ó/ô	1ä˜Ÿ™ B¨Ó,ÜŸ
™
¡1 Q£4©!¨A«$¡;Ó/ô	1ä˜Ÿ™ A sÓ+ÜŸ
™
¡1 Q£4©!¨A«$¡;°°Z±Ñ#?Ó@õ	Br4   c                 ó  — t        j                  ddd«      dz  }t        j                  d|z  «      }t        ||dd¬«      }t	        j
                  |«      }|j                  «       }||dk\  |d	k  z     }t        |t        |«      d
¬«       y )Nr   ri   r,  r&   r@   r?   rb  gVçž¯Ò¼g     ð?r™   rš   )	rD   r-  r   r   r   r  r,  r   r   )r*   r,   r+   r  rÂ  rt  s         r.   Ú
test_rootszTestPPoly.test_rootsM  s|   € Ü�K‰K˜˜1˜bÓ! 1Ñ$ˆÜ�F‰F�2�a‘4‹Lˆä�Q˜˜Q !Ô$ˆÜ×Ñ˜sÓ#ˆà�H‰H‹JˆØˆq�I‰~ ! y¡.Ñ1Ñ2ˆÜ˜œ6 #›;¨UÖ3r4   c                 óª  — t        j                  ddgddgddgg«      j                  }t        j                  g d¢«      }t        ||«      }t	        |j                  «       ddt         j                  dg«       d}|j                  «       }|dd d …fxx   |z  cc<   t        ||«      }t	        |j                  |«      ddt         j                  dg«       y )	NrB   rl  r   )r   rÕ  rK  rv   rÕ  g333333ë?r;   ri   )	rD   rM   rˆ  r   r   r,  r¡   rr   Úsolve)r*   rò   r,   rÂ  ÚconstÚc1rÈ  s          r.   Útest_roots_idzerozTestPPoly.test_roots_idzeroX  s·   € ô �H‰H�r˜4�j 1 a &¨2¨t¨*Ð5Ó6×8Ñ8ˆÜ�H‰HÒ'Ó(ˆä�1�a‹[ˆÜ˜Ÿ™›
Ø˜s¤B§F¡F¨JÐ7ô	9ð ˆØ�V‰V‹XˆØ
ˆ1Šaˆ4‹�EÑ‹Ü�B˜‹lˆä˜Ÿ	™	 %Ó(Ø˜s¤B§F¡F¨JÐ7õ	9r4   c                 ó`  — dgdgg}ddg}t        ||«      }t        |j                  «       dt        j                  g«       t        |j                  d«      dt        j                  g«       t        |j                  d«      g «       ddgddgg}g d¢}t        ||«      }t        |j                  «       dt        j                  dt        j                  g«       t        |j                  d«      dt        j                  dt        j                  g«       t        |j                  d«      g «       y )Nr   ri   rœ   )r   r   r,  rD   r¡   r�  rG  s       r.   Útest_roots_all_zerozTestPPoly.test_roots_all_zerok  sß   € àˆS�1�#ˆJˆØ�ˆFˆÜ�!�Q‹KˆÜ˜Ÿ™›	 A¤r§v¡v ;Ô/Ü˜Ÿ™ ›
 Q¬¯© KÔ0Ü˜Ÿ™ ›
 BÔ'à�ˆV�a˜�VÐˆÚˆÜ�!�Q‹KˆÜ˜Ÿ™›	 A¤r§v¡v¨q´"·&±&Ð#9Ô:Ü˜Ÿ™ ›
 Q¬¯©°´2·6±6Ð$:Ô;Ü˜Ÿ™ ›
 BÕ'r4   c                 óR  — t        j                  g d¢g d¢g«      j                  }t        j                  g d¢«      }t        ||«      }t	        |j                  «       t        j                  ddg«      «       t	        |j                  d¬«      t        j                  dg«      «       y )N)ri   r   rB   )rB   r   r   rÓ   g       Àr<   Frš  )rD   rM   rˆ  r   r   r,  r‘   ©r*   rò   r,   rÂ  s       r.   Útest_roots_repeatedzTestPPoly.test_roots_repeated{  ss   € ô
 �H‰H’j¢*Ð-Ó.×0Ñ0ˆÜ�H‰H’ZÓ ˆä�1�a‹[ˆÜ˜Ÿ™›
¤B§J¡J°°c¨{Ó$;Ô<Ü˜Ÿ™¨U˜Ó3´R·Z±ZÀÀÓ5FÕGr4   c                 óÄ  — t        j                  dgdgg«      j                  }t        j                  g d¢«      }t        ||«      }t	        |j                  «       t        j                  dg«      «       t	        |j                  d¬«      t        j                  g «      «       t	        |j                  d«      t        j                  dg«      «       t	        |j                  dd¬«      t        j                  g «      «       t	        |j                  d«      t        j                  g «      «       t	        |j                  dd¬«      t        j                  g «      «       y )Nri   rB   r  r'   F)Údiscontinuityr¹   )rD   rM   rˆ  r   r   r,  r‘   r�  r”  s       r.   Útest_roots_discontzTestPPoly.test_roots_discont‡  sæ   € ä�H‰H�q�c˜B˜4�[Ó!×#Ñ#ˆÜ�H‰H’[Ó!ˆÜ�1�a‹[ˆÜ˜Ÿ™›
¤B§J¡J°¨uÓ$5Ô6Ü˜Ÿ™¨u˜Ó5´r·z±zÀ"³~ÔFô 	˜Ÿ™ ›¤r§z¡z°3°%Ó'8Ô9Ü˜Ÿ™ °E˜Ó:¼B¿J¹JÀr»NÔKä˜Ÿ™ ›¤r§z¡z°"£~Ô6Ü˜Ÿ™ °E˜Ó:¼B¿J¹JÀr»NÕKr4   c                 ó(  — t         j                  j                  d«      }d}dD �]V  }t        dd«      D �]C  }t        j                  t         j
                  dd|j                  d«      z  df   «      }d|j                  |dz   t        |«      dz
  dd	«      z  dz
  }t        ||«      }d|j                  «       fD ]»  }|j                  |d
|¬«      }	t        d«      D ]—  }
t        d	«      D ]‡  }|	|
|f   }|j                  dkD  sŒ||j                  z  } |||¬«      d d …|
|f   } ||d|¬«      d d …|
|f   }d|›dt        |«      › �}t        ||z
  |z  t        j                  d«      d|d
¬«       Œ‰ Œ™ Œ½ �ŒF �ŒY |dkD  sJ t        |«      «       ‚y )Nr»  r   rQ  rÎ  r>   r@   r&   ri   r?   F)r—  rg   rš  )râ  rg   Ú(z) r = r<   r§   )r›   rª   rç   rù   )rD   r¼  r(  r  r¾  rñ   r¿  ra  r   r�  r$  Úreprr   r‘   )r*   r-  Únumrg   rÀ  r,   rò   rÂ  r+   rt  ÚiÚjÚrrÚvalÚcmpvalr³  s                   r.   Útest_roots_randomzTestPPoly.test_roots_random–  sŠ  € ä�i‰i×#Ñ# DÓ)ˆàˆä(ˆKÜ˜q "Ÿ�Ü—I‘IœbŸe™e A r¨C¯H©H°R«LÑ'8¸"Ð$<Ñ=Ó>�Ø�c—h‘h˜u Q™w¬¨A«¨q©°!°QÓ7Ñ7¸!Ñ;�ä˜1˜a“[�Ø˜SŸZ™Z›\Ó*�AØŸ™ °%À[˜ÓQ�Aä" 1žX˜Ü!& q¦˜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ñ "*ñ &ò +ò &ð )ð0 �SŠyÐ#œ$˜s›)Ó#‰yr4   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»  ri   rË   é‚   r?   )ri   r&   ri   r   r—   Úignore)r•  g»½×Ùß|Û=rš   )rD   r¼  r(  r  r¿  r€  r  Úcomplexr   Ú_croots_poly1rw   rC  ÚabsÚerrstateÚravelr   Ú
zeros_like)	r*   r-  r   rò   r+   Úwrê  Úcresr�  s	            r.   Útest_roots_crootszTestPPoly.test_roots_croots¶  si  € ä�i‰i×#Ñ# DÓ)ˆä�q˜"—ˆAØ—‘˜˜A˜sÓ#ˆAà�AŠvà"�’!�A�a�%‘à˜Ÿ™›Ô&�Ü—H‘H˜QŸW™W¬GÔ4�Ü×$Ñ$ Q¨¨1Ô-à˜’6ÜŸ8™8 A›;Ÿ?™?Ô,Ð,Ð,Øà�b�Ø�Ü˜qž�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ð "ô —[‘[¨Ö2Ø˜4‘K�C÷ 3à—i‘i“k�Øœ2Ÿ8™8 C›=˜.Ñ)�Ü ¤R§]¡]°3Ó%7¸e×Dò# 'ñ ÷( 3Ð2ús   Ä/FÆFc                 óf  — t        j                  g d¢g«      j                  }t        j                  ddg«      }dD �]r  }t        |||¬«      }|j	                  «       }|j                  «       }|du ržt        j                   |ddg«      «      j                  «       sJ ‚t        j                   |ddg«      «      j                  «       sJ ‚t        j                   |ddg«      «      j                  «       sJ ‚|j                  «       dgk(  rŒÒJ ‚t         |ddg«      d	d
g«       t        j                   |ddg«      «      j                  «       rJ ‚t        j                   |ddg«      «      j                  «       rJ ‚t        |j                  «       t        j                  ddg«      «       �Œu y )NrÓ   r   ri   ©TFNrš  Fçš™™™™™¹¿çš™™™™™ñ?g®Gáz®ï?gèz®GáÊ¿rv   rŠ   )rD   rM   rˆ  r   ræ  rç  rw   rC  r,  r   Úanyr‘   )r*   rò   r,   rg   rÂ  Úpp_dÚpp_is          r.   r¢  zTestPPoly.test_extrapolate_attrÔ  s`  € ä�H‰H’j�\Ó"×$Ñ$ˆÜ�H‰H�a˜�VÓˆä.ˆKÜ�q˜!¨Ô5ˆBØ—=‘=“?ˆDØ×$Ñ$Ó&ˆDà˜eÑ#Ü—x‘x¡ D¨# ;£Ó0×4Ñ4Ô6Ð6Ð6Ü—x‘x¡ d¨C [Ó 1Ó2×6Ñ6Ô8Ð8Ð8Ü—x‘x¡ d¨C [Ó 1Ó2×6Ñ6Ô8Ð8Ð8Ø—x‘x“z a SÓ(Ð(Ð(ä¡ D¨# ;£°(¸HÐ1EÔFÜŸ8™8¡D¨$°¨Ó$5Ó6×:Ñ:Ô<Ð<Ð<ÜŸ8™8¡D¨$°¨Ó$5Ó6×:Ñ:Ô<Ð<Ð<Ü §¡£
¬B¯J©J¸¸T°{Ó,CÖDñ /r4   N) r0   r1   r2   r  r  rU  r>  rD  rH  rO  r  rU  r\  r`  rþ  re  rh  rr  ru  rx  rz  r€  r„  r‰  r‹  r�  r’  r•  r˜  r¢  r®  r¢  r3   r4   r.   r  r  é  s    „ ò
òWò+ò/Còb-ò Nò/ò2ò.
)ò4ò
<ò
SòKò)ò*ò2ò2'ò #òEò*
+òBò8	4ò9ò&(ò 
HòLò$ò@Eó<Er4   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   ri   r?   r8  rt   r—   ©r‘   r   r   rŸ   ©r*   rs  r,   rò   rû  s        r.   r  zTestBPoly.test_simpleì  sP   € Ø�J‰J˜˜1�vÓˆØ�J‰J˜˜�uÓˆÜ�1�a‹[ˆÜ™˜3› §¡¨B°b·j±j Ó!AÕBr4   c                 óÆ   — |j                  ddg«      }|j                  dgdgg«      }t        ||«      }t         |d«      |j                  d|j                  ¬«      «       y )Nr   ri   r?   r8  ggfffff@r—   r¹  rº  s        r.   Útest_simple2zTestBPoly.test_simple2ò  sT   € Ø�J‰J˜˜1�vÓˆØ�J‰J˜˜˜a˜S�zÓ"ˆÜ�1�a‹[ˆÜ™˜3› §¡¨NÀ"Ç*Á* Ó!MÕNr4   c                 óÊ   — |j                  ddg«      }|j                  dgdgdgg«      }t        ||«      }t         |d«      |j                  d|j                  ¬«      «       y )Nr   ri   r?   r  r9  g433333@r—   r¹  rº  s        r.   Útest_simple3zTestBPoly.test_simple3ø  s]   € Ø�J‰J˜˜1�vÓˆØ�J‰J˜˜˜a˜S 1 #�Ó'ˆÜ�1�a‹[ˆÜÙˆs‹GØ�J‰JÐ@ÈÏ
É
ˆJÓSõ	
r4   c                 óÎ   — |j                  ddg«      }|j                  dgdgdgdgg«      }t        ||«      }t         |d«      |j                  d|j                  ¬«      «       y )Nr   ri   r&   r  g:ßO�—nð?r—   r¹  rº  s        r.   Útest_simple4zTestBPoly.test_simple4  sl   € Ø�J‰J˜˜1�vÓˆØ�J‰J˜˜˜a˜S 1 #¨ sÐ+Ó,ˆÜ�1�a‹[ˆÜ™˜3›ØŸ
™
ð (.ð 68·Z±Zð #ó Aõ	
r4   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   ri   r–   r&   r  g”Ô	h"l@r—   r¹  rº  s        r.   Útest_simple5zTestBPoly.test_simple5  so   € Ø�J‰J˜˜1�vÓˆØ�J‰J˜˜˜a˜S 1 #¨ s¨Q¨CÐ0Ó1ˆÜ�1�a‹[ˆÜ™˜3›ØŸ
™
ð &(ð 02¯z©zð	 #ó ;õ	
r4   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   ri   r?   r?   r   r&   r  rš  g333333@gHáz®Gñ?r—   gÍÌÌÌÌÌô¿ç[�Âõ(\Ï?ri   çÌÌÌÌÌÌÀr  r¹  rº  s        r.   r  zTestBPoly.test_periodic  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ÕOr4   c           	      ó˜  — t         j                  j                  d«      }d}dD �]£  }t        j                  |j	                  dd|dz   «      «      }|j	                  dd|dz   |f¬«      }|d d d	…   j                  «       }t        ||d
¬«      }t        |d d …d d d	…f   |d d d	…   d
¬«      }|j	                  ddd«      }	t         ||	«       ||	«      d¬«       t         ||	d«       ||	d«      d¬«       |j                  «       }
|j                  «       }t         |
|	«       ||	«      d¬«       |j                  «       }|j                  «       }|j	                  ddd«      D ]c  \  }}|j                  ||«      }|j                  ||«      }t        ||d¬«       t         ||«       ||«      z
   ||«       ||«      z
  d¬«       Œe �Œ¦ y )Nr   r?   r"  r>   ri   r±  r8  r#  rB   Trš  rú   rÎ  rù   r%  rŽ   r&  r'  )rD   r¼  r(  rÏ  rÐ  rr   r   r   ræ  rç  r+  )r*   r-  r  ré  r,   r.  r3  r4  rü  r5  r6  r7  r8  r9  r"  r%  r:  r;  s                     r.   r>  zTestBPoly.test_descending$  s™  € Ü�i‰i×#Ñ# AÓ&ˆàˆÜˆAÜ—‘˜Ÿ™ A r¨1¨q©5Ó1Ó2ˆAØ—‘˜T 3¨e°a©i¸¨^�Ó<ˆBà‘D�b�D‘—‘“ˆBä�r˜1¨$Ô/ˆBÜ�rš!™T˜r˜T˜'‘{ A¡d¨ d¡G¸Ô>ˆBà—[‘[  b¨#Ó.ˆFÜ™B˜v›J©¨6«
¸Õ?Ü™B˜v q›M©2¨f°a«=¸uÕEà—=‘=“?ˆDØ—=‘=“?ˆDä™D ›L©$¨v«,¸UÕCð
 ×$Ñ$Ó&ˆDØ×$Ñ$Ó&ˆDØŸ™ C¨¨VÖ4‘��1ØŸ™ Q¨Ó*�ØŸ™ Q¨Ó*�Ü  u°5Õ9Ü¡ Q£©$¨q«'Ñ 1±4¸³7¹TÀ!»WÑ3DØ%*ö,ò	 5ñ/ r4   c                 óR  — t         j                  j                  d«      }|j                  ddddd«      }t        j                  g d¢«      }t        ||«      }|j                  j                  |j                  k(  sJ ‚|j                  j                  |j                  k(  sJ ‚ |d«      j                  |j                  dd  k(  sJ ‚ ||j                  dd«      «      j                  d	|j                  dd  z   k(  sJ ‚|j                  «       }|j                  j                  d
k(  sJ ‚y )Nr»  r  r&   ri   r?   r  r  r:   r@  rA  )
rD   r¼  r(  r¿  rM   r   r,   r  rò   ræ  )r*   r-  rò   r,   rc  rB  s         r.   rD  zTestBPoly.test_multi_shapeF  sì   € Ü�i‰i×#Ñ# DÓ)ˆØ�H‰H�Q˜˜1˜a Ó#ˆÜ�H‰H’[Ó!ˆÜ�!�Q‹KˆØ�s‰s�y‰y˜AŸG™GÒ#Ð#Ð#Ø�s‰s�y‰y˜AŸG™GÒ#Ð#Ð#Ù�‹v�|‰|˜qŸw™w q r˜{Ò*Ð*Ð*Ù�—‘˜!˜Q“Ó ×&Ñ&¨&°1·7±7¸1¸2°;Ñ*>Ò>Ð>Ð>à�\‰\‹^ˆØ�t‰t�z‰z˜_Ò,Ð,Ñ,r4   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&   r?   ri   r  r8  r—   r¹  )r*   rs  r,   rò   rû  Úxvalr$  s          r.   Útest_interval_lengthzTestBPoly.test_interval_lengthS  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õ	
r4   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Ä  r?   r   r&   rÕ  gGáz®Gñ?r—   ç333333û?rÅ  r¹  rº  s        r.   Ú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ÕNr4   c                 óð  — ddg}dgdgdgg}t        ||«      }dD ]Ù  }t        |||¬«      }|j                  «       }|du r[t        j                   |d	d
g«      «      j	                  «       sJ ‚t        j                   |d	d
g«      «      j	                  «       rŒ~J ‚t        j                   |d	d
g«      «      j                  «       rJ ‚t        j                   |d	d
g«      «      j                  «       sŒÙJ ‚ y )Nr   r&   r?   ri   r  r°  rš  Fr±  gÍÌÌÌÌÌ @)r   ræ  rD   rw   rC  r³  )r*   r,   rò   rû  rg   Úbp_ds         r.   r¢  zTestBPoly.test_extrapolate_attrf  sà   € Ø�ˆFˆØˆS�1�#˜�sˆOˆÜ�1�a‹[ˆã.ˆKÜ�q˜!¨Ô5ˆBØ—=‘=“?ˆDØ˜eÑ#Ü—x‘x¡ D¨# ;£Ó0×4Ñ4Ô6Ð6Ð6Ü—x‘x¡ d¨C [Ó 1Ó2×6Ñ6Õ8Ð8Ð8äŸ8™8¡B¨¨c {£OÓ4×8Ñ8Ô:Ð:Ð:ÜŸ8™8¡D¨$°¨Ó$5Ó6×:Ñ:Õ<Ð<Ð<ñ /r4   N)r0   r1   r2   r  r¼  r¾  rÀ  rÂ  r  r>  rD  rË  rÎ  r¢  r3   r4   r.   r·  r·  ê  s>   „ òCòOò
ò	
ò

ò
Pò ,òD-ò	
òOó=r4   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Ä  r?   r   r&   rÕ  rÆ  r—   rÍ  r  ©ri   r&   r?   )rÆ  r|   r<   )r  rv   r   )r‘   r   ræ  r   rŸ   r|  )r*   rs  r,   rò   rû  Úbp_derrâ  s          r.   rþ  z!TestBPolyCalculus.test_derivativex  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–   ri   r   rB   é   )rD   r¼  r(  rÏ  r‘   r   r   r  r  ræ  r-  r   )r*   rs  r-  ré  r   r,   rò   rû  rÂ  ÚdrÚ  s              r.   Útest_derivative_ppolyz'TestBPolyCalculus.test_derivative_ppolyˆ  sÏ   € ä�i‰i×#Ñ# DÓ)ˆØ‰ˆˆ1Ü�G‰G�C—J‘J˜q“MÓ"ˆØ�J‰J˜˜1˜Q™3�xÓ ˆà�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Õ-ñ	 r4   c           	      ó¶  — t         j                  j                  d«      }d\  }}t        j                  |j                  |«      «      }|j                  ||dz
  f«      }|j	                  «       |dz  fD ]c  }t        ||«      }t        j                  |d   |d   d«      }t        |«      D ]*  }	t         |||	«       |j                  |	«      |«      «       Œ, Œe y )Nr»  rØ  ri   r+  r   rB   rÙ  )
rD   r¼  r(  rÏ  rr   r   r-  r  r   ræ  )
r*   r-  ré  r   r,   rò   Úccrû  rÚ  r�  s
             r.   Útest_deriv_inplacez$TestBPolyCalculus.test_deriv_inplace™  sº   € Ü�i‰i×#Ñ# DÓ)ˆØ‰ˆˆ1Ü�G‰G�C—J‘J˜q“MÓ"ˆØ�J‰J˜˜1˜Q™3�xÓ ˆð —6‘6“8˜Q ™\Ó*ˆBÜ�r˜1“ˆBÜ—+‘+˜a ™d A b¡E¨2Ó.ˆCÜ˜1–X�Ü¡ 3¨£
Ð,<¨B¯M©M¸!Ó,<¸SÓ,AÕBñ ñ +r4   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   ri   r?   rŒ   r—   r&   r;   r'   g      è?r'  ©r›   r�   )r‘   r   rç  r-  rŸ   r   Úwhere)r*   rs  r,   rò   rû  ÚbiÚxxs          r.   rr  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à"¨ö	0r4   c                 ól  — t         j                  j                  d«      }t        j                  |j                  d«      «      }|j                  d«      }t	        ||«      }t        j
                  |d   |d   d«      }t         |j                  «       j                  «       |«       ||«      dd¬«       y )	Nr»  rŒ   ©r  r>   r&   r?   r   rB   rù   r'  rà  )	rD   r¼  r(  rÏ  r   r-  r   rç  ræ  ©r*   r-  r,   rò   rû  rã  s         r.   Útest_der_antiderz"TestBPolyCalculus.test_der_antiderº  sŽ   € Ü�i‰i×#Ñ# DÓ)ˆÜ�G‰G�C—J‘J˜r“NÓ#ˆØ�J‰J�}Ó%ˆÜ�1�a‹[ˆä�[‰[˜˜1™˜q ™u cÓ*ˆÜÐ8˜×)Ñ)Ó+×6Ñ6Ó8¸Ó<Ù˜2› U°ö	8r4   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   rB   r>   r&   r'  rà  )
rD   r¼  r(  rÏ  r   r   r  r-  r   rç  )r*   r-  r,   rò   rû  rÂ  rã  s          r.   Útest_antider_ppolyz$TestBPolyCalculus.test_antider_ppolyÄ  s¦   € Ü�i‰i×#Ñ# DÓ)ˆÜ�G‰G�C—J‘J˜r“NÓ#ˆØ�J‰J�}Ó%ˆÜ�1�a‹[ˆÜ×'Ñ'¨Ó+ˆä�[‰[˜˜1™˜q ™u bÓ)ˆäÐ,˜×)Ñ)¨!Ó,¨RÓ0Ø,˜×)Ñ)¨!Ó,¨RÓ0°uÀ5ö	Jr4   c                 ó@  — t         j                  j                  d«      }t        j                  |j                  d«      «      }|j                  d«      }t	        ||«      j                  «       }|j                  dd }t         ||dz
  «       ||dz   «      dd¬«       y )	Nr»  rŒ   ©r  r>   ri   rB   r�   r'  rà  )rD   r¼  r(  rÏ  r   rç  r,   r   ræ  s         r.   Útest_antider_continuousz)TestBPolyCalculus.test_antider_continuousÐ  s   € Ü�i‰i×#Ñ# DÓ)ˆÜ�G‰G�C—J‘J˜r“NÓ#ˆØ�J‰J�wÓˆÜ�1�a‹[×'Ñ'Ó)ˆà�T‰T�!�BˆZˆÜ™˜2 ™:›Ù˜2 ™:›¨U¸ö	@r4   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   ri   r'  F)r›   r�   r~  )
rD   r¼  r(  rÏ  r‘   r   r   r  r   r+  )r*   rs  r-  r,   rò   rû  rÂ  s          r.   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r4   c                 ób  — dgg}ddg}t        ||«      }t        |j                  dd«      t        j                  d«      dd¬«       t        ||d¬«      }t        j
                  |j                  dd«      «      sJ ‚t        |j                  ddd	¬«      t        j                  d«      dd¬«       y )
Nri   r   r&   r;   r�   F)r›   r~  rš  T)r   r   r+  rD   r‘   rw   )r*   rò   r,   r%  Úb1s        r.   Útest_integrate_extrapz'TestBPolyCalculus.test_integrate_extrapä  s›   € ØˆSˆEˆØ�ˆFˆÜ�!�Q‹Kˆô 	˜Ÿ™ A qÓ)¬2¯:©:°b«>Ø"¨Uõ	4ô �1�a UÔ+ˆÜ�x‰x˜Ÿ™ Q¨Ó*Ô+Ð+Ð+Ü˜Ÿ™ Q¨°t˜Ó<ÜŸ
™
 2›¨U¸Uö	Dr4   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 r†  )r‘   r   r  r   rç  r   r+  )r*   rs  r,   rò   rò  r‡  rˆ  s          r.   r‰  z)TestBPolyCalculus.test_integrate_periodicó  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ÕVr4   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 )Nri   r   rÙ  rB   r'  rà  )r‘   r   r-  r   ræ  rç  )r*   rs  rò   r,   r%  rã  s         r.   Ú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Ø"¨ö	0r4   N)r0   r1   r2   rþ  rÛ  rÞ  rr  rç  ré  rì  r€  rð  r‰  ró  r3   r4   r.   rÒ  rÒ  v  s?   „ ò
ò .ò"Cò0ò(8ò
Jò@òTòDòWó00r4   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Ä  r?   r&   ri   r–   r  r8  çffffffö?)r‘   r   r   r  r  r   )r*   rs  r,   rò   rÂ  rû  rÈ  Úxvs           r.   Útest_bp_from_ppz#TestPolyConversions.test_bp_from_pp  s’   € Ø�J‰J’yÓ!ˆØ�J‰J˜˜A˜  A ¨¨A¨Ð/Ó0ˆÜ�1�a‹[ˆÜ×#Ñ# BÓ'ˆÜ×(Ñ(¨Ó,ˆà�Z‰Z˜˜c˜
Ó#ˆÜ™˜2›¡ 2£Ô'Ü™˜2›¡ B£Õ(r4   c                 óÆ  — t         j                  j                  d«      }d\  }}t        j                  |j                  |«      «      }|j                  ||dz
  f«      }t	        ||«      }t        j                  |«      }t	        j                  |«      }t        j                  |d   |d   d«      }	t         ||	«       ||	«      «       t         ||	«       ||	«      «       y r×  )
rD   r¼  r(  rÏ  r   r   r  r  r-  r   )
r*   r-  ré  r   r,   rò   rÂ  rû  rÈ  rø  s
             r.   Útest_bp_from_pp_randomz*TestPolyConversions.test_bp_from_pp_random&  s´   € Ü�i‰i×#Ñ# DÓ)ˆØ‰ˆˆ1Ü�G‰G�C—J‘J˜q“MÓ"ˆØ�J‰J˜˜1˜Q™3�xÓ ˆÜ�1�a‹[ˆÜ×#Ñ# BÓ'ˆÜ×(Ñ(¨Ó,ˆä�[‰[˜˜1™˜q ™u bÓ)ˆÜ™˜2›¡ 2£Ô'Ü™˜2›¡ B£Õ(r4   c                 ó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Ä  r?   ri   r  r&   r8  r÷  )r‘   r   r   r  r  r   )r*   rs  r,   rò   rû  rÂ  r  rø  s           r.   Útest_pp_from_bpz#TestPolyConversions.test_pp_from_bp3  s’   € Ø�J‰J’yÓ!ˆØ�J‰J˜˜A˜  A ¨¨A¨Ð/Ó0ˆÜ�1�a‹[ˆÜ×'Ñ'¨Ó+ˆÜ×$Ñ$ RÓ(ˆà�Z‰Z˜˜c˜
Ó#ˆÜ™˜2›¡ 2£Ô'Ü™˜2›¡ B£Õ(r4   c                 ó6  — g d¢}ddgddgddgg}t        ||«      }t        t        «      5  t        j                  |«       d d d «       t	        ||«      }t        t        «      5  t	        j
                  |«       d d d «       y # 1 sw Y   ŒCxY w# 1 sw Y   y xY w)NrÄ  r?   ri   r  r&   )r   r(   Ú	TypeErrorr  r   r  )r*   r,   rò   rÂ  rû  s        r.   Útest_broken_conversionsz+TestPolyConversions.test_broken_conversions>  s‚   € âˆØ�ˆV�a˜�V˜a ˜VÐ$ˆÜ�1�a‹[ˆÜœ9Õ%Ü×&Ñ& rÔ*÷ &ô �1�a‹[ˆÜœ9Õ%Ü×"Ñ" 2Ô&÷ &Ð%÷	 &Ð%ú÷ &Ð%ús   «BÁ$BÂBÂBN)r0   r1   r2   rù  rû  rý  r   r3   r4   r.   rõ  rõ    s   „ ò	)ò)ò	)ó
'r4   rõ  c                   ól   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestBPolyFromDerivativesc                 óT   — t        j                  dddgdg«      }t        |ddg«       y )Nr   ri   r&   r?   r;   rt   ©r   Ú_construct_from_derivativesr   )r*   r�  s     r.   Útest_make_poly_1z)TestBPolyFromDerivatives.test_make_poly_1L  s*   € Ü×.Ñ.¨q°!°a°S¸1¸#Ó>ˆÜ˜˜R ˜HÕ%r4   c                 óú   — t        j                  ddddgdg«      }t        |g d¢«       t        j                  ddddgdg«      }t        |g d¢«       t        j                  dddgddg«      }t        |g d¢«       y )Nr   ri   )rv   rv   rv   r&   r?   )r;   ro  rv   )r;   g      à¿rv   r  ©r*   r�  rÇ  Úc3s       r.   Útest_make_poly_2z)TestBPolyFromDerivatives.test_make_poly_2P  sx   € Ü×.Ñ.¨q°!°a¸°V¸a¸SÓAˆÜ˜šLÔ)ô ×.Ñ.¨q°!°a¸°V¸a¸SÓAˆÜ˜šNÔ+ô ×.Ñ.¨q°!°a°S¸1¸a¸&ÓAˆÜ˜šNÕ+r4   c                 óü   — t        j                  ddg d¢dg«      }t        |g d¢«       t        j                  dddgg d¢«      }t        |g d¢«       t        j                  ddddgdd	g«      }t        |g d
¢«       y )Nr   ri   rÔ  r  )rv   ç«ªªªªªú?g«ªªªªª@r  )r  r&   r?   )rv   gUUUUUU	@g«ªªªªª
@r  r&   r?   )rv   r  rt   r  r  r  s       r.   Útest_make_poly_3z)TestBPolyFromDerivatives.test_make_poly_3\  su   € ä×.Ñ.¨q°!²YÀÀÓDˆÜ˜Ò1Ô2ô ×.Ñ.¨q°!°a°Sº)ÓDˆÜ˜Ò2Ô3ô ×.Ñ.¨q°!°a¸°V¸aÀ¸VÓDˆÜ˜Ò.Õ/r4   c                 óÈ  — t         j                  j                  d«      }t         j                  d|j                  d«      f   }t         j                  d|j                  d«      f   }t	        j
                  dd||«      }t	        |d d …d f   ddg«      }t        d«      D ]@  }t         |d«      ||   d¬«       t         |d	«      ||   d¬«       |j                  «       }ŒB y )
NrÝ  r   r:   ri   r  r<   Fr}  rv   )	rD   r¼  r(  rñ   r   r  r  r   ræ  )r*   r-  ÚyaÚybrò   rÂ  rž  s          r.   Útest_make_poly_12z*TestBPolyFromDerivatives.test_make_poly_12i  s»   € Ü�i‰i×#Ñ# EÓ*ˆÜ�U‰U�1�c—j‘j “mÐ#Ñ$ˆÜ�U‰U�1�c—j‘j “mÐ#Ñ$ˆä×-Ñ-¨a°°B¸Ó;ˆÜ�1’Q˜�W‘:  1˜vÓ&ˆÜ�q–ˆAÜ™B˜r›F B q¡E°EÕ:Ü™B˜r›F B q¡E°EÕ:Ø—‘“‰Bñ r4   c                 ó:  — t         j                  j                  d«      }ddg}d\  }}|j                  |ddddf«      }t        ||«      }t        j                  ||«      }t        ||«      }t        j
                  ddd«      }	t         ||	«       ||	«      «       y )	NrÝ  r   ri   )r–   r:   r&   r?   r  rŒ   )rD   r¼  r(  r   Ú_raise_degreer-  r   )
r*   r-  r,   r   rÚ  rò   rû  r�  r  rs  s
             r.   Útest_raise_degreez*TestBPolyFromDerivatives.test_raise_degreeu  sŒ   € Ü�i‰i×#Ñ# EÓ*ˆØ�ˆFˆØ‰ˆˆ1Ø�J‰J˜˜1˜a  A�Ó'ˆÜ�1�a‹[ˆä× Ñ   AÓ&ˆÜ�B˜‹lˆä�[‰[˜˜A˜rÓ"ˆÜ™˜2›¡ B£Õ(r4   c                 óJ   — t        t        t        j                  ddgdg«       y )Nr   ri   ©r(   rn   r   r  rY   s    r.   Ú
test_xi_yiz#TestBPolyFromDerivatives.test_xi_yi‚  s   € Ü”j¤%×"8Ñ"8¸1¸a¸&À1À#ÕFr4   c                 ó\   — g d¢}dgdgdgg}t        t        t        j                  ||«       y )N©r   r   ri   r   r  )r*   r0  ró   s      r.   Útest_coords_orderz*TestBPolyFromDerivatives.test_coords_order…  s,   € ÚˆØˆc�A�3˜˜ˆ_ˆÜ”j¤%×"8Ñ"8¸"¸bÕAr4   c                 óJ  — g d¢}ddgdgddgddgg}t        j                  ||«      }|j                  j                  dk(  sJ ‚|j	                  «       }dD ]L  }t         ||«      t        j                  d«      «       t         ||«      t        j                  d«      «       ŒN y )Nrå  r   )r  r?   )r<   r8  rv   r²  gffffffþ?r;   r*  r<   )r   r  rò   r  ræ  r   rD   r‘   )r*   r0  ró   rÂ  Úppdrs  s         r.   Ú
test_zerosz#TestBPolyFromDerivatives.test_zerosŠ  sŒ   € ÚˆØ�!ˆf�q�c˜A˜q˜6 A q 6Ð*ˆÜ×#Ñ# B¨Ó+ˆØ�t‰t�z‰z˜VÒ#Ð#Ð#à�m‰m‹oˆÛ2ˆBÜ™B˜r›F¤B§J¡J¨s£OÔ4Ü™C ›G¤R§Z¡Z°£_Õ5ñ 3r4   c                 ó  — t         j                  j                  d«      }t        j                  t	        |dz   «      D �cg c]
  }d|dz  z  ‘Œ c}«      }t	        |dz   «      D �cg c]  }|j                  |«      ‘Œ }}||fS c c}w c c}w )Nr»  ri   rv   r&   )rD   r¼  r(  r‘   r  )r*   ré  r   r-  rž  r0  ró   s          r.   Ú_make_random_mkz(TestBPolyFromDerivatives._make_random_mk–  sx   € ä�i‰i×#Ñ# DÓ)ˆÜ�Z‰Z¬E°!°A±#¬JÓ7©J q˜˜a ™d›¨JÑ7Ó8ˆÜ%*¨1¨Q©3¤ZÓ0¡Z ˆc�j‰j˜�m ZˆÐ0Ø�2ˆvˆùò 8ùÚ0s   ¿BÁ%Bc           	      óú   — d\  }}| j                  ||«      \  }}t        j                  ||«      }t        |dz  «      D ]5  }t	         ||«      |D �cg c]  }||   ‘Œ	 c}«       |j                  «       }Œ7 y c c}w )N©r:   rÉ   r&   )r  r   r  r  r   ræ  )r*   ré  r   r0  ró   rÂ  rÀ  Úyys           r.   Útest_random_12z'TestBPolyFromDerivatives.test_random_12�  st   € Ø‰ˆˆ1Ø×%Ñ% a¨Ó+‰ˆˆBÜ×#Ñ# B¨Ó+ˆä˜1˜a™4–[ˆEÜ™B˜r›F¹Ó$<¹°2 R¨£Y¸Ñ$<Ô=Ø—‘“‰Bñ !ùÚ$<s   ÁA8c           	      óŽ   — d\  }}| j                  ||«      \  }}t        t        t        j                  fi t        ||d¬«      ¤Ž y )Nr!  r   ©r0  ró   Úorders)r  r(   rn   r   r  r’   ©r*   ré  r   r0  ró   s        r.   Útest_order_zeroz(TestBPolyFromDerivatives.test_order_zero¦  sD   € Ø‰ˆˆ1Ø×%Ñ% a¨Ó+‰ˆˆBÜ”j¤%×"8Ñ"8ñ 	0Ü˜" ¨AÔ.ó	0r4   c           
      óÐ   — d\  }}| j                  ||«      \  }}t        j                  ||d|z  dz
  ¬«       t        t        t        j                  fi t        ||d|z  ¬«      ¤Ž y )Nr!  r&   ri   ©r&  r%  )r  r   r  r(   rn   r’   r'  s        r.   Útest_orders_too_highz-TestBPolyFromDerivatives.test_orders_too_high¬  sb   € Ø‰ˆˆ1Ø×%Ñ% a¨Ó+‰ˆˆBä×Ñ˜r 2¨a°©c°!©eÕ4Ü”j¤%×"8Ñ"8ñ 	2Ü˜" ¨A¨a©CÔ0ó	2r4   c           	      ó‚  — d\  }}| j                  ||«      \  }}d}t        j                  |||¬«      }t        |dz  dz   «      D ]6  }t	         ||dd dz
  «       ||dd dz   «      «       |j                  «       }Œ8 t        j                   ||dd dz
  «       ||dd dz   «      «      rJ ‚d}t        j                  |||¬«      }t        |dz  «      D ]6  }t	         ||dd dz
  «       ||dd dz   «      «       |j                  «       }Œ8 t        j                   ||dd dz
  «       ||dd dz   «      «      rJ ‚y )	Nr!  r:   r*  r&   ri   rB   r'  r  )r  r   r  r  r   ræ  rD   Úallclose)r*   ré  r   r0  ró   rÀ  rÂ  rž  s           r.   Útest_orders_globalz+TestBPolyFromDerivatives.test_orders_global´  sY  € Ø‰ˆˆ1Ø×%Ñ% a¨Ó+‰ˆˆBð ˆÜ×#Ñ# B¨°5Ô9ˆä�u˜a‘x ‘zÖ"ˆAÜ™B˜r ! B˜x¨%Ñ/Ó0±"°R¸¸"°XÀÑ5EÓ2FÔGØ—‘“‰Bð #ô —;‘;™r " Q r (¨UÑ"2Ó3±R¸¸1¸R¸À5Ñ8HÓ5IÔJÐJÐJð
 ˆÜ×#Ñ# B¨°5Ô9ˆÜ�u˜a‘x–ˆAÜ™B˜r ! B˜x¨%Ñ/Ó0±"°R¸¸"°XÀÑ5EÓ2FÔGØ—‘“‰Bð !ô —;‘;™r " Q r (¨UÑ"2Ó3±R¸¸1¸R¸À5Ñ8HÓ5IÔJÐJÐJÐJr4   c           	      ó¶  — d\  }}| j                  ||«      \  }}t        |«      D �cg c]  }|dz   ‘Œ	 }}t        |dd «      D ]Ž  \  }}t        j                  |||¬«      }	t        ||   dz  dz   «      D ]0  }
t         |	|dz
  «       |	|dz   «      «       |	j                  «       }	Œ2 t        j                   |	|dz
  «       |	|dz   «      «      sŒŽJ ‚ y c c}w )N)r  rÉ   ri   rB   r*  r&   r'  )	r  r  r   r   r  r   ræ  rD   r-  )r*   ré  r   r0  ró   Úor&  r�  r,   rÂ  rž  s              r.   Útest_orders_localz*TestBPolyFromDerivatives.test_orders_localÌ  sÖ   € Ø‰ˆˆ1Ø×%Ñ% a¨Ó+‰ˆˆBä!& q¤Ó*¡˜A�!�a“% ˆÐ*Ü˜b  2˜hÖ'‰DˆAˆqÜ×'Ñ'¨¨B°vÔ>ˆBÜ˜6 !™9¨™>¨AÑ-Ö.�Ü¡ 1 u¡9£©r°!°e±)«}Ô=Ø—]‘]“_‘ð /ô —{‘{¡2 a¨%¡i£=±"°Q¸±Y³-Õ@Ð@Ð@ñ (ùò +s   ¨Cc                 ó>  — t         j                  j                  d«      }d\  }}t        j                  |j                  |dz   «      «      }|j                  |dz   |dddf«      }t	        j
                  ||«      }|j                  j                  d|z  |dddfk(  sJ ‚y )Nr»  )r  r:   ri   r  r  r–   r&   )rD   r¼  r(  rÏ  r   r  rò   r  )r*   r-  ré  r   r0  ró   rÂ  s          r.   Útest_yi_trailing_dimsz.TestBPolyFromDerivatives.test_yi_trailing_dimsØ  s�   € Ü�i‰i×#Ñ# DÓ)ˆØ‰ˆˆ1Ü�W‰W�S—Z‘Z  !¡“_Ó%ˆØ�Z‰Z˜˜1™˜a  A qÐ)Ó*ˆÜ×#Ñ# B¨Ó+ˆØ�t‰t�z‰z˜a ™c 1 a¨¨AÐ.Ò.Ð.Ñ.r4   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 )Nri   r   r*  )rD   Úint32r   r  r   r‘   Úint64)r*   r&  rc  s      r.   Útest_gh_5430z%TestBPolyFromDerivatives.test_gh_5430à  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Ø‰r4   N)r0   r1   r2   r  r
  r  r  r  r  r  r  r  r#  r(  r+  r.  r1  r3  r7  r3   r4   r.   r  r  K  sV   „ ò&ò
,ò0ò
!ò)òGòBò
	6òò!ò0ò2òKò0
Aò/ór4   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   ri   r  rû   )	rD   r¼  r(  r¿  r-  r   rL  rª  r   )r*   r-  rò   r,   r0  rc  Úv1Úv2s           r.   Útest_simple_1dzTestNdPPoly.test_simple_1dó  sˆ   € Ü�i‰i×#Ñ# DÓ)ˆà�H‰H�Q˜‹NˆÜ�K‰K˜˜1˜cÓ"ˆà�X‰X�c‹]ˆä�A˜�tÓˆÙ�ˆu‹Xˆä˜1šQšq ˜X™;¨¨2Ó.×4Ñ4Ó6ˆÜ˜˜BÕr4   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   ri   r–   r&   rû   r—   rÎ  é*   )N©r   r   ©r   ri   )ri   r   )r&   r?   )r‹   r&   ©râ  r  )rD   r¼  r(  r¿  r-  r€  ra  r˜   Úfillr¡   r   Úevaluate_ndrI   rM   ÚintcÚc_rª  Ú_ppoly2d_evalr   r   r›  )r*   r-  rò   r,   r+   r0  ró   r;  r<  rc  râ  s              r.   Útest_simple_2dzTestNdPPoly.test_simple_2d	  s�  € Ü�i‰i×#Ñ# DÓ)ˆà�H‰H�Q˜˜1˜aÓ ˆÜ�K‰K˜˜1˜cÓ"ˆÜ�K‰K˜˜1˜cÓ" AÑ%ˆà�X‰X�c‹]ˆØ�X‰X�c‹]ˆä�X‰X”s˜2“w �l¨!¯'©'Ô2ˆØ
�‰”—‘ŒÜ×Ñ˜1Ÿ9™9 S¨#¨qÓ1Ø˜q˜6ÜŸ8™8 Q¨ F´"·'±'Ô:ÜŸ5™5  R ™=ÜŸ8™8 Q¨ F´"·'±'Ô:ØØô	ð �X‰X‹ZˆÜ˜1˜q !˜f b¨"Ó-ˆÜ˜˜BÔä�A˜˜1�vÓˆÛ@ˆBÙ”2—5‘5˜˜R˜‘= RÔ(ˆBÜ˜q 1 a &¨"¨b°RÔ8ˆBÜ˜B ¬D°«HÖ5ñ Ar4   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   ri   r&   r>   r?   é(   )N©r   r   r   ©r   ri   r   ©ri   r   r   )r&   r?   r   )r  r   r&   rB  r  )	rD   r¼  r(  r¿  r-  r   Ú_ppoly3d_evalr   r›  )r*   r-  rò   r,   r+   r-   r0  ró   Úzirc  râ  r;  r<  s                r.   Útest_simple_3dzTestNdPPoly.test_simple_3d	  sï   € Ü�i‰i×#Ñ# DÓ)ˆà�H‰H�Q˜˜1˜a  AÓ&ˆÜ�K‰K˜˜1˜cÓ"ˆÜ�K‰K˜˜1˜cÓ" AÑ%ˆÜ�K‰K˜˜1˜cÓ" AÑ%ˆà�X‰X�b‹\ˆØ�X‰X�b‹\ˆØ�X‰X�b‹\ˆä�A˜˜1˜a�yÓ!ˆóˆBá�B˜˜B�< BÔ'ˆBÜ˜q 1 a¨ )¨R°°R¸BÔ?ˆBÜ˜B ¬D°«HÖ5ñ	r4   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   ri   r&   r?   rÉ   rÎ  )rD   r¼  r(  r¿  r-  r   Ú_ppoly4d_evalr   )r*   r-  rò   r,   r+   r-   Úur0  ró   rO  Úuirc  r;  r<  s                 r.   Útest_simple_4dzTestNdPPoly.test_simple_4d2	  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Õr4   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   ri   r  rB  r&   )rD   r¼  r(  r¿  r-  r   ræ  r   r   rò   rç  )r*   r-  rò   r,   rc  rB  rÑ  Údp1s           r.   Útest_deriv_1dzTestNdPPoly.test_deriv_1dF	  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Õ$r4   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   ri   r&   r>   r?   rB  rL  )r   r   r?   )rD   r¼  r(  r¿  r-  r   r   r‹  ræ  r   rò   rç  )
r*   r-  rò   r,   r+   r-   rc  rÑ  rB  rW  s
             r.   Útest_deriv_3dzTestNdPPoly.test_deriv_3dZ	  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õ	;r4   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»  )ri   ri   ri   r?   r  r:   r   ri   r  r:   r&   r  r?   )ri   r   r  )r   r&   r   rÎ  )
rD   r¼  r(  rm   r-  r   rç  r¿  r   r   )r*   r-  rò   r,   r+   r-   rc  rC  r0  ró   rO  s              r.   Útest_deriv_3d_simplez TestNdPPoly.test_deriv_3d_simpley	  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r4   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   ri   rÌ   r&   r?   rB   rA  )r   r'   )r  r  )rK  r9  c                 ó   •—  ‰| |f«      S rß   r3   )r,   r+   rc  s     €r.   Ú<lambda>z/TestNdPPoly.test_integrate_2d.<locals>.<lambda>©	  s   ø€ ©1¨a°¨V¬9r4   gñhãˆµøä>)ÚepsrelÚepsabs)r”   F)r�   r›   r~  rª   )rD   r¼  r(  r¿  r-  r‹  rI   r  rr   r   Úfix_continuityr   r+  r!   r’   r   r›  )r*   r-  rò   r,   r+   ÚcxÚrangesr  Úig2Úerr2rc  s             @r.   Útest_integrate_2dzTestNdPPoly.test_integrate_2d�	  sß  ø€ Ü�i‰i×#Ñ# DÓ)ˆØ�H‰H�Q˜˜2˜rÓ"ˆÜ�K‰K˜˜1˜dÓ# QÑ&ˆÜ�K‰K˜˜1˜dÓ# QÑ&ˆð �K‰K˜˜1˜a Ó#ˆØ�Y‰Y�q—w‘w˜q‘z 1§7¡7¨1¡:¨rÓ2×7Ñ7Ó9ˆÜ×Ñ˜b ! QÔ'Ø�J‰J�q—w‘wÓˆØ�K‰K˜˜1˜a Ó#ˆØ�K‰K˜˜1˜a Ó#ˆØ�Y‰Y�q—w‘w˜q‘z 1§7¡7¨1¡:¨rÓ2×7Ñ7Ó9ˆÜ×Ñ˜b ! QÔ'Ø�J‰J�q—w‘wÓˆØ�K‰K˜˜1˜a Ó#×(Ñ(Ó*ˆô �A˜˜1�vÓˆà Ð'Ø  &Ð)Ø Ð)Ø" JÐ/ó1ˆFð
 —‘˜VÓ$ˆBÜÓ4°fÜ$(°¸TÔ$BÐ#CÀAÑ#EôG‰IˆC�ä˜B ¨$°TÀEÜ$(¨£Lö2ñ1r4   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  r^  r™  rÌ   r   ri   r&   rÍ   r?   rû   )r9  r  rl   rM  rL  r  )	rD   r¼  r(  r¿  r-  r   Úintegrate_1drç  r   )r*   r-  rò   r,   r+   r-   rc  rS  Úvr"  r%  ÚpxÚpaxÚpyÚpayÚpzÚpazs                    r.   Ú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ÕDr4   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   ri   r–   r‹   r&   r>   r?   c                 óˆ   •— ‰j                  d¬«      }‰j                  d¬«      }‰j                  d¬«      } ||||f«       y )NrJ  r#  )rÐ  )r°  r  r0  ró   rO  r-  s        €r.   r±  z/TestNdPPoly.test_concurrency.<locals>.worker_fnÒ	  sA   ø€ Ø—‘ "�Ó%ˆBØ—‘ "�Ó%ˆBØ—‘ "�Ó%ˆBÙ��R˜�Õr4   )rD   r¼  Údefault_rngrÐ  r-  r   r    )r*   rò   r,   r+   r-   rc  r±  r-  s          @r.   r²  zTestNdPPoly.test_concurrencyÈ	  s�   ø€ Ü�i‰i×#Ñ# EÓ*ˆà�K‰KÐ/ˆKÓ0ˆÜ�K‰K˜˜1˜cÓ"ˆÜ�K‰K˜˜1˜cÓ" AÑ%ˆÜ�K‰K˜˜1˜cÓ" AÑ%ˆä�A˜˜1˜a�yÓ!ˆô	ô 	   I¨qÕ1r4   N)r0   r1   r2   r=  rH  rP  rU  rX  rZ  r\  rh  rr  r²  r3   r4   r.   r9  r9  ò  s7   „ ò ò6ò:6ò( ò(%ò(;ò>Bò(2òBEó42r4   r9  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   ri   Nc              3   ó^   •K  — | ]$  }‰|‰f   ‰‰j                   d    |z
  dz
  z  z  –— Œ& y­w)r   ri   N)r  )r   r   rò   rÚ  rž  s     €€€r.   r  z _ppoly_eval_1.<locals>.<genexpr>å	  s;   øè ø€ ð ,Ù*�Að �!�A�#‘˜˜QŸW™W Q™Z¨™\¨!™^Ñ,Õ,Ù*ùs   ƒ*-)	rD   Úzerosra  r  r   r¡   ÚsearchsortedÚsumr  )	rò   r,   ÚxpsrJ  r�  rs  rt  rÚ  rž  s	   `      @@r.   rL  rL  Û	  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Šð  ð €Jr4   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   rB   ri   )ÚNN)r  rD   rª  Ú
empty_likeÚcompressry  Úclipra  ÚtakeÚvanderrM   r  r*  rI   )rb  Úbreaksrµ   rC  r"  r%  ÚKÚ	saveshaperê  Úmaskrã  ÚindxsrÂ  r)  ÚVr   Úvaluess                    r.   rM  rM  ë	  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 orderri   )rn   r   )r,   r+   r#  s      r.   Ú_dpowr‹  
  sC   € ð 	ˆ1‚uÜÐ3Ó4Ð4Ø	
ˆQŠØä�A˜‘E˜A‘I˜qÓ! A¨¨A©¡JÑ.Ð.r4   c                 óì  — |€d}t        j                  t        |«      f| j                  ¬«      }| j                  dd \  }}t        t        ||«      «      D �]  \  }\  }	}
|d   d   |	cxk  r|d   d   k  rn n|d   d   |
cxk  r|d   d   k  sn t         j                  ||<   ŒQt        j                  |d   |	«      dz
  }t        j                  |d   |
«      dz
  }|	|d   |   z
  }|
|d   |   z
  }d}t        | j                  d   «      D ]Y  }t        | j                  d   «      D ]<  }|| ||z
  dz
  ||z
  dz
  ||f   t        |||d   «      z  t        |||d   «      z  z  }Œ> Œ[ |||<   �Œ |S )z@
    Straightforward evaluation of 2-D piecewise polynomial
    Nr@  r—   r&   r   rB   ri   ©rD   r€  ra  r˜   r  r   Úzipr¡   ry  r  r‹  )rò   rd  rµ   Úynewrâ  rJ  ÚnxÚnyÚjoutr,   r+   Új1Új2Ús1Ús2r   Úk1Úk2s                     r.   rG  rG  
  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‘‰]ˆàˆä˜Ÿ™ ™
Ö#ˆBÜ˜AŸG™G A™JÖ'�Ø˜˜"˜R™% ™' " R¡%¨¡'¨"¨RÐ/Ñ0Ü  B¨¨1©Ó.ñ/ä  B¨¨1©Ó.ñ/ñ 0‘ñ (ð $ð ˆˆD‹	ð) 3ð, €Jr4   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
    NrK  r—   r?   r   rB   ri   r&   r�  )rò   rd  rµ   r�  Úznewrâ  rJ  r�  r‘  Únzr’  r,   r+   r-   r“  r”  Új3r•  r–  Ús3r   r—  r˜  Úk3s                           r.   rN  rN  2
  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‘‰]ˆàˆÜ˜Ÿ™ ™
Ö#ˆBÜ˜AŸG™G A™JÖ'�Ü §¡¨¡
Ö+�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ñ ,ñ (ð $ð ˆˆD‹	ð1 <ð4 €Jr4   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   rB   ri   r&   r?   r�  )rò   rd  rµ   r�  rš  Úunewrâ  rJ  ÚmxÚmyÚmzÚmur’  r,   r+   r-   rS  r“  r”  rœ  Új4r•  r–  r�  Ús4r   r—  r˜  rž  Úk4s                                 r.   rR  rR  Z
  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‘‰]ˆàˆÜ˜Ÿ™ ™
Ö#ˆBÜ˜AŸG™G A™JÖ'�Ü §¡¨¡
Ö+�BÜ# A§G¡G¨A¡JÖ/˜Ø  " 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™ñ 0ñ ,ñ (ð $ð ˆˆD‹	ð; Eð> €Jr4   rß   )BÚscipy._lib._array_apir   r   r   r   r   rZ  r   r(   Únumpyr	   r
   r   r   rD   Úscipy.interpolater   r   r   r   r   r   r   r   r   r   r   r   r   r   Úscipy.specialr   r   r   Úscipy._lib._gcutilsr   r   Úscipy._lib._testutilsr    Úscipy.integrater!   r"   r[  Úskip_xp_backendsÚxfail_xp_backendsr$   r6   r_  ri  r]  r5  rµ  rî  r  r·  rÒ  rõ  r  r9  rL  r¡   rM  r‹  rG  rN  rR  r3   r4   r.   Ú<module>r±     sØ  ð÷õ õ +Û ç (Ó (Û ÷-÷ -÷ -÷ -÷ &å $ç ;Ý 9å !å à—;‘;×/Ñ/Ð Ø—K‘K×1Ñ1Ð ÷ñ ÷Uñ U÷p6ñ 6ñ Ð&Ó'÷s*ð s*ó (ðs*ðl ‡�×Ñ˜Ð$7Ð9JÐ#KÓLñ:ó Mð:ñ, �5˜%Ó ÷`Lð `Ló !ð`L÷F,&ñ ,&ñ^ �5Ó÷}Eð }Eó ð}Eñ@ �5Ó÷H=ð H=ó ðH=ñV �5Ó÷_0ð _0ó ð_0ñD �5˜%Ó ÷.'ð .'ó !ð.'÷bdñ d÷Nf2ñ f2òRð  .0¯V©Vó ò.	/ó!óH%ôP*r4   