+
    nDj                    n   ^ RI HtHtHtHtHtHtHt ^ RI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( ^ R
I)H*t* ^ RI+H,t, ^ RI#H-t- ]P\                  P^                  t/]P\                  P`                  t0 ! R R4      t1 ! R R4      t2 ! R R4      t3]! ]4       ! R R4      4       t4]P\                  Pk                  R]]".4      R 4       t6]! ]]4       ! R R4      4       t7 ! R R4      t8]! ]4       ! R R4      4       t9]! ]4       ! R R4      4       t:]! ]4       ! R R 4      4       t;]! ]]4       ! R! R"4      4       t<]! ]4       ! R# R$4      4       t= ! R% R&4      t>R' t?]P                  3R( ltAR) tBR-R* ltCR-R+ ltDR-R, ltER# ).    )xp_assert_equalxp_assert_closeassert_almost_equalassert_array_almost_equalmake_xp_test_caseis_cupy_xp_copy_to_numpy)array_api_extra)raisesN)mgridpisinpoly1d)interp1dinterp2dlagrangePPolyBPolysplrepsplev
splantidersplintsprootAkima1DInterpolatorNdPPolyBSplinePchipInterpolator)pochgamma)_ppoly)assert_deallocated)_run_concurrent_barrier)nquad)binomc                   &   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   &   b/data/cameron/venvs/s3viz/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__r1   __static_attributes____classdictcell____classdict__s   @r0   r&   r&      s          r&   c                   V  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 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 R t!R t"R t#R  t$R! t%R" t&]'PP                  PS                  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(   
   )rF   r(   )r(   r(   rD   )r(      rD   )rG   r(   rD   NNNr   )rI   )r   rI   )rK   rI         Y)nparangex5x10y10reshapex25x2y2arrayx1y1y210y102y225y25y235y325y210_edge_updatedy102_edge_updated
fill_valuer,   s   &r0   setup_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ri   ra   ri   axisra   rm   rC   N)	rf   
nearest-upzerorg   slinear	quadraticcubicpreviousnextrK   )rK      )rK   )rK   rK   )rK   rK   rK   r3   )r   rP   rQ   rM   rV   rY   rT   onesr*   
ValueErrorrS   rU   rZ   rW   rX   r,   ri   s   & r0   test_validationTestInterp1D.test_validationR   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      @ra   rn   N)      ?rB   )r   rP   rQ   r}   r~   rM   isnanra   rm   rY   rZ   r   r.   r-   rb   s   &r0   	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_sortedTrI   rK   g333333@gffffff@      @)	r   rP   rQ   r   rM   rV   r*   rx   rY   )r,   interp10interp10_unsortedinterp10_assume_kwinterp10_assume_kw2interp10_y_2dinterp10_y_2d_unsorteds   &      r0   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# )rg   N)rg   rq   )_check_linearry   s   & r0   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# )rh   r   rj   rk   +=rtolTri   ra   r~   Nr         r   	      )r   rP   rQ   r   rM   rV   r   asarraydictr*   rx   )r,   ri   r   extrapolatoroptss   &&   r0   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# )   dtyperg   rh   V瞯<atolNr   rv   r(   )
rM   float16float32float64
longdoublerN   r   r   r   nan)r,   dtypr.   r-   yps   &    r0   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                  ! R R.4      p\         P                  ! RR.RR..4      p\        W4      ! V4      p\        W2RR7       \         P                  ! V^ 8  4      '       g   Q hR# )g`{jtH?gMb`?rC   gfxK;?g#B;r   N)rM   rV   r   r   all)r,   r.   r-   r   s   &   r0   test_linear_numerical_stability,TestInterp1D.test_linear_numerical_stability   sc     HH(%01HHsCj#8#">?@a^AE*vvbAg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	# )rq   r   r   Fri   r~   Hz>z,  )r   check_dtypeerr_msgN)rq   rp   rr   rs   )rM   r   r   r   	complex64
complex128rN   expastyper   r   )r,   dt_rdt_rcspline_kindsdtxr.   dtyr-   dtnxnewri   fs   &           r0   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# )rs   rh   r         ?Nr   r   rP   rQ   r   rM   rV   r,   r   s   & r0   
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# )rf   rh   r   r   r   rj   rk   r   r   Tr   Nr   rB   r   r   r   rC   r   r   r   
r   rP   rQ   r   rM   rV   r   r   r*   rx   r,   r   r   r   s   &   r0   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# )ro   rh   r   r   r   rB   rj   rk   r   r   Tr   Nr   r   r   r   r   r   s   &   r0   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# )rt   rh   r   r   r   rj   rk   r   r   rl   Tr   ri   ra   r   FNr   rB   r@   r   r   rK   rK   rD   r         r   rD   r   r   r   rv   rK   r   rK   r   rv   r(   rG   rD   r(   r   rv   rK   r   rv   rJ   r   rP   rQ   r   rM   rV   r   r   rY   rZ   r   r*   rx   r_   r`   r,   r   r   interpolator1Dinterpolator2Dinterpolator2DAxis0r   s   &      r0   test_previousTestInterp1D.test_previous>  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# )ru   rh   r   rB   r   rj   rk   r   r   rl   Tr   r   FNr   )r   r   r   r   rK   r   r   r   r   r   r   r   r   r   s   &      r0   	test_nextTestInterp1D.test_next  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# )rp   rh   r   r   r   Nr   r   r   r   s   & r0   	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*   rx   str)r,   interpolant
test_array
fail_valueerrs   &&&& r0   bounds_check_helper TestInterp1D.bounds_check_helper  s?     	j+:	1
# 	1!ls3x/0/	1s    AA  Arg   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)ra   r~   ri   gffffff&@g333333)@gL3@)check_shape      &@T)r~   ri         5@Ng333333r   )r   rC   r@         "@r  )TFFFF)FFFFT)rC   r   rC   )rC   r   r  )rC   r@   r  )	r   rP   rQ   ra   r   rM   rV   _check_boundsr   )r,   ri   extrap10raises_bounds_errors   &&  r0   _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# )rF   Fr   NrK   )	rM   rN   r   intr   r   r   r   r_)r,   ri   r.   r-   cyis   &&    r0   _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# )rg   N)rg   rs   rf   rt   ru   rq   rp   rr   )r  r  ry   s   & r0   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@)ri   rm   ra   r~   ,  c              3   N   "   T F  p\         P                  ! V4      x  K  	  R # 5ir   )rM   rV   ).0r   s   & r0   	<genexpr>1TestInterp1D._check_fill_value.<locals>.<genexpr>a  s     "C
1288A;;
s   #%i  i  N)r  r  rL   rK   )r     r  8)r  r  r  ii0)r   rP   rQ   r   rM   r   r]   r^   r[   r\   rO   ndimshaper*   rx   rV   rangetuple)r,   ri   interpr-   resultra   iis   &&     r0   _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# rg   N)rg   rf   rs   rq   rr   rp   rt   ru   )r&  ry   s   & r0   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   rP   rQ   ra   )r,   r#  s   & r0   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# )rh   r   r@   rB         @r   r   r        (@rm   ri   r   g      *@g      .@g      1@rA         @g      ,@Nr3   )r   rP   rQ   r   rM   rV   
isinstancendarrayr   rY   rZ   )r,   ri   r   	interp210	interp102x_news   &&    r0   _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# )   r2  r   r1  N)r<  rD         )r(   rG   rv   )
rM   rN   prodrR   	enumerater   r   listr   r"  )
r,   ri   ar-   nsr.   r/   rT   bs
   &&        r0   _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# )rg   N)rg   rs   rq   rr   rf   rp   rt   ru   )r9  rG  ry   s   & r0   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# )rv   rh   N)
rv         @rG   g@r<  g@g@g       @g      #@rF         ?       @rK   )rM   rV   r   r   r   linspacerealimag)	r,   r   ri   r.   r-   r  xicrcis	   &&&      r0   _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)  )rU  rM   r   r   ry   s   & r0   test_complexTestInterp1D.test_complex  s6    1Dd3t41r<   c                    \         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)rM   rO  r!   r   )r,   r.   r-   r#  s   &   r0   test_circular_refsTestInterp1D.test_circular_refs  sO    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# )rf   r   rh   N)rf   rt   ru   )r   2      )rM   rV   int8r   r   )r,   ri   r.   r%  s   &   r0   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# )rF   rh   g@r0  N)rp   rq   )	rM   rN   r   floatr}   r   r   isfiniter   )r,   r.   r-   ri   irvalss   &     r0   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   rh   N)rr   rs   )rM   rN   r   rf  r}   r   r   r   r   r   r   )
r,   r.   r-   ynri   rh  irnr   outoutns
   &         r0   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)rF   rs   rh   N)rM   rw   r   rN   r*   rx   r   )r,   r.   r-   s   &  r0   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   r[  Frh   NTF)rg   rf   rp   rq   rr   rs   )rM   rN   r   flags	writeabler   rg  r   )r,   r.   r-   r   xnew_writeableri   r   ri  s   &       r0   test_read_onlyTestInterp1D.test_read_only,  s    IIaFFA28yyAs#+N#1JJ  %AGG"Q-w{{4(,,....	" ,r<   ri   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)ri   r~   ra   rB   Tr   zx_new is abovematchNrE   )rv   r   r(   )rB   r>  rF   )r   r   rM   r   r*   rx   )r,   ri   r   s   && r0   test_single_valueTestInterp1D.test_single_value:  sl    
 cUQCd ')+

