+
    /iw                    H   ^ RI HtHtHtHtHt ^ RIHt ^ RIt^ RI	H
t
HtHtHt ^ RI	t^ RIHtHtHtHtHtHtHtHtHtHtHtHtHtHt ^ RIHtH t  ^ RIH!t! ^ RI"H#t#H$t$ ^ R	I%H&t& ^ R
I'H(t( ^ RIH)t) ]PT                  PV                  t+]PT                  PX                  t, ! R R4      t- ! R R4      t. ! R R4      t/]! ]4       ! R R4      4       t0]PT                  Pc                  R]].4      R 4       t2]! ]]4       ! R R4      4       t3 ! R R4      t4]! ]4       ! R R4      4       t5]! ]4       ! R R4      4       t6]! ]4       ! R R4      4       t7]! ]]4       ! R  R!4      4       t8 ! R" R#4      t9 ! R$ R%4      t:R& t;]Px                  3R' lt=R( t>R,R) lt?R,R* lt@R,R+ ltAR# )-    )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                   &   a  ] tR t^t o R tRtV tR# )TestInterp2Dc                    \         R ^ \        R13,          w  r\        VRV,          ,           4      p\        \        4      ;_uu_ 4        \        W!V4       RRR4       R#   + '       g   i     R# ; i):r      y              4@y              5@      ?N)r	   r
   r   assert_raisesNotImplementedErrorr   )selfyxzs   &   f/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/interpolate/tests/test_interpolate.pytest_interp2dTestInterp2D.test_interp2d   sO    Wa3h&'#a%L.//Q1 0///s   	A  A1	 N)__name__
__module____qualname____firstlineno__r/   __static_attributes____classdictcell____classdict__s   @r.   r$   r$      s          r$   c                     a  ] tR t^&t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR(R ltR(R ltR tR tR tR tR(R ltR(R ltR t]P:                  R3R ltR t] PB                  PE                  ]#RR7      R 4       t$R t%R  t&R! t'R" t(R# t)] PB                  PU                  R$R)4      R% 4       t+R&t,V t-R'# )*TestInterp1Dc                   \         P                  ! R 4      V n        \         P                  ! R4      V n        \         P                  ! R4      V n        V P                  P                  R4      V n        \         P                  ! R4      V n        \         P                  ! R4      V n        \         P                  ! R.4      V n
        \         P                  ! R.4      V n        \         P                  ! R4      P                  R4      V n        \         P                  ! R4      P                  R	4      V n        \         P                  ! R4      P                  R
4      V n        \         P                  ! R4      P                  R4      V n        \         P                  ! R4      P                  R4      V n        \         P                  ! R4      P                  R4      V n        \         P                  ! R4      P                  R4      V n        ^V P$                  R&   RV P$                  R&   \         P                  ! R4      P                  R	4      V n        ^V P&                  R&   RV P&                  R&   RV n        R# )      @      $@       @        g      4@g      >@N)r&      r&   
   )rD   r&   )r&   r&   rB   )r&      rB   )rE   r&   rB   NNNr   )rG   )r   rG   )rI   rG         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_methodTestInterp1D.setup_method(   s   ))B-99S>99S>88##E*))B-))B-((B4.((B4.IIcN**73	IIcN**73	IIcN**95	99S>))&1IIcN**95	IIcN**95	
 "$3!7!7!@')t$(+u% "$3!7!7!@')t$(+u% r:   c                |   R	 FH  p\        V P                  V P                  VR7       \        V P                  V P                  VRR7       KJ  	  \        V P                  V P                  RRR7       \        V P                  V P                  R\        P                  ! R
.4      R7       \        V P                  V P                  RRR7       \        V P                  V P                  RR
R7       \        V P                  V P                  RRR7       \        V P                  V P                  ^ R7       \        V P                  V P                  ^R7       \        V P                  V P                  ^R7       \        V P                  V P                  ^R7       \        V P                  V P
                  RR
RR7       \        V P                  V P
                  R^ \        P                  ! ^
4      R7       \        V P                  V P
                  R^ \        P                  ! ^
4      \        P                  ! ^
4      3R7       \        V P                  V P
                  R^ \        P                  ! ^
4      R
3R7       \        \        \         V P                  V P                  4       \        \        \         V P                  \        P                  ! ^ 4      4       \        \        \         V P                  V P                  4       \        \        \         V P                  V P                  4       \        \        \         V P                  V P                  4       \        V P                  V P
                  4       \        V P                  V P                  ^ R7       \        \        \         V P                  V P                  4       \        \        \         V P                  V P                  4       \        \        \         V P                  V P                  RRR7       \        \        \         V P                  V P                  R. ROR7       \        \        \         V P                  V P                  R\        P                  ! R4      R7       \        \        \         V P                  V P                  RR
..R7       \        \        \         V P                  V P                  RR
R
.R7       \        \        \         V P                  V P                  R\        P                  ! . 4      R7       \        \        \         V P                  V P                  RRR7       \        \        \         V P                  V P
                  R^ R
R
.R7       \        \        \         V P                  V P
                  R^ RR
R
.3R7       R# )nearestlinearkindextrapolaterg   r_   rg   axisr_   rk   rA   N)	rd   
nearest-upzerore   slinear	quadraticcubicpreviousnextrI   )rI      )rI   )rI   rI   )rI   rI   rI   r1   )r   rN   rO   rK   rT   rW   rR   onesr(   
ValueErrorrQ   rS   rX   rU   rV   r*   rg   s   & r.   test_validationTestInterp1D.test_validationQ   s   
?DTXXtxxd3TXXtxxd}M? 	488(wG488(HHbTN	,488(!	#488(	 488($	&488!,488!,488!,488!,4998"$	&$))(GGBK	)$))(WWR["''"+6	8$))(WWR["-	/ 	j(DHHdhh? 	j(DHHbhhqkB 	j(DHHdgg>j(DGGTXX>j(DHHdii@499%4991- 	j(DGGTXX>j(DHHdgg> 	j(DHHdhhX!-	/j(DHHdhhX!-	/j(DHHdhhX!#,!7	9j(DHHdhhX#%$	)j(DHHdhhX"$b	+j(DHHdhhX!#"	/j(DHHdhhX!#	%j(DGGTYYX"b	3j(DGGTYYX"r2h	9r:   c                   \        V P                  V P                  4      P                  '       g   Q h\        V P                  V P                  R R7      P                  '       d   Q h\        V P                  V P                  4      P                  '       g   Q h\        V P                  V P                  R R7      P                  '       d   Q h\
        P                  ! \        V P                  V P                  4      P                  4      '       g   Q h\        V P                  V P                  RR7      P                  R8X  g   Q h\        V P                  V P                  RR7      P                  R8X  g   Q h\        V P                  V P                  4      P                  ^ 8X  g   Q h\        V P                  V P                  4      P                  ^8X  g   Q h\        V P                  V P                  ^ R7      P                  ^ 8X  g   Q h\        \        V P                  V P                  4      P                  V P                  4       \        \        V P                  V P                  4      P                  V P                  4       \        \        V P                  V P                  4      P                  V P                  4       R# )F)copy)bounds_error      @r_   rl   N)      ?r@   )r   rN   rO   r{   r|   rK   isnanr_   rk   rW   rX   r   r,   r+   r`   s   &r.   	test_initTestInterp1D.test_init   s    $((+00000DHHdhhU;@@@@@$((+88888DHHdhhUCPPPPPxx4884??@@@@$((s;FF#MMM488
CNN 	
  $((+00A555$)),11Q666$))!499Q>>>488466A488466A499577Cr:   c                   \        V P                  V P                  4      p\        V P                  R R R1,          V P                  R R R1,          4      p\        V! V P                  4      V P                  4       \        V! R4      \        P
                  ! R4      4       \        V! . RO4      V! . RO4      4       \        V P                  R R R1,          V P                  R R R1,          RR7      p\        V! V P                  4      V P                  4       \        V P                  R R R1,          V P                  R R R1,          RR7      p\        \        W@P                  4       \        V P                  V P                  4      p\        V P                  R R R1,          V P                  RR R R13,          4      p\        V! V P                  4      V! V P                  4      4       R # )N333333?F)assume_sortedTrG   rI   g333333@gffffff@      @)	r   rN   rO   r   rK   rT   r(   rv   rW   )r*   interp10interp10_unsortedinterp10_assume_kwinterp10_assume_kw2interp10_y_2dinterp10_y_2d_unsorteds   &      r.   test_assume_sortedTestInterp1D.test_assume_sorted   sb   DHHdhh/$TXXdd^TXXdd^D!"3DHH"=txxH!"3C"8"((3-H!"3O"D"*?";	= &dhhttndhhttn49;!"4TXX">I&txx"~txx"~59; 	j"5xx@ !4995!)$((4R4.$))AttG:L!M!-"9"8"B	Dr:   c                :    R F  pV P                  V4       K  	  R# )re   N)re   ro   )_check_linearrw   s   & r.   test_linearTestInterp1D.test_linear   s    )Dt$ *r:   c                F   \        V P                  V P                  VR 7      p\        V! V P                  4      V P                  4       \        V! R4      \        P
                  ! R4      4       \        V! . R	O4      \        P
                  ! . R	O4      4       \        V P                  V P                  VRR7      p\        V! . R
O4      \        P                  ! . R
O4      RR7       \        VRRR7      p\        \        \         V P                  V P                  3/ VB  R# )rf   r   rh   ri   +=rtolTrg   r_   r|   Nr         r   	      )r   rN   rO   r   rK   rT   r   asarraydictr(   rv   )r*   rg   r   extrapolatoroptss   &&   r.   r   TestInterp1D._check_linear   s    DHHdhhT:!(488"4dhh?!(3-#?!(?";"$((?";	=  $((+8:_5

#345	B ,!%' 	j(DHHdhhG$Gr:   c                   \         P                  \         P                  \         P                  \         P                  3 FP  p\         P
                  ! ^VR7      pTp\        W#RR7      ! V4      pVP                  V8X  g   Q h\        WCRR7       KR  	  . ROp\         P                  ^ ^.p\        W#4      ! V4      p\        WCRR7       R# )   dtypere   rf   V瞯<atolNr   rt   r&   )
rK   float16float32float64
longdoublerL   r   r   r   nan)r*   dtypr,   r+   yps   &    r.   test_linear_dtypesTestInterp1D.test_linear_dtypes   s     ZZZZZZ]]$D 		!4(AA!X.q1B88t###B.$ VVQNa^AE*r:   c                   \         P                  \         P                  \         P                  .pV\         P                  \         P
                  .,           p. R
OpV F  p\         P                  ! ^ ^
VR7      pV F  p\         P                  ! V) R,          4      P                  V4      pV FI  pVP                  V4      p	V F/  p
\        WWV
RR7      p\        V! V	4      VRRV RV RV 2R7       K1  	  KK  	  K  	  K  	  R	# )ro   r   r}   Frg   r|   Hz>z,  )r   check_dtypeerr_msgN)ro   rn   rp   rq   )rK   r   r   r   	complex64
complex128rL   expastyper   r   )r*   dt_rdt_rcspline_kindsdtxr,   dtyr+   dtnxnewrg   fs   &           r.   test_slinear_dtypes TestInterp1D.test_slinear_dtypes   s     

BJJ

3bmm44@C		!Rs+AFFA2c6N))#.C88C=D ,$Q5I'$4936%r#au0EG !-    r:   c                   \        V P                  V P                  R R7      p\        V! V P                  4      V P                  4       \        V! R4      \        P
                  ! R4      4       \        V! R4      \        P
                  ! R4      4       \        V! . RO4      \        P
                  ! . RO4      4       R# )rq   rf   r         ?Nr   r   rN   rO   r   rK   rT   r*   r   s   & r.   
