+
    /ij                        ^ RI t ^ RIt^ RIt^ RIHtHtHtHtH	t	 ^ RI
Ht ^ RI
t
^ RIHtHtHtHtHtHtHtHtHtHtHtHt ^ RIHt ]
P8                  P:                  t]
P8                  P<                  tRR lt. ROt R t!R t"R	 t#R
 t$ ! R R4      t% ! R R4      t& ! R R4      t' ! R R4      t(]	! ]4       ! R R4      4       t)]	! ]4      R 4       t*R t+R t, ! R R4      t-R# )    N)xp_assert_equalxp_assert_closeassert_array_almost_equalassert_almost_equalmake_xp_test_case)raises)KroghInterpolatorkrogh_interpolateBarycentricInterpolatorbarycentric_interpolateapproximate_taylor_polynomialCubicHermiteSplinepchipPchipInterpolatorpchip_interpolateAkima1DInterpolatorCubicSplinemake_interp_spline)_run_concurrent_barrierc                 L   Vf   / p\         P                  P                  R4      p. ROp\        \	        ^\        V4      ^,           4      4      pVP                  V\        V4      ^,           ,          ^ 4       VP                  ! RV,           !  P                  V4      p	\         P                  ! V4      p
V \        J d:   VP                  ! RV,           !  P                  V4      pV ! WyV3RV/VB ! V
4      pMV ! Wy3RV/VB ! V
4      pT;'       g    RV	P                  R V ,           V,           V	P                  VR  R,          ,           pVP                  V8X  g   Q hV'       d   V	P                  ^ 8  dp   V \        J d9   V ! \        V4      \        V	4      \        X4      3RV/VB ! \        V
4      4       M-V ! \        V4      \        V	4      3RV/VB ! \        V
4      4       V
P                  ^ 8  d   Vf   V	P                  R V R\        V4      ,          ,           V	P                  VR  R,          ,           pV	\        R 4      3WIP                  ,          ,          R,           ,          pVP                  V4      p\         P                   ! W4      w  r\#        W4       R # R # R # )N  axis   NN)r   r                r   )nprandomRandomStatelistrangeleninsertrand	transposezerosr   shapesizeslicendimreshapebroadcast_arraysr   )interpolator_clsx_shapey_shapederiv_shaper   
extra_argsrngxsyxidydxyitarget_shapebs_shapeyvs   &&&&&&          b/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/interpolate/tests/test_polyint.pycheck_shaperC      s<   

))


%CAU1c'l1n%&AHHTS\!^$a(4'>#--a0A	'	B--xx$.*44Q7aDBtBzB2Fa<<<R@ &&B!''%4.8 !r 23L88|### 166A:11T!Wd1gtDz + +)++/85 T!Wd1g +D +)++/85 
ww{{*775D>DW$55r8JJt/478ZZ!##B+ +{    c                  H   R  p \         \        \        \        \        \
        V 3 Fy  p\         Fl  p\         F_  p\        \        V4      ) \        V4      4       F9  pV\
        8w  d   \        WVRV4       K  R F  pRV/p\        WVRWF4       K  	  K;  	  Ka  	  Kn  	  K{  	  R# )c                     \        WVR 7      # r   )r   r9   r;   r   s   &&&rB   
spl_interptest_shapes.<locals>.spl_interpF   s    !!T22rD   Nbc_type)naturalclamped)
r	   r   r   r   r   r   SHAPESr'   r(   rC   )rJ   ips1s2r   bcextras          rB   test_shapesrU   D   s    3 !"9;M);
DB!3r7(CG4D[(#BBd;"8B%.OE'D$F #9	 5  DrD   c                     a \         \        3 FY  oRV3R llp \         FD  p\         F7  p\        \	        V4      ) \	        V4      4       F  p\        WVRV4       K  	  K9  	  KF  	  K[  	  R# )r   c                 *   < S! WV4      P                   # N)derivatives)r9   r;   r   rP   s   &&&rB   interpolator_derivs/test_derivs_shapes.<locals>.interpolator_derivsW   s    aD>---rD   Nr   r   )r	   r   rO   r'   r(   rC   )rZ   rQ   rR   r   rP   s       @rB   test_derivs_shapesr]   U   sX     "9:	. B!3r7(CG4D 3T4H 5  	 ;rD   c                  D   RR lp RR lpRR lpRR lpRR lpRR lpRR lpRR lpRR	 lpRR
 lp	RR lp
RR lpRR lpWW#VWEWxWW3 FQ  p\          FD  p\          F7  p\        \        V4      ) \        V4      4       F  p\        WVRV4       K  	  K9  	  KF  	  KS  	  R# )r   c                 .    \        WV4      P                  # rX   )r	   
derivativerI   s   &&&rB   krogh_deriv&test_deriv_shapes.<locals>.krogh_deriva   s     t,777rD   c                 .    \        WV4      P                  # rX   )r   r`   rI   s   &&&rB   
bary_deriv%test_deriv_shapes.<locals>.bary_derivd   s    &qT2===rD   c                 6    \        WV4      P                  4       # rX   r   r`   rI   s   &&&rB   pchip_deriv&test_deriv_shapes.<locals>.pchip_derivg   s    Q4 ++--rD   c                 8    \        WV4      P                  ^4      # r   rg   rI   s   &&&rB   pchip_deriv2'test_deriv_shapes.<locals>.pchip_deriv2j   s    Q4 ++A..rD   c                 6    \        WV4      P                  4       # rX   r   antiderivativerI   s   &&&rB   pchip_antideriv*test_deriv_shapes.<locals>.pchip_antiderivm   s    Q4 //11rD   c                 8    \        WV4      P                  ^4      # rk   ro   rI   s   &&&rB   pchip_antideriv2+test_deriv_shapes.<locals>.pchip_antideriv2p   s    Q4 //22rD   c                 2     ! R  R\         4      pV! WV4      # )c                   &   a  ] tR t^tt o R tRtV tR# )9test_deriv_shapes.<locals>.pchip_deriv_inplace.<locals>.Pc                0    \         P                  ! W^4      # r"   )r   __call__)selfr9   s   &&rB   rz   Btest_deriv_shapes.<locals>.pchip_deriv_inplace.<locals>.P.__call__u   s    (11$1==rD   r!   N)__name__
__module____qualname____firstlineno__rz   __static_attributes____classdictcell____classdict__s   @rB   Prx   t   s     >rD   r   )r   )r9   r;   r   r   s   &&& rB   pchip_deriv_inplace.test_deriv_shapes.<locals>.pchip_deriv_inplaces   s    	! 	 t}rD   c                 6    \        WV4      P                  4       # rX   )r   r`   rI   s   &&&rB   akima_deriv&test_deriv_shapes.<locals>.akima_derivz   s    "1.99;;rD   c                 6    \        WV4      P                  4       # rX   )r   rp   rI   s   &&&rB   akima_antideriv*test_deriv_shapes.<locals>.akima_antideriv}   s    "1.==??rD   c                 6    \        WV4      P                  4       # rX   )r   r`   rI   s   &&&rB   cspline_deriv(test_deriv_shapes.<locals>.cspline_deriv   s    1&1133rD   c                 6    \        WV4      P                  4       # rX   )r   rp   rI   s   &&&rB   cspline_antideriv,test_deriv_shapes.<locals>.cspline_antideriv   s    1&5577rD   c                 8    \        WVR 7      P                  4       # rG   )r   r`   rI   s   &&&rB   
bspl_deriv%test_deriv_shapes.<locals>.bspl_deriv   s    !!T2==??rD   c                 8    \        WVR 7      P                  4       # rG   )r   rp   rI   s   &&&rB   bspl_antideriv)test_deriv_shapes.<locals>.bspl_antideriv   s    !!T2AACCrD   Nr\   r!   )rO   r'   r(   rC   )ra   rd   rh   rl   rq   rt   r   r   r   r   r   r   r   rP   rQ   rR   r   s                    rB   test_deriv_shapesr   `   s    8>./23<@48@D CV+M B!3r7(CG4DB5 5  MrD   c                  \   . ROp . ROp\         \        \        3 F1  pV! W4      p\        V! V 4      \        P
                  ! V4      4       K3  	  . ROp\        WV4      p\        V! V 4      \        P
                  ! V4      4       \        V! V ^4      \        P
                  ! V4      4       R# )r   Nr   r   r   r   )r   r                 ?r   )r   y             r   y              @)r	   r   r   r   r#   asarrayr   )r9   r;   rP   pr=   s        rB   test_complexr      s    AA "9;GqH!bjjm, H D1&AAaD"**Q-(AaGRZZ-.rD   c                      a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tRtV tR# )	TestKroghc                   \         P                  P                  . RO4      V n        \         P                  ! R^^d4      V n        \         P                  ! R^^4      V n        V P                  V P                  4      V n        R# r   N)   r   r   r   r#   