<(@AcUQCd>:-=>>cF ?>>>s   '	A::B	)ra   rW   rP   rT   rS   rO   rX   rQ   rZ   r`   rU   rY   r_   r[   r]   r\   r^   N)rg   )rg   rf   ro   rt   ru   )-r4   r5   r6   r7   rc   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r&  r*  r-  r9  rG  rJ  rM   r   rU  rX  r]  rc  rj  rq  rt  r{  pytestmarkparametrizer  r8   r9   r:   s   @r0   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0	+/$)/ [[Gr<   r>   c                   &   a  ] tR tRt o R tRtV tR# )TestLagrangeiH  c                X   \        . RO4      p\        P                  ! \        VP                  4      4      pV! V4      p\
        P                  ! \        RR7      ;_uu_ 4        \        W#4      pRRR4       \        VP                  XP                  4       R#   + '       g   i     L2; i)rD   z
`lagrange`r~  N)rD   r(   rv   r<  rG   )
r   rM   rN   lencoeffsr  warnsDeprecationWarningr   r   )r,   pxsyspls   &    r0   test_lagrangeTestLagrange.test_lagrangeJ  sh    ;YYs188}%rU\\,LAA"B B!!((2995 BAs   #BB)	r3   N)r4   r5   r6   r7   r  r8   r9   r:   s   @r0   r  r  H  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# )TestAkima1DInterpolatoriS  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# )rC   r  r   NrC   rB   r   r   rB   r         @r  g@ffffff@r   rC   r)   r   r   rM        @g      @r  g      @g@g333333!@g#@rA   rC   g      ?rB   r   g     @?g     @g.袋@g^@gn @gGNB@grcߖ@g	I@r   rN   r   r   r   r   r,   xpr.   r-   akrR  r  s   &&     r0   	test_eval!TestAkima1DInterpolator.test_evalU  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# )	rC   r  r   makimamethodNr  r  )rC   gF??rB   g?g?gg{'@g>J(j@g?@gq@g@g9~@go
@r   r  r  s   &&     r0   test_eval_mod%TestAkima1DInterpolator.test_eval_modd  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# )	rC   r  r   rB   rn   Nr  r  r  )rN   r   r   stackr   r   r  s   &&     r0   test_eval_2d$TestAkima1DInterpolator.test_eval_2dw  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# )rC   r  rB   r   r3  Nr  )r   r(   r(   rI   r   r   rI   rv   r   rI   r   rv   rI   rv   rv   r  )   r(   r(   r  )rM   rN   rV   emptyr   r   )r,   r.   y_r-   r  rR  r  yi_s   &       r0   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# )rC   r   r   r)   N)rm   rj   g?g333333?)r   r   r   r   )r,   r  r.   r-   akimas   &&   r0   $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# )rC   r   rB   r   r3  rn   r)   r   N)r)   r   r   rB   )r   rB   r   r3  )r   r  r   r   r   Tr  s   &&     r0   $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# )rC   rB   r   r   r3  r)   rn   N)r(   r(   r(   r  r  r  r  )rM   rN   rV   r  r   r   	transpose)r,   r.   r  r-   r  r  r  rR  s   &       r0   $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   &&     r0   %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)rC   r  z9Extending a 1-D Akima interpolator is not yet implementedr~  Nr  )rM   rN   rV   r   r  r   r+   extend)r,   r.   r-   r  r  s   &    r0   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)rC   r  z `method`=invalid is unsupported.r~  invalidr  Nr  )rM   rN   rV   r  r   r+   r   )r,   r.   r-   r  s   &   r0   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# )rD   Trj   FNr   r   :r   r<  Nr  rK   )rM   rO  r   r   r   fullr   )r,   r.   r-   x_exty_extak_trueak_falseak_nones   &       r0   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# )rv   g    .Ar)   r  r  r  N)
rM   rN   sqrtfinforf  max	heavisider   rg  r   )r,   r.   r-   ak1ak2y_eval1y_eval2s   &      r0   test_no_overflow(TestAkima1DInterpolator.test_no_overflow  s    IIa%,,--bll1Q3.DD!!x8!!w7a&a&{{7#'')))){{7#''))))r<   r3   N)r4   r5   r6   r7   r  r  r  r  r  r  r  r  r  r  r  r  r8   r9   r:   s   @r0   r  r  S  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)rC   r  y               @zreal valuesr~  Nc                     \         P                  ! R^^4      pV^,          p\         P                  ! R^
^4      p\        WRR7      pR p\        ^
WTV4       R# )rD   Tr  c                     V! V4       R # r   r3   )_r  r  s   &&&r0   	worker_fn9test_complex.<locals>.test_concurrency.<locals>.worker_fn  s	    uIr<   Nr  r  )rM   rO  r   r"   )r,   r.   r-   r  r  r  s   &     r0   test_concurrency&test_complex.<locals>.test_concurrency  sN    KKAr"qDCR( 48	 	 I59r<   r  )rM   rN   rV   r  r   rx   )r  r.   r-   msgr  s   &    r0   rX  rX  
  s`     			"cA
ABA	BqDA
C	z	-	-q 
.
: 
.	-s   &	A<<B	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# )TestPPolyCommoni!  c                    VP                  ^^.^^.^^..4      pVP                  . RO4      p\        \        \        W#4       \        \        \        W#4       R# )rv   N)r   rv   r)   )r   r*   rx   r   r   )r,   r  r  r.   s   &&  r0   test_sort_checkTestPPolyCommon.test_sort_check$  sI    JJAAA/0JJ{#j%.j%.r<   c           	         \        \        4      ;_uu_ 4        \        VP                  ^^.4      VP                  ^ ^.4      4       RRR4       R#   + '       g   i     R# ; i)rv   N)r*   rx   r   r   r,   r  s   &&r0   test_ctor_cTestPPolyCommon.test_ctor_c*  s@    :&&"**aV$bjj!Q&89 '&&&s   /A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# )  NrF   NrF   NNNrI   :Nr   N.rI   :r   NN.rI   r  .rI   r  .)rM   randomseeduniquer  randr  r   r   r   r  r   r  r.   )	r,   r  orderr.   r  clspppp2pp3s	   &&       r0   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  rv   NNr  F)endpointN)
rM   r   r  rO  r   r  r   r   r  r   )r,   r  r.   r  rT   c2r  pp1r  pp_combxi1xi2s   &&          r0   test_extend_diff_orders'TestPPolyCommon.test_extend_diff_ordersG  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  )rM   r   r  sortuniformr  r   r   r   r   r  r   r  r.   )	r,   r  r  r.   r  r  r  p1p2s	   &&       r0   test_extend_descending&TestPPolyCommon.test_extend_descending`  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       VP                  \         P                  P	                  ^^^^^4      4      pVP                  \         P
                  ! \         P                  P	                  ^4      4      4      pVP                  \         P                  P	                  ^^4      4      p\        \        3 F$  pV! W#4      pV! V4      P                  R8X  d   K$  Q h	  R# )r  N)rG   r<  rD   r>  r?  )	rM   r   r  r   r  r  r   r   r   )r,   r  r  r.   x_pr  r  s   &&     r0   
test_shapeTestPPolyCommon.test_shapew  s    
		tJJryy~~aQ156JJrwwryy~~b123jj1-.5>CA	AS6<<?222 "r<   c           
     J   \         P                  P                  R 4       \         P                  P                  ^^^^^4      p\         P                  ! \         P                  P                  ^4      4      p\
        \        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)   r[  r\  皙?r   N).r   r   r   r3   )rM   r   r  r  r  r   r   r   rV   r*   rx   object)r,   r  r.   r  r  s   &    r0   test_shape_scalars"TestPPolyCommon.test_shape_scalars  s    
		tIINN1b!Q*GGBIINN2&'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   r3   )r  r#  xpps   &&&r0   r  3TestPPolyCommon.test_concurrency.<locals>.worker_fn  s	    sr<   N)	rM   r   r  r  mapr   r   r   r"   )r,   r  r  r.   r&  r  r#  r  s   &&      r0   r   TestPPolyCommon.test_concurrency  s    IINN1b!Q*GGBIINN2&'iinnQ"