test_cubicTestInterp1D.test_cubic   sv    DHHdhhW=!(488"4dhh?!(3-#?!(3-#?!(?";"$((?";	>r:   c                j   \        V P                  V P                  R R7      p\        V! V P                  4      V P                  4       \        V! R4      \        P
                  ! R4      4       \        V! R4      \        P
                  ! R4      4       \        V! . RO4      \        P
                  ! . RO4      4       \        V P                  V P                  R RR7      p\        V! . RO4      . RORR7       \        R RR	R
7      p\        \        \         V P                  V P                  3/ VB  R# )rd   rf   r   r   r   rh   ri   r   r   Tr   Nr   r@   r   r   r   rA   r   r   r   
r   rN   rO   r   rK   rT   r   r   r(   rv   r*   r   r   r   s   &   r.   test_nearestTestInterp1D.test_nearest	  s     DHHdhhY?!(488"4dhh?!(3-">!(3-">!(?";"$((<"8	;  $((+8:_5&U	4 ,!%' 	j(DHHdhhG$Gr:   c                j   \        V P                  V P                  R R7      p\        V! V P                  4      V P                  4       \        V! R4      \        P
                  ! R4      4       \        V! R4      \        P
                  ! R4      4       \        V! . RO4      \        P
                  ! . RO4      4       \        V P                  V P                  R RR7      p\        V! . RO4      . RORR	7       \        R RR
R7      p\        \        \         V P                  V P                  3/ VB  R# )rm   rf   r   r   r   r@   rh   ri   r   r   Tr   Nr   r   r   r   r   r   s   &   r.   test_nearest_upTestInterp1D.test_nearest_up  s     DHHdhh\B!(488"4dhh?!(3-">!(3-">!(?";"$((<"8	;  $((+8:_5&U	4 ,!%' 	j(DHHdhhG$Gr:   c           
        \        V P                  V P                  R R7      p\        V! V P                  4      V P                  4       \        V! R4      \        P
                  ! R4      4       \        V! R4      \        P
                  ! R4      4       \        V! . RO4      \        P
                  ! . RO4      4       \        V P                  V P                  R RR7      p\        V! . RO4      \        P                  ^ ^	^	.RR7       \        V P                  V P                  R RR7      p\        V! . RO4      \        P                  \        P                  ^^^	^	.4       \        V P                  V P                  R RR7      p\        V! . RO4      \        P                  \        P                  ^^^	^	.\        P                  \        P                  ^^^^..4       \        V P                  V P                  R ^ RR	7      p\        V! . RO4      \        P                  \        P                  .^
^.^^..4       \        R RR
R7      p\        \        \         V P                  V P                  3/ VB  \        . RO. ROR RR
R7      p\        V! . RO4      \        P                  \        P                  ^ ^RRR.4       \        . RO. ROR RRR7      p\        V! . RO4      \        P                  \        P                  ^ ^RRR.4       \        V P                  V P                  R RR7      p\        V! . RO4      \        P                  \        P                  ^^RR.\        P                  \        P                  ^^RR..4       \        V P                  V P                  R ^ RR	7      p\        V! . RO4      \        P                  \        P                  .^
^.RR..4       R# )rr   rf   r   r   r   rh   ri   r   r   rj   Tr   rg   r_   r   FNr   r@   r>   r   r   rI   rI   rB   r         r   rB   r   r   r   rt   rI   r   rI   r   rt   r&   rE   rB   r&   r   rt   rI   r   rt   rH   r   rN   rO   r   rK   rT   r   r   rW   rX   r   r(   rv   r]   r^   r*   r   r   interpolator1Dinterpolator2Dinterpolator2DAxis0r   s   &      r.   test_previousTestInterp1D.test_previous3  s*   DHHdhhZ@!(488"4dhh?!(3-">!(3-">!(?";"$((<"8	;  $((+8:_5Aq)	7 "$((DHH:-:<'=>Aq!4	6 "$((DIIJ-:<'=>&&"&&!Q15&&"&&"b"b9;	< 'txx,--I+K8&&"&&)bb#	$
 ,!%' 	j(DHHdhhG$G ")",:-:046 	'>?Ar2r:	< ")",:-:057 	'>?Ar2r:	< "$((D,B,B'1-:< 	'=>&&"&&!QS9&&"&&"b#s;=	> 'txx1G1G,6,--I 	+K8&&"&&)bs%	&r:   c           
        \        V P                  V P                  R R7      p\        V! V P                  4      V P                  4       \        V! R4      \        P
                  ! R4      4       \        V! R4      \        P
                  ! R4      4       \        V! . RO4      \        P
                  ! . RO4      4       \        V P                  V P                  R RR7      p\        V! . RO4      ^ ^ ^	\        P                  .RR7       \        V P                  V P                  R RR7      p\        V! . RO4      ^ ^ ^^\        P                  \        P                  .4       \        V P                  V P                  R RR7      p\        V! . RO4      ^ ^ ^^\        P                  \        P                  .^
^
^^\        P                  \        P                  ..4       \        V P                  V P                  R ^ RR	7      p\        V! . RO4      ^ ^.^
^.\        P                  \        P                  ..4       \        R RR
R7      p\        \        \         V P                  V P                  3/ VB  \        . RO. ROR RR
R7      p\        V! . RO4      ^ ^ ^ ^R\        P                  \        P                  .4       \        . RO. ROR RRR7      p\        V! . RO4      ^ ^ ^ ^R\        P                  \        P                  .4       \        V P                  V P                  R RR7      p\        V! . RO4      ^^^^\        P                  \        P                  .^^^^\        P                  \        P                  ..4       \        V P                  V P                  R ^ RR	7      p\        V! . RO4      ^^.^
^.\        P                  \        P                  ..4       R# )rs   rf   r   r@   r   rh   ri   r   r   rj   Tr   r   FNr   )r}   r   r   r   rI   r   r   r   r   r   r   r   r   r   s   &      r.   	test_nextTestInterp1D.test_nextx  s*   DHHdhhV<!(488"4dhh?!(3-">!(3-">!(?";"$((<"8	;  $((+8:_5Aq"&&)	7 "$((DHH6-:<'=>Aq!RVVRVV4	6 "$((DIIF-:<'=>Q1bffbff5b"b"&&"&&9;	< 'txx,--I+K8Qb&&"&&)+	,
 ,!%' 	j(DHHdhhG$G ")",6-:046 	'>?Aq!R8	: ")",6-:057 	'>?Aq!R8	: "$((D,B,B'--:< 	'=>b!Q7b"b"&&"&&9;	< 'txx1G1G,2,--I 	+K8bb&&"&&)+	,r:   c                   \        V P                  V P                  R R7      p\        V! V P                  4      V P                  4       \        V! R4      \        P
                  ! R4      4       \        V! R4      \        P
                  ! R4      4       \        V! . RO4      \        P
                  ! . RO4      4       R# )rn   rf   r   r   r   Nr   r   r   r   s   & r.   	test_zeroTestInterp1D.test_zero  sv    DHHdhhV<!(488"4dhh?!(3-">!(3-">!(?";"$((<"8	:r:   c                    \        \        W4        V! V4       R #   \         d   pT \        T4      9   g   Q h R p?R # R p?ii ; iN)r(   rv   str)r*   interpolant
test_array
fail_valueerrs   &&&& r.   bounds_check_helper TestInterp1D.bounds_check_helper  s?     	j+:	1
# 	1!ls3x/0/	1s    AA  Are   c                (   \        V P                  V P                  V P                  R VR7      p\	        V! R4      \
        P                  ! V P                  4      4       \	        V! R4      \
        P                  ! V P                  4      4       \	        V! R.R.R.R...4      \
        P                  ! V P                  4      R R7       \	        VP                  \
        P                  ! . RO4      4      \
        P                  ! . RO. RO.4      4       \        V P                  V P                  RVR7      pV P                  VRR4       V P                  VRR4       V P                  V. ROR4       V P                  V. ROR	4       V! . RO4       R
# )F)r_   r|   rg   gffffff&@g333333)@gL3@)check_shape      &@T)r|   rg         5@Ng333333r   )r   rA   r>         "@r   )TFFFF)FFFFT)rA   r   rA   )rA   r   r   )rA   r>   r   )	r   rN   rO   r_   r   rK   rT   _check_boundsr   )r*   rg   extrap10raises_bounds_errors   &&  r.   _bounds_checkTestInterp1D._bounds_check  sD   DHHdhh4??).T; 	(AB(ABD6D6D6D6"B!CD88DOO4%	I..!xx(CDF88%G%G%I J	K
 'txx,02 	  !4dDA  !4dDA  !46FM  !46FMO,r:   c                   \         P                  ! ^
4      P                  \        4      p\         P                  ! ^
4      P                  \        4      p\	        W#V\         P
                  RR7      pV! V^,
          4      p\         P                  ! V^ ,          4      '       g   Q h\        V\         P                  \         P
                  VRR 3,          4       R# )rD   Fr   NrI   )	rK   rL   r   intr   r   r   r   r_)r*   rg   r,   r+   cyis   &&    r.   _bounds_check_int_nan_fill'TestInterp1D._bounds_check_int_nan_fill  s    IIbM  %IIbM  %QeLq1uXxx1!"beeBFFAcrFN&;<r:   c                \    R F%  pV P                  V4       V P                  V4       K'  	  R# )re   N)re   rq   rd   rr   rs   ro   rn   rp   )r  r  rw   s   & r.   test_boundsTestInterp1D.test_bounds  s*    5Dt$++D15r:   c                X   \        V P                  V P                  VRRR7      p\        V! ^
4      \        P
                  ! R4      4       \        V! R4      \        P
                  ! R4      4       \        V! R^
.4      R
^d.4       V P                  V P                  V P                  V P                  3 EFq  p\        V P                  W1R^dRR7      p\        V! ^
4      \        P
                  ! R4      4       \        V! R4      \        P
                  ! R4      4       \        V! R^
.4      \        P
                  ! R4      4       \        V P                  W1RRRR7      p\        V! ^
4      \        P
                  ! R4      4       \        V! R4      \        P
                  ! R4      4       VP                  ^8X  d8   R
^d..VP                  ^,          ,          .VP                  ^ ,          ,          pMR
^d..VP                  ^ ,          ,          p\        V! R^
.4      V4       EKt  	  . ROpV P                  V P                  3 F'  p\        \        \         V P                  W1RVRR7       K)  	  \        V P                  V P                  VRVRR7      p\        V! ^
4      . RO.^,          4       \        V! R4      . RO.^,          4       \        V! R^
.4      ^d^d.^^.RR...^,          4       ^d^.p\        \        \         V P                  V P                  VRVRR7       V P                  V P                  V P                  3 F  p\        V P                  W1RVRR7      p^d^.pVP                  ^8X  d   V.VP                  ^ ,          ,          p\        V! ^
4      V4       \        V! R4      V4       ^d^d.^^..pVP                  ^8X  d   V.VP                  ^ ,          ,          p\        V! R^
.4      V4       K  	  \        P                  ! . RO4      ^d3pV P                  V P                  3 F'  p\        \        \         V P                  W1RVRR7       K)  	  \        V P                  V P                  VRVRR7      p\        V! ^
4      \        P
                  ! R4      4       \        V! R4      . RO.^,          4       \        V! R^
.4      R
^d.R^d.R^d...^,          4       \        P                  ! R
R.4      ^d3p\        \        \         V P                  V P                  VRVRR7       V P                  V P                  V P                  3 F  p\        V P                  W1RVRR7      p\        V! ^
4      \        P
                  ! ^d4      4       R
R.pVP                  ^8X  d   V.VP                  ^ ,          ,          p\        V! R4      V4       R
^d.R^d..pVP                  ^8X  d   V.VP                  ^ ,          ,          p\        V! R^
.4      V4       K  	  . RO. RO3pV P                  V P                  3 F'  p\        \        \         V P                  W1RVRR7       K)  	  \!        ^4       F  pV^8X  d-   \"        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      p\        V P                  V P                  VRVRR7      p\        V! ^
4      . RO.^,          4       \        V! R4      . RO.^,          4       \        V! R^
.4      R
^d.R^.RR...^,          4       K  	  R
R.^d^.3p\        \        \         V P                  V P                  VRVRR7       V P                  V P                  V P                  3 F  p\        V P                  W1RVRR7      p^d^.pVP                  ^8X  d   V.VP                  ^ ,          ,          p\        V! ^
4      V4       R
R.pVP                  ^8X  d   V.VP                  ^ ,          ,          p\        V! R4      V4       R
^d.R^..pVP                  ^8X  d   V.VP                  ^ ,          ,          p\        V! R^
.4      V4       K  	  ^d^.RR..pV P                  V P                  V P                  3 F'  p\        \        \         V P                  W1RVRR7       K)  	  \!        ^4       F  pV^8X  d   \        P                  ! V4      p\        V P                  V P                  VRVRR7      p\        V! ^
4      ^d^.RR..4       \        V! R4      ^d^.RR..4       \        V! R^
.4      ^d^d.^^..RR.RR...4       K  	  R
R.RR..^d^.RR..3pV P                  V P                  V P                  3 F'  p\        \        \         V P                  W1RVRR7       K)  	  \!        ^4       F  pV^8X  d;   \        P                  ! V^ ,          4      \        P                  ! V^,          4      3p\        V P                  V P                  VRVRR7      p\        V! ^
4      ^d^.RR..4       \        V! R4      R
R.RR..4       \        V! R^
.4      R
^d.R^..RR.RR...4       K  	  R	# )d   Fr   g      Y@)rg   rk   r_   r|   ,  c              3   N   "   T F  p\         P                  ! V4      x  K  	  R # 5ir   )rK   rT   ).0r   s   & r.   	<genexpr>1TestInterp1D._check_fill_value.<locals>.<genexpr>V  s     "C
1288A;;
s   #%i  i  N)r  r  rJ   rI   )r     r  8)r  r  r  ii0)r   rN   rO   r   rK   r   r[   r\   rY   rZ   rM   ndimshaper(   rv   rT   rangetuple)r*   rg   interpr+   resultr_   iis   &&     r.   _check_fill_valueTestInterp1D._check_fill_value  s~	   $((DHH4%0uF!&*bjj.>?!&+rzz%/@A!&#r"3dC[A ))TYY		488<Adggq"),5BF%fRj"**T2BC%fSk2::d3CD%fc2Y&7D9IJ dggq")45JF%fRj"**T2BC%fSk2::e3DEvv{ #;-!''!*45
B+3%fc2Y&7@! =& %
))TYY'A*h!juN ( $''4994b%/eE!&*.?!.CD!&+/@1/DE!&#r"3Sz8;Sz8;Sz7C 6DFG6H 	I
 3Z
j(DGGTYYT*5	J))TYY1Adggq")3%IF3ZFvv{ AGGAJ.%fRj&9%fSk6:Cj3*-Fvv{ AGGAJ.%fc2Y&7@ 2 hh12C8
))TYY'A*h!juN ( $''4994b%/eE!&*bjj.>?!&+0B/Ca/GH!&#r"3c{8<c{8<c{7D 6EGH6I 	J
 hhd|,c2
j(DGGTYYT*5	J))TYY1Adggq")3%IF%fRj"**S/BD\Fvv{ AGGAJ.%fSk6:SkD#;/Fvv{ AGGAJ.%fc2Y&7@ 2 )/:
))TYY'A*h!juN ( (BQw"U"C
"CUU"C
"CC
dggtyyt")3%IF%fRj?2Ca2GH%fSk4F3G!3KL%fc2Y&7D#;<@#;<@#;;H :IKL:M N  TlS#J/
j(DGGTYYT*5	J))TYY1Adggq")3%IF3ZFvv{ AGGAJ.%fRj&9D\Fvv{ AGGAJ.%fSk6:SkD#;/Fvv{ AGGAJ.%fc2Y&7@ 2" Cj4,/
))TYY1A*h!juN 2 (BQwXXj1
dggtyyt")3%IF%fRjC:d|2LM%fSkS#Jt3MN%fc2Y&7C:<?:;G<@$<<@$<;I:J K  d|eU^4SzD$<02
))TYY1A*h!juN 2 (BQw hhz!}5rxx
17NO
dggtyyt")3%IF%fRjC:d|2LM%fSkT4L5:EN4D E%fc2Y&7D#;<@#;;H<A4=<A4=;J:K L r:   c                :    R F  pV P                  V4       K  	  R# re   N)re   rd   rq   ro   rp   rn   rr   rs   )r   rw   s   & r.   test_fill_valueTestInterp1D.test_fill_value  s    1D""4(1r:   c                    \        V P                  V P                  R R7      pVP                  R 8X  g   Q hRVn        VP                  R8X  g   Q hR# )g     ^@r~   g     t@N)r   rN   rO   r_   )r*   r  s   & r.   test_fill_value_writeable&TestInterp1D.test_fill_value_writeable  sH    $((DHH?  E)))!  E)))r:   c           	        \        V P                  V P                  VR 7      p\        V! \        P
                  ! RR.RR..4      4      \        P
                  ! RR.RR..4      4       \        V! R4      \        P                  4      '       g   Q hV! R4      P                  R8X  g   Q h\        V P                  V P                  VR 7      p\        V! R4      \        P
                  ! RR.4      4       \        V! \        P
                  ! RR.4      4      \        P
                  ! RR.RR..4      4       \        V P                  V P                  ^ VR	7      p\        V! R4      \        P
                  ! RR.4      4       \        V! \        P
                  ! RR.4      4      \        P
                  ! RR.R
R..4      4       \        P
                  ! RR.RR..4      p\        V! V4      \        P
                  ! RR.RR..RR.RR...4      4       \        V! V4      \        P
                  ! R
R.RR..RR.RR...4      4       R# )rf   r}   r>   r@         @r   r   r         (@rk   rg   r   g      *@g      .@g      1@r?         @g      ,@Nr1   )r   rN   rO   r   rK   rT   
isinstancendarrayr  rW   rX   )r*   rg   r   	interp210	interp102x_news   &&    r.   _nd_check_interpTestInterp1D._nd_check_interp  s    DHHdhhT:!(288b"XBx4H+I"J"$((RHr2h+?"@	B (3-4444}""b((( TXXtyyt<	!)B-2s)1DE!)BHHb"X,>"?"$((RHsCj+A"B	D TXXtyyqtD	!)B-3*1EF!)BHHb"X,>"?"$((RHr2h+?"@	B 2r(RH-.!)E"2"$((b"XBx,@.13Z#s,D,F #G	H 	")E"2"$((b"XSz,B.0"XSz,B,D #E	Fr:   c                   . ROp\         P                  ! \         P                  ! V4      4      P                  ! V!  p\	        V4       F  w  rE\         P                  ! V4      p\        WcWAR7      p\        V! V4      W1R7       \         P                  ! ^4      P                  R4      R,          p\        V4      p	. ROWV^,           % V! V4      P                  \        V	4      8X  d   K  Q V4       h	  R# )   r,  r   r+  N)r6  rB         )r&   rE   rt   )
rK   rL   prodrP   	enumerater   r   listr  r  )
r*   rg   ar+   nsr,   r-   rR   bs
   &&        r.   _nd_check_shapeTestInterp1D._nd_check_shape  s    IIbggaj!))1-aLDA		!AA1A%adA<5!))'2S8BQA A!HR5;;%(*0D0* !r:   c                \    R F%  pV P                  V4       V P                  V4       K'  	  R# )re   N)re   rq   ro   rp   rd   rn   rr   rs   )r3  rA  rw   s   & r.   test_ndTestInterp1D.test_nd  s*    1D!!$'  &1r:   c                   \         P                  ! . RO4      pW3R,          ,          pVP                  V4      p\        W4VR7      p\	        VRR V! V4      RR 4       \         P
                  ! ^^