polynomial
Polynomial	true_polylinspacetest_xsxsysr{   s   &rB   setup_methodTestKrogh.setup_method   sU    112CD{{2a,++b1%..)rD   c                    \        V P                  V P                  4      p\        V P	                  V P
                  4      V! V P
                  4      4       R # rX   r	   r   r   r   r   r   r{   r   s   & rB   test_lagrangeTestKrogh.test_lagrange   5    dggdgg.DNN4<<84<<IrD   c                "   \        V P                  V P                  4      p\        V P	                  ^4      V! ^4      RR7       \        V P	                  \
        P                  ! ^4      4      V! \
        P                  ! ^4      4      RR7       R# )   Fcheck_0dN)r	   r   r   r   r   r#   arrayr   s   & rB   test_scalarTestKrogh.test_scalar   sY    dggdgg.DNN1-qteDDNN288A;7288A;RWXrD   c                8   \        V P                  V P                  4      pVP                  V P                  4      p\        VP                  ^ ,          4       F>  p\        V P                  P                  V4      ! V P                  4      W#,          4       K@  	  R# r   N)
r	   r   r   rY   r   r'   r-   r   r   derivr{   r   Dis   &   rB   test_derivativesTestKrogh.test_derivatives   sf    dggdgg.MM$,,'qwwqz"A 4 4Q 7 E !& #rD   c                n   \        V P                  V P                  4      pVP                  V P                  \        V P                  4      ^,           4      p\        VP                  ^ ,          4       F>  p\        V P                  P                  V4      ! V P                  4      W#,          4       K@  	  R# r   N)r	   r   r   rY   r   r(   r'   r-   r   r   r   r   s   &   rB   test_low_derivativesTestKrogh.test_low_derivatives   st    dggdgg.MM$,,s477|A~6qwwqz"A 4 4Q 7 E !& #rD   c                    \        V P                  V P                  4      p^
pVP                  V P                  V4      p\        V4       F/  p\        VP                  V P                  V4      W4,          4       K1  	  R# 
   N)r	   r   r   rY   r   r'   r   r`   r{   r   mrr   s   &    rB   test_derivativeTestKrogh.test_derivative   sX    dggdgg.MM$,,q)qAT\\! <QTB rD   c           	     `   \        V P                  V P                  4      p\        \	        V P                  4      ^\	        V P                  4      ,          4       FP  p\        VP                  V P                  V4      \        P                  ! \	        V P                  4      4      4       KR  	  R# r   )
r	   r   r   r'   r(   r   r`   r   r#   r,   r{   r   r   s   &  rB   test_high_derivativeTestKrogh.test_high_derivative   si    dggdgg.s477|Qs477|^4AT\\! < "T\\): ;= 5rD   c                   V P                   p\        P                  P                  . RO4      p\        P                  P                  . RO4      p\        P                  ! V! V P
                  4      V! V P
                  4      V! V P
                  4      3RR7      p\        V P
                  V^ R7      pVP                  V P                  4      p\        VP                  ^ ,          4       F  p\        Wg,          \        P                  ! VP                  V4      ! V P                  4      VP                  V4      ! V P                  4      VP                  V4      ! V P                  4      3RR7      4       K  	  R# r   rH   Nr   r   r   r   r      r   r    )r   r#   r   r   stackr   r	   rY   r   r'   r-   r   r   r{   poly1poly2poly3r   r   r   r   s   &       rB   test_ndim_derivativesTestKrogh.test_ndim_derivatives   s    ((8(();<XXuTWW~uTWW~uTWW~FRPdggr2MM$,,'qwwqz"AADHHekk!nT\\&B&+kk!nT\\&B&+kk!nT\\&B&D +-./ #rD   c                   V P                   p\        P                  P                  . RO4      p\        P                  P                  . RO4      p\        P                  ! V! V P
                  4      V! V P
                  4      V! V P
                  4      3RR7      p\        V P
                  V^ R7      p\        VP                  4       F  p\        VP                  V P                  V4      \        P                  ! VP                  V4      ! V P                  4      VP                  V4      ! V P                  4      VP                  V4      ! V P                  4      3RR7      4       K  	  R# r   )r   r#   r   r   r   r   r	   r'   nr   r`   r   r   r{   r   r   r   r   r   r   s   &      rB   test_ndim_derivativeTestKrogh.test_ndim_derivative   s    ((8(();<XXuTWW~uTWW~uTWW~FRPdggr2qssAALLq9HHekk!nT\\&B&+kk!nT\\&B&+kk!nT\\&B&D +-./ rD   c                    \        V P                  V P                  4      p\        V P	                  V P
                  4      V! V P
                  4      4       R # rX   r   r   s   & rB   test_hermiteTestKrogh.test_hermite   r   rD   c                x   . ROp\         P                  ! ^ ^.^^ .^^..4      p\        W4      p\        VP                  ^,          4       Uu. uF  p\        WRV3,          4      NK  	  pp\         P
                  ! R^^d4      p\        V! V4      \         P                  ! V Uu. uF
  qw! V4      NK  	  up4      P                  4       \        VP                  V4      \         P                  ! \         P                  ! V Uu. uF  qwP                  V4      NK  	  up4      R4      4       R# u upi u upi u upi )r   NNNNr   r   r   r   )r   r   r   )r#   r   r	   r'   r-   r   r   r   TrY   r+   )r{   r   r   r   r   Pir   r   s   &       rB   test_vectorTestKrogh.test_vector   s    XX!uaUAa5)*b$5:288A;5GH5Gac7+5GH++b3'AgJJJB'?Bq'
B'?@BB	DAMM'2RZZ(LAw)?(LM		 I (@(Ls   D-$D2D7c                    \        V P                  V P                  4      p\        V! . 4      \        P
                  ! . 4      4       R # rX   )r	   r   r   r   r#   r   r   s   & rB   
test_emptyTestKrogh.test_empty   s,    dggdgg."rzz"~.rD   c                   \        V P                  V P                  4      p\        P                  ! V! ^ 4      4      R8X  g   Q h\        P                  ! V! \        P
                  ! ^ 4      4      4      R8X  g   Q h\        P                  ! V! ^ .4      4      R8X  g   Q h\        P                  ! V! ^ ^.4      4      R8X  g   Q hR# r   Nr!   r"   rk   )r	   r   r   r#   r-   r   r   s   & rB   test_shapes_scalarvalue!TestKrogh.test_shapes_scalarvalue   s    dggdgg.xx!~###xx"((1+'2---xx1#4'''xx1Q%!T)))rD   c                   \        V P                  V P                  4      pVP                  p\        P
                  ! VP                  ^ 4      4      V38X  g   Q h\        P
                  ! VP                  \        P                  ! ^ 4      4      4      V38X  g   Q h\        P
                  ! VP                  ^ .4      4      V^38X  g   Q h\        P
                  ! VP                  ^ ^.4      4      V^38X  g   Q hR# r   )r	   r   r   r   r#   r-   rY   r   r{   r   r   s   &  rB   "test_shapes_scalarvalue_derivative,TestKrogh.test_shapes_scalarvalue_derivative  s    dggdgg.CCxxa()aT111xxbhhqk23t;;;xxqc*+1v555xxq!f-.1a&888rD   c           	     p   \        V P                  \        P                  ! V P                  \        P
                  ! ^4      4      4      p\        P                  ! V! ^ 4      4      R8X  g   Q h\        P                  ! V! ^ .4      4      R8X  g   Q h\        P                  ! V! ^ ^.4      4      R8X  g   Q hR# r   N)r   )r   r   )r   r   )r	   r   r#   outerr   aranger-   r   s   & rB   test_shapes_vectorvalue!TestKrogh.test_shapes_vectorvalue  s    dggbhhtwwryy|&DExx!~%%%xx1#6)))xx1a&	"f,,,rD   c                J   \        V P                  \        P                  ! V P                  ^.4      4      p\        P
                  ! V! ^ 4      4      R8X  g   Q h\        P
                  ! V! ^ .4      4      R8X  g   Q h\        P
                  ! V! ^ ^.4      4      R8X  g   Q hR# r   Nr"   )r   r   )r   r   )r	   r   r#   r  r   r-   r   s   & rB   test_shapes_1d_vectorvalue$TestKrogh.test_shapes_1d_vectorvalue  sy    dggbhhtwws&;<xx!~%%%xx1#6)))xx1Q%!V+++rD   c           	        \        V P                  \        P                  ! V P                  \        P
                  ! ^4      4      4      pVP                  p\        P                  ! VP                  ^ 4      4      V^38X  g   Q h\        P                  ! VP                  ^ .4      4      V^^38X  g   Q h\        P                  ! VP                  ^ ^.4      4      V^^38X  g   Q hR# r   N)	r	   r   r#   r  r   r  r   r-   rY   r   s   &  rB   "test_shapes_vectorvalue_derivative,TestKrogh.test_shapes_vectorvalue_derivative  s    dggbhhtwwryy|&DECCxxa()aV333xxqc*+1ay888xxqe,-!Q:::rD   c           
        \        V P                  V P                  4      p\        p\	        V! V P
                  4      V! V P                  V P                  V P
                  4      4       \	        VP                  V P
                  ^4      V! V P                  V P                  V P
                  ^R7      4       \	        VP                  V P
                  ^4      V! V P                  V P                  V P
                  ^ ^.R7      4       R# )r   derN)r	   r   r   r
   r   r   r`   rY   )r{   r   kis   &  rB   test_wrapperTestKrogh.test_wrapper!  s    dggtww/AdllOR$,,-OPALLq9tww1E	GAMM$,,:twwAq6J	LrD   c           	         . ROp\         P                  ! . RO4      p\        W4      p\        \	        V! V4      V,
          VP                  V^4      ,          4      \         P                  ! V4      RR7       R# )r   g|=atolN)r      i  i  i  i  i|  i$	  i  i  i   i03  i`  )gffffffg닥ąg䑉g!p$ЀgV0޿gx*ZֿgDпg2]g H.g9Cg6D.gG/g?)r#   r   r	   r   absr`   
zeros_like)r{   r9   
offset_cdffs   &   rB   test_int_inputsTestKrogh.test_int_inputs*  s_    XX ? @
 a,QqTJ.!,,q!2DDEj1	?rD   c                ^   \         P                  ! . RO4      \         P                  ! . RO4      r!\        W4      pVP                  ^ 4      p\        WP                  4      P                  ^ 4      R\        WP
                  4      P                  ^ 4      ,          ,           p\        WERR7       R# )r   r   V瞯<r  N)r   r   r   r   r   )r   r   r   r   r   )r#   r   r	   rY   realimagr   )r{   r9   r;   funccmplxcmplx2s   &     rB   test_derivatives_complex"TestKrogh.test_derivatives_complex7  s}    xx)*BHH5K,L1 &  ##Avv.::1=&q&&1==a@@AE2rD   c                    \         P                  ! \        R R7      ;_uu_ 4        \        \        P
                  ! ^(4      \        P                  ! ^(4      4       RRR4       R#   + '       g   i     R# ; i)z40 degrees provided,matchN)pytestwarnsUserWarningr	   r#   r  onesr   s   &rB   test_high_degree_warning"TestKrogh.test_high_degree_warningA  s>    \\+-CDDbiimRWWR[9 EDDDs   5A$$A5	c                l   a  \        S P                  S P                  4      pV 3R  lp\        ^
W!4       R# )c                 ,   < V! SP                   4       R # rX   r   _interpr{   s   &&rB   	worker_fn-TestKrogh.test_concurrency.<locals>.worker_fnH      477OrD   N)r	   r   r   r   r{   r   r6  s   f  rB   test_concurrencyTestKrogh.test_concurrencyE  s(    dggtww/	 	 I1rD   r   r   r   r   N)r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r%  r.  r:  r   r   r   s   @rB   r   r      s}     *JY
&&C=//J
/*9-,;L?3:2 2rD   r   c                   &   a  ] tR tRt o R tRtV tR# )
TestTayloriN  c                    ^p\        \        P                  ^ V^^4      p\        V^,           4       F%  p\	        V! ^ 4      ^4       VP                  4       pK'  	  \	        V! ^ 4      ^ 4       R# r   N)r   r#   expr'   r   r   )r{   degreer   r   s   &   rB   test_exponentialTestTaylor.test_exponentialO  sX    )"&&!VQCvaxA!Q'	A ! 	AaD#rD   r!   N)r}   r~   r   r   rC  r   r   r   s   @rB   r>  r>  N  s     $ $rD   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R tR tR tR tR tR tRtV tR# )TestBarycentriciX  c                   \         P                  P                  . RO4      V n        \         P                  ! R^^d4      V n        \         P                  ! R^^4      V n        V P                  V P                  4      V n        R# r   r   r   s   &rB   r   TestBarycentric.setup_methodY  sU    112CD{{2q#.++b!Q'..)rD   c                    \        V P                  V P                  ^R7      p\        V! V P                  4      V P                  V P                  4      4       R# )r   )random_stateN)r   r   r   r   r   r   r   s   & rB   r   TestBarycentric.test_lagrange_  s7    #DGGTWW1E$,,)EFrD   c                &   \        V P                  V P                  ^R7      p\        V! ^4      V P	                  ^4      RR7       \        V! \
        P                  ! ^4      4      V P	                  \
        P                  ! ^4      4      RR7       R# )r   r8   Fr   N)r   r   r   r   r   r#   r   r   s   & rB   r   TestBarycentric.test_scalard  sZ    #DGGTWW!<!dnnQ/%@"((1+rxx{(CeTrD   c                8   \        V P                  V P                  4      pVP                  V P                  4      p\        VP                  ^ ,          4       F>  p\        V P                  P                  V4      ! V P                  4      W#,          4       K@  	  R# r   )
r   r   r   rY   r   r'   r-   r   r   r   r   s   &   rB   r    TestBarycentric.test_derivativesi  sc    #DGGTWW5MM$,,'qwwqz"ADNN003DLLA14H #rD   c                r   \        V P                  V P                  4      pVP                  V P                  \        V P                  4      ^,           4      p\        VP                  ^ ,          4       F@  p\        V P                  P                  V4      ! V P                  4      W#,          RR7       KB  	  R# )r   -q=r  N)r   r   r   rY   r   r(   r'   r-   r   r   r   r   s   &   rB   r   $TestBarycentric.test_low_derivativeso  sw    #DGGTWW5MM$,,DGGQ7qwwqz"ADNN003DLLAD!&( #rD   c                    \        V P                  V P                  4      p^
pVP                  V P                  V4      p\        V4       F/  p\        VP                  V P                  V4      W4,          4       K1  	  R# r   )r   r   r   rY   r   r'   r   r`   r   s   &    rB   r   TestBarycentric.test_derivativew  sX    #DGGTWW5MM$,,*qAALLq914@ rD   c           	     `   \        V P                  V P                  4      p\        \	        V P                  4      ^\	        V P                  4      ,          4       FP  p\        VP                  V P                  V4      \        P                  ! \	        V P                  4      4      4       KR  	  R# r@  )
r   r   r   r'   r(   r   r`   r   r#   r,   r   s   &  rB   r   $TestBarycentric.test_high_derivative~  si    #DGGTWW5s477|Qs477|^4AALLq9HHS%679 5rD   c                   V P                   p\        P                  P                  . RO4      p\        P                  P                  . RO4      p\        P                  ! V! V P
                  4      V! V P
                  4      V! V P
                  4      3RR7      p\        V P
                  V^ R7      pVP                  V P                  4      p\        VP                  ^ ,          4       F  p\        Wg,          \        P                  ! VP                  V4      ! V P                  4      VP                  V4      ! V P                  4      VP                  V4      ! V P                  4      3RR7      RR7       K  	  R# r   rH   rR  r  Nr   r   r   )r   r#   r   r   r   r   r   rY   r   r'   r-   r   r   r   s   &       rB   r   %TestBarycentric.test_ndim_derivatives  s   ((8(();<XXuTWW~uTWW~uTWW~FRP#DGGRa8MM$,,'qwwqz"AADHHekk!nT\\&B&+kk!nT\\&B&+kk!nT\\&B&D +-. "'( #rD   c                   V P                   p\        P                  P                  . RO4      p\        P                  P                  . RO4      p\        P                  ! V! V P
                  4      V! V P
                  4      V! V P
                  4      3RR7      p\        V P
                  V^ R7      p\        VP                  4       F  p\        VP                  V P                  V4      \        P                  ! VP                  V4      ! V P                  4      VP                  V4      ! V P                  4      VP                  V4      ! V P                  4      3RR7      RR7       K  	  R# rY  )r   r#   r   r   r   r   r   r'   r   r   r`   r   r   r   s   &      rB   r   $TestBarycentric.test_ndim_derivative  s    ((8(();<XXuTWW~uTWW~uTWW~FRP#DGGRa8qssAALLq9HHekk!nT\\&B&+kk!nT\\&B&+kk!nT\\&B&D +-. "'( rD   c                    \        V P                  4      pVP                  V P                  4       \	        V P                  V P                  4      V! V P                  4      4       R # rX   )r   r   set_yir   r   r   r   r   s   & rB   test_delayedTestBarycentric.test_delayed  s?    #DGG,	DNN4<<8!DLL/JrD   c                4   \        V P                  R ,          V P                  R ,          4      pVP                  V P                  R,          V P                  R,          4       \	        V P                  V P                  4      V! V P                  4      4       R# )Nr   N:r   NNN)r   r   r   add_xir   r   r   r   s   & rB   test_appendTestBarycentric.test_append  s[    #DGGBK=	dggbk*DNN4<<8!DLL/JrD   c                   . ROp\         P                  ! ^ ^.^^ .^^..4      p\        pV! W4      p\        VP                  ^,          4       Uu. uF  qS! WRV3,          4      NK  	  pp\         P
                  ! R^^d4      p\        V! V4      \         P                  ! V Uu. uF
  q! V4      NK  	  up4      P                  4       R# u upi u upi )r   r   Nr   r   )	r#   r   r   r'   r-   r   r   r   r   )	r{   r   r   BIr   r   r   r   r   s	   &        rB   r   TestBarycentric.test_vector  s    XX1v1v1v./$rJ(-bhhqk(:;(:1b1X(:;++b!S)AgJJJB'?Bq'
B'?@BB	D < (@s   C
#Cc                   \        V P                  V P                  4      p\        P                  ! V! ^ 4      4      R8X  g   Q h\        P                  ! V! \        P
                  ! ^ 4      4      4      R8X  g   Q h\        P                  ! V! ^ .4      4      R8X  g   Q h\        P                  ! V! ^ ^.4      4      R8X  g   Q hR# r   )r   r   r   r#   r-   r   r   s   & rB   r   'TestBarycentric.test_shapes_scalarvalue  s    #DGGTWW5xx!~###xx"((1+'2---xx1#4'''xx1a&	"d***rD   c                   \        V P                  V P                  4      pVP                  p\        P
                  ! VP                  ^ 4      4      V38X  g   Q h\        P
                  ! VP                  \        P                  ! ^ 4      4      4      V38X  g   Q h\        P
                  ! VP                  ^ .4      4      V^38X  g   Q h\        P
                  ! VP                  ^ ^.4      4      V^38X  g   Q hR# r   )r   r   r   r   r#   r-   rY   r   r   s   &  rB   r   2TestBarycentric.test_shapes_scalarvalue_derivative  s    #DGGDGG4CCxxa()aT111xxbhhqk23t;;;xxqc*+!u444xxqe,-!A666rD   c           	     p   \        V P                  \        P                  ! V P                  \        P
                  ! ^4      4      4      p\        P                  ! V! ^ 4      4      R8X  g   Q h\        P                  ! V! ^ .4      4      R8X  g   Q h\        P                  ! V! ^ ^.4      4      R8X  g   Q hR# r  )r   r   r#   r  r   r  r-   r   s   & rB   r  'TestBarycentric.test_shapes_vectorvalue  s    #DGGRXXdggryy|-LMxx!~%%%xx1#6)))xx1a&	"f,,,rD   c                J   \        V P                  \        P                  ! V P                  ^.4      4      p\        P
                  ! V! ^ 4      4      R8X  g   Q h\        P
                  ! V! ^ .4      4      R8X  g   Q h\        P
                  ! V! ^ ^.4      4      R8X  g   Q hR# r  )r   r   r#   r  r   r-   r   s   & rB   r  *TestBarycentric.test_shapes_1d_vectorvalue  sy    #DGGRXXdggs-CDxx!~%%%xx1#6)))xx1a&	"f,,,rD   c           	        \        V P                  \        P                  ! V P                  \        P
                  ! ^4      4      4      pVP                  p\        P                  ! VP                  ^ 4      4      V^38X  g   Q h\        P                  ! VP                  ^ .4      4      V^^38X  g   Q h\        P                  ! VP                  ^ ^.4      4      V^^38X  g   Q hR# r  )	r   r   r#   r  r   r  r   r-   rY   r   s   &  rB   r  2TestBarycentric.test_shapes_vectorvalue_derivative  s    #DGGBHHTWWRYYq\,JKCCxxa()aV333xxqc*+1ay888xxq!f-.1a);;;rD   c                   \        V P                  V P                  ^R7      p\        p\	        V! V P
                  4      V! V P                  V P                  V P
                  ^R7      4       \	        VP                  V P
                  ^4      V! V P                  V P                  V P
                  ^^R7      4       \	        VP                  V P
                  ^4      V! V P                  V P                  V P
                  ^ ^.^R7      4       R# )r   rM  )r  r8   N)r   r   r   r   r   r   r`   rY   )r{   r   bis   &  rB   r  TestBarycentric.test_wrapper  s    #DGGTWW!<$$,,DGGTWWdllPQ)RST\\15477DGGT\\qaH	JdllA6477DGGT\\1v1M	OrD   c                    R \         P                  ! ^^4      ,          p\         P                  ! ^^4      p\        WR4      p\        V\         P                  ! R4      4       R# )i  g      #@Ng     @)r#   r  r   r   r   )r{   r9   r;   values   &   rB   test_int_inputTestBarycentric.test_int_input  sE    299Q##IIa'j9E2::c?3rD   c                   R p\         P                  ! V^,           4      P                  \         P                  4      p\         P                  ! V\         P
                  ,          V,          4      pRV,          pV^ ;;,          R,          uu&   VR;;,          R,          uu&   \        V4      pVP                  ^ ,          p\        VP                  ^V,          ,          V4       R# )iL        ?Nr   )	r#   r  astypefloat64cospir   wir   )r{   r   jr9   wr   factors   &      rB   test_large_chebyshev$TestBarycentric.test_large_chebyshev  s     IIa!e##BJJ/FF1ruu9q=! AI	!	"#A& aADDAJ/3rD   c                   \        ^ ^.^^.4      p\        P                  ! RR7      ;_uu_ 4        V! VP                  4      pRRR4       \	        XVP
                  P                  4       4       R#   + '       g   i     L6; i)r   raise)divideN)r   r#   errstater<   r   r>   ravel)r{   r   r>   s   &  rB   test_warningTestBarycentric.test_warning  sX     $QFQF3[[((144B )
 	B

- )(s   A11B	c                    \         P                  ! . RO4      p\         P                  ! . RO4      p\        P                  ! \        RR7      ;_uu_ 4        \        W4       RRR4       R#   + '       g   i     R# ; i)皙?z)Interpolation points xi must be distinct.r(  N)r  r{  ?r{  r   )r#   r   r*  r   
ValueErrorr   )r{   xisr   s   &  rB   test_repeated_node"TestBarycentric.test_repeated_node  sZ     hh+,XXl#]]:!LN N#C,N N N Ns   A++A<	c                l   a  \        S P                  S P                  4      pV 3R  lp\        ^
W!4       R# )c                 ,   < V! SP                   4       R # rX   r2  r3  s   &&rB   r6  3TestBarycentric.test_concurrency.<locals>.worker_fn  r8  rD   N)r   r   r   r   r9  s   f  rB   r:   TestBarycentric.test_concurrency  s(    #DGGTWW5	 	 I1rD   r<  N)r}   r~   r   r   r   r   r   r   r   r   r   r   r   r_  rd  r   r   r   r  r  r  r  rx  r  r  r  r:  r   r   r   s   @rB   rF  rF  X  s     *G
U
I(A9( (K
K
D+7--<O442	.-2 2rD   rF  c                   `   a  ] tR tRt o RR ltR tR tR tR tR t	R t
R	 tR
 tR tRtV tR# )	TestPCHIPi  c                    \         P                  P                  R 4      p\         P                  ! VP                  V4      4      pVP                  V4      p\	        W44      W43# )r   )r#   r$   r%   sortr   )r{   nptsr8   r<   r>   s   &&   rB   _make_randomTestPCHIP._make_random  sJ    ii##D)WWSZZ%&ZZR}b$$rD   c                x   V P                  4       w  rp\        \        V4      ^,
          4       F  pW$,          W$^,           ,          reW4,          W4^,           ,          rWx8  d   Yr\        P                  ! WV^
4      p	V! V	4      p
WzR,           8*  WR,           8*  ,          P                  4       '       d   K  Q h	  R# )r   r  Nr  r'   r(   r#   r   allr{   r   r<   r>   r   x1x2y1y2xpyps   &          rB   test_overshootTestPCHIP.test_overshoot%  s    %%'	rs2wqy!AUBsGUBsGwBRR(B2B:%"U
*:;@@BBBB "rD   c                   V P                  4       w  rp\        \        V4      ^,
          4       F  pW$,          W$^,           ,          reW4,          W4^,           ,          r\        P                  ! WV^
4      p	V! V	4      p
W,
          V
R,          V
R,          ,
          ,          ^ 8  P                  4       '       d   K  Q h	  R# )r   r   :Nr   NNr  r  s   &          rB   test_monotoneTestPCHIP.test_monotone1  s    %%'	rs2wqy!AUBsGUBsGRR(B2BUr"v2/!388:::: "rD   c                   \         P                  ! . RO. RO.4      p\         P                  ! ^d4      p\        V^ ,          V^,          4      ! V4      pVR,          p\        V^ ,          V^,          4      ! V4      p\	        W5RRR7       R# )r         ?+=)r  rtolN)
r   r   r      /   <   O   W   c   d   )
r  ir   r      &   -   5   7   )r#   r   r  r   r   )r{   dataxxcurvedata1curve1s   &     rB   	test_castTestPCHIP.test_cast;  sq    xx@DF GYYs^d1gtAw'+s
uQxq*2.E>rD   c                0   R p\         P                  ! \        P                  ! V4      4      p\	        VR,          VR,          4      pRp\         P                  ! \        P                  ! V4      4      p\        VR,          V! VR,          4      RRR7       R# )a  
          7.99   0.00000E+0
          8.09   0.27643E-4
          8.19   0.43750E-1
          8.70   0.16918E+0
          9.20   0.46943E+0
         10.00   0.94374E+0
         12.00   0.99864E+0
         15.00   0.99992E+0
         20.00   0.99999E+0
        a^  
           7.9900       0.0000
           9.1910       0.4640
          10.3920       0.9645
          11.5930       0.9965
          12.7940       0.9992
          13.9950       0.9998
          15.1960       0.9999
          16.3970       1.0000
          17.5980       1.0000
          18.7990       1.0000
          20.0000       1.0000
                g-C6
?r  r  Nr   r   r   r   )r#   loadtxtioStringIOr   r   )r{   dataStrr  pch	resultStrresults   &     rB   test_nagTestPCHIP.test_nagG  sq    

 zz"++g./DItCy)	 BKK	23sS%5BTJrD   c                "   \         P                  ! . RO4      p\         P                  ! . RO4      p\         P                  ! . RO4      p\        W4      \        W4      3 F,  pV^ ,          VR,          3 F  pV! V^4      ^ 8w  d   K  Q h	  K.  	  R# )r  N)r  r  g      ?gffffff?)皙uq@g     @@     @@     @)r  r  g     p@r  r   )r#   r   r   )r{   r9   r  r  ppts   &     rB   test_endslopesTestPCHIP.test_endslopesj  sp     HH+,XX34XX45<q.BdAbE]!Qx1}$} # /rD   c                z   \         P                  ! ^
4      p\         P                  ! V4      p\        P                  ! 4       ;_uu_ 4        \        P
                  ! R4       \        W4      pRRR4       \         P                  ! ^ ^	^e4      p\        X! V4      R8H  4      '       g   Q hR#   + '       g   i     LF; i)r   errorNr  )	r#   r  r  warningscatch_warningsfilterwarningsr   r   r  )r{   r9   r;   r  r  s   &    rB   test_all_zerosTestPCHIP.test_all_zerost  s    IIbMMM! $$&&##G,+C ' [[As#3r7b=!!!! '&s   
"B**B:	c                    \         P                  ! ^ ^^4      p\        ^ ^.^ ^.4      p\        V! V4      ^V,          RR7       R# )r   r  r  N)r#   r   r   r   )r{   r9   r   s   &  rB   test_two_pointsTestPCHIP.test_two_points  s>    
 KK1b!1a&1a&!!ac.rD   c                j   \        \        . RO. ROR.^R7      \        P                  ! R.4      4       \        \        . RO. ROR.^ R7      \        P                  ! R.4      4       \        \        P                  ! \        . RO. ROR.^ ^.R7      4      \        P                  ! R.^..4      4       R# )r   r{  r  r  g      @Nr   r   r   )r   r   r    )r   r   r#   r   r   s   &rB   test_pchip_interpolate TestPCHIP.test_pchip_interpolate  s    !iSEqAJJt	 	"iSEqAJJu	 	"JJ(Iu1a&QRJJs|$	&rD   c                    \        ^ ^.R^.4      pVP                  4       p\        V\        P                  ! R.4      4       R# )r   r{  Nr   )r   rootsr   r#   r   )r{   r   r   s   &  rB   
test_rootsTestPCHIP.test_roots  s6    1a&2q'"GGI2::se,-rD   r!   N)   )r}   r~   r   r   r  r  r  r  r  r  r  r  r  r  r   r   r   s   @rB   r  r    s?     %
C;
?!KF%
"/&. .rD   r  c                   p   a  ] tR tRt o ]RR l4       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# )TestCubicSplinei  c           	     l
   V P                   pV P                  p\        P                  ! V4      pVP	                  VP
                  ^ ,          .^.VP                  ^,
          ,          ,           4      pVRR p\        VR,          V^ RR13,          V^,          ,          V^RR13,          V^,          ,          ,           V^RR13,          V,          ,           V^RR13,          ,           W3R7       \        VR	,          ^V^ RR13,          ,          V^,          ,          ^V^RR13,          ,          V,          ,           V^RR13,          ,           W3R7       \        VR
,          ^V^ RR13,          ,          V,          V^RR13,          ,           W3R7       VP                  ^8X  dA   VR8X  d:   VR8X  d3   \        V^ ,          \        P                  ! V^ ,          4      W3R7       R# VR8X  d   \        V ! V^ ,          ^ 4      V ! VR,          ^ 4      W3R7       \        V ! V^ ,          ^4      V ! VR,          ^4      W3R7       \        V ! V^ ,          ^4      V ! VR,          ^4      W3R7       R# VR8X  d   VP                  ^8X  de   V ! V^,          4      V ! V^ ,          4      ,
          V^ ,          ,          p\        P                  ! V4      p\        V ! V^ ,          ^4      WVR7       M\        VR,          VR,          W3R7       MVR8X  d@   \        V ! V^ ,          ^4      \        P                  ! V ! V^ ,          ^4      4      W3R7       MzVR8X  d@   \        V ! V^ ,          ^4      \        P                  ! V ! V^ ,          ^4      4      W3R7       M4Vw  r\        V ! V^ ,          V	4      \        P                  ! V
4      W3R7       VR8X  d   VP                  ^8X  df   V ! V^,          4      V ! V^ ,          4      ,
          V^ ,          ,          p\        P                  ! V4      p\        V ! V^,          ^4      WVR7       R# \        VR,          VR,          W3R7       R# VR8X  dA   \        V ! VR,          ^4      \        P                  ! V ! VR,          ^4      4      W3R7       R# VR8X  dP   \        V ! VR,          ^4      \        P                  ! V ! VR,          ^4      4      ^V,          ^V,          R7       R# Vw  r\        V ! VR,          V	4      \        P                  ! V
4      W3R7       R# )zNCheck that spline coefficients satisfy the continuity and boundary
conditions.Nr  
not-a-knotperiodicrN   rM   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r9   cr#   diffr1   r-   r0   r   r.   r  r   )Sbc_startbc_endtolr9   r  dxdxislopeorderrw  s   &&&&       rB   check_correctness!TestCubicSpline.check_correctness  s   
 CCCCWWQZZZ!qvvz(::;"g 	%!AssF)c1f"4qCRCy367I"I!SbS&	C#(*+AssF)#4:=	I%!a3B3i-#q&"8Aa"fI+#,./3B3i#8>A	M%!a3B3i-#"5!SbS&	"A 	, 66Q;8|3,8NAaD"--!"5CJ z!AadAJ!B%#HAadAJ!B%#HAadAJ!B%#H |#vv{1Q41QqT7*be3

5)!A$
E#F$4sE"!A$
BMM!AaD!*5CK"!A$
BMM!AaD!*5CK $LEAadENBJJu,=CR\!vv{1Q41QqT7*be3

5)!A$
E#F%!E(Gy AaeQKq2{)C!$0y AaeQKq2{)C!"3QsU4 "LEAaeUORZZ->SSrD   c           	        \        VP                  4      pWC \        P                  ! V4      pVP	                  ^4       \        P                  ! V4      pVP	                  R	4       RRR^V3^V3.pVR,           F"  p\        WW8R7      p	V P                  WV4       K$  	  V F/  p
V F&  p\        WW:V3R7      p	V P                  WVRR7       K(  	  K1  	  R# )
r   r  rM   rN   rb  r   rL   g+=r  Nr   )r&   r-   r#   emptyfillr   r  )r{   r9   r;   r   r6   first_derivsecond_derivbc_allrS   r  r  r  s   &&&&        rB   check_all_bcTestCubicSpline.check_all_bc  s    177mhh{+xx,"
 **BAt8A""1"-  H 4F9KL&&qF&F ! rD   c                   \         P                  ! . RO4      p\         P                  ! . RO4      p^^VP                  3 F  pV P                  VRV VRV ^ 4       \         P                  ! ^V^34      pVRV VR&   VRV ^,
          VR&   VRV ^,           VR&   VRV ^,           VR&   V P                  VRV V^4       K  	  R# )r   N)r   r   r{  r   r   g      @g      @	   )r   g      r   r   g      @r   r   r{  r   r   r   r   r   r   r   r   r   r   r   r   )r#   r   r.   r  r  )r{   r9   r;   r   Ys   &    rB   test_generalTestCubicSpline.test_general  s    HH45HH45QAaeQrUA.!Q#A2AAgJ2AAgJ2AAgJ2AAgJaeQ*  rD   c                   R F  p\         P                  ! ^ ^\         P                  ,          V4      p\         P                  ! V4      p\	        W#RR7      pV P                  VRR4       \         P                  ! ^V^34      pW5R&   V^,           VR&   V^,
          VR&   V^,           VR	&   \	        W%^RR7      pV P                  VRR4       K  	  R# )
r   r  rL   r  N)r   r   r   r  r  r  r  )r#   r   r  r~  r   r  r  )r{   r   r9   r;   r  r  s   &     rB   test_periodicTestCubicSpline.test_periodic  s    AAq255y!,Aq	AA*5A""1j*=!Q#AgJQAgJQAgJQAgJAq*=A""1j*= rD   c                b   VP                  ^ ^VP                  ,          ^
VP                  R7      pVP                  V4      p\	        W#RR7      p\        V! ^4      V! ^^VP                  ,          ,           4      ^R7       \	        W#4      p\        V! V4      VP                  V4      ^R7       R# )r   dtyper  r  )decimalN)r   r  r}  r~  r   r   )r{   r  r9   r;   r  s   &&   rB   test_periodic_eval"TestCubicSpline.test_periodic_eval  s    KK1ruu9b

K;FF1Ij1AaD!ABEE	M"2B?AaD"&&)R8rD   c                    \         P                  ! . RO4      p\         P                  ! . RO4      p\        WRRR7      pV P                  VRR4       R# )r  r  )rL   extrapolateN)r  ?gffffff? @@      @g333333@g@g@g      @g      @g      @g       @gffffff"@g      %@g&@g333333'@g      (@g333333)@g      *@g*@)r  g      ?g?r   r!  g@g333333@g333333@gffffff @r         @gffffff@r#  g333333?gffffff?r  gffffff?g333333?r{  g?r  )r#   r   r   r  r{   r9   r;   r  s   &   rB   *test_second_derivative_continuity_gh_11758:TestCubicSpline.test_second_derivative_continuity_gh_11758  sL    HH O PHH P QjjIq*j9rD   c                   \         P                  ! . RO4      p\         P                  ! . RO4      p\        WRR7      pV P                  VRR4       \	        VP                  ^4      ! V4      \         P                  ! . RO4      4       R# )r  r  r  N)r  g      @r"  )r  g      .@r  )      Hr(  r(  )r#   r   r   r  r   r`   r$  s   &   rB   test_three_points!TestCubicSpline.test_three_points&  sa     HH%&HH%&j1q*j9Q*BHH5J,KLrD   c                   \         P                  ! . RO4      p\         P                  ! R R.RR .R R..4      p\        WRR7      pV P                  VRR4       \        WR,          RR7      p\        WR,          RR7      p\         P                  ! ^ ^^4      p\        V! V4      R,          V! V4      4       \        V! V4      R,          V! V4      4       R# )r  r  r  r  N)r  r  r"  r  r  )r#   r   r   r  r   r   )r{   r9   r;   r  S0S1qs   &      rB   #test_periodic_three_points_multidim3TestCubicSpline.test_periodic_three_points_multidim2  s     HH_%HHsCj3*sCj9:j1q*j9dGZ8dGZ8KK1a !T
BqE*!T
BqE*rD   c                   \         P                  ! . RO\        R7      p\         P                  ! . RO\        R7      p\        W4      pV P	                  V4       \         P                  ! . RO4      p\        W4      pV P	                  V4       \        W^,          R	R7      pV P	                  VRR4       \         P                  ! . RO4      p\        WR
R.R7      pV P	                  VR
R4       R# )r   r  rM   r  N)r   r   r   r   )r   r   r   r   )y            ?r  y      ?      y      ?      r   y               @)rM   r2  )r   y       @      ?)r   y      ?      )r#   r   intr   r  r$  s   &   rB   test_dtypesTestCubicSpline.test_dtypes?  s    HH\-HH]#.q!HH12q!6+?@q)W5HH]#}m&DEq-?rD   c                    \         P                  P                  ^ 4      p\         P                  ! VP	                  ^dR7      4      pRVP	                  ^dR7      ,           p\        W#4      pV P                  VRR7       R# )r   )r.   g     @gvIh%<=r  N)r#   r$   r%   r  uniformr   r  )r{   r8   r9   r;   r  s   &    rB   test_small_dxTestCubicSpline.test_small_dxP  sa    ii##A&GGCKKSK)*#++3+''qe,rD   c           
     0   \         P                  ! . RO4      p\         P                  ! . RO4      p\         P                  ! . RO4      p\         P                  ! \         P                  ^^^.4      p\         P                  ! . RO4      p\         P                  ! \         P                  ^^^.4      p. R	Op^.p^.p	\        \        \
        W24       \        \        \
        WB4       \        \        \
        W4       \        \        \
        WR4       \        \        \
        W4       \        \        \
        VR\         P                  3,          V4       \        \        \
        W4       . R
Op
V
 F  p\        \        \
        W^ VR4       K  	  \         P                  W"3,          pRpR^. RO33pR^^ ^ ..33p\        \        \
        W^ VR4       \        \        \
        W^ VR4       \        \        \
        W^ VR4       \        \        \
        W^ RR4       R# )r   r   r  rN   TNr   )y      ?      ?r   r   r   )r   r   r   r   r  ))r  rN   ))r   r   )r   r   )r   r   )r  r  z
not-a-typo)rN   r;  )r   r   r   )r#   r   nanassert_raisesr  r   newaxisc_)r{   r9   r;   xcxnxoyny3r  r  wrong_bcrL   r  bc1bc2bc3s   &               rB   test_incorrect_inputs%TestCubicSpline.test_incorrect_inputsW  s   HH\"HH\"XX'(XXrvvq!Q'(XXl#XXrvvq!Q'(SSj+r5j+r5j+q5j+r5j+q5j+qBJJ/?Cj+r6"  G*k1GTJ   EE!$K!1i.)11vh-(j+qQTBj+qQTBj+qQTB 	j+qQ
DIrD   r!   N)r  r  r  )r}   r~   r   r   staticmethodr  r  r  r  r  r%  r)  r/  r4  r8  rI  r   r   r   s   @rB   r  r    sV     ?T ?TBG.+>9:
M+@"-&J &JrD   r  c                     V P                  . RO4      pV P                  . RO4      pV P                  . RO4      p\        WV4      p\        V! V4      VRRRR7       \        V! V^4      VRRRR7       R# )r   Fr  )rC   check_dtyper  N)r   r   r   )r   r   r   )r   r   r   )r   r   r   )r  r9   r;   r=   r:   s   &    rB   #test_CubicHermiteSpline_correctnessrN    sb    


9A


:A::i D1&AAaD!ENAaGTu%eTrD   c                      . ROp . ROp. ROp\        \        \        WV4       ^^ \        P                  .p\        \        \        WV4       R# )r   Nr  )r   r   r   )r   r   r   r   )r=  r  r   r#   r<  )r9   r;   r=   dydx_with_nans       rB   &test_CubicHermiteSpline_error_handlingrQ    s>    AAD*0!=266NM*0!FrD   c                  @   \         P                  ! R R.4      p \         P                  ! RR.4      p\         P                  ! RR.4      p\        WV4      pVP                  RR7      pVP                  P
                  ^,          ^8X  g   Q hVP                  ^8X  g   Q hR# )	gMbP?gMb`?gBܻ>gdJ>T)r  Ng/"g%")r#   r   r   r  r  r-   r.   )r9   r;   dyr   r   s        rB   test_roots_extrapolate_gh_11185rT    s    
% A
..12A	;	*	+B1$A 	
D!A3399Q<166Q;;rD   c                   z  a  ] tR tRt o ]P
                  P                  R]P                  ! R
4      ]P                  ! R4      .4      ]P
                  P                  R. RO4      ]P
                  P                  R. RO4      ]P
                  P                  R]	]
.4      R 4       4       4       4       t]P
                  P                  R]P                  ! R
4      ]P                  ! R4      .4      ]P
                  P                  R. RO4      ]P
                  P                  R]].4      R 4       4       4       tRtV tR	# )TestZeroSizeArraysi  r;   rL   r   clsc                :   \         P                  ! ^
4      p\         P                  ! ^4      pV! WRVR7      pV! V4      P                  ^ 8X  g   Q hV! V4      P                  VP                  VP                  R,          ,           8X  g   Q h\         P                  ! V^ V4      pV! WXW4R7      pVP                  RV VP                  3,           VP                  V^,           R ,           p	V! V4      P                  ^ 8X  g   Q hV! V4      P                  V	8X  g   Q hR# )r   r  r   )rL   r   Nr#   r  r.   r-   moveaxis)
r{   rW  r;   rL   r   r9   xvalobjytshs
   &&&&&     rB   test_zero_size!TestZeroSizeArrays.test_zero_size  s     IIbMyy|!(4y~~"""4y$**qwwr{":::: [[At$!4XXet_		},rxxQ/@@4y~~"""4y"$$$rD   c                6   \         P                  ! ^
4      p\         P                  ! ^4      pV! WB4      pV! V4      P                  ^ 8X  g   Q hV! V4      P                  VP                  VP                  R,          ,           8X  g   Q h\         P                  ! V^ V4      pV! WGVR7      pVP                  RV VP                  3,           VP                  V^,           R ,           pV! V4      P                  ^ 8X  g   Q hV! V4      P                  V8X  g   Q hR# )r   r   rH   NrY  )	r{   rW  r;   r   r9   r[  r\  r]  r^  s	   &&&&     rB   test_zero_size_2#TestZeroSizeArrays.test_zero_size_2  s    
 IIbMyy|!i4y~~"""4y$**qwwr{":::: [[At$!d#XXet_		},rxxQ/@@4y~~"""4y"$$$rD   r!   N)r   r   r   )r   r   r   )r  r  rM   rN   r   )r}   r~   r   r   r*  markparametrizer#   r,   r   r   r_  r   r   rb  r   r   r   s   @rB   rV  rV    s     [[S288J#7#%88J#7#9 :[[YMO[[VY/[[U%7$EF% G 0O:%  [[S288J#7#%88J#7#9 :[[VY/[[U%68K$LM% N 0:%rD   rV  )Nr   N)r!   r\   r"   )r    r   r   ).r  r  numpyr#   scipy._lib._array_apir   r   r   r   r   r*  r   r=  scipy.interpolater	   r
   r   r   r   r   r   r   r   r   r   r   scipy._lib._testutilsr   rd  skip_xp_backendsxfail_xp_backendsrC   rO   rU   r]   r   r   r   r>  rF  r  r  rN  rQ  rT  rV  r!   rD   rB   <module>rl     s    	   +     :;;// KK11 &R 
%G"I26j/h2 h2V$ $C2 C2L|. |.~ ;_J _J  _JD %&U 'UG
/% /%rD   