Q3K0	c5>CYF $B	3? "r<   c           
        \         P                  P                  R 4       VP                  \         P                  ! \         P                  P                  ^4      4      4      pVP                  \         P                  P                  R4      R,          4      pVP                  V4      VP                  V4      rTVP                  \         P                  P                  ^4      4      p\        \        3 Fq  pV! W24      V! WB4      V! WR4      rpR FQ  p\        VP                  V! Wk4      4      V	! Wk4      4       \        VP                  V! Wk4      4      V
! Wk4      4       KS  	  Ks  	  R# )90  N)r   r   y      ?333333?r   )
rM   r   r  r   r  rP  rQ  r   r   r   )r,   r  r.   r  c_rec_imr  r  r  p_rep_imnus   &&          r0   test_complex_coef!TestPPolyCommon.test_complex_coef  s    
		uJJrwwryy//345JJryy''0I>?WWQZdjj))!,-5>CIs4|S\TA#
 3T#]C#
 3T#]C   "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+  rn   N)r  r.   rm   )rv   r(   r   rv   r(   rG   )rK   r<  rD   r>  )rM   r   r  r  r   r   r  r   r   r  
derivativeantiderivativerm   r*   rx   r   )r,   r  r  c_sr&  rm   mr.   r  r  res
targ_shaper  s   &&           r0   	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<   r3   N)r4   r5   r6   r7   r  r  r  r  r  r  r"  r  r1  r;  r8   r9   r:   s   @r0   r  r  !  sA     /:
*042'.3V@ 
D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  r3   Nr4   r5   r6   r7   r8   r3   r<   r0   Pr@        r<   rB  c                       ] tR tRtRtR# )TestPolySubclassing.Bi  r3   NrA  r3   r<   r0   BrE    rC  r<   rF  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  )r<  r(   )rM   r   r  r  rB  rF  )r,   r.   r  s   &  r0   _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   )rH  r5  	__class__r6  )r,   r  bpr  pdppas   &     r0   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  rE  N)rM   r   r  r  r  r  r  r   rB  from_splinerK  )r,   r.   r-   splr  s   &    r0   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   )rH  rB  from_bernstein_basisrK  rF  from_power_basis)r,   r  rL  r  bp1s   &    r0   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   )rF  from_derivativesrK  )r,   r.   r-   rL  s   &   r0   test_from_derivatives)TestPolySubclassing.test_from_derivatives  sB    S1#sOVV$$Q*||tvv%%%r<   r3   N)r4   r5   r6   r7   r   rB  r   rF  rH  rO  rV  r\  r`  r8   r9   r:   s   @r0   r>  r>    s;     E E *-&'& &r<   r>  c                     a  ] tR tRt o R tR tR t]! ]R34      R 4       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34      R 4       t]! ]R34      R 4       t]! ]R3]R34      R 4       t]! ]R34      R 4       t]! ]R3]R34      R 4       t]! ]R3]R34      ] ! RRR 7      R! 4       4       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# )rv   333333?r   ffffff?Nr   r)   rv   Q@p=
ף@r   r   r   r   r,   r  r  r.   r  s   &&   r0   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# )rv   periodicr  g?r   Nrg  rh  333333ӿri  g@gffffff@rj  rk  s   &&   r0   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# )rv   ro  r  Nrg  )r   r[  r\  rw  )rM   rV   r   rx  ry  rg  r   )r,   r  r.   r   ry  r   ri  s   &      r0   r{  TestPPoly.test_read_only  s    HHq!fq!fq!f-.HH[!xx&a
+&I )GG )GGaAT7D;;t$((**** 'r<   rootsc           	        R  p\         P                  P                  ^ 4      p^pR	 EF  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
Wy,          p\         P                  ! V
P                  V4      pW,          p\        VP                  W}V34      w  r}p\        WvRR7      p\        VP                  VRR7      VP                  VRR7      RR7      pVP                  VP	                  R^^d4      4      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       F  w  pp\        VP                  VV34      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       K  	  VP#                  4       pVP#                  4       p\        VVP                  V4      RR7       EK  	  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,          # )rv   NrK   )rM   rN   rR   r$   )powerrD  krF  s   &   r0   binom_matrix/TestPPoly.test_descending.<locals>.binom_matrix!  sR    		%!)$,,R3A		%!)$AaATrT4R4Z= r<   sizeNTr  rn   vIh%<=r   -q=rF         r   )NrI   rK   r  rD   r(   )rM   r   RandomStater  r  diffrN   dotr  r(  r   r   flipr   r5  r6  	integrateru  )r,   r  rz  rngrx  r8  r.   cahh_powersrF  capcdpcdparM  x_testpa_dpd_dpa_ipd_irC  rF  int_aint_droots_droots_as   &&                         r0   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BJJ4IBAr$/Brwwrw+RWWQRW-@dSBZZCS 9:FBvJ6
?BvqM2fa=uE==?D==?DDL$v,UC
 $$&D$$&DCV412::1v.1Q*Q*u59Q$q' 147T!W3D%*, 5 hhjGhhjGGRWWW%5EBBO 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# )r>  re  r(   NNNrg  rD   r>  rD   r(   rv   r(   rG   )r?  r(   rv   r(   rG   )