^4      p\        W4P                  VR7      p\        W4P                  VR7      p\	        V! V4      P                  V! V4      4       \	        V! V4      P                  V! V4      4       R# )rt   rf   N)
rt         @rE   g@r6  g@g@g       @g      #@rD         ?       @rI   )rK   rT   r   r   r   linspacerealimag)	r*   r   rg   r,   r+   r  xicrcis	   &&&      r.   _check_complexTestInterp1D._check_complex  s    HH@AfHHUO Q%!!CR&!A$s)4 [[B#ad+ad+!!B%**bf5!!B%**bf5r:   c                    R FC  pV P                  \        P                  V4       V P                  \        P                  V4       KE  	  R# r#  )rO  rK   r   r   rw   s   & r.   test_complexTestInterp1D.test_complex  s6    1Dd3t41r:   zTest not meaningful on PyPy)reasonc                    \         P                  ! ^ ^4      p\         P                  ! ^ ^4      p\        \        W4      ;_uu_ 4       pV! RR.4       ?RRR4       R#   + '       g   i     R# ; i)r   皙?皙?N)rK   rI  r   r   )r*   r,   r+   r  s   &   r.   test_circular_refsTestInterp1D.test_circular_refs  sQ     KK1KK1!//6C: 0///s   AA.	c                    R FJ  p\         P                  ! . RO\         P                  R7      p\        W"VR7      p\	        V! V4      V4       KL  	  R# )rd   r   rf   N)rd   rr   rs   )r   2      )rK   rT   int8r   r   )r*   rg   r,   r  s   &   r.   test_overflow_nearest"TestInterp1D.test_overflow_nearest  s:    3DRWW5A!T*B%beQ/ 4r:   c                6   \         P                  ! ^
4      P                  \        4      pVP	                  4       p\         P
                  V^&   R FF  p\        WVR7      pV! RR.4      p\         P                  ! V4      P                  4       '       d   KF  Q h	  R# )rD   rf   g@r*  N)rn   ro   )	rK   rL   r   floatr{   r   r   isfiniteall)r*   r,   r+   rg   irvalss   &     r.   test_local_nansTestInterp1D.test_local_nans  su     IIbM  'FFHvv!'D!T*BsCj>D;;t$((**** (r:   c                   \         P                  ! ^4      P                  \        4      pVP	                  4       pVP	                  4       p\         P
                  V^&   R F  p\        WVR7      p\        WVR7      p^^^.^^.^^..3 Fq  p\         P                  ! V4      pV! V4      V! V4      r\         P                  ! V	4      P                  4       '       g   Q hVP                  V	P                  8X  d   Kq  Q h	  K  	  R# )r   rf   N)rp   rq   )rK   rL   r   ra  r{   r   r   r   r   rc  r  )
r*   r,   r+   ynrg   rd  irnr   outoutns
   &         r.   test_spline_nansTestInterp1D.test_spline_nans	  s     IIaL&FFHVVX1*D!T*B1t,CQFaVaV$45zz$'qE3q6Txx~))++++yyDJJ...	 6 +r:   c                
   \         P                  ! ^
4      \         P                  ,          p\         P                  ! ^
4      p\	        \
        4      ;_uu_ 4        \        WRR7       RRR4       R#   + '       g   i     R# ; i)rD   rq   rf   N)rK   ru   r   rL   r(   rv   r   )r*   r,   r+   s   &  r.   test_all_nansTestInterp1D.test_all_nans  sI    GGBK"&& IIbM:&&Q( '&&&s   A11B	c                   \         P                  ! ^ ^
4      p\         P                  ! V) R,          4      p\         P                  ! ^ ^	R4      pR Fn  pWCP                  n        RVP                  n        R FD  p\        WVR7      pV! V4      p\         P                  ! V4      P                  4       '       d   KD  Q h	  Kp  	  R# )r   r}   rV  Frf   NTF)re   rd   rn   ro   rp   rq   )rK   rL   r   flags	writeabler   rb  rc  )r*   r,   r+   r   xnew_writeablerg   r   re  s   &       r.   test_read_onlyTestInterp1D.test_read_only"  s    IIaFFA28yyAs#+N#1JJ  %AGG"Q-w{{4(,,....	" ,r:   rg   c                   \        R .^.VRR	R7      p\        V! . R
O4      \        P                  ! . RO4      4       \        R .^.VRR7      p\	        \
        RR7      ;_uu_ 4        V! R4       RRR4       R#   + '       g   i     R# ; i)r   F)rg   r|   r_   r@   Tr   zx_new is abovematchNrC   )rt   r   r&   )r@   r8  rD   )r   r   rK   r   r(   rv   )r*   rg   r   s   && r.   test_single_valueTestInterp1D.test_single_value0  sl    
 cUQCd ')+

<(@AcUQCd>:-=>>cF ?>>>s   '	A::B	)r_   rU   rN   rR   rQ   rM   rV   rO   rX   r^   rS   rW   r]   rY   r[   rZ   r\   N)re   )re   rd   rm   rr   rs   ).r2   r3   r4   r5   ra   rx   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r   r$  r'  r3  rA  rD  rK   r   rO  rR  pytestmarkskipifr   rX  r^  rf  rm  rp  rw  parametrizer|  r6   r7   r8   s   @r.   r<   r<   &   s    '!RB9H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r:   r<   c                   &   a  ] tR tRt o R tRtV tR# )TestLagrangei>  c                    \        . RO4      p\        P                  ! \        VP                  4      4      pV! V4      p\        W#4      p\        VP                  VP                  4       R# )rB   N)rB   r&   rt   r6  rE   )r   rK   rL   lencoeffsr   r   )r*   pxsyspls   &    r.   test_lagrangeTestLagrange.test_lagrange@  sF    ;YYs188}%rUb_!!((2995r:   r1   N)r2   r3   r4   r5   r  r6   r7   r8   s   @r.   r  r  >  s     6 6r:   r  c                   h   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tRtV tR# )TestAkima1DInterpolatoriH  c                6   VP                  R RVP                  R7      pVP                  . ROVP                  R7      p\        W#4      pVP                  . ROVP                  R7      pVP                  . ROVP                  R7      p\	        V! V4      V4       R# )rA   r   r   NrA   r@   r   r}   r@   r         @r  g@ffffff@r}   rA   r'   r   r   rG        @g      @r  g      @g@g333333!@g#@r?   rA   g      ?r@   r   g     @?g     @g.袋@g^@gn @gGNB@grcߖ@g	I@r}   rL   r   r   r   r   r*   xpr,   r+   akrL  r  s   &&     r.   	test_eval!TestAkima1DInterpolator.test_evalJ  s    IIb#RZZI0JJ<BJJ  
 !&ZZ "$**  .ZZ  zz	  #
 	2#r:   c                :   VP                  R RVP                  R7      pVP                  . ROVP                  R7      p\        W#RR7      pVP                  . ROVP                  R7      pVP                  . ROVP                  R7      p\	        V! V4      V4       R# )	rA   r   r   makimamethodNr  r  )rA   gF??r@   g?g?gg{'@g>J(j@g?@gq@g@g9~@go
@r}   r  r  s   &&     r.   test_eval_mod%TestAkima1DInterpolator.test_eval_modY  s     IIb#RZZI0JJ<BJJ  
 !h7ZZ &-/ZZ  9ZZ 5 =?JJ  H 	2#r:   c                   VP                  R RVP                  R7      pVP                  . ROVP                  R7      pVP                  VRV,          3^R7      p\	        W#4      pVP                  . ROVP                  R7      pVP                  . ROVP                  R7      pVP                  VRV,          3^R7      p\        V! V4      V4       R# )	rA   r   r   r@   rl   Nr  r  r  )rL   r   r   stackr   r   r  s   &&     r.   test_eval_2d$TestAkima1DInterpolator.test_eval_2dl  s    IIb#RZZI0JJ<BJJ  
 HHaa[qH) &ZZ &-/ZZ  9ZZ 8 @Bzz  K XXr27m!X,2#r:   c                   \         P                  ! R R4      p\         P                  ! . RO4      p\         P                  ! R4      pW#R&   RV,          VR	&   RV,          VR
&   RV,          VR&   \	        W4      p\         P                  ! . RO4      p\         P                  ! R4      p\         P                  ! . RO4      pWvR&   RV,          VR	&   RV,          VR
&   RV,          VR&   \        V! V4      V4       R# )rA   r   r@   r}   r-  Nr  )r   r&   r&   rG   r   r   rG   rt   r   rG   r   rt   rG   rt   rt   r  )   r&   r&   r  )rK   rL   rT   emptyr   r   )r*   r,   y_r+   r  rL  r  yi_s   &       r.   test_eval_3d$TestAkima1DInterpolator.test_eval_3d  s    IIb#XXFGHHZ '
"W'
"W'
"W'
 &XX & 'XXj!hh 9 : 73h73h73h72#r:   c                    VP                  R R.VP                  R7      pVP                  RR.4      p\        W#^ RR7      p\        V! R4      VP                  RVP                  R7      4       R# )rA   r   r   r'   N)rk   rh   g?g333333?)r   r   r   r   )r*   r  r,   r+   akimas   &&   r.   $test_linear_interpolant_edge_case_1d<TestAkima1DInterpolator.test_linear_interpolant_edge_case_1d  s[    JJSzJ4JJSz"#AqdCdRZZRZZZ%HIr:   c                   VP                  R R.4      pVP                  VRV,          RV,          RV,          3^R7      p\        W#4      pVP                  RR.4      pVP                  . R	O. R
O.VP                  R7      p\	        V! V4      V4       \        W#P
                  ^R7      p\	        V! V4      VP
                  4       R# )rA   r   r@   r}   r-  rl   r'   r   N)r'   r   r   r@   )r   r@   r}   r-  )r   r  r   r   r   Tr  s   &&     r.   $test_linear_interpolant_edge_case_2d<TestAkima1DInterpolator.test_linear_interpolant_edge_case_2d  s    JJBx HHaaaa0qH9 &ZZb	"ZZ+)+24**  
 	2# CCa02%r:   c                   \         P                  ! R R4      p\         P                  ! R R.4      p\         P                  ! R4      pW#R	&   RV,          VR
&   RV,          VR&   RV,          VR&   \	        W4      p\         P                  ! RR.4      p\         P                  ! R4      pWVR	&   RV,          VR
&   RV,          VR&   RV,          VR&   Tp\        V! V4      V4       \	        WP                  ^^ ^4      ^R7      p\        V! V4      VP                  ^^ ^4      4       \	        WP                  ^^^ 4      ^R7      p\        V! V4      VP                  ^^^ 4      4       R# )rA   r@   r   r}   r-  r'   rl   N)r&   r&   r&   r  r  r  r  )rK   rL   rT   r  r   r   	transpose)r*   r,   r  r+   r  r  r  rL  s   &       r.   $test_linear_interpolant_edge_case_3d<TestAkima1DInterpolator.test_linear_interpolant_edge_case_3d  s3   IIb"XXr2hHHY'
"W'
"W'
"W'
 &hhRy!XXi 73h73h73h72# KK1a$8qA2Q1 56 KK1a$8qA2Q1 56r:   c                F   VP                  . ROVP                  R7      pVP                  W"^,          34      P                  p\	        W#4      pVP                  RR.VP                  R7      pV! V4      p\        WaP                  WU^,          34      P                  4       R# )r   r   r'   r   Nr   )r   r   r  r  r   r   )r*   r  r,   r+   r  x_evaly_evals   &&     r.   %test_degenerate_case_multidimensional=TestAkima1DInterpolator.test_degenerate_case_multidimensional  s}    JJy

J3HHaAY!! &S#Jbjj9F&!))< = ? ?@r:   c                $   \         P                  ! R R4      p\         P                  ! . RO4      p\        W4      pRp\        P
                  ! \        VR7      ;_uu_ 4        VP                  RR4       RRR4       R#   + '       g   i     R# ; i)rA   r   z9Extending a 1-D Akima interpolator is not yet implementedrz  Nr  )rK   rL   rT   r   r~  r   r)   extend)r*   r,   r+   r  r{  s   &    r.   test_extend#TestAkima1DInterpolator.test_extend  s_    IIb#HHEF &K]].e<<IIdD! =<<<s   !A>>B	c                   \         P                  ! R R4      p\         P                  ! . RO4      pRp\        P                  ! \
        VR7      ;_uu_ 4        \        WRR7       RRR4       R#   + '       g   i     R# ; i)rA   r   z `method`=invalid is unsupported.rz  invalidr  Nr  )rK   rL   rT   r~  r   r)   r   )r*   r,   r+   r{  s   &   r.   test_mod_invalid_method/TestAkima1DInterpolator.test_mod_invalid_method  sQ    IIb#HHEF2]].e<<Y7 =<<<s   A..A?	c                R   \         P                  ! R^^4      pV^,          p\         P                  ! R	^
^4      pV^,          p\        WRR7      p\        WRR7      p\        WRR7      p\        V! V4      V! V4      RR7       \	        V! V4      R,          \         P
                  ! ^\         P                  4      4       \	        V! V4      R
R \         P
                  ! ^\         P                  4      4       \        V! VRR7      V! V4      RR7       \        WE! V4      RR7       R# )rB   Trh   FNr   r   :r   r6  Nr  rI   )rK   rI  r   r   r   fullr   )r*   r,   r+   x_exty_extak_trueak_falseak_nones   &       r.   test_extrapolate_attr-TestAkima1DInterpolator.test_extrapolate_attr  s    KKAr"qDCR(q%a=&q?%a=eD,bgga.@A2.2660BCD975>PUVwu~E:r:   c                   \         P                  ! ^^
4      pR\         P                  ! \         P                  ! \        4      P
                  4      ,          \         P                  ! V^,
          R4      ,          p\        WRR7      p\        WRR7      pV! V4      pV! V4      p\         P                  ! V4      P                  4       '       g   Q h\         P                  ! V4      P                  4       '       g   Q hR# )rt   g    .Ar'   r  r  r  N)
rK   rL   sqrtfinfora  max	heavisider   rb  rc  )r*   r,   r+   ak1ak2y_eval1y_eval2s   &      r.   test_no_overflow(TestAkima1DInterpolator.test_no_overflow  s    IIa%,,--bll1Q3.DD!!x8!!w7a&a&{{7#'')))){{7#''))))r:   r1   N)r2   r3   r4   r5   r  r  r  r  r  r  r  r  r  r  r  r  r6   r7   r8   s   @r.   r  r  H  sH     $$&$&$2J&70A"8;(* *r:   r  r  c                    \         P                  ! R R4      p\         P                  ! . RO4      pVRV,          ,
          pRp\        P                  ! \
        VR7      ;_uu_ 4        V ! W4       RRR4       R pR#   + '       g   i     L; i)rA   r   y               @zreal valuesrz  Nc                     \         P                  ! R^^4      pV^,          p\         P                  ! R^
^4      p\        WRR7      pR p\        ^
WTV4       R# )rB   Tr  c                     V! V4       R # r   r1   )_r  r  s   &&&r.   	worker_fn9test_complex.<locals>.test_concurrency.<locals>.worker_fn  s	    uIr:   Nr  r  )rK   rI  r   r    )r*   r,   r+   r  r  r  s   &     r.   test_concurrency&test_complex.<locals>.test_concurrency	  sN    KKAr"qDCR( 48	 	 I59r:   r  )rK   rL   rT   r~  r   rv   )r  r,   r+   msgr  s   &    r.   rR  rR    s`     			"cA
ABA	BqDA
C	z	-	-q 
.
: 
.	-s   &	A<<B	c                   V   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tRtV tR# )TestPPolyCommoni  c                    VP                  ^^.^^.^^..4      pVP                  . RO4      p\        \        \        W#4       \        \        \        W#4       R# )rt   N)r   rt   r'   )r   r(   rv   r   r   )r*   r  r  r,   s   &&  r.   test_sort_checkTestPPolyCommon.test_sort_check  sI    JJAAA/0JJ{#j%.j%.r:   c                    \        \        4      ;_uu_ 4        \        ^^.^ ^.4       RRR4       R#   + '       g   i     R# ; i)rt   N)r(   rv   r   r`   s   &r.   test_ctor_cTestPPolyCommon.test_ctor_c  s.    :&&1a&1a&! '&&&s	   3A	c                   \         P                  P                  R 4       ^p\         P                  ! \         P                  ^ ^
\         P                  P                  ^4      ,          ^
3,          4      p^\         P                  P                  V^,           \        V4      ^,
          ^^4      ,          ^,
          pVP                  V4      VP                  V4      r4\        \        3 F  pV! VR,          VR,          4      pVP                  VR,          VR,          4       V! VR,          VR,          4      pVP                  VR,          VR,          4       V! WC4      p\        VP                  VP                  4       \        VP                  VP                  4       \        VP                  VP                  4       \        VP                  VP                  4       K  	  R# )  NrD   NrD   NNNrG   :Nr   N.rG   :r   NN.rG   r  .rG   r  .)rK   randomseeduniquer  randr  r   r   r   r  r   r  r,   )	r*   r  orderr,   r  clspppp2pp3s	   &&       r.   r  TestPPolyCommon.test_extend$  s?   
		tIIbeeArBIINN2$66:;<biinnU1Wc!fQh1559zz!}bjjm15>CQz]AcF+BIIa
mQsV,anaf-CJJq~qv.a)CBDD#%%(BDD#%%(CEE355)CEE355) "r:   c                   \         P                  P                  R 4       VP                  ^ ^^4      pVP	                  \         P                  P                  ^^4      4      pVP                  ^^^4      pVP	                  \         P                  P                  ^^4      4      p\        \        3 F  pV! W24      pV! WT4      pV! W24      p	V	P                  WTR,          4       VP                  ^ ^RRR7      p
VP                  ^^R4      p\        V! V
4      V	! V
4      4       \        V! V4      V	! V4      4       K  	  R# )r  rt   NNr  F)endpointN)
rK   r  r  rI  r   r  r   r   r  r   )r*   r  r,   r  rR   c2r  pp1r  pp_combxi1xi2s   &&          r.   test_extend_diff_orders'TestPPolyCommon.test_extend_diff_orders<  s    
		tKK1a JJryy~~a+,[[Aq!ZZ		q!,-5>Ca)Cb+C!iGNN2"v& ++aC%+8C++aC(CCHgcl3CHgcl3 "r:   c                   \         P                  P                  ^ 4       ^p\         P                  ! \         P                  P	                  ^ ^
^4      4      p\         P                  P                  V^,           VP                  ^ ,          ^,
          ^^4      pVP                  V4      VP                  V4      r4\        \        3 F  pV! WC4      pV! VR,          VR,          4      pVP                  VR,          VR,          4       V! VR,          VR,          4      pVP                  VR,          VR,          4       \        VP                  VP                  4       \        VP                  VP                  4       \        VP                  VP                  4       \        VP                  VP                  4       K  	  R# )r   r  r  Nr  r  r  r  )rK   r  r  sortuniformr  r  r   r   r   r  r   r  r,   )	r*   r  r  r,   r  r  r  p1p2s	   &&       r.   test_extend_descending&TestPPolyCommon.test_extend_descendingU  s*   
		qGGBII%%aR01IINN519aggaj1na;zz!}bjjm15>CA	AQz]AcF+BIIa
mQsV,Q{^QsV,BIIanaf-BDD!##&BDD!##&BDD!##&BDD!##& "r:   c           
        \         P                  P                  R 4       \         P                  P                  ^^^^^4      p\         P                  ! \         P                  P                  ^4      4      p\         P                  P                  ^^4      p\
        \        3 F$  pV! W4      pV! V4      P                  R8X  d   K$  Q h	  \
        \        3 F  pV! VR,          V4      p\         P                  ! V! R4      4      R	8X  g   Q h\         P                  ! V! \         P                  ! R4      4      4      R	8X  g   Q h\        \        V\         P                  ! RR.R..\        R7      4       K  	  R# )
r  r'   rV  rW  皙?r   N)rE   r6  rB   r8  r9  ).r   r   r   r1   )rK   r  r  r  r  r   r   r  rT   r(   rv   object)r*   r  r,   r  r  r  s   &     r.   
test_shapeTestPPolyCommon.test_shapel  s	   
		tIINN1b!Q*GGBIINN2&'YY^^Aq!5>CA	AR5;;/111 "
 5>CAlOQ'A88AcF#r)))88Abhhsm,-333*aC:u2EV)TU "r:   c                ~   \         P                  P                  ^^^^^4      p\         P                  ! \         P                  P                  ^4      4      p\         P                  P                  ^^4      p\	        VP
                  W#V34      w  r#p\        \        3 F  pV! W#4      pR p\        ^
WvV4       K  	  R# )r   c                     V! V4       R # r   r1   )r  r  xpps   &&&r.   r  3TestPPolyCommon.test_concurrency.<locals>.worker_fn  s	    sr:   N)	rK   r  r  r  mapr   r   r   r    )r*   r  r  r,   r  r  r  r  s   &&      r.   r   TestPPolyCommon.test_concurrency~  s    IINN1b!Q*GGBIINN2&'iinnQ"

Q3K0	c5>CYF $B	3? "r:   c           	     P   \         P                  P                  R 4       \         P                  ! \         P                  P                  ^4      4      p\         P                  P                  R4      R,          pVP                  VP
                  rC\         P                  P                  ^4      p\        \        3 Fg  pV! W!4      V! W14      V! WA4      rpR FG  p
\        V! WZ4      P                  V! WZ4      4       \        V! WZ4      P
                  V	! WZ4      4       KI  	  Ki  	  R# )90  N)r   r   y      ?333333?r   )	rK   r  r  r  rJ  rK  r   r   r   )r*   r,   r  c_rec_imr  r  r  p_rep_imnus   &          r.   test_complex_coef!TestPPolyCommon.test_complex_coef  s    
		uGGBII$$R()IIW%3VVQVVdYYa 5>CIs4|S\TA"	R="	R=   "r:   c                   \         P                  P                  R 4       \         P                  P                  ^^^^^^4      pVP                  p\         P                  P                  R4      pVP                  V4      VP                  V4      rBR EF  pVP                  V^,           ,          pVP                  \         P                  ! \         P                  P                  V^,           4      4      4      p\        \        3 EF  pV! W'VR7      p	V	P                  P                  W5V^,            VRV ,           W5^,           R ,           8X  g   Q hV	! V4      p
VRV VP                  ,           V^V,           R ,           pV
P                  V8X  g   Q hV! W'VR7      P                  4       V! W'VR7      P                  ^4      V! W'VR7      P                  4       V! W'VR7      P                  ^4      3 F   pVP                  V	P                  8X  d   K   Q h	  EK  	  EK  	  R F3  p\        \        3 F   p\        \        V3/ \        VXVR7      B  K"  	  K5  	  R# )r!  rl   N)r  r,   rk   )rt   r&   r   rt   r&   rE   )rI   r6  rB   r8  )rK   r  r  r  r  r   r  r   r   r  
derivativeantiderivativerk   r(   rv   r   )r*   r  r  c_sr  rk   mr,   r  r  res
targ_shaper  s   &&           r.   	test_axisTestPPolyCommon.test_axis  s   
		uIINN1aAq!,ggiiv&A

33 DQA

277299>>!A##678Au~4(ssyyCT!V$4s5Dz$ACQL$PPPPf $Z#))3c!D&'lB
yyJ... q$/::<q$/::1=q$/>>@q$/>>qACB 77aff,,,	C & !& "Du~j#KQT1JK & "r:   r1   N)r2   r3   r4   r5   r  r  r  r  r  r  r  r'  r1  r6   r7   r8   s   @r.   r  r    s;     /"
*042'.V$@ 
>L Lr:   r  c                   j   a  ] tR tRt o  ! R R]4      t ! R R]4      tR tR t	R t
R	 tR
 tRtV tR# )TestPolySubclassingi  c                       ] tR tRtRtR# )TestPolySubclassing.Pi  r1   Nr2   r3   r4   r5   r6   r1   r:   r.   Pr6        r:   r8  c                       ] tR tRtRtR# )TestPolySubclassing.Bi  r1   Nr7  r1   r:   r.   Br;    r9  r:   r<  c                (   \         P                  P                  R 4       \         P                  ! \         P                  P                  ^4      4      p\         P                  P                  R4      pV P	                  W!4      V P                  W!4      3# )r  )r6  r&   )rK   r  r  r  r8  r<  )r*   r,   r  s   &  r.   _make_polynomials%TestPolySubclassing._make_polynomials  s^    
		tGGBII$$Q'(IIV$vva|TVVA\))r:   c                    V P                  4       w  rW3 F0  pVP                  4       pVP                  VP                  8X  d   K0  Q h	  VP                  4       pVP                  VP                  8X  g   Q hR # r   )r>  r+  	__class__r,  )r*   r   bpr  pdppas   &     r.   test_derivative#TestPolySubclassing.test_derivative  se    '')AB;;",,...  !||s}},,,r:   c                   \         P                  P                  R 4       \         P                  ! \         P                  ^ \         P                  P                  ^4      ^3,          4      p\         P                  P                  \        V4      4      p\        W^ R7      pV P                  P                  V4      pVP                  V P                  8X  g   Q hR# r  r?  N)rK   r  r  r  r  r  r  r   r8  from_splinerA  )r*   r,   r+   splr   s   &    r.   test_from_spline$TestPolySubclassing.test_from_spline  s    
		tGGBEE!RYY^^B/234IINN3q6"QQVV$||tvv%%%r:   c                
   V P                  4       w  rV P                  P                  V4      pVP                  V P                  8X  g   Q hV P                  P                  V4      pVP                  V P                  8X  g   Q hR # r   )r>  r8  from_bernstein_basisrA  r<  from_power_basis)r*   r   rB  r  bp1s   &    r.   test_conversions$TestPolySubclassing.test_conversions  sf    '')ff))"-}}&&&ff%%b)}}&&&r:   c                    . ROp^.^.^..pV P                   P                  W4      pVP                  V P                   8X  g   Q hR# r   Nr   )r<  from_derivativesrA  )r*   r,   r+   rB  s   &   r.   test_from_derivatives)TestPolySubclassing.test_from_derivatives  sB    S1#sOVV$$Q*||tvv%%%r:   r1   N)r2   r3   r4   r5   r   r8  r   r<  r>  rE  rL  rR  rW  r6   r7   r8   s   @r.   r4  r4    s;     E E *-&'& &r:   r4  c                      a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t Rt!V t"R # )!	TestPPolyi  c                *   VP                  ^^.^^.^^..4      pVP                  . RO4      p\        W#4      p\        V! R4      VP                  RVP                  R7      4       \        V! R4      VP                  RVP                  R7      4       R# )rt   333333?r   ffffff?Nr   r'   rt   Q@p=
ף@r   r   r   r   r*   r  r  r,   r  s   &&   r.   test_simpleTestPPoly.test_simple  s}    JJAAA/0JJ{#!K#

+?rzz
 RScFBJJ?rzzJR	
r:   c                   VP                  ^^.^^.^^..4      pVP                  . RO4      p\        W#RR7      p\        V! R4      VP                  RVP                  R7      4       \        V! R4      VP                  R	VP                  R7      4       \        V! R^4      VP                  R
VP                  R7      4       \        V! R^4      VP                  RVP                  R7      4       R# )rt   periodicr  g?r   Nr^  r_  333333ӿr`  g@gffffff@ra  rb  s   &&   r.   test_periodicTestPPoly.test_periodic  s    JJAAA/0JJ{#!J/#

#=RZZ
P	RdGJJAJT	

 	#q	2::k:#LM$
BJJ/B"**J$UVr:   c                   \         P                  ! ^^.^^.^^..4      p\         P                  ! . RO4      p\         P                  ! . RO4      p\        WRR7       R Fb  pWBP                  n        WAP                  n        \        W4      pV! V4      p\         P
                  ! V4      P                  4       '       d   Kb  Q h	  R# )rt   rf  r  Nr^  )r   rV  rW  rs  )rK   rT   r   rt  ru  rb  rc  )r*   r  r,   r   ru  r   re  s   &      r.   rw  TestPPoly.test_read_only  s    HHq!fq!fq!f-.HH[!xx&a
+&I )GG )GGaAT7D;;t$((**** 'r:   c           	     8   R  p\         P                  P                  ^ 4      p^pR	 EFn  p\         P                  ! VP	                  ^ ^
V^,           4      4      pVP	                  R
^V^,           V3R7      p\         P
                  ! V4      pVR,          \         P                  ! V^,           4      RRR1R3,          ,          pV! V4      p	Wh,          p
\         P                  ! V	P                  V
4      pW,          p\        WeRR7      p\        VRRRR13,          VRRR1,          RR7      pVP	                  R^^d4      p\        V! V4      V! V4      RR7       \        V! V^4      V! V^4      RR7       VP                  4       pVP                  4       p\        V! V4      V! V4      RR7       VP                  4       pVP                  4       pVP	                  R^R4       Fl  w  ppVP                  VV4      pVP                  VV4      p\        VVRR7       \        V! V4      V! V4      ,
          V! V4      V! V4      ,
          RR7       Kn  	  VP                  4       pVP                  4       p\        V\         P                  ! V4      RR7       EKq  	  R# )c                     \         P                  ! V ^,           4      P                  R^4      p\         P                  ! V ^,           4      p\        W4      pVRRR1RRR13,          # )rt   NrI   )rK   rL   rP   r"   )powerr>  kr<  s   &   r.   binom_matrix/TestPPoly.test_descending.<locals>.binom_matrix  sR    		%!)$,,R3A		%!)$AaATrT4R4Z= r:   sizeNrG   Tr  vIh%<=r   -q=rD         r   )NrG   rI   r  rB   r&   )rK   r  RandomStater  r  diffrL   dotr  r   r   r+  r,  	integrateroots)r*   rp  rngrn  r.  r,   cahh_powersr<  capcdpcdparC  x_testpa_dpd_dpa_ipd_ir=  r@  int_aint_droots_droots_as   &                         r.   test_descendingTestPPoly.test_descending  s   	! ii##A&AAr1q512AR%!)Q8B
AzRYYuqy%9$B$*%EEHU#A-C&&c"CBr$/Br!TrT'{AddG>B[[b#.FBvJ6
?BvqM2fa=uE==?D==?DDL$v,UC
 $$&D$$&DCV41Q*Q*u59Q$q' 147T!W3D%*,	 5 hhjGhhjGGRWWW%5EBBK r:   c                   \         P                  P                  ^^^^^4      p\         P                  ! . RO4      p\	        W#4      pVP
                  P                  VP                  8X  g   Q hVP                  P                  VP                  8X  g   Q hV! R4      P                  VP                  R,          8X  g   Q hV! \         P                  P                  ^^4      4      P                  RVP                  R,          ,           8X  g   Q hVP                  4       pVP                  P                  R8X  g   Q hVP                  4       pVP                  P                  R8X  g   Q hR# )r8  r\  r&   NNNr^  rB   r8  rB   r&   rt   r&   rE   )r9  r&   rt   r&   rE   )
rK   r  r  rT   r   r,   r  r  r+  r,  )r*   r  r  r,   r  dpips   &&     r.   test_multi_shapeTestPPoly.test_multi_shapeA  s    IINN1aAq)HH[!!KssyyAGG###ssyyAGG###v||qwwr{***1%&,,0DDDD\\^ttzz_,,,ttzz_,,,r:   c                   \         P                  P                  R 4       \         P                  ! ^^.^^.^^..\        R7      p\         P                  ! . RO4      p\
        P                  ! W4      p\        V! R4      \         P                  ! R4      4       \        V! R4      \         P                  ! R4      4       R# )r  r   r\  r]  Nr^  r_  r`  )	rK   r  r  rT   ra  r   construct_fastr   r   r*   r  r,   r  s   &   r.   test_construct_fastTestPPoly.test_construct_fastQ  s    
		tHHq!fq!fq!f-U;HH[!  &#

+? @A#

+K LMr:   c                   \         P                  P                  R 4      pVP                  ^^^4      p\         P                  ! \         P
                  ^ VP                  ^4      ^3,          4      p\        W#4      p\         P
                  R,          p\        W#V4      p\        V! V4      V4       \        VR,          W54      p\        V! V4      R,          V4       R# )r  N)r\  r'   gQ?333333?)rG   rG   r   rF   )
rK   r  rz  r  r  r  r   _ppoly_eval_1r   _ppoly_eval_2)r*   r  r  r,   r  r  expecteds   &      r.   #test_vs_alternative_implementations-TestPPoly.test_vs_alternative_implementationsY  s    ii##D)HHQBGGBEE!SXXb\1,-.!KUU&' r*"x( 511"dX.r:   c                   \         P                  P                  R 4      p\         P                  ! \         P                  ^ VP                  ^4      ^3,          4      pVP                  \        V4      4      p\        W#^ R7      p\        P                  ! V4      p\         P                  ! ^ ^^4      p\        V! V4      \        Wd4      4       \        V!  p\        P                  ! V4      p\        V! V4      V! V4      4       Vw  rpR FC  p\        WWR7      p\        P                  ! V4      pVP                  VP                  8X  d   KC  Q h	  R# )r  rI  Nr  )NTF)rK   r  rz  r  r  r  r  r   r   rJ  rI  r   r   r   rh   )r*   r  r,   r+   rK  r   rL  r@  ppptr  ro  extrapr  s   &             r.   rL  TestPPoly.test_from_splineg  s   ii##D)GGBEE!SXXb\1,-.HHSVQQs#[[As#2b/ SM"B2' a)Fa4A!!!$A==AMM111 *r:   c                   \         P                  P                  R 4      p\         P                  ! \         P                  ^ VP                  ^4      ^3,          4      pVP                  \        V4      4      p\        W4^ R7      w  rVp\        VP                  V4      VP                  V4      V4      p\        P                  ! V4      p	VP                  ^ ^^4      p
\        V	! V
4      V! V
4      4       R# rH  )rK   r  rz  r  r  r  r  r   r   r   r   rJ  rI  r   )r*   r  r  r,   r+   r  r  ro  rK  r   rL  s   &&         r.   test_from_spline_2TestPPoly.test_from_spline_2~  s    ii##D)GGBEE!SXXb\1,-.HHSV#abjjmRZZ]A6s#[[Ar"2B(r:   c                   \         P                  P                  R 4       VP                  . RO.4      P                  pVP                  . RO.4      P                  pVP                  ^^..4      P                  pVP                  ^ ^.4      p\        W%4      p\        W54      p\        WE4      p\        VP                  4       P                  VP                  4       \        VP                  ^4      P                  VP                  4       R# )r  N)r6  rE   r&   rt   )r   r8  r&   )	rK   r  r  r   r  r   r   r+  r  )	r*   r  r  dcddcr,   r   dppddpps	   &&       r.   test_derivative_simple TestPPoly.test_derivative_simple  s    
		tJJ~&((ZZ(**jj5%.)*,,JJ1v1[BlS}))3551a(**DFF3r:   c           	        \         P                  P                  R 4      p\         P                  ! \         P                  ^ VP                  ^4      ^3,          4      pVP                  \        V4      4      p\        W#^ R7      p\        P                  ! V4      p\         P                  ! ^ ^^4      p\        ^ ^4       F  p\        V! Wg4      \        WdV4      4       K!  	  R# rH  )rK   r  rz  r  r  r  r  r   r   rJ  rI  r  r   r   r*   r  r,   r+   rK  r   rL  dxs   &       r.   test_derivative_evalTestPPoly.test_derivative_eval  s    ii##D)GGBEE!SXXb\1,-.HHSVQQs#[[As#1+BBrJbr(:; r:   c                   \         P                  P                  R 4      p\         P                  ! \         P                  ^ VP                  ^4      ^3,          4      pVP                  \        V4      4      p\        W#^ ^R7      p\        P                  ! V4      p\         P                  ! ^ ^^4      p\        ^ ^
4       F/  p\        V! Wg4      VP                  V4      ! V4      RV 2R7       K1  	  R# )r  r?  ro  dx=r7  N)rK   r  rz  r  r  r  r  r   r   rJ  rI  r  r   r+  r  s   &       r.   rE  TestPPoly.test_derivative  s    ii##D)GGBEE!SXXb\1,-.HHSVQQ!$s#[[As#2,BBrJb(9"(=RDzR r:   c                   \        R ..^ ^.4      p\        VP                  4       P                  \        ^.^ ..^ ^.4      P                  4       \        VP                  4       P                  \        ^.^ ..^ ^.4      P                  4       R# )r   N)r   r   r,  r  r,   )r*   r  s   & r.   test_antiderivative_of_constant)TestPPoly.test_antiderivative_of_constant  sz    B4&1a&!((*,,eaS1#JA.G.I.IJ((*,,eaS1#JA.G.I.IJr:   c                   \        R R... RO4      pVP                  4       p\        VP                  ^R.^ ^..4       \        VP                  . RO4       \        VP                  ^ ^4      \        P                  ! R4      4       \        \        P                  ! V! ^4      V! ^ 4      ,
          4      \        P                  ! R4      4       R# )r   r'   r   Nr   )rA   rt   r&   )	r   r,  r   r  r,   r   r}  rK   r   )r*   r  qs   &  r.   #test_antiderivative_regression_4355-TestPPoly.test_antiderivative_regression_4355  s    B9+y)q#hA/0[)Aq)2::c?;

1Q4!A$;/

3	)r:   c                   VP                  . RO. RO.VP                  R7      P                  pVP                  . RO. RO.VP                  R7      P                  pVP                  . RO. RO.VP                  R7      P                  pVP                  . R	OVP                  R7      p\        W%4      pVP	                  4       pVP	                  ^4      pVP	                  4       p	\        VP                  V4       \        VP                  P                  VP                  4       \        VP                  P                  VP                  4       \        V	P                  P                  VP                  4       R# )
rE   r   N)rE   r&   rt   )r   r         ?)rt   rt   rt   r   )r   r   r        ?)      ?gUUUUUU?r'   r   r   )r   r   g      ?r  g*?)r   r  rt   )r   r   r  r   r,  r   r,   r  )
r*   r  r  iciicr,   r   ippiippiipp2s
   &&        r.   test_antiderivative_simple$TestPPoly.test_antiderivative_simple  s    JJ	>2"**JEGG ZZ'?@