rM   r   r  rV   r   r.   r   r  r5  r6  )r,   r  r  r.   r  dpips   &&     r0   test_multi_shapeTestPPoly.test_multi_shapeS  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                  ! VP                  V4      VP                  V4      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# )r  r   re  rf  Nrg  rh  ri  )
rM   r   r  rV   rf  r   construct_fastr   r   r   rk  s   &&   r0   test_construct_fastTestPPoly.test_construct_fastc  s    
		tHHq!fq!fq!f-U;HH[!  A

1>#

+?rzz
 RScFBJJ?rzzJR	
r<   c                .   \         P                  P                  R 4      pVP                  ^^^4      p\         P                  ! \         P
                  ^ VP                  ^4      ^3,          4      p\         P
                  R,          p\        VP                  W4V34      w  rgp\        Wg4      p	VP                  \        W4V4      4      p
\        V	! V4      V
4       VP                  \        VR,          WE4      4      p
\        V	! V4      R,          V
4       R# )r  N)re  r)   gQ?333333?)rI   rI   r   rH   )rM   r   r  r  r  r  r(  r   r   _ppoly_eval_1r   _ppoly_eval_2)r,   r  r  c_npx_npx_p_npr  r.   r  r  expecteds   &&         r0   #test_vs_alternative_implementations-TestPPoly.test_vs_alternative_implementationsm  s    ii##D)xx2r"wwruuQa/01*+

T$89	c!K::mD?@#)::mDM4HI#th/r<   c                4   \         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      r\        P                  ! WV34      p
\         P                  ! ^ ^^4      pVP                  V4      p\        V
! V4      VP                  \        WWg34      4      4       \        WV4      p\        P                  ! V4      p\        V! V4      V! V4      4       R FC  p\        WWR7      p\        P                  ! V4      pVP                  VP                  8X  d   KC  Q h	  R# )r  rS  Nr  )NTF)rM   r   r  r  r  r  r  r   r   r   rT  rO  r   r   r   rj   )r,   r  r  r.   r-   t_npr  ry  tr  r  xi_nprR  rF  pppextrapr  s   &&               r0   rV  TestPPoly.test_from_spline}  s9   ii##D)GGBEE!SXXb\1,-.HHSVqq)Azz$D!11ay)Aq#&ZZ2

5t+H IJ A!"B2' *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# rR  )rM   r   r  r  r  r  r  r   r   r   r   rT  rO  r   )r,   r  r  r.   r-   r  r  ry  rU  r  rR  s   &&         r0   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)r<  rG   r(   rv   )r   r>  r(   )	rM   r   r  r   r  r   r   r5  r  )	r,   r  r  dcddcr.   r  dppddpps	   &&       r0   test_derivative_simple TestPPoly.test_derivative_simple  s    
		tJJ~&((ZZ(**jj5%.)*,,JJ1v1[BlS}))3551a(**DFF3r<   c                V   \         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      r\        P                  ! WV34      p
\         P                  ! ^ ^^4      pVP                  V4      p\        ^ ^4       F0  p\        V
! W4      VP                  \        WWg3V4      4      4       K2  	  R# rR  )rM   r   r  r  r  r  r  r   r   r   rT  rO  r!  r   r   )r,   r  r  r.   r-   r  r  ry  r  r  r  r  rR  dxs   &&            r0   test_derivative_evalTestPPoly.test_derivative_eval  s    ii##D)GGBEE!SXXb\1,-.HHSVqq)Azz$D!11ay)Aq#&ZZ1+BBrJ

5tQS3T(UV 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      r\        P                  ! WV34      p
VP                  ^ ^^4      p\        ^ ^
4       F/  p\        V
! W4      V
P                  V4      ! V4      RV 2R7       K1  	  R# )r  rE  ry  dx=r=  N)rM   r   r  r  r  r  r  r   r   r   rT  rO  r!  r   r5  )r,   r  r  r  y_npr  r  ry  r  r  r  rR  r  s   &&           r0   rO  TestPPoly.test_derivative  s    ii##D)wwruuQa/01xxD	"tQ!4Azz$D!11ay)[[As#2,BBrJb(9"(=RDzR r<   c           
        \        VP                  R ..4      VP                  ^ ^.4      4      p\        VP                  4       P                  \        VP                  ^.^ ..4      VP                  ^ ^.4      4      P                  4       \        VP                  4       P
                  \        VP                  ^.^ ..4      VP                  ^ ^.4      4      P
                  4       R# )r   N)r   r   r   r6  r  r.   )r,   r  r  s   && r0   test_antiderivative_of_constant)TestPPoly.test_antiderivative_of_constant  s    "**rdV$bjj!Q&89  "**qcA3Z("**aV*<=??	
 	  "**qcA3Z("**aV*<=??	
r<   c                X   \        VP                  R R..4      VP                  . RO4      4      pVP                  4       p\        VP                  VP                  ^R.^ ^..VP
                  R7      4       \        VP                  VP                  . ROVP
                  R7      4       \        VP                  ^ ^4      VP                  RVP
                  R7      4       \        VP                  V! ^4      V! ^ 4      ,
          4      VP                  RVP
                  R7      4       R# )r   r)   r   r   Nr   )rC   rv   r(   )	r   r   r6  r   r  r   r.   r   r  )r,   r  r  qs   &&  r0   #test_antiderivative_regression_4355-TestPPoly.test_antiderivative_regression_4355  s    "**r3i[)2::i+@ARZZ!SAq6(:"**ZMNRZZ2::ZFGAq)2::c:+LM

1Q4!A$;/

3bjj
9	;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# )
rG   r   N)rG   r(   rv   )r   r         ?)rv   rv   rv   r   )r   r   r        ?)      ?gUUUUUU?r)   r   r   )r   r   g      ?r  g*?)r   r  rv   )r   r   r  r   r6  r   r.   r  )
r,   r  r  iciicr.   r  ippiippiipp2s
   &&        r0   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\        W4^ ^R7      w  rVpVP                  V4      VP                  V4      r\        P                  ! WV3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  r~  Nr  r   r  z k=)r   r   rK   )rM   r   r  rO  r  r  r   r   r   rT  r!  r6  r5  r   r  r.   )r,   r  r  r  r  r  r  ry  r  r  r  r  r  r  rr  s   &&              r0   !test_antiderivative_vs_derivative+TestPPoly.test_antiderivative_vs_derivative  s:   ii##D){{1a$a'xxD	"tQ!4Azz$D!11ay)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\        W4^ ^R7      w  rVpVP                  V4      VP                  V4      r\        P                  ! WV34      p
\        ^ ^
4       F}  pV
P                  V4      p\        WVV3V4      w  rp\         P                  ! ^ ^^4      pVP                  V4      p\        V! V4      VP                  \!        VWV34      4      RR7       K  	  R# )r  r  r   r   N)rM   r   r  r  r  r  r  r   r   r   rT  r!  r6  r   rO  r   r   )r,   r  r  r  r  r  r  ry  r  r  r  r  r  t2_npc2_npk2r  rR  s   &&                r0   test_antiderivative_vs_spline'TestPPoly.test_antiderivative_vs_spline  s
   ii##D)wwruuQa/01xxD	"tQ!4Azz$D!11ay)2,B##B'C)4q/2>E"KK1c*EE"BCGRZZeeB=O0P%Q!%' r<   c                P   VP                  . RO. RO.4      P                  pVP                  . ROVP                  R7      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(   r   g:0yE>r   N)r(   rv   r(   r(   )r(   rv   rG   rG   rg  gA?g_p   ?)r   r  r   r   r6  r   r5  r  )r,   r  r  r.   r  r  r  s   &&     r0   test_antiderivative_continuity(TestPPoly.test_antiderivative_continuity$  s}    JJl3466JJ{"**J5!K 	::TB ]]_acc"r<   c                T   \         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      r\        P                  ! WV34      p
RRrV
P                  W4      pV
P                  4       p\        W! V4      V! V4      ,
          RR7       \        WP                  \        WWVV34      VP                  R7      RR7       R
RrV
P                  WRR7      p\        W! V4      V! V4      ,
          RR7       VP!                  VP#                  V
P                  WRR7      4      4      '       g   Q hR	# )r  r  re  g?Fcheck_0dr   Tr  Nrp  )rM   r   r  r  r  r  r  r   r   r   rT  r  r6  r   r   r   r   r   )r,   r  r  r  r  r  r  ry  r  r  r  rC  rF  igr  s   &&             r0   test_integrateTestPPoly.test_integrate2  sP   ii##D)wwruuQa/01xxD	"tQ!4Azz$D!11ay)C1\\!!CFSVOe<

6!Q8


K	

 S1\\!D\1CFSVOe<vvbhhr||Ae|DEFFFFr<   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# )	rv   rC   r   rB   Nrv   r(   r<  r          rw  )rM   rV   rx  ry  r   r  rg  r   )r,   r.   r  ry  rB  ri  s   &     r0   test_integrate_readonly!TestPPoly.test_integrate_readonlyK  s    HHYHHr2hc