ZSUU jj/JL!zz  
 ! 	 JJ|2::J61[!  #""$q!&#%%(		355)r:   c                   \         P                  P                  R 4      p\         P                  ! ^ ^^4      ^,          pVP	                  \        V4      4      p\        W#^ ^R7      p\        P                  ! V4      p\        ^ ^
4       F  pVP                  V4      pVP                  V4      p\        VP                  VP                  4       \        V4       F  p	VP                  V	4      pRp
WP                  RR	 ,          ^V
,
          VP                  R,          ,          ,           p\        V! VP                  R,          4      V! V4      RRV RV	 2R7       K  	  K  	  R# )
r  r  rt  Nr  r   r  z k=)r   r   rI   )rK   r  rz  rI  r  r  r   r   rJ  r  r,  r+  r   r  r,   )r*   r  r,   r+   rK  r   r  r  r  ro  rr  s   &           r.   !test_antiderivative_vs_derivative+TestPPoly.test_antiderivative_vs_derivative  s   ii##D)KK1b!1$HHSVQQ!$s#2,B##B'C ..$CBDD#%%( 2YnnQ'UU3BZ<1q5#%%)*;;b	NCMB4sSTRUFV  r:   c                   \         P                  P                  R 4      p\         P                  ! \         P                  ^ VP                  ^4      ^3,          4      pVP                  \        V4      4      p\        W#^ ^R7      p\        P                  ! V4      p\        ^ ^
4       FT  pVP                  V4      p\        WF4      p\         P                  ! ^ ^^4      p	\        V! V	4      \        W4      RR7       KV  	  R# )r  r  r   r   N)rK   r  rz  r  r  r  r  r   r   rJ  r  r,  r   rI  r   r   )
r*   r  r,   r+   rK  r   r  r  spl2rL  s
   &         r.   test_antiderivative_vs_spline'TestPPoly.test_antiderivative_vs_spline  s    ii##D)GGBEE!SXXb\1,-.HHSVQQ!$s#2,B##B'Cc&DQ3'BCGU2_!%' r:   c                L   \         P                  ! . RO. RO.4      P                  p\         P                  ! . RO4      p\        W4      pVP	                  4       p\        V! R4      V! R4      RR7       VP                  4       p\        VP                  VP                  4       R# )	r&   g:0yE>r   N)r&   rt   r&   r&   )r&   rt   rE   rE   r^  gA?g_p   ?)rK   rT   r  r   r,  r   r+  r  )r*   r  r,   r  r  r  s   &     r.   test_antiderivative_continuity(TestPPoly.test_antiderivative_continuity  su    HHlL1244HH[!!K 	::TB ]]_acc"r:   c                   \         P                  P                  R 4      p\         P                  ! \         P                  ^ VP                  ^4      ^3,          4      pVP                  \        V4      4      p\        W#^ ^R7      p\        P                  ! V4      pRRrvVP                  Wg4      pVP                  4       p	\        W! V4      V	! V4      ,
          RR7       \        V\        WgV4      RR7       R	RrvVP                  WgRR7      p\        W! V4      V	! V4      ,
          RR7       \         P                  ! VP                  WgRR7      4      P                  4       '       g   Q hR# )
r  r  r\  g?Fcheck_0dTr  Nrg  )rK   r  rz  r  r  r  r  r   r   rJ  r}  r,  r   r   r   rc  )
r*   r  r,   r+   rK  r   r=  r@  igr  s
   &         r.   test_integrateTestPPoly.test_integrate  s   ii##D)GGBEE!SXXb\1,-.HHSVQQ!$s#C1\\!!CFSVOe<F1->S1\\!D\1CFSVOe<xxQu=>BBDDDDr:   c                >   \         P                  ! . RO4      p\         P                  ! RR.RR.RR.RR..4      pR F\  pW1P                  n        \	        W!4      pVP                  ^^4      p\         P                  ! V4      P                  4       '       d   K\  Q h	  R# )	rt   rA   r   r@   Nrt   r&   r6  r          rs  )rK   rT   rt  ru  r   r}  rb  rc  )r*   r,   r  ru  r8  re  s   &     r.   test_integrate_readonly!TestPPoly.test_integrate_readonly%  s    HHYHHr2hc