RIBx@A&I )GGaA;;q!$D;;t$((**** 'r<   c           	     
   \         P                  ! . RO4      p\         P                  ! RR.RR.RR.RR..4      pVP                  V4      VP                  V4      rT\        WTRR7      pVP	                  4       pVP                  V! ^4      V! ^4      ,
          VP
                  R7      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      ,
          VP
                  R7      4       \        VP                  R	^4      VP                  V! ^4      V! ^4      ,
          V! ^4      ,           V! R	4      ,
          VP
                  R7      4       \        VP                  R^4      VP                  V! ^4      V! ^4      ,
          V! ^4      ,           V! R	4      ,
          VP
                  R7      4       \        VP                  R	^4      VP                  V! ^4      V! ^4      ,
          V! ^4      ,           V! R	4      ,
          ^V,          ,           VP
                  R7      4       \        VP                  ^ R4      VP                  V! ^4      V! ^4      ,
          VP
                  R7      4       \        VP                  RR4      VP                  V! ^4      V! ^4      ,
          VP
                  R7      4       \        VP                  ^ R4      VP                  V! ^4      V! ^4      ,
          ^V,          ,
          VP
                  R7      4       R
# )rv   rC   r   rB   ro  r  r   r   rM  r  Nr  r   r  r  r        /@rK   )rM   rV   r   r   r6  r   r   r  )	r,   r  r  r  r.   r  rB  I
period_ints	   &&       r0   test_integrate_periodic!TestPPoly.test_integrate_periodicW  s   xx	"xx"bC:Cy2r(CDzz$D!11!J/ZZ!qt2::Z>
Aq):6C,j9C,bjjZ.HIC-

1S6AcF?"**
E	GC+

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

1Q4!A$;1#5##>bjj
Q	SKKV$JJ!qtad"QsV+a*n<BJJ  	
 	Ar*

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

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

1Q4!A$;Z#?rzz
R	Tr<   c           
        \         P                  ! ^ ^^4      ^,          p\         P                  ! ^V,          4      p\        W#^ ^R7      w  rEpVP	                  V4      VP	                  V4      r\
        P                  ! WxV34      p	V	P                  4       p
WR8  V
R8*  ,          ,          p
\        WP	                  \        WEV34      4      RR7       R# )r   r  r   r   NgV瞯Ҽg     ?)
rM   rO  r   r   r   r   rT  ru  r   r   )r,   r  r  r  r  r  ry  r  r  r  r  s   &&         r0   
test_rootsTestPPoly.test_rootsy  s    {{1a$a'vvbg qA6Qzz$D!11ay)HHJI~!y.12::fd!_&=>UKr<   c           	     D   VP                  RR.^ ^ .RR..VP                  R7      P                  pVP                  . ROVP                  R7      p\        W#4      p\	        VP                  4       VP                  RRVP                  R.VP                  R7      4       Rp\        V4      pVR	;;,          V,          uu&   VP                  V4      p\        Wc4      p\	        VP                  V4      VP                  RRVP                  R.VP                  R7      4       R# )
rv   r  r   r   rB   NrK   )r   r   r  r   g333333?)rv   rI   )	r   r   r  r   r   ru  r   r	   solve)r,   r  r  r.   r  constc1r  s   &&      r0   test_roots_idzeroTestPPoly.test_roots_idzero  s     JJT
QFRJ7rzzJJLLJJ)J<1[HHJJJc266:6bjjJI	

 q!
4EZZ^BlIIeJJc266:6bjjJI	
r<   r  c           	        ^ .^ ..p^ ^.p\        VP                  V4      VP                  V4      4      p\        VP                  4       VP                  ^ VP                  .VP
                  R7      4       \        VP                  ^ 4      VP                  ^ VP                  .VP
                  R7      4       \        VP                  ^4      VP                  . VP
                  R7      4       ^ ^ .^ ^ ..p. ROp\        VP                  V4      VP                  V4      4      p\        VP                  4       VP                  ^ VP                  ^VP                  .VP
                  R7      4       \        VP                  ^ 4      VP                  ^ VP                  ^VP                  .VP
                  R7      4       \        VP                  ^4      VP                  . VP
                  R7      4       R# )r   r   Nr   )r   r   r   ru  r   r   r  rk  s   &&   r0   test_roots_all_zeroTestPPoly.test_roots_all_zero  ss    S1#JF"**Q-A/	2::q"&&k:#LM
BJJ266{"**J$MN
BJJrJ$DEVaV"**Q-A/GGIrzz1bffa"8

zK	
 	GGAJ

Arvvq"&&#9
L	
 	
BJJrJ$DEr<   c                   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       VP                  R	R.VP                  R7      4       \	        VP                  RR7      VP                  R.VP                  R7      4       R# )
rv   r   rC   Fr  N)rv   r   rK   )rK   r   r   r   g       )r   r   r  r   r   ru  r,   r  r  r.   r  s   &&   r0   test_roots_repeatedTestPPoly.test_roots_repeated  s     JJ
J/rzzJBDDJJzJ41[
BJJc{"**J$MNHHH'SE)L	
r<   c                D   VP                  ^.R..VP                  R7      P                  pVP                  . ROVP                  R7      p\        W#4      p\	        VP                  4       VP                  R.VP                  R7      4       \	        VP                  RR7      VP                  . VP                  R7      4       \	        VP                  R4      VP                  R.VP                  R7      4       \	        VP                  RRR7      VP                  . VP                  R7      4       \	        VP                  R4      VP                  . VP                  R7      4       \	        VP                  RRR7      VP                  . VP                  R7      4       R# )	rv   r   r)   F)discontinuityr   NrK   rg  )r   r   r  r   r   ru  r  r  s   &&   r0   test_roots_discontTestPPoly.test_roots_discont  s5    JJbT{"**J577JJ{"**J51[
BJJuBJJJ$GHHH5H)2::b

:+K	

 	rzz3%rzzz'JKHHSH.

2RZZ
0P	
 	rzz"BJJz'GHHHSH.

2RZZ
0P	
r<   Tz)solve returns object array for c.ndim > 2)np_onlyreasonc                   \         P                  P                  R 4      p^ pR EF  p\        ^ ^4       EF  p\         P                  ! \         P
                  ^ ^
VP                  ^4      ,          ^
3,          4      p^VP                  V^,           \        V4      ^,
          ^^4      ,          ^,
          pVP                  V4      VP                  V4      r\        W4      p
R\        VP                  4       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\        VV,
          V,          \         P                  ! R4      R	VRR
7       K  	  K  	  K  	  EK  	  EK  	  V^d8  g   Q \        V4      4       hR# )r  FrC   )r  rj   r  rI   )r0  rj   (z) r = r   )r   r   r   Nrw  )rM   r   r  r!  r  r  r  r  r   r   rf  r  r}  reprr   )r,   r  r  numrj   r  r  r  r.   r  r  r-   r  ijrrvalcmpvalr  s   &&                 r0   test_roots_randomTestPPoly.test_roots_random  s    ii##D)(Kq"yyq"sxx|*;R'?!@A%'3t9Q;1==Azz$'D)911[uSZZ\23A%[QA"1X!&qA!"Q3B!ww{ #ww&(&Eae&L)+B18C*EEFqU*L()+tBxj&I /Q&0@"**S/598;!P "* & 4 & ). 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   )rv   r(   rv   r  )rM   r   r  r!  r  r  r   complexr    _croots_poly1r   r   abserrstateravelr   
zeros_like)	r,   r  ry  r  r-   wr9  cresr  s	   &        r0   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                D   \         P                  ! . RO.4      P                  p\         P                  ! ^ ^.4      pVP                  V4      VP                  V4      rTR EF<  p\	        WEVR7      pVP                  4       pVP                  4       p	VRJ Ed   VP                  VP                  V! VP                  R	R.4      4      4      4      '       g   Q hVP                  VP                  V	! VP                  R	R.4      4      4      4      '       g   Q hVP                  VP                  V! VP                  R	R.4      4      4      4      '       g   Q h\        V4      '       g:   \        VP                  4       VP                  R.VP                  R7      4       EK?  EKB  \        V! R	R.4      VP                  R
R.VP                  R7      4       VP                  VP                  V	! VP                  R	R.4      4      4      4      '       d   Q hVP                  VP                  V! VP                  R	R.4      4      4      4      '       d   Q h\        V4      '       d   EK  \        VP                  4       VP                  RR.VP                  R7      4       EK?  	  R# )rv   FNr  皙?r   r   r   TFN皙gGz?gzGʿr   )rM   rV   r  r   r   r5  r6  r   r   r   r   ru  r   r   any)
r,   r  r  r  r  r.   rj   r  pp_dpp_is
   &&        r0   r  TestPPoly.test_extrapolate_attr  s   xx%''xxAzz$D!11.Kq5B==?D$$&De#vvbhhr"**dC[*A'BCDDDDvvbhhtBJJc{,C'DEFFFFvvbhhtBJJc{,C'DEFFFFr{{#
BJJuBJJJ$G #
  c{OJJ(32::JF 66"((4

D#;0G+H"IJJJJ66"((4

D#;0G+H"IJJJJr{{#
BJJT{"**J$M+ /r<   r3   N)&r4   r5   r6   r7   rl  rq  r{  r   r   r  r  r  r  rV  r  r  r  rO  r  r  r  r  r  r  r  r  r  r  r  r  r  r  skip_xp_backendsr  r)  r  r8   r9   r:   s   @r0   rc  rc    s~    
W+ w'(1C )1Cf- 
0 20
)4WS

;*24'"#G2
+ TD w'(
L )
L w'(
 )
. w'%)9:F ;F( w'(
 )
 w'%)9:
 ;
* w'%)9:d+VW$ X ;$>E< r<   rc  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# )	TestBPolyi7  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   r   Nr   r   r   r   r,   r  r.   r  rL  s   &&   r0   rl  TestBPoly.test_simple9  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   r[  r   Nggfffff@r7  r8  s   &&   r0   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   r\  r   Ng433333@r7  r8  s   &&   r0   test_simple3TestBPoly.test_simple3E  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   re  r   Ng:On?r7  r8  s   &&   r0   test_simple4TestBPoly.test_simple4N  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   re  r   Ng	h"l@r7  r8  s   &&   r0   test_simple5TestBPoly.test_simple5Y  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   ro  r  g333333@r   rf  Nr   rv   rG   gHzG?g[(\?r7  r8  s   &&   r0   rq  TestBPoly.test_periodice  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           	     B   \         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\        VP                  WVV34      w  rp
\        WRR7      p\        VP                  V
RR7      VP                  VRR7      RR7      pVP                  VP	                  R^^d4      4      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  	  EK  	  R# )r   r[  r|  NTr  rn   r~  r   r  r  r.  rK   r  r  )rM   r   r  r  r  r}   r(  r   r   r  r   r5  r6  r  )r,   r  r  rx  r8  r  ca_npcd_npr.   r  r  r  rM  r  r  r  r  r  rC  rF  r  r  s   &&                    r0   r  TestBPoly.test_descendingq  s   ii##A&A773;;q"a!e45DKKcAK?E$B$K$$&EBJJe(<=IA2r$/Brwwrw+RWWQRW-@dSBZZCS 9: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%*,	 53 r<   c                   \         P                  P                  R 4      pVP                  ^^^^^4      p\         P                  ! . RO4      pVP                  V4      VP                  V4      re\        WV4      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  re  r  Nrg  r  r  )rM   r   r  r  rV   r   r   r.   r   r  r5  )	r,   r  r  r  r  r  r.   r  r  s	   &&       r0   r  TestBPoly.test_multi_shape  s    ii##D)xx1aA&xx$zz$D!11!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   r[  r   Nr7  )r,   r  r.   r  rL  xvalrE  s   &&     r0   test_interval_lengthTestBPoly.test_interval_length  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?NrG  gGzG?rH  r7  r8  s   &&   r0   test_two_intervalsTestBPoly.test_two_intervals  sx    JJy!JJAAA/01[3Krzz!JK3N"**!MNr<   c                   VP                  ^ ^.VP                  R7      pVP                  ^.^.^..VP                  R7      p\        W24      pR EF%  p\        W2VR7      pVP                  4       pVRJ d   VP	                  VP                  V! VP                  RR.4      4      4      4      '       g   Q hVP	                  VP                  V! VP                  RR.4      4      4      4      '       g   Q hK  VP                  VP                  V! VP                  RR.4      4      4      4      '       d   Q hVP                  VP                  V! VP                  RR.4      4      4      4      '       g   EK&  Q h	  R# )r   r   FNr  g @r-  r.  )r   r   r   r5  r   r   r/  )r,   r  r.   r  rL  rj   bp_ds   &&     r0   r  TestBPoly.test_extrapolate_attr  s0   JJ1vRZZJ0JJaS1#bjjJ91[.Kq5B==?De#vvbhhr"**dC[*A'BCDDDDvvbhhtBJJc{,C'DEFFFF66"((2bjj$.E+F"GHHHH66"((4