RIBx@A&I )GGaA;;q!$D;;t$((**** 'r:   c           	     b   \         P                  ! . R
O4      p\         P                  ! RR.RR.RR.RR..4      p\        W!RR7      pVP                  4       p\         P                  ! V! ^4      V! ^4      ,
          4      p\        VP                  ^^4      V4       \        VP                  RR4      V4       \        VP                  RR4      \         P                  ! ^V,          4      4       \        VP                  RR4      \         P                  ! V! R4      V! R4      ,
          4      4       \        VP                  R^4      \         P                  ! V! ^4      V! ^4      ,
          V! ^4      ,           V! R4      ,
          4      4       \        VP                  R^4      \         P                  ! V! ^4      V! ^4      ,
          V! ^4      ,           V! R4      ,
          4      4       \        VP                  R^4      \         P                  ! V! ^4      V! ^4      ,
          V! ^4      ,           V! R4      ,
          ^V,          ,           4      4       \        VP                  ^ R4      \         P                  ! V! ^4      V! ^4      ,
          4      4       \        VP                  RR4      \         P                  ! V! ^4      V! ^4      ,
          4      4       \        VP                  ^ R4      \         P                  ! V! ^4      V! ^4      ,
          ^V,          ,
          4      4       R	# rt   rA   r   r@   rf  r  r   rG  r  Nr  r   r  r  ir  g      /@rI   i)rK   rT   r   r,  r   r   r}  )r*   r,   r  r8  I
period_ints   &     r.   test_integrate_periodic!TestPPoly.test_integrate_periodic1  s>   HHYHHr2hc
RIBx@A!J/ZZ!qt,
Aq):6C,j9C,bjjZ.HIC-

1S6AcF?3	5C+

1Q4!A$;1#5##>?	AHf5

1Q4!A$;1#5##>?	AC0

1Q4!A$;1#5##>Z#OP	RAr*

1Q4!A$;/	1B,

1Q4!A$;/	1As+

1Q4!A$;Z#?@	Br:   c                >   \         P                  ! ^ ^^4      ^,          p\         P                  ! ^V,          4      p\        W^ ^R7      p\        P
                  ! V4      pVP                  4       pWUR8  VR8*  ,          ,          p\        V\        V4      RR7       R# )r   r  r   r   NgV瞯Ҽg     ?)	rK   rI  r   r   r   rJ  r~  r   r   )r*   r,   r+   rK  r   r  s   &     r.   
test_rootsTestPPoly.test_rootsM  sx    KK1b!1$FF2a4LQQ!$s#HHJI~!y.126#;U3r:   c                   \         P                  ! RR.^ ^ .RR..4      P                  p\         P                  ! . RO4      p\        W4      p\	        VP                  4       RR\         P                  R.4       RpVP                  4       pVR;;,          V,          uu&   \        WR4      p\	        VP                  V4      RR\         P                  R.4       R# )	rt   r  r  r@   NrI   )r   r  r  r   g333333?)rt   rG   )	rK   rT   r  r   r   r~  r   r{   solve)r*   r  r,   r   constc1r  s   &      r.   test_roots_idzeroTestPPoly.test_roots_idzeroX  s     HHr4j1a&2t*5688HH'(1[
sBFFJ7	9 VVX
4EBl		%(sBFFJ7	9r:   c                ^   ^ .^ ..p^ ^.p\        W4      p\        VP                  4       ^ \        P                  .4       \        VP                  ^ 4      ^ \        P                  .4       \        VP                  ^4      . 4       ^ ^ .^ ^ ..p. ROp\        W4      p\        VP                  4       ^ \        P                  ^\        P                  .4       \        VP                  ^ 4      ^ \        P                  ^\        P                  .4       \        VP                  ^4      . 4       R# rU  )r   r   r~  rK   r   r  r  s   &   r.   test_roots_all_zeroTestPPoly.test_roots_all_zerok  s    S1#JF!K	Arvv;/
QK0
B'VaV!K	Arvvq"&&#9:
Q266$:;
B'r:   c                Z   \         P                  ! . RO. RO.4      P                  p\         P                  ! . RO4      p\        W4      p\	        VP                  4       \         P                  ! RR.4      4       \	        VP                  RR7      \         P                  ! R.4      4       R# )	rt   rA   Fr  N)rt   r   rI   )rI   r   r   r   g       )rK   rT   r  r   r   r~  r   r*   r  r,   r   s   &   r.   test_roots_repeatedTestPPoly.test_roots_repeated{  sq    
 HHj*-.00HHZ 1[
BJJc{$;<U3RZZ5FGr:   c                   \         P                  ! ^.R..4      P                  p\         P                  ! . RO4      p\        W4      p\	        VP                  4       \         P                  ! R.4      4       \	        VP                  RR7      \         P                  ! . 4      4       \	        VP                  R4      \         P                  ! R.4      4       \	        VP                  RRR7      \         P                  ! . 4      4       \	        VP                  R4      \         P                  ! . 4      4       \	        VP                  RRR7      \         P                  ! . 4      4       R# )rt   r'   F)discontinuityr   NrI   r^  )rK   rT   r  r   r   r~  r   r  r  s   &   r.   test_roots_discontTestPPoly.test_roots_discont  s    HHqcB4[!##HH[!1[
BJJu$56u5rzz"~F 	rzz3%'89E:BJJrNKrzz"~6E:BJJrNKr:   c                   \         P                  P                  R 4      p^ pR EF  p\        ^ ^4       EFu  p\         P                  ! \         P
                  ^ ^
VP                  ^4      ,          ^
3,          4      p^VP                  V^,           \        V4      ^,
          ^^4      ,          ^,
          p\        We4      p^ VP                  4       3 F  pVP                  VRVR7      p	\        ^4       F  p
\        ^4       F  pWV3,          pVP                  ^ 8  g   K   W,P                  ,          pV! WR7      RW3,          pV! V^VR7      RW3,          pRV: R\        V4       2p\        W,
          V,          \         P                  ! R4      R	VRR
7       K  	  K  	  K  	  EKx  	  EK  	  V^d8  g   Q \        V4      4       hR# )r  F)r  rh   r  rG   )r&  rh   (z) r = rA   r   )r   r   r   Nrs  )rK   r  rz  r  r  r  r  r  r   r  rs  reprr   r   )r*   r  numrh   r  r,   r  r   r+   r  ijrrvalcmpvalr  s   &               r.   test_roots_randomTestPPoly.test_roots_random  s|   ii##D)(Kq"IIbeeArCHHRL'8"$<=>chhuQwAq!Q77!;1[SZZ\*A%[QA"1X!&qA!"Q3B!ww{ #ww&(&Eae&L)+B18C*EEFqU*L()+tBxj&I /&0@"**S/598;!P "* & + & )0 Sy#$s)#yr:   c           
        \         P                  P                  R 4      p\        ^^4       EF  pVP	                  V^^4      pV^8X  d   RVR&   ^ VP                  4       3 EFn  p\         P
                  ! VP                  \        R7      p\        P                  ! W5V4       V^8X  d/   \         P                  ! V4      P                  4       '       g   Q hKv  V) p^ p\        V4       Fd  pWcVR3,          WR^,
          V,
          ,          ,          ,          pV\        W8R3,          WR^,
          V,
          ,          ,          4      ,          pKf  	  \         P                  ! RR7      ;_uu_ 4        Wg,          pRRR4       VP                  4       pV\         P                  ! V4      ( ,          p\        V\         P                   ! V4      RR7       EKq  	  EK  	  R#   + '       g   i     Ll; i)	r  r   Nignore)r  g|=r   )rt   r&   rt   r  )rK   r  rz  r  r  r  r  complexr   _croots_poly1r   rc  abserrstateravelr   
zeros_like)	r*   r  ro  r  r+   wr/  cresr  s	   &        r.   test_roots_crootsTestPPoly.test_roots_croots  s`   ii##D)q"AAs#AAv"%&HHQWWG4$$Q1-688A;??,,,,bqAQtV9qQ3q5z11CCD&	A!AJ 677D " [[22KC 3iik288C=.)R]]3%7eDD# ' ( 32s   .	G	G+c                   \         P                  ! . RO.4      P                  p\         P                  ! ^ ^.4      pR EF  p\        WVR7      pVP	                  4       pVP                  4       pVRJ d   \         P                  ! V! RR.4      4      P                  4       '       g   Q h\         P                  ! V! RR.4      4      P                  4       '       g   Q h\         P                  ! V! RR.4      4      P                  4       '       g   Q hVP                  4       ^.8X  g   Q hK  \        V! RR.4      R	R
.4       \         P                  ! V! RR.4      4      P                  4       '       d   Q h\         P                  ! V! RR.4      4      P                  4       '       d   Q h\        VP                  4       \         P                  ! RR.4      4       EK  	  R# )rt   FNr  皙?r   r   TFN皙gGz?gzGʿr   )rK   rT   r  r   r+  r,  r   rc  r~  r   anyr   )r*   r  r,   rh   r   pp_dpp_is   &      r.   r  TestPPoly.test_extrapolate_attr  sm   HHj\"$$HHaV.Kq5B==?D$$&De#xxD#;0446666xxdC[ 12668888xxdC[ 12668888xxzaS(((D#;(H1EF88D$$56::<<<<88D$$56::<<<<
BJJT{,CD /r:   r1   N)#r2   r3   r4   r5   rc  rh  rw  r  r  r  r  rL  r  r  r  rE  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r6   r7   r8   s   @r.   rZ  rZ    s     
W+/Cb- N/2.
)4
<
SK)*22' #E*
+B8	49&( 
HL$@E<E Er:   rZ  c                   b   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tRtV tR# )	TestBPolyi  c                    VP                  ^ ^.4      pVP                  ^..4      p\        W24      p\        V! R4      VP                  RVP                  R7      4       R# )r   rV  r}   r   Nr   r   r   r   r*   r  r,   r  rB  s   &&   r.   rc  TestBPoly.test_simple  sN    JJ1vJJu1[3Bbjj!ABr:   c                    VP                  ^ ^.4      pVP                  ^.^..4      p\        W24      p\        V! R4      VP                  RVP                  R7      4       R# )r   rV  r   Nggfffff@r"  r#  s   &&   r.   test_simple2TestBPoly.test_simple2  sR    JJ1vJJaSz"1[3N"**!MNr:   c                    VP                  ^ ^.4      pVP                  ^.^.^..4      p\        W24      p\        V! R4      VP                  RVP                  R7      4       R# )r   rW  r   Ng433333@r"  r#  s   &&   r.   test_simple3TestBPoly.test_simple3  s[    JJ1vJJaS1#'1[sGJJ@

JS	
r:   c                    VP                  ^ ^.4      pVP                  ^.^.^.^..4      p\        W24      p\        V! R4      VP                  RVP                  R7      4       R# )r   r\  r   Ng:On?r"  r#  s   &&   r.   test_simple4TestBPoly.test_simple4  sj    JJ1vJJaS1#s+,1[3

 (. 68ZZ # A	
r:   c                    VP                  ^ ^.4      pVP                  ^.^.^.^.^..4      p\        W24      p\        V! R4      VP                  RVP                  R7      4       R# )r   r\  r   Ng	h"l@r"  r#  s   &&   r.   test_simple5TestBPoly.test_simple5  sm    JJ1vJJaS1#sQC011[3

 &( 02zz	 # ;	
r:   c                   VP                  . RO4      pVP                  ^^ .^ ^ .^ ^..4      p\        W2RR7      p\        V! R4      VP                  RVP                  R7      4       \        V! R	4      VP                  R
VP                  R7      4       \        V! R^4      VP                  RVP                  R7      4       \        V! R	^4      VP                  RVP                  R7      4       R# )r   rf  r  g333333@r   r]  Nr   rt   rE   gHzG?g[(\?r"  r#  s   &&   r.   rh  TestBPoly.test_periodic  s    JJy!JJAAA/01Z03Jbjj!IJ4"**^2::*"NO3
BJJxrzzJ$JK4RZZ2::Z%NOr:   c           	        \         P                  P                  ^ 4      p^pR
 EF  p\         P                  ! VP	                  ^ ^
V^,           4      4      pVP	                  RRV^,           V3R7      pVRRR1,          P                  4       p\        WTRR7      p\        VRRRR13,          VRRR1,          RR7      pVP	                  R^^d4      p	\        V! V	4      V! V	4      RR7       \        V! V	^4      V! V	^4      RR7       VP                  4       p
VP                  4       p\        V
! V	4      V! V	4      RR7       VP                  4       pVP                  4       pVP	                  R^R4       Fi  w  rVP                  W4      pVP                  W4      p\        VVR	R7       \        V! V4      V! V4      ,
          V! V4      V! V4      ,
          R	R7       Kk  	  EK  	  R# )r   rV  rr  NTr  rG   rt  r   ru  rv  r  rI   r  ry  )rK   r  rz  r  r  r{   r   r   r+  r,  r}  )r*   r  rn  r.  r,   r  r  r  rC  r  r  r  r  r  r=  r@  r  r  s   &                 r.   r  TestBPoly.test_descending$  s   ii##A&AAr1q512AT3eai^<BDbDBr$/Br!TrT'{AddG>B[[b#.FBvJ6
?BvqM2fa=uE==?D==?DDL$v,UC
 $$&D$$&DCV4Q*Q*u59Q$q' 147T!W3D%*,	 5/ r:   c                   \         P                  P                  R 4      pVP                  ^^^^^4      p\         P                  ! . RO4      p\        W#4      pVP                  P                  VP                  8X  g   Q hVP                  P                  VP                  8X  g   Q hV! R4      P                  VP                  R,          8X  g   Q hV! VP                  ^^4      4      P                  RVP                  R,          ,           8X  g   Q hVP                  4       pVP                  P                  R8X  g   Q hR# )r  r\  r  Nr^  r  r  )
rK   r  rz  r  rT   r   r,   r  r  r+  )r*   r  r  r,   r  r  s   &     r.   r  TestBPoly.test_multi_shapeF  s    ii##D)HHQ1a#HH[!!KssyyAGG###ssyyAGG###v||qwwr{***!Q &&&1772;*>>>>\\^ttzz_,,,r:   c           	     z   VP                  ^ ^.4      pVP                  ^.^.^..4      p\        W24      pRpV^,          p\        V! V4      VP                  ^^V,
          ,          ^V,
          ,          ^V,          ^V,
          ,          ,           ^V,          V,          ,           VP                  R7      4       R# )r   rV  r   Nr"  )r*   r  r,   r  rB  xvalr?  s   &&     r.   test_interval_lengthTestBPoly.test_interval_lengthS  s    JJ1vJJaS1#'1[1HtHJJqAaCy!A#q!A#6Qq@

JS	
r:   c                *   VP                  . RO4      pVP                  ^^ .^ ^ .^ ^..4      p\        W24      p\        V! R4      VP                  RVP                  R7      4       \        V! R4      VP                  RVP                  R7      4       R# )r   r  r   333333?Nr2  gGzG?r3  r"  r#  s   &&   r.   test_two_intervalsTestBPoly.test_two_intervals^  sx    JJy!JJAAA/01[3Krzz!JK3N"**!MNr:   c                0   ^ ^.p^.^.^..p\        W!4      pR F  p\        W!VR7      pVP                  4       pVRJ dk   \        P                  ! V! RR.4      4      P	                  4       '       g   Q h\        P                  ! V! RR.4      4      P	                  4       '       g   Q hK  \        P                  ! V! RR.4      4      P                  4       '       d   Q h\        P                  ! V! RR.4      4      P                  4       '       g   K  Q h	  R# )r   FNr  g @r  r  )r   r+  rK   r   rc  r  )r*   r,   r  rB  rh   bp_ds   &     r.   r  TestBPoly.test_extrapolate_attrf  s    FS1#sO1[.Kq5B==?De#xxD#;0446666xxdC[ 1266888888Bc{O488::::88D$$56::<<<< /r:   r1   N)r2   r3   r4   r5   rc  r&  r)  r,  r/  rh  r  r  r<  r@  r  r6   r7   r8   s   @r.   r   r     sF     CO
	



P ,D-	
O= =r:   r   c                   b   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tRtV tR# )TestBPolyCalculusiv  c                   VP                  . RO4      pVP                  ^^ .^ ^ .^ ^..4      p\        W24      pVP                  4       p\        V! R4      VP                  RVP                  R7      4       \        V! R4      VP                  RVP                  R7      4       \        TP                  R Uu. uF  qd! RV4      NK  	  up4      VP                  . R	OVP                  R7      4       \        TP                  R Uu. uF  qd! RV4      NK  	  up4      VP                  . R
OVP                  R7      4       R# u upi u upi )r   r  r   r?  r]  Nr2  r4  rt   r&   rE   )r4  r   rA   )r]  r   r   )r   r   r+  r   r   r  )r*   r  r,   r  rB  bp_derr&  s   &&     r.   rE  !TestBPolyCalculus.test_derivativex  s   JJy!JJAAA/01[sRZZ

Z%KLsRZZ2::Z%FG 		!B	""S"+	!BC

#7rzz
J	
 		!B	""S"+	!BC

<rzz
B	
 "C "Cs   7EEc                    \         P                  P                  R 4      p^^rC\         P                  ! VP                  V4      4      pVP                  WC^,
          34      pVP	                  V4      VP	                  V4      rV\        We4      p\        P                  ! V4      p\        V4       F\  p	VP                  4       pVP                  4       pVP                  V^ ,          VR,          ^4      p
\        V! V
4      V! V
4      4       K^  	  R# r  NrI   )rK   r  rz  r  r   r   r   rO  r  r+  rI  r   )r*   r  r  r.  ro  r,   r  rB  r   dr  s   &&         r.   test_derivative_ppoly'TestBPolyCalculus.test_derivative_ppoly  s    ii##D)!1GGCJJqM"JJQ3x zz!}bjjm11[''+qABB++adAbE2.CBsGRW-	 r:   c                   \         P                  P                  R 4      p^^r2\         P                  ! VP                  V4      4      pVP                  W2^,
          34      pVP	                  4       VR,          3 Fm  p\        Wd4      p\         P                  ! V^ ,          VR,          ^4      p\        V4       F*  p	\        V! W4      VP                  V	4      ! V4      4       K,  	  Ko  	  R# )r  NrH  rI   )
rK   r  rz  r  r{   r   rI  r  r   r+  )
r*   r  r.  ro  r,   r  ccrB  r  r  s
   &         r.   test_deriv_inplace$TestBPolyCalculus.test_deriv_inplace  s    ii##D)!1GGCJJqM"JJQ3x  668Q\*BrB++adAbE2.C1X3
BMM!,<S,AB  +r:   c           
        VP                  . RO4      pVP                  ^ ^ .^^..4      p\        W24      pVP                  4       pVP                  ^ ^^VP                  R7      p\        V! V4      VP                  V^8  V^,          R,          RV,          VR,          ^,
          ,          R,           4      RRR7       R# )	r   r   r@   r'   ru  r   r   Nr2  g      ?)r   r   r,  rI  r   r   where)r*   r  r,   r  rB  bixxs   &&     r.   r  ,TestBPolyCalculus.test_antiderivative_simple  s     JJy!JJAA'(1[ [[Ar[42aQ),rRUQY)?$)FH"	0r:   c                   \         P                  P                  R 4      p\         P                  ! VP                  ^4      4      pVP                  R4      p\	        W24      p\         P
                  ! V^ ,          VR,          ^d4      p\        VP                  4       P                  4       ! V4      V! V4      RRR7       R# r  ru  rU  N)r6  rD   r&   rE   rI   )	rK   r  rz  r  r   rI  r   r,  r+  r*   r  r,   r  rB  rX  s   &     r.   test_der_antider"TestBPolyCalculus.test_der_antider  s    ii##D)GGCJJrN#JJ}%1[[[1quc*))+668<2U	8r:   c                   \         P                  P                  R 4      p\         P                  ! VP                  ^4      4      pVP                  R4      p\	        W24      p\
        P                  ! V4      p\         P                  ! V^ ,          VR,          ^
4      p\        VP                  ^4      ! V4      VP                  ^4      ! V4      RRR7       R# r[  )
rK   r  rz  r  r   r   rO  rI  r   r,  )r*   r  r,   r  rB  r   rX  s   &      r.   test_antider_ppoly$TestBPolyCalculus.test_antider_ppoly  s    ii##D)GGCJJrN#JJ}%1[''+[[1qub)))!,R0))!,R0u5	Jr:   c                R   \         P                  P                  R 4      p\         P                  ! VP                  ^4      4      pVP                  R4      p\	        W24      P                  4       pVP                  ^R p\        V! VR,
          4      V! VR,           4      RRR7       R# )r  r   ru  rU  Nr6  rD   rI   )rK   r  rz  r  r   r,  r,   r   r\  s   &     r.   test_antider_continuous)TestBPolyCalculus.test_antider_continuous  s}    ii##D)GGCJJrN#JJw1['')TT!BZ2:2:U	@r:   c                   \         P                  P                  R 4      p\         P                  ! VP                  ^4      4      pVP                  R4      pVP	                  V4      VP	                  V4      rC\        WC4      p\        P                  ! V4      p\        VP                  ^ ^4      VP                  ^ ^4      RRRR7       R# )r  ru  F)r   r   r  Nrc  )
rK   r  rz  r  r   r   r   rO  r   r}  )r*   r  r  r,   r  rB  r   s   &&     r.   r   TestBPolyCalculus.test_integrate  s    ii##D)GGCJJrN#JJwzz!}bjjm11[''+Q*Q*UU	Tr:   c                r   ^..p^ ^.p\        W4      p\        VP                  ^ ^4      \        P                  ! R4      RRR7       \        WRR7      p\        P
                  ! VP                  ^ ^4      4      '       g   Q h\        VP                  ^ ^RR7      \        P                  ! R4      RRR7       R# )rt   r@   r   F)r   r  r  TN)r   r   r}  rK   r   r   )r*   r  r,   r@  b1s   &    r.   test_integrate_extrap'TestBPolyCalculus.test_integrate_extrap  s    SEF!K 	Aq)2::b>"U	4 1U+xxQ*++++Qt<

2UU	Dr:   c           	        VP                  . R
O4      pVP                  RR.RR.RR.RR..4      p\        P                  ! \        W24      RR7      pVP	                  4       pVP                  V! ^4      V! ^4      ,
          4      p\        VP                  ^^4      V4       \        VP                  RR4      V4       \        VP                  RR4      VP                  ^V,          4      4       \        VP                  RR4      VP                  V! R4      V! R4      ,
          4      4       \        VP                  R^4      VP                  V! ^4      V! ^4      ,
          V! ^4      ,           V! R4      ,
          4      4       \        VP                  R^4      VP                  V! ^4      V! ^4      ,
          V! ^4      ,           V! R4      ,
          4      4       \        VP                  R^4      VP                  V! ^4      V! ^4      ,
          V! ^4      ,           V! R4      ,
          ^V,          ,           4      4       \        VP                  ^ R4      VP                  V! ^4      V! ^4      ,
          4      4       \        VP                  RR4      VP                  V! ^4      V! ^4      ,
          4      4       \        VP                  ^ R4      VP                  V! ^4      V! ^4      ,
          ^V,          ,
          4      4       R	# r  )r   r   rP  r   r,  r   r}  )r*   r  r,   r  r8  r  r  s   &&     r.   r  )TestBPolyCalculus.test_integrate_periodic  s9   JJy!JJR3*r3i"bBC""5;JGZZ!qt,
Aq):6C,j9C,bjjZ.HIC-rzz!C&1S6//JKC+RZZ!qtad8JQsV8S-TUHf5

1Q4!A$;1#5##>?	AC0

1Q4!A$;1#5##>Z#OP	R 	Ar*BJJqtad{,CDB,bjj1!.EFAs+RZZ!qta*n8T-UVr:   c                p   VP                  ^..4      pVP                  ^ ^.4      p\        W#4      pVP                  ^ ^^4      p\        VP	                  R4      ! V4      VP                  4       ! V4      RRR7       \        VP	                  ^4      ! V4      VP                  R4      ! V4      RRR7       R# )rt   ru  rU  NrI   )r   r   rI  r   r+  r,  )r*   r  r  r,   r@  rX  s   &&    r.   test_antider_neg"TestBPolyCalculus.test_antider_neg  s    JJuJJ1v!K[[Ar"R(,a.>.>.@.D"	0Q+Q-=-=b-A"-E"	0r:   r1   N)r2   r3   r4   r5   rE  rN  rR  r  r]  r`  rd  r  rj  r  ro  r6   r7   r8   s   @r.   rF  rF  v  sG     
 ."C0(8
J@TDW00 0r:   rF  c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )TestPolyConversionsi  c                T   VP                  . RO4      pVP                  ^^.^^.^^..4      p\        W24      p\        P                  ! V4      p\        P                  ! V4      pVP                  RR.4      p\        V! V4      V! V4      4       \        V! V4      V! V4      4       R# r   rV  gffffff?Nr2  )r   r   r   rP  rO  r   )r*   r  r,   r  r   rB  r  xvs   &&      r.   test_bp_from_pp#TestPolyConversions.test_bp_from_pp  s    JJy!JJAAA/01[##B'((,ZZc
#22'2B(r:   c                   \         P                  P                  R 4      p^^r2\         P                  ! VP                  V4      4      pVP                  W2^,
          34      p\	        WT4      p\
        P                  ! V4      p\        P                  ! V4      p\         P                  ! V^ ,          VR,          ^4      p	\        V! V	4      V! V	4      4       \        V! V	4      V! V	4      4       R# rL  )
rK   r  rz  r  r   r   rP  rO  rI  r   )
r*   r  r.  ro  r,   r  r   rB  r  ru  s
   &         r.   test_bp_from_pp_random*TestPolyConversions.test_bp_from_pp_random&  s    ii##D)!1GGCJJqM"JJQ3x 1[##B'((,[[1qub)22'2B(r:   c                T   VP                  . RO4      pVP                  ^^.^^.^^..4      p\        W24      p\        P                  ! V4      p\        P                  ! V4      pVP                  RR.4      p\        V! V4      V! V4      4       \        V! V4      V! V4      4       R# rt  )r   r   r   rO  rP  r   )r*   r  r,   r  rB  r   rQ  ru  s   &&      r.   test_pp_from_bp#TestPolyConversions.test_pp_from_bp3  s    JJy!JJAAA/01[''+$$R(ZZc
#22'2B(r:   c                v   . ROp^^.^^.^^..p\        W!4      p\        \        4      ;_uu_ 4        \         P                  ! V4       RRR4       \	        W!4      p\        \        4      ;_uu_ 4        \        P
                  ! V4       RRR4       R#   + '       g   i     LS; i  + '       g   i     R# ; i)r   Nr2  )r   r(   	TypeErrorrO  r   rP  )r*   r,   r  r   rB  s   &    r.   test_broken_conversions+TestPolyConversions.test_broken_conversions>  s    VaVaV$1[9%%&&r* & 1[9%%""2& &%	 &% &%%s   B3B'B$	'B8	r1   N)
r2   r3   r4   r5   rv  ry  r|  r  r6   r7   r8   s   @r.   rr  rr    s     	))	)
' 
'r:   rr  c                      a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tRtV tR# )TestBPolyFromDerivativesiK  c                X    \         P                  ! ^ ^^.^.4      p\        VRR.4       R# )r   r@   r}   Nr   _construct_from_derivativesr   )r*   r  s   & r.   test_make_poly_1)TestBPolyFromDerivatives.test_make_poly_1L  s*    ..q!aS1#>RH%r:   c                   \         P                  ! ^ ^^^ .^.4      p\        V. RO4       \         P                  ! ^ ^^^.^.4      p\        V. RO4       \         P                  ! ^ ^^.^^.4      p\        V. RO4       R# )r   N)r   r   r   )r@   r  r   )r@   g      r   r  r*   r  r  c3s   &   r.   test_make_poly_2)TestBPolyFromDerivatives.test_make_poly_2P  sx    ..q!aVaSAL) ..q!aVaSAN+ ..q!aS1a&AN+r:   c                   \         P                  ! ^ ^. RO^.4      p\        V. RO4       \         P                  ! ^ ^^.. RO4      p\        V. RO4       \         P                  ! ^ ^^^.^^.4      p\        V. RO4       R# )r   NrH  )r   竪?g@r-  )r6  r&   rE   )r   gUUUUUU	@g
@r-  )r   r  r}   r-  r  r  s   &   r.   test_make_poly_3)TestBPolyFromDerivatives.test_make_poly_3\  su    ..q!YD12 ..q!aS)D23 ..q!aVaVD./r:   c                   \         P                  P                  R 4      p\         P                  ^ VP                  ^4      3,          p\         P                  ^ VP                  ^4      3,          p\        P
                  ! ^ ^W#4      p\	        VR,          ^ ^.4      p\        ^4       FG  p\        V! R4      W&,          RR7       \        V! R4      W6,          RR7       VP                  4       pKI  	  R# )r!  NrA   Fr  r   )rG   N)	rK   r  rz  r  r   r  r  r   r+  )r*   r  yaybr  r   r  s   &      r.   test_make_poly_12*TestBPolyFromDerivatives.test_make_poly_12i  s    ii##E*UU1cjjm#$UU1cjjm#$--aB;1W:1v&qABrFBEE:BrFBEE:B r:   c                6   \         P                  P                  R 4      p^ ^.p^^rCVP                  V^^^^34      p\        WR4      p\        P                  ! WT4      p\        Wr4      p\         P
                  ! ^ ^^4      p	\        V! V	4      V! V	4      4       R# )r!  N)rK   r  rz  r   _raise_degreerI  r   )