D#;0G+H"IJJJJ /r<   r3   N)r4   r5   r6   r7   rl  r;  r>  rA  rD  rq  r  r  rS  rW  r  r8   r9   r:   s   @r0   r5  r5  7  sH     CO
	



P",H-	
OK Kr<   r5  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# )TestBPolyCalculusi  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   rV  rf  NrG  rI  rv   r(   rG   )rI  r   rC   )rf  r   r   )r   r   r5  r   r   r  )r,   r  r.   r  rL  bp_derr0  s   &&     r0   rO  !TestBPolyCalculus.test_derivative  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  NrK   )rM   r   r  r  r   r   r   rY  r!  r5  rO  r   )r,   r  r  r8  ry  r.   r  rL  r  dr&  s   &&         r0   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^^rC\         P                  ! VP                  V4      4      pVP                  WC^,
          34      pVP	                  4       VR,          3 F  pVP                  V4      VP                  V4      r\        W4      p
VP                  V	^ ,          V	R,          ^4      p\        V4       F*  p\        V
! W4      V
P                  V4      ! V4      4       K,  	  K  	  R# )r  NrN  rK   )rM   r   r  r  r}   r   r   rO  r!  r   r5  )r,   r  r  r8  ry  r  r  cc_npccr.   rL  r&  r  s   &&           r0   test_deriv_inplace$TestBPolyCalculus.test_deriv_inplace  s    ii##D)!1wwszz!}%zz1c(# iik4?3EJJu%rzz$'7rB++adAbE2.C1X3
BMM!,<S,AB 	 4r<   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   rB   r)   r  r   r   NrG  g      ?)r   r   r6  rO  r   r   where)r,   r  r.   r  rL  bixxs   &&     r0   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VP                  \         P                  ! VP                  ^4      4      VP
                  R7      pVP                  VP                  R4      VP
                  R7      p\        WC4      pVP                  V^ ,          VR,          ^d4      p\        VP                  4       P                  4       ! V4      V! V4      RRR7       R# )r  r   r  rm  Nr<  rF   r(   rG   rK   )rM   r   r  r   r  r   r   rO  r   r6  r5  r,   r  r  r.   r  rL  rp  s   &&     r0   test_der_antider"TestBPolyCalculus.test_der_antider  s    ii##D)JJrwwszz"~.bjjJAJJszz-0

JC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  r  rm  Nrs  rK   )
rM   r   r  r  r   r   rY  rO  r   r6  )r,   r  r.   r  rL  r  rp  s   &      r0   test_antider_ppoly$TestBPolyCalculus.test_antider_ppoly  s    ii##D)GGCJJrN#JJ}%1[''+[[1qub)))!,R0))!,R0u5	Jr<   c                   \         P                  P                  R 4      pVP                  \         P                  ! VP                  ^4      4      VP
                  R7      pVP                  VP                  R4      VP
                  R7      p\        WC4      P                  4       pVP                  ^R p\        V! VR,
          4      V! VR,           4      RRR7       R# )r  r   r   r  rm  Nr<  rF   rK   )
rM   r   r  r   r  r   r   r6  r.   r   rt  s   &&     r0   test_antider_continuous)TestBPolyCalculus.test_antider_continuous!  s    ii##D)JJrwwszz"~.bjjJAJJszz'*"**J=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  r  F)r   r   r  Nr{  )
rM   r   r  r  r   r   r   rY  r   r  )r,   r  r  r.   r  rL  r  s   &&     r0   r   TestBPolyCalculus.test_integrate+  s    ii##D)GGCJJrN#JJwzz!}bjjm11[''+Q*Q*UU	Tr<   c                   VP                  ^..VP                  R7      pVP                  ^ ^.VP                  R7      p\        W#4      p\        VP	                  ^ ^4      VP                  RVP                  R7      RRR7       \        W#RR7      pVP                  VP	                  ^ ^4      4      '       g   Q h\        VP	                  ^ ^RR7      VP                  RVP                  R7      RRR7       R# )	rv   r   rB   r   F)r   r  r  TN)r   r   r   r   r  r   )r,   r  r  r.   rF  b1s   &&    r0   test_integrate_extrap'TestBPolyCalculus.test_integrate_extrap5  s    JJuBJJJ/JJ1vRZZJ0!K 	Aq)2::b

:+K"U	4 1U+xxQ*++++Qt<

2RZZ
8uu	V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	# )rv   rC   r   rB   ro  r  r   rM  r  Nr  r   r  r  r  r  r  rK   r  )r   r   rZ  r   r6  r   r  )r,   r  r.   r  rB  r  r  s   &&     r0   r  )TestBPolyCalculus.test_integrate_periodicD  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# )rv   r  rm  NrK   )r   r   rO  r   r5  r6  )r,   r  r  r.   rF  rp  s   &&    r0   test_antider_neg"TestBPolyCalculus.test_antider_neg\  s    JJuJJ1v!K[[Ar"R(,a.>.>.@.D"	0Q+Q-=-=b-A"-E"	0r<   r3   N)r4   r5   r6   r7   rO  re  rj  r  ru  rx  r|  r  r  r  r  r8   r9   r:   s   @r0   r]  r]    sG     
 ."C0(8
J@TVW00 0r<   r]  c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )TestPolyConversionsij  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   r[  ffffff?NrG  )r   r   r   rZ  rY  r   )r,   r  r.   r  r  rL  r  xvs   &&      r0   test_bp_from_pp#TestPolyConversions.test_bp_from_ppl  s    JJy!JJAAA/01[##B'((,ZZc
#22'2B(r<   c                   \         P                  P                  R 4      p^^rCVP                  \         P                  ! VP                  V4      4      4      pVP                  VP                  WC^,
          34      4      p\        We4      p\        P                  ! V4      p\
        P                  ! V4      p	VP                  V^ ,          VR,          ^4      p
\        V! V
4      V! V
4      4       \        V! V
4      V	! V
4      4       R# rc  )rM   r   r  r   r  r   r   rZ  rY  rO  r   )r,   r  r  r8  ry  r.   r  r  rL  r  r  s   &&         r0   test_bp_from_pp_random*TestPolyConversions.test_bp_from_pp_randomw  s    ii##D)!1JJrwwszz!}-.JJszz1c(+,1[##B'((,[[1qub)22'2B(r<   c                   VP                  . ROVP                  R7      pVP                  ^^.^^.^^..VP                  R7      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   r   r[  r  NrG  )r   r   r   r   rY  rZ  r   )r,   r  r.   r  rL  r  r[  r  s   &&      r0   test_pp_from_bp#TestPolyConversions.test_pp_from_bp  s    JJy