r*   r  r,   ro  rM  r  rB  r  rQ  r  s
   &         r.   test_raise_degree*TestBPolyFromDerivatives.test_raise_degreeu  s    ii##E*F!1JJ1aA'1[  &Bl[[Ar"2B(r:   c                L    \        \        \        P                  ^ ^.^ .4       R# r   Nr(   rv   r   rV  r`   s   &r.   
test_xi_yi#TestBPolyFromDerivatives.test_xi_yi  s    j%"8"81a&1#Fr:   c                \    . ROp^ .^ .^ ..p\        \        \        P                  W4       R# )r   Nr   r   rt   r  )r*   rL  r  s   &  r.   test_coords_order*TestBPolyFromDerivatives.test_coords_order  s*    cA3_j%"8"8"Ar:   c                X   . ROp^ ^ .^ .^ ^ .^ ^ ..p\         P                  ! W4      pVP                  P                  R8X  g   Q hVP	                  4       pR FO  p\        V! V4      \        P                  ! R4      4       \        V! V4      \        P                  ! R4      4       KQ  	  R# )r   rA   Nr*  )r6  rE   )rA   rV  r   r  gffffff?r@   rG  )r   rV  r  r  r+  r   rK   r   )r*   rL  r  r   ppdr  s   &     r.   
test_zeros#TestBPolyFromDerivatives.test_zeros  s    !fqcAq6Aq6*##B+ttzzV###mmo2BBrFBJJsO4CGRZZ_5 3r:   c                @   \         P                  P                  R 4      p\         P                  ! \	        V^,           4       Uu. uF  pRV^,          ,          NK  	  up4      p\	        V^,           4       Uu. uF  qCP                  V4      NK  	  ppWV3# u upi u upi )r  r   )rK   r  rz  r   r  )r*   r.  ro  r  r  rL  r  s   &&&    r.   _make_random_mk(TestBPolyFromDerivatives._make_random_mk  sv    ii##D)ZZE!A#J7JqadJ78%*1Q3Z0ZjjmZ0v 80s   B8Bc           	     
   ^^r!V P                  W4      w  r4\        P                  ! W44      p\        V^,          4       F;  p\	        V! V4      V Uu. uF  qwV,          NK  	  up4       VP                  4       pK=  	  R# u upi )rB   N)r  r   rV  r  r   r+  )r*   r.  ro  rL  r  r   r  yys   &       r.   test_random_12'TestBPolyFromDerivatives.test_random_12  sl    "1%%a+##B+1a4[EBrF$<2YY$<=B !$<s   B c           
         ^^r!V P                  W4      w  r4\        \        \        P                  3/ \        W4^ R7      B  R# )rB   rL  r  ordersN)r  r(   rv   r   rV  r   r*   r.  ro  rL  r  s   &    r.   test_order_zero(TestBPolyFromDerivatives.test_order_zero  s<    "1%%a+j%"8"8 	0"A.	0r:   c           
         ^^r!V P                  W4      w  r4\        P                  ! W4^V,          ^,
          R7       \        \        \        P                  3/ \        W4^V,          R7      B  R# )rB   r  r  N)r  r   rV  r(   rv   r   r  s   &    r.   test_orders_too_high-TestBPolyFromDerivatives.test_orders_too_high  sX    "1%%a+rac!e4j%"8"8 	2"AaC0	2r:   c           	        ^^r!V P                  W4      w  r4^p\        P                  ! W4VR7      p\        V^,          ^,           4       F?  p\	        V! V^R R,
          4      V! V^R R,           4      4       VP                  4       pKA  	  \        P                  ! V! V^R R,
          4      V! V^R R,           4      4      '       d   Q h^p\        P                  ! W4VR7      p\        V^,          4       F?  p\	        V! V^R R,
          4      V! V^R R,           4      4       VP                  4       pKA  	  \        P                  ! V! V^R R,
          4      V! V^R R,           4      4      '       d   Q hR# )rB   r  ru  NrI   )r  r   rV  r  r   r+  rK   allclose)r*   r.  ro  rL  r  r  r   r  s   &       r.   test_orders_global+TestBPolyFromDerivatives.test_orders_global  sU   "1%%a+ ##B59uaxz"ABr!Bx%/0"R"X5E2FGB # ;;r"Qr(U"23R1R58H5IJJJJ
 ##B59uaxABr!Bx%/0"R"X5E2FGB ! ;;r"Qr(U"23R1R58H5IJJJJJr:   c           	        ^^r!V P                  W4      w  r4\        V4       Uu. uF  qU^,           NK  	  pp\        V^R 4       F  w  rx\        P                  ! W4VR7      p	\        Wg,          ^,          ^,           4       F9  p
\        V	! VR,
          4      V	! VR,           4      4       V	P                  4       p	K;  	  \        P                  ! V	! VR,
          4      V	! VR,           4      4      '       g   K  Q h	  R# u upi )r9  r  ru  NrI   )	r  r  r;  r   rV  r   r+  rK   r  )r*   r.  ro  rL  r  or  r  r,   r   r  s   &          r.   test_orders_local*TestBPolyFromDerivatives.test_orders_local  s    "1%%a+!&q*Aa%%*b2h'DA''v>B69>A-.1u9r!e)}=]]_ / {{2a%i="QY-@@@@ ( +s   C=c                Z   \         P                  P                  R 4      p^^r2\         P                  ! VP                  V^,           4      4      pVP                  V^,           V^^^34      p\        P
                  ! WE4      pVP                  P                  ^V,          V^^^38X  g   Q hR# r  N)rK   r  rz  r  r   rV  r  r  )r*   r  r.  ro  rL  r  r   s   &      r.   test_yi_trailing_dims.TestBPolyFromDerivatives.test_yi_trailing_dims  s    ii##D)!1WWSZZ!_%ZZ1aAq)*##B+ttzzac1aA....r:   c                   \         P                  ! ^4      p\        P                  ! ^ ^.^ .^ ..VR7      p\	        V! ^ 4      \         P
                  ! ^ 4      4       \         P                  ! ^4      p\        P                  ! ^ ^.^ .^ ..VR7      p\	        V! ^ 4      \         P
                  ! ^ 4      4       ^p\        P                  ! ^ ^.^ .^ ..VR7      p\	        V! ^ 4      \         P
                  ! ^ 4      4       ^pR# )rt   r  N)rK   int32r   rV  r   r   int64)r*   r  r  s   &  r.   test_gh_5430%TestBPolyFromDerivatives.test_gh_5430  s    
 !""Aq6QC!:fEAaD"**Q-0!""Aq6QC!:fEAaD"**Q-0""Aq6QC!:fEAaD"**Q-0r:   r1   N)r2   r3   r4   r5   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r6   r7   r8   s   @r.   r  r  K  s^     &
,0
!)GB
	6!02K0
A/ r:   r  c                   \   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tRtV tR# )TestNdPPolyi  c                <   \         P                  P                  R 4      pVP                  ^^4      p\         P                  ! ^ ^^4      pVP                  ^4      p\        W#34      pV! V34      p\        VR,          W44      P                  4       p\        Wg4       R# )r  N)rG   rG   N)	rK   r  rz  r  rI  r   r  r  r   )r*   r  r  r,   rL  r  v1v2s   &       r.   test_simple_1dTestNdPPoly.test_simple_1d  s|    ii##D)HHQNKK1c"XXc]AtuX1X;.446r:   c                   \         P                  P                  R 4      pVP                  ^^^^4      p\         P                  ! ^ ^^4      p\         P                  ! ^ ^^4      ^,          pVP                  ^4      pVP                  ^4      p\         P
                  ! \        V4      ^.VP                  R7      pVP                  \         P                  4       \        P                  ! VP                  ^^*^4      W43\         P                  ! ^^.\         P                  R7      \         P                  WV3,          \         P                  ! ^ ^ .\         P                  R7      ^V4       VP!                  4       p\#        W#V3WV4      p\%        Wx4       \'        W#V34      p	R FI  p
V	! \         P                  WV3,          V
R7      p\#        W#V3WVV
R7      p\%        Wx\)        V
4      R7       KK  	  R# )r  r   Nr&  r7  )Nr   r   r   rt   )rt   r   )r&   rE   )r   r&   )rK   r  rz  r  rI  r  r  r   fillr   r   evaluate_ndrP   rT   intcc_r  _ppoly2d_evalr   r   r  )r*   r  r  r,   r+   rL  r  r  r  r  r&  s   &          r.   test_simple_2dTestNdPPoly.test_simple_2d	  sm   ii##D)HHQ1a KK1c"KK1c"A%XXc]XXc]XXs2wl!''2
199S#q1688QF"'':55=88QF"'':	 XXZ1!fb-A1v@B255=R(Bqa&"R8BBDH5 Ar:   c           
        \         P                  P                  R 4      pVP                  ^^^^^^	4      p\         P                  ! ^ ^^4      p\         P                  ! ^ ^^	4      ^,          p\         P                  ! ^ ^^
4      ^,          pVP                  ^(4      pVP                  ^(4      pVP                  ^(4      p\        W#WE34      p	R F5  p
V	! WgV3V
R7      p\        W#WE3WgWR7      p\        W\        V
4      R7       K7  	  R# )r  Nr  r7  )Nr   r   r   r   rt   r   rt   r   r   )r&   rE   r   )r8  r   r&   )	rK   r  rz  r  rI  r   _ppoly3d_evalr   r  )r*   r  r  r,   r+   r-   rL  r  zir  r&  r  r  s   &            r.   test_simple_3dTestNdPPoly.test_simple_3d	  s    ii##D)HHQ1aA&KK1c"KK1c"A%KK1c"A%XXb\XXb\XXb\A1y!BBB<B'Bqa)RR?BBDH5	r:   c           
     L   \         P                  P                  R 4      pVP                  ^^^^^^	^
^4      p\         P                  ! ^ ^^	4      p\         P                  ! ^ ^^
4      ^,          p\         P                  ! ^ ^^4      ^,          p\         P                  ! ^ ^^4      ^,          pVP                  ^4      pVP                  ^4      pVP                  ^4      p	VP                  ^4      p
\        W#WEV34      pV! WxW34      p\        W#WEV3WxW4      p\        W4       R# r  )rK   r  rz  r  rI  r   _ppoly4d_evalr   )r*   r  r  r,   r+   r-   urL  r  r  uir  r  r  s   &             r.   test_simple_4dTestNdPPoly.test_simple_4d2	  s    ii##D)HHQ1aAr2.KK1c"KK1c"A%KK1d#Q&KK1d#Q&XXb\XXb\XXb\XXb\A1|$ 1!lBB;r:   c                   \         P                  P                  R 4      pVP                  ^^4      p\         P                  ! ^ ^^4      p\        W#34      pVP                  ^.R7      p\        W#4      pVP                  4       p\        VP                  VP                  4       VP                  ^.R7      p\        W#4      pVP                  ^4      p\        VP                  VP                  4       R# )r  r  N)rK   r  rz  r  rI  r   r+  r   r   r  r,  )r*   r  r  r,   r  r  r  dp1s   &       r.   test_deriv_1dTestNdPPoly.test_deriv_1dF	  s    ii##D)HHQNKK1c"At \\aS\!1[mmocee$ !%1["cee$r:   c                
   \         P                  P                  R 4      pVP                  ^^^^^^	4      p\         P                  ! ^ ^^4      p\         P                  ! ^ ^^	4      ^,          p\         P                  ! ^ ^^
4      ^,          p\        W#WE34      p\        VP                  ^ ^^^^^4      V4      pVP                  ^.R7      pVP                  ^4      p	\        VP                  V	P                  P                  ^ ^^^^^4      4       \        VP                  ^^^ ^^^4      V4      pVP                  . ROR7      pVP                  ^4      p	\        VP                  V	P                  P                  ^^ ^^^^4      4       \        VP                  ^^^ ^^^4      V4      pVP                  . ROR7      pVP                  ^4      p	\        VP                  V	P                  P                  ^^^ ^^^4      4       R# )r  r  Nr  )r   r   rE   )rK   r  rz  r  rI  r   r   r  r+  r   r  r,  )
r*   r  r  r,   r+   r-   r  r  r  r  s
   &         r.   test_deriv_3dTestNdPPoly.test_deriv_3dZ	  s   ii##D)HHQ1aA&KK1c"KK1c"A%KK1c"A%A1y! 1;;q!Q1a0!4\\aS\!mmA1aAq9	; 1;;q!Q1a0!4+"1aAq9	; 1;;q!Q1a0!4\\Y\'mmA1aAq9	;r:   c                   \         P                  P                  R 4      p\         P                  ! R4      p\         P                  ! ^ ^^4      ^,          p\         P                  ! ^ ^^4      ^,          p\         P                  ! ^ ^^4      ^,          p\        W#WE34      pVP                  R4      pVP                  R4      pVP                  ^4      pVP                  ^4      p	VP                  ^4      p
\        V! WV
34      W^,          ,          V
^,          ,          \        ^4      \        ^4      ,          ,          4       R# )r  N)rt   rt   rt   rE   r6  rB   )rt   r   r6  )r   r&   r   )
rK   r  rz  ru   rI  r   r,  r  r   r   )r*   r  r  r,   r+   r-   r  r  rL  r  r  s   &          r.   test_deriv_3d_simple TestNdPPoly.test_deriv_3d_simpley	  s    ii##D)GG&'KK1c"A%KK1c"A%KK1c"A%A1y!i(y)XXb\XXb\XXb\BB<(U
RU*eAhuQx.?@	Br:   c                `  a
 \         P                  P                  R 4      pVP                  ^^^^4      p\         P                  ! ^ ^^4      ^,          p\         P                  ! ^ ^^4      ^,          pVP                  ^ ^^^4      pVP                  VP                  ^ ,          VP                  ^,          R4      P                  4       p\        P                  ! WS^4       VP                  VP                  4      pVP                  ^ ^^^4      pVP                  ^^^ ^4      pVP                  VP                  ^ ,          VP                  ^,          R4      P                  4       p\        P                  ! WT^4       VP                  VP                  4      pVP                  ^^ ^^4      P                  4       p\        W#V34      o
R	R	.R
R	.R	R
.RR.3 FT  pS
P                  V4      p\        V
3R lV\        RRR7      .^,          R7      w  r\        WxRRR\!        V4      R7       KV  	  R# )r  c                    < S! W34      # r   r1   )r,   r+   r  s   &&r.   <lambda>/TestNdPPoly.test_integrate_2d.<locals>.<lambda>	  s    1aV9r:   gh㈵>)epsrelepsabs)r   F)r   r   r  r   NrI   r  )r   r'   )r\  r]  )r  rW  )rK   r  rz  r  rI  r  rP   r  r{   r   fix_continuityr   r}  r!   r   r   r  )r*   r  r  r,   r+   cxrangesr  ig2err2r  s   &         @r.   test_integrate_2dTestNdPPoly.test_integrate_2d	  s   ii##D)HHQ2r"KK1d#Q&KK1d#Q& KK1a#YYqwwqz1771:r2779bQ'JJqwwKK1a#KK1a#YYqwwqz1771:r2779bQ'JJqwwKK1a#((* A1v' &))"J/1F
 V$B4f$(T$B#CA#EGICB$TE$(L21r:   c           	     b   \         P                  P                  R 4      pVP                  ^^^^^^4      p\         P                  ! ^ ^^4      ^,          p\         P                  ! ^ ^^4      ^,          p\         P                  ! ^ ^^4      ^,          p\        W#WE34      pVP                  ^4      pVP                  ^4      pRRrVP                  W^ R7      pVP                  R4      p\        V! Wx34      V! WV34      V! WV34      ,
          4       VP                  W^R7      pVP                  R4      p\        V! Wx34      V! WzV34      V! WyV34      ,
          4       VP                  W^R7      pVP                  R4      p\        V! Wx34      V! WxV
34      V! WxV	34      ,
          4       R# )r  rW  r]  rl   Nr  r  r  )	rK   r  rz  r  rI  r   integrate_1dr,  r   )r*   r  r  r,   r+   r-   r  r  vr=  r@  pxpaxpypaypzpazs   &                r.   test_integrate_1dTestNdPPoly.test_integrate_1d	  sy   ii##D)HHQ1b"b)KK1d#Q&KK1d#Q&KK1d#Q& A1y!HHSMHHSMC1^^Aq^)y)A6
Cq	NS!^$CD^^Aq^)y)A6
Cq	NS!^$CD^^Aq^)y)A6
Cq	NS!^$CDr:   c                T  a \         P                  P                  R 4      oSP                  RR7      p\         P                  ! ^ ^^4      p\         P                  ! ^ ^^	4      ^,          p\         P                  ! ^ ^^
4      ^,          p\        WW434      pV3R lp\        ^
We4       R# )r!  rr  c                    < SP                  ^(R7      pSP                  ^(R7      pSP                  ^(R7      pV! W#V34       R# )(   rr  N)r  )r  rK  rL  r  r  r  s   &&   r.   r  /TestNdPPoly.test_concurrency.<locals>.worker_fn	  s?    "%B"%B"%Br:   N)r6  rB   r8  r9  r   r   )rK   r  default_rngr  rI  r   r    )r*   r  r,   r+   r-   r  r  r  s   &      @r.   r  TestNdPPoly.test_concurrency	  s    ii##E*KK/K0KK1c"KK1c"A%KK1c"A%A1y!	 	 I1r:   r1   N)r2   r3   r4   r5   r  r  r  r  r  r  r  r  r
  r  r6   r7   r8   s   @r.   r  r    s?      6:6( (%(;>B(2BE42 2r:   r  c                  a aa \         P                  ! \        V4      S P                  ^,          34      p\	        V4       F  w  rEV^ 8  g   V^8  d   \         P
                  W4R3&   K)  \         P                  ! W4      ^,
          oWQS,          ,
          oVS,          Tu;8:  d   VS^,           ,          8  g   Q h Q h\        V VV3R l\        S P                  ^ ,          4       4       4      pWcVR3&   K  	  V# )z&Evaluate piecewise polynomial manuallyrG   c              3      <"   T F=  pSVS3,          SSP                   ^ ,          V,
          ^,
          ,          ,          x  K?  	  R# 5ir  )r  )r  ro  r  rM  r  s   & r.   r   _ppoly_eval_1.<locals>.<genexpr>	  s=      ,*A !A#QWWQZ\!^,,,*s   AA)	rK   zerosr  r  r;  r   searchsortedsumr  )	r  r,   xpsrk  r  r  r  rM  r  s	   f&&    @@r.   r  r  	  s    
((CHaggaj)
*C36R!VvvC!HOOA"Q&1Itr"AacF""""" ,qwwqz*, ,AaC   Jr:   c                   V^ ,          pVR,          pV P                   ^ ,          p\        P                   ! V4      p\        P                  ! V4      p\        P                  ! V4      pW$8  W%8*  ,          p	W8V	( &   VP	                  V	4      p
\        P
                  ! W4      ^,
          pVP                  ^ \        V4      4      pT pWP                  V4      ,
          p\        P                  ! WR7      p\        P                  ! \        \        V
4      4       Uu. uF1  p\        P                  ! WR3,          VRW,          3,          4      NK3  	  up4      pVW&   VP                  V4      pV# u upi )z4Evaluate piecewise polynomial manually (another way))NrG   rI   )r  rK   r  
empty_likecompressr  clipr  takevanderrT   r  r|  rP   )r  breaksr   r  r=  r@  K	saveshaper/  maskrX  indxsr   r{  Vro  valuess   &&&&             r.   r  r  	  s   q	Ar
AQAI88D>D
--
CI$)$DJ	t	BOOF')EJJq#f+&E	BE""D
		$AXXs2wPArvva1gr!UX+7PQFCI
++i
 CJ Qs   7E.c                    V^ 8  d   \        R4      hW!8  d   ^ # \        W,
          ^,           V4      WV,
          ,          ,          # )z
d^n (x**y) / dx^n
zinvalid derivative order)rv   r   )r,   r+   r>  s   &&&r.   _dpowr(  
  s=     	1u344	
AEAIq!AAJ..r:   c                   Vf   Rp\         P                  ! \        V4      3V P                  R7      pV P                  R,          w  rg\        \        W#4      4       EF  w  pw  rV^ ,          ^ ,          T	u;8:  d   V^ ,          R,          8:  d1   M M-V^,          ^ ,          T
u;8:  d   V^,          R,          8:  g   M \         P                  WX&   Kx  \         P                  ! V^ ,          V	4      ^,
          p\         P                  ! V^,          V
4      ^,
          pW^ ,          V,          ,
          pW^,          V,          ,
          p^ p\        V P                  ^ ,          4       F  p\        V P                  ^,          4       Fc  pWVV,
          ^,
          VV,
          ^,
          W3,          \        VVV^ ,          4      ,          \        VVV^,          4      ,          ,          pKe  	  K  	  WV&   EK  	  V# )z8
Straightforward evaluation of 2-D piecewise polynomial
r   :Nr&   Nr  rI   rK   r  r  r   r  r;  zipr   r  r  r(  )r  r  r   ynewr&  rk  nxnyjoutr,   r+   j1j2s1s2r  k1k2s   &&&&&             r.   r  r  
  s{    
z
((CI<qww
/CWWR[FB!#d/2fqAqQ+"Q%)+AqQ+"Q%)+CI__RUA&*__RUA&*Ar]Ar]
#BAGGAJ'"R%'"R%'"/0B1./B1./ 0 ( $ D	) 3, Jr:   c                j   Vf   Rp\         P                  ! \        V4      3V P                  R7      pV P                  R,          w  rxp	\        \        W#V4      4       EFP  w  p
w  rpV^ ,          ^ ,          Tu;8:  d   V^ ,          R,          8:  d_   M M[V^,          ^ ,          Tu;8:  d   V^,          R,          8:  d1   M M-V^,          ^ ,          Tu;8:  d   V^,          R,          8:  g   M \         P                  Wj&   K  \         P                  ! V^ ,          V4      ^,
          p\         P                  ! V^,          V4      ^,
          p\         P                  ! V^,          V4      ^,
          pW^ ,          V,          ,
          pW^,          V,          ,
          pW^,          V,          ,
          p^ p\        V P                  ^ ,          4       F  p\        V P                  ^,          4       F  p\        V P                  ^,          4       F  pVWV,
          ^,
          VV,
          ^,
          V	V,
          ^,
          WV3,          \        VVV^ ,          4      ,          \        VVV^,          4      ,          \        VVV^,          4      ,          ,          pK  	  K  	  K  	  VWj&   EKS  	  V# )z8
Straightforward evaluation of 3-D piecewise polynomial
r   :NrE   Nr  rI   r*  )r  r  r   r,  znewr&  rk  r-  r.  nzr/  r,   r+   r-   r0  r1  j3r2  r3  s3r  r4  r5  k3s   &&&&&&                  r.   r  r  2
  s    
z
((CI<qww
/CJBB$ST%:;iqQAqQ+"Q%)+AqQ+"Q%)+AqQ+"Q%)+CI__RUA&*__RUA&*__RUA&*Ar]Ar]Ar]
#BAGGAJ'
+BAeAgbeAgbeAgbB>?#BBqE23#BBqE23 $BBqE23 4C , ( $ 	1 <4 Jr:   c                   Vf   Rp\         P                  ! \        V4      3V P                  R7      pV P                  R,          w  rr\        \        W#WE4      4       EF
  w  pw  rppV^ ,          ^ ,          Tu;8:  d   V^ ,          R,          8:  d   M MV^,          ^ ,          Tu;8:  d   V^,          R,          8:  d_   M M[V^,          ^ ,          Tu;8:  d   V^,          R,          8:  d1   M M-V^,          ^ ,          Tu;8:  d   V^,          R,          8:  g   M \         P                  W|&   K  \         P                  ! V^ ,          V4      ^,
          p\         P                  ! V^,          V4      ^,
          p\         P                  ! V^,          V4      ^,
          p\         P                  ! V^,          V4      ^,
          pW^ ,          V,          ,
          pW^,          V,          ,
          pW^,          V,          ,
          pVV^,          V,          ,
          p^ p\        V P                  ^ ,          4       EF   p\        V P                  ^,          4       F  p\        V P                  ^,          4       F  p\        V P                  ^,          4       F  pVWV,
          ^,
          V	V,
          ^,
          V
V,
          ^,
          VV,
          ^,
          VVVV3,          \        VVV^ ,          4      ,          \        VVV^,          4      ,          \        VVV^,          4      ,          \        VVV^,          4      ,          ,          pK  	  K  	  K  	  EK#  	  VW|&   EK  	  V# )z8
Straightforward evaluation of 4-D piecewise polynomial
r   :Nr6  N)r   r   r   r   rI   r*  )r  r  r   r,  r7  unewr&  rk  mxmymzmur/  r,   r+   r-   r  r0  r1  r9  j4r2  r3  r:  s4r  r4  r5  r;  k4s   &&&&&&&                       r.   r  r  Z
  s    
z
((CI<qww
/CWWR[NBB'D(CDlqQAqQ+"Q%)+AqQ+"Q%)+AqQ+"Q%)+AqQ+"Q%)+CI__RUA&*__RUA&*__RUA&*__RUA&*Ar]Ar]Ar]Ar]
#BAGGAJ'
+B#AGGAJ/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 , ( $ 	; E> Jr:   r   )Bscipy._lib._array_apir   r   r   r   r   r~  r   r(   numpyr	   r
   r   r   rK   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$   r<   r  r  r  rR  r  r4  rZ  r   rF  rr  r  r  r  r   r  r(  r  r  r  r1   r:   r.   <module>rN     s    +  ( ( - - - - & $ ; 9 ! ;;// KK11  U Up6 6 &'s* s* (s*l $79J#KL: M:, 5% `L `L !`LF,& ,&^ 5}E }E }E@ 5H= H= H=V 5_0 _0 _0D 5% .' .' !.'bd dNf2 f2R  .0VV .	/!H%P*r:   