J3JJAAA/rzzJB1[''+$$R(ZZc
#22'2B(r<   c                   VP                  . ROVP                  R7      pVP                  ^^.^^.^^..VP                  R7      p\        W24      p\        \        4      ;_uu_ 4        \        P
                  ! V4       RRR4       \        W24      p\        \        4      ;_uu_ 4        \        P                  ! V4       RRR4       R#   + '       g   i     LS; i  + '       g   i     R# ; i)r   r   NrG  )r   r   r   r*   	TypeErrorrY  r   rZ  )r,   r  r.   r  r  rL  s   &&    r0   test_broken_conversions+TestPolyConversions.test_broken_conversions  s    JJy

J3JJAAA/rzzJB1[9%%&&r* & 1[9%%""2& &%	 &% &%%s   (C
)C
C	C.	r3   N)
r4   r5   r6   r7   r  r  r  r  r8   r9   r:   s   @r0   r  r  j  s     	))	)
' 
'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R tR tR tR tR tRtV tR# )TestBPolyFromDerivativesi  c           
         \         P                  ! ^ ^VP                  ^.VP                  R7      VP                  ^.VP                  R7      4      p\	        W!P                  RR.VP                  R7      4       R# )r   r   rB   r   Nr   _construct_from_derivativesr   r   r   )r,   r  r  s   && r0   test_make_poly_1)TestBPolyFromDerivatives.test_make_poly_1  s`    ..q"**aS

*3RZZ2::Z5V
 	JJBxrzzJBCr<   c           
        \         P                  ! ^ ^VP                  ^^ .VP                  R7      VP                  ^.VP                  R7      4      p\	        W!P                  . ROVP                  R7      4       \         P                  ! ^ ^VP                  ^^.VP                  R7      VP                  ^.VP                  R7      4      p\	        W1P                  . ROVP                  R7      4       \         P                  ! ^ ^VP                  ^.VP                  R7      VP                  ^^.VP                  R7      4      p\	        WAP                  . ROVP                  R7      4       R# )r   r   N)r   r   r   )rB   r  r   )rB   g      r   r  r,   r  r  r  c3s   &&   r0   test_make_poly_2)TestBPolyFromDerivatives.test_make_poly_2  s   ..q"**aV2::*6JJs"**J-
 	JJ|2::JFG ..q"**aV2::*6JJs"**J-
 	JJ~RZZJHI ..q"**aS

*3JJ1vRZZJ0
 	JJ~RZZJHIr<   c           
        \         P                  ! ^ ^VP                  . ROVP                  R7      VP                  ^.VP                  R7      4      p\	        W!P                  . ROVP                  R7      4       \         P                  ! ^ ^VP                  ^.VP                  R7      VP                  . ROVP                  R7      4      p\	        W1P                  . ROVP                  R7      4       \         P                  ! ^ ^VP                  ^^.VP                  R7      VP                  ^^.VP                  R7      4      p\	        WAP                  . ROVP                  R7      4       R# )r   r   Nr_  )r   竪?g@r3  )r<  r(   rG   )r   gUUUUUU	@g
@r3  )r   r  r   r3  r  r  s   &&   r0   test_make_poly_3)TestBPolyFromDerivatives.test_make_poly_3  s   ..q"**Ybjj*9JJs"**J-
 	JJ'<BJJJOP ..q"**aS

*3JJy

J3
 	JJ'=RZZJPQ ..q"**aV2::*6JJ1vRZZJ0
 	JJ'9JLMr<   c                \   \         P                  P                  R 4      pVP                  \         P                  ^ VP                  ^4      3,          4      pVP                  \         P                  ^ VP                  ^4      3,          4      p\
        P                  ! ^ ^W44      p\        VR,          VP                  ^ ^.VP                  R7      4      p\        ^4       FG  p\        V! R4      W7,          RR7       \        V! R4      WG,          RR7       VP                  4       pKI  	  R# )r+  Nr   rC   Fr  r   )rI   N)rM   r   r  r   r  r   r  r   r!  r   r5  )r,   r  r  yaybr  r  r  s   &&      r0   test_make_poly_12*TestBPolyFromDerivatives.test_make_poly_12  s    ii##E*ZZaA./0ZZaA./0--aB;1W:rzz1a&

zCDqABrFBEE:BrFBEE:B r<   c           	        \         P                  P                  R 4      pVP                  ^ ^.VP                  R7      p^^rTVP                  VP                  V^^^^34      VP                  R7      p\        Wc4      p\
        P                  ! We4      p\        W4      p	VP                  ^ ^^4      p\        V! V4      V	! V4      4       R# )r+  r   N)	rM   r   r  r   r   r   _raise_degreerO  r   )
r,   r  r  r.   ry  rd  r  rL  r  r[  s
   &&        r0   test_raise_degree*TestBPolyFromDerivatives.test_raise_degree  s    ii##E*JJ1vRZZJ0!1JJszz1aAq/2"**JE1[  &Bl[[Ar"2B(r<   c           
         \        \        \        P                  VP	                  ^ ^.VP
                  R7      VP	                  ^ .VP
                  R7      4       R# )r   r   N)r*   rx   r   r_  r   r   r  s   &&r0   
test_xi_yi#TestBPolyFromDerivatives.test_xi_yi  sB    ..JJ1vRZZJ0"**aS

*2S	
r<   c                    VP                  . ROVP                  R7      pVP                  ^ .^ .^ ..VP                  R7      p\        \        \        P
                  W#4       R# )r   r   Nr   r   rv   )r   r   r*   rx   r   r_  )r,   r  rR  r  s   &&  r0   test_coords_order*TestBPolyFromDerivatives.test_coords_order  sL    ZZ	Z4ZZ!qcA3rzzZ:j%"8"8"Ar<   c           
       a SP                  . ROSP                  R7      p\        \        V3R l^ ^ .^ .^ ^ .^ ^ ..4      4      p\        P
                  ! W#4      pVP                  P                  R8X  g   Q hVP                  4       pR F]  p\        V! V4      SP                  RSP                  R7      4       \        V! V4      SP                  RSP                  R7      4       K_  	  R# )r   r   c                 >   < SP                  V SP                  R 7      # )r   )r   r   )r.   r  s   &r0   <lambda>5TestBPolyFromDerivatives.test_zeros.<locals>.<lambda>  s    "**Qbjj*9r<   rC   Nr4  )r<  rG   )rC   r[  r   r,  gffffff?rB   rM  )
r   r   rB  r(  r   r_  r  r   r5  r   )r,   r  rR  r  r  ppdr  s   &f     r0   
test_zeros#TestBPolyFromDerivatives.test_zeros  s    ZZBJJZ79Q!q!fq!f-
 ##B+ttzzV###mmo3CBsGRZZ2::Z%FGCHbjjBJJj&GH 4r<   c                l   \         P                  P                  R 4      pTP                  \	        V^,           4       Uu. uF  pRV^,          ,          NK  	  upVP
                  R7      p\	        V^,           4       Uu. uF"  qSP                  VP                  V4      4      NK$  	  ppWg3# u upi u upi )r  r   r   )rM   r   r  r   r!  r   )r,   r8  ry  r  r  r  rR  r  s   &&&&    r0   _make_random_mk(TestBPolyFromDerivatives._make_random_mk	  s    ii##D)ZZE!A#J7JqadJ7rzzZJ16qs<AjjA'<v 8<s   B,?(B1c                *   ^^r2V P                  W#V4      w  rE\        P                  ! WE4      p\        V^,          4       FJ  p\	        V! V4      TP                  V Uu. uF  qV,          NK  	  up4      4       VP                  4       pKL  	  R# u upi )rD   N)r  r   r_  r!  r   r  r5  )	r,   r  r8  ry  rR  r  r  r  yys	   &&       r0   test_random_12'TestBPolyFromDerivatives.test_random_12	  sw    "1%%aB/##B+1a4[EBrFBHH"-E"Bii"-E$FGB !-Es   Bc           
         ^^r2V P                  W#V4      w  rE\        \        \        P                  3/ \        WE^ R7      B  R# )rD   rR  r  ordersN)r  r*   rx   r   r_  r   r,   r  r8  ry  rR  r  s   &&    r0   test_order_zero(TestBPolyFromDerivatives.test_order_zero	  s>    "1%%aB/j%"8"8 	0"A.	0r<   c           
         ^^r2V P                  W#V4      w  rE\        P                  ! WE^V,          ^,
          R7       \        \        \        P                  3/ \        WE^V,          R7      B  R# )rD   r  r  N)r  r   r_  r*   rx   r   r  s   &&    r0   test_orders_too_high-TestBPolyFromDerivatives.test_orders_too_high	  sZ    "1%%aB/rac!e4j%"8"8 	2"AaC0	2r<   c           
     6   ^^r2V P                  W#V4      w  rE^p\        P                  ! WEVR7      p\        V^,          ^,           4       F?  p\	        V! V^R R,
          4      V! V^R R,           4      4       VP                  4       pKA  	  VP                  \        P                  ! V! V^R R,
          4      V! V^R R,           4      4      4      '       d   Q h^p\        P                  ! WEVR7      p\        V^,          4       F?  p\	        V! V^R R,
          4      V! V^R R,           4      4       VP                  4       pKA  	  VP                  \        P                  ! V! V^R R,
          4      V! V^R R,           4      4      4      '       d   Q hR# )rD   r  r  NrK   )	r  r   r_  r!  r   r5  r   xpxisclose)	r,   r  r8  ry  rR  r  r  r  r  s	   &&       r0   test_orders_global+TestBPolyFromDerivatives.test_orders_global"	  si   "1%%aB/ ##B59uaxz"ABr!Bx%/0"R"X5E2FGB # 66#++bAbE)9&:Br!Bx%?O<PQRRRR
 ##B59uaxABr!Bx%/0"R"X5E2FGB ! 66#++bAbE)9&:Br!Bx%?O<PQRRRRRr<   c           
     $   ^^r2V P                  W#V4      w  rE\        V4       Uu. uF  qf^,           NK  	  pp\        V^R 4       F  w  r\        P                  ! WEVR7      p
\        Wx,          ^,          ^,           4       F9  p\        V
! V	R,
          4      V
! V	R,           4      4       V
P                  4       p
K;  	  VP                  \        P                  ! V
! V	R,
          4      V
! V	R,           4      4      4      '       g   K  Q h	  R# u upi )r?  r  r  NrK   )
r  r!  rA  r   r_  r   r5  r   r  r  )r,   r  r8  ry  rR  r  or  r  r.   r  r  s   &&          r0   test_orders_local*TestBPolyFromDerivatives.test_orders_local:	  s    "1%%aB/!&q*Aa%%*b2h'DA''v>B69>A-.1u9r!e)}=]]_ / vvckk"QY-AIGHHHH ( +s   Dc           	        \         P                  P                  R 4      p^^rCVP                  \         P                  ! VP                  V^,           4      4      4      pVP                  VP                  V^,           V^^^34      4      p\
        P                  ! WV4      pVP                  P                  ^V,          V^^^38X  g   Q hR# r  N)	rM   r   r  r   r  r   r_  r  r   )r,   r  r  r8  ry  rR  r  r  s   &&      r0   test_yi_trailing_dims.TestBPolyFromDerivatives.test_yi_trailing_dimsF	  s    ii##D)!1ZZ

1Q301ZZ

AaCAq!#456##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# )rv   r  N)rM   int32r   r_  r   r   int64)r,   r  r  s   &  r0   test_gh_5430%TestBPolyFromDerivatives.test_gh_5430N	  s    
 !""Aq6QC!:fEAaD"**Q-0!""Aq6QC!:fEAaD"**Q-0""Aq6QC!:fEAaD"**Q-0r<   r3   N)r4   r5   r6   r7   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r8   r9   r:   s   @r0   r  r    sa     DJ*N,
!)
B
I"!02S0
I/ 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)rI   rI   N)	rM   r   r  r  rO  r   r  r%  r   )r,   r  r  r.   rR  r  v1v2s   &       r0   test_simple_1dTestNdPPoly.test_simple_1da	  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r0  r=  )Nr   r   r   rv   )rv   r   )r(   rG   )r   r(   )rM   r   r  r  rO  r  r  r   fillr   r    evaluate_ndrR   rV   intcc_r%  _ppoly2d_evalr   r   r  )r,   r  r  r.   r-   rR  r  r  r  r  r0  s   &          r0   test_simple_2dTestNdPPoly.test_simple_2do	  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  r=  )Nr   r   r   r   rv   r   rv   r   r   )r(   rG   r   )r>  r   r(   )	rM   r   r  r  rO  r   _ppoly3d_evalr   r  )r,   r  r  r.   r-   r/   rR  r  zir  r0  r  r  s   &            r0   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  )rM   r   r  r  rO  r   _ppoly4d_evalr   )r,   r  r  r.   r-   r/   urR  r  r  uir  r  r  s   &             r0   test_simple_4dTestNdPPoly.test_simple_4d	  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)rM   r   r  r  rO  r   r5  r   r   r  r6  )r,   r  r  r.   r  r  r  dp1s   &       r0   test_deriv_1dTestNdPPoly.test_deriv_1d	  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   rG   )rM   r   r  r  rO  r   r   r  r5  r   r  r6  )
r,   r  r  r.   r-   r/   r  r  r  r  s
   &         r0   test_deriv_3dTestNdPPoly.test_deriv_3d	  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)rv   rv   rv   rG   r<  rD   )rv   r   r<  )r   r(   r   )
rM   r   r  rw   rO  r   r6  r  r   r   )r,   r  r  r.   r-   r/   r  r  rR  r  r  s   &          r0   test_deriv_3d_simple TestNdPPoly.test_deriv_3d_simple	  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   r3   )r.   r-   r  s   &&r0   r  /TestNdPPoly.test_integrate_2d.<locals>.<lambda>
  s    1aV9r<   gh㈵>)epsrelepsabs)r   F)r   r   r  r   NrK   r  )r   r)   )re  rf  )r  r\  )rM   r   r  r  rO  r  rR   r   r}   r    fix_continuityr   r  r#   r   r   r  )r,   r  r  r.   r-   cxrangesr  ig2err2r  s   &         @r0   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  r\  rf  rn   Nr  r  r  )	rM   r   r  r  rO  r   integrate_1dr6  r   )r,   r  r  r.   r-   r/   r  r   vrC  rF  pxpaxpypaypzpazs   &                r0   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+  r|  c                    < SP                  ^(R7      pSP                  ^(R7      pSP                  ^(R7      pV! W#V34       R# )(   r|  N)r  )r  rU  rR  r  r  r  s   &&   r0   r  /TestNdPPoly.test_concurrency.<locals>.worker_fn@
  s?    "%B"%B"%Br<   N)r<  rD   r>  r?  r   r   )rM   r   default_rngr  rO  r   r"   )r,   r  r.   r-   r/   r  r  r  s   &      @r0   r  TestNdPPoly.test_concurrency6
  s    ii##E*KK/K0KK1c"KK1c"A%KK1c"A%A1y!	 	 I1r<   r3   N)r4   r5   r6   r7   r  r  r  r  r  r	  r  r  r#  r  r8   r9   r:   s   @r0   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 manuallyrI   c              3      <"   T F=  pSVS3,          SSP                   ^ ,          V,
          ^,
          ,          ,          x  K?  	  R# 5i)r   N)r   )r  ry  r  rd  r  s   & r0   r   _ppoly_eval_1.<locals>.<genexpr>S
  s=      ,*A !A#QWWQZ\!^,,,*s   AA)	rM   zerosr  r   rA  r   searchsortedsumr!  )	r  r.   xpsro  r  r  r  rd  r  s	   f&&    @@r0   r  r  I
  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))NrI   rK   )r   rM   r%  
empty_likecompressr/  clipr  takevanderrV   r!  r  rR   )r  breaksr   r  rC  rF  K	saveshaper9  maskrp  indxsr  r  Vry  valuess   &&&&             r0   r  r  Y
  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)rx   r   )r.   r-   rD  s   &&&r0   _dpowrA  p
  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  rK   rM   r  r  r   r   rA  zipr   r/  r!  rA  )r  r  r   ynewr0  ro  nxnyjoutr.   r-   j1j2s1s2r  k1r  s   &&&&&             r0   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   :NrG   Nr  rK   rC  )r  r  r   rE  znewr0  ro  rF  rG  nzrH  r.   r-   r/   rI  rJ  j3rK  rL  s3r  rM  r  k3s   &&&&&&                  r0   r  r  
  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   :Nr<  N)r   r   r   r   rK   rC  )r  r  r   rE  rO  unewr0  ro  mxmymzmurH  r.   r-   r/   r   rI  rJ  rQ  j4rK  rL  rR  s4r  rM  r  rS  k4s   &&&&&&&                       r0   r  r  
  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   )Fscipy._lib._array_apir   r   r   r   r   r   r	   scipy._externalr
   r  r  r   r*   numpyr   r   r   r   rM   scipy.interpolater   r   r   r   r   r   r   r   r   r   r   r   r   r   scipy.specialr   r   r    scipy._lib._gcutilsr!   scipy._lib._testutilsr"   scipy.integrater#   r$   r  r3  xfail_xp_backendsr&   r>   r  r  r  rX  r  r>  rc  r5  r]  r  r  r  r  r   r  rA  r  r  r  r3   r<   r0   <module>rf     s     3 *  ( ( - - - - & $ 2 9 ! ;;// KK11  ^ ^B6 6 &'s* s* (s*l $79J#KL: M:, 5% dL dL !dLN,& ,&^ 5{ { {| 5KK KK KK\ 5`0 `0 `0F 5% .' .' !.'b 5@ @ @Ff2 f2R  .0VV .	/!H%P*r<   