+
    LV-jfW ã                   ó<  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t
^ RIHtHtHtHtHtHt ^ RIHu 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%H&t&H't'H(t(H)t)H*t* ^ RI+H,t- ^ RI.H/u H,t0 ^ RI1H2t2H3t3H4t4H5t5H6t6 ^ RI7H8t8H9t9 ^ RIH:t:H;t;H<t< ^ RI=H>u H?t@ ^ RIAHBtB ^ R	ICHDtD ^ R
IEHFtF ^ RIHGtH ^ RIHItJ ^ RIHKtK ]P˜                  Pš                  tM]! ]4       ! R R4      4       tN]! ]4       ! R R4      4       tOR tPR tQR tRR tSR tT]
3R ltURPR ltV^#^]
3R ltWR tX ! R R4      tY]! ]4       ! R R4      4       tZR t[RQR  lt\]P˜                  P»                  R!R"R#.4      t^]! ]4       ! R$ R%4      4       t_ ! R& R'4      t`RRR( ltaR) tbR* tc ! R+ R,4      tdR- te]! ])4       ! R. R/4      4       tfR0 tgR1 thR2 ti ! R3 R44      tj]! ](4       ! R5 R64      4       tk ! R7 R84      tl ! R9 R:4      tmR; tnR< to]! ]:4       ! R= R>4      4       tpR? tq ! R@ RA4      tr ! RB RC4      ts]! ];4       ! RD RE]s4      4       tt]! ];4       ! RF RG]s4      4       tu]! ]<4       ! RH RI4      4       tv]! ]<4       ! RJ RK4      4       tw ! RL RM4      tx ! RN RO4      tyR# )Sé    N)Úxp_assert_equalÚxp_assert_closeÚxp_default_dtypeÚ	concat_1dÚmake_xp_test_caseÚxp_ravel)Úraises)ÚBSplineÚBPolyÚPPolyÚmake_interp_splineÚmake_lsq_splineÚsplevÚsplrepÚsplprepÚsplderÚ
splantiderÚsprootÚsplintÚinsertÚCubicSplineÚ	NdBSplineÚmake_smoothing_splineÚRegularGridInterpolator)Ú_not_a_knotÚ_augkntÚ_woodbury_algorithmÚ_periodic_knotsÚ_make_interp_per_full_matr)Ú	FperiodicÚ	root_rati)Úgenerate_knotsÚmake_splrepÚmake_splprep)Ú	AxisError)Ú_run_concurrent_barrier)Úmake_ndbspl)Ú	_dfitpack)Ú	_bsplines)Ú_dierckxc                   ó(  a € ] tR t^1t o R tR tR tR tR tR t	]
! RRR	7      ]
! R
RR	7      ]
! RRR	7      R 4       4       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  tR! tR" tR# t R$ t!R% t"]#PH                  PK                  R&]&! R<^4      4      R' 4       t'R( t(R) t)]#PH                  PK                  R*. R=O4      ]#PH                  PK                  R+]&! ^4      4      R, 4       4       t*R- t+R. t,R/ t-]#PH                  PK                  R0. R>O4      R1 4       t.]#PH                  PK                  R0. R>O4      R2 4       t/R3 t0R4 t1R5 t2]#PH                  Pg                  ]4Pj                  R68H  R7]6R87      R9 4       t7R:t8V t9R;# )?ÚTestBSplinec                óä  € \        \        \        3\        3/ \	        ^R.R.^ R7      B  \
        P                  ! RR7      ;_uu_ 4        \        \        \        3/ \	        ^\
        P                  .R.^ R7      B  RRR4       \        \        \        3/ \	        ^\
        P                  .R.^ R7      B  \        \        \        3/ \	        ^R
.R.^ R7      B  \        \        \        3/ \	        ^.^..R.^ R7      B  \        \        \        3/ \	        . RO^.^ R7      B  \        \        \        3/ \	        . RORR.^R7      B  \        \        \        3/ \	        . RO. RORR7      B  \        \        \        3/ \	        . RO. RORR7      B  \        \        \        3/ \	        . RO. RO^R7      B  ^^r2VP                  W#,           ^,           VP                  R	7      pVP                  \
        P                  P                  V4      4      p\        WEV4      p\        WFP                  4       \        WVP                  4       W6P                   8X  g   Q hR#   + '       g   i     ELê; i)é   ù              ð?ç      ð?©ÚtÚcÚkÚignore)ÚinvalidNÚcubicç      @©Údtypeéÿÿÿÿ©r   r.   é   ©r   r.   r=   é   é   )ç        rA   r0   ç       @ç      @ç      @)r0   r0   r0   )rA   r   r.   r.   r=   r?   )r0   r.   r.   )Úassert_raisesÚ	TypeErrorÚ
ValueErrorr
   ÚdictÚnpÚerrstateÚnanÚinfÚarangeÚfloat64ÚasarrayÚrandomr   r2   r3   r4   )ÚselfÚxpÚnr4   r2   r3   Úbs   &&     Úv/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/interpolate/tests/test_bsplines.pyÚ	test_ctorÚTestBSpline.test_ctor4   sâ  € ä”y¤*Ð-¬wñ 	1Ü˜!˜S˜ b T¨QÔ/ò	1ä�[Š[ ×*Ö*Üœ*¤gÑR´¸¼B¿F¹F¸ÈÀtÈqÔ1QÒR÷ +ä”j¤'ÑN¬T°Q¼¿¹°KÀBÀ4È1Ô-MÒNÜ”j¤'ÑJ¬T°Q¸°GÀ¸tÀqÔ-IÒJÜ”j¤'ÑM¬T°a°S¸1¸#°JÀ2À$È!Ô-LÒMô 	”j¤'ÑK¬T²IÀ!ÀÈÔ-JÒKÜ”j¤'ñ 	<Üš¨R°¨H¸Ô:ò	<ô 	”i¤ñ 	OÜÒ1²\ÀWÔMò	Oä”i¤ñ 	KÜÒ1²\ÀSÔIò	Kô 	”j¤'ñ 	BÜÒ,²
¸aÔ@ò	Bð �1ˆ1Ø�I‰I�a•c˜!•e 2§:¡:ˆIÓ.ˆØ�J‰J”r—y‘y×'Ñ'¨Ó*Ó+ˆÜ�A˜!Óˆä˜Ÿ3™3ÔÜ˜Ÿ3™3ÔØ—C‘CŒxˆŠx÷; +×*Ð*ús   Á
3IÉI/	c                ór  € \        4       pVP                  p\        VP                  V^ ,          RRR7       \        VP                  V^,          RRR7       VP
                  V^,          8X  g   Q h\        P                  ! \        4      ;_uu_ 4        RVn        RRR4       R#   + '       g   i     R# ; i)r   çVçž¯Ò<©ÚatolÚrtolÚfooN)	Ú_make_random_splineÚtckr   r2   r3   r4   Úpytestr	   ÚAttributeError)rQ   rT   r_   s   &  rU   Útest_tckÚTestBSpline.test_tckW   sz   € ÜÓ!ˆØ�e‰eˆä˜Ÿ™˜S �V¨%°eÕ<Ü˜Ÿ™˜S �V¨%°eÕ<Ø�s‰s�c˜!•fŒ}Ðˆ}ô �]Š]œ>×*Õ*ØˆAŒE÷ +×*×*Ò*ús   ÂB%Â%B6	c                ó  € \        VP                  . RO4      VP                  R^.4      ^ R7      pVP                  ^ ^^
4      pVP                  VR8  VP                  RVP                  R7      R4      p\        V! V4      V4       R# )r   r0   rC   r1   r9   rD   N)r   r0   r=   )r
   rO   ÚlinspaceÚwhererN   r   )rQ   rR   rT   ÚxxÚexpecteds   &&   rU   Útest_call_namespaceÚTestBSpline.test_call_namespacec   so   € ô �b—j‘j¢Ó,°·
±
¸BÀ¸7Ó0CÀqÔIˆØ�[‰[˜˜A˜rÓ"ˆà—8‘8˜B ™G R§Z¡Z°¸"¿*¹* ZÓ%EÀsÓKˆÜ™˜"›˜xÖ(ó    c                ó,  € \         P                  ! ^ ^^
4      p\        ^ ^.R.^ R7      p\        V! V4      \         P                  ! V4      R,          4       \        . RO^^.^ R7      p\        V! V4      \         P
                  ! VR8  RR4      4       R# )r   rC   r1   çffffffÖ?rD   N)r   rm   r.   )rI   re   r
   r   Ú	ones_likerf   )rQ   rg   rT   s   &  rU   Útest_degree_0ÚTestBSpline.test_degree_0l   su   € Ü�[Š[˜˜A˜rÓ"ˆä�q˜!�f  ¨Ô*ˆÜ™˜"›œrŸ|š|¨BÓ/°#Õ5Ô6ä’l q¨! f°Ô2ˆÜ™˜"›œrŸxšx¨¨T©	°3¸Ó<Ö=rk   c           
     ó>  € VP                  . RO4      pVP                  . R	O4      p^p\        W#V4      pVP                  RR^2VP                  R7      p\	        V! V4      V^ ,          \        WaR7      ,          V^,          \        V^,
          VR7      ,          ,           V^,          \        V^,
          VR7      ,          ,           RR7       \        \        P                   WbV34      w  rxp	\        WxW”34      p
\	        V! V4      VP                  V
4      RR7       R# )
r   r0   rC   r9   ©rR   ç›+¡†›„=©r[   Nr>   )r0   r=   r?   )	rO   r
   re   rN   r   ÚB_012ÚmaprI   r   )rQ   rR   r2   r3   r4   rT   ÚxÚx_npÚt_npÚc_npÚsplev_results   &&         rU   Útest_degree_1ÚTestBSpline.test_degree_1u   sß   € Ø�J‰J’Ó'ˆØ�J‰J’{Ó#ˆØˆÜ�A˜!Óˆà�K‰K˜˜S "¨B¯J©JˆKÓ7ˆÜÙˆa‹DØˆa�D”�q”Õ  1 Q¥4¬¨a°­c°bÔ(9Õ#9Õ9¸A¸a½DÄÀqÈÅsÈrÔARÕ<RÕRØõ	
ô
 œrŸz™z¨A°!¨9Ó5Ñˆ�DÜ˜T¨$ ?Ó3ˆÜ™˜!›˜bŸj™j¨Ó6¸U×Crk   c                óp  € ^pVP                  ^ .V^,           ,          ^.V^,           ,          ,           4      pVP                  . RO4      p\        VP                  VR4      VP                  ^ ^.4      4      p\        W4V4      pVP	                  R	R^
4      p\        V! VRR7      V! VRR7      RR7       R# )
r?   rB   T©Úextrapolaters   rt   N©r0   rB   rC   rD   )r;   r.   g      ð¿)rO   r   Úreshaper
   re   r   )rQ   rR   r4   r2   r3   ÚbpÚbsplrg   s   &&      rU   Útest_bernsteinÚTestBSpline.test_bernstein…   s�   € àˆØ�J‰J˜�s˜A˜a�C•y A 3¨¨!­¥9Õ,Ó-ˆØ�J‰JÒ'Ó(ˆÜ�2—:‘:˜a Ó)¨2¯:©:°q¸!°fÓ+=Ó>ˆÜ�q˜QÓˆà�[‰[˜˜b "Ó%ˆÜ™˜2¨4Ô0Ù˜R¨TÔ2¸÷	@rk   z
dask.arrayz"_naive_eval is not dask-compatible©Úreasonz	jax.numpyztoo slow; XXX a slow-if marker?Útorchz	OOB on CIc                ó–  € \        VR 7      pVP                  w  r4pVP                  W5,          W5) ^,
          ,          ^24      pV! V4      pTP                  V Uu. uF  p\	        WƒWEVR 7      NK  	  up4      p	\        WyRR7       TP                  V Uu. uF  p\        WƒWEVR 7      NK  	  up4      p
\        WzRR7       R# u upi u upi )rr   rs   rt   N)r^   r_   re   ÚstackÚ_naive_evalr   Ú_naive_eval_2)rQ   rR   rT   r2   r3   r4   rg   Úy_brw   Úy_nÚy_n2s   &&         rU   Útest_rndm_naive_evalÚ TestBSpline.test_rndm_naive_eval‘   s¬   € ô   2Ô&ˆØ—%‘%‰ˆˆaØ�[‰[˜�˜q  A¥�w¨Ó+ˆÙ�‹eˆØ�h‰hÁÓCÁ¸1œ A¨!°2×6ÁÑCÓDˆÜ˜ uÕ-à�x‰xÁ2ÓFÁ2¸aœ q¨Q°b×9Á2ÑFÓGˆÜ˜¨×.ùò	 Dùò Gs   ÁCÂCc           	     óÎ   € \        4       pVP                  w  r#p\        P                  ! W$,          W$) ^,
          ,          ^24      p\	        V! V4      \        WRW434      RR7       R# ©r.   rs   rt   N)r^   r_   rI   re   r   r   ©rQ   rT   r2   r3   r4   rg   s   &     rU   Útest_rndm_splevÚTestBSpline.test_rndm_splev¡   sL   € ÜÓ!ˆØ—%‘%‰ˆˆaÜ�[Š[˜�˜q  A¥�w¨Ó+ˆÜ™˜"›œu R¨Q¨Ó3¸%×@rk   c                ó˜  € \         P                  P                  R 4      p\         P                  ! VP                  ^4      4      pVP                  ^4      p\	        W#4      p\        V!  pVP                  VP                  rv\         P                  ! Wg,          Wg) ^,
          ,          ^P4      p\        V! V4      \        W„4      RR7       R# )éÒ  rs   rt   N)rI   rP   ÚRandomStateÚsortr   r
   r2   r4   re   r   r   )	rQ   Úrngrw   Úyr_   rT   r2   r4   rg   s	   &        rU   Útest_rndm_splrepÚTestBSpline.test_rndm_splrep§   sŠ   € Ü�i‰i×#Ñ# DÓ)ˆÜ�GŠG�C—J‘J˜r“NÓ#ˆØ�J‰J�r‹Nˆä�Q‹lˆÜ�S‰Mˆà�s‰s�A—C‘Cˆ1Ü�[Š[˜�˜q  A¥�w¨Ó+ˆÜ™˜"›œu R›~°E×:rk   c                óZ  € \        VR 7      pVP                  VP                  4      Vn        VP                  VP                  VP
                  ,          VP                  VP
                  ) ^,
          ,          ^dVP                  R7      p\        V! V4      VP                  V4      4       R# )rr   r9   N)r^   rn   r3   re   r2   r4   rN   r   )rQ   rR   rT   rg   s   &&  rU   Útest_rndm_unityÚTestBSpline.test_rndm_unity³   so   € Ü 2Ô&ˆØ�l‰l˜1Ÿ3™3ÓˆŒØ�[‰[˜Ÿ™˜QŸS™S� 1§3¡3¨¯© t¨A¥v¥;°¸2¿:¹:ˆ[ÓFˆÜ™˜"›˜rŸ|™|¨BÓ/Ö0rk   c                óÐ  € \         P                  P                  R 4      p^^rC\         P                  ! VP                  V4      4      pVP                  V^^3R7      p\	        VP
                  WV34      w  rV\        WVV4      pWT,          WT) ^,
          ,          r˜W‰V,
          VP                  VP                  R4      4      ,          ,           p
V! V
4      P                  R8X  g   Q hR# )r™   ©ÚsizeN©r?   r@   é   )r?   r@   r§   é   é   )rI   rP   rš   r›   rv   rO   r
   Úshape)rQ   rR   rœ   rS   r4   r2   r3   rT   ÚtmÚtprg   s   &&         rU   Útest_vectorizationÚTestBSpline.test_vectorization¹   s³   € Ü�i‰i×#Ñ# DÓ)ˆØ�1ˆ1Ü�GŠG�C—J‘J˜q“MÓ"ˆØ�J‰J˜Q  1˜IˆJÓ&ˆÜ�2—:‘: ˜vÓ&‰ˆÜ�A˜!ÓˆØ•�q˜˜A�•wˆBØ˜•7˜bŸj™j¨¯©°IÓ)>Ó?Õ?Õ?ˆÙ�‹u�{‰{˜oÔ-Ð-Ò-rk   c           	     ó   € \         P                  P                  R 4      p^!^r2\         P                  ! VP                  W#,           ^,           4      4      pVP                  V4      p\         P                  WQP                  V^,           4      3,          p\        WEV4      \        WFV4      r‡VR,          V^ ,          ,
          p	\         P                  ! V^ ,          V	,
          VR,          V	,           ^24      p
\        V! V
4      V! V
4      RR7       \        V! V
4      \        W¤WS34      RR7       \        V! V
4      \        W¤Wc34      RR7       R# )r™   rs   rt   Nr;   )	rI   rP   rš   r›   Úr_r
   re   r   r   )rQ   rœ   rS   r4   r2   r3   Úc_padrT   Úb_padÚdtrg   s   &          rU   Ú
test_len_cÚTestBSpline.test_len_cÄ   sö   € ô �i‰i×#Ñ# DÓ)ˆØ�1ˆ1Ü�GŠG�C—J‘J˜q�s 1�uÓ%Ó&ˆØ�J‰J�q‹Mˆô —‘�aŸ™ A a¥C›Ð(Õ)ˆä˜1 Ó#¤W¨Q°qÓ%9ˆ5àˆr�U�Q�q•T�\ˆÜ�[Š[˜˜1� � A b¥E¨B¥J°Ó3ˆÜ™˜"›™u R›y¨uÕ5Ü™˜"›œu R¨Q¨Ó3¸%Õ@Ü™˜"›œu R¨U¨Ó7¸e×Drk   c           	     óÔ   € \        4       pVP                  w  r4pW5,          W5) ^,
          ,          rvR F1  p\        V! Wg.V4      V! VR,           VR,
          .V4      RRR7       K3  	  R# )r.   ç»½×Ùß|Û=ç•Ö&è.>çH¯¼šò×z>rZ   N©TF©r^   r_   r   )	rQ   Únum_parallel_threadsrT   r2   Ú_r4   r«   r¬   Úextraps	   &&       rU   Útest_endpointsÚTestBSpline.test_endpoints×   sb   € äÓ!ˆØ—%‘%‰ˆˆaØ•�q˜˜A�•wˆBã#ˆFÜ™A˜r˜h¨Ó/Ù˜r E�z¨2°­:Ð6¸Ó?ÀdÐQU÷Wó $rk   c           	     óÌ   € \        4       pVP                  w  r4p\        V! W5^,           V) ^,
           R,
          4      V! W5^,           V) ^,
           R,           4      RR7       R# )r.   r·   r¸   rt   Nr»   )rQ   r¼   rT   r2   r½   r4   s   &&    rU   Útest_continuityÚTestBSpline.test_continuityá   sV   € äÓ!ˆØ—%‘%‰ˆˆaÜ™˜!˜a�C   1¥˜+¨Õ-Ó.±°!°aµC¸¸¸1½°+ÀÕ2EÓ0FØ÷	rk   c                ó  € \        VR 7      pVP                  w  r4pVR,          V^ ,          ,
          pVP                  W5,          V,
          W5) ^,
          ,          V,           ^24      pW5,          V8  WsV) ^,
          ,          8  ,          p\        V! Wx,          RR7      V! Wx,          RR7      4       \	        \
        P                  WsV34      w  ršpVP                  \        WšWµ3^ R7      4      p\        V! VRR7      V4       R# )rr   Tr   F)ÚextNr;   )r^   r_   re   r   rv   rI   rO   r   )rQ   rR   rT   r2   r3   r4   r³   rg   ÚmaskÚxx_npry   rz   r{   s   &&           rU   Útest_extrapÚTestBSpline.test_extrapè   sÐ   € Ü 2Ô&ˆØ—%‘%‰ˆˆaØˆr�U�Q�q•T�\ˆØ�[‰[˜� � A b¨¥d¥G¨b¥L°"Ó5ˆØ•�r‘	˜b a R¨¥T¥7™lÕ+ˆô 	™˜"�(°Ô5Ù˜"�(°Ô6ô	8ô  ¤§
¡
¨R°A¨JÓ7Ñˆ�TØ—z‘z¤%¨°d¨ÀAÔ"FÓGˆÜ™˜"¨$Ô/°Ö>rk   c                óì   € \        4       pVP                  w  r#pV^ ,          ^,
          VR,          ^,           .pV! V4      p\        P                  ! \        P                  ! V4      4      '       d   Q hR# )r   Nr;   )r^   r_   rI   ÚallÚisnan)rQ   rT   r2   r½   r4   rg   Úyys   &      rU   Útest_default_extrapÚTestBSpline.test_default_extrapø   sZ   € äÓ!ˆØ—%‘%‰ˆˆaØ��d�Q�h˜˜"� �	Ð"ˆÙˆr‹UˆÜ—6’6œ"Ÿ(š( 2›,×'Ò'Ð'Ð'Ñ'rk   c                ó  € \         P                  P                  R 4      p\         P                  ! VP                  ^4      4      pVP                  ^4      p\	        VP
                  W434      w  r4^p\        W4VRR7      pVP                  ^ ,          V^,           ,
          pVR
,          V^ ,          ,
          pVP                  W5,          V,
          W7,          V,           ^24      p	W5,          W“V,          ,
          W7,          W5,          ,
          ,          ,           p
\	        \         P
                  W£V34      w  r¼p\        V4      VP                  8X  d   RMRp\        V! V	4      VP                  \        W¼WÕ34      4      VR7       VP                  . RO4      p	W5,          W“V,          ,
          W7,          W5,          ,
          ,          ,           p
\        V! V	RR7      V! V
RR7      \        V4      VP                  8X  d   RMRR7       R	# )r™   Úperiodicr   çê-�™—q=gH¯¼šò×Š>rt   Trs   g�íµ ÷Æ >Nr;   )r;   r   ç      à?r.   )rI   rP   rš   r›   rv   rO   r
   rª   re   r   rN   r   r   )rQ   rR   rœ   r2   r3   r4   rT   rS   r³   rg   ÚxyÚxy_npry   rz   r[   s   &&             rU   Útest_periodic_extrapÚ TestBSpline.test_periodic_extrap   sy  € Ü�i‰i×#Ñ# DÓ)ˆÜ�GŠG�C—J‘J˜q“MÓ"ˆØ�J‰J�q‹MˆÜ�2—:‘: ˜vÓ&‰ˆØˆÜ�A˜!¨Ô4ˆØ�G‰G�A�J˜!˜a�%Õ ˆàˆr�U�Q�q•T�\ˆØ�[‰[˜� � A¥D¨2¥I¨rÓ2ˆØ�T�R˜A�$•Y 1¥4¨!­$¥;Õ/Õ/ˆÜ¤§
¡
¨R°A¨JÓ7Ñˆ�TÜ(¨Ó,°·
±
Ô:‰uÀˆÜÙˆb‹E�2—:‘:œe E°$¨?Ó;Ó<À4õ	
ð
 �Z‰ZšÓ(ˆØ�T�R˜A�$•Y 1¥4¨!­$¥;Õ/Õ/ˆÜÙˆb˜jÔ)Ùˆb˜dÔ#Ü*¨2Ó.°"·*±*Ô<‘À$÷	
rk   c                óè   € \        4       pVP                  w  r#p\        P                  ! W#V34      p\        P
                  ! W$,          W$) ,          ^d4      p\        V! V4      V! V4      RRR7       R# )éd   rs   rZ   N)r^   r_   r   Úfrom_splinerI   re   r   )rQ   rT   r2   r3   r4   Úpprg   s   &      rU   Ú
test_ppolyÚTestBSpline.test_ppoly  sY   € ÜÓ!ˆØ—%‘%‰ˆˆaÜ×Ò  a˜yÓ)ˆä�[Š[˜�˜q �u cÓ*ˆÜ™˜"›™r "›v¨E¸×>rk   c           	     óŽ  € \        4       pVP                  w  r#p\        P                  ! V^ ,          VR,          ^24      p\        P                  WR3,          p\        ^V^,           4       F&  p\        WRW43VR7      p\        Wq! WVR7      RR7       K(  	  \        V! WT^,           R7      \        P                  ! V4      RR7       R# )r   ©Úder©Únurs   rt   Nr;   )	r^   r_   rI   re   r°   Úranger   r   Ú
zeros_like)rQ   rT   r2   r3   r4   rg   rà   Úyds   &       rU   Útest_derivative_rndmÚ TestBSpline.test_derivative_rndm#  s“   € ÜÓ!ˆØ—%‘%‰ˆˆaÜ�[Š[˜˜1�˜q �u bÓ)ˆÜ�U‰U�2�5�\ˆä˜˜A˜a�C–=ˆCÜ�r˜q˜9¨#Ô.ˆBÜ˜B  "¤°E×:ñ !ô
 	™˜" 1¥œ¤r§}¢}°RÓ'8¸u×Erk   c                ó\  € ^p. ROp\         P                  P                  R4      p\         P                  ^ ^ VP                  ^4      ^ ^ 3,          p\	        W$V4      p\         P
                  ! . RO4      p\        V! Wf^8g  ,          R,
          4      V! Wf^8g  ,          R,           4      4       \         P                  ! V! R4      V! R4      4      '       d   Q h\         P
                  ! ^^.4      p\        V! VR,
          ^R7      V! VR,           ^R7      4       \         P
                  ! ^^.4      p\         P                  ! V! VR,
          ^R7      V! VR,           ^R7      4      '       d   Q h\         P                  ! V! VR,
          ^R7      V! VR,           ^R7      4      '       d   Q hR# )	r=   r™   r·   rá   N)r;   r;   r   r.   r.   r?   r@   r¨   r¨   r¨   r©   r©   )r.   r?   r@   r¨   g2Hþÿÿÿ@gÎ·   @)rI   rP   rš   r°   r
   rO   r   Úallclose)	rQ   r4   r2   rœ   r3   rT   rw   Úx0Úx1s	   &        rU   Útest_derivative_jumpsÚ!TestBSpline.test_derivative_jumps0  sS  € ð ˆÚ2ˆÜ�i‰i×#Ñ# DÓ)ˆÜ�E‰E�!�Q˜Ÿ
™
 1› q¨!Ð+Õ,ˆÜ�A˜!Óˆô �JŠJ’|Ó$ˆÜ™˜! ™F�) eÕ+Ó,Ù˜! ™F�) eÕ+Ó,ô	.ä—;’;™q ›{©A¨g«J×7Ò7Ð7Ð7ô �ZŠZ˜˜A˜ÓˆÜ™˜"˜u�*¨Ô+Ù˜"˜u�*¨Ô+ô	-ä�ZŠZ˜˜A˜ÓˆÜ—;’;™q  e¥°Ô2±A°b¸5µjÀQÔ4G×HÒHÐHÐHô —;’;™q  U¥¨qÔ1±1°Q¸µYÀ1Ô3E×FÒFÐFÐFÑFrk   c           	     ó  € VP                  R^^4      p\        P                  ! VP                  . R	O4      R7      p\	        \
        P                  W#P                  VP                  34      w  rEpVP                  \        WEWcP                  34      4      p\        V! V4      VRR7       \        V4      VP                  8X  d   RMRp\        V! V4      VP                  \        V4      VP                  R7      VR7       \        P                  ! VP                  . R
O4      R7      pVP                  ^ ^^
VP                  R7      p\        V! V4      VP                  V^8  W",          RV,
          ^,          4      RR7       R# )r.   )r2   rs   rt   r¹   r9   rB   Nr;   ©r   r.   r=   r?   ©r   r.   r.   r=   )re   r
   Úbasis_elementrO   rv   rI   r2   r3   r   r4   r   r   rN   ÚB_0123rf   )	rQ   rR   rg   rT   rÇ   ry   rz   r{   r[   s	   &&       rU   Útest_basis_element_quadraticÚ(TestBSpline.test_basis_element_quadraticJ  s  € Ø�[‰[˜˜Q Ó#ˆÜ×!Ò! B§J¡Jª|Ó$<Ô=ˆä¤§
¡
¨R·±°a·c±c¨NÓ;Ñˆ�TØ—z‘z¤%¨°d¿C¹CÐ/@Ó"AÓBˆÜ™˜"›˜|°%Õ8ä& rÓ*¨b¯j©jÔ8‰U¸dˆÜ™˜"›˜rŸz™z¬&°«*¸B¿J¹J˜zÓGÈdÕSä×!Ò! B§J¡Jª|Ó$<Ô=ˆØ�[‰[˜˜A˜r¨¯©ˆ[Ó4ˆÜ™˜"›Ø—‘˜˜a™ ¥¨¨B­°­
Ó3¸%÷	Ark   c           	     óÌ   € \        4       pVP                  w  r#p\        P                  ! W$,          W$) ^,
          ,          ^4      p\	        V! V4      \        WRW44      RR7       R# r”   )r^   r_   rI   re   r   Ú_sum_basis_elementsr•   s   &     rU   Útest_basis_element_rndmÚ#TestBSpline.test_basis_element_rndmZ  sK   € ÜÓ!ˆØ—%‘%‰ˆˆaÜ�[Š[˜�˜q  A¥�w¨Ó+ˆÜ™˜"›Ô2°2¸!Ó?Àe×Lrk   c                óÊ  € \        4       pVP                  w  r#pVR,          p\        W%V4      p\        W!P                  P                  V4      p\        W!P                  P
                  V4      p\        P                  ! W$,          W$) ^,
          ,          ^4      p\        V! V4      P                  V! V4      RR7       \        V! V4      P
                  V! V4      RR7       R# )r0   rs   rt   Ny      ð?      @)	r^   r_   r
   r3   ÚrealÚimagrI   re   r   )	rQ   rT   r2   r3   r4   ÚccÚb_reÚb_imrg   s	   &        rU   Ú
test_cmplxÚTestBSpline.test_cmplx`  s    € ÜÓ!ˆØ—%‘%‰ˆˆaØ�(�^ˆä�A˜1ÓˆÜ�qŸ#™#Ÿ(™( AÓ&ˆÜ�qŸ#™#Ÿ(™( AÓ&ˆä�[Š[˜�˜q  A¥�w¨Ó+ˆÜ™˜"›Ÿ
™
¡D¨£H°5Õ9Ü™˜"›Ÿ
™
¡D¨£H°5×9rk   c                ó¦   € \         P                  ! VP                  . RO4      4      pVP                  V! VP                  4      4      '       g   Q hR# )r   Nrð   )r
   rñ   rO   rÌ   rK   )rQ   rR   rT   s   && rU   Útest_nanÚTestBSpline.test_nanm  s8   € ä×!Ò! "§*¡*ª\Ó":Ó;ˆØ�x‰x™˜"Ÿ&™&›	×"Ò"Ð"Ò"rk   c                ó   € \        ^VR7      pVP                  w  r4p\        W4V4      pVP                  W5,          W5) ^,
          ,          ^4      p\	        ^V4       F.  pVP                  4       p\        V! Wx4      V! V4      RRR7       K0  	  R# )r§   )r4   rR   rÒ   rZ   N)r^   r_   r
   re   rã   Ú
derivativer   )	rQ   rR   rT   r2   r3   r4   Úb0rg   Újs	   &&       rU   Útest_derivative_methodÚ"TestBSpline.test_derivative_methodr  st   € Ü !¨Ô+ˆØ—%‘%‰ˆˆaÜ�Q˜1ÓˆØ�[‰[˜�˜q  A¥�w¨Ó+ˆÜ�q˜!–ˆAØ—‘“ˆAÜ™B˜r›I¡q¨£u°5¸u×Eó rk   c                óÐ  € \        VR 7      pVP                  w  r4pVP                  W5,          W5) ^,
          ,          ^4      p\        VP	                  4       P                  4       ! V4      V! V4      RRR7       VP                  WDV3^R7      pVP                  WD3^R7      p\        W4V4      p\        VP	                  4       P                  4       ! V4      V! V4      RRR7       R# )rr   rs   rZ   ©ÚaxisN)r^   r_   re   r   Úantiderivativer  r‹   r
   )rQ   rR   rT   r2   r3   r4   rg   s   &&     rU   Útest_antiderivative_methodÚ&TestBSpline.test_antiderivative_method{  sÅ   € Ü 2Ô&ˆØ—%‘%‰ˆˆaØ�[‰[˜�˜q  A¥�w¨Ó+ˆÜ˜×(Ñ(Ó*×5Ñ5Ô7¸Ó;Ù˜"› E°õ	7ð �H‰H�a˜A�Y QˆHÓ'ˆØ�H‰H�a�V !ˆHÓ$ˆÜ�A˜!ÓˆÜ˜×(Ñ(Ó*×5Ñ5Ô7¸Ó;Ù˜"› E°÷	7rk   c           	     ó4  € \         P                  ! VP                  . RO4      4      p\        P                  ! VP                  ^ ^4      RRR7      '       g   Q h\        P                  ! VP                  ^^ 4      RRR7      '       g   Q h\        P                  ! VP                  ^^ 4      RRR7      '       g   Q h\        P                  ! VP                  ^ ^4      RRR7      '       g   Q h\        P                  ! VP                  ^^ 4      RRR7      '       g   Q h\        P                  ! VP                  ^^ 4      RRR7      '       g   Q h\        P                  ! VP                  R^4      RRR7      '       g   Q h\        P                  ! VP                  R^RR7      RRR7      '       g   Q h\        P                  ! VP                  R^RR7      RRR7      '       g   Q h\        P                  ! VP                  ^RRR7      RRR7      '       g   Q h\        P                  ! VP                  ^RRR7      \        P                  ! ^RVP                  4      RR7      '       g   Q hRVn	        VP                  4       pVP                  V! ^4      V! ^ 4      ,
          VP                  R	7      p\        P                  ! VP                  ^ ^4      V4      '       g   Q h\        P                  ! VP                  ^^ 4      RV,          4      '       g   Q h\        P                  ! VP                  RR4      V4      '       g   Q h\        P                  ! VP                  RR4      ^V,          4      '       g   Q h\        VP                  RR
4      VP                  V! R
4      V! R4      ,
          4      4       \        VP                  R
^4      VP                  V! ^4      V! ^ 4      ,
          V! ^4      ,           V! R
4      ,
          4      4       \        VP                  R^4      VP                  V! ^4      V! ^ 4      ,
          V! ^4      ,           V! R
4      ,
          4      4       \        VP                  R
^4      VP                  V! ^4      V! ^ 4      ,
          V! ^4      ,           V! R
4      ,
          ^V,          ,           4      4       \        VP                  ^ R4      VP                  V! ^ 4      V! ^4      ,
          4      4       \        VP                  RR4      VP                  V! ^ 4      V! ^4      ,
          4      4       \        VP                  ^ R4      VP                  V! ^4      V! ^4      ,
          ^V,          ,
          4      4       R# )r   rÓ   rs   ©Úabs_tolrA   Tr   FrÑ   r9   ç      ø?Nr<   r;   ç      à¿i÷ÿÿÿiùÿÿÿiøÿÿÿéüÿÿÿg      +@iöÿÿÿ)r
   rñ   rO   ÚmathÚiscloseÚ	integrateÚ_implr   r_   r€   r  rN   r   )rQ   rR   rT   ÚiÚ
period_ints   &&   rU   Útest_integralÚTestBSpline.test_integral‰  s)  € Ü×!Ò! "§*¡*ªYÓ"7Ó8ˆÜ�|Š|˜AŸK™K¨¨1Ó-¨s¸E×BÓBÐBÐBÜ�|Š|˜AŸK™K¨¨1Ó-¨xÀ×GÓGÐGÐGÜ�|Š|˜AŸK™K¨¨1Ó-¨t¸U×CÓCÐCÐCô �|Š|˜AŸK™K¨¨1Ó-¨s¸E×BÓBÐBÐBÜ�|Š|˜AŸK™K¨¨1Ó-¨xÀ×GÓGÐGÐGÜ�|Š|˜AŸK™K¨¨1Ó-¨t¸U×CÓCÐCÐCô �|Š|˜AŸK™K¨¨AÓ.°¸U×CÓCÐCÐCÜ�|Š|˜AŸK™K¨¨A¸4˜KÓ@À#Èu×UÓUÐUÐUÜ�|Š|˜AŸK™K¨¨A¸5˜KÓAÀ3ÐPU×VÓVÐVÐVÜ�|Š|˜AŸK™K¨¨2¸5˜KÓAÀ4ÐQV×WÓWÐWÐWô �|Š|˜AŸK™K¨¨2¸5˜KÓAÜ!ŸLšL¨¨B°·±Ó6À÷Gó Gð 	Gð Gð #ˆŒØ×ÑÓˆØ—Z‘Z¡ !£¡q¨£t¥°2·:±:�ZÓ>ˆ
ä�|Š|˜AŸK™K¨¨1Ó-¨z×:Ò:Ð:Ð:Ü�|Š|˜AŸK™K¨¨1Ó-¨r°J­×?Ò?Ð?Ð?Ü�|Š|˜AŸK™K¨¨BÓ/°×<Ò<Ð<Ð<Ü�|Š|˜AŸK™K¨¨BÓ/°°Zµ×@Ò@Ð@Ð@ä˜Ÿ™ C¨Ó-ØŸ
™
¡1 S£6©A¨c«F¥?Ó3ô	5ä˜Ÿ™ C¨Ó+ØŸ
™
¡1 Q£4©!¨A«$¥;±°1³Õ#5¹¸#»Õ#>Ó?ô	Aä˜Ÿ™ H¨fÓ5ØŸ
™
¡1 Q£4©!¨A«$¥;±°1³Õ#5¹¸#»Õ#>Ó?ô	Aä˜Ÿ™ C¨Ó0ØŸ
™
¡1 Q£4©!¨A«$¥;±°1³Õ#5¹¸#»Õ#>ÀÀZÅÕ#OÓPô	Rô 	˜Ÿ™ A rÓ*¨B¯J©J±q¸³t¹aÀ»dµ{Ó,CÔDÜ˜Ÿ™ B¨Ó,¨b¯j©j¹¸1»ÁÀ!Ã½Ó.EÔFÜ˜Ÿ™ A rÓ*ØŸ
™
¡1 Q£4©!¨A«$¥;°°ZµÕ#?Ó@ö	Brk   c                óÈ   € . ROp\        W4      pRVn        \        P                  ! V4      pR F/  w  rE\	        VP                  WE4      VP                  WE4      4       K1  	  R# )r   rÑ   Nr>   ))éûÿÿÿrÓ   )rÓ   r§   )r  é   )r   r€   r   rÚ   r   r  )rQ   rw   rT   Úprê   rë   s   &     rU   Útest_integrate_ppolyÚ TestBSpline.test_integrate_ppoly¶  sS   € âˆÜ˜qÓ$ˆØ"ˆŒÜ×Ò˜aÓ ˆã5‰FˆBÜ˜AŸK™K¨Ó/ØŸK™K¨Ó/ö1ó 6rk   c                óÚ   € \         P                  ! . RO4      pR FL  pVP                  ^ ^VR7      p\        V\        P
                  4      '       g   Q hVP                  ^ 8X  d   KL  Q h	  R# )r   r   Nr<   rº   )r
   rñ   r  Ú
isinstancerI   ÚndarrayÚndim)rQ   rT   r€   Úress   &   rU   Útest_integrate_0D_alwaysÚ$TestBSpline.test_integrate_0D_alwaysÁ  sW   € ä×!Ò!¢)Ó,ˆÛ(ˆKØ—+‘+˜a °�+Ó<ˆCÜ˜c¤2§:¡:×.Ò.Ð.Ð.Ø—8‘8˜q–=Ð �=ó )rk   c                óô   €  ! R  R\         4      pVP                  . RO4      pVP                  V8X  g   Q hVP                  4       P                  V8X  g   Q hVP	                  4       P                  V8X  g   Q hR# )c                   ó   € ] tR tRtRtR# )Ú'TestBSpline.test_subclassing.<locals>.BiË  © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r.  rk   rU   ÚBr-  Ë  s   † Ûrk   r4  N)r   r.   r=   r=   )r
   rñ   Ú	__class__r  r  )rQ   r4  rT   s   &  rU   Útest_subclassingÚTestBSpline.test_subclassingÉ  sg   € ô	”ô 	ð �O‰OšLÓ)ˆØ�{‰{˜aÔÐÐØ�|‰|‹~×'Ñ'¨1Ô,Ð,Ð,Ø×ÑÓ!×+Ñ+¨qÔ0Ð0Ò0rk   r  c                óþ  € ^^rCVP                  ^ ^W4,           ^,           4      p. ROpV^,          pVP                  Ws4       \        V4      p\        P                  P                  R4      pVP                  VP	                  VR7      4      p	\        WYWAR7      p
V
P                  P                  Wg,          3VRV ,           Wg^,           R ,           8X  g   Q hVP	                  R4      pV
! V4      P                  VRV VP                  ,           Wg^,           R ,           8X  g   Q hV	P                  ) ^,
          V	P                  3 F#  p\        \        \        3/ \        WYWKR7      B  K%  	  \        WYWAR7      P                  4       \        WYWAR7      P                  ^4      \        WYWAR7      P                  4       \        WYWAR7      P                  ^4      3 F   pVP                   V
P                   8X  d   K   Q h	  R# )é   r™   r¤   r  N)r2   r3   r4   r  ©r¨   r©   é   r¦   )re   r   ÚtuplerI   rP   rš   rO   r
   r3   rª   r'  rE   r%   rH   r  r  r  )rQ   r  rR   rS   r4   r2   ÚshÚpos_axisrœ   r3   rT   ÚaxÚb1s   &&&          rU   Ú	test_axisÚTestBSpline.test_axisÓ  s£  € à�1ˆ1Ø�K‰K˜˜1˜a�e a�iÓ(ˆÚˆð ˜!•8ˆØ
�	‰	�(ÔÜ�2‹YˆÜ�i‰i×#Ñ# DÓ)ˆØ�J‰J�s—z‘z r�zÓ*Ó+ˆÜ�A˜!Ô'ˆØ�s‰s�y‰y˜R�\˜O¨b°°(¨mÕ;¸bÈ!ÅÀ¸oÕMÔMÐMÐMà�Z‰Z˜	Ó"ˆÙ�‹u�{‰{˜b  (˜m¨b¯h©hÕ6¸ÀQ½J¸K¸ÕHÔHÐHÐHð —F‘F�7˜Q•; §¡Ó'ˆBÜœ)¤Wñ :Ü  1¨QÔ8ô:ñ (ô
 ˜1 Ô.×9Ñ9Ó;Ü˜1 Ô.×9Ñ9¸!Ó<Ü˜1 Ô.×=Ñ=Ó?Ü˜1 Ô.×=Ñ=¸aÓ@óBˆBð —7‘7˜aŸf™fÖ$Ð$Ð$ó	Brk   c           	     ó$  € ^pVP                  . RO4      pVP                  . RO. RO.4      p\        W4VRR7      p\        W4R,          V4      p\        W4R	,          V4      p\        V! R4      VP                  V! R4      V! R4      .4      4       R# )
r=   r  r8   N)r   r.   r=   r?   r@   r§   r¨   r;   )r;   r=   r   r;   )r=   r   éýÿÿÿr.   )r   ºNNN)r.   rE  )rO   r
   r   r‹   )rQ   rR   r4   r2   r3   ÚsplÚspl0Úspl1s   &&      rU   Útest_neg_axisÚTestBSpline.test_neg_axisñ  s{   € ØˆØ�J‰JÒ,Ó-ˆØ�J‰JšªÐ6Ó7ˆä�a˜A BÔ'ˆÜ�q˜D�' 1Ó%ˆÜ�q˜D�' 1Ó%ˆÜ™˜C› "§(¡(©D°«I±t¸C³yÐ+AÓ"BÖCrk   c                ó®   € R p^p^pR F  pV! W#V4       K  	  \        ^^^4       F  pV! W#R4       K  	  ^p\        ^^4       F  pV! W#R4       K  	  R# )a  
Splines with different boundary conditions are built on different
types of vectors of knots. As far as design matrix depends only on
vector of knots, `k` and `x` it is useful to make tests for different
boundary conditions (and as following different vectors of knots).
c                ó„  € \         P                  P                  R4      p\         P                  ! VP	                  V 4      ^(,          ^,
          4      pVP	                  V 4      ^(,          ^,
          pVR8X  d   VR,          V^ &   \        WEWR7      p\         P                  ! \        VP                  4      V,
          ^,
          4      p\        VP                  Wq4      ! V4      p\        P                  ! VVP                  V4      P                  4       p	\        W–P                  ,          VRR7       \        W‰RR7       R# )zA
To avoid repetition of code the following function is provided.
r™   rÑ   ©r4   Úbc_typers   rt   Nr;   )rI   rP   rš   r›   Úrandom_sampler   ÚeyeÚlenr2   r
   Údesign_matrixÚtoarrayr   r3   )
rS   r4   rN  rœ   rw   r�   r„   r3   Údes_matr_defÚdes_matr_csrs
   &&&       rU   Úrun_design_matrix_testsÚHTestBSpline.test_design_matrix_bc_types.<locals>.run_design_matrix_tests  sï   € ô —)‘)×'Ñ'¨Ó-ˆCÜ—’˜×)Ñ)¨!Ó,¨rÕ1°BÕ6Ó7ˆAØ×!Ñ! !Ó$ rÕ)¨BÕ.ˆAØ˜*Ô$Ø˜•u��!‘ä% a¨aÔAˆDä—’”s˜4Ÿ6™6“{ Q•¨Õ*Ó+ˆAÜ" 4§6¡6¨1Ô0°Ó3ˆLÜ"×0Ò0°Ø15·±Ø12ó4ç4;±G³Ið ô ˜L¯6©6Õ1°1¸5ÕAÜ˜L¸U×Crk   ú
not-a-knotrÑ   N©ÚclampedÚnatural)rã   )rQ   rV  rS   r4   Úbcs   &    rU   Útest_design_matrix_bc_typesÚ'TestBSpline.test_design_matrix_bc_typesû  sg   € ò	Dð* ˆØˆÛ(ˆBÙ# A¨"Ö-ñ )ô �q˜!˜Q–ˆAÙ# A¨,Ö7ñ  ð ˆÜ�q˜!–ˆAÙ# A¨*Ö5ó rk   r€   Údegreec           	     óX  € \         P                  P                  R4      pVP                  ^
V^,           ,          4      p\         P                  ! V4      \         P
                  ! V4      reTp\         P                  \         P                  ! V^,
          V^,
          V4      \         P                  ! WV^V^,           ,          4      \         P                  ! V^,           V^,           V4      3,          p\         P                  ! \        V4      V,
          ^,
          4      p	\        W‰Wq4      p
\        V
! V4      \        P                  ! WHWq4      P                  4       4       \         P                  ! V^
,
          V^,
          VR,           V^
,           .4      pV'       gE   \        P                   ! \"        4      ;_uu_ 4        \        P                  ! WHWq4       RRR4       R# \        V
! V4      \        P                  ! WHWq4      P                  4       4       R#   + '       g   i     R# ; i)z;Test that design_matrix(x) is equivalent to BSpline(..)(x).r™   r  N)rI   rP   rš   rO  ÚaminÚamaxr°   re   rP  rQ  r
   r   rR  rS  Úarrayr`   r	   rG   )rQ   r€   r_  rœ   rw   ÚxminÚxmaxr4   r2   r3   Úbsplines   &&&        rU   Ú'test_design_matrix_same_as_BSpline_callÚ3TestBSpline.test_design_matrix_same_as_BSpline_call%  s~  € ô �i‰i×#Ñ# DÓ)ˆØ×Ñ˜b F¨Q¥JÕ/Ó0ˆÜ—W’W˜Q“Z¤§¢¨£ˆdØˆÜ�E‰E”"—+’+˜d Q�h¨¨q­°&Ó9Ü—+’+˜d¨!¨v¸­zÕ*:Ó;Ü—+’+˜d Q�h¨¨q­°&Ó9ð:õ ;ˆô �FŠF”3�q“6˜A•: •>Ó"ˆÜ˜! Ó/ˆÜÙ�A‹Jœ×-Ò-¨a°AÓC×KÑKÓMô	
ô
 �HŠH�d˜R•i ¨¥¨4°#­:°t¸bµyÐAÓBˆßÜ—’œz×*Õ*Ü×%Ò% a¨AÔ;÷ +Ñ*ô Ù˜“
Ü×%Ò% a¨AÓ;×CÑCÓEö÷ +×*Ð*ús   Æ?HÈH)	c                óà  € \         P                  P                  R 4      p^
p^p\         P                  ! VP	                  V4      ^(,          ^,
          4      pVP	                  V4      ^(,          ^,
          p\        WEVR7      p\        ^^4       F[  pVRV pVRV p	\        P                  ! VVP                  V4      P                  4       p
\        W¦P                  ,          V	RR7       K]  	  R# )r™   ©r4   Nrs   rt   )rI   rP   rš   r›   rO  r   rã   r
   rR  r2   rS  r   r3   )rQ   rœ   rS   r4   rw   r�   r„   r  ÚxcÚycrU  s   &          rU   Útest_design_matrix_x_shapesÚ'TestBSpline.test_design_matrix_x_shapesA  sÊ   € ä�i‰i×#Ñ# DÓ)ˆØˆØˆÜ�GŠG�C×%Ñ% aÓ(¨2Õ-°Õ2Ó3ˆØ×Ñ˜aÓ  2Õ%¨Õ*ˆä! !¨!Ô,ˆÜ�q˜!–ˆAØ�2�A�ˆBØ�2�A�ˆBÜ"×0Ò0°Ø15·±Ø12ó4ç4;±G³Ið ô ˜L¯6©6Õ1°2¸E×Bó rk   c                ó|   € . ROp\         P                  ! RV^4      P                  4       p\        V. RO.RR7       R# )r0   rB   rs   rt   N)r0   r0   r0   rB   rC   rD   rD   rD   )g      Ð?gm‰à¨ªªâ?gKÚ}\UUÅ?rA   )r
   rR  rS  r   )rQ   r2   Údes_matrs   &  rU   Útest_design_matrix_t_shapesÚ'TestBSpline.test_design_matrix_t_shapesR  s7   € â,ˆÜ×(Ò(¨¨Q°Ó2×:Ñ:Ó<ˆÜ˜Ú;Ð<Ø"÷	$rk   c           	     óp  € \         P                  P                  R 4      p^
p^p\         P                  ! VP	                  V4      ^(,          ^,
          4      pVP	                  V4      ^(,          ^,
          p\        WEVR7      p\        \        4      ;_uu_ 4        \        P                  ! WFP                  RRR1,          V4       RRR4       ^p. ROp. ROp\        \        4      ;_uu_ 4        \        P                  ! WGV4       RRR4       R#   + '       g   i     LS; i  + '       g   i     R# ; i)r™   rj  Nr;   )rA   r0   rB   rC   rD   ç      @r�   )rI   rP   rš   r›   rO  r   rE   rG   r
   rR  r2   )rQ   rœ   rS   r4   rw   r�   r„   r2   s   &       rU   Útest_design_matrix_assertsÚ&TestBSpline.test_design_matrix_assertsZ  sÞ   € Ü�i‰i×#Ñ# DÓ)ˆØˆØˆÜ�GŠG�C×%Ñ% aÓ(¨2Õ-°Õ2Ó3ˆØ×Ñ˜aÓ  2Õ%¨Õ*ˆÜ! !¨!Ô,ˆô œ:×&Õ&Ü×!Ò! !§V¡V©D¨b¨D¥\°1Ô5÷ 'àˆÚ$ˆÚˆäœ:×&Õ&Ü×!Ò! !¨Ô*÷ 'Ñ&÷ '×&ú÷ '×&Ð&ús   Â,DÃ/D$ÄD!	Ä$D5	rN  c                óà  € \         P                  P                  R 4      p\         P                  ! VP                  ^4      4      pVP                  ^4      pVR8X  d   V^ ,          VR&   \	        W4VR7      p\
        P                  ! WQR7      p\         P                  ! ^ ^^4      p\        V! V4      V! V4      RR7       \        W4VR7      p\        VP                  VP                  RR7       R# )r™   rÑ   ©rN  rY   rt   Nr;   )rI   rP   rš   r›   r   r
   Úfrom_power_basisre   r   r   r3   )	rQ   rN  rœ   rw   r�   Úcbr„   rg   Úbspl_news	   &&       rU   Útest_from_power_basisÚ!TestBSpline.test_from_power_basisl  s²   € ô �i‰i×#Ñ# DÓ)ˆÜ�GŠG�C—J‘J˜r“NÓ#ˆØ�J‰J�r‹NˆØ�jÔ Ø�a•DˆAˆb‰EÜ˜ wÔ/ˆÜ×'Ò'¨Ô<ˆÜ�[Š[˜˜A˜rÓ"ˆÜ™˜2›¡ R£¨uÕ5Ü% a°GÔ<ˆÜ˜Ÿ™ §
¡
°×7rk   c                ó(  € \         P                  P                  R 4      p\         P                  ! VP                  ^4      4      pVP                  ^4      VP                  ^4      R,          ,           pVR8X  d   V^ ,          VR&   \	        W4VR7      p\
        P                  ! WQR7      p\        W4P                  VR7      p\        W4P                  VR7      p\        VP                  VP                  RVP                  ,          ,           RR7       R# )r™   r/   rÑ   rx  rY   rt   Nr;   )rI   rP   rš   r›   r   r
   ry  r   rú   rû   r   r3   )	rQ   rN  rœ   rw   r�   rz  r„   Úbspl_new_realÚbspl_new_imags	   &&       rU   Útest_from_power_basis_complexÚ)TestBSpline.test_from_power_basis_complex|  sÀ   € ô �i‰i×#Ñ# DÓ)ˆÜ�GŠG�C—J‘J˜r“NÓ#ˆØ�J‰J�r‹N˜SŸZ™Z¨›^¨bÕ0Õ0ˆØ�jÔ Ø�a•DˆAˆb‰EÜ˜ wÔ/ˆÜ×'Ò'¨Ô<ˆÜ*¨1¯f©f¸gÔFˆÜ*¨1¯f©f¸gÔFˆÜ˜Ÿ™ §¡°"°}·±Õ2FÕ FÈU×Srk   c                óà   € \         P                  ! . RO4      p\         P                  ! . RO4      p\        P                  ! \	        WRR7      RR7      p\        VP                  . RORR7       R# )	a5  
For x = [0, 1, 2, 3, 4] and y = [1, 1, 1, 1, 1]
the coefficients of Cubic Spline in the power basis:

$[[0, 0, 0, 0, 0],\$
$[0, 0, 0, 0, 0],\$
$[0, 0, 0, 0, 0],\$
$[1, 1, 1, 1, 1]]$

It could be shown explicitly that coefficients of the interpolating
function in B-spline basis are c = [1, 1, 1, 1, 1, 1, 1]
r[  rx  rY   rt   Nr>   )r.   r.   r.   r.   r.   )r0   r.   r.   r.   r.   r.   r.   )rI   rc  r
   ry  r   r   r3   )rQ   rw   r�   r„   s   &   rU   Útest_from_power_basis_exmpÚ&TestBSpline.test_from_power_basis_exmp‹  sM   € ô �HŠH’_Ó%ˆÜ�HŠH’_Ó%ˆÜ×'Ò'¬°AÀ)Ô(LØ09ô;ˆä˜Ÿ™Ò 7¸e×Drk   c                ót  € \         P                  ! ^ ^.4      p\         P                  ! R.4      pVP                  RR7       VP                  RR7       \         P                  ! ^ ^^
4      pVP                  RR7       \	        W^ R7      p\        V! V4      \         P                  ! V4      R,          4       R# )r   rC   F©Úwriter1   N)rI   rc  Úsetflagsre   r
   r   rn   )rQ   r2   r3   rg   rT   s   &    rU   Útest_read_onlyÚTestBSpline.test_read_onlyž  s‡   € ä�HŠH�a˜�VÓˆÜ�HŠH�c�U‹OˆØ	�
‰
˜ˆ
ÔØ	�
‰
˜ˆ
Ôä�[Š[˜˜A˜rÓ"ˆØ
�‰˜%ˆÔ ä�a Ô"ˆÜ™˜"›œrŸ|š|¨BÓ/°#Õ5Ö6rk   c                óD   a€ \        SR 7      pV3R lp\        ^
W24       R# )rr   c                 ó„   <€ VP                   w  r pSP                  W#,          W#) ^,
          ,          R4      pV! V4       R# )r.   i'  N)r_   re   )r½   rT   r2   r4   rg   rR   s   &&   €rU   Ú	worker_fnÚ/TestBSpline.test_concurrency.<locals>.worker_fn¯  s3   ø€ Ø—e‘e‰GˆA�!Ø—‘˜Q�T 1 R¨¥T¥7¨EÓ2ˆBÙˆbŽErk   N)r^   r&   )rQ   rR   rT   rŽ  s   &f  rU   Útest_concurrencyÚTestBSpline.test_concurrency«  s   ø€ ä 2Ô&ˆõ	ô
 	   IÖ1rk   Úcygwinz'threading.get_native_id not implemented)rˆ   r	   c           	     ót  € \        4       p\        P                  ! ^ ^^
4      pV! V4      p\        P                  ! 4       p\        P
                  ! \        VP                  RV R24      4      RVP                  P                  VP                  P                  R7      pVP                  VR&   \        P
                  ! \        VP                  RV R24      4      RVP                  P                  VP                  P                  R7      pVP                  VR&   Wbn        Wrn        \        V! V4      V4       R# )r   r2   z.datzw+)Úmoder:   rª   rE  r3   N)r^   rI   re   Ú	threadingÚget_native_idÚmemmapÚstrÚjoinr2   r:   rª   r3   r   )rQ   ÚtmpdirrT   rg   rh   ÚtidÚt_mmÚc_mms   &&      rU   Útest_memmapÚTestBSpline.test_memmap·  sá   € ô  Ó!ˆÜ�[Š[˜˜A˜rÓ"ˆá�R“5ˆä×%Ò%Ó'ˆÜ�yŠyœ˜VŸ[™[¨1¨S¨E°¨Ó7Ó8¸tØ Ÿs™sŸy™y°·±·	±	ô;ˆà—#‘#ˆˆQ‰Ü�yŠyœ˜VŸ[™[¨1¨S¨E°¨Ó7Ó8¸tØ Ÿs™sŸy™y°·±·	±	ô;ˆà—#‘#ˆˆQ‰ØŒØŒä™˜"›˜xÖ(rk   r.  Nr  )FTrÑ   )r[  rZ  rÑ   rX  ):r/  r0  r1  r2  rV   rb   ri   ro   r|   r…   Úskip_xp_backendsr‘   r–   rž   r¡   r­   r´   r¿   rÂ   rÈ   rÎ   rÖ   rÜ   ræ   rì   ró   r÷   rÿ   r  r  r  r  r"  r)  r6  r`   ÚmarkÚparametrizerã   rA  rI  r]  rg  rm  rq  ru  r|  r�  r„  rŠ  r�  ÚxfailÚsysÚplatformra   rž  r3  Ú__classdictcell__©Ú__classdict__s   @rU   r,   r,   1   s  ø‡ € ò!òF
ò)ò>òDò 
@ñ �lÐ+OÔPÙ�kÐ*KÔLÙ�g kÔ2ñ/ó 3ó Mó Qð/òAò
;ò1ò	.òEò&Wòò?ò (ò
ò6?òFòGò4Aò Mò:ò#ò
Fò7ò+BòZ	1ò!ò1ð ‡[�[×Ñ˜V¡U¨2¨q£\Ó2ñ%ó 3ð%ò:Dò(6ðT ‡[�[×Ñ˜]Ò,EÓFØ‡[�[×Ñ˜X¡u¨Q£xÓ0ñó 1ó Gðò4Cò"$ò+ð$ ‡[�[×Ñ˜Yò )Có Dñ8óDð8ð ‡[�[×Ñ˜Yò )Có DñTóDðTòEò&7ò	2ð ‡[�[×ÑØ�‰˜Ñ Ø8Øð ó ñ
)óö
)rk   r,   c                   óR  a € ] tR tRt o ]P
                  P                  R. RO4      R 4       t]P
                  P                  R. RO4      R 4       tR t	]P
                  P                  R. RO4      R 4       t
]P
                  P                  R	R
R.4      R 4       tR tR tRtV tR
# )Ú
TestInsertiÔ  Úxvalc           	     ó  € VP                  ^VP                  R7      pVP                  V4      ^,          p\        W4^R7      pVP                  VP
                  VP                  3p\        \        W4      !  pVP                  V4      p\        VP                  VP                  VP                  4      RR7       \        VP                  VP                  VP                  RVP                  ) ^,
           4      RR7       WR	,          8w  d   TMVRR	 p	VP                  V	RVR,          VRR	 ,           ,          34      p	\        V! V	4      V! V	4      RR7       VP                  V4      ^,          p
\        W:^R7      p\        W2P!                  WJ3^R7      ^R7      pVP                  V4      p\        VP                  VP                  RR7       \        VP                  VP!                  VP                  V4      P                  VP                  V4      P                  3^R7      RR7       WR	,          8w  d   TMVRR	 p	VP                  V	RVR,          VRR	 ,           ,          34      p	\        V! V	4      V! V	4      RR7       R# )
r;  r9   rj  rY   rt   NrÓ   ºr.   NNr  r;   )rM   rN   Úsinr   Ú_tÚ_cr4   r
   r   Úinsert_knotr   r2   rO   r3   ÚconcatÚcosr‹   )rQ   r«  rR   rw   r�   rF  r_   Úspl_1fÚspl_1rg   Úy1Úspl_y1Úspl_yyÚspl_yy1s   &&&           rU   Útest_insertÚTestInsert.test_insert×  sÿ  € ð �I‰I�a˜rŸz™zˆIÓ*ˆØ�F‰F�1‹I�q�LˆÜ  ¨Ô+ˆà�v‰v�s—v‘v˜sŸu™uÐ%ˆÜœ& Ó+Ñ,ˆØ—‘ Ó%ˆä˜Ÿ™ §¡¨F¯H©HÓ!5¸EÕBÜ˜Ÿ™ §¡¨F¯H©H°Y°s·u±u°f¸QµhÐ,?Ó!@ÀuÕMð ˜B�%”-‰Q Q s¨ VˆØ�Y‰Y˜˜C  2¥¨¨3¨B¨¥Õ0Ð1Ó2ˆÜ™˜B›¡ r£°Õ7ð �V‰V�A‹Y˜�\ˆÜ# A¨QÔ/ˆÜ# A§x¡x°°¸a xÓ'@ÀAÔFˆØ×$Ñ$ TÓ*ˆä˜Ÿ	™	 5§7¡7°Õ7ÜØ�I‰IØ�H‰H�c—o‘o dÓ+×-Ñ-¨v×/AÑ/AÀ$Ó/G×/IÑ/IÐJÐQRˆHÓSØõ	
ð ˜B�%”-‰Q Q s¨ VˆØ�Y‰Y˜˜C  2¥¨¨3¨B¨¥Õ0Ð1Ó2ˆÜ™˜r›
¡G¨B£K°e×<rk   zxval, mc           	     ó¶  € VP                  ^VP                  R7      pVP                  V4      ^,          p\        WE^R7      p\	        \        WP                  VP                  VP                  3VR7      !  pVP                  W4      p\        VP                  VP                  VP                  4      RR7       \        VP                  VP                  VP                  RVP                  ) ^,
           4      RR7       WR	,          8w  d   TMVRR	 p	VP                  V	RVR,          VRR	 ,           ,          34      p	\        V! V	4      V! V	4      RR7       R# )
r;  r9   rj  ©ÚmrY   rt   NrÓ   r­  r;   )rM   rN   r®  r   r
   r   r¯  r°  r4   r±  r   r2   rO   r3   r²  )
rQ   r«  r¾  rR   rw   r�   rF  r´  rµ  rg   s
   &&&&      rU   Útest_insert_multiÚTestInsert.test_insert_multiü  s  € ð �I‰I�a˜rŸz™zˆIÓ*ˆØ�F‰F�1‹I�q�LˆÜ  ¨Ô+ˆäœ& ¯©°·±¸¿¹Ð'>À!ÔDÑEˆØ—‘ Ó(ˆä˜Ÿ™ §¡¨F¯H©HÓ!5¸EÕBÜ˜Ÿ™ §¡¨F¯H©H°Y°s·u±u°f¸QµhÐ,?Ó!@ÀuÕMà˜B�%”-‰Q Q s¨ VˆØ�Y‰Y˜˜C  2¥¨¨3¨B¨¥Õ0Ð1Ó2ˆÜ™˜B›¡ r£°×7rk   c                óz  € \         P                  P                  R 4      p^^rCVP                  \         P                  ! VP                  W4,           ^,           R7      4      4      pVP                  VP                  V^^3R7      4      p\        WVV4      pVP                  VP                  WT^,           ,          WT) ^,
          ,          R7      4      pVP                  V4      p	VP                  VP                  WT^,           ,          WT) ^,
          ,          ^!R7      4      p
\        V! V
4      V	! V
4      RR7       R# )é90  r¤   )ÚlowÚhigh©rÃ  rÄ  r¥   rY   rt   N)	rI   rP   Údefault_rngrO   r›   Úuniformr
   r±  r   )rQ   rR   rœ   rS   r4   r2   r3   rF  Úxvrµ  rg   s   &&         rU   Útest_insert_randomÚTestInsert.test_insert_random  sæ   € Ü�i‰i×#Ñ# EÓ*ˆØ�1ˆ1à�J‰J”r—w’w˜sŸ{™{°µ°Aµ˜{Ó6Ó7Ó8ˆØ�J‰J�s—{‘{¨¨A¨q¨	�{Ó2Ó3ˆÜ�a˜AÓˆà�Z‰Z˜Ÿ™¨¨A­#­°Q°r¸!µtµW˜Ó=Ó>ˆØ—‘ Ó#ˆà�Z‰Z˜Ÿ™¨¨A­#­°Q°r¸!µtµWÀ2˜ÓFÓGˆÜ™˜B›¡ r£°×7rk   rÈ  c                óÜ  € VP                  ^VP                  R7      pVP                  V4      ^,          p\        W4^R7      w  rVp\	        VP
                  WV34      w  rV\        WVVRR7      pVP                  V4      p	\        WP                  RR7      w  r«p\        V	P                  VP                  V
4      RR7       \        V	P                  R	V) ^,
           VP                  VR	V) ^,
           4      RR7       \        P                  P                  R
4      P!                  ^ ^^)R7      pVP                  V4      p\        V	! V4      VP                  \#        WÊW·34      4      RR7       R	# )r;  r9   rj  rÑ   r   T©ÚperrY   rt   Nr™   rÅ  )rM   rN   r®  r   rv   rO   r
   r±  r   r_   r   r2   r3   rI   rP   rÆ  rÇ  r   )rQ   rÈ  rR   rw   r�   r2   r3   r4   rF  rµ  ÚtfÚcfrÇ   rg   s   &&&           rU   Útest_insert_periodicÚTestInsert.test_insert_periodic  s  € ð �I‰I�a˜rŸz™zˆIÓ*ˆØ�F‰F�1‹I�q�LˆÜ˜ Ô#‰ˆˆaÜ�2—:‘: ˜vÓ&‰ˆÜ�a˜A¨:Ô6ˆà—‘ Ó#ˆÜ˜2Ÿw™w¨DÔ1‰	ˆ�ä˜Ÿ™ §¡¨B£°eÕ<Ü˜Ÿ™  !  A¥˜¨¯
©
°2°e¸°r¸!µt°9Ó(=ÀEÕJä—	‘	×%Ñ% dÓ+×3Ñ3¸ÀÈÐ3ÓKˆØ�Z‰Z˜ÓˆÜ™˜b›	 2§:¡:¬e°EÀ¸;Ó.GÓ#HÈu×Urk   r€   NrÑ   c                ó®  € VP                  ^VP                  R7      ^,          \        P                  ,          pVP	                  V4      VP                  V4      rT\        W4RV,          ,           ^R7      pWn        \        W4^R7      pWn        \        W5^R7      pWn        Rp	VP                  V	4      p
VP                  V	4      pVP                  V	4      p\        V
P                  VP                  RR7       \        V
P                  VP                  RR7       \        V
P                  VP                  RVP                  ,          ,           RR7       R# )r;  r9   r/   rj  ç      @rY   rt   N)rM   rN   rI   Úpir®  r³  r   r€   r±  r   r2   r3   )rQ   r€   rR   rw   Úy_reÚy_imrF  Úspl_reÚspl_imrÈ  rµ  Úspl_1reÚspl_1ims   &&&          rU   Útest_complexÚTestInsert.test_complex0  sö   € à�I‰I�a˜rŸz™zˆIÓ*¨QÕ.´·±Õ6ˆØ—V‘V˜A“Y §¡ q£	ˆdä  ¨2¨d­7¥N°aÔ8ˆØ%Œä# A¨qÔ1ˆØ(Ôä# A¨qÔ1ˆØ(ÔàˆØ—‘ Ó#ˆØ×$Ñ$ RÓ(ˆØ×$Ñ$ RÓ(ˆä˜Ÿ™ §¡°Õ7Ü˜Ÿ™ §¡°Õ7Ü˜Ÿ™ §¡¨R°·	±	­\Õ!9À×Frk   c                ó  € R p^p\         P                  ! ^ .V^,           ,          . RO,           ^.V^,           ,          ,           4      p\         P                  ! \        V4      V,
          ^,
          4      p\	        W4VRR7      p\        \        4      ;_uu_ 4        \        WWB3RR7       RRR4       \        \        4      ;_uu_ 4        VP                  V4       RRR4       R#   + '       g   i     LC; i  + '       g   i     R# ; i)rÓ  rÑ   r   TrÌ  N©r=   r?   r@   r§   )	rI   rc  ÚonesrQ  r
   rE   rG   r   r±  )rQ   rÈ  r4   r2   r3   rF  s   &     rU   Ú+test_insert_periodic_too_few_internal_knotsÚ6TestInsert.test_insert_periodic_too_few_internal_knotsG  s¶   € ð ˆØˆÜ�HŠH�a�S˜!˜A�#•Y¢Õ-°°°Q°qµSµ	Õ9Ó:ˆÜ�GŠG”C˜“F˜Q•J •NÓ#ˆÜ�a˜A¨:Ô6ˆäœ:×&Õ&Ü�2˜1�y dÕ+÷ 'ô œ:×&Õ&Ø�O‰O˜BÔ÷ 'Ñ&÷ '×&ú÷ '×&Ð&ús   ÂC&Ã
C9Ã&C6	Ã9D
	c                ó¢  € ^p\         P                  ! ^ .V^,           ,          . RO,           ^.V^,           ,          ,           4      p\         P                  ! \        V4      V,
          ^,
          4      p\	        W#V4      p\        \        4      ;_uu_ 4        VP                  R4       RRR4       \        \        4      ;_uu_ 4        VP                  ^4       RRR4       \        \        4      ;_uu_ 4        VP                  ^^ R7       RRR4       R#   + '       g   i     Lv; i  + '       g   i     LX; i  + '       g   i     R# ; i)r?   Nr½  rÞ  r;   )rI   rc  rß  rQ  r
   rE   rG   r±  )rQ   r4   r2   r3   rF  s   &    rU   Útest_insert_no_extrapÚ TestInsert.test_insert_no_extrap[  sÖ   € ØˆÜ�HŠH�a�S˜!˜A�#•Y¢Õ-°°°Q°qµSµ	Õ9Ó:ˆÜ�GŠG”C˜“F˜Q•J •NÓ#ˆÜ�a˜AÓˆäœ:×&Õ&Ø�O‰O˜BÔ÷ 'ô œ:×&Õ&Ø�O‰O˜AÔ÷ 'ô œ:×&Õ&Ø�O‰O˜A ˆOÔ#÷ 'Ñ&÷ '×&ú÷ '×&ú÷ '×&Ð&ús$   ÂDÃD*Ã9D=ÄD'	Ä*D:	Ä=E	r.  )rA   r0   r8   r@   ç      @ç      @))rA   r=   )r0   r?   )r  r§   )r@   r=   )ræ  r=   )	r   çš™™™™™¹?rB   rD   ç      @ç      @ç      @gffffff@ræ  )r/  r0  r1  r2  r`   r¡  r¢  rº  r¿  rÉ  rÐ  rÛ  rà  rã  r3  r¦  r§  s   @rU   rª  rª  Ô  sÃ   ø‡ € ð ‡[�[×Ñ˜VÒ%AÓBñ!=ó Cð!=ðH ‡[�[×ÑØÒCóñ8óð8ò8ð ‡[�[×Ñ˜Tò $8ó ñVóðVð" ‡[�[×Ñ˜]¨T°:Ð,>Ó?ñGó @ðGò, ÷($ð $rk   rª  c            
      óÎ   € RR lp R FY  p\        VR7      p\        \        V4      4       F2  w  r4V ! WC4       \        ^V^,           4       F  pV ! WCVRR4       K  	  K4  	  K[  	  R# )r   c           
      óV  € V P                   w  rVp\        P                  ! V4      p\        P                  V^ ,          R,
          RVR,          VR,          ,           ,          VR	,          R,           3,          p\	        \        W…Wg3V4      V ! W‚4      W4RV RV P                   2R7       R# )
r   rç  rÓ   r­  :Nr.   Nzder = z  k = )r[   r\   Úerr_msgNr;   )r_   rI   Úuniquer°   r   r   r4   )	rT   r  rà   r[   r\   r2   r3   r4   rw   s	   &&&&&    rU   Úcheck_splevÚ,test_knots_multiplicity.<locals>.check_splevo  s„   € à—%‘%‰ˆˆaÜ�IŠI�a‹LˆÜ�E‰E�!�A•$�s•(˜C  2¥¨¨2­¥Õ/°°2µ°sµÐ:Õ;ˆÜœ˜a Q ¨CÓ0±!°A³)Ø°°s°e¸6À!Ç#Á#ÀÐ.G÷	Irk   rj  rÒ   N)r   rs   rs   ©r.   r=   r?   r@   r§   )r^   Ú	enumerateÚ_make_multiplesrã   )rï  r4   rT   r  r@  rà   s         rU   Útest_knots_multiplicityrô  k  s^   € ôIó ˆÜ !Ô$ˆÜœ¨qÓ1Ö2‰EˆAÙ˜ÔÜ˜Q  !¥–}�Ù˜B 3¨¨uÖ5ó %ó 3ó rk   c                ót  € V^ 8X  d(   W2,          T u;8:  d   W2^,           ,          8  d   R#  R# W2V,           ,          W2,          8X  d   RpMHWV,          ,
          W2V,           ,          W2,          ,
          ,          \        W^,
          W#4      ,          pW2V,           ^,           ,          W2^,           ,          8X  d   RpWE,           # W2V,           ^,           ,          V ,
          W2V,           ^,           ,          W2^,           ,          ,
          ,          \        W^,
          V^,           V4      ,          pWE,           # )zk
Naive way to compute B-spline basis functions. Useful only for testing!
computes B(x; t[i],..., t[i+k+1])
r0   rA   ©Ú_naive_B©rw   r4   r  r2   Úc1Úc2s   &&&&  rU   r÷  r÷  �  sá   € ð
 	ˆA„vØ•d˜aÖ( ! a¥C¥&Ô(ˆsÐ1Ð(¨cÐ1Øˆ1�…v�•„~Ø‰à�A•$�h˜˜Q�3� !¥$�Õ'¬(°1¸µc¸1Ó*@Õ@ˆØˆ1�ˆQ�…x�1�q•S•6ÔØˆð �GÐð �!•�A•�h˜�l˜Q �s 1�u�X¨¨A­#­Õ.Õ/´(¸1À½cÀ1ÀQÅ3ÈÓ2JÕJˆØ�GÐrk   c               óV  a aaaa€ S SS,          8X  d   SoMVP                  SS 4      ^,
          oSS,          S u;8:  d   SS^,           ,          8:  g   Q h Q hSS8¼  d    SSP                  ^ ,          S,
          8  g   Q h\        VVVVV 3R l\        ^ S^,           4       4       4      # )z5
Naive B-spline evaluation. Useful only for testing!
c              3   óx   <"  € T F/  pSSV,
          ,          \        SSSV,
          S4      ,          x € K1  	  R # 5i©Nrö  )Ú.0r  r3   r  r4   r2   rw   s   & €€€€€rU   Ú	<genexpr>Ú_naive_eval.<locals>.<genexpr>ž  s0   øé € ÐF¹°1ˆq��1•�vœ  A q¨¥s¨AÓ.×.Ò.»ùs   ƒ7:)Úsearchsortedrª   Úsumrã   )rw   r2   r3   r4   rR   r  s   ffff$@rU   rŒ   rŒ   “  s�   ü€ ð 	ˆAˆa�D„yØ‰à�O‰O˜A˜qÓ! AÕ%ˆàˆQ�4�1Ö˜˜!˜A�#�ÔÐÑÐÐØ�Œ6�a˜!Ÿ'™' !�* q�.Ô(Ð(Ð(Ü×FÐF¼¸aÀÀ1Å¼ÓFÓFÐFrk   c               ó&  a aaa€ SP                   ^ ,          S^,           ,
          pVS^,           8¼  g   Q hSP                   ^ ,          V8¼  g   Q hSS,          S u;8:  d   SV,          8:  g   Q h Q h\        VVVV 3R l\        V4       4       4      # )z'Naive B-spline evaluation, another way.c              3   ó\   <"  € T F!  pSV,          \        SSVS4      ,          x € K#  	  R # 5irý  rö  ©rþ  r  r3   r4   r2   rw   s   & €€€€rU   rÿ  Ú _naive_eval_2.<locals>.<genexpr>§  s(   øé € Ð=±H¨qˆq��t”h˜q ! Q¨Ó*×*Ò*³Hùó   ƒ),)rª   r  rã   )rw   r2   r3   r4   rR   rS   s   ffff$ rU   r�   r�   ¡  sr   û€ à	�‰��
�a˜•cÕ€AØ��!•Œ8€Oˆ8Ø�7‰7�1�:˜Œ?Ðˆ?ØˆQ�4�1Ö˜˜!�ÔÐÑÐÐÜ×=´E¸!´HÓ=Ó=Ð=rk   c                 ó`  € \        V4      V^,           ,
          pWC^,           8¼  g   Q hVP                  ^ ,          V8¼  g   Q hRp\        V4       FZ  p\        P                  ! WWc,           ^,            RR7      ! V 4      pWRV,          \
        P                  ! V4      ,          ,          pK\  	  V# )r.   rA   Fr   )rQ  rª   rã   r
   rñ   rI   Ú
nan_to_num)rw   r2   r3   r4   rS   Úsr  rT   s   &&&&    rU   rö   rö   ª  s‰   € ÜˆA‹�!�A•#�€AØ�!•Œ8€Oˆ8Ø�7‰7�1�:˜Œ?Ðˆ?Ø
€AÜ�1ŽXˆÜ×!Ò! ! a¥c¨!¥e *¸%Õ@ÀÓCˆØ	ˆq�T”B—M’M !Ó$Õ$Õ$Šñ ð €Hrk   c                óÞ   € \         P                  ! V 4      p \         P                  ! W ^ 8  V ^8„  ,          V ^ 8¬  V ^8  ,          V ^8¬  V ^8*  ,          .R R R .4      pVP                  V4      # )z*A linear B-spline function B(x | 0, 1, 2).c                 ó   € R # ©rA   r.  ©rw   s   &rU   Ú<lambda>ÚB_012.<locals>.<lambda>»  s   € ¡brk   c                 ó   € V # rý  r.  r  s   &rU   r  r  »  s   € ±Ark   c                 ó   € R V ,
          # ©rB   r.  r  s   &rU   r  r  »  s   € ÀÀAÆrk   )rI   Ú
atleast_1dÚ	piecewiserO   )rw   rR   Úresults   && rU   ru   ru   µ  sp   € ä
�Š�aÓ€AÜ�\Š\˜! 1™u¨¨Q©Õ/Ø !™V¨¨A©Õ.Ø !™V¨¨Q©Õ/ð1ñ )©+±~ÐFóH€Fð �:‰:�fÓÐrk   c                óì   € \         P                  ! V 4      p V ^8  V ^8„  V ^8  ,          V ^8„  .pV^ 8X  d
   R R R .pMV^8X  d
   R R R .pM\        RV 24      h\         P                  ! WV4      pV# )z0A quadratic B-spline function B(x | 0, 1, 2, 3).c                 ó    € W ,          R ,          # r  r.  r  s   &rU   r  ÚB_0123.<locals>.<lambda>Ä  s
   € ˜1�3˜rž6rk   c                 ó0   € RV R,
          ^,          ,
          # )rC   g      è?r  r.  r  s   &rU   r  r  Å  s   € ˜4 1 T¥6¨A¥+Ö-rk   c                 ó0   € R V ,
          ^,          ^,          # )rC   r.  r  s   &rU   r  r  Æ  s   € ˜B˜q�D 1�9 qž=rk   c                 ó   € R # ©r0   r.  r  s   &rU   r  r  È  ó   € ™2rk   c                 ó   € R# )rB   g       Àr.  r  s   &rU   r  r  É  s   € ™3rk   c                 ó   € R # r  r.  r  s   &rU   r  r  Ê  r  rk   znever be here: der=)rI   r  rG   r  )rw   rà   ÚcondsÚfuncsÚpiecess   &&   rU   rò   rò   ¿  s‹   € ä
�Š�aÓ€AØ�‰U�Q˜‘U˜q 1™uÕ% q¨1¡uÐ-€EØ
ˆa„xÙ!Ù-Ù(ð*‰ð 
�ŒÙÙÙð‰ô Ð.¨s¨eÐ4Ó5Ð5Ü�\Š\˜! EÓ*€FØ€Mrk   c                 ó6  € \         P                  P                  ^{4      p\         P                  ! VP                  W,           ^,           4      4      pVP                  V 4      pVP	                  V4      VP	                  V4      rT\
        P                  ! WEV4      # )é{   )rI   rP   rš   r›   rO   r
   Úconstruct_fast)rS   r4   rR   rœ   r2   r3   s   &&&   rU   r^   r^   Ñ  sj   € Ü
�)‰)×
Ñ
 Ó
$€CÜ
�Š�—
‘
˜1�3˜q�5Ó!Ó"€AØ�
‰
�1‹€AØ�:‰:�a‹=˜"Ÿ*™* Q›-€qÜ×!Ò! !¨Ó*Ð*rk   c              #  ó¨  "  € V P                   V P                  r!V P                  P                  4       pV^,          VR&   V^,          V^&   \	        W1V4      x € V P                  P                  4       pV^ ,          VRV^,           % \	        W1V4      x € V P                  P                  4       pVR,          W2) ^,
          R% \	        W1V4      x € R# 5i)zIncrease knot multiplicity.:é   é   NNr;   )r3   r4   r2   Úcopyr
   )rT   r3   r4   Út1s   &   rU   ró  ró  Ù  s¨   é € à�3‰3�—‘€qà	
�‰�‰‹€BØ�2•€B€u�IØ��V€B€r�FÜ
�"˜Ó
Òà	
�‰�‰‹€BØ�!�u€B€tˆˆ!�€HÜ
�"˜Ó
Òà	
�‰�‰‹€BØ�2•€B€rˆ!…t€u€IÜ
�"˜Ó
Ôùs   ‚CC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# )ÚTestInteropië  c                óˆ  € \         P                  ! ^ R\         P                  ,          ^)4      p\         P                  ! V4      p\	        W4      pVP
                  VP                  VP                  3V n        WVuV n	        V n
        V n        \         P                  ! ^ R\         P                  ,          ^4      V n        \         P                  VP                  VP                  VP                  3,          p\         P                  ! WD34      V n        \!        VP
                  V P                  VP                  4      V n        R# )r   rD   N)rI   re   rÔ  r³  r   r2   r3   r4   r_   rg   rÍ   rT   ÚxnewÚc_Údstackrú  r
   Úb2)rQ   rg   rÍ   rT   rú  s   &    rU   Úsetup_methodÚTestInterop.setup_methodï  sÊ   € Ü�[Š[˜˜BœrŸu™u�H bÓ)ˆÜ�VŠV�B‹ZˆÜ˜rÓ&ˆØ—C‘C˜Ÿ™˜aŸc™c�?ˆŒØ#%¨1Ð ˆŒ�”˜$œ&ä—K’K  2¤b§e¡e¥8¨RÓ0ˆŒ	ä�U‰U�1—3‘3˜Ÿ™˜QŸS™S�=Õ!ˆÜ—)’)˜R˜HÓ%ˆŒÜ˜!Ÿ#™#˜tŸw™w¨¯©Ó,ˆŽrk   c                ó.  € V P                   V P                  V P                  r2p\        \	        W4      V! V4      R R R7       \        \	        WP
                  4      V! V4      R R R7       \        \        P                  ! V Uu. uF  p\	        WB4      NK  	  up4      V! V4      R R R7       \        \        RR7      ;_uu_ 4        \	        W4       RRR4       \        \        ^VP                  P                  4      4      R,           pVP                  P                  V4      pVP                  WcP                   3p\        \        P                  ! \	        W4      4      V! V4      P                  V4      R R R7       R# u upi   + '       g   i     L»; i)rY   rZ   zCalling splev.. with BSpline©ÚmatchN©r   )r/  rT   r2  r   r   r_   rI   rO   rE   rG   r<  rã   r3   r'  Ú	transposer2   r4   )rQ   r/  rT   r2  rw   r=  rü   r_   s   &       rU   Ú
test_splevÚTestInterop.test_splevü  s"  € Ø—i‘i §¡¨¯©�ˆô 	œ˜d›Ù˜$› e°%õ	9äœ˜d§E¡EÓ*Ù˜$› e°%õ	9äœŸ
š
¹Ó#>¹°A¤E¨!¦K¹Ñ#>Ó?Ù˜$› e°%õ	9ô
 œ:Ð-K×LÖLÜ�$ŒO÷ Mô ”5˜˜BŸD™DŸI™IÓ&Ó'¨$Õ.ˆØ�T‰T�^‰^˜BÓˆØ�t‰t�RŸ™ÐˆÜœŸ
š
¤5¨Ó#3Ó4Ù˜4›×*Ñ*¨2Ó.°UÀ÷	Hùò $?÷
 M×Lús   ÂE?ÃFÆF	c                óð  € V P                   V P                  r!\        W4      p\        P                  ! W4      w  rEp\	        V^ ,          VRR7       \	        V^,          VRR7       V^,          V8X  g   Q h\        WRR7      w  p  p\	        V^ ,          VRR7       \	        V^,          VRR7       V^,          V8X  g   Q h\        W4      p	\	        W)RR7       \        V!  p
\	        W*! V4      RR7       R# )r   rY   rt   T)Úfull_outputN)rg   rÍ   r   r  r   r   r
   )rQ   rw   r�   r_   r2   r3   r4   Útck_fr½   rÍ   rT   s   &          rU   Útest_splrepÚTestInterop.test_splrep  sÒ   € Ø�w‰w˜Ÿ™ˆ1ä�Q‹lˆÜ—,’,˜qÓ$‰ˆˆaÜ˜˜A� ¨Õ.Ü˜˜A� ¨Õ.Ø�1�v˜Œ{Ðˆ{ô   °$Ô7‰ˆˆq�!�QÜ˜˜a� !¨%Õ0Ü˜˜a� !¨%Õ0Ø�Q�x˜1Œ}Ðˆ}ô �1‹]ˆÜ˜ EÕ*ô �S‰MˆÜ˜˜1˜Q›4 e×,rk   c                óÆ  € V P                   V P                  r!\        P                  W"3,          p\	        \
        4      ;_uu_ 4        \        W4       R R R 4       \	        \
        4      ;_uu_ 4        \        P                  ! W4       R R R 4       \	        \        RR7      ;_uu_ 4        \        VR,          VR,          4       R R R 4       \	        \        RR7      ;_uu_ 4        \        P                  ! VR,          VR,          4       R R R 4       R #   + '       g   i     LË; i  + '       g   i     L¨; i  + '       g   i     L; i  + '       g   i     R # ; i)Núm > k must holdr6  :Nr?   N)	rg   rÍ   rI   r0  rE   rG   r   r  rF   )rQ   rw   r�   Úy2s   &   rU   Útest_splrep_errorsÚTestInterop.test_splrep_errors/  sË   € ð �w‰w˜Ÿ™ˆ1Ü�U‰U�1�4�[ˆÜœ:×&Õ&Ü�1ŒM÷ 'äœ:×&Õ&Ü�LŠL˜Ô÷ 'ô œ9Ð,=×>Ö>Ü�1�R•5˜!˜B�%Ô ÷ ?äœ9Ð,=×>Ö>Ü�LŠL˜˜2�  "¥Ô&÷ ?Ñ>÷ '×&úç&×&ú÷ ?×>úç>×>Ð>ús0   ÁDÁ2D)Â*D<Ã&&EÄD&	Ä)D9	Ä<E	ÅE 	c                ó  € \         P                  ! ^\         P                  R7      P                  R4      p\	        V4      w  r#\
        P                  ! V4      w  rE\        W5RR7       \        \         P                  ! \        W24      4      VRR7       \        \         P                  ! \        W44      4      VRR7       \	        V^ RR7      w  w  rg  p\        W7RR7       \        \         P                  ! \        Wv4      4      VRR7       R# )é   r9   rY   rt   T)r
  r=  N©r?   r§   )	rI   rM   rN   r‚   r   r  r   rO   r   )	rQ   rw   rT   Úur_   Úu1Úb_fÚu_fr½   s	   &        rU   Útest_splprepÚTestInterop.test_splprep?  s¸   € Ü�IŠI�b¤§
¡
Ô+×3Ñ3°FÓ;ˆÜ�q‹z‰ˆÜ—-’- Ó"‰ˆô 	˜ EÕ*ÜœŸ
š
¤5¨£;Ó/°¸Õ?ÜœŸ
š
¤5¨£=Ó1°1¸5ÕAô & a¨1¸$Ô?Ñ‰
ˆ�A�q˜!Ü˜ UÕ+ÜœŸ
š
¤5¨£?Ó3°Q¸U×Crk   c                óp  € \         P                  ! ^<4      P                  R4      p\        \        RR7      ;_uu_ 4        \        V4       RRR4       \        \        RR7      ;_uu_ 4        \        P
                  ! V4       RRR4       \         P                  ! ^ ^(^R7      p\        \        RR7      ;_uu_ 4        \        V.4       RRR4       \        \        RR7      ;_uu_ 4        \        P
                  ! V.4       RRR4       . ROp\        \        RR7      ;_uu_ 4        \        V.4       RRR4       \        \        RR7      ;_uu_ 4        \        P
                  ! V.4       RRR4       . R	Op. R
Op\        \        RR7      ;_uu_ 4        \        V.RV.!   RRR4       R#   + '       g   i     ELm; i  + '       g   i     ELI; i  + '       g   i     EL; i  + '       g   i     Lð; i  + '       g   i     LÑ; i  + '       g   i     L«; i  + '       g   i     R# ; i)r?   ztoo many values to unpackr6  N)ÚnumrB  zInvalid inputsr¦   )ç– Ð>IÀrQ  ç– Ð>KÀrR  )r.   r?   r=   r@   )r   g333333Ó?gš™™™™™É?r.   )	rI   rM   r‚   rE   rG   r   r  re   rF   )rQ   rw   rI  s   &  rU   Útest_splprep_errorsÚTestInterop.test_splprep_errorsN  sd  € ä�IŠI�eÓ×$Ñ$ YÓ/ˆÜœ:Ð-H×IÖIÜ�AŒJ÷ Jäœ:Ð-H×IÖIÜ�MŠM˜!Ô÷ Jô �KŠK˜˜2 1Ô%ˆÜœ9Ð,=×>Ö>Ü�Q�CŒL÷ ?äœ9Ð,=×>Ö>Ü�MŠM˜1˜#Ô÷ ?ò
 EˆÜœ:Ð-=×>Ö>Ü�Q�CŒL÷ ?äœ:Ð-=×>Ö>Ü�MŠM˜1˜#Ô÷ ?ò ˆÚˆÜœ:Ð-=×>Ö>Ü�q�c˜4 �^Ò$÷ ?Ñ>÷/ J×IÐIúçI×IÐIú÷
 ?×>Ð>úç>×>ú÷ ?×>úç>×>ú÷ ?×>Ð>úsS   ¿F/Á,GÂ=GÃ+G+Ä(G>ÅHÆH$Æ/G 	ÇG	ÇG(	Ç+G;	Ç>H	ÈH!	È$H5	c                óÒ  € V P                   V P                  r!\        P                  ! . R	O4      \        P                  ,          p\        \        V4      VRRR7       \        \        VP                  VP                  VP                  34      VRRR7       \        \        RR7      ;_uu_ 4        \        V^2R7       RRR4       VP                  P                  ^^^ 4      p\        P                  ! \        VP                  WBP                  3^2R7      4      pVP                  R
8X  g   Q h\        WS,
          \        P                  ! V4      RR7       R#   + '       g   i     L¡; i)rÓ   r¹   rZ   zCalling sproot.. with BSpliner6  )ÚmestNrÒ   rt   )rÓ   r  r8   rÓ  )r?   r=   r@   )rT   r2  rI   rc  rÔ  r   r   r2   r3   r4   rE   rG   r9  rO   rª   rä   )rQ   rT   r2  ÚrootsÚc2rÚrrs   &     rU   Útest_sprootÚTestInterop.test_sprootk  sí   € Ø—‘˜Ÿ™ˆ2Ü—’Ò-Ó.¬r¯u©uÕ4ˆäœ˜q›	 5¨t¸$Õ?Üœ §¡ Q§S¡S¨!¯#©#˜Ó/°¸TÈÕMô œ:Ð-L×MÖMÜ�2˜BÕ÷ Nð �d‰d�n‰n˜Q  1Ó%ˆÜ�ZŠZœ §¡ c¯4©4Ð0°rÔ:Ó;ˆØ�x‰x˜9Ô$Ð$Ð$Ü˜�
¤B§M¢M°"Ó$5¸E×B÷ N×Mús   Â/EÅE&	c           	     ól  € V P                   V P                  r!\        \        ^ ^V4      \        ^ ^VP                  4      RRR7       \        \        ^ ^V4      VP                  ^ ^4      RRR7       \        \        RR7      ;_uu_ 4        \        ^ ^V4       RRR4       VP                  P                  ^^^ 4      p\        P                  ! \        ^ ^VP                  W2P                  34      4      pVP                  R8X  g   Q h\        V\        ^ ^V4      RRR7       R#   + '       g   i     L“; i)	r   rs   F)r[   Úcheck_0dzCalling splint.. with BSpliner6  N)r[   Úcheck_shape)r?   r=   )rT   r2  r   r   r_   r  rE   rG   r3   r9  rI   rO   r2   r4   rª   )rQ   rT   r2  rX  Úintegrs   &    rU   Útest_splintÚTestInterop.test_splint|  sñ   € à—‘˜Ÿ™ˆ2äœ˜q ! Q›Ü˜q ! Q§U¡UÓ+°%À%õ	Iäœ˜q ! Q›ØŸ™ A qÓ)°Àõ	Gô œ:Ð-L×MÖMÜ�1�a˜Ô÷ Nð �d‰d�n‰n˜Q  1Ó%ˆÜ—’œF 1 a¨"¯$©$°·T±TÐ):Ó;Ó<ˆØ�|‰|˜vÔ%Ð%Ð%Ü˜Ü˜q ! Q›¨eÀ÷	H÷ N×Mús   Â
D#Ä#D3	c                ó   € V P                   V P                  3 EFp  p\        VP                  4      \        VP                  4      ,
          pVP                  P                  4       pV^ 8”  dG   \        P                  V\        P                  ! V3VP                  R,          ,           4      3,          pR FÐ  p\        V4      p\        P                  ! VP                  P                  4       W1P                  34      p\        VP                  V^ ,          RR7       \        VP                  V^,          RR7       VP                  V^,          8X  g   Q h\        V\        4      '       g   Q h\        V\         4      '       d   KÐ  Q h	  EKs  	  R# ©r   r­  rY   rt   N©r.   r=   r?   )rT   r2  rQ  r2   r3   r*  rI   r°   Úzerosrª   r   r  r4   r   r%  r
   r<  ©rQ   rT   ÚctÚb_crS   ÚbdÚtck_ds   &      rU   Útest_splderÚTestInterop.test_splder�  s  € Ø—&‘&˜$Ÿ'™'Ô"ˆAä�Q—S‘S“œC §¡›HÕ$ˆBØ—#‘#—(‘(“*ˆCØ�AŒvÜ—e‘e˜C¤§¢¨2¨%°#·)±)¸Bµ-Õ*?Ó!@Ð@ÕA�ã�Ü˜A“Y�ÜŸš a§c¡c§h¡h£j°#·s±sÐ%;Ó<�Ü §¡ e¨A¥h°UÕ;Ü §¡ e¨A¥h°UÕ;Ø—t‘t˜u Q�xÔ'Ð'Ð'Ü! "¤g×.Ò.Ð.Ð.Ü! %¬×/Ô/Ð/Ð/ô ó #rk   c                ó   € V P                   V P                  3 EFp  p\        VP                  4      \        VP                  4      ,
          pVP                  P                  4       pV^ 8”  dG   \        P                  V\        P                  ! V3VP                  R,          ,           4      3,          pR FÐ  p\        V4      p\        P                  ! VP                  P                  4       W1P                  34      p\        VP                  V^ ,          RR7       \        VP                  V^,          RR7       VP                  V^,          8X  g   Q h\        V\        4      '       g   Q h\        V\         4      '       d   KÐ  Q h	  EKs  	  R# rc  )rT   r2  rQ  r2   r3   r*  rI   r°   re  rª   r   r  r4   r   r%  r
   r<  rf  s   &      rU   Útest_splantiderÚTestInterop.test_splantider¡  s  € Ø—&‘&˜$Ÿ'™'Ô"ˆAä�Q—S‘S“œC §¡›HÕ$ˆBØ—#‘#—(‘(“*ˆCØ�AŒvÜ—e‘e˜C¤§¢¨2¨%°#·)±)¸Bµ-Õ*?Ó!@Ð@ÕA�ã�Ü “]�Ü×(Ò(¨!¯#©#¯(©(«*°c¿3¹3Ð)?Ó@�Ü §¡ e¨A¥h°UÕ;Ü §¡ e¨A¥h°UÕ;Ø—t‘t˜u Q�xÔ'Ð'Ð'Ü! "¤g×.Ò.Ð.Ð.Ü! %¬×/Ô/Ð/Ð/ô ó #rk   c                óâ  € V P                   V P                  V P                  r2pVP                  P                  ^,          pRVP                  V,          VP                  V^,           ,          ,           ,          p\        WQ4      \        WQP                  VP                  VP                  34      rv\        \        W64      \        W74      RR7       \        V\        4      '       g   Q h\        V\        4      '       g   Q h\        \        VP                  P                  4      4      pVP                  P                  VR,          R,           4      p	\        WRP                  W’P                  34      p
\        WR4      p\        \         P"                  ! \        W:4      4      P                  ^^ ^4      V! V4      RR7       \        V\        4      '       g   Q h\        V
\        4      '       g   Q hR# )r=   rÓ   rY   rt   r­  Nr8  )rT   r2  rg   r2   r¥   r   r3   r4   r   r   r%  r
   r<  rã   r'  r9  rI   rO   )rQ   rT   r2  rg   r  ÚtnÚbnÚtck_nr=  r0  Útck_n2Úbn2s   &           rU   rº  ÚTestInterop.test_insert²  sX  € Ø—F‘F˜DŸG™G T§W¡Wˆrˆà�C‰C�H‰H˜�MˆØ�!—#‘#�a•&˜1Ÿ3™3˜q �s�8Õ#Õ$ˆä˜2“M¤6¨"¯s©s°A·C±C¸¿¹¨oÓ#>ˆEÜœ˜b›Ü˜bÓ(¨uõ	6ä˜"œg×&Ò&Ð&Ð&Ü˜%¤×'Ò'Ð'Ð'ô ”5˜Ÿ™Ÿ™Ó#Ó$ˆØ�T‰T�^‰^˜B˜r�F T�MÓ*ˆÜ˜ŸT™T 2§t¡tÐ,Ó-ˆä�R‹nˆô 	œŸ
š
¤5¨Ó#4Ó5×?Ñ?ÀÀ1ÀaÓHÙ˜B› eõ	-ä˜#œw×'Ò'Ð'Ð'Ü˜&¤%×(Ò(Ð(Ò(rk   )rT   r2  rú  r_   r/  rg   rÍ   N)r/  r0  r1  r2  r3  r:  r?  rD  rM  rS  rZ  r`  rk  rn  rº  r3  r¦  r§  s   @rU   r-  r-  ë  sE   ø‡ € ò-òHò6-ò0'ò Dò%ò:Cò"Hò(0ò"0÷")ð )rk   r-  c                   óÚ  a € ] tR tRt o ]P
                  ! RR]P                  ,          4      t]P                  ! ]4      t	R t
R tR tR t]P                  P!                  R. R*O4      R	 4       t]P                  P!                  R. R*O4      R
 4       tR tR t]P                  P!                  R. R+O4      R 4       tR tR tR t]P                  P!                  R. R,O4      R 4       tR tR tR tR tR t]P                  P?                  RR7      R 4       t R t!R t"R t#R t$R t%R t&R  t'R! t(]P                  P!                  R. R-O4      R" 4       t)R# t*R$ t+R% t,R& t-R' t.R(t/V t0R)# ).Ú
TestInterpiÍ  rA   rB   c                ón   € VP                  V P                  4      VP                  V P                  4      3# rý  )rO   rg   rÍ   )rQ   rR   s   &&rU   Ú_get_xyÚTestInterp._get_xyÕ  s'   € Ø�z‰z˜$Ÿ'™'Ó" B§J¡J¨t¯w©wÓ$7Ð7Ð7rk   c                ó²   € \        \        4      ;_uu_ 4        \        V P                  V P                  R R7       RRR4       R#   + '       g   i     R# ; i)r8   rj  N)rE   rF   r   rg   rÍ   ©rQ   s   &rU   Útest_non_int_orderÚTestInterp.test_non_int_orderØ  s0   € Üœ9×%Õ%Ü˜tŸw™w¨¯©°3Õ7÷ &×%×%Ò%ús   ˜#AÁA	c                ó¶   € V P                  V4      w  r#\        W#^ R7      p\        V! V4      VRRR7       \        W#^ RR7      p\        V! V4      VRRR7       R# )r   rj  rs   rZ   ©r4   r  Nr;   ©rz  r   r   ©rQ   rR   rg   rÍ   rT   s   &&   rU   Útest_order_0ÚTestInterp.test_order_0Ü  óP   € Ø—‘˜bÓ!‰ˆÜ˜r¨Ô+ˆÜ™˜"›˜r¨°EÕ:Ü˜r¨°Ô4ˆÜ™˜"›˜r¨°E×:rk   c                ó¶   € V P                  V4      w  r#\        W#^R7      p\        V! V4      VRRR7       \        W#^RR7      p\        V! V4      VRRR7       R# )r.   rj  rs   rZ   r�  Nr;   r‚  rƒ  s   &&   rU   Útest_linearÚTestInterp.test_linearã  r†  rk   r4   c                óœ   € . ROp. ROp\        \        RR7      ;_uu_ 4        \        W#VR7       RRR4       R#   + '       g   i     R# ; i)r   zShapes of xr6  rj  N©r   r.   r=   r?   r@   r§   )r   r.   r=   r?   r@   r§   r¨   r©   ©rE   rG   r   ©rQ   r4   rw   r�   s   &&  rU   Útest_incompatible_x_yÚ TestInterp.test_incompatible_x_yê  s2   € âˆÚ$ˆÜœ:¨]×;Ö;Ü˜q qÕ)÷ <×;×;Ò;ús	   ¢:ºA	c                óþ  € . ROp. ROp\        \        RR7      ;_uu_ 4        \        W#VR7       RRR4       . ROp\        \        RR7      ;_uu_ 4        \        W#VR7       RRR4       . ROp\        P                  ! V4      P                  R	4      p\        \        RR7      ;_uu_ 4        \        W#VR7       RRR4       R#   + '       g   i     L�; i  + '       g   i     L}; i  + '       g   i     R# ; i)
r   zx to not have duplicatesr6  rj  NzExpect x to be a 1D strictly)r   r.   r.   r=   r?   r@   r‹  )r   r=   r.   r?   r@   r§   ©r.   r;   )rE   rG   r   rI   rO   r‚   r�  s   &&  rU   Útest_broken_xÚTestInterp.test_broken_xñ  s°   € âˆÚˆÜœ:Ð-G×HÖHÜ˜q qÕ)÷ Iò ˆÜœ:Ð-K×LÖLÜ˜q qÕ)÷ Mò ˆÜ�JŠJ�q‹M×!Ñ! 'Ó*ˆÜœ:Ð-K×LÖLÜ˜q qÕ)÷ MÑL÷ I×Hú÷ M×Lú÷
 M×LÐLús#   ¢CÁCÂ-C+ÃC	ÃC(	Ã+C<	c                ó€   € V P                  V4      w  r#R F$  p\        W#V4      p\        V! V4      VRRR7       K&  	  R# )r=   rs   rZ   N©r=   r?   r@   r§   r¨   r©   r‚  )rQ   rR   rg   rÍ   r4   rT   s   &&    rU   Útest_not_a_knotÚTestInterp.test_not_a_knot  s:   € Ø—‘˜bÓ!‰ˆÛ#ˆAÜ" 2¨1Ó-ˆAÜ™A˜b›E 2¨E¸×>ó $rk   c           	     ó¶  € V P                  V4      w  r#\        W#^RR7      p\        V! V4      VRRR7       \        ^^4       F/  p\        V! V^ ,          VR7      V! VR
,          VR7      RR7       K1  	  \        W#^RR
R7      p\        V! V4      VRRR7       \        ^^4       F/  p\        V! V^ ,          VR7      V! VR
,          VR7      RR7       K1  	  R	# )r§   rÑ   rM  rs   rZ   rá   ç•dyáý¥=rt   ©r4   rN  r  Nr;   )rz  r   r   rã   )rQ   rR   rg   rÍ   rT   r  s   &&    rU   Útest_periodicÚTestInterp.test_periodic  sº   € Ø—‘˜bÓ!‰ˆô ˜r¨°JÔ?ˆÜ™˜"›˜r¨°EÕ:ô �q˜!–ˆAÜ™A˜b �e¨œN©A¨b°­f¸¬OÀ%×Hñ ô ˜r¨°JÀRÔHˆÜ™˜"›˜r¨°EÕ:Ü�q˜!–ˆAÜ™A˜b �e¨œN©A¨b°­f¸¬OÀ%×Hó rk   c                ón  € ^p\         P                  P                  R4      p\         P                  ! VP	                  V4      ^
,          4      pVP	                  V4      ^d,          pVR,          V^ &   VP                  V4      VP                  V4      re\        WVVRR7      p\        V! V4      VRR7       R# )r§   r™   rÑ   rM  rs   rt   Nr;   )rI   rP   rš   r›   rO  rO   r   r   )rQ   r4   rR   rS   rœ   rw   r�   rT   s   &&&     rU   Útest_periodic_randomÚTestInterp.test_periodic_random  s’   € ð ˆÜ�i‰i×#Ñ# DÓ)ˆÜ�GŠG�C×%Ñ% aÓ(¨2Õ-Ó.ˆØ×Ñ˜aÓ  3Õ&ˆØ��uˆˆ!‰Ø�z‰z˜!‹}˜bŸj™j¨›mˆ1ä˜q q°*Ô=ˆÜ™˜!›˜a e×,rk   c                óð  € V P                   P                  ^ ,          p\        P                  P	                  R4      pVP                  V4      ^,          \        P                  ,          p\        P                  ! V4      pRV^ &   ^\        P                  ,          VR	&   \        P                  ! ^V34      p\        P                  ! V4      V^ &   \        P                  ! V4      V^&   VP                  V4      VP                  V4      rT\        WE^R^R7      p\        V4       F&  p\        V! WG,          4      VRV3,          RR7       K(  	  \        V! V^ ,          4      V! VR	,          4      RR7       R# )
r   r™   rA   rÑ   rš  rE  rs   rt   Nr;   )rg   rª   rI   rP   rš   rO  rÔ  r›   re  r®  r³  rO   r   rã   r   )rQ   rR   rS   rœ   rw   r�   rT   r  s   &&      rU   Útest_periodic_axisÚTestInterp.test_periodic_axis$  s  € Ø�G‰G�M‰M˜!ÕˆÜ�i‰i×#Ñ# DÓ)ˆØ×Ñ˜aÓ  1Õ$¤r§u¡uÕ,ˆÜ�GŠG�A‹JˆØˆˆ!‰Ø”B—E‘E•	ˆˆ"‰Ü�HŠH�a˜�VÓˆÜ�vŠv�a‹yˆˆ!‰Ü�vŠv�a‹yˆˆ!‰Ø�z‰z˜!‹}˜bŸj™j¨›mˆ1ä˜q q°*À1ÔEˆÜ�q–ˆAÜ™A˜a�d›G Q q¨! t¥W°5×9ñ ä™˜!˜A�$›¡ 1 R¥5£°×6rk   c           	     ób  € \         P                  P                  R 4      p^p^p\         P                  ! VP	                  V4      4      pVP	                  V4      pVR,          ^,
          V^ &   \        \        4      ;_uu_ 4        \        WEVRR7       RRR4       R#   + '       g   i     R# ; i)r™   rÑ   rM  Nr;   )rI   rP   rš   r›   rO  rE   rG   r   )rQ   rœ   r4   rS   rw   r�   s   &     rU   Útest_periodic_points_exceptionÚ)TestInterp.test_periodic_points_exception5  s€   € ä�i‰i×#Ñ# DÓ)ˆØˆØˆÜ�GŠG�C×%Ñ% aÓ(Ó)ˆØ×Ñ˜aÓ ˆØ��u�q�yˆˆ!‰Üœ:×&Õ&Ü˜q q°*Õ=÷ '×&×&Ò&ús   ÂBÂB.	c           	     ó‚  € \         P                  P                  R 4      p^p^p\         P                  ! VP	                  V4      4      pVP	                  V4      p\         P
                  ! V^V,          ,           4      p\        \        4      ;_uu_ 4        \        WEW&R4       RRR4       R#   + '       g   i     R# ; i)r™   rÑ   N)	rI   rP   rš   r›   rO  re  rE   rG   r   )rQ   rœ   r4   rS   rw   r�   r2   s   &      rU   Útest_periodic_knots_exceptionÚ(TestInterp.test_periodic_knots_exception@  s…   € ä�i‰i×#Ñ# DÓ)ˆØˆØˆÜ�GŠG�C×%Ñ% aÓ(Ó)ˆØ×Ñ˜aÓ ˆÜ�HŠH�Q˜˜Q�•YÓˆÜœ:×&Õ&Ü˜q Q¨:Ô6÷ '×&×&Ò&ús   ÂB-Â-B>	c           	     óŠ  € \        V P                  V P                  VR R7      p\        V P                  V P                  RVR7      p\	        V P                  V4      p\        WB! V P                  4      RR7       \        ^V4       F9  p\	        V P                  W5R7      p\        WB! V P                  VR7      RR7       K;  	  R	# )
rÑ   rM  T)rÍ  r4   rs   rt   rß   rá   r·   N)r   rg   rÍ   r   r   r   rã   )rQ   r4   rT   r_   rF  r  s   &&    rU   Útest_periodic_splevÚTestInterp.test_periodic_splevK  s‘   € ô ˜tŸw™w¨¯©°1¸jÔIˆÜ�T—W‘W˜dŸg™g¨4°1Ô5ˆÜ�D—G‘G˜SÓ!ˆÜ˜˜Q˜tŸw™w›Z¨eÕ4ô �q˜!–ˆAÜ˜Ÿ™ Ô,ˆCÜ˜C  4§7¡7¨qÔ!1¸×>ó rk   c                ó8  € \        V P                  V P                  ^RR7      p\        V P                  V P                  RR7      p\	        V! V P                  4      V! V P                  4      RR7       \
        P                  P                  R4      p^p\
        P                  ! VP                  V4      ^
,          4      pVP                  V4      ^d,          pVR,          V^ &   \        WV^RR7      p\        WVRR7      p\	        V! V4      V! V4      RR7       R# )	r?   rÑ   rM  rx  rs   rt   r™   Nr;   )
r   rg   rÍ   r   r   rI   rP   rš   r›   rO  )rQ   rT   Úcubrœ   rS   rw   r�   s   &      rU   Útest_periodic_cubicÚTestInterp.test_periodic_cubicX  sÕ   € ä˜tŸw™w¨¯©°1¸jÔIˆÜ˜$Ÿ'™' 4§7¡7°JÔ?ˆÜ™˜$Ÿ'™'›
¡C¨¯©£L°uÕ=ô �i‰i×#Ñ# DÓ)ˆØˆÜ�GŠG�C×%Ñ% aÓ(¨2Õ-Ó.ˆØ×Ñ˜aÓ  3Õ&ˆØ��uˆˆ!‰Ü˜q q°*Ô=ˆÜ˜!¨
Ô3ˆÜ™˜!›™c !›f¨5×1rk   c                óZ  aaa€ ^o\        V P                  V P                  SRR7      p\        V P                  S4      o\	        V P                  V P                  SS4      o\
        P                  ! VVV3R l4      p\        V! V P                  4      V! V P                  4      RR7       R# )r?   rÑ   rM  c                 ó,   <€ \        V SSS\        R 7      # )rr   )rŒ   rI   )rw   r3   r4   r2   s   &€€€rU   r  Ú6TestInterp.test_periodic_full_matrix.<locals>.<lambda>o  s   ø€ ¤K°°1°a¸¼rÕ$Brk   rs   rt   N)r   rg   rÍ   r   r   rI   Ú	vectorizer   )rQ   rT   r@  r3   r4   r2   s   &  @@@rU   Útest_periodic_full_matrixÚ$TestInterp.test_periodic_full_matrixh  su   ú€ ð ˆÜ˜tŸw™w¨¯©°1¸jÔIˆÜ˜DŸG™G QÓ'ˆÜ& t§w¡w°·±¸¸AÓ>ˆÜ�\Š\ÖBÓCˆÜ™˜$Ÿ'™'›
¡B t§w¡w£K°e×<rk   c                óâ  € V P                  V4      w  r#R.p\        W#^RV3R7      p\        V! V4      VRRR7       \        V! VR	,          ^4      VP                  V^ ,          ^,          VP                  R7      RRRR7       \        W#^VR3R7      p\        V! V4      VRRR7       \        V! V^ ,          ^4      VP                  V^ ,          ^,          VP                  R7      RRRR7       R# )
r.   NrM  rs   rZ   r9   F)r[   r\   r]  ©r.   g       @r;   ©rz  r   r   rO   rN   )rQ   rR   rg   rÍ   rà   rT   s   &&    rU   Útest_quadratic_derivÚTestInterp.test_quadratic_derivr  sÕ   € Ø—‘˜bÓ!‰ˆØˆiˆô ˜r¨°T¸3°KÔ@ˆÜ™˜"›˜r¨°EÕ:ÜÙˆb��f�a‹LØ�J‰J�s˜1•v˜a•y¨¯
©
ˆJÓ3Ø˜U¨Uõ	
ô ˜r¨°S¸$°KÔ@ˆÜ™˜"›˜r¨°EÕ:ÜÙˆb��e�Q‹KØ�J‰J�s˜1•v˜a•y¨¯
©
ˆJÓ3Ø˜U¨U÷	
rk   c                óì  € V P                  V4      w  r#^pR.R.re\        W#WEV3R7      p\        V! V4      VRRR7       \        V! V^ ,          ^4      VP                  V^ ,          ^,          VP                  R7      RRR7       \        V! VR,          ^4      VP                  V^ ,          ^,          VP                  R7      RRR7       R	.R	.re\        W#WEV3R7      p\        V! V4      VRRR7       R# )
r?   rx  rs   rZ   r9   N©r.   rC   )r.   rD   r;   ©r=   r   r¸  )rQ   rR   rg   rÍ   r4   Úder_lÚder_rrT   s   &&      rU   Útest_cubic_derivÚTestInterp.test_cubic_derivˆ  sá   € Ø—‘˜bÓ!‰ˆØˆð  �y 7 )ˆuÜ˜r q¸%°.ÔAˆÜ™˜"›˜r¨°EÕ:ÜÙˆb��e�Q‹KØ�J‰J�u˜Q•x •{¨"¯*©*ˆJÓ5¸EÈõ	
ô 	Ùˆb��f�a‹LØ�J‰J�u˜Q•x •{¨"¯*©*ˆJÓ5¸EÈõ	
ð �x & ˆuÜ˜r q¸%°.ÔAˆÜ™˜"›˜r¨°E×:rk   c                óv  € ^^r2VP                  W1P                  R7      pVP                  V4      pRR.pRR	.p\        WEW&V3R7      p\	        V! V4      VRRR7       \	        VP                  V! V^ ,          ^4      V! V^ ,          ^4      .4      TP                  V U	U
u. uF  w  ršV
NK	  	  up
p	VP                  R7      4       \	        VP                  V! VR
,          ^4      V! VR
,          ^4      .4      TP                  V U	U
u. uF  w  ršV
NK	  	  up
p	VP                  R7      4       R# u up
p	i u up
p	i )r§   r9   rM  rs   rZ   N)r.   g      (À)r=   r.   r·  )r=   rC   r;   )rM   rN   r®  r   r   r‹   rO   )rQ   rR   r4   rS   rw   r�   r¾  r¿  rT   râ   Úvals   &&         rU   Útest_quintic_derivsÚTestInterp.test_quintic_derivsž  s  € Ø�!ˆ1Ø�I‰I�aŸz™zˆIÓ*ˆØ�F‰F�1‹IˆØ˜FÐ#ˆØ˜'Ð"ˆÜ˜q q¸%°.ÔAˆÜ™˜!›˜a e°%Õ8Ü˜Ÿ™¡! A a¥D¨!£*©a°°!µ°a«jÐ!9Ó:ØŸ
™
¹Ô#?¹©I¨R£C¹Ò#?ÀrÇzÁz˜
ÓRô	Tä˜Ÿ™¡! A b¥E¨1£+©q°°2µ¸«{Ð!;Ó<ØŸ
™
¹Ô#?¹©I¨R£C¹Ò#?ÀrÇzÁz˜
ÓRö	Tùó $@ùã#?s   Â D/ÄD5Úunstabler‡   c                óÚ   € ^p\        V P                  V4      pRR.p\        V P                  V P                  WVR3R7      p\	        V! V P                  4      V P                  RRR7       R# )r?   Nrx  rs   rZ   r¼  )r=   rD   )r   rg   r   rÍ   r   )rQ   r4   r2   r¾  rT   s   &    rU   Útest_cubic_deriv_unstableÚ$TestInterp.test_cubic_deriv_unstable«  sY   € ð ˆÜ�D—G‘G˜QÓˆà˜'Ð"ˆÜ˜tŸw™w¨¯©°ÀÀt¸}ÔMˆÜ™˜$Ÿ'™'›
 D§G¡G°%¸e×Drk   c           	     ó  € ^pV P                  V4      w  r4\        VVP                  V^,           4      V^ ,          ,          VR,          VRR	 ,           R,          VP                  V^,           4      VR	,          ,          4      p\        W4W%R
.R
.3R7      p\	        V! V4      VRRR7       \
        P                  ! V! V^ ,          ^4      RRR7      '       g   Q h\
        P                  ! V! VR	,          ^4      RRR7      '       g   Q hR# )r=   r­  NrB   rx  rs   rZ   rA   r  r;   r½  )rz  r   rß  r   r   r  r  )rQ   rR   r4   rg   rÍ   r2   rT   s   &&     rU   Útest_knots_not_data_sitesÚ$TestInterp.test_knots_not_data_sitesº  sâ   € ð ˆØ—‘˜bÓ!‰ˆä�bØ—‘˜˜!�“˜r !�uÕ$Ø�B•˜"˜S˜b˜'Õ! RÕ'Ø—‘˜˜!�“˜r "�vÕ%ó
ˆô
 ˜r qØ)/¨°6°(Ð';ô=ˆô 	™˜"›˜r¨°EÕ:Ü�|Š|™A˜b �e Q›K¨°e×<Ó<Ð<Ð<Ü�|Š|™A˜b �f a›L¨#°u×=Ó=Ð=Ò=rk   c                óô   € ^pVP                  RR.4      pVP                  RR.4      p\        W4VR.R	.3R7      pVP                  RR^VP                  R7      pV^,          p\	        V! V4      VRRR7       R# )
r?   rA   r0   rx  r9   rs   rZ   N©r.   rA   r¼  )rO   r   re   rN   r   )rQ   rR   r4   rw   r�   rT   rg   rÍ   s   &&      rU   Útest_minimum_points_and_derivÚ(TestInterp.test_minimum_points_and_derivÍ  sy   € ð ˆØ�J‰J˜˜B�xÓ ˆØ�J‰J˜˜B�xÓ ˆÜ˜q Q°'°¸W¸IÐ0FÔGˆà�[‰[˜˜R ¨2¯:©:ˆ[Ó6ˆØ��UˆÜ™˜"›˜r¨°E×:rk   c                ó¢  € . RO;r\        \        4      ;_uu_ 4        \        WR.R3R7       RRR4       \        \        4      ;_uu_ 4        \        WRR7       RRR4       \        \        4      ;_uu_ 4        \        WR.R7       RRR4       \        \        4      ;_uu_ 4        \        W^*R7       RRR4       RRrC\        \        4      ;_uu_ 4        \        WW43R7       RRR4       R#   + '       g   i     LË; i  + '       g   i     L±; i  + '       g   i     L–; i  + '       g   i     L|; i  + '       g   i     R# ; i)r0   Nrx  )r0   r=   r?   r@   r§   r¨   rÎ  rŒ  )rQ   rw   r�   ÚlÚrs   &    rU   Útest_deriv_specÚTestInterp.test_deriv_specÙ  sÛ   € ò %Ð$ˆäœ:×&Õ&Ü˜q¨w¨i¸Ð->Õ?÷ 'ô œ:×&Õ&Ü˜q¨WÕ5÷ 'ô œ:×&Õ&Ü˜q¨g¨YÕ7÷ 'ô œ:×&Õ&Ü˜q¨RÕ0÷ 'ð
 ˜ˆ1Üœ:×&Õ&Ü˜q¨a¨VÕ4÷ 'Ñ&÷ '×&ú÷ '×&ú÷ '×&ú÷ '×&ú÷ '×&Ð&ús;   �C1ÁDÁ:DÂ(D*ÃD=Ã1D	ÄD	ÄD'	Ä*D:	Ä=E	c                ó\  € VP                  ^4      pV^,          pR.R.rT\        \        RR7      ;_uu_ 4        \        W#WE3R7       RRR4       R.R.rT\        \        RR7      ;_uu_ 4        \        W#WE3R7       RRR4       R#   + '       g   i     LG; i  + '       g   i     R# ; i)	r©   zBad boundary conditions at 0.r6  rx  NzBad boundary conditions at 6.)r¨   r   ©r.   r   )iúÿÿÿr   )rM   rE   rG   r   )rQ   rR   rw   r�   rÒ  rÓ  s   &&    rU   Útest_deriv_order_too_largeÚ%TestInterp.test_deriv_order_too_largeð  sŠ   € Ø�I‰I�a‹LˆØˆq�DˆØˆx˜&˜ˆ1Üœ:Ð-L×MÖMä˜q¨a¨VÕ4÷ Nð ˆx˜'˜ˆ1Üœ:Ð-L×MÖMä˜q¨a¨VÕ4÷ NÑM÷ N×Mú÷
 N×MÐMús   ¹BÁ.BÂB	ÂB+	c                óì  € ^pV P                  V4      w  r4VRV,          ,           pR.R	.re\        W4W%V3R7      p\        V! V4      VRRR7       \        P                  ! V! V^ ,          ^4      V^ ,          ^,          RR7      '       g   Q h\        P                  ! V! VR
,          ^4      V^ ,          ^,          RR7      '       g   Q hR F%  p\        W4VR7      p\        V! V4      VRRR7       K'  	  R# )r?   r/   rx  rs   rZ   r  rj  N)r.   y              @)r.   y      @       @r;   ©r   r.   )rz  r   r   Úcmathr  )rQ   rR   r4   rg   rÍ   r¾  r¿  rT   s   &&      rU   rÛ  ÚTestInterp.test_complexý  sÓ   € ØˆØ—‘˜bÓ!‰ˆØ�#�b•&�[ˆð !�z K =ˆuÜ˜r q¸%°.ÔAˆÜ™˜"›˜r¨°EÕ:Ü�}Š}™Q˜r !�u a›[¨%°­(°1­+¸u×EÓEÐEÐEÜ�}Š}™Q˜r "�v q›\¨5°­8°A­;À×FÓFÐFÐFó ˆAÜ" 2¨QÔ/ˆAÜ™A˜b›E 2¨E¸×>ó rk   c                ó¶   € VP                  ^
VP                  R7      pVP                  ^
VP                  R7      pR F  p\        W#VR7      pV! V4       K  	  R# )é
   r9   rj  Nrï   )rM   Úint32r   )rQ   rR   rw   r�   r4   rT   s   &&    rU   Útest_int_xyÚTestInterp.test_int_xy  sM   € Ø�I‰I�b §¡ˆIÓ)ˆØ�I‰I�b §¡ˆIÓ)ˆó ˆAÜ" 1¨1Ô-ˆAÙˆaŽDó rk   c                ó|   € VP                  R^^d4      pVR,          pVR,          pR F  p\        W4VR7       K  	  R# )r.   :NNr§   rj  Nr;   rï   )re   r   )rQ   rR   rg   rw   r�   r4   s   &&    rU   Útest_sliced_inputÚTestInterp.test_sliced_input  s:   € à�[‰[˜˜Q Ó$ˆàˆs�GˆØˆs�GˆãˆAÜ˜q q×)ó rk   c                ó  € VP                  ^
VP                  R7      pV^,          pVP                  VP                  VP                  ) 3 F>  p\        P
                  ! VR4      P                  V4      p\        \        \        W#4       K@  	  R# )rß  r9   Nr;   )
rM   rN   rK   rL   ÚxpxÚatÚsetrE   rG   r   )rQ   rR   rw   r�   Úzs   &&   rU   Útest_check_finiteÚTestInterp.test_check_finite"  sg   € à�I‰I�b §
¡
ˆIÓ+ˆØˆq�Dˆà—&‘&˜"Ÿ&™& 2§6¡6 'Ó*ˆAÜ—’�q˜"“×!Ñ! !Ó$ˆAÜœ*Ô&8¸!Ö?ó +rk   c                ó€   € \        \        ^
4      4      pV Uu. uF  q3^,          NK  	  pp\        W$VR7       R# u upi )rß  rj  N)Úlistrã   r   )rQ   r4   rw   Úar�   s   &&   rU   Útest_list_inputÚTestInterp.test_list_input+  s8   € ô ”�r“‹OˆÙÓ™1�a��TˆT™1ˆÐÜ˜1 1×%ùò s   ™;c                óÐ  € V P                  V4      w  r#VP                  W#3^R7      p^RR.3.p^RR.3.p\        W#^WE3R7      p\        V! V4      VRRR7       \        V! V^ ,          ^4      VP	                  V^ ,          ^,          VP
                  R	7      RRR7       \        V! VR,          ^4      VP	                  V^ ,          ^,          VP
                  R	7      RRR7       R
# )r.   r  r0   rB   rC   rD   rM  rs   rZ   r9   Nr;   )rz  r‹   r   r   rO   rN   )rQ   rR   rg   rÍ   r¾  r¿  rT   s   &&     rU   Útest_multiple_rhsÚTestInterp.test_multiple_rhs2  sÒ   € Ø—‘˜bÓ!‰ˆØ�X‰X�r�h QˆXÓ'ˆØ�b˜"�X��ˆØ�b˜"�X��ˆä˜r¨°U°NÔCˆÜ™˜"›˜r¨°EÕ:ÜÙˆb��e�Q‹KØ�J‰J�u˜Q•x •{¨"¯*©*ˆJÓ5¸EÈõ	
ô 	Ùˆb��f�a‹LØ�J‰J�u˜Q•x •{¨"¯*©*ˆJÓ5¸EÈ÷	
rk   c                óæ  € \         P                  P                  R 4      p^^r2\         P                  ! VP                  VR7      4      pVP                  V^^^3R7      p\	        WEV4      pVP
                  P                  V^^^38X  g   Q h^VP                  R4      3.p^VP                  R4      3.p\	        WEW'V3R7      pVP
                  P                  W2,           ^,
          ^^^38X  g   Q hR# )r™   r¤   rx  N©r§   r¨   r©   )rI   rP   rš   r›   r   r3   rª   )	rQ   rœ   r4   rS   rw   r�   rT   Úd_lÚd_rs	   &        rU   Útest_shapesÚTestInterp.test_shapesC  sÛ   € Ü�i‰i×#Ñ# DÓ)ˆØ�"ˆ1Ü�GŠG�C—J‘J A�JÓ&Ó'ˆØ�J‰J˜Q  1 a˜LˆJÓ)ˆä˜q QÓ'ˆØ�s‰s�y‰y˜Q  1 a˜LÔ(Ð(Ð(ð �3—:‘:˜iÓ(Ð)Ð*ˆØ�3—:‘:˜iÓ(Ð)Ð*ˆÜ˜q Q°c°
Ô;ˆØ�s‰s�y‰y˜Q�U Q�Y¨¨1¨aÐ0Ô0Ð0Ò0rk   c           	     ó¤  € V P                  V4      w  r#VP                  V4      p\        W#^RR7      p\        W#^R.R.3R7      p\        VP                  VP                  RR7       \        W#^RR7      p\        W#^R.R.3R7      p\        VP                  VP                  RR7       \        W#^RR7      p\        W#^RR.3R7      p\        VP                  VP                  RR7       \        W#^RR7      p\        W#^RR7      p\        VP                  VP                  RR7       \        \        4      ;_uu_ 4        \        W#^R	R7       RRR4       VP                  VP                  V4      VP                  V4      3^R
7      p^RR.3.p^RR.3.p\        W#^Wg3R7      p\        W#^RR7      p\        VP                  VP                  RR7       \        P                  P                  R4      p^^r©\        P                  ! VP                  V
R7      4      pVP                  V
^^^3R7      pVP                  V4      VP                  V4      rË^VP                  R4      3.p^VP                  R4      3.p\        W¼W�V3R7      p\        W¼V	RR7      p\        VP                  VP                  RR7       R#   + '       g   i     ELy; i)r?   r[  rM  rY   rt   rZ  NrA   rX  Útypor  r™   r¤   rx  r½  )r[  rZ  r×  )NrZ  rÎ  rY  rö  )rz  r®  r   r   r3   rE   rG   r‹   r³  rI   rP   rš   r›   rO   re  )rQ   rR   rg   rÍ   r@  r2  r¾  r¿  rœ   r4   rS   rw   r�   r÷  rø  s   &&             rU   Útest_string_aliasesÚTestInterp.test_string_aliasesR  st  € Ø—‘˜bÓ!‰ˆØ�V‰V�B‹Zˆô   ¨!°YÔ?ˆÜ ¨!°v°hÀÀÐ5IÔJˆÜ˜Ÿ™˜bŸd™d¨Õ/ô   ¨!Ø(>ô@ˆä ¨!Ø*0¨°F°8Ð(<ô>ˆä˜Ÿ™˜bŸd™d¨Õ/ô   ¨!Ð5FÔGˆÜ ¨!°d¸X¸JÐ5GÔHˆÜ˜Ÿ™˜bŸd™d¨Õ/ô   ¨!°\ÔBˆÜ ¨!°TÔ:ˆÜ˜Ÿ™˜bŸd™d¨Õ/ô œ:×&Õ&Ü˜r¨°FÕ;÷ 'ð �X‰X�r—v‘v˜b“z 2§6¡6¨"£:Ð.°QˆXÓ7ˆØ�b˜"�X��ˆØ�b˜"�X��ˆÜ ¨!°e°^ÔDˆÜ ¨!Ø(>ô@ˆä˜Ÿ™˜bŸd™d¨Õ/ô �i‰i×#Ñ# DÓ)ˆØ�"ˆ1Ü�GŠG�C—J‘J A�JÓ&Ó'ˆØ�J‰J˜Q  1 a˜LˆJÓ)ˆØ�z‰z˜!‹}˜bŸj™j¨›mˆ1ð �2—8‘8˜IÓ&Ð'Ð(ˆØ�2—8‘8˜IÓ&Ð'Ð(ˆÜ  a°s°Ô<ˆÜ  a°Ô;ˆÜ˜Ÿ™˜bŸd™d¨×/÷1 '×&Ð&ús   Ä?J>Ê>K	c                óŠ  € \         P                  P                  R 4      p^^rC\         P                  ! VP                  VR7      4      pVP                  VR7      p\	        WS4      p\        WVWs4      pVP                  V4      p\        VP                  WVV34      w  ršp\        WšW;4      p\        VP                  VRRR7       R# )r™   r¤   rs   rZ   N)rI   rP   rš   r›   r   Úmake_interp_full_matrrO   rv   r   r   r3   )rQ   rR   rœ   r4   rS   rx   Úy_npry   rÏ  rw   r�   r2   rT   s   &&           rU   Útest_full_matrixÚTestInterp.test_full_matrix‡  s    € Ü�i‰i×#Ñ# DÓ)ˆØ�!ˆ1Ü�wŠw�s—z‘z q�zÓ)Ó*ˆØ�z‰z˜qˆzÓ!ˆÜ˜4Ó#ˆÜ" 4¨tÓ7ˆØ�Z‰Z˜‹^ˆä�b—j‘j 4¨tÐ"4Ó5‰ˆˆaÜ˜q QÓ*ˆÜ˜Ÿ™˜R e°%×8rk   c                óD  € \         P                  P                  R4      p^Ép\        ^^ ^4       EFì  p\	        V^,
          ^,          4      p\         P
                  ! VP                  ^V34      4      p\        ^V^,           4       F�  pVRV) 1VR13;;,          \         P
                  ! VP                  ^W&,
          34      4      ,          uu&   WVR1RV) 13;;,          \         P
                  ! VP                  ^W&,
          34      4      ,          uu&   K’  	  VP                  WD34      pWuRV1V) R13&   VP                  WD34      pW…V) R1RV13&   \         P                  ! W234      p	\        \        WD) ^,
          R4      4       FH  w  rjV
^ 8  d    \         P                  ! WZR7      W–RV
13&   K+  \         P                  ! WZR7      W–V
R13&   KJ  	  VP                  V4      p\        \        W—W‹V4      \         P                  P                  W[4      RR7       EKï  	  R# )z�
Random elements in diagonal matrix with blocks in the
left lower and right upper corners checking the
implementation of Woodbury algorithm.
r™   N)Úoffsetrs   rt   r;   )rI   rP   rš   rã   ÚintÚdiagflatre  rò  Údiagonalr   r   ÚlinalgÚsolve)rQ   rœ   rS   r4   r  rï  r  ÚurÚllÚdr  rT   s   &           rU   Útest_woodburyÚTestInterp.test_woodbury”  s¿  € ô �i‰i×#Ñ# DÓ)ˆØˆÜ�q˜"˜a—ˆAÜ˜!˜a�% 1�Ó%ˆFÜ—’˜CŸJ™J¨¨1 vÓ.Ó/ˆAÜ˜1˜f q�jÖ)�Ø�#�A�2�#�q‘r�'—
œbŸkšk¨#¯*©*°a¸½°ZÓ*@ÓAÕA“
Ø‘"�c˜�r�c�'—
œbŸkšk¨#¯*©*°a¸½°ZÓ*@ÓAÕA•
ñ *ð —‘˜VÐ,Ó-ˆBØ#%ˆgˆvˆg˜�w‘xÐÑ Ø—‘˜VÐ,Ó-ˆBØ#%ˆvˆg‰h˜˜˜ÐÑ Ü—’˜!˜Ó ˆAÜ!¤%¨°¸!µ¸RÓ"@ÖA‘�Ø�q”5Ü!Ÿ{š{¨1Ô7�A˜˜!˜�e“Hä!Ÿ{š{¨1Ô7�A˜™�e“Hñ	 Bð
 —
‘
˜1“ˆAÜÔ/°°r¸aÓ@ÜŸI™IŸO™O¨AÓ1¸÷?ð ?ó# !rk   r.  Nrï   r•  rÞ  )r.   r=   r?   r§   )1r/  r0  r1  r2  rI   re   rÔ  rg   r®  rÍ   rz  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ä  rë  rð  ró  rù  rý  r  r  r3  r¦  r§  s   @rU   rx  rx  Í  sž  ø‡ € ð
 
�Š�R˜˜BŸE™E�Ó	"€BØ	�Š�‹€Bò8ò8ò;ò;ð ‡[�[×Ñ˜S¢,Ó/ñ*ó 0ð*ð ‡[�[×Ñ˜S¢,Ó/ñ*ó 0ð*ò?òIð  ‡[�[×Ñ˜SÒ"4Ó5ñ
-ó 6ð
-ò7ò"	>ò	7ð ‡[�[×Ñ˜S¢,Ó/ñ
?ó 0ð
?ò2ò =ò
ò,;ò,Tð ‡[�[×Ñ˜jÐÓ)ñEó *ðEò>ò&
;ò5ò.5ò?ò"ò*ò@ð ‡[�[×Ñ˜S¢,Ó/ñ&ó 0ð&ò
ò"1ò30òj9÷?ð ?rk   rx  c                ó  € V P                   VP                   8X  g   Q hVP                   V P                   V,           ^,           8X  g   Q hV P                   p\        P                  ! WD3\        P                  R7      p\	        V4       Fd  pW,          pWrV,          8X  d   TpM\        P
                  ! W'4      ^,
          p\        P                  ! W#Wx4      p	W•WhV,
          V^,           13&   Kf  	  \        P                  ! WQ4      p
V
# )z«Assemble an spline order k with knots t to interpolate
y(x) using full matrices.
Not-a-knot BC only.

This routine is here for testing only (even though it's functional).
r9   )
r¥   rI   re  rN   rã   r  r*   Úevaluate_all_bsplÚslr
  )rw   r�   r2   r4   rS   ÚAr  r«  ÚleftÚbbr3   s   &&&&       rU   r   r   ±  sÌ   € ð �6‰6�Q—V‘VÔÐÐØ�6‰6�Q—V‘V˜a•Z !•^Ô#Ð#Ð#Ø	�‰€Aä
�Š�!�œrŸz™zÔ*€Aä�1ŽXˆØ�tˆØ�Q•4Œ<Ø‰Dä—?’? 1Ó+¨aÕ/ˆDô ×'Ò'¨¨dÓ9ˆØ ˆ!�!�V�D˜•Fˆ]Ð
Óñ ô 	�Š�‹€AØ€Hrk   c                óz  € \        \        P                  WV34      w  rpV P                  pVP                  V,
          ^,
          p\        P                  ! WE3\        P
                  R7      p\        V4       Fd  pW,          pW‚V,          8X  d   Tp	M\        P                  ! W(4      ^,
          p	\        P                  ! W#W‰4      p
W¦WyV,
          V	^,           13&   Kf  	  \        P                  ! VP                  V4      p\        P                  ! VP                  V4      p\        P                  ! W¼4      pWÖV33# )z,Make the least-square spline, full matrices.r9   )rv   rI   rO   r¥   re  rN   rã   r  r*   r  ÚdotÚTr  r
  )rw   r�   r2   r4   r¾  rS   r  r  r«  r  r  r4  ÚYr3   s   &&&&          rU   Úmake_lsq_full_matrixr  Í  sì   € ä”"—*‘*˜q Q˜iÓ(�G€Aˆ!Ø	�‰€AØ	�‰��
�Q�€Aä
�Š�!�œrŸz™zÔ*€Aä�1ŽXˆØ�tˆà�Q•4Œ<Ø‰Dä—?’? 1Ó+¨aÕ/ˆDô ×'Ò'¨¨dÓ9ˆØ ˆ!�!�V�D˜•Fˆ]Ð
Óñ ô 	�Šˆq�s‰s�A‹€AÜ
�Šˆq�s‰s�A‹€AÜ
�Š�‹€Aà�!ˆfˆ9Ðrk   Úmethodúnorm-eqÚqrc            	       ó,  a € ] tR tRt o ]P
                  P                  R4      t^^utt	]P                  ! ]P                  ]4      4      t]P                  ]4      t]! ]P                  ! ]^ ,          ]R,          ^4      ]	4      t]R 4       t]R 4       tR t]R 4       t]R 4       tR t]R	 4       tR
 t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]P>                  PA                  R]!! ]"! ^^4      4      4      R 4       t#R t$Rt%V t&R# )ÚTestLSQiì  r™   c                ó¸  € V P                   V P                  V P                  V P                  3w  r#rE\	        W#WE4      w  rg\        W#WEVR 7      p\        VP                  V4       VP                  P                  VP                  V,
          ^,
          38X  g   Q hVw  rš\        P                  P                  W“RR7      w  p  p\        VP                  V4       R# )©r  )ÚrcondNr;   )rw   r�   r2   r4   r  r   r   r3   rª   r¥   rI   r	  Úlstsq)rQ   r  rw   r�   r2   r4   Úc0ÚAYrT   ÚaarÍ   rù  r½   s   &&           rU   Ú
test_lstsqÚTestLSQ.test_lstsq÷  sª   € ð —V‘V˜TŸV™V T§V¡V¨T¯V©VÐ3‰
ˆˆaä% a¨AÓ1‰ˆÜ˜A !¨vÔ6ˆä˜Ÿ™˜RÔ Ø�s‰s�y‰y˜QŸV™V a�Z¨!�^Ð-Ô-Ð-Ð-ð ‰ˆÜ—i‘i—o‘o b°2�oÓ6‰ˆˆAˆq�!Ü˜Ÿ™˜RÖ rk   c           	     ó´  € . \        VP                  V P                  V P                  V P                  34      OV P
                  N5w  r4rVVP                  V4      p\        W4WVVR 7      p\        W4WVWqR7      p	\        VP                  V	P                  RR7       \        VP                  V	P                  RR7       VP
                  V	P
                  8X  g   Q hR# )r!  ©Úwr  rs   rt   N)
rv   rO   rw   r�   r2   r4   rn   r   r   r3   )
rQ   r  rR   rw   r�   r2   r4   r+  rT   Úb_ws
   &&&       rU   Útest_weightsÚTestLSQ.test_weights  sŸ   € ð H”c˜"Ÿ*™* t§v¡v¨t¯v©v°t·v±vÐ&>Ó?ÐGÀÇÁÑG‰
ˆˆaØ�L‰L˜‹Oˆä˜A !¨vÔ6ˆÜ˜a A¨AÔ=ˆä˜Ÿ™˜SŸU™U¨Õ/Ü˜Ÿ™˜SŸU™U¨Õ/Ø�s‰s�c—e‘eŒ|ÐŠ|rk   c           	     ób  € . \        VP                  V P                  V P                  V P                  34      OV P
                  N5w  r#rE\        P                  P                  R 4      P                  VP                  ^ ,          R7      pVP                  V4      p\        W#WEVRR7      p\        W#WEVRR7      p\        W#WERR7      p	\        VP                  VP                  RR7       VP                  VP                  V	P                  VP                  ,
          4      R8  4      '       d   Q hR# )	r™   r¤   r  r*  r  r!  rs   rt   N)rv   rO   rw   r�   r2   r4   rI   rP   rÆ  rÇ  rª   r   r   r3   rË   Úabs)
rQ   rR   rw   r�   r2   r4   r+  Úb_neÚb_qrÚb_no_ws
   &&        rU   Útest_weights_sameÚTestLSQ.test_weights_same  sã   € àG”c˜"Ÿ*™* t§v¡v¨t¯v©v°t·v±vÐ&>Ó?ÐGÀÇÁÑG‰
ˆˆaÜ�I‰I×!Ñ! $Ó'×/Ñ/°Q·W±W¸QµZÐ/Ó@ˆØ�J‰J�q‹Mˆä˜q Q¨Q°yÔAˆÜ˜q Q¨Q°tÔ<ˆÜ   q°DÔ9ˆä˜Ÿ™ §¡¨UÕ3Ø—6‘6˜"Ÿ&™& §¡¨D¯F©FÕ!2Ó3°eÑ;×<Ò<Ð<Ð<Ñ<rk   c                óÂ  € . \        VP                  V P                  V P                  34      OV P                  NV P
                  N5w  r4rV\        P                  P                  R 4      pVP                  V^^^3R7      pVP                  V4      p\        W8WEVR7      p	V	P                  P                  VP                  ^ ,          V,
          ^,
          ^^^38X  g   Q hR# )r™   r¤   r!  N)rv   rO   rw   r2   r4   rS   rI   rP   rš   r   r3   rª   )
rQ   r  rR   rw   r2   r4   rS   rœ   r�   rT   s
   &&&       rU   ró  ÚTestLSQ.test_multiple_rhs!  s±   € àG”c˜"Ÿ*™* t§v¡v¨t¯v©vÐ&6Ó7ÐG¸¿¹ÐGÀÇÁÑG‰
ˆˆaÜ�i‰i×#Ñ# DÓ)ˆØ�J‰J˜Q  1 a˜LˆJÓ)ˆØ�J‰J�q‹Mˆä˜A !¨vÔ6ˆØ�s‰s�y‰y˜QŸW™W Q�Z¨!�^¨aÕ/°°A°qÐ9Ô9Ð9Ò9rk   c                óh  € . \        VP                  V P                  V P                  34      OV P                  NV P
                  N5w  r4rV^p\        P                  P                  R4      pVP                  Wg3R7      p	VP                  V	4      p	\        W9WEVR7      p
\        V4       Uu. uF  p\        W9RV3,          WEVR7      NK  	  ppTP                  \        V4       Uu. uF  q¼V,          P                  NK  	  up4      P                  p\        WÚP                  RR7       R# u upi u upi )r?   r™   r¤   r!  rE  rY   rt   N)rv   rO   rw   r2   r4   rS   rI   rP   rš   r   rã   r‹   r3   r  r   )rQ   r  rR   rw   r2   r4   rS   Únrhsrœ   r�   rT   r  r  Úcoefss   &&&           rU   Útest_multiple_rhs_2ÚTestLSQ.test_multiple_rhs_2+  sú   € àG”c˜"Ÿ*™* t§v¡v¨t¯v©vÐ&6Ó7ÐG¸¿¹ÐGÀÇÁÑG‰
ˆˆaØˆÜ�i‰i×#Ñ# DÓ)ˆØ�J‰J˜Q˜IˆJÓ&ˆØ�J‰J�q‹MˆÜ˜A !¨vÔ6ˆô ˜T”{ó$Ù"�!ô ˜a 1 a 4¥¨!°v×>Ù"ð 	ð $à—‘¬5°¬;Ó7©; a˜Q�%Ÿ'œ'©;Ñ7Ó8×:Ñ:ˆä˜Ÿs™s¨×/ùò	$ùâ7s   Â+ D*Ã%D/c                ó~  € . \        VP                  V P                  V P                  34      OV P                  NV P
                  N5w  r#rE^p\        P                  P                  WV3R7      pVP                  V4      p\        W'W4RR7      p\        W'W4RR7      p	\        VP                  V	P                  RR7       R# )r?   r¤   r  r!  r  rY   rt   N)rv   rO   rw   r2   r4   rS   rI   rP   r   r   r3   )
rQ   rR   rw   r2   r4   rS   r9  r�   r2  Úb_neqs
   &&        rU   Útest_multiple_rhs_3ÚTestLSQ.test_multiple_rhs_3:  s•   € ØG”c˜"Ÿ*™* t§v¡v¨t¯v©vÐ&6Ó7ÐG¸¿¹ÐGÀÇÁÑG‰
ˆˆaØˆÜ�I‰I×Ñ 1 )ÐÓ,ˆØ�J‰J�q‹MˆÜ˜q Q°$Ô7ˆÜ  a°9Ô=ˆÜ˜Ÿ™ §¡¨e×4rk   c                ó´  € . \        VP                  V P                  V P                  34      OV P                  N5w  r4pVP                  V P
                  R,          4      p\        W6WEVR7      p\        W2P                  V4      WEVR7      p\        W2P                  V4      WEVR7      p	\        V! V4      V! V4      RV	! V4      ,          ,           RRR7       R# )r0   r!  r/   rY   rZ   Nù      ð?       @)
rv   rO   rw   r2   r4   r�   r   rú   rû   r   )
rQ   r  rR   rw   r2   r4   rl  rT   rý   rþ   s
   &&&       rU   rÛ  ÚTestLSQ.test_complexC  s§   € ð =”3�r—z‘z D§F¡F¨D¯F©FÐ#3Ó4Ð<°d·f±fÑ<‰ˆˆaØ�Z‰Z˜Ÿ™ (Õ+Ó,ˆä˜A 1°Ô7ˆÜ˜q§'¡'¨"£+¨q¸FÔCˆÜ˜q§'¡'¨"£+¨q¸FÔCˆä™˜!›™d 1›g¨©D°«G­Õ3¸%Àe×Lrk   c                óÚ  € . \        VP                  V P                  V P                  34      OV P                  N5w  r#pVP                  V P
                  R,          4      pVP                  WU3^R7      p\        W%W44      p\        W!P                  V4      W44      p\        W!P                  V4      W44      p\        V! V4      V! V4      RV! V4      ,          ,           RRR7       VP                  WU3^R7      p\        W%W44      p\        W!P                  V4      W44      p\        W!P                  V4      W44      p\        V! V4      V! V4      RV! V4      ,          ,           RRR7       R# )r0   r  r/   rY   rZ   NrB  )rv   rO   rw   r2   r4   r�   r‹   r   rú   rû   r   )	rQ   rR   rw   r2   r4   rl  rT   rý   rþ   s	   &&       rU   Útest_complex_2ÚTestLSQ.test_complex_2O  s"  € ð =”3�r—z‘z D§F¡F¨D¯F©FÐ#3Ó4Ð<°d·f±fÑ<‰ˆˆaØ�Z‰Z˜Ÿ™ (Õ+Ó,ˆØ�X‰X�r�h QˆXÓ'ˆä˜A 1Ó(ˆÜ˜q§'¡'¨"£+¨qÓ4ˆÜ˜q§'¡'¨"£+¨qÓ4ˆä™˜!›™d 1›g¨©D°«G­Õ3¸%ÀeÕLð �X‰X�r�h QˆXÓ'ˆä˜A 1Ó(ˆÜ˜q§'¡'¨"£+¨qÓ4ˆÜ˜q§'¡'¨"£+¨qÓ4ˆä™˜!›™d 1›g¨©D°«G­Õ3¸%Àe×Lrk   c                óâ   € \         P                  ! ^
4      P                  \        4      p\         P                  ! ^
4      P                  \        4      p\	        V^R7      p\        W#V^VR7       R# )rß  rj  ©r4   r  N)rI   rM   Úastyper  r   r   ©rQ   r  rw   r�   r2   s   &&   rU   rá  ÚTestLSQ.test_int_xye  sK   € ä�IŠI�b‹M× Ñ ¤Ó%ˆÜ�IŠI�b‹M× Ñ ¤Ó%ˆÜ�A˜ŒOˆä˜˜a 1¨V×4rk   c                óÐ  € \         P                  ! ^
\         P                  R7      p\         P                  ! ^
\         P                  R7      p\        V^R7      p\	        W#V^VR7      p\	        VP                  \        4      VP                  \        4      VP                  \        4      ^VR7      pVR,          VRR	 ,           R,          p\        V! V4      V! V4      RR7       R# )
rß  r9   rj  rH  r­  NrB   rY   rt   r;   )rI   rM   Úfloat32r   r   rI  Úfloatr   )rQ   r  rw   r�   r2   Úspl_f32Úspl_f64Úx2s   &&      rU   Útest_f32_xyÚTestLSQ.test_f32_xym  s    € ä�IŠI�b¤§
¡
Ô+ˆÜ�IŠI�b¤§
¡
Ô+ˆÜ�A˜ŒOˆÜ! !¨¨Q°vÔ>ˆÜ!Ø�H‰H”U‹O˜QŸX™X¤e›_¨a¯h©h´u«oÀÈ6ô
ˆð ��e�a˜˜�f�n Õ#ˆÜ™ ›¡W¨R£[°u×=rk   c                ó�   € \         P                  ! R^^d4      pVR,          pVR,          p\        V^4      p\        W4V^VR7       R# )r.   :NNr?   rH  Nr;   )rI   re   r   r   )rQ   r  rg   rw   r�   r2   s   &&    rU   rä  ÚTestLSQ.test_sliced_inputz  sA   € ô �[Š[˜˜Q Ó$ˆàˆs�GˆØˆs�GˆÜ�A�q‹MˆÜ˜˜a 1¨V×4rk   c           
     ó&  € \         P                  ! ^4      P                  \        4      pV^,          p\	        V^4      p\         P
                  \         P                  \         P                  ) 3 F  pWSR&   \        \        \        W#WAR7       K   	  R# )é   r!  Nr;   )
rI   rM   rI  rN  r   rK   rL   rE   rG   r   )rQ   r  rw   r�   r2   rê  s   &&    rU   Útest_checkfiniteÚTestLSQ.test_checkfinite„  sd   € ô �IŠI�b‹M× Ñ ¤Ó'ˆØˆq�DˆÜ�A�q‹Mˆä—&‘&œ"Ÿ&™&¤2§6¡6 'Ó*ˆAØˆb‰EÜœ*¤o°q¸Q×Nó +rk   c                óÒ   € V P                   V P                  V P                  rCpVP                  R R7       VP                  R R7       VP                  R R7       \	        W#WAR7       R# )Fr‡  )rw   r�   r2   r  N)rw   r�   r2   r‰  r   rJ  s   &&   rU   rŠ  ÚTestLSQ.test_read_only�  sO   € ð —&‘&˜$Ÿ&™& $§&¡&ˆaˆØ	�
‰
˜ˆ
ÔØ	�
‰
˜ˆ
ÔØ	�
‰
˜ˆ
ÔÜ˜! A×5rk   r4   c                ó4  € V P                   V P                  r2\        \        P                  ! V^ ,          VR	,          ^4      V4      p\        W#WARR7      p\        W#WARR7      pVR,          VRR	 ,           R,          p\        V! V4      V! V4      RR7       R# )
r   r  rH  r  r­  NrB   rY   rt   r;   )rw   r�   r   rI   re   r   r   )rQ   r4   rw   r�   r2   Úspl_norm_eqÚspl_qrrg   s   &&      rU   Útest_qr_vs_norm_eqÚTestLSQ.test_qr_vs_norm_eq˜  s|   € ð �v‰v�t—v‘vˆ1Ü”B—K’K  !¥ a¨¥e¨QÓ/°Ó3ˆÜ% a¨A¸9ÔEˆÜ   q°dÔ;ˆà��e�a˜˜�f�n Õ#ˆÜ™ B›©°«¸%×@rk   c                ó€  € \         P                  ! V P                  ^4      p\         P                  ! V P                  ^4      p\	        V P                  V P                  V P
                  ^RR7      p\	        WV P
                  ^RR7      pVR,          VRR ,           R,          p\        V! V4      V! V4      RR7       R# )	r=   r  rH  r­  NrB   rY   rt   r;   )rI   Úrepeatrw   r�   r   r2   r   )rQ   rw   r�   rµ  Úspl_2rg   s   &     rU   Útest_duplicatesÚTestLSQ.test_duplicates£  sˆ   € ä�IŠI�d—f‘f˜aÓ ˆÜ�IŠI�d—f‘f˜aÓ ˆÜ §¡¨¯©°·±¸!ÀDÔIˆÜ  d§f¡f°¸$Ô?ˆà��e�a˜˜�f�n Õ#ˆÜ™˜b›	¡5¨£9°5×9rk   r.  Nr;   )'r/  r0  r1  r2  rI   rP   rš   rœ   rS   r4   r›   rw   r�   r   re   r2   Úparametrize_lsq_methodsr'  r-  r4  ró  r;  r?  rÛ  rE  rá  rR  rä  rX  rŠ  r`   r¡  r¢  rî  rã   r_  rd  r3  r¦  r§  s   @rU   r  r  ì  s€  ø‡ € ð
 �)‰)×
Ñ
 Ó
%€CØˆq€D€A€qØ
�Š�—
‘
˜1“Ó€AØ�
‰
�1‹€AÙ�—’˜A˜a�D ! B¥%¨Ó+¨QÓ/€Aàñ!ó ð!ð ñ
ó ð
ò=ð ñ:ó ð:ð ñ0ó ð0ò5ð ñ	Mó ð	MòMð, ñ5ó ð5ð ñ
>ó ð
>ð ñ5ó ð5ð ñOó ðOð ñ6ó ð6ð ‡[�[×Ñ˜S¡$¡u¨Q°£{Ó"3Ó4ñAó 5ðA÷:ð :rk   r  c                   ó@   a € ] tR tRt o RtR t]R 4       tR tRt	V t
R# )ÚPackedMatrixi®  a_  A simplified CSR format for when non-zeros in each row are consecutive.

Assuming that each row of an `(m, nc)` matrix 1) only has `nz` non-zeros, and
2) these non-zeros are consecutive, we only store an `(m, nz)` matrix of
non-zeros and a 1D array of row offsets. This way, a row `i` of the original
matrix A is ``A[i, offset[i]: offset[i] + nz]``.

c                óÌ   € Wn         W n        W0n        VP                  ^8X  g   Q hVP                  ^8X  g   Q hVP                  ^ ,          VP                  ^ ,          8X  g   Q hR# )r=   N)rï  r  Úncr'  rª   )rQ   rï  r  rj  s   &&&&rU   Ú__init__ÚPackedMatrix.__init__·  sQ   € ØŒØŒØŒà�v‰v˜Œ{Ðˆ{Ø�{‰{˜aÔÐÐØ�w‰w�q�z˜VŸ\™\¨!�_Ô,Ð,Ò,rk   c                óT   € V P                   P                  ^ ,          V P                  3# r8  )rï  rª   rj  r}  s   &rU   rª   ÚPackedMatrix.shapeÀ  s   € à�v‰v�|‰|˜A� §¡Ð'Ð'rk   c                ó®  € \         P                  ! V P                  4      pV P                  P                  ^,          p\	        VP                  ^ ,          4       Fw  p\        V P                  V P                  V,          ,
          V4      pV P                  VRV13,          WV P                  V,          V P                  V,          V,           13&   Ky  	  V# )r.   N)rI   re  rª   rï  rã   Úminrj  r  )rQ   ÚoutÚnelemr  Únels   &    rU   ÚtodenseÚPackedMatrix.todenseÄ  s—   € Ü�hŠh�t—z‘zÓ"ˆØ—‘—‘˜Q•ˆÜ�s—y‘y •|Ö$ˆAÜ�d—g‘g §¡¨A¥Õ.°Ó6ˆCØ:>¿&¹&ÀÀDÀSÀDÀ½/ˆC�4—;‘;˜q•> $§+¡+¨a¥.°3Õ"6Ð6Ð6Ó7ñ %ð ˆ
rk   )rï  rj  r  N)r/  r0  r1  r2  Ú__doc__rk  Úpropertyrª   rt  r3  r¦  r§  s   @rU   rh  rh  ®  s-   ø‡ € ñò-ð ñ(ó ð(÷ð rk   rh  c                ó‚  € ^ RI Hp V P                  pV P                  pV P                  pVP
                  w  rxVP
                  ^ ,          V8X  g   Q hVP                  4       p	VP                  4       p
\        W'4       Få  pW[,          p\        WÆ4       FË  pV\        W¶4      8¼  d    K,  V! W�^ 3,          W›^ 3,          4      w  rïpVW�^ 3&   \        ^V4       F2  p\        WïW�V3,          W›V3,          4      w  W�V3&   W›V^,
          3&   K4  	  RW›R3&   \        V
P
                  ^,          4       F+  p\        WïW­V3,          W«V3,          4      w  W­V3&   W«V3&   K-  	  KÍ  	  Kç  	  \        \        V	P
                  ^ ,          4      4      p\        V	\        P                  ! V\        P                  R7      V4      pVV
3# )zbThis is a python counterpart of the `_qr_reduce` routine,
declared in interpolate/src/__fitpack.h
)ÚdlartgrA   r9   r;   )Úscipy.linalg.lapackry  rï  r  rj  rª   r*  rã   rp  Úfprotarî  rh  rI   rc  Úint64)Úa_pr�   Ústartrowry  rï  r  rj  r¾  ÚnzÚRr¶  r  Úoir  r3   r
  rÓ  rÒ  ÚoffsÚR_ps   &&&                 rU   Ú_qr_reduce_pyr„  Í  sƒ  € õ +ð 	�‰€AØ�Z‰Z€FØ	�‰€Bà�G‰G�E€Aà�7‰7�1�:˜Œ?Ðˆ?Ø	�‰‹€AØ	
�‰‹€Bä�8ÖˆØ�YˆÜ�r–ˆAà”C˜“JŒÚñ ˜Q !˜t�W a¨1¨¥gÓ.‰GˆA�!ð ˆA�ˆd‰GÜ˜1˜b–\�Ü%+¨A°!°q°Dµ'¸1À¸T½7Ó%CÑ"��Q�$‘˜˜a �c˜6›ñ "àˆA�ˆe‰Hô ˜2Ÿ8™8 A�;Ö'�Ü%+¨A°"¸°Tµ(¸BÀ!¸t½HÓ%EÑ"��a�4‘˜" ˜T›(ó (ó ñ  ô* ”�a—g‘g˜a•jÓ!Ó"€DÜ
�qœ"Ÿ(š( 4¬r¯x©xÔ8¸"Ó
=€Cà�ˆ7€Nrk   c                ó`   € W,          W,          ,           pV) V,          W,          ,           pWE3# )z@Givens rotate [a, b].

[aa] = [ c s] @ [a]
[bb]   [-s c]   [b]

r.  )r3   r
  rï  rT   r&  r  s   &&&&  rU   r{  r{  ù  s)   € ð �#�•�)€BØ
ˆˆA��•�€BØˆ6€Mrk   c                óN  € V P                   pVP                  w  r4V P                  pVP                  ^ ,          VP                  ^ ,          8X  g   Q h\        P                  ! VRV 4      pW^,
          ,          W%^,
          ^ 3,          ,          We^,
          R3&   \        V^,
          RR4       Fr  p\        WEV,
          4      pW'^V1R3,          Wg^,           Wx,           1R3,          ,          P                  ^ R7      p	W,          V	,
          W'^ 3,          ,          WgR3&   Kt  	  V# )zxBacksubsitution solve upper triangular banded `R @ c = y.`

`R` is in the "packed" format: `R[i, :]` is `a[i, i:i+k+1]`
N.r  r;   )rï  rª   rj  rI   rä   rã   rp  r  )
rƒ  r�   r€  r½   r  rj  r3   r  rs  Úsumms
   &&        rU   Úfpbackrˆ    sô   € ð
 	�‰€AØ�G‰G�E€AØ	�‰€BØ�7‰7�1�:˜Ÿ™ �Ô#Ð#Ð#ä
�Š�a˜˜�fÓ€AØ˜•T•7˜Q !�t Q˜w�ZÕ'€Aˆ…dˆC€i�LÜ�2�a•4˜˜RÖ ˆÜ�"˜•d‹mˆà�Q�s�U˜D�.Õ! A¨¥c¨!­% i° nÕ$5Õ5×:Ñ:ÀÐ:ÓBˆØ•d˜T•k a¨1¨¥gÕ-ˆˆSˆ&‹	ñ	 !ð
 €Hrk   c                   óD   a € ] tR tRt o R tR tR tR tR tR t	Rt
V tR	# )
ÚTestGivensQRi  c                ó˜   € ^p\         P                  ! V\        R7      pV^,          ^^V,           ,          ,           p\        W24      pW4WR3# )r?   r9   )rI   rM   rN  r   )rQ   rS   r4   rw   r�   r2   s   &&    rU   Ú_get_xytÚTestGivensQR._get_xyt  s@   € ØˆÜ�IŠI�aœuÔ%ˆØˆq�D�1�a˜•c•7�NˆÜ˜ÓˆØ�QˆzÐrk   c                óÊ  € ^
pV P                  V4      w  r#rE\        P                  ! W$V4      p\        P                  ! VP                  4       4      w  rxVP                  V,          p	VP                  w  r«W´P                  ^ ,          V,
          ^,
          8X  g   Q hVP                  RRV^,           1,          p\        P                  ! V\        P                  R7      pVP                  P                  W¥^,           4      p\        WÜV4      pVR,          p\        P                   ! WÜW¿4       \#        \        P$                  ! VP                  4       V,           VP                  4       V,
          4      \        P&                  ! V4      RR7       \#        \        P$                  ! \)        WŸR,          ,
          4      \)        WŸR,          ,           4      4      \        P&                  ! V	4      RR7       \        P*                  ! W‰4      p\        P,                  ! VP.                  VP0                  W/WE\        P2                  ! V4      V4      w  p p\#        VVR,          RR7       R# )	rß  Nr9   rY   rt   g‚vIhÂ%L=çê-�™—a=©rE  N)rE  r   )rŒ  r
   rR  r  r  rt  r  rª   ÚindicesrI   Úascontiguousarrayr|  Údatar‚   rh  r*   Ú	qr_reducer   Úminimumrä   r0  r
  rˆ  rï  rj  rn   )rQ   rS   rw   r�   r2   r4   Úa_csrÚqrÓ  ÚqTyr¾  rj  r  r  r€  Úy_Úc_fullÚc_bandedr½   s   &                  rU   Útest_vs_fullÚTestGivensQR.test_vs_full#  s¯  € ØˆØ—]‘] 1Ó%‰
ˆˆaô ×%Ò% a¨AÓ.ˆô �uŠu�U—]‘]“_Ó%‰ˆØ�c‰c�A�gˆð —‘‰ˆØ—W‘W˜Q•Z !•^ aÕ'Ô'Ð'Ð'à—‘™w ! A¥#˜wÕ'ˆÜ×%Ò% f´B·H±HÔ=ˆØ�J‰J×Ñ˜q A¥#Ó&ˆä˜ BÓ'ˆØˆw�ZˆÜ×Ò˜1 bÔ-ô 	œŸ
š
 1§9¡9£;°¥?Ø#$§9¡9£;°¥?ó4Ü57·]²]À1Ó5EÈEõ	SäœŸ
š
¤3 s°­X¥~Ó#6Ü#& s°­X¥~Ó#6ó8Ü9;¿ºÀsÓ9KÐRWõ	Yô —’˜!Ó!ˆÜ!Ÿš¨¯©¨a¯d©d°A¸1ÄÇÂÈaÃÐRTÓU‰ˆ�!�QÜ˜ ¨¥°U×;rk   c                óâ  € ^
pV P                  V4      w  r#rE\        P                  ! W$V4      pVP                  w  rxW„P                  ^ ,          V,
          ^,
          8X  g   Q hVP                  RRV^,           1,          p	\
        P                  ! V	\
        P                  R7      p	VP                  P                  Wu^,           4      p
\        W©V4      pVR,          p\        W¼4      w  rÞ\        P                  ! W©WŒ4       \        VP                  VP                  RR7       \!        VP"                  VP"                  RR7       VP$                  VP$                  8X  g   Q h\        WìRR7       R# )rß  Nr9   rY   rt   F)Úcheck_dtyper�  )rŒ  r
   rR  rª   r‘  rI   r’  r|  r“  r‚   rh  r„  r*   r”  r   rï  r   r  rj  )rQ   rS   rw   r�   r2   r4   r–  r¾  rj  r  r  r€  r™  ÚRRrÍ   s   &              rU   Útest_py_vs_compiledÚ TestGivensQR.test_py_vs_compiledF  s  € àˆØ—]‘] 1Ó%‰
ˆˆaô ×%Ò% a¨AÓ.ˆØ—‘‰ˆØ—W‘W˜Q•Z !•^ aÕ'Ô'Ð'Ð'à—‘™w ! A¥#˜wÕ'ˆÜ×%Ò% f´B·H±HÔ=ˆØ�J‰J×Ñ˜q A¥#Ó&ˆä˜ BÓ'ˆØˆw�Zˆä˜qÓ%‰ˆÜ×Ò˜1 bÔ.ä˜Ÿ™˜aŸc™c¨Õ.Ü˜Ÿ	™	 1§8¡8¸Õ?Ø�u‰u˜Ÿ™Œ}Ðˆ}Ü˜ U×+rk   c                ót  € ^
pV P                  V4      w  r#rE\        P                  ! ^V^,           \        R7      p\        P
                  ! W$WV4      w  rxp	VP                  ^ ,          p
\        P                  ! W$V4      pW¶R,          ,          P                  4       pVP                  P                  W¥^,           34      pVP                  RRV^,           1,          P                  \        P                  4      p\        W}RR7       \!        WŽ4       W”P                  ^ ,          V,
          ^,
          8X  g   Q hR# )rß  r9   NrY   rt   r�  )rŒ  rI   rM   rN  r*   Údata_matrixrª   r
   rR  Útocsrr“  r‚   r‘  rI  r|  r   r   )rQ   rS   rw   r�   r2   r4   r+  r  r  rj  r¾  r–  Úa_wÚA_Úoffset_s   &              rU   Útest_data_matrixÚTestGivensQR.test_data_matrixa  sç   € ØˆØ—]‘] 1Ó%‰
ˆˆaÜ�IŠI�a˜˜1�¤EÔ*ˆä ×,Ò,¨Q°1Ó8‰ˆ�2à�G‰G�A�JˆÜ×%Ò% a¨AÓ.ˆØ˜•zÕ!×(Ñ(Ó*ˆØ�X‰X×Ñ˜q A¥#˜hÓ'ˆØ—+‘+™g  1¥˜gÕ&×-Ñ-¬b¯h©hÓ7ˆä˜ EÕ*Ü˜Ô(Ø—W‘W˜Q•Z !•^ aÕ'Ô'Ð'Ò'rk   c                ó¨  € ^
pV P                  V4      w  r#rE\        P                  W3^,          3,          p\        P                  ! W$V\        P
                  ! V4      4      w  rgp\        WgV4      p	\        P                  ! WgWƒ4       \        W“4      p
\        P                  ! WhW#WE\        P
                  ! V4      V4      w  p p\        WºRR7       R# )rß  rs   rt   N)
rŒ  rI   r0  r*   r¤  rn   rh  r”  rˆ  r   )rQ   rS   rw   r�   r2   r4   r  r  rj  r€  r3   rü   r½   s   &            rU   Útest_fpbackÚTestGivensQR.test_fpbackr  sŸ   € ØˆØ—]‘] 1Ó%‰
ˆˆaÜ�E‰E�!˜•T�'�NˆÜ ×,Ò,¨Q°1´b·l²lÀ1³oÓF‰ˆ�2Ü˜ BÓ'ˆÜ×Ò˜1 bÔ,ä�1‹LˆÜ—?’? 1¨!°´b·l²lÀ1³oÀqÓI‰ˆˆAˆqä˜ E×*rk   c                ó0  € ^
pV P                  V4      w  r#rE\        P                  ! V^,           3\        R7      pV FU  p\	        \
        P                  ! WEWqV^,           4      V4       \	        \
        P                  ! WEWq^V,          4      V4       KW  	  R# )rß  r9   N)rŒ  rI   re  rN  r   r*   r  )rQ   rS   rw   r½   r2   r4   Ú
zero_arrayr«  s   &       rU   Útest_evaluate_all_bsplÚ#TestGivensQR.test_evaluate_all_bspl  s{   € ØˆØ—]‘] 1Ó%‰
ˆˆaÜ—X’X˜q 1�u˜h¬eÔ4ˆ
ÛˆDÜÜ×*Ò*¨1°¸!¸a½%Ó@À*ôNäÜ×*Ò*¨1°¸!¸A½#Ó>À
öLó rk   r.  N)r/  r0  r1  r2  rŒ  rœ  r¡  r©  r¬  r°  r3  r¦  r§  s   @rU   rŠ  rŠ    s+   ø‡ € òò!<òF,ò6(ò"+÷Lð Lrk   rŠ  c                 óÀ   € \         P                  P                  \         P                  P                  \         P                  P	                  \
        4      4      R V 4      # )r“  )ÚosÚpathr™  ÚabspathÚdirnameÚ__file__)Úbasenames   &rU   Ú	data_filer¹  Š  s8   € Ü�7‰7�<‰<œŸ™Ÿ™¬¯©¯©¼Ó(AÓBØ ó*ð *rk   c                   ót   a € ] tR tRt o R tR tR t]P                  P                  ^4      R 4       t
RtV tR# )ÚTestSmoothingSplinei�  c                óR  € \         P                  P                  R 4      p^dp\         P                  ! VP	                  V4      ^,          ^,
          4      pV^,          \         P
                  ! ^V,          4      ,          V^,          ,           VP                  RRV4      ,           p\        \        4      ;_uu_ 4        \        W4R,          4       RRR4       \        \        4      ;_uu_ 4        \        VR,          V4       RRR4       \        \        4      ;_uu_ 4        \        VP                  ^V4      V4       RRR4       \        \        4      ;_uu_ 4        \        VRRR1,          V4       RRR4       \         P                  ! V4      pV^,          V^ &   \        \        4      ;_uu_ 4        \        WT4       RRR4       \         P                  ! ^4      p\         P                  ! ^4      pRp\        P                  ! \        VR7      ;_uu_ 4        \        W44       RRR4       R#   + '       g   i     ELk; i  + '       g   i     ELL; i  + '       g   i     EL$; i  + '       g   i     EL; i  + '       g   i     LÈ; i  + '       g   i     R# ; i)r™   rA   r  r­  Nz)``x`` and ``y`` length must be at least 5r6  r;   )rI   rP   rš   r›   rO  r®  ÚnormalrE   rG   r   r‚   r*  rM   rß  r`   r	   )rQ   rœ   rS   rw   r�   Úx_duplÚexception_messages   &      rU   Útest_invalid_inputÚ&TestSmoothingSpline.test_invalid_input”  s²  € Ü�i‰i×#Ñ# DÓ)ˆØˆÜ�GŠG�C×%Ñ% aÓ(¨1Õ,¨qÕ0Ó1ˆØˆq�D”2—6’6˜!˜a�%“=Õ  1 a¥4Õ'¨#¯*©*°R¸¸aÓ*@Õ@ˆô œ:×&Õ&Ü! ! r¥UÔ+÷ 'äœ:×&Õ&Ü! ! B¥%¨Ô+÷ 'äœ:×&Õ&Ü! !§)¡)¨A¨q£/°1Ô5÷ 'ô œ:×&Õ&Ü! !¡D b D¥'¨1Ô-÷ 'ô —’˜“ˆØ˜1•Iˆˆq‰	äœ:×&Õ&Ü! &Ô,÷ 'ô �IŠI�a‹LˆÜ�GŠG�A‹JˆØGÐÜ�]Š]œ:Ð->×?Ö?Ü! !Ô'÷ @Ñ?÷+ '×&Ð&úç&×&Ð&úç&×&Ð&ú÷ '×&Ð&ú÷ '×&ú÷ @×?Ð?úsH   Â=H2Ã/IÄ"IÅI.Æ6JÈJÈ2I	ÉI	ÉI+	É.I?	ÊJ	ÊJ&	c                ó  € \         P                  ! \        R4      4      ;_uu_ 4       pVR,          pVR,          pVR,          pRRR4       \        XX4      ! V4      p\	        VXRRRR7       R#   + '       g   i     L4; i)	a}  
Data is generated in the following way:
>>> np.random.seed(1234)
>>> n = 100
>>> x = np.sort(np.random.random_sample(n) * 4 - 2)
>>> y = np.sin(x) + np.random.normal(scale=.5, size=n)
>>> np.savetxt('x.csv', x)
>>> np.savetxt('y.csv', y)

We obtain the result of performing the GCV smoothing splines
package (by Woltring, gcvspl) on the sample data points
using its version for Octave (https://github.com/srkuberski/gcvspl).
In order to use this implementation, one should clone the repository
and open the folder in Octave.
In Octave, we load up ``x`` and ``y`` (generated from Python code
above):

>>> x = csvread('x.csv');
>>> y = csvread('y.csv');

Then, in order to access the implementation, we compile gcvspl files in
Octave:

>>> mex gcvsplmex.c gcvspl.c
>>> mex spldermex.c gcvspl.c

The first function computes the vector of unknowns from the dataset
(x, y) while the second one evaluates the spline in certain points
with known vector of coefficients.

>>> c = gcvsplmex( x, y, 2 );
>>> y0 = spldermex( x, c, 2, x, 0 );

If we want to compare the results of the gcvspl code, we can save
``y0`` in csv file:

>>> csvwrite('y0.csv', y0);

z
gcvspl.npzrw   r�   Úy_GCVSPLNç-Cëâ6?F)r[   r\   rŸ  )rI   Úloadr¹  r   r   )rQ   r“  rw   r�   rÃ  Úy_comprs   &     rU   Útest_compare_with_GCVSPLÚ,TestSmoothingSpline.test_compare_with_GCVSPL³  sj   € ôR �WŠW”Y˜|Ó,×-Ô-°à�S•	ˆAØ�S•	ˆAà˜JÕ'ˆH÷ .ô (¨¨1Ô-¨aÓ0ˆô 	˜ °¸4ÈU×S÷ .×-ús   ¨A0Á0B 	c                óL  € \         P                  P                  R4      p^dp\         P                  ! VP	                  V4      ^,          ^,
          4      pV^,          \         P
                  ! ^V,          4      ,          V^,          ,           VP                  RRV4      ,           pVP                  V4      VP                  V4      rT\        WERR7      p\        WE^RR7      pVP                  V^ ,          VR
,          ^V,          4      p\        V! V4      V! V4      RR7       R	# )z~
In case the regularization parameter is 0, the resulting spline
is an interpolation spline with natural boundary conditions.
r™   rA   r  )Úlamr[  rx  rY   rt   Nr;   )rI   rP   rš   r›   rO  r®  r½  rO   r   r   re   r   )	rQ   rR   rœ   rS   rw   r�   Ú
spline_GCVÚspline_interpÚgrids	   &&       rU   Útest_non_regularized_caseÚ-TestSmoothingSpline.test_non_regularized_caseë  sÞ   € ô �i‰i×#Ñ# DÓ)ˆØˆÜ�GŠG�C×%Ñ% aÓ(¨1Õ,¨qÕ0Ó1ˆØˆq�D”2—6’6˜!˜a�%“=Õ  1 a¥4Õ'¨#¯*©*°R¸¸aÓ*@Õ@ˆà�z‰z˜!‹}˜bŸj™j¨›mˆ1ä*¨1°RÔ8ˆ
Ü*¨1°¸IÔFˆà�{‰{˜1˜Q�4  2¥¨¨A­Ó.ˆÜ™
 4Ó(Ù% dÓ+Ø"÷	$rk   c                ó8  € \         P                  P                  R 4      p^dp\         P                  ! VP	                  V4      ^,          ^,
          4      pV^,          \         P
                  ! ^V,          4      ,          V^,          ,           VP                  RRV4      ,           p\        VP                  WE34      w  rE\        WE4      pVP                  \        ^d4      ^
R7       F°  pVP                  V4      p\        P                  ! V\        V4      4      P!                  R4       \        WEV4      p	\#        V! WG,          4      WW,          ,
          4      p
\#        V	! WG,          4      WW,          ,
          4      pW«8  g   KŸ  \%        RV
R RVR 24      h	  R# )	r™   rA   r  r¤   g      >@zJSpline with weights should be closer to the points than the original one: z.4z < N)rI   rP   rš   r›   rO  r®  r½  rv   rO   r   Úchoicerã   rß  rç  rè  r  ré  r0  rG   )rQ   rR   rœ   rS   rw   r�   rF  Úindr+  Úspl_wÚorigÚweighteds   &&          rU   Útest_weighted_smoothing_splineÚ2TestSmoothingSpline.test_weighted_smoothing_spline 	  sC  € ô �i‰i×#Ñ# DÓ)ˆØˆÜ�GŠG�C×%Ñ% aÓ(¨1Õ,¨qÕ0Ó1ˆØˆq�D”2—6’6˜!˜a�%“=Õ  1 a¥4Õ'¨#¯*©*°R¸¸aÓ*@Õ@ˆä�2—:‘: ˜vÓ&‰ˆä# AÓ)ˆð —:‘:œe C›j¨r�:Ö2ˆCØ—‘˜“
ˆAÜ�FŠF�1”c˜#“hÓ×#Ñ# CÔ(Ü)¨!°Ó2ˆEô ‘s˜1�6“{ Q¥VÕ+Ó,ˆDÜ™5 ¥›=¨1­6Õ1Ó2ˆHàŽÜ ð $CØCGÈÀ)È3Ø$,¨R =ð"2ó 3ð 3ó 3rk   r.  N)r/  r0  r1  r2  rÀ  rÇ  rÎ  r`   r¡  Ú	fail_slowrÖ  r3  r¦  r§  s   @rU   r»  r»  �  s9   ø‡ € ò
(ò>6Tòp$ð* ‡[�[×Ñ˜1Óñ3ó ö3rk   r»  c           	     ó<  aaaaaa	a
€ V w  o	o
Vw  oo\        S4      S,
          ^,
          pVS^,           8¼  g   Q h\        S4      S,
          ^,
          oSS^,           8¼  g   Q h\        VVVVVV	V
3R l\        V4       4       4      p\        P                  ! V4      # )z-A naive 2D tensort product spline evaluation.c           	   3   ó¨   <"  € T FG  p\        S4       F5  pSW3,          \        SSVS4      ,          \        S	SVS4      ,          x € K7  	  KI  	  R # 5irý  )rã   r4  )
rþ  ÚixÚiyr3   r4   ÚnyÚtxÚtyrw   r�   s
   &  €€€€€€€rU   rÿ  Úbspline2.<locals>.<genexpr>'	  sO   øé € ð 7Ù!�"¬E°"®I bð ���iœ!˜A˜q " b›/Õ)¬A¨a°°B¸«O×;Ò;Ù,5ñ <Û!ùs   ƒAA)rQ  r  rã   rI   rO   )rÔ   r2   r3   r4   Únxr(  rÝ  rÞ  rß  rw   r�   s   &&ff  @@@@@rU   Úbspline2râ  	  s…   þ€ à�D€A€qØ�F€BˆÜ	ˆR‹�1��q�€BØ�!�A•#ŒIÐˆIÜ	ˆR‹�1��q�€BØ�!�A•#ŒIÐˆIÜ
÷ 7ò 7Ü˜bœ	ó7ó 7€Cä�:Š:�c‹?Ðrk   c                 ót  € V^ 8X  d(   W2,          T u;8:  d   W2^,           ,          8  d   R#  R# W2V,           ,          W2,          8X  d   RpMHWV,          ,
          W2V,           ,          W2,          ,
          ,          \        W^,
          W#4      ,          pW2V,           ^,           ,          W2^,           ,          8X  d   RpWE,           # W2V,           ^,           ,          V ,
          W2V,           ^,           ,          W2^,           ,          ,
          ,          \        W^,
          V^,           V4      ,          pWE,           # )r   r0   rA   ©r4  rø  s   &&&&  rU   r4  r4  ,	  sÜ   € ØˆA„vØ•d˜aÖ( ! a¥C¥&Ô(ˆsÐ1Ð(¨cÐ1Øˆ1�…v�•„~Ø‰à�A•$�h˜˜Q�3� !¥$�Õ'¬!¨A°­s°A«/Õ9ˆØˆ1�ˆQ�…x�1�q•S•6ÔØˆð �7€Nð �!•�A•�h˜�l˜Q �s 1�u�X¨¨A­#­Õ.Õ/´!°A¸µs¸A¸a½CÀÓ2CÕCˆØ�7€Nrk   c                 ó¾   a aaa€ \        S4      S,
          ^,
          pVS^,           8¼  d   \        S4      V8¼  g   Q h\        VVVV 3R l\        V4       4       4      # )r.   c              3   ó\   <"  € T F!  pSV,          \        SSVS4      ,          x € K#  	  R # 5irý  rä  r  s   & €€€€rU   rÿ  Úbspline.<locals>.<genexpr>=	  s'   øé € Ð6©X¨ˆq��t”a˜˜1˜a “m×#Ò#«Xùr  )rQ  r  rã   )rw   r2   r3   r4   rS   s   ffff rU   rf  rf  :	  sD   û€ ÜˆA‹��
�Q�€AØ��1•ŒHœ3˜q›6 Qœ;Ð'Ð'Ü×6¬U°1¬XÓ6Ó6Ð6rk   c                   ó0   a € ] tR tRt o RR ltR tRtV tR# )Ú
NdBSpline0i@	  c                ór  € \        V4      pV\        VP                  4      8:  g   Q h \        V4       \        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      V n        \        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      V n        W n        R#   \         d    T3T,          p L�i ; i)aW  Tensor product spline object.

c[i1, i2, ..., id] * B(x1, i1) * B(x2, i2) * ... * B(xd, id)

Parameters
----------
c : ndarray, shape (n1, n2, ..., nd, ...)
    b-spline coefficients
t : tuple of 1D ndarrays
    knot vectors in directions 1, 2, ... d
    ``len(t[i]) == n[i] + k + 1``
k : int or length-d tuple of integers
    spline degrees.
c              3   óN   "  € T F  p\         P                  ! V4      x € K  	  R # 5irý  )ÚoperatorÚindex)rþ  Úkis   & rU   rÿ  Ú&NdBSpline0.__init__.<locals>.<genexpr>Y	  s   é € Ð6±A¨b”x—~’~ b×)Ð)³Aùs   ‚#%c              3   óZ   "  € T F!  p\         P                  ! V\        R 7      x € K#  	  R# 5i)r9   N)rI   rO   rN  )rþ  Útis   & rU   rÿ  rï  Z	  s   é € Ð?¹Q°r”r—z’z "¬E×2Ñ2»Qùs   ‚)+N)rQ  rª   rF   r<  r4   r2   r3   )rQ   r2   r3   r4   r'  s   &&&& rU   rk  ÚNdBSpline0.__init__A	  s’   € ô �1‹vˆØ”s˜1Ÿ7™7“|Ô#Ð#Ð#ð	Ü�ŒF÷
 ”Ñ6±AÓ6—‘Ñ6±AÓ6Ó6ˆŒß”Ñ?¹QÓ?—‘Ñ?¹QÓ?Ó?ˆŒØŽøô ô 	à��T•	ŠAð	ús   ©B ÂB6Â5B6c                óF  € \        V P                  4      p\        V4      V8X  g   Q hR .V,          p\        V4       FÂ  pV P                  V,          W,          reV P                  V,          pWeV,          8X  d   WsV&   M\        P
                  ! WV4      ^,
          W4&   WSV,          ,          Tu;8:  d   WSV,          ^,           ,          8:  g   Q h Q hW4,          V8¼  d    W4,          \        V4      V,
          8  d   KÂ  Q h	  \        V4      p^ p\        V4       Uu. uF:  p\        W4,          V P                  V,          ,
          W4,          ^,           4      NK<  	  p	p\        P                  ! V	!   FŒ  p
V P                  V
,          \        P                  ! \        V4       Uu. uF?  p\        W,          V P                  V,          W¤,          V P                  V,          4      NKA  	  up4      ,          pW‹,          pKŽ  	  \        P                  ! V4      # u upi u upi )Únone)rQ  r2   rã   r4   rI   r  r<  Ú	itertoolsÚproductr3   Úprodr4  rO   )rQ   rw   r'  r  r  ÚtdÚxdr4   r  ÚitersÚidxÚterms   &&          rU   Ú__call__ÚNdBSpline0.__call__]	  s¦  € Ü�4—6‘6‹{ˆä�1‹v˜Œ~Ðˆ~ð ˆJ�t�OˆÜ�t–ˆAØ—V‘V˜A•Y ¥�Ø—‘�q•	ˆAð ˜•UŒ{Ø�!’ä—’ rÓ.°Õ2�‘Ø˜•d•8˜rÖ/ R¨!­¨Q­¥ZÔ/Ð/Ñ/Ð/Ð/Ø•4˜1”9 ¥¬¨B«°!­Ö!3Ð3Ð3ñ ô �!‹Hˆð
 ˆÜ<AÀ$¼KÓH¹K°q”�q•t˜dŸf™f Q�iÕ'¨­°­Ö2¹KˆÐHÜ×$Ò$ eÔ,ˆCØ—6‘6˜#•;¤§¢Ü38¸´;ó*@Ù3>¨aô +,¨A­D°$·&±&¸µ)¸S½VÀTÇVÁVÈAÅYÖ*OÙ3>ñ*@ó "Aõ AˆDà�NŠFñ -ô �zŠz˜&Ó!Ð!ùò Iùò*@s   ÄA HÆ%AH)r3   r4   r2   N©r?   )r/  r0  r1  r2  rk  rý  r3  r¦  r§  s   @rU   ré  ré  @	  s   ø‡ € ô÷8"ð "rk   ré  c                   óˆ  a € ] tR tRt o R t]3R lt]3R ltR tR t	R t
R tR	 tR
 tR tR t]3R ltR tR tR tR t]P,                  P/                  RRR.4      ]P,                  P/                  RRR.4      R 4       4       t]P,                  P/                  RR R!.4      R 4       tR tR tR tR tR tR tRt V t!R# )"ÚTestNdBSplinei}	  c                ó`  € \         P                  P                  R 4      p^^rC^p\         P                  ! VP	                  W4,           ^,           R7      4      pVP	                  W53R7      pVP                  V4      pVP                  V4      p\        WgV4      p\        V3Wt4      p	VP	                  ^R7      p
VP                  V
4      p
\        V	! V
R,          4      V! V
4      RR7       V	! V
R,          4      P                  V
P                  ^ ,          VP                  ^,          38X  g   Q hR# )rÂ  r¤   Nrs   rt   r�  )
rI   rP   rÆ  r›   rÇ  rO   r
   r   r   rª   )rQ   rR   rœ   rS   r4   Ún_trr2   r3   rT   ÚnbÚxis   &&         rU   Útest_1DÚTestNdBSpline.test_1D€	  sò   € ä�i‰i×#Ñ# EÓ*ˆØ�1ˆ1ØˆÜ�GŠG�C—K‘K Q¥U¨Q¥Y�KÓ/Ó0ˆØ�K‰K˜a˜YˆKÓ'ˆà�J‰J�q‹MˆØ�J‰J�q‹Mˆä�A˜!ÓˆÜ˜�t˜QÓ"ˆà�[‰[˜bˆ[Ó!ˆØ�Z‰Z˜‹^ˆô 	™˜2˜g�;›Ù˜"› Eõ	+á�"�W•+‹×$Ñ$¨¯©°!­°a·g±g¸aµjÐ(AÔAÐAÒArk   c                ó&  € VP                  ^4      pV^,          p\        W#^R7      pV^,          ^V,          ,           p\        W%^R7      pVP                  VP                  3pVP                  R,          VP                  R,          ,          pWx^3# )r¨   rj  r�  ©NrE  ©rM   r   r2   r3   ©	rQ   rR   rw   r�   rF  Úy_1rµ  Út2rú  s	   &&       rU   Úmake_2d_caseÚTestNdBSpline.make_2d_case–	  sx   € à�I‰I�a‹LˆØˆq�DˆÜ  ¨Ô+ˆà��d�Q�q•S�jˆÜ" 1¨QÔ/ˆà�e‰e�U—W‘WÐˆØ�U‰U�7�^˜eŸg™g gÕ.Õ.ˆà�qˆyÐrk   c                ó˜  € VP                  ^4      pV^,          p\        W#^R7      pVP                  ^VP                  R7      R,           pV^,          ^V,          ,           p\        W%^R7      pVP                  VP                  3pVP                  R,          VP                  R,          ,          pWxVP
                  VP
                  3# )r¨   rj  r9   r  r�  r	  )rM   r   rN   r2   r3   r4   r  s	   &&       rU   Úmake_2d_mixedÚTestNdBSpline.make_2d_mixed¤	  sž   € à�I‰I�a‹LˆØˆq�DˆÜ  ¨Ô+ˆà�I‰I�a˜rŸz™zˆIÓ*¨SÕ0ˆØ��d�Q�q•S�jˆÜ" 1¨QÔ/ˆà�e‰e�U—W‘WÐˆØ�U‰U�7�^˜eŸg™g gÕ.Õ.ˆà�s—u‘u˜eŸg™gÐ%Ð%rk   c                ó`  € . ROpV P                  VR7      w  r4pV UUu. uF*  w  rgV^,          V^,          ^V,          ,           ,          NK,  	  pppV U	U
u. uFI  p	\        T	V U
u. uF  p
\        P                  ! V
4      NK  	  up
\        P                  ! V4      V4      NKK  	  pp	p
\        P                  ! V\        P                  R7      p\        VP                  V4      VP                  W�P                  R7      RRR7       \        W4^R7      pV! V4      P                  \        V4      38X  g   Q h\        V! V4      VP                  W�P                  R7      RR7       \        P                  ! V4      p\        P                  VR&   VP                  V4      p\        VP                  V! V4      4      VP                  . RO4      4       \        P                  P                  R4      pVP                  RR	7      ^,          pVP                  V4      pV! V4      pVP                  R8X  g   Q hVP                  VR4      P                   pVR,          VR,          rv\        \#        WáR7      V^,          V^,          ^V,          ,           ,          RR7       R
# u uppi u up
i u up
p	i )r  rr   r9   Frs   ©r^  r[   rj  rt   rÂ  r¤   N©©r  r8   )r8   r.   )rÓ   r  rÛ  )TFF)r@   r?   r=   )r@   r?   )r;   r=   )r   .)r.   .)r  râ  rI   rO   rN   r   r   rª   rQ  rK   r   rÌ   rP   rÆ  rÇ  r‚   r  r   )rQ   rR   r  r  rú  r4   rw   r�   ÚtargetrÔ   r½   r2  Úbspl2rœ   r  Úrrrs   &&              rU   Útest_2D_separableÚTestNdBSpline.test_2D_separable³	  s,  € Ú/ˆØ×%Ñ%¨Ð%Ó,‰	ˆ�Ù46Ô7±B©&¨1�!�Q•$˜!˜Q�$  1¥�*×%Ð%±BˆÑ7ñ ô
ñ
 �Bô ØÙ(*Ó+© 1”—’˜A–©Ñ+Ü—
’
˜2“Øö	ñ
 ð 	ñ 
ô �ZŠZ˜¤"§*¡*Ô-ˆÜ˜Ÿ
™
 2›ØŸ
™
 6·±˜
Ó<Ø$)Ø"õ	$ô ˜" AÔ&ˆÙ�R‹y�‰¤3 r£7 +Ô-Ð-Ð-Ü™˜b›	ØŸ
™
 6·±˜
Ó<À5õ	Jô �ZŠZ˜‹^ˆÜ—6‘6ˆˆ4‰Ø�Z‰Z˜‹^ˆÜ˜Ÿ™¡ r£Ó+¨R¯Z©ZÒ8LÓ-MÔNô �i‰i×#Ñ# EÓ*ˆØ�[‰[˜iˆ[Ó(¨1Õ,ˆØ�Z‰Z˜‹^ˆÙ�r“ˆØ�|‰|˜vÔ%Ð%Ð%ð �j‰j˜˜WÓ%×'Ñ'ˆØ�6�{˜C �Kˆ1Üœ Ô/Ø˜1�  1¥ q¨¥s¥
Õ+°%÷	9ùóM 8ùò
 ,ùó
s   Ÿ0JÁJ*Á&J%Â!J*Ê%J*c                óŒ  € ^p. ROpV UUu. uF*  w  rEV^,          V^,          ^V,          ,           ,          NK,  	  pppV P                  VR7      w  rxp	VP                  WˆWˆ3^R7      p
Rp\        Wz^R7      pV! V4      p\        WxV	4      ! V4      pVP                  R8X  g   Q h\	        VVP                  V.^,          4      RR7       V! V4      P                  \
        P                  ! V4      RR VP                  P                  VR ,           8X  g   Q h\	        V! V4      VP                  WaP                  R7      R,          RR	R
7       VP                  V
R4      p\        W^R7      pV! V4      pVP                  R8X  g   Q hVP                  RVP                  R7      V,          p\	        VVRR7       V! V4      P                  \
        P                  ! V4      RR VP                  P                  VR ,           8X  g   Q h\	        V! V4      VP                  WaP                  R7      R,          RR	R
7       R# u uppi )r=   rr   r  rj  rs   rt   Nr9   Fg‚vIhÂ%,=r  r  r  ©r@   r;   r�  ©r¨   r¨   r=   r=   )r=   r=   ©rE  NN)r  r‹   r   rª   r   rI   r3   rO   rN   r‚   rß  )rQ   rR   r'  r  rw   r�   r  r  rú  r4   Úc2_4rÔ   Úbspl2_4r  Ú
val_singleÚc2_22Úbspl2_22Ú
target2_22s   &&                rU   Útest_2D_separable_2Ú!TestNdBSpline.test_2D_separable_2ß	  s  € àˆÚ/ˆÙ46Ô7±B©&¨1�!�Q•$˜!˜Q�$  1¥�*×%Ð%±BˆÑ7à×%Ñ%¨Ð%Ó,‰	ˆ�Ø�x‰x˜ Ð(¨qˆxÓ1ˆàˆÜ˜B¨Ô*ˆÙ˜“ˆÜ˜r qÔ)¨"Ó-ˆ
Ø�|‰|˜tÔ#Ð#Ð#Ü˜ØŸ™ * °Õ!1Ó2¸õ	@ñ
 �r‹{× Ñ ¤B§H¢H¨R£L°°"Ð$5¸¿	¹	¿¹ÈÈÐ8NÕ$NÔNÐNÐNÜ™ ›ØŸ
™
 6·±˜
Ó<¸WÕEØ$)Ø"õ	$ð —
‘
˜4 Ó.ˆÜ˜R¨!Ô,ˆá˜"“ˆØ�|‰|˜vÔ%Ð%Ð%Ø—W‘W˜V¨2¯:©:�WÓ6°zÕAˆ
Ü˜ 
°Õ7ñ ˜“×"Ñ"Ü—’˜“˜S˜bÐ! H§J¡J×$4Ñ$4°T°UÐ$;Õ;ô<ð 	=ð <ä™ ›ØŸ
™
 6·±˜
Ó<¸]ÕKØ$)Ø"÷	$ùóE 8s   Œ0I c                óø  € . R	OpV UUu. uF*  w  r4V^,          V^,          ^V,          ,           ,          NK,  	  pppV Uu. uF  qfRV,          ,           NK  	  ppV P                  VR7      w  rxp	VR
,          pVP                  WˆWˆ3^R7      p
Rp\        Wz^R7      pV! V4      p\        WxV	4      ! V4      pVP                  R8X  g   Q h\	        VVP                  V.^,          4      RR7       R# u uppi u upi )r  y               @rr   r  rj  rs   rt   Nr  r  rB  r  )r  r‹   r   rª   r   )rQ   rR   r  rw   r�   r  r2   r  rú  r4   r   rÔ   r!  r  r"  s   &&             rU   Útest_2D_separable_2_complexÚ)TestNdBSpline.test_2D_separable_2_complex

  së   € â/ˆÙ46Ô7±B©&¨1�!�Q•$˜!˜Q�$  1¥�*×%Ð%±BˆÑ7á$*Ó+¡F˜q�b˜•d—(�(¡FˆÐ+à×%Ñ%¨Ð%Ó,‰	ˆ�Ø�6�]ˆØ�x‰x˜ Ð(¨qˆxÓ1ˆàˆÜ˜B¨Ô*ˆÙ˜“ˆÜ˜r qÔ)¨"Ó-ˆ
Ø�|‰|˜tÔ#Ð#Ð#Ü˜ØŸ™ * ¨a¥Ó0°u÷	>ùó 8ùâ+s   Š0C1ÁC7c                ó   € \         P                  P                  R 4      p^p\         P                  ^ ^ ^ ^ \         P                  ! VP                  ^R7      4      ^,          ^^^^3	,          p\         P                  ^ ^ ^ ^ \         P                  ! VP                  ^R7      4      ^,          ^^^^3	,          pVP                  VP                  V,
          ^,
          VP                  V,
          ^,
          3R7      p\        W43WRR7      pRp\        V! V4      \        WsV3WR4      RR7       \         P                  . RO. RO3,          p\        V! V4      V Uu. uF  p\        WƒV3WR4      NK  	  upRR7       R# u upi )	rÂ  r¤   rj  rs   rt   N)r0   r0   ©r.   r  r=   ©çš™™™™™ñ?gš™™™™™ù?çÍÌÌÌÌÌ @)rI   rP   rÆ  r°   r›   rÇ  r¥   r   r   râ  r0  )	rQ   rœ   r4   rÞ  rß  r3   rF  r  rÔ   s	   &        rU   Útest_2D_randomÚTestNdBSpline.test_2D_random
  s9  € Ü�i‰i×#Ñ# EÓ*ˆØˆÜ�U‰U�1�a˜˜AœrŸwšw s§{¡{¸ {Ó':Ó;¸aÕ?ÀÀAÀqÈ!ÐKÕLˆÜ�U‰U�1�a˜˜AœrŸwšw s§{¡{¸ {Ó':Ó;¸aÕ?ÀÀAÀqÈ!ÐKÕLˆØ�K‰K˜bŸg™g a�i¨�k¨2¯7©7°1­9°Q­;Ð7ˆKÓ8ˆä˜˜ !Ô)ˆàˆÜ™˜B›Ü  ¨" X¨qÓ4¸5õ	Bô �U‰U’;Ú"ð#õ $ˆä™˜B›Ù@BÓCÁ¸"œ "¨2 h°Ö5ÁÑCØ"÷	$ùÚCs   ÅE;
c                ó:  € V P                  4       w  rr4. ROpV UUu. uF*  w  rgV^,          V^,          ^V,          ,           ,          NK,  	  ppp\        WW43R7      p	V	! V4      P                  \        V4      38X  g   Q h\	        V	! V4      VRR7       R# u uppi )çffffffö?rj  rs   rt   N©)r3  rè  )r8   g333333@)rè  rÓ  )r  r   rª   rQ  r   )
rQ   r  rú  ÚkxÚkyr  rw   r�   r  r  s
   &         rU   Útest_2D_mixedÚTestNdBSpline.test_2D_mixed0
  s‰   € Ø×+Ñ+Ó-‰ˆ�Ú1ˆÙ46Ô7±B©&¨1�!�Q•$˜!˜Q�$  1¥�*×%Ð%±BˆÑ7Ü˜" R HÔ-ˆÙ�R‹y�‰¤3 r£7 +Ô-Ð-Ð-Ü™˜b›	Ø U÷	,ùó 8s   �0Bc                ó&  € V P                  VR 7      w  r#rE. ROp\        W#WE3R7      pRR RR RR ^V,          ^3R ^V,          ^ 3R ^^V,          3R ^ ^V,          3R ^V,          ^V,          3R	 /pVP                  4        Fv  w  ršTP                  V UUu. uF  w  r¼V
! W¼4      NK  	  uppVP                  R
7      pV! WiR7      p\        WíRR7       VP                  V	4      ! V4      p\        WýRR7       Kx  	  R F^  p\        \        4      ;_uu_ 4        V! VVR7       RRR4       \        \        4      ;_uu_ 4        VP                  V4       RRR4       K`  	  R# u uppi   + '       g   i     LM; i  + '       g   i     KŽ  ; i)rr   rj  c                 óZ   € ^V ^,          ,          V^,          ^V,          ,           ,          # rÿ  r.  ©rw   r�   s   &&rU   r  Ú2TestNdBSpline.test_2D_derivative.<locals>.<lambda>@
  s   €   Q¨¥T¥¨Q°­T°A°aµC­ZÖ!8rk   c                 óL   € ^V ^,          ,          ^V,          ^,           ,          # rÿ  r.  r;  s   &&rU   r  r<  A
  s   €   Q¨¥T¥¨Q¨q­S°1­WÖ!5rk   c                 óL   € V ^,          V^,          ^V,          ,           ,          # rÿ  r.  r;  s   &&rU   r  r<  B
  s   €   A¥¨¨A­°°!µ­Ö!4rk   c                 ó   € ^ # r8  r.  r;  s   &&rU   r  r<  C
  ó   € ¡Ark   c                 ó   € ^ # r8  r.  r;  s   &&rU   r  r<  D
  r@  rk   c                 ó   € ^ # r8  r.  r;  s   &&rU   r  r<  E
  r@  rk   c                 ó   € ^ # r8  r.  r;  s   &&rU   r  r<  F
  r@  rk   c                 ó   € ^ # r8  r.  r;  s   &&rU   r  r<  G
  s   € ¡qrk   r9   rá   rs   rt   Nr4  r×  ©r.   r.   )r   r   ))r;   r   ©r;   r   r.   )	r  r   ÚitemsrO   rN   r   r  rE   rG   )rQ   rR   r  rú  r5  r6  r  r  Ú
test_casesrâ   Úexpected_fnrw   r�   Úexpected_valsÚdirectÚ
via_methodÚbad_nus   &&               rU   Útest_2D_derivativeÚ TestNdBSpline.test_2D_derivative9
  sk  € Ø×+Ñ+¨rÐ+Ó2‰ˆ�Ú1ˆÜ˜" R HÔ-ˆð Ñ8ØÑ5ØÑ4Øˆr�T�1ˆI‘~Øˆr�T�1ˆI‘~Ø��"•ˆI‘~Ø��"•ˆI‘~Øˆr�T�1�R•4ˆL™.ð	
ˆ
ð  *×/Ñ/Ö1‰OˆBØŸJ™JÙ/1Ô2©r¡t q‘˜QÖ"©rÒ2¸"¿*¹*ð 'ó ˆMñ
 ˜2Ô%ˆFÜ˜F¸Õ>ð ×)Ñ)¨"Ô-¨bÓ1ˆJÜ˜J¸E×Bñ  2ó#ˆFäœz×*Õ*Ù�b˜VÕ$÷ +äœz×*Õ*Ø× Ñ  Ô(÷ +Ñ*ó	#ùó 3÷ +×*úç*×*Ð*ús   ÂE&ÄE,ÅE?Å,E<Å?Fc                óÔ  € \         P                  P                  R 4      p^^r2\         P                  ^ ^ ^ ^ \         P                  ! VP                  ^R7      4      ^,          ^^^^3	,          p\         P                  ^ ^ ^ ^ \         P                  ! VP                  ^R7      4      ^,          ^^^^3	,          pVP                  VP                  V,
          ^,
          VP                  V,
          ^,
          3R7      p\         P                  . RO. RO3,          p\        WE3WbV3R7      p\        WE3WbV3R7      p	\        V! V4      V U
u. uF
  q©! V
4      NK  	  up
RR7       R# u up
i )rÂ  r¤   rj  rs   rt   Nr,  r-  )rI   rP   rÆ  r°   r›   rÇ  r¥   r0  r   ré  r   ©rQ   rœ   r5  r6  rÞ  rß  r3   r  r  Úbspl2_0rR   s   &          rU   Útest_2D_mixed_randomÚ"TestNdBSpline.test_2D_mixed_random_
  s(  € Ü�i‰i×#Ñ# EÓ*ˆØ�AˆBÜ�U‰U�1�a˜˜AœrŸwšw s§{¡{¸ {Ó':Ó;¸aÕ?ÀÀAÀqÈ!ÐKÕLˆÜ�U‰U�1�a˜˜AœrŸwšw s§{¡{¸ {Ó':Ó;¸aÕ?ÀÀAÀqÈ!ÐKÕLˆØ�K‰K˜bŸg™g¨�l¨QÕ.°·±¸"µ¸qÕ0@ÐAˆKÓBˆä�U‰U’;Ú"ð#õ $ˆô ˜2˜( A¨b¨Ô2ˆÜ˜b˜X q°¨HÔ5ˆä™˜b›	Ù/1Ó2©r¨˜ ž©rÑ2¸÷	@ùÚ2s   Å
E%
c                óZ  € \         P                  ! ^4      p\         P                  ! ^4      R,           p\        W^,          ^R7      p\        W"^,          ^V,          ,           ^R7      pVP                  R,          VP                  R,          ,          p\	        VP
                  VP
                  3WSP                  VP                  34      pV^,          R,          V^,          ^V,          ,           R,          ,          p\        W3V4      p\        P                  ! W4       U	U
u. uF  w  ršWš3NK
  	  pp	p
V! V4      p\         P                  ! V4      P                  4       '       d   Q h\        WÈ! V4      RR7       \        VP                  VP                  4      VRR7       R# u up
p	i )r¨   r  rj  Nrs   rt   r�  r	  )rI   rM   r   r3   r   r2   r4   r   rõ  rö  rÌ   Úanyr   r‚   rª   )rQ   rw   r�   Úspl_xÚspl_yrü   r„   ÚvaluesÚrgirï  rT   r  Úbxis   &            rU   Útest_tx_neq_tyÚTestNdBSpline.test_tx_neq_tyo
  s5  € ä�IŠI�a‹LˆÜ�IŠI�a‹L˜3Õˆä" 1¨¥d¨aÔ0ˆÜ" 1¨¥d¨Q¨q­S¥j°AÔ6ˆØ�W‰W�WÕ §¡¨Õ 0Õ0ˆÜ˜%Ÿ'™' 5§7¡7Ð+¨R·'±'¸5¿7¹7Ð1CÓDˆà�Q•$˜• A q¥D¨1¨Q­3¥J°Õ#8Õ8ˆÜ% q f¨fÓ5ˆä!*×!2Ò!2°1Ô!8Ô9Ñ!8™˜ˆq‹fÑ!8ˆÑ9Ù�2‹hˆä—8’8˜C“=×$Ñ$×&Ò&Ð&Ð&Ü˜˜S ›W¨5Õ1Ü˜Ÿ™ F§L¡LÓ1°6À×Fùó :s   Ä&F'c                óÂ  € VP                  ^4      pV^,          p\        W#^R7      pV^,          ^V,          ,           p\        W%^R7      pV^,          ^V,          ,           ^,           p\        W'^R7      pVP                  VP                  VP                  3p	VP                  R,          VP                  R,          ,          VP                  R,          ,          p
Wš^3# )r¨   rj  r  )NrE  N)NNrE  r
  )rQ   rR   rw   r�   rF  r  rµ  Úy_2rc  r  rú  s   &&         rU   Úmake_3d_caseÚTestNdBSpline.make_3d_caseƒ
  s¶   € à�I‰I�a‹LˆØˆq�DˆÜ  ¨Ô+ˆà��d�Q�q•S�jˆÜ" 1¨QÔ/ˆà��d�Q�q•S�j˜1�nˆÜ" 1¨QÔ/ˆà�e‰e�U—W‘W˜eŸg™gÐ&ˆØ�e‰e�MÕ"Ø�g‰g�mÕ$õ%à�g‰g�mÕ$õ%ˆð �qˆyÐrk   c                óÚ  € \         P                  P                  R 4      pVP                  RR7      ^,          w  r#pV^,          V^,          ^V,          ,           ,          V^,          ^V,          ,           ^,           ,          pV P	                  4       w  rgp\        Wg^R7      p	\        W#V4       U
u. uF  qªNK  	  pp
V	! V4      pVP                  R8X  g   Q h\        WÅRR7       R# u up
i )rÂ  r¤   rj  rs   rt   N©r?   é   ©rd  )	rI   rP   rÆ  rÇ  r`  r   Úziprª   r   )rQ   rœ   rw   r�   rê  r  Út3Úc3r4   Úbspl3r½   r  r  s   &            rU   Útest_3D_separableÚTestNdBSpline.test_3D_separable–
  sÀ   € Ü�i‰i×#Ñ# EÓ*ˆØ—+‘+ 7�+Ó+¨aÕ/‰ˆˆaØ�A•˜˜A�  !¥�Õ$¨¨1­¨q°­s­
°Q­Õ7ˆà×%Ñ%Ó'‰	ˆ�Ü˜" AÔ&ˆä˜Q 1œÓ&™�AŠa™ˆÐ&Ù�r“ˆØ�|‰|˜uÔ$Ð$Ð$Ü˜¨U×3ùò 's   Â2
C(c                ón  € V P                  VR 7      w  r#p\        W#^R7      p\        P                  P	                  R4      pVP                  RR7      ^,          w  rxp	\        WxV	4       U
u. uF  qªNK  	  pp
VP                  V4      pRR RR RR RR RR /pVP                  4        F{  w  rïV UUUu. uF  w  pppV! VVV4      NK  	  ppppVP                  VVP                  R	7      p\        V! WÎR
7      VRR7       \        VP                  V4      ! V4      VRR7       K}  	  R# u up
i u upppi )rr   rj  rÂ  r¤   c                 ó    € ^V ^,          ,          V^,          ^V,          ,           ,          V^,          ^V,          ,           ^,           ,          # rÿ  r.  ©rw   r�   rê  s   &&&rU   r  Ú2TestNdBSpline.test_3D_derivative.<locals>.<lambda>®
  s2   €  q¨1¨a­4¥x°1°aµ4¸!¸A½#µ:Õ'>À!ÀQÅ$ÈÈ1ÍÅ*ÈqÅ.Ö'Qrk   c                 ó’   € ^V ,          V^,          ^V,          ,           ,          V^,          ^V,          ,           ^,           ,          # ©r¨   r.  rn  s   &&&rU   r  ro  ¯
  s.   €  q¨1¥u°°1µ°q¸µsµ
Õ';¸qÀ!½tÀaÈÅc½zÈA½~Ö'Nrk   c                 ó’   € ^V ,          ^V^,          ,          ^,           ,          V^,          ^V,          ,           ^,           ,          # rq  r.  rn  s   &&&rU   r  ro  °
  s.   €  q¨1¥u°°!°Qµ$µ¸µ
Õ';¸qÀ!½tÀaÈÅc½zÈA½~Ö'Nrk   c                 óZ   € ^V ,          ^V^,          ,          ^,           ,          ^,          # rq  r.  rn  s   &&&rU   r  ro  ±
  s   €  q¨1¥u°°!°Qµ$µ¸µ
Õ';¸aÖ'?rk   c                 ó   € R # r  r.  rn  s   &&&rU   r  ro  ²
  s   € ¡srk   r9   rá   rs   rt   Nrc  )r.   r   r   )r=   r   r   )r=   r.   r   )r=   r.   r?   )r=   r.   r@   )r`  r   rI   rP   rÆ  rÇ  rf  rO   rG  rN   r   r  )rQ   rR   rg  rh  r4   ri  rœ   rw   r�   rê  r½   Úxi_npr  rH  râ   rI  Úxi_Úyi_Úzi_rJ  s   &&                  rU   Útest_3D_derivativeÚ TestNdBSpline.test_3D_derivative£
  s)  € Ø×%Ñ%¨Ð%Ó,‰	ˆ�Ü˜" AÔ&ˆÜ�i‰i×#Ñ# EÓ*ˆØ—+‘+ 7�+Ó+¨aÕ/‰ˆˆaä  aœLÓ)™L�q’™LˆÐ)Ø�Z‰Z˜Óˆð ÑQØÑNØÑNØÑ?ØÑ*ð
ˆ
ð  *×/Ñ/Ö1‰OˆBÙMRÕSÉU¹M¸CÀÀc™[¨¨c°3Ö7ÉUˆMÒSØŸJ™J }¸B¿J¹J˜JÓGˆMÜ™E "Ô,¨mÀ%ÕHÜ˜E×,Ñ,¨RÔ0°Ó4°mÈ%×Pó	  2ùò *ùô Ts   Á,
D+Â5D0
c                óÔ  € \         P                  P                  R 4      p^p\         P                  ^ ^ ^ ^ \         P                  ! VP                  ^R7      4      ^,          ^^^^3	,          p\         P                  ^ ^ ^ ^ \         P                  ! VP                  ^R7      4      ^,          ^^^^3	,          p\         P                  ^ ^ ^ ^ \         P                  ! VP                  ^R7      4      ^,          ^^^^3	,          pVP                  VP                  V,
          ^,
          VP                  V,
          ^,
          VP                  V,
          ^,
          3R7      p\        W4V3WbR7      p\        W4V3WbR7      pRp	\        V! V	4      V! V	4      RR7       \         P                  . RO. RO. R	O3,          p	\        V! V	4      V	 U
u. uF
  q¨! V
4      NK  	  up
RR7       R# u up
i )
rÂ  r¤   rj  rs   rt   N)r0   r0   r.   r,  r-  ©gÍÌÌÌÌÌì?r3  gffffffþ?)rI   rP   rÆ  r°   r›   rÇ  r¥   r   ré  r   r0  )rQ   rœ   r4   rÞ  rß  Útzr3   rF  Úspl_0r  rR   s   &          rU   Útest_3D_randomÚTestNdBSpline.test_3D_random»
  s€  € Ü�i‰i×#Ñ# EÓ*ˆØˆÜ�U‰U�1�a˜˜AœrŸwšw s§{¡{¸ {Ó':Ó;¸aÕ?ÀÀAÀqÈ!ÐKÕLˆÜ�U‰U�1�a˜˜AœrŸwšw s§{¡{¸ {Ó':Ó;¸aÕ?ÀÀAÀqÈ!ÐKÕLˆÜ�U‰U�1�a˜˜AœrŸwšw s§{¡{¸ {Ó':Ó;¸aÕ?ÀÀAÀqÈ!ÐKÕLˆØ�K‰K˜bŸg™g a�i¨�k¨2¯7©7°1­9°Q­;¸¿¹À½	À!½ÐDˆKÓEˆä˜ ˜ aÔ-ˆÜ˜B B˜<¨Ô0ˆàˆÜ™˜B›¡ r£°Õ7ä�U‰U’;Ú"Ú"ð#õ $ˆô 	™˜B›±bÓ!9±b° %¨¦)±bÑ!9À×FùÒ!9s   Ç
G%
c                ó¸  € \         P                  P                  R 4      p^p\         P                  ^ ^ ^ ^ \         P                  ! VP                  ^R7      4      ^,          ^^^^3	,          p\         P                  ^ ^ ^ ^ \         P                  ! VP                  ^R7      4      ^,          ^^^^3	,          p\         P                  ^ ^ ^ ^ \         P                  ! VP                  ^R7      4      ^,          ^^^^3	,          pVP                  VP                  V,
          ^,
          VP                  V,
          ^,
          VP                  V,
          ^,
          3R7      VP                  VP                  V,
          ^,
          VP                  V,
          ^,
          VP                  V,
          ^,
          3R7      R,          ,           p\        W4V3WbR7      p\        W4V3VP                  VR7      p\        W4V3VP                  VR7      p	\         P                  . RO. RO. R	O3,          p
\        V! V
4      V! V
4      RV	! V
4      ,          ,           RR7       R# )
rÂ  r¤   r/   rj  rs   rt   Nr,  r-  r|  )rI   rP   rÆ  r°   r›   rÇ  r¥   r   rú   rû   r0  r   )rQ   rœ   r4   rÞ  rß  r}  r3   rF  r×  rØ  r  s   &          rU   Útest_3D_random_complexÚ$TestNdBSpline.test_3D_random_complexÎ
  sÈ  € Ü�i‰i×#Ñ# EÓ*ˆØˆÜ�U‰U�1�a˜˜AœrŸwšw s§{¡{¸ {Ó':Ó;¸aÕ?ÀÀAÀqÈ!ÐKÕLˆÜ�U‰U�1�a˜˜AœrŸwšw s§{¡{¸ {Ó':Ó;¸aÕ?ÀÀAÀqÈ!ÐKÕLˆÜ�U‰U�1�a˜˜AœrŸwšw s§{¡{¸ {Ó':Ó;¸aÕ?ÀÀAÀqÈ!ÐKÕLˆØ�[‰[˜rŸw™w q�y¨�{¨B¯G©G°A­I°a­K¸¿¹À½À1½ÐEˆ[ÓFØ�[‰[˜rŸw™w q�y¨�{¨B¯G©G°A­I°a­K¸¿¹À½À1½ÐEˆ[ÓFÀrÕIõJˆô ˜ ˜ aÔ-ˆÜ˜B B˜<¨¯©°1Ô5ˆÜ˜B B˜<¨¯©°1Ô5ˆä�U‰U’;Ú"Ú"ð#õ $ˆô 	™˜B›Ù˜r›
 R©¨r«
¥]Õ2¸÷	@rk   Ú
cls_extrapNTÚcall_extrapc                ó–  € V P                  4       w  r4p\        W4^VR7      p. RO. RO. ROr˜p\        \        P                  WxV	34      w  rxp	\        WxV	4       U
u. uF  qªNK  	  pp
V^,          V^,          ^V,          ,           ,          V	^,          ^V	,          ,           ^,           ,          pV! W²R7      p\        WÜRR7       R# u up
i ©	r?   )r4   r€   r   rs   rt   N)éþÿÿÿr;   r©   )rD  r  rå  )r;   g      ø¿ç      @©r`  r   rv   rI   rO   rf  r   )rQ   r„  r…  rg  rh  r4   ri  rw   r�   rê  r½   r  r  r  s   &&&           rU   Útest_extrapolate_3D_separableÚ+TestNdBSpline.test_extrapolate_3D_separableá
  s«   € ð ×%Ñ%Ó'‰	ˆ�Ü˜" A°:Ô>ˆò š²ˆaˆÜ”b—j‘j 1¨ )Ó,‰ˆˆaÜ˜Q 1œÓ&™�AŠa™ˆÐ&Ø�A•˜˜A�  !¥�Õ$¨¨1­¨q°­s­
°Q­Õ7ˆá�rÔ3ˆÜ˜¨U×3ùò	 's   Á
Cr¾   c                óž  € V P                  4       w  r#pVw  rV\        W#^VR7      p. RO. RO. ROr©p\        \        P                  W‰V
34      w  r‰p
\        W‰V
4       Uu. uF  q»NK  	  ppV^,          V	^,          ^V	,          ,           ,          V
^,          ^V
,          ,           ^,           ,          pV! WÆR7      p\        WíRR7       R# u upi r‡  rŠ  )rQ   r¾   rg  rh  r4   r„  r…  ri  rw   r�   rê  r½   r  r  r  s   &&             rU   Útest_extrapolate_3D_separable_2Ú-TestNdBSpline.test_extrapolate_3D_separable_2ñ
  s³   € ð ×%Ñ%Ó'‰	ˆ�Ø"(Ñˆ
Ü˜" A°:Ô>ˆò š²ˆaˆÜ”b—j‘j 1¨ )Ó,‰ˆˆaÜ˜Q 1œÓ&™�AŠa™ˆÐ&Ø�A•˜˜A�  !¥�Õ$¨¨1­¨q°­s­
°Q­Õ7ˆá�rÔ3ˆÜ˜¨U×3ùò	 's   Á
C
c                ó8  € V P                  4       w  rp\        W^R7      p. RO. RO. R
Orvp\        \        P                  WVV34      w  rVp\        WVV4       Uu. uF  qˆNK  	  p	pV^,          V^,          ^V,          ,           ,          V^,          ^V,          ,           ^,           ,          p
V! V	RR7      p\        P                  ! V^ ,          4      '       g   Q h\        P                  ! VR	,          4      '       g   Q h\        V^R	 V
^R	 RR7       R# u upi )r?   rj  Fr   rs   rt   N)rˆ  r.   r©   )rD  rÓ   rå  r;   )r;   r  r‰  )r`  r   rv   rI   rO   rf  rÌ   r   )rQ   rg  rh  r4   ri  rw   r�   rê  r½   r  r  r  s   &           rU   Ú#test_extrapolate_false_3D_separableÚ1TestNdBSpline.test_extrapolate_false_3D_separable  sé   € à×%Ñ%Ó'‰	ˆ�Ü˜" AÔ&ˆò šnªnˆaˆÜ”b—j‘j 1¨ )Ó,‰ˆˆaÜ˜Q 1œÓ&™�AŠa™ˆÐ&Ø�A•˜˜A�  !¥�Õ$¨¨1­¨q°­s­
°Q­Õ7ˆá�r uÔ-ˆÜ�xŠx˜˜q�	×"Ò"Ð"Ð"Ü�xŠx˜˜r�
×#Ò#Ð#Ð#Ü˜˜q ˜ f¨Q¨r l¸×?ùò 's   Á
Dc           	     ó|  € V P                  4       w  rp\        W^R7      p\        P                  ! R^\        P                  ^^^\        P                  .4      p\        P                  ! R	R^\        P                  ^RR.4      p\        P                  ! R
R^^\        P                  RR.4      p\        WVV4       Uu. uF  qˆNK  	  p	pV^,          V^,          ^V,          ,           ,          V^,          ^V,          ,           ^,           ,          p
\        P                  ! V4      \        P                  ! V4      ,          \        P                  ! V4      ,          p\        P                  W«&   V! V	4      p\        P                  ! WË,          4      P                  4       '       g   Q h\        WÊRR7       R# u upi )r?   rj  rÓ  rå  r‰  rs   rt   Nrˆ  rD  r;   )	r`  r   rI   rO   rK   rf  rÌ   rË   r   )rQ   rg  rh  r4   ri  rw   r�   rê  r½   r  r  rÆ   r  s   &            rU   Útest_x_nan_3DÚTestNdBSpline.test_x_nan_3D  s<  € à×%Ñ%Ó'‰	ˆ�Ü˜" AÔ&ˆô �JŠJ˜˜AœrŸv™v q¨!¨Q´·±Ð7Ó8ˆÜ�JŠJ˜˜C ¤B§F¡F¨A¨s°CÐ8Ó9ˆÜ�JŠJ˜˜C  A¤r§v¡v¨s°CÐ8Ó9ˆÜ˜Q 1œÓ&™�AŠa™ˆÐ&Ø�A•˜˜A�  !¥�Õ$¨¨1­¨q°­s­
°Q­Õ7ˆÜ�xŠx˜‹{œRŸXšX a›[Õ(¬2¯8ª8°A«;Õ6ˆÜ—v‘vˆ‰á�r“ˆÜ�xŠx˜�Ó%×)Ñ)×+Ò+Ð+Ð+Ü˜¨U×3ùò 's   Â>
F9c           	     ód  € \         P                  P                  R 4      p^^r2\         P                  ! VP	                  ^ ^^R7      4      p\         P
                  V^ ,          3V,          WDR,          3V,          3,          p\         P                  ! VP	                  ^ ^^R7      4      p\         P
                  V^ ,          3V,          WUR,          3V,          3,          pVR,          P                  P                  '       d   Q hVR,          P                  P                  '       d   Q hVP	                  VP                  ^,          V,
          ^,
          VP                  ^,          V,
          ^,
          3R7      pVP                  pVP                  P                  '       d   Q h\         P                  . R	O. R
O3,          p\        VR,          VR,          3WbV3R7      p\        VR,          VR,          3WbV3R7      p	\        V! V4      V U
u. uF
  q©! V
4      NK  	  up
RR7       R# u up
i )rÂ  rÅ  ºNNr=   r¤   rj  rs   rt   Nr;   r,  r-  )rI   rP   rÆ  r›   rÇ  r°   ÚflagsÚc_contiguousr¥   r  r0  r   ré  r   rQ  s   &          rU   Útest_non_c_contiguousÚ#TestNdBSpline.test_non_c_contiguous$  s­  € ä�i‰i×#Ñ# EÓ*ˆØ�AˆBÜ�WŠW�S—[‘[ Q¨Q°R�[Ó8Ó9ˆÜ�U‰U�B�q•E�8˜B•; ¨¥V I¨b¥LÐ0Õ1ˆÜ�WŠW�S—[‘[ Q¨Q°R�[Ó8Ó9ˆÜ�U‰U�B�q•E�8˜B•; ¨¥V I¨b¥LÐ0Õ1ˆà�c•7—=‘=×-×-Ð-Ð-Ð-Ø�c•7—=‘=×-×-Ð-Ð-Ð-à�K‰K˜bŸg™g q�j¨2�o°Õ1°2·7±7¸Aµ:Àµ?ÀQÕ3FÐGˆKÓHˆØ�C‰CˆØ—7‘7×'×'Ð'Ð'Ð'ä�U‰U’;Ú"ð#õ $ˆô ˜2˜c�7 B s¥GÐ,¨a¸°8Ô<ˆÜ˜b �g r¨#¥wÐ/°¸2°hÔ?ˆä™˜b›	Ù/1Ó2©r¨˜ ž©rÑ2¸÷	@ùÚ2s   ÈH-
c                óþ   € V P                  4       w  rp\        W^R7      p\        ^4       F  pRW,          P                  n        K  	  RVP                  n        \        W^R7      pV! R4      V! R4      8X  g   Q hR# )r?   rj  FNrd  )r`  r   rã   r˜  Ú	writeable)rQ   rg  rh  r4   ri  r  Úbspl3_s   &      rU   Útest_readonlyÚTestNdBSpline.test_readonly=  sl   € Ø×%Ñ%Ó'‰	ˆ�Ü˜" AÔ&ˆä�q–ˆAØ$)ˆB�E�K‰KÖ!ñ à"ˆ�‰Ôä˜2 QÔ'ˆá�YÓ¡6¨)Ó#4Ô4Ð4Ò4rk   c                óÐ  € V P                  4       w  rp\        P                  ! . RO. RO.4      p\        WV4      P	                  WAV4      p\        P                  ! WAW3V.4      pVP
                  ^ ,          VP
                  ^ ,          8X  g   Q h\        VP                  4       VP                  4       RR7       \        \        4      ;_uu_ 4        \        P                  ! . ROW.^,          4       RRR4       \        \        RR7      ;_uu_ 4        \        P                  ! ^^..W.^,          4       RRR4       R#   + '       g   i     LV; i  + '       g   i     R# ; i)r.   g¼‰Ø—²Òœ<rt   NzData and knots*r6  rd  )r@   r§   r¨   )
r`  rI   rO   r   rR  rª   r   rt  rE   rG   )rQ   rg  rh  r4   r  ÚdmÚdm1s   &      rU   Útest_design_matrixÚ TestNdBSpline.test_design_matrixI  sý   € Ø×%Ñ%Ó'‰	ˆ�ä�ZŠZš¢IÐ.Ó/ˆÜ�r˜qÓ!×/Ñ/°¸Ó:ˆÜ×%Ò% b¨q°Q¨iÓ8ˆØ�x‰x˜�{˜bŸh™h q�kÔ)Ð)Ð)Ü˜Ÿ
™
› c§k¡k£m¸%Õ@äœ:×&Õ&Ü×#Ò#¢I¨r°3°qµ5Ô9÷ 'ô œ:Ð->×?Ö?Ü×#Ò# a¨ V H¨b°#°aµ%Ô8÷ @Ñ?÷ '×&ú÷ @×?Ð?ús   Ã"EÄ#EÅE	ÅE%	c                ó   € \         P                  P                  R 4      p^p\         P                  ^ ^ ^ ^ \         P                  ! VP                  ^R7      4      ^,          ^^^^3	,          p\         P                  ^ ^ ^ ^ \         P                  ! VP                  ^R7      4      ^,          ^^^^3	,          p\         P                  ^ ^ ^ ^ \         P                  ! VP                  ^R7      4      ^,          ^^^^3	,          pVP                  VP                  V,
          ^,
          VP                  V,
          ^,
          VP                  V,
          ^,
          3R7      p\        W4V3WbR7      pR p\        ^
W‡4       R# )rÂ  r¤   rj  c                 óV   € \         P                  . RO. RO. RO3,          pV! V4       R# )r.   Nr,  r-  r|  )rI   r0  )r½   rF  r  s   && rU   rŽ  Ú1TestNdBSpline.test_concurrency.<locals>.worker_fnb  s&   € Ü—‘’{Ú&Ú&ð'õ (ˆBñ �ŽGrk   N)	rI   rP   rÆ  r°   r›   rÇ  r¥   r   r&   )	rQ   rœ   r4   rÞ  rß  r}  r3   rF  rŽ  s	   &        rU   r�  ÚTestNdBSpline.test_concurrencyX  s%  € Ü�i‰i×#Ñ# EÓ*ˆØˆÜ�U‰U�1�a˜˜AœrŸwšw s§{¡{¸ {Ó':Ó;¸aÕ?ÀÀAÀqÈ!ÐKÕLˆÜ�U‰U�1�a˜˜AœrŸwšw s§{¡{¸ {Ó':Ó;¸aÕ?ÀÀAÀqÈ!ÐKÕLˆÜ�U‰U�1�a˜˜AœrŸwšw s§{¡{¸ {Ó':Ó;¸aÕ?ÀÀAÀqÈ!ÐKÕLˆØ�K‰K˜bŸg™g a�i¨�k¨2¯7©7°1­9°Q­;¸¿¹À½	À!½ÐDˆKÓEˆä˜ ˜ aÔ-ˆò	ô 	   IÖ3rk   r.  )FT)TN)"r/  r0  r1  r2  r  rI   r  r  r  r&  r)  r0  r7  rN  rS  r\  r`  rj  ry  r  r‚  r`   r¡  r¢  r‹  rŽ  r‘  r”  rš  rŸ  r¤  r�  r3  r¦  r§  s   @rU   r  r  }	  s  ø‡ € òBð, !ô ð  "ô &ò*9òX)$òV>ò&$ò&,ò$)òL@ò Gð( !ô ò&4òQò0Gò&@ð& ‡[�[×Ñ˜\¨D°$¨<Ó8Ø‡[�[×Ñ˜]¨T°4¨LÓ9ñ4ó :ó 9ð4ð ‡[�[×Ñ˜X¨°|Ð'DÓEñ4ó Fð4ò @ò 4ò$@ò2
5ò9÷4ð 4rk   r  c                   óP  a € ] tR tRt o R tR t]P                  P                  R. RO4      R 4       t	R t
R tR tR	 t]P                  P                  R
]P                  ]P                   .4      R 4       tR t]P                  P                  R. RO4      R 4       tR tRtV tR# )Ú
TestMakeNDik  c                óÞ  € \         P                  ! ^4      p\         P                  ! ^4      R,           pVR,          ^,          V^,          ^V,          ,           R,          ,          p\        P                  ! W4       UUu. uF  w  rEWE3NK
  	  ppp\	        W3V^R7      p\        V! V4      VP                  4       RR7       \        W^,          ^R7      p\        W"^,          ^V,          ,           ^R7      p	VP                  R,          V	P                  R,          ,          p
\        W§P                  R^ R7       ^ RI	H
p V! W3VR	R
7      p\        V! V4      V! V4      RR7       R# u uppi )r¨   rÓ   Nrj  rY   rt   r™  rZ   )r   Úlinearr!  rs   r�  r	  )rI   rM   rõ  rö  r'   r   Úravelr   r3   Úscipy.interpolater   )rQ   rw   r�   rY  rï  rT   r  r„   rW  rX  rü   ÚRGIrZ  s   &            rU   Útest_2D_separable_simpleÚ#TestMakeND.test_2D_separable_simplel  s  € Ü�IŠI�a‹LˆÜ�IŠI�a‹L˜3ÕˆØ�7•˜Q• ! Q¥$¨¨1­¥*¨gÕ!6Õ6ˆÜ!*×!2Ò!2°1Ô!8Ô9Ñ!8™˜ˆq‹fÑ!8ˆÑ9ä˜A˜6 6¨QÔ/ˆÜ™˜R› &§,¡,£.°uÕ=ô # 1¨¥d¨aÔ0ˆÜ" 1¨¥d¨Q¨q­S¥j°AÔ6ˆØ�W‰W�WÕ §¡¨Õ 0Õ0ˆÜ˜ŸF™F¨°QÕ7õ 	EÙ�1�&˜&¨Ô2ˆÜ™˜B›¡ b£°×6ùó :s   Â E)c                óL  € \         P                  ! ^4      p\         P                  ! ^4      p\        P                  ! W4       UUu. uF  w  r4W43NK
  	  pppVR,          ^,          V^,          ^V,          ,           R,          ,          p\         P                  ! WfWf34      p\        W3V^\        P                  R7      pV! V4      p	\         P                  ! WfWf34      P                  \        4      p
V	P                  R8X  g   Q h\        V	P                  ^^^4      V
RR7       VP                  R4      p\        W3V^\        P                  R7      pV! V4      p	V	P                  R	8X  g   Q h\        V	P                  ^^^^4      V
P                  R4      RR7       R# u uppi )
r¨   N©r4   Úsolverrs   rt   r�  r	  )é$   r@   r  )r¶  r=   r=   )rI   rM   rõ  rö  r1  r'   ÚsslÚspsolverI  rN  rª   r   r‚   )rQ   rw   r�   rï  rT   r  rY  Úvalues4r„   r  r  Úvalues22s   &           rU   Útest_2D_separable_trailing_dimsÚ*TestMakeND.test_2D_separable_trailing_dims€  sR  € ä�IŠI�a‹LˆÜ�IŠI�a‹LˆÜ!*×!2Ò!2°1Ô!8Ô9Ñ!8™˜ˆq‹fÑ!8ˆÑ9ð �7•˜Q• ! Q¥$¨¨1­¥*¨gÕ!6Õ6ˆÜ—)’)˜V¨VÐ<Ó=ˆÜ˜A˜6 7¨a¼¿¹ÔDˆá�b“ˆÜ—’˜F¨FÐ;Ó<×CÑCÄEÓJˆØ�|‰|˜wÔ&Ð&Ð&Ü˜Ÿ™ q¨!¨QÓ/Ø Uõ	,ð —?‘? <Ó0ˆÜ˜A˜6 8¨q¼¿¹ÔEˆá�b“ˆØ�|‰|˜zÔ)Ð)Ð)Ü˜Ÿ™ q¨!¨Q°Ó2ØŸ™ |Ó4¸5÷	Bùó' :s   ÁF r4   c                ó°  € \         P                  ! ^4      p\         P                  ! ^4      R,           p\        P                  ! W#4       UUu. uF  w  rEWE3NK
  	  pppV^,          R,          V^,          ^V,          ,           R,          ,          p\	        W#3Wq\
        P                  R7      p\        V! V4      VP                  4       RR7       R# u uppi )r¨   r  Nr´  rY   rt   r�  r	  )	rI   rM   rõ  rö  r'   r·  r¸  r   r®  )	rQ   r4   rw   r�   rï  rT   r  rY  r„   s	   &&       rU   r7  ÚTestMakeND.test_2D_mixedš  sš   € ô �IŠI�a‹LˆÜ�IŠI�a‹L˜3ÕˆÜ!*×!2Ò!2°1Ô!8Ô9Ñ!8™˜ˆq‹fÑ!8ˆÑ9à�Q•$˜• A q¥D¨1¨Q­3¥J°Õ#8Õ8ˆÜ˜A˜6 6´s·{±{ÔCˆÜ™˜R› &§,¡,£.°u×=ùó	 :s   ÁCc                ó~  € \         P                  ! ^4      p\         P                  ! ^4      R,           p\         P                  VR&   VR,          ^,          V^,          ^V,          ,           R,          ,          p\        \        4      ;_uu_ 4        \        W3V^R7       RRR4       R#   + '       g   i     R# ; i)r¨   rÓ   Nrj  r;   r�  r	  )rI   rM   rK   rE   rG   r'   )rQ   rw   r�   rY  s   &   rU   Útest_2D_nansÚTestMakeND.test_2D_nans¥  sy   € Ü�IŠI�a‹LˆÜ�IŠI�a‹L˜3ÕˆÜ—‘ˆˆ"‰Ø�7•˜Q• ! Q¥$¨¨1­¥*¨gÕ!6Õ6ˆäœ:×&Õ&Ü˜˜ ¨!Õ,÷ '×&×&Ò&ús   ÂB+Â+B<	c           	     óº   € \         P                  ! . RO4      p\         P                  ! . RO4      p\         P                  ! . RO. RO. RO. RO. RO. RO.4      pWV3# )rÓ   )rÓ   rB   rC   rD   ré  rê  )r.   r=   r.   r=   r.   r.   )r.   r=   r?   r=   r.   r.   )r.   r=   r=   r=   r.   r.   )rI   rc  )rQ   rw   r�   rê  s   &   rU   Ú_get_sample_2d_dataÚTestMakeND._get_sample_2d_data®  sP   € ä�HŠHÒ.Ó/ˆÜ�HŠHÒ.Ó/ˆÜ�HŠHâ"Ú"Ú"Ú"Ú"Ú"ðó	
ˆð �Qˆwˆrk   c                óè   € V P                  4       w  rp\        W3V^R7      p\        W3VRR7      p\        P                  ! . RO. RO.4      P
                  p\        V! V4      V! V4      RR7       R# )	r.   rj  r­  r!  rs   rt   N©r.   gffffff@g333333@rÓ   çffffff
@ç333333ó?r?   ©r.   rÇ  rÈ  rD   rt  r0   r?   ©rÃ  r'   r   rI   rc  r  r   ©rQ   rw   r�   rê  r„   rZ  r  s   &      rU   Útest_2D_vs_RGI_linearÚ TestMakeND.test_2D_vs_RGI_linear¾  sk   € Ø×*Ñ*Ó,‰ˆˆaÜ˜A˜6 1¨Ô*ˆÜ% q f¨a¸ÔAˆä�XŠXÒ6Ú6ð8ó 9ß9:¹ð 	ô 	™˜R›¡# b£'°×6rk   c                ó  € V P                  4       w  rp\        W3V^\        P                  R7      p\	        W3VRR7      p\
        P                  ! . RO. RO.4      P                  p\        V! V4      V! V4      RR7       R# )	r?   r´  Úcubic_legacyr!  rs   rt   NrÆ  rÉ  ©	rÃ  r'   r·  r¸  r   rI   rc  r  r   rË  s   &      rU   Útest_2D_vs_RGI_cubicÚTestMakeND.test_2D_vs_RGI_cubicÈ  sq   € Ø×*Ñ*Ó,‰ˆˆaÜ˜A˜6 1¨´#·+±+Ô>ˆÜ% q f¨a¸ÔGˆä�XŠXÒ6Ú6ð8ó 9ß9:¹ð 	ô 	™˜R›¡# b£'°×6rk   rµ  c                óî   € V P                  4       w  r#p\        W#3V^VRR7      p\        W#3VRR7      p\        P                  ! . R	O. R
O.4      P
                  p\        V! V4      V! V4      RRR7       R# )r?   ç�íµ ÷Æ°>)r4   rµ  r\   rÏ  r!  rs   r¹   rZ   NrÆ  rÉ  rÊ  )rQ   rµ  rw   r�   rê  r„   rZ  r  s   &&      rU   Útest_2D_vs_RGI_cubic_iterativeÚ)TestMakeND.test_2D_vs_RGI_cubic_iterativeÒ  ss   € ð ×*Ñ*Ó,‰ˆˆaÜ˜A˜6 1¨°&¸tÔDˆÜ% q f¨a¸ÔGˆä�XŠXÒ6Ú6ð8ó 9ß9:¹ð 	ô 	™˜R›¡# b£'°¸D×Ark   c                ó  € V P                  4       w  rp\        W3V^\        P                  R7      p\	        W3VRR7      p\
        P                  ! . RO. RO.4      P                  p\        V! V4      V! V4      RR7       R# )	r§   r´  Úquintic_legacyr!  rs   rt   NrÆ  rÉ  rÐ  rË  s   &      rU   Útest_2D_vs_RGI_quinticÚ!TestMakeND.test_2D_vs_RGI_quinticá  sr   € Ø×*Ñ*Ó,‰ˆˆaÜ˜A˜6 1¨´#·+±+Ô>ˆÜ% q f¨aÐ8HÔIˆä�XŠXÒ6Ú6ð8ó 9ß9:¹ð 	ô 	™˜R›¡# b£'°×6rk   zk, methc                ó  € \         P                  P                  R 4      p\         P                  ! VP	                  ^R7      4      p\         P                  ! VP	                  ^R7      4      p\         P                  ! VP	                  ^R7      4      pVP	                  R
R7      p\        WEV3Wq\        P                  R7      p\        WEV3WrR7      p	\         P                  P	                  RRRR7      p
\        V! V
4      V	! V
4      RR7       R	# )i@â r¤   r´  r!  gffffffæ?r/  rÅ  rs   rt   Nr:  )rd  r?   )
rI   rP   rÆ  ÚcumsumrÇ  r'   r·  r¸  r   r   )rQ   r4   ÚmethÚrndmrw   r�   rê  rY  r„   rZ  r  s   &&&        rU   Útest_3D_random_vs_RGIÚ TestMakeND.test_3D_random_vs_RGIë  sÈ   € ô �y‰y×$Ñ$ VÓ,ˆÜ�IŠI�d—l‘l¨�lÓ*Ó+ˆÜ�IŠI�d—l‘l¨�lÓ*Ó+ˆÜ�IŠI�d—l‘l¨�lÓ*Ó+ˆØ—‘ 9�Ó-ˆä˜A !˜9 f¼#¿+¹+ÔFˆÜ% q¨Q i°ÔEˆä�Y‰Y×Ñ 3¨S°wÐÓ?ˆÜ™˜R›¡# b£'°×6rk   c           	     ót  € V P                  4       w  rpR ^/p\        \        RR7      ;_uu_ 4        \        W3V3R^/VB  RRR4       \        \        RR7      ;_uu_ 4        \        W3\        P
                  ! W334      3R^/VB  RRR4       R#   + '       g   i     LY; i  + '       g   i     R# ; i)Úmaxiterrµ  r6  r4   N)rÃ  rE   rG   r'   rI   r1  )rQ   rw   r�   rê  Úsolver_argss   &    rU   Útest_solver_err_not_convergedÚ(TestMakeND.test_solver_err_not_convergedû  s’   € Ø×*Ñ*Ó,‰ˆˆaØ  !�nˆÜœ:¨X×6Ö6Ü˜˜ Ñ6 QÐ6¨+Ò6÷ 7ô œ:¨X×6Ö6Ü˜˜¤§	¢	¨1¨&Ó 1ÑF°QÐF¸+ÒF÷ 7Ñ6÷ 7×6ú÷ 7×6Ð6ús   ±BÁ#&B&ÂB#	Â&B7	r.  N))r?   r?   rE  )r?   r.   )r.   r?   rH  ))r.   r­  )r?   rÏ  )r§   rØ  )r/  r0  r1  r2  r±  r»  r`   r¡  r¢  r7  rÀ  rÃ  rÌ  rÑ  r·  ÚgmresÚgcrotmkrÕ  rÙ  rß  rä  r3  r¦  r§  s   @rU   r«  r«  k  sº   ø‡ € ò7ò(Bð4 ‡[�[×Ñ˜SÒ"JÓKñ>ó Lð>ò-òò 7ò7ð ‡[�[×Ñ˜X¨¯	©	°3·;±;Ð'?Ó@ñBó AðBò7ð ‡[�[×ÑØÒNóñ7óð7÷Gð Grk   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# )Ú
TestFpcheci  c                óà  € ^p\         P                  ! ^4      P                  ^^4      p\         P                  ! ^4      p\        P                  ! \
        RR7      ;_uu_ 4        \        P                  ! W2V4       RRR4       \        P                  ! \
        RR7      ;_uu_ 4        \        P                  ! W#V4       RRR4       R#   + '       g   i     LV; i  + '       g   i     R# ; i)r.   z1D sequencer6  N)rI   rM   r‚   r`   r	   rG   Ú_bÚfpcheck©rQ   r4   r2   rw   s   &   rU   Útest_1D_x_tÚTestFpchec.test_1D_x_t  s�   € ØˆÜ�IŠI�b‹M×!Ñ! ! QÓ'ˆÜ�IŠI�b‹Mˆä�]Š]œ:¨]×;Ö;Ü�JŠJ�q˜QÔ÷ <ô �]Š]œ:¨]×;Ö;Ü�JŠJ�q˜QÔ÷ <Ñ;÷ <×;ú÷ <×;Ð;ús   Á#C	Â'CÃ	C	ÃC-	c                ó  € ^p^V^,           ,          ^,
          pV^,           p\         P                  ! V4      p\         P                  ! V4      p\        P                  ! WTV4      ^
8X  g   Q h\        P
                  ! \        RR7      ;_uu_ 4        \        P                  ! WTV4       RRR4       ^V^,           ,          ^,           pW!,
          ^,
          p\         P                  ! V4      p\         P                  ! V4      p\        P                  ! WTV4      ^
8X  g   Q h\        P
                  ! \        RR7      ;_uu_ 4        \        P                  ! WTV4       RRR4       R#   + '       g   i     LÆ; i  + '       g   i     R# ; i)r?   z	Need k+1*r6  N)	rI   rM   ÚdfitpackÚfpchecr`   r	   rG   rë  rì  )rQ   r4   rS   r¾  r2   rw   s   &     rU   Útest_condition_1ÚTestFpchec.test_condition_1  s  € àˆØ��A•�Y˜�]ˆØ��FˆÜ�IŠI�a‹LˆÜ�IŠI�a‹Lˆä�Š˜q QÓ'¨2Ô-Ð-Ð-Ü�]Š]œ:¨[×9Ö9Ü�JŠJ�q˜QÔ÷ :ð ˆq��s�G�a�KˆØ�E�A�IˆÜ�IŠI�a‹LˆÜ�IŠI�a‹Lˆä�Š˜q QÓ'¨2Ô-Ð-Ð-Ü�]Š]œ:¨[×9Ö9Ü�JŠJ�q˜QÔ÷ :Ñ9÷ :×9ú÷ :×9Ð9ús   ÂE'ÅE:Å'E7	Å:F	c                ó(  € ^p^ .V^,           ,          ^.,           ^.V^,           ,          ,           p. ROp\         P                  ! W2V4      ^ 8X  g   Q h\        P                  ! W2V4      e   Q hVP	                  4       pV^ ,          VR&   \         P                  ! W4V4      ^8X  g   Q h\
        P                  ! \        RR7      ;_uu_ 4        \        P                  ! W4V4       RRR4       VP	                  4       pVR,          V^ &   \         P                  ! W4V4      ^8X  g   Q h\
        P                  ! \        RR7      ;_uu_ 4        \        P                  ! W4V4       RRR4       R#   + '       g   i     L�; i  + '       g   i     R# ; i)r?   NzLast k knots*r6  zFirst k knots*)r.   r=   r?   r@   rè  r;   ©rñ  rò  rë  rì  r*  r`   r	   rG   )rQ   r4   r2   rw   Útts   &    rU   Útest_condition_2ÚTestFpchec.test_condition_2(  s'  € ð ˆØˆC��1•�I˜˜�O˜q˜c 1 Q¥3�iÕ'ˆÚˆä�Š˜q QÓ'¨1Ô,Ð,Ð,Ü�zŠz˜! Ó"Ò*Ð*Ð*à�V‰V‹XˆØ�A•ˆˆ2‰Ü�Š˜q aÓ(¨BÔ.Ð.Ð.Ü�]Š]œ:¨_×=Ö=Ü�JŠJ�q˜aÔ ÷ >ð �V‰V‹XˆØ�2•ˆˆ1‰Ü�Š˜q aÓ(¨BÔ.Ð.Ð.Ü�]Š]œ:Ð-=×>Ö>Ü�JŠJ�q˜aÔ ÷ ?Ñ>÷ >×=ú÷ ?×>Ð>ús   ÃE-ÅF Å-E=	Æ F	c                ó0  € ^p^ .V^,           ,          ^^.,           ^.V^,           ,          ,           p. ROp\         P                  ! W2V4      ^ 8X  g   Q h\        P                  ! W2V4      e   Q h^ .V^,           ,          ^^.,           ^.V^,           ,          ,           p\         P                  ! W2V4      ^8X  g   Q h\        P
                  ! \        RR7      ;_uu_ 4        \        P                  ! W2V4       RRR4       R#   + '       g   i     R# ; i)r?   NzInternal knots*r6  ©r.   r=   r?   rÓ  r@   rè  )rñ  rò  rë  rì  r`   r	   rG   rí  s   &   rU   Útest_condition_3ÚTestFpchec.test_condition_3>  sÓ   € àˆØˆC��1•�I˜˜A˜Õ !  a¨¥c¥Õ*ˆÚ"ˆÜ�Š˜q QÓ'¨1Ô,Ð,Ð,Ü�zŠz˜! Ó"Ò*Ð*Ð*àˆC��1•�I˜˜A˜Õ !  a¨¥c¥Õ*ˆÜ�Š˜q QÓ'¨2Ô-Ð-Ð-Ü�]Š]œ:Ð->×?Ö?Ü�JŠJ�q˜QÔ÷ @×?×?Ò?ús   Ã"DÄD	c                óÞ  € ^p^ .V^,           ,          ^.V^,           ,          ,           p. ROp\         P                  ! W2V4      ^ 8X  g   Q h\        P                  ! W2V4      e   Q hVP	                  4       pV^ ,          V^ &   \         P                  ! WBV4      ^ 8X  g   Q h\        P                  ! W2V4      e   Q hVP	                  4       pV^ ,          ^,
          V^ &   \         P                  ! WBV4      ^(8X  g   Q h\
        P                  ! \        RR7      ;_uu_ 4        \        P                  ! WBV4       RRR4       VP	                  4       pVR,          ^,           VR&   \         P                  ! WBV4      ^(8X  g   Q h\
        P                  ! \        RR7      ;_uu_ 4        \        P                  ! WBV4       RRR4       R#   + '       g   i     L—; i  + '       g   i     R# ; i)r?   NzOut of bounds*r6  rû  r;   rö  )rQ   r4   r2   rw   rg   s   &    rU   Útest_condition_4ÚTestFpchec.test_condition_4K  sr  € ð ˆØˆC��1•�I˜˜˜Q˜q�S�	Õ!ˆÚ"ˆÜ�Š˜q QÓ'¨1Ô,Ð,Ð,Ü�zŠz˜! Ó"Ò*Ð*Ð*à�V‰V‹XˆØ�!•ˆˆ1‰Ü�Š˜r aÓ(¨AÔ-Ð-Ð-Ü�zŠz˜! Ó"Ò*Ð*Ð*à�V‰V‹XˆØ�!•�q•ˆˆ1‰Ü�Š˜r aÓ(¨BÔ.Ð.Ð.Ü�]Š]œ:Ð-=×>Ö>Ü�JŠJ�r˜aÔ ÷ ?ð �V‰V‹XˆØ�2•˜•ˆˆ2‰Ü�Š˜r aÓ(¨BÔ.Ð.Ð.Ü�]Š]œ:Ð-=×>Ö>Ü�JŠJ�r˜aÔ ÷ ?Ñ>÷ ?×>ú÷ ?×>Ð>ús   Ä!GÆ&GÇG	ÇG,	c                óø  € ^p. ROp. ROp\         P                  ! W2V4      ^28X  g   Q h\        P                  ! \        RR7      ;_uu_ 4        \
        P                  ! W2V4       RRR4       . ROp\         P                  ! W2V4      ^28X  g   Q h\        P                  ! \        RR7      ;_uu_ 4        \
        P                  ! W2V4       RRR4       R#   + '       g   i     Lx; i  + '       g   i     R# ; i)r.   úSchoenberg-Whitney*r6  N)r   r   r.   r=   r=   )r.  r.  r.  )rÓ   rÓ   rÓ   ©rñ  rò  r`   r	   rG   rë  rì  rí  s   &   rU   Útest_condition_5_x1xmÚ TestFpchec.test_condition_5_x1xmj  s°   € àˆÚˆÚˆÜ�Š˜q QÓ'¨2Ô-Ð-Ð-Ü�]Š]œ:Ð-B×CÖCÜ�JŠJ�q˜QÔ÷ Dò ˆÜ�Š˜q QÓ'¨2Ô-Ð-Ð-Ü�]Š]œ:Ð-B×CÖCÜ�JŠJ�q˜QÔ÷ DÑC÷ D×Cú÷
 D×CÐCús   ÁCÂ3C(ÃC%	Ã(C9	c                óŒ   € ^p. ROpRR.p\         P                  ! W2V4      ^ 8X  g   Q h\        P                  ! W2V4      e   Q hR# )r.   rÓ   g333333ã?N)r   r   r.   r.   )rñ  rò  rë  rì  rí  s   &   rU   Útest_condition_5_k1ÚTestFpchec.test_condition_5_k1x  sE   € àˆÚˆØ�#ˆJˆÜ�Š˜q QÓ'¨1Ô,Ð,Ð,Ü�zŠz˜! Ó"Ò*Ð*Ò*rk   c                óÄ  € ^p^ .V^,           ,          ^.,           ^.V^,           ,          ,           p^.^,          p\         P                  ! W2V4      ^28X  g   Q h\        P                  ! \        RR7      ;_uu_ 4        \
        P                  ! W2V4       RRR4       ^ .V^,           ,          ^.,           ^.V^,           ,          ,           p^.^,          p\         P                  ! W2V4      ^28X  g   Q h\        P                  ! \        RR7      ;_uu_ 4        \
        P                  ! W2V4       RRR4       R#   + '       g   i     L­; i  + '       g   i     R# ; i)r?   r  r6  Nr  rí  s   &   rU   Útest_condition_5_1ÚTestFpchec.test_condition_5_1€  sÿ   € àˆØˆC��1•�I˜˜�O˜q˜c 1 Q¥3�iÕ'ˆØˆC��EˆÜ�Š˜q QÓ'¨2Ô-Ð-Ð-Ü�]Š]œ:Ð-B×CÖCÜ�JŠJ�q˜QÔ÷ Dð ˆC��1•�I˜˜�O˜q˜c 1 Q¥3�iÕ'ˆØˆC��EˆÜ�Š˜q QÓ'¨2Ô-Ð-Ð-Ü�]Š]œ:Ð-B×CÖCÜ�JŠJ�q˜QÔ÷ DÑC÷ D×Cú÷ D×CÐCús   Á>D;ÄEÄ;E	ÅE	c                ó  € ^p^ .V^,           ,          ^^.,           ^.V^,           ,          ,           pR.^,          ^.,           p\         P                  ! W2V4      ^28X  g   Q h\        P                  ! \        RR7      ;_uu_ 4        \
        P                  ! W2V4       RRR4       R.^,          ^^.,           p\         P                  ! W2V4      ^ 8X  g   Q h\
        P                  ! W2V4      e   Q hR#   + '       g   i     L^; i)r?   r.  r  r6  Nr  rí  s   &   rU   Útest_condition_5_2ÚTestFpchec.test_condition_5_2�  sÎ   € àˆØˆC��1•�I˜˜A˜Õ !  a¨¥c¥Õ*ˆØˆE�!�G�q�c�Mˆä�Š˜q QÓ'¨2Ô-Ð-Ð-Ü�]Š]œ:Ð-B×CÖCÜ�JŠJ�q˜QÔ÷ Dð ˆE�!�G�q˜!�fÕˆÜ�Š˜q QÓ'¨1Ô,Ð,Ð,Ü�zŠz˜! Ó"Ò*Ð*Ò*÷ D×Cús   ÂC5Ã5D	c                ó  € ^p. ROp. ROp\         P                  ! W2V4      ^28X  g   Q h\        P                  ! \        RR7      ;_uu_ 4        \
        P                  ! W2V4       RRR4       R#   + '       g   i     R# ; i)r.   r  r6  N)	r   r   r=   r?   r@   r§   r¨   r©   r©   )r.   r.   r.   çÍÌÌÌÌÌ@r  r  rå  r  rí  s   &   rU   Útest_condition_5_3ÚTestFpchec.test_condition_5_3ž  sZ   € àˆÚ'ˆÚ)ˆä�Š˜q QÓ'¨2Ô-Ð-Ð-Ü�]Š]œ:Ð-B×CÖCÜ�JŠJ�q˜QÔ÷ D×C×CÒCús   ÁA/Á/B 	r.  N)r/  r0  r1  r2  rî  ró  rø  rü  rÿ  r  r  r
  r  r  r3  r¦  r§  s   @rU   ré  ré    s<   ø‡ € ò	 ò ò*!ò, ò!ò> ò+ò ò+÷ ð  rk   ré  c                ó  € \         P                  ! WW")  4      p\        \        V4      ^,
          4       Uu. uF(  qSWE,          WE^,           ,           P	                  4       NK*  	  ppW4^R ,          p\        \        V4      4       FA  pWu,          ^,          pWe;;,          V,          uu&   We^,           ;;,          V,          uu&   KC  	  VR;;,          VR,          ,          uu&   \        \	        V4      \	        V4      RR7       Wd3# u upi )z)Split the knot interval into "runs".
    rY   rt   r;   )rI   r  rã   rQ  r  r   )	rw   r2   r4   Ú	residualsrÛ  r  ÚfpartsÚcarriesÚcarrys	   &&&&     rU   Ú_splitr  «  sÏ   € ô 
�Š˜˜a ˜GÓ	$€Bä6;¼CÀ»GÀA½IÔ6FÓGÑ6F°˜�˜b 1¥�gÐ&×*Ñ*Ö,Ñ6F€FÐGØ˜1˜R˜Õ!€Gä”3�w“<Ö ˆØ•
˜Q•ˆØ�	�UÕ‹	Ø��s��uÕ�ñ !ð
 ˆ2‡J�)˜B•-ÕƒJä”C˜“K¤ Y£°eÕ<àˆ:Ðùò Hs   ·.D
c                óÊ  € \        WW#4      w  rERpRp\        \        V4      4       F?  pWX^,           ,          WX,          ,
          ^8”  g   K&  WH,          V8”  g   K5  TpWH,          pKA  	  VR8X  d   \        R4      hWV,          WV^,           ,          ,           ^,           ^,          p	W	,          p
\        P
                  ! W4      p\        P                  VRV W¡VR 3,          pV# )z Insert a new knot given reduals.z5Internal error, please report it to SciPy developers.Ni›ÿÿÿg}Ã”%­I²Ô)r  rã   rQ  rG   rI   r  r°   )rw   r2   r4   r  r  rÛ  Úidx_maxÚ	fpart_maxr  Úidx_newknotÚnew_knotÚidx_tÚt_news   &&&&         rU   Ú	_add_knotr   ¿  sÄ   € ä˜˜aÓ+�J€Fð €GØ€IÜ”3�v“;ÖˆØ��c�7�R•U�?˜QÖ 6¥9¨yÖ#8ØˆGØ�	ŠIñ  ð
 �$„ÜÐPÓQÐQð •; ¨A¥I¥Õ.°Õ2°qÕ8€KØ�~€HÜ�OŠO˜AÓ(€EÜ�E‰E�!�F�U�)˜X¨¨ yÐ0Õ1€EØ€Lrk   c                   ó.  a € ] tR tRt o R t]P                  P                  R. RO4      R 4       tR t	R t
R tR tR	 tR
 tR t]P                  P                  R. RO4      ]P                  P                  R. RO4      R 4       4       tR tR tRtV tR# )ÚTestGenerateKnotsiÖ  c                ó8  € \         P                  ! ^\        R7      pV^,          R^V,           ,          ,           p^p\         P                  ! R.V^,           ,          R.V^,           ,          ,           4      p\	        WW4R7      pV! V4      V,
          ^,          p^ RIHp VP                  WW64      p\        WW64      p	\        W‰RR7       \	        WW8R7      p
V
! V4      V,
          ^,          pVP                  WW;4      p\        WW;4      p\        WÍRR7       R	# )
r;  r9   r0   rA   ræ  )r4   r2   ©Ú_fitpack_reprorY   rt   N)
rI   rM   rN  rc  r   r¯  r%  Úadd_knotr   r   )rQ   rw   r�   r4   r2   rF  r  Ú_frÚnew_tÚnew_t_pyÚspl2Ú
residuals2Únew_t2Ú	new_t2_pys   &             rU   Útest_split_add_knotÚ%TestGenerateKnots.test_split_add_knotØ  sà   € ä�IŠI�aœuÔ%ˆØˆq�D�2�q˜1•u•:ÕˆØˆÜ�HŠH�b�T˜1˜Q�3•Z 2 $¨¨!­¥*Õ,Ó-ˆÜ˜a aÔ-ˆÙ˜“V˜a•Z !•Oˆ	å;Ø—‘˜Q 1Ó0ˆÜ˜Q 1Ó0ˆä˜¨eÕ4ô ˜q qÔ2ˆÙ˜1“g •k AÕ%ˆ
à—‘˜a¨Ó6ˆÜ˜a¨Ó6ˆ	ä˜°×6rk   r4   c           	     óH  € VP                  ^VP                  R7      pVP                  W2P                  ,          ^,          4      p\	        \        W4V^ R7      4      R,          p\        W4V^ R7      ^ ,          pVP                  WbP                  R7      p\        WVRR7       R# )r;  r9   ©r4   r
  rY   rt   Nr;   )	rM   rN   r®  rÔ  rî  r"   r   rO   r   )rQ   r4   rR   rw   r�   r2   r÷  s   &&&    rU   Útest_s0ÚTestGenerateKnots.test_s0ð  sy   € à�I‰I�a˜rŸz™zˆIÓ*ˆØ�F‰F�1—U‘U•7˜1•9ÓˆÜ” ¨¨QÔ/Ó0°Õ4ˆä�A˜A Ô# AÕ&ˆØ�Z‰Z˜§*¡*ˆZÓ-ˆÜ˜ E×*rk   c           	     ó
  € ^
pVP                  W!P                  R7      pV^,          p\        \        W4^^ R7      4      pVP	                  \        \        P                  ! V4      ^4      4      p\        VR,          VRR7       R# )rß  r9   r1  rY   rt   Nr;   )rM   rN   rî  r"   rO   r   rI   r   ©rQ   rR   rS   rw   r�   Úknotsrh   s   &&     rU   Ú	test_s0_1ÚTestGenerateKnots.test_s0_1ú  sd   € àˆØ�I‰I�aŸz™zˆIÓ*ˆØˆq�DˆÜ”^ A¨A°Ô3Ó4ˆØ—:‘:œk¬"¯*ª*°Q«-¸Ó;Ó<ˆÜ˜˜b�	 8°%×8rk   c           	     óô   € ^pVP                  V4      pV^,          p\        \        W4^^ R7      4      pVP                  \	        \
        P                  ! V4      ^4      4      p\        VR,          VRR7       R# )é   r1  rY   rt   Nr;   )rM   rî  r"   rO   r   rI   r   r5  s   &&     rU   Útest_s0_n20ÚTestGenerateKnots.test_s0_n20  s]   € ØˆØ�I‰I�a‹LˆØˆq�DˆÜ”^ A¨A°Ô3Ó4ˆØ—:‘:œk¬"¯*ª*°Q«-¸Ó;Ó<ˆÜ˜˜b�	 8°%×8rk   c                óÜ   € \         P                  ! ^
4      pV^,          p\        \        4      ;_uu_ 4        \	        \        W^^ ^
R7      4       RRR4       R#   + '       g   i     R# ; i)rß  ©r4   r
  ÚnestN)rI   rM   rE   rG   rî  r"   ©rQ   rw   r�   s   &  rU   Útest_s0_nestÚTestGenerateKnots.test_s0_nest  sE   € ä�IŠI�b‹MˆØˆq�DˆÜœ:×&Õ&Ü” ¨¨Q°RÔ8Ô9÷ '×&×&Ò&ús   ·AÁA+	c           	     ó0  € VP                  ^VP                  R7      pVP                  V\        P                  ,          ^,          4      p^p\        \        W#VRR7      4      p. RO. RO. R	O. R
O. RO.pV Uu. uF  qqP                  WqP                  R7      NK   	  pp\        V4      \        V4      8X  g   Q h\        WV4       F  w  r‰\        W‰RR7       K  	  \        W#VRR7      w  p p
\        VR,          VP                  V4      RR7       R# u upi )aY  
        To generate the `wanted` list below apply the following diff and rerun
        the test. The stdout will contain successive iterations of the `t`
        array.

$ git diff scipy/interpolate/fitpack/fpcurf.f
diff --git a/scipy/interpolate/fitpack/fpcurf.f b/scipy/interpolate/fitpack/fpcurf.f
index 1afb1900f1..d817e51ad8 100644
--- a/scipy/interpolate/fitpack/fpcurf.f
+++ b/scipy/interpolate/fitpack/fpcurf.f
@@ -216,6 +216,9 @@ c  t(j+k) <= x(i) <= t(j+k+1) and store it in fpint(j),j=1,2,...nrint.
         do 190 l=1,nplus
 c  add a new knot.
           call fpknot(x,m,t,n,fpint,nrdata,nrint,nest,1)
+          print*, l, nest, ': ', t
+          print*, "n, nmax = ", n, nmax
+
 c  if n=nmax we locate the knots as for interpolation.
           if(n.eq.nmax) go to 10
 c  test whether we cannot further increase the number of knots.
        r9   r¹   r1  rY   rt   N)rA   rA   rA   rA   ræ  ræ  ræ  ræ  )	rA   rA   rA   rA   rD   ræ  ræ  ræ  ræ  ©
rA   rA   rA   rA   rB   rD   ræ  ræ  ræ  ræ  )rA   rA   rA   rA   rB   rD   rê  ræ  ræ  ræ  ræ  )rA   rA   rA   rA   rB   rC   rD   rt  r©   ræ  ræ  ræ  r;   )rM   rN   r®  rI   rÔ  rî  r"   rO   rQ  rf  r   r   )rQ   rR   rw   r�   r4   r6  ÚwantedÚwantr2   r÷  r½   s   &&         rU   Útest_s_switchÚTestGenerateKnots.test_s_switch  sì   € ð. �I‰I�a˜rŸz™zˆIÓ*ˆØ�F‰F�1”R—U‘U•7˜1•9ÓˆØˆä”^ A¨A°Ô6Ó7ˆÚ2Ú6Ú:Ú>ÚAð	
ˆñ BHÓHÁ¸—*‘*˜T¯©�*Ö4ÁˆÐHä�5‹zœS ›[Ô(Ð(Ð(Ü˜Ö'‰EˆAÜ˜A¨×.ñ (ô ˜  dÔ+‰ˆˆ1ˆaÜ˜˜b�	 2§:¡:¨a£=°u×=ùò Is   Á9$Dc                ó`   € \        \        ^4      4      p\        WR^R7      p\        V4       R# )r;  rç  )r
  r4   N)rî  rã   r"   Únext)rQ   rw   Úgens   &  rU   rð  Ú!TestGenerateKnots.test_list_input>  s$   € ä”�q“‹NˆÜ˜Q S¨AÔ.ˆÜˆSŽ	rk   c                ó¾  € VP                  ^VP                  R7      pVP                  W!P                  ,          ^,          4      pRp\	        \        W#^V^
R7      4      p\        VR,          VP                  . R	OVP                  R7      RR7       \        \        4      ;_uu_ 4        \	        \        W#^^R7      4       RRR4       R#   + '       g   i     R# ; i)
r;  r9   r¹   r>  rY   rt   )r4   r?  Nr;   rD  )
rM   rN   r®  rÔ  rî  r"   r   rO   rE   rG   )rQ   rR   rw   r�   r
  r6  s   &&    rU   Ú	test_nestÚTestGenerateKnots.test_nestD  sž   € à�I‰I�a˜rŸz™zˆIÓ*ˆØ�F‰F�1—U‘U•7˜1•9ÓˆØˆä”^ A¨A°¸Ô<Ó=ˆÜØ�"�IØ�J‰JÒ?ÀrÇzÁzˆJÓRØõ	
ô œ:×&Õ&ä” ¨°Ô2Ô3÷ '×&×&Ò&ús   Â)CÃC	c                ó  € \         P                  ! ^4      p\         P                  ! V\         P                  ,          ^,          4      p\	        \
        4      ;_uu_ 4        \        \        W\         P                  ! ^4      R7      4       RRR4       \	        \
        4      ;_uu_ 4        \        \        W\         P                  ! ^4      ) R7      4       RRR4       R#   + '       g   i     L]; i  + '       g   i     R# ; i)r;  ©r+  N)	rI   rM   r®  rÔ  rE   rG   rî  r"   rß  r@  s   &  rU   r-  ÚTestGenerateKnots.test_weightsU  s“   € Ü�IŠI�a‹LˆÜ�FŠF�1”R—U‘U•7˜1•9Óˆäœ:×&Õ&Ü” ¬¯	ª	°"«Ô6Ô7÷ 'ô œ:×&Õ&Ü” ¬¯ª°«¨Ô4Ô5÷ 'Ñ&÷ '×&ú÷ '×&Ð&ús   Á +C Â*,C3Ã C0	Ã3D	Únptsr
  c           	     óÖ  € \         P                  P                  R 4      p^
\         P                  ! VP	                  VR7      4      ,          p\         P
                  ! V\         P                  ,          ^
,          4      \         P                  ! V^,
          ^,          ) 4      ,           p^p\        WEWaR7      ^ ,          p\        \        WEWaR7      4      R,          p\        W‡RR7       R# )rÂ  r¤   r1  rY   rt   Nr;   )rI   rP   rš   r›   rÇ  r®  rÔ  Úexpr   rî  r"   r   )	rQ   r
  rS  rÞ  rw   r�   r4   r2   r÷  s	   &&&      rU   Útest_vs_splrepÚ TestGenerateKnots.test_vs_splrep_  sž   € ô �y‰y×$Ñ$ UÓ+ˆØŒr�wŠw�t—|‘|¨�|Ó.Ó/Õ/ˆÜ�FŠF�1”R—U‘U•7˜2•:Ó¤§¢¨!¨A­#°­¨	Ó!2Õ2ˆàˆÜ�1˜1Ô" 1Õ%ˆÜ”. ¨Ô0Ó1°"Õ5ˆä˜ E×*rk   c           	     óf  € ^p\         P                  ! V4      pV^,          p\        \        W#^RR7      4      p\        P
                  ! \        4      ;_uu_ 4       p\        W#^RR7      pRRR4       \        X4      ^8X  g   Q h\        VR,          X^ ,          4       R#   + '       g   i     L>; i)é   ç¸ÔJzî�5r1  Nr;   )
rI   rM   rî  r"   r`   ÚwarnsÚRuntimeWarningr   rQ  r   )rQ   rS   rw   r�   r6  rÓ  r_   s   &      rU   Útest_s_too_smallÚ"TestGenerateKnots.test_s_too_smallr  s�   € ØˆÜ�IŠI�a‹LˆØˆq�Dˆô ”^ A¨A°Ô7Ó8ˆä�\Š\œ.×)Ô)¨QÜ˜  eÔ,ˆC÷ *ä�1‹v˜Œ{Ðˆ{Ü˜˜b�	 3 q¥6Ö*÷ *×)ús   ÁB Â B0	c                óÈ   € \        . RO. RO. RO^R7      p\        P                  ! \        RR7      ;_uu_ 4        \	        V4       RRR4       R#   + '       g   i     R# ; i)rA   )r+  r
  zweights are zeror6  N)rA   r0   rB   rC   )rD   rt  rê  ræ  )rA   rA   rA   rA   )r"   r`   r	   rG   rî  )rQ   rK  s   & rU   Útest_zero_weightsÚ#TestGenerateKnots.test_zero_weights  s;   € äš]ªMº]ÈaÔPˆÜ�]Š]œ:Ð-?×@Ö@Ü�ŒI÷ A×@×@Ò@ús   ºAÁA!	r.  Nrñ  )é   é2   rÙ   )rç  ç{®Gáz„?r   )r/  r0  r1  r2  r.  r`   r¡  r¢  r2  r7  r;  rA  rG  rð  rN  r-  rV  r]  r`  r3  r¦  r§  s   @rU   r"  r"  Ö  s    ø‡ € ò7ð0 ‡[�[×Ñ˜S¢/Ó2ñ+ó 3ð+ò9ò9ò:ò*>òXò4ò"6ð ‡[�[×Ñ˜V¢]Ó3Ø‡[�[×Ñ˜S¢.Ó1ñ+ó 2ó 4ð+ò"+÷ð rk   r"  c                ó*  € V P                   ^ ,          pWV,
          ^,
          ,          W,          ,
          pV^V,          ,
          ^,
          pW^,           W!,
          ^,
           p\        P                  ! V^4      pVR;;,          R,          uu&   VR;;,          R,          uu&   \        V \        P                  ! W!,
          ^,
          4      V4      ! WaR7      p\        P
                  ! V^,
          VP                   ^,          3\        R7      p\        ^ VP                   ^ ,          ^4       F.  p	WyR3,          Wy^,           R3,          ,
          W‰^,          R3&   K0  	  WƒV,          V,          \        P                  ! V4      ,          ,          pV# )z¡Straitforward way to compute the discontinuity matrix. For testing ONLY.

This routine returns a dense matrix, while `_fitpack_repro.disc` returns
a packed one.
r—  r·   :r.   Nr=   rá   r9   rE  )
rª   rI   rb  r
   rP  ÚemptyrN  rã   r  Ú	factorial)
r2   r4   rS   ÚdeltaÚnrintrñ  Útiir¾  Úmatrr  s
   &&        rU   Ú
disc_naiverl  †  s  € ð 	
�‰��
€Aà�!�e�a�i�L˜1�4Õ€EØ��!•�G�a�K€Eà	
ˆQ�3ˆq�s�1�uˆ€BÜ
�)Š)�B˜Ó
€CØˆ‡H�ÕƒHØˆ‡I�ÕƒIÜ�”2—6’6˜!�% !�)Ó$ aÔ(¨Ô3€Aä�8Š8�U˜1•W˜aŸg™g a�jÐ)´Ô7€DÜ�1�a—g‘g˜a•j !Ö$ˆØ˜Q˜$� ! a¥C¨ F¥)Õ+ˆ��T�1ˆW‹ñ %ð 	�5�[˜1ÕœtŸ~š~¨aÓ0Õ0Õ0€DØ€Krk   c                   ó4   a € ] tR tRt o RtRR ltR tRtV tR# )ÚF_denseiŸ  zdThe r.h.s. of ``f(p) = s``, an analog of _fitpack_repro.F
Uses full matrices, so is for tests only.
Nc                óæ  € Wn         W n        W0n        W@n        Vf   \        P
                  ! V\        R7      MTV n        Wpn        V P                  P                  ^8X  g   Q h\        V\        P                  ! VP                  ^ ,          V,
          ^,
          4      WGR7      ! V4      pW€P                  R,          ,          V n        ^ RIHp	 \!        V	P#                  W44      !  P%                  4       V n        VP                  ^8X  g   Q hW P                  ,          p
\        P(                  V
\        P*                  ! V P&                  P                  ^ ,          4      3,          V n        WPn        R # )Nr9   r   r$  r�  )rw   r�   r2   r4   rI   rn   rN  r+  r€   r'  r
   rP  rª   Úa_denser¯  r%  rh  Údiscrt  Úb_denser°   re  rÍ   r
  )rQ   rw   r�   r2   r4   r
  r+  r€   rp  r'  rÍ   s   &&&&&&&&   rU   rk  ÚF_dense.__init__£  sû   € ØŒØŒØŒØŒØ12²”—’˜a¤uÕ-ÀˆŒØ&ÔØ�v‰v�{‰{˜aÔÐÐô ˜!œRŸVšV A§G¡G¨A¥J°¥N°QÕ$6Ó7¸ÕTÐUVÓWˆØ§¡¨¥Õ0ˆŒå;Ü# S§X¡X¨a£^Ñ4×<Ñ<Ó>ˆŒð �v‰v˜Œ{Ðˆ{Ø—‘�ZˆÜ—%‘%˜œBŸHšH T§\¡\×%7Ñ%7¸Õ%:Ó;Ð;Õ<ˆŒàŽrk   c                óV  € \         P                  ! V P                  V P                  V,          34      p^ RIHpHp V! VRR7      w  rVVP                  V P                  ,          pVP                  ^,          pV! VRV1RV13,          VRV 4      p	\        V P                  W�P                  V P                  R7      p
\         P                  ! V P                  ^,          V
! V P                   4      V P"                  ,
          ^,          ,          4      pW n        W°P&                  ,
          # )r   )r  r
  Úeconomic)r”  Nr   )rI   Úvstackrp  rr  Úscipy.linalgr  r
  r  rÍ   rª   r
   r2   r4   r€   r  r+  rw   r�   rF  r
  )rQ   r!  Úabr  r
  r—  rÓ  Úqyrj  r3   rF  Úfps   &&          rU   rý  ÚF_dense.__call__º  sÓ   € Ü�YŠY˜Ÿ™ d§l¡l°QÕ&6Ð7Ó8ˆ÷ 	+Ù�"˜:Ô&‰ˆà�S‰S�4—7‘7�]ˆà�W‰W�Q�ZˆÙ�!�C�R�C˜˜"˜�H•+˜r # 2˜wÓ'ˆä�d—f‘f˜a§¡°T×5EÑ5EÔFˆÜ�VŠV�D—F‘F˜A•I¡ T§V¡V£¨t¯v©vÕ!5¸Õ 9Õ9Ó:ˆàŒà—F‘F�{Ðrk   )rp  rr  r€   r4   r
  rF  r2   r+  rw   r�   rÍ   )NT)	r/  r0  r1  r2  rv  rk  rý  r3  r¦  r§  s   @rU   rn  rn  Ÿ  s   ø‡ € ñô÷.ð rk   rn  c                   óÈ  a € ] tR tRt o Rt]3R ltR tR t]	P                  P                  R. RO4      R 4       tR t]	P                  P                  R. RO4      R	 4       t]	P                  P                  R
 4       t]	P                  P                  R. RO4      R 4       tR t]	P                  P                  RRR.4      ]	P                  P                  R. RO4      R 4       4       t]	P                  P                  RRR.4      R 4       t]	P                  P                  RRR.4      ]	P                  P                  R. RO4      R 4       4       t]	P                  P                  R. RO4      ]	P                  P                  R. RO4      R 4       4       t]	P                  P                  R. RO4      ]	P                  P                  R. RO4      R 4       4       tRtV tR# )Ú_TestMakeSplrepBaseiÎ  Nc                ó   € V P                   R 8X  d@   VP                  ^ ^\        P                  ,          ^
4      pVP	                  V4      pRpW#V3# VP                  ^ ^^4      pVP	                  VR,          ^,          4      ^,          pRpW#V3# )rÑ   g€Ÿqá@H&?g…ëQ¸	@)rN  re   rI   rÔ  r®  )rQ   rR   rw   r�   r
  s   &&   rU   Ú	_get_xyktÚ_TestMakeSplrepBase._get_xyktÒ  s~   € Ø�<‰<˜:Ô%Ø—‘˜A˜q¤§¡�w¨Ó+ˆAØ—‘˜“ˆAØˆAà˜�7ˆNà—‘˜A˜q "Ó%ˆAØ—‘˜˜$� �
Ó# QÕ&ˆAØˆAà˜�7ˆNrk   c                ó`	  € \         P                  ! ^ ^
^4      p\         P                  ! ^ ^
^4      p\        \        4      ;_uu_ 4        \	        WV P
                  R7       RRR4       \        \        4      ;_uu_ 4        \	        ^^RV P
                  R7       RRR4       \        \        4      ;_uu_ 4        \         P                  ! VP                  ^^^34      p\	        WRV P
                  R7       RRR4       \         P                  ! ^4      p\        \        4      ;_uu_ 4        \	        W^,          VRV P
                  R7       RRR4       \         P                  ! ^4      ) p\        \        4      ;_uu_ 4        \	        W^,          VRV P
                  R7       RRR4       \         P                  ! VP                  ^ ,          ^34      p\        \        4      ;_uu_ 4        \	        W^,          VRV P
                  R7       RRR4       \        \        4      ;_uu_ 4        \	        VRRR
1,          V^,          RV P
                  R7       RRR4       \        \        4      ;_uu_ 4        \	        W^,          RRV P
                  R7       RRR4       \        \        4      ;_uu_ 4        \	        W^,          R
V P
                  R7       RRR4       \        \        4      ;_uu_ 4        \	        W^,          ^^RV P
                  R7       RRR4       \        \        4      ;_uu_ 4        \	        W^,          ^ ^V P
                  R	7       RRR4       \        \        4      ;_uu_ 4        \	        \         P                  ! ^4      \         P                  ! ^	4      RV P
                  R7       RRR4       R#   + '       g   i     ELi; i  + '       g   i     ELD; i  + '       g   i     ELü; i  + '       g   i     ELº; i  + '       g   i     ELw; i  + '       g   i     EL"; i  + '       g   i     ELì; i  + '       g   i     ELÀ; i  + '       g   i     EL•; i  + '       g   i     ELh; i  + '       g   i     EL<; i  + '       g   i     R# ; i)r   rx  Nrç  ©r
  rN  )r+  r
  rN  r8   ©r4   r
  rN  )r4   r?  r
  rN  )r
  r?  rN  r;   )rI   re   rE   rG   r#   rN  rß  r¥   rª   rF   rM   ©rQ   rw   r�   r+  s   &   rU   Útest_input_errorsÚ%_TestMakeSplrepBase.test_input_errorsà  së  € Ü�KŠK˜˜2˜rÓ"ˆÜ�KŠK˜˜2˜rÓ"ˆÜœ:×&Õ&ä˜ d§l¡lÕ3÷ 'ô œ:×&Õ&ä˜˜1 ¨T¯\©\Õ:÷ 'ô œ:×&Õ&ä—’˜Ÿ™  A qÐ)Ó*ˆAÜ˜ ¨T¯\©\Õ:÷ 'ô
 �GŠG�B‹KˆÜœ:×&Õ&ä˜˜a�4 1¨°T·\±\ÕB÷ 'ô �WŠW�R‹[ˆLˆÜœ:×&Õ&ä˜˜a�4 1¨°T·\±\ÕB÷ 'ô �GŠG�Q—W‘W˜Q•Z �OÓ$ˆÜœ:×&Õ&ä˜˜a�4 1¨°T·\±\ÕB÷ 'ô œ:×&Õ&ä˜™$˜B˜$�  A¥¨°d·l±lÕC÷ 'ô œ9×%Õ%ä˜˜a�4 3¨#°t·|±|ÕD÷ &ô œ:×&Õ&ä˜˜a�4 2¨t¯|©|Õ<÷ 'ô œ:×&Õ&ä˜˜a�4 1¨1°¸T¿\¹\ÕJ÷ 'ô œ:×&Õ&ä˜˜a�4 1¨2°t·|±|ÕD÷ 'ô œ:×&Õ&äœŸ	š	 !›¤b§i¢i°£l°cÀ4Ç<Á<ÕP÷ 'Ñ&÷a '×&Ð&ú÷ '×&Ð&ú÷ '×&Ð&ú÷ '×&Ð&ú÷
 '×&Ð&ú÷
 '×&Ð&ú÷ '×&Ð&ú÷ &×%Ð%ú÷ '×&Ð&ú÷ '×&Ð&ú÷ '×&Ð&ú÷ '×&Ð&ús‘   ÁO Á?OÂ8=O(Ä*!O<Æ!PÇ*!P$È*+P8É4!QÊ4 Q Ë3"Q4Ì4!RÍ4ARÏ O	ÏO%	Ï(O9	Ï<P	ÐP!	Ð$P5	Ð8Q		ÑQ	Ñ Q1	Ñ4R	ÒR	ÒR-	c           
     óx  € \        \        WW4V P                  R 7      4      R,          p\        WW4V P                  R 7      p\        WWSW@P                  R7      p\	        VP
                  VP
                  RR7       \	        VP                  VP                  RR7       VP                  VP                  8X  g   Q hR# )rƒ  )r2   r4   r
  rN  rY   rt   Nr;   )rî  r"   rN  r#   r   r2   r3   r4   )rQ   rw   r�   r4   r
  r2   Úspl_autoÚspl_ts   &&&&&   rU   Ú_test_with_knotsÚ$_TestMakeSplrepBase._test_with_knots  s€   € Ü” ¨¸¿¹ÔEÓFÀrÕJˆä˜q q°t·|±|ÔDˆÜ˜A A¨a¿¹ÔFˆä˜Ÿ
™
 E§G¡G°%Õ8Ü˜Ÿ
™
 E§G¡G°%Õ8Ø�z‰z˜UŸW™WÔ$Ð$Ò$rk   r4   c                óP   € V P                  4       w  r#pV P                  W#W4       R # rý  )r  rŠ  )rQ   r4   rw   r�   r
  s   &&   rU   Útest_with_knotsÚ#_TestMakeSplrepBase.test_with_knots!  s"   € à—.‘.Ó"‰ˆˆaà×Ñ˜a AÖ)rk   c           	     óT  € \        WW0P                  R 7      p\        WW0P                  R 7      p\        \	        WW0P                  R 7      4      R,          p\        VP                  VP                  RR7       \        VP                  VRR7       \        VP                  VRR7       R# )rM  rY   rt   Nr;   )r#   rN  r   rî  r"   r   r3   r2   )rQ   rw   r�   r4   rF  Úspl_ir2   s   &&&&   rU   Ú_test_default_sÚ#_TestMakeSplrepBase._test_default_s'  sp   € Ü˜! !¯\©\Ô:ˆÜ" 1¨1·l±lÔCˆÜ” ¨·<±<Ô@ÓAÀ"ÕEˆä˜Ÿ™˜uŸw™w¨UÕ3Ü˜Ÿ™˜q uÕ-Ü˜Ÿ™ ¨×/rk   c                óP   € V P                  4       w  r#pV P                  W#V4       R # rý  )r  r‘  )rQ   r4   rw   r�   r½   s   &&   rU   Útest_default_sÚ"_TestMakeSplrepBase.test_default_s0  s"   € à—.‘.Ó"‰ˆˆaØ×Ñ˜Q 1Ö%rk   c           
     ó€  € R pV P                   R8X  dE   \        P                  ! ^ ^\        P                  ,          ^4      p\        P                  ! V4      pM\        P
                  ! ^4      pV^,          p\        P                  ! 4       ;_uu_ 4        \        P                  ! R\        4       \        W#^WP                   R8H  R7      pRRR4       \        P                  ! 4       ;_uu_ 4        \        P                  ! R\        4       \        W#^WP                   R7      pRRR4       \        XP                  X^ ,          4       \        \        P                  VP                  ^ .VP                   ^,           ,          3,          V^,          RR7       R#   + '       g   i     L×; i  + '       g   i     L‘; i)g ÂëþKH´9rÑ   r5   ©r4   r
  rÍ  Nrƒ  r�  rt   )rN  rI   re   rÔ  r®  rM   ÚwarningsÚcatch_warningsÚsimplefilterr\  r   r#   r   r2   r°   r3   r4   )rQ   r
  rw   r�   r_   rF  s   &     rU   r]  Ú$_TestMakeSplrepBase.test_s_too_small5  s*  € ð ˆØ�<‰<˜:Ô%Ü—’˜A˜q¤§¡�w¨Ó+ˆAÜ—’�q“	‰Aä—	’	˜"“ˆAØ�1•ˆAä×$Ò$×&Õ&Ü×!Ò!ØÜôô ˜  a¯l©l¸jÑ.HÔJˆC÷ 'ô ×$Ò$×&Õ&Ü×!Ò!ØÜôô ˜a a¨1·l±lÔCˆC÷ 'ô 	˜Ÿ™˜s 1�vÔ&ÜœŸ™˜cŸe™e a S¨#¯%©%°­'¥]Ð2Õ3Ø˜A� U÷	,÷ '×&ú÷ '×&ús   Â7FÃ04F-ÆF*	Æ-F=	c                ó\  € ^
pV P                   R8X  dE   \        P                  ! ^ ^\        P                  ,          V4      p\        P                  ! V4      pM\        P
                  ! V4      pV^,          p\        W4WP                   R7      p\        W4VRV P                   R7      pVP                  P                  ^8X  g   Q hVP                  P                  ^8X  g   Q h\        W4^^V,           ,          ,           VRV P                   R7      pVP                  P                  ^8X  g   Q hR# )rß  rÑ   rM  çñhãˆµøä>rƒ  N)	rN  rI   re   rÔ  r³  rM   r#   r3   r'  )rQ   r4   rS   rw   r�   rF  rµ  rc  s   &&      rU   Ú
test_shapeÚ_TestMakeSplrepBase.test_shapeR  sØ   € ð ˆØ�<‰<˜:Ô%Ü—’˜A˜q¤§¡�w¨Ó*ˆAÜ—’�q“	‰Aä—	’	˜!“ˆAØ�1•ˆAä˜! !¯\©\Ô:ˆÜ˜A A¨°t·|±|ÔDˆà�u‰u�z‰z˜QŒÐˆØ�w‰w�|‰|˜qÔ Ð Ð ô ˜A 1 a¨¥c¥7�{¨a°4ÀÇÁÔNˆØ�w‰w�|‰|˜qÔ Ð Ò rk   c           	     ó&  € ^
p^ ^\         P                  ,          r2\         P                  ! W#V^,           4      p\         P                  ! V4      p\	        \
        4      ;_uu_ 4        \        WERRR7       RRR4       R#   + '       g   i     R# ; i)rß  ç:Œ0âŽyE>Únonsenser‚  N)rI   rÔ  re   rU  rE   rG   r#   ©rQ   ÚNrï  rT   rw   r�   s   &     rU   Útest_error_on_invalid_bc_typeÚ1_TestMakeSplrepBase.test_error_on_invalid_bc_typeg  s]   € ØˆØ�!”B—E‘E•'ˆ1Ü�KŠK˜˜a !�eÓ$ˆÜ�FŠF�1‹Iˆäœ:×&Õ&Ü˜ ¨jÕ9÷ '×&×&Ò&ús   Á&A?Á?B	rN  rÑ   c           	     óè  € \         P                  ! ^ ^\         P                  ,          ^
4      p\         P                  ! V4      p\         P                  ! ^^\	        V4      4      p\        W4WRRVR8H  R7      p\        W4VRW!R7      p\        VP                  V^ ,          4       \        \         P                  VP                  ^ .VP                  ^,           ,          3,          V^,          RR7       R# )r   r¡  rÑ   ©r+  r4   r
  rÍ  ©r+  r
  r4   rN  rt   N)rI   re   rÔ  r®  rQ  r   r#   r   r2   r°   r3   r4   )rQ   rN  r4   rw   r�   r+  r_   rF  s   &&&     rU   Ú%test_make_splrep_with_unequal_weightsÚ9_TestMakeSplrepBase.test_make_splrep_with_unequal_weightsp  s«   € ô �KŠK˜˜1œRŸU™U�7 BÓ'ˆÜ�FŠF�1‹Iˆä�KŠK˜˜1œc !›fÓ%ˆä�Q˜Q t°'¸ZÑ2GÔIˆÜ˜! ! t¨qÔBˆä˜Ÿ™˜s 1�vÔ&ÜœŸ™˜cŸe™e a S¨#¯%©%°­'¥]Ð2Õ3Ø˜A� T÷	+rk   c           	     óò  € R  p\         P                  ! ^ ^\         P                  ,          ^
4      p\         P                  ! V4      p\         P                  W43,          P
                  w  rVVP                  P                  RJ g   Q hVP                  P                  RJ g   Q h\         P                  ! ^^\        V4      4      p\         P                  Ww3,          P
                  w  r‰VP                  P                  RJ g   Q h\        W4V^RVR8H  R7      p
\        WTVR^VR7      pV! Wº4       \        W6VR^VR7      pV! Wº4       \        W4VR^VR7      pV! Wº4       \        WVVR^VR7      pV! Wº4       R# )c                 óÞ   € \        V P                  V^ ,          4       \        \        P                  V P                  ^ .V P
                  ^,           ,          3,          V^,          RR7       R# )r   r¡  rt   N)r   r2   rI   r°   r3   r4   )rF  r_   s   &&rU   ÚcheckÚO_TestMakeSplrepBase.test_make_splrep_with_non_c_contiguous_input.<locals>.check…  sG   € Ü˜CŸE™E 3 q¥6Ô*ÜœBŸE™E #§%¡%¨!¨¨c¯e©e°A­g­Ð"6Õ7Ø �F¨÷/rk   Fr¡  rÑ   r¨  r©  N)rI   re   rÔ  r®  r0  r  r˜  r™  rQ  r   r#   )rQ   rN  r®  rw   r�   rë   r¶  r+  Úw1r½   r_   rF  s   &&          rU   Ú,test_make_splrep_with_non_c_contiguous_inputÚ@_TestMakeSplrepBase.test_make_splrep_with_non_c_contiguous_input�  sB  € ò	/ô �KŠK˜˜1œRŸU™U�7 BÓ'ˆÜ�FŠF�1‹Iˆä—‘�q�t•—‘‰ˆð �x‰x×$Ñ$¨Ó-Ð-Ð-Ø�x‰x×$Ñ$¨Ó-Ð-Ð-ä�KŠK˜˜1œc !›fÓ%ˆÜ—‘�a�d•—‘‰ˆð �x‰x×$Ñ$¨Ó-Ð-Ð-ä�Q˜Q ! t°'¸ZÑ2GÔIˆô ˜" 1¨°¸7ÔCˆÙˆcŒô ˜! 1¨°¸7ÔCˆÙˆcŒô ˜! "¨°¸7ÔCˆÙˆcŒô ˜" B¨$°!Ø")ô+ˆáˆcŽrk   c                ó$  € \         P                  ! ^ ^^
4      p\         P                  ! ^\         P                  ,          V,          4      pV^ ,          VR,          re^pRp\         P                  ! V.V^,           ,          V.V^,           ,          ,           4      p\        W4WVVWxRVR7	      p	\        V	\        4      '       g   Q hV	P                  P                  ^ ,          ^V^,           ,          8X  g   Q hV	P                  V8X  g   Q h\        V	P                  RV^,            \         P                  ! V.V^,           ,          4      4       \        V	P                  V^,           ) R \         P                  ! V.V^,           ,          4      4       R# )r   r¡  N)ÚxbÚxer4   r
  r2   r?  rN  r;   )rI   re   r®  rÔ  rc  r#   r%  r
   r2   rª   r4   r   rO   )
rQ   rN  r4   rw   r�   r´  rµ  r
  r2   rF  s
   &&&       rU   Ú%test_make_splrep_impl_no_optimizationÚ9_TestMakeSplrepBase.test_make_splrep_impl_no_optimization°  s*  € ô �KŠK˜˜1˜bÓ!ˆÜ�FŠF�1”r—u‘u•9˜q•=Ó!ˆà�1•�q˜•uˆBØˆØˆô �HŠH�b�T˜Q �U•^ r d¨a°!­e¥nÕ4Ó5ˆô ˜! 2°Ø t°Wô>ˆô ˜#œw×'Ò'Ð'Ð'Ø�u‰u�{‰{˜1�~  a¨!¥e¥Ô,Ð,Ð,Ø�u‰u˜ŒzÐˆzÜ˜Ÿ™˜d˜q �s˜¤R§Z¢Z°°¸¸A½µÓ%?Ô@Ü˜Ÿ™  !¥˜f˜g˜¬¯
ª
°B°4¸1¸q½5µ>Ó(BÖCrk   rS   r
  c           
     ó¨  € \         P                  P                  ^{4      p\         P                  ^ \         P                  ! VP                  ^ ^\         P                  ,          V^,
          R7      4      ^\         P                  ,          3,          p\         P                  ! V4      \         P                  ! V4      ,           p\        WEW P                  R8H  R7      w  rgp\        WEW P                  R7      p	V^8X  d   V^8X  d   V P                  R8X  g>   \        V	P                  VRR7       \        V	P                  VRV) ^,
           RR7       R# R# )r%  r¤   rÑ   ©r
  rÍ  r‚  rY   rt   N)rI   rP   rÆ  r°   r›   rÇ  rÔ  r®  r³  r   rN  r#   r   r2   r3   ©
rQ   rS   r
  rœ   rw   r�   r2   r3   r4   rF  s
   &&&       rU   Ú(test_make_splrep_matches_splrep_periodicÚ<_TestMakeSplrepBase.test_make_splrep_matches_splrep_periodicÈ  sæ   € ô �i‰i×#Ñ# CÓ(ˆÜ�E‰E�!”R—W’W˜SŸ[™[¨¨A´·±­I¸AÀ½E˜[ÓBÓCÀQÌÏÉÅYÐNÕOˆÜ�FŠF�1‹IœŸš˜q›	Õ!ˆä˜ ¯©¸Ñ)CÔE‰ˆˆaÜ˜! !¯\©\Ô:ˆà�R”˜A œF t§|¡|°zÔ'AÜ˜CŸE™E 1¨5Õ1Ü˜CŸE™E 1 W q b¨1¥f :°E×:ñ (Brk   c           
     ó8  € \         P                  P                  ^{4      p\         P                  ^ \         P                  ! VP                  ^ ^\         P                  ,          V^,
          R7      4      ^\         P                  ,          3,          p\         P                  ! V4      \         P                  ! V4      ,           p\        WEW P                  R8H  R7      w  rgp\        WEW P                  VR7      p	\        V	P                  VRV) ^,
           RR7       R# )r%  r¤   rÑ   r¹  )r
  rN  r2   NrY   rt   )rI   rP   rÆ  r°   r›   rÇ  rÔ  r®  r³  r   rN  r#   r   r3   rº  s
   &&&       rU   Ú"test_make_splrep_with_splrep_knotsÚ6_TestMakeSplrepBase.test_make_splrep_with_splrep_knotsÖ  sº   € ô �i‰i×#Ñ# CÓ(ˆÜ�E‰E�!”R—W’W˜SŸ[™[¨¨A´·±­I¸AÀ½E˜[ÓBÓCÀQÌÏÉÅYÐNÕOˆÜ�FŠF�1‹IœŸš˜q›	Õ!ˆä˜ ¯©¸Ñ)CÔE‰ˆˆaÜ˜! !¯\©\¸QÔ?ˆÜ˜Ÿ™˜q  1 " q¥&˜z°×6rk   r.  ©r.   r=   r?   r@   r§   r¨   rd  rñ  )rÙ   é3   rG  rd  )rß  r;  r§   r.   rd  )r/  r0  r1  r2  rN  rI   r  r…  rŠ  r`   r¡  r¢  r�  r‘  r”  Úthread_unsafer]  rž  r¥  rª  r±  r¶  r»  r¾  r3  r¦  r§  s   @rU   r}  r}  Î  sê  ø‡ € à€Gàô ò5Qòn%ð ‡[�[×Ñ˜SÒ"4Ó5ñ*ó 6ð*ò
0ð ‡[�[×Ñ˜SÒ"4Ó5ñ&ó 6ð&ð ‡[�[×Ññ,ó ð,ð8 ‡[�[×Ñ˜S¢)Ó,ñ!ó -ð!ò(:ð ‡[�[×Ñ˜Y¨°TÐ(:Ó;Ø‡[�[×Ñ˜S¢/Ó2ñ+ó 3ó <ð+ð ‡[�[×Ñ˜Y¨°TÐ(:Ó;ñ+ó <ð+ð\ ‡[�[×Ñ˜Y¨°TÐ(:Ó;Ø‡[�[×Ñ˜S¢/Ó2ñDó 3ó <ðDð, ‡[�[×Ñ˜SÒ"3Ó4Ø‡[�[×Ñ˜SÒ"5Ó6ñ
;ó 7ó 5ð
;ð ‡[�[×Ñ˜SÒ"3Ó4Ø‡[�[×Ñ˜SÒ"5Ó6ñ7ó 7ó 5ö7rk   r}  c                   óæ   a € ] tR tRt o ]P
                  P                  R. RO4      R 4       t]P
                  P                  R. RO4      R 4       tR t	R t
R tR tR	 tR
 tR tR tR tRtV tR# )ÚTestMakeSplrepiâ  r4   c                óB  € ^ RI Hp V P                  4       w  r4p\        P                  ! ^ .V^,           ,          RR.,           ^.V^,           ,          ,           4      pV! W4R,          WaV4      p\        W4WaV4      pR F  p	\        V! V	4      V! V	4      RR7       K  	  R# )	r   ©ÚFr8   rD   NrY   rt   r�  ©r.   rß  rÙ   )Ú scipy.interpolate._fitpack_reprorÇ  r  rI   rc  rn  r   )
rQ   r4   rÇ  rw   r�   r
  r2   ÚfÚf_dr!  s
   &&        rU   Útest_fitpack_FÚTestMakeSplrep.test_fitpack_Få  s…   € õ 	7à—.‘.Ó"‰ˆˆaÜ�HŠH�a�S˜!˜A�#•Y # s Õ+¨q¨c°1°Qµ3­iÕ7Ó8ˆÙˆa�7•˜Q 1Ó%ˆÜ�a˜A !Ó$ˆÛˆAÜ™A˜a›D¡# a£&¨u×5ó rk   c           	     ó  € ^ RI Hp V P                  4       w  r4p\        P                  ! ^ .V^,           ,          RR.,           ^.V^,           ,          ,           4      p\        P
                  ! VP                  ^ ,          \        R7      pV! W4R	,          WaWWR7      p\        W4WaWWR7      p	\        W4WaV4      p
R
 FJ  p\        V! V4      V	! V4      RR7       \        P                  ! V
! V4      V	! V4      RR7      '       g   KJ  Q h	  R# )r   rÆ  r8   rD   r9   NrQ  rY   rt   r�  rÈ  )rÉ  rÇ  r  rI   rc  rM   rª   rN  rn  r   ré   )rQ   r4   rÇ  rw   r�   r
  r2   r+  ÚfwÚfw_drË  r!  s   &&          rU   Útest_fitpack_F_with_weightsÚ*TestMakeSplrep.test_fitpack_F_with_weightsñ  sÌ   € õ 	7à—.‘.Ó"‰ˆˆaÜ�HŠH�a�S˜!˜A�#•Y # s Õ+¨q¨c°1°Qµ3­iÕ7Ó8ˆÜ�IŠI�a—g‘g˜a•j¬Ô.ˆÙˆq�G•*˜a AÔ+ˆÜ�q˜Q 1Ô*ˆä�a˜A !Ó$ˆãˆAÜ™B˜q›E¡4¨£7°Õ7Ü—{’{¡3 q£6©4°«7¸×?Õ?Ð?Ð?ó rk   c                óÞ  € ^ RI Hu Hp \        P                  P                  R4      p\        P                  ^ ^ ^ ^ \        P                  ! VP                  ^R7      4      ^,          ^^^^3	,          p\        V4      ^rT\        VP                  W54      !  P                  4       p\        W54      pVP                  ^ ,          V^V,          ,
          ^,
          8X  g   Q h\        WgRR7       R# )r   NrÂ  r¤   rY   rt   )rÉ  Úinterpolater%  rI   rP   rÆ  r°   r›   rÇ  rQ  rh  rq  rt  rl  rª   r   )rQ   r'  rœ   r2   rS   r4   ÚDÚD_denses   &       rU   Útest_disc_matrixÚTestMakeSplrep.test_disc_matrix  s´   € ÷ 	7Ð6ä�i‰i×#Ñ# EÓ*ˆÜ�E‰E�!�Q˜˜1œbŸgšg c§k¡k°q kÓ&9Ó:¸1Õ<¸aÀÀAÀqÐHÕIˆä�1‹v�qˆ1Ü˜#Ÿ(™( 1›.Ñ)×1Ñ1Ó3ˆÜ˜QÓ"ˆØ�w‰w�q�z˜Q  1¥�W q�[Ô(Ð(Ð(Ü˜¨×/rk   c                óÂ  € ^pV P                  V4      w  r4pVP                  ^ .V^,           ,          RR.,           ^.V^,           ,          ,           4      p\        W4W%R7      w  rxpVP                  V4      VP                  V4      r‡\        Wv8H  4      '       g   Q h\	        W4W%R7      p	\        VRV	P                  P                  ^ ,           V	P                  RR7       R# )r?   r8   rD   r1  NrY   rt   )r  rO   r   rË   r#   r   r3   rª   )
rQ   rR   r4   rw   r�   r
  r÷  r2   r3   rF  s
   &&        rU   Útest_simple_vs_splrepÚ$TestMakeSplrep.test_simple_vs_splrep  s¯   € àˆØ—.‘. Ó$‰ˆˆaØ�Z‰Z˜˜˜Q˜q�S�	 S¨# JÕ.°!°°a¸µcµÕ:Ó;ˆä˜ Ô(‰ˆˆaØ�z‰z˜!‹}˜bŸj™j¨›mˆ1Ü�1‘7�|Š|Ðˆ|ä˜! !Ô)ˆÜ˜˜/˜3Ÿ5™5Ÿ;™; q�>Ð*¨C¯E©E¸×>rk   c           	     ób  € ^pV P                  4       w  r#p\        \        W#WR7      4      R,          p\        W#WR7      p\        W#WQVR7      p\	        VP
                  VP
                  RR7       \	        VP                  VP                  RR7       VP                  VP                  8X  g   Q hR# )r?   r1  )r2   r4   r
  rY   rt   Nr;   )r  rî  r"   r#   r   r2   r3   r4   )rQ   r4   rw   r�   r
  r2   rˆ  r‰  s   &       rU   r�  ÚTestMakeSplrep.test_with_knots  s…   € ØˆØ—.‘.Ó"‰ˆˆaä” ¨Ô/Ó0°Õ4ˆä˜q qÔ.ˆÜ˜A A¨aÔ0ˆä˜Ÿ
™
 E§G¡G°%Õ8Ü˜Ÿ
™
 E§G¡G°%Õ8Ø�z‰z˜UŸW™WÔ$Ð$Ò$rk   c                óØ   € ^
pVP                  W!P                  R7      pV^,          p^p\        W4V^R7      pVP                  P                  ^ ,          ^V^,           ,          8X  g   Q hR# ©rß  r9   r1  N)rM   rN   r#   r2   rª   )rQ   rR   rS   rw   r�   r4   rF  s   &&     rU   Útest_no_internal_knotsÚ%TestMakeSplrep.test_no_internal_knots*  sY   € àˆØ�I‰I�aŸz™zˆIÓ*ˆØˆq�DˆØˆÜ˜! ! qÔ)ˆØ�u‰u�{‰{˜1�~  A a¥C¥Ô(Ð(Ò(rk   c                óÌ   € ^
pVP                  W!P                  R7      pV^,          p\        W4^R7      p\        W4^R7      p\	        VP
                  VP
                  RR7       R# )rß  r9   rj  rY   rt   N)rM   rN   r#   r   r   r3   )rQ   rR   rS   rw   r�   rF  r�  s   &&     rU   r”  ÚTestMakeSplrep.test_default_s3  sP   € ØˆØ�I‰I�aŸz™zˆIÓ*ˆØˆq�DˆÜ˜! !Ô$ˆÜ" 1¨1Ô-ˆä˜Ÿ™˜uŸw™w¨U×3rk   c           	     óø  € ^p\         P                  ! V4      pV^,          p\        P                  ! \        4      ;_uu_ 4       p\        W#^RR7      p\        W#^RR7      p\        VP                  V^ ,          4       \        \         P                  VP                  ^ .VP                  ^,           ,          3,          V^,          RR7       RRR4       \        X4      ^8X  g   Q hR#   + '       g   i     L$; i)rY  rZ  r1  r�  rt   N)rI   rM   r`   r[  r\  r   r#   r   r2   r   r°   r3   r4   rQ  )rQ   rS   rw   r�   rÓ  r_   rF  s   &      rU   r]  ÚTestMakeSplrep.test_s_too_small<  s¯   € àˆÜ�IŠI�a‹LˆØˆq�Dˆä�\Š\œ.×)Ô)¨QÜ˜  eÔ,ˆCÜ˜a a¨5Ô1ˆCÜ˜CŸE™E 3 q¥6Ô*ÜœBŸE™E #§%¡%¨!¨¨c¯e©e°A­g­Ð"6Õ7Ø �F¨õ0÷	 *ô �1‹v˜Œ{ÐŠ{÷ *×)ús   ÁB	C)Ã)C9	c           
     óª  € \         P                  ! . RO\         P                  R7      p\         P                  ! . RO\         P                  R7      p\         P                  ! R.VP                  ^ ,          ,          \         P                  R7      p\	        \
        4      ;_uu_ 4        \        WV^^R7       RRR4       R#   + '       g   i     R# ; i)ç      4@r9   g5{ 2ö?)r+  r4   r
  N)rç  gR¸…ë9c@g
×£p=òe@g×£p=
Oi@gìQ¸…£m@gìQ¸…³o@g)\�Âõ(p@gfffffq@gq=
×£Èq@gö(\�ÂYr@g)\�Âõ¨r@gö(\�ÂÝr@g…ëQ¸s@gìQ¸…3s@g33333Gs@çš™™™™as@rè  g     hs@)g     €J@g     ÀH@gÍÌÌÌÌLH@gffffffG@gš™™™™™E@g)\�Âõ(D@gÍÌÌÌÌÌC@g      B@g333333@@gÍÌÌÌÌÌ<@g3333339@gš™™™™™5@g      2@gÍÌÌÌÌÌ,@gš™™™™™%@gÍÌÌÌÌÌ@gÍÌÌÌÌÌ@rA   )rI   rO   rN   rª   rE   rG   r#   r„  s   &   rU   Útest_issue_22704ÚTestMakeSplrep.test_issue_22704J  s‰   € ä�JŠJò %ô -/¯J©Jô8ˆô �JŠJò ô &(§Z¡Zô1ˆô �JŠJ˜�y 1§7¡7¨1¥:Õ-´R·Z±ZÔ@ˆÜœ:×&Õ&Ü˜  Q¨"Õ-÷ '×&×&Ò&ús   Â'CÃC	c                ó€  € ^
^r2VP                  W!P                  R7      pV^,          p\        WEVR7      p\        WEVRR7      pVP                  P                  ^8X  g   Q hVP                  P                  ^8X  g   Q h\        WE^^V,           ,          ,           VRR7      pVP                  P                  ^8X  g   Q hR# )rß  r9   rj  r�  r1  N)rM   rN   r#   r3   r'  )	rQ   rR   rS   r4   rw   r�   rF  rµ  rc  s	   &&       rU   rž  ÚTestMakeSplrep.test_shapeX  sœ   € à�1ˆ1Ø�I‰I�aŸz™zˆIÓ*ˆØˆq�Dˆä˜! !Ô$ˆÜ˜A A¨Ô.ˆà�u‰u�z‰z˜QŒÐˆØ�w‰w�|‰|˜qÔ Ð Ð ô ˜A 1 a¨¥c¥7�{¨a°4Ô8ˆØ�w‰w�|‰|˜qÔ Ð Ò rk   c                óÈ  € ^
^r2VP                  W!P                  R7      pV^,          p\        WE^^ R7      p\        WE^^R7      pVP                  P                  ^8X  g   Q hVP                  P                  ^8X  g   Q hVP
                  P                  ^ ,          W#,           ^,           8X  g   Q hVP
                  P                  ^ ,          ^V^,           ,          8X  g   Q hR# rß  )rM   rN   r#   r3   r'  r2   rª   )rQ   rR   rS   r4   rw   r�   r~  rµ  s   &&      rU   Útest_s0_vs_notÚTestMakeSplrep.test_s0_vs_noth  s²   € à�1ˆ1Ø�I‰I�aŸz™zˆIÓ*ˆØˆq�Dˆä˜A A¨Ô+ˆÜ˜A A¨Ô+ˆà�w‰w�|‰|˜qÔ Ð Ð Ø�w‰w�|‰|˜qÔ Ð Ð à�w‰w�}‰}˜QÕ 1¥5¨1¥9Ô,Ð,Ð,Ø�w‰w�}‰}˜QÕ 1¨¨A­¥;Ô.Ð.Ò.rk   r.  NrÀ  )r/  r0  r1  r2  r`   r¡  r¢  rÌ  rÑ  r×  rÚ  r�  rà  r”  r]  ré  rž  rî  r3  r¦  r§  s   @rU   rÄ  rÄ  â  s…   ø‡ € ð ‡[�[×Ñ˜SÒ"4Ó5ñ	6ó 6ð	6ð ‡[�[×Ñ˜SÒ"4Ó5ñ@ó 6ð@ò 0ò?ò%ò)ò4òò.ò!÷ /ð /rk   rÄ  c                   ó�  a € ] tR tRt o Rt]P                  P                  R. RO4      R 4       t]P                  P                  R. RO4      R 4       t	R t
R t]P                  P                  R^ R	.4      R
 4       t]P                  P                  R. RO4      ]P                  P                  RR.4      R 4       4       tRtV tR# )ÚTestMakeSplrepPeriodicix  rÑ   r4   c                óä   € VP                  ^ ^
^4      pVP                  R4      p\        W4V^V P                  R7      pVP                  P
                  ^ ,          ^V^,           ,          8X  g   Q hR# )r   rƒ  Nre  )re   rß  r#   rN  r2   rª   )rQ   r4   rR   rw   r�   rF  s   &&&   rU   rà  Ú-TestMakeSplrepPeriodic.test_no_internal_knots}  sY   € ð �K‰K˜˜2˜rÓ"ˆØ�G‰G�E‹Nˆä˜! ! q°$·,±,Ô?ˆØ�u‰u�{‰{˜1�~  A a¥C¥Ô(Ð(Ò(rk   c                ó  € ^
p\         P                  ! ^ ^\         P                  ,          V4      p\         P                  ! V4      \         P                  ! V4      ,           p\        W4V^ V P                  R7      p\        W4V^V P                  R7      pVP                  P                  ^8X  g   Q hVP                  P                  ^8X  g   Q hVP                  P                  ^ ,          V^V,          ,           8X  g   Q hR# )rß  rƒ  N)rI   re   rÔ  r®  r³  r#   rN  r3   r'  r2   rª   )rQ   r4   rS   rw   r�   r~  rµ  s   &&     rU   rî  Ú%TestMakeSplrepPeriodic.test_s0_vs_not†  s´   € ð ˆÜ�KŠK˜˜1œRŸU™U�7 AÓ&ˆÜ�FŠF�1‹IœŸš˜q›	Õ!ˆä˜A A¨°D·L±LÔAˆÜ˜A A¨°D·L±LÔAˆà�w‰w�|‰|˜qÔ Ð Ð Ø�w‰w�|‰|˜qÔ Ð Ð à�w‰w�}‰}˜QÕ 1 q¨1¥u¥9Ô,Ð,Ò,rk   c                óv  € ^
p^ ^VP                   ,          rCVP                  W4V^,           VP                  R7      pVP                  V4      p\	        WVRV P
                  R7      p\        \        WW4      VRRR7       VP                  V4      VP                  V4      ,           p\	        WVRV P
                  R7      p\        \        WW4      VRRR7       ^VP                  V4      ,          VP                  V4      ^,          ,           p\	        WVRV P
                  R7      p\        \        WW4      VRRR7       R	# )
rß  r9   r¡  r‚  r�  rÄ  rZ   rÒ   rÔ  N)	rÔ  re   rN   r³  r#   rN  r   r   r®  )rQ   rR   r¤  rï  rT   rw   r�   rF  s   &&      rU   Ú test_periodic_with_periodic_dataÚ7TestMakeSplrepPeriodic.test_periodic_with_periodic_data•  sç   € ØˆØ�!�B—E‘E•'ˆ1Ø�K‰K˜˜a !�e¨2¯:©:ˆKÓ6ˆà�F‰F�1‹IˆÜ˜! $°·±Ô=ˆÜœ˜a› q¨t¸$Õ?à�F‰F�1‹I˜Ÿ™˜q›	Õ!ˆÜ˜! %°·±Ô>ˆÜœ˜a› q¨t¸$Õ?àˆb�f‰f�Q‹i�K˜"Ÿ&™& ›) A�+Õ%ˆÜ˜! $°·±Ô=ˆÜœ˜a› q¨t¸$×?rk   c           	     ó:  € ^
p^ ^\         P                  ,          r2\         P                  ! W#V^,           4      p\         P                  ! V4      p\	        \
        4      ;_uu_ 4        \        WERV P                  R7       RRR4       R#   + '       g   i     R# ; i)rß  r¡  r‚  N)rI   rÔ  re   rU  rE   rG   r#   rN  r£  s   &     rU   Ú$test_periodic_with_non_periodic_dataÚ;TestMakeSplrepPeriodic.test_periodic_with_non_periodic_data¦  sa   € ØˆØ�!”B—E‘E•'ˆ1Ü�KŠK˜˜a !�eÓ$ˆä�FŠF�1‹IˆÜœ:×&Õ&Ü˜ ¨d¯l©lÕ;÷ '×&×&Ò&ús   Á&B	Â	B	r
  rZ  c           	     óÊ  € \         P                  ! R R.4      p\         P                  ! RR.4      pV^ 8”  d   \         P                  ! RR.4      MRp\        W#V^RVR7      p\        W#V^^VR7      pV^ 8”  d   \	        VP
                  V^ ,          4       \	        \         P                  VP                  ^ .VP                  ^,           ,          3,          V^,          4       R# )rA   r0   rt  NrÑ   )r+  r4   rN  r
  )r+  r4   rÍ  r
  )	rI   rc  r#   r   r   r2   r°   r3   r4   )rQ   r
  rw   r�   r+  rF  r_   s   &&     rU   Ú'test_make_splrep_periodic_m_eq_2_k_eq_1Ú>TestMakeSplrepPeriodic.test_make_splrep_periodic_m_eq_2_k_eq_1¯  s²   € ô �HŠH�c˜3�ZÓ ˆÜ�HŠH�c˜3�ZÓ ˆØ$%¨¤EŒB�HŠH�c˜3�ZÔ ¨tˆô ˜! ! q°*ÀÔBˆÜ�Q˜Q !¨¨aÔ0ˆàˆqŒ5Ü˜CŸE™E 3 q¥6Ô*ÜœŸ™˜cŸe™e a S¨#¯%©%°­'¥]Ð2Õ3Ø˜A�ö	 rk   Úk_fprÄ  c           
     óœ  € ^
p\         P                  ! ^ ^V4      p\         P                  ! ^\         P                  ,          V,          4      pVw  rg\	        WEWb^R7      pRp	\        WER
,          V^ ,          WbR7      p
\        P                  ! 4       ;_uu_ 4        \        P                  ! R\        4       \        V
R^ W’,
          3\         P                  Wr,
          33VR,          4      pRRR4       V
P                  p\         P                  ! RR	.4      pV! V4      p\        V^ ,          V^,          4       R#   + '       g   i     LX; i)rß  r—  rè  Nr1  r5   rB   çü©ñÒMbP?rA   r0   r�  )rI   re   r®  rÔ  r   r    r˜  r™  rš  r\  r!   rL   rF  rc  r   )rQ   rÿ  r
  rS   rw   r�   r4   rz  r_   Úfp0Úspliner½   ÚbsÚx_checkÚy_checks   &&&            rU   Útest_fperiodic_basic_fitÚ/TestMakeSplrepPeriodic.test_fperiodic_basic_fit¿  sô   € ð ˆÜ�KŠK˜˜1˜aÓ ˆÜ�FŠF�1”r—u‘u•9˜q•=Ó!ˆØ‰ˆä�Q˜Q¨Ô+ˆàˆä˜1 �j¨#¨a­&°AÔ;ˆÜ×$Ò$×&Õ&Ü×!Ò! (¬NÔ;Ü˜& #¨¨C­G¨´r·v±v¸r½vÐ6FÐ'GÈÈUÍÓSˆA÷ 'ð
 �Z‰ZˆÜ—(’(˜C ˜:Ó&ˆÙ�W“+ˆä˜ �
 G¨A¥JÖ/÷ '×&ús   ÂAD;Ä;E	r.  NrÀ  ))r.   ç-Cëâ6¿)r=   r	  )r?   g�ÕA¹È˜¿)r/  r0  r1  r2  rN  r`   r¡  r¢  rà  rî  r÷  rú  rý  r  r3  r¦  r§  s   @rU   rñ  rñ  x  sÌ   ø‡ € ð €Gà‡[�[×Ñ˜SÒ"4Ó5ñ)ó 6ð)ð ‡[�[×Ñ˜SÒ"4Ó5ñ-ó 6ð-ò@ò"<ð ‡[�[×Ñ˜S 1 e *Ó-ñ ó .ð ð ‡[�[×Ñ˜VÒ%QÓRØ‡[�[×Ñ˜S 4 &Ó)ñ0ó *ó Sö0rk   rñ  c                   óÒ   a € ] tR tRt o ^
^]3R lt]P                  P                  R. RO4      R 4       t	]P                  P                  R. RO4      R 4       t
R tR tR tR	tV tR
# )ÚTestMakeSplprepiØ  c                ó¶   € VP                  WP                  R 7      VP                  ,          V,          pVP                  V4      VP	                  V4      .pWEV3# )r9   )rM   rN   rÔ  r®  r³  )rQ   r¾  r4   rR   rw   r�   s   &&&&  rU   Ú_get_xykÚTestMakeSplprep._get_xykÚ  sG   € Ø�I‰I�aŸz™zˆIÓ*¨R¯U©UÕ2°QÕ6ˆØ�V‰V�A‹Y˜Ÿ™˜q›	Ð"ˆØ�Qˆwˆrk   r
  c           
     óP  € ^
^r2\         P                  ! V4      \         P                  ,          V,          p\         P                  ! V4      \         P                  ! V4      .p^ ^R^R^	R^
/p\        WQR7      w  w  rxr9\        WQR7      w  r«\        W¹RR7       \        V
P                  VRR7       \        V4      Wa,          8X  g   Q h\         P                  ! V4      P                  p\        V
P                  VRR7       \        V
! V4      \        WxV^R7      ! V4      RR7       R# )	rß  rç  r  r�  ©r
  rY   rt   r  N)rI   rM   rÔ  r®  r³  r   r$   r   r2   rQ  rO   r  r3   r
   )rQ   r
  r¾  r4   rw   r�   Ú	num_knotsr2   r3   Úu_rF  rI  rü   s   &&           rU   Útest_simple_vs_splprepÚ&TestMakeSplprep.test_simple_vs_splprepß  sî   € ð �1ˆ1Ü�IŠI�a‹Lœ2Ÿ5™5Õ  1Õ$ˆÜ�VŠV�A‹YœŸš˜q›	Ð"ˆð ˜˜C  D¨%°°uÐ=ˆ	ô   œ‰‰	ˆˆqÜ˜aÔ%‰ˆô 	˜ EÕ*ô 	˜Ÿ™˜q uÕ-Ü�1‹v˜�Ô%Ð%Ð%ô �ZŠZ˜‹]�_‰_ˆÜ˜Ÿ™˜r¨Õ.ô 	™˜A›Ü  a¨aÕ0°Ó3¸%÷	Ark   c                ó  € V P                  4       w  r#p\        V\        4      '       g   Q h\        P                  ! V4      ^ ,          ^8X  g   Q h\        W1R7      w  rE\        \        P                  ! V4      VR7      w  rg\        WWVR7       \        V^ ,          V^ ,          RR7       \        V^,          4      \        V^,          4      8X  g   Q h\        V^,          V^,          RR7       V^,          V^,          8X  g   Q h\        P                  ! \        WT4      4      \        P                  ! V4      8X  g   Q h\        W1R7      w  r…\        WWRR7       \        VP                  V^ ,          RR7       \        VP                  P                  V^,          RR7       VP                  V^,          8X  g   Q hV! V4      P                  \        P                  ! V4      8X  g   Q h\        \        P                  ! V4      VR7      w  r…\        WWRR7       \        VP                  V^ ,          RR7       \        VP                  P                  V^,          RR7       VP                  V^,          8X  g   Q hV! V4      P                  \        P                  ! V4      8X  g   Q h\        \         4      ;_uu_ 4        \        \        P                  ! V4      P                  VR7       RRR4       R#   + '       g   i     R# ; i)r   r  rt   rY   N)r  r%  rî  rI   rª   r   rO   r   rQ  r   r$   r2   r3   r  r4   rE   rG   )	rQ   r
  r½   r�   r_   rI  Útck_aÚu_arF  s	   &&       rU   Útest_array_not_listÚ#TestMakeSplprep.test_array_not_listý  s  € ð —-‘-“/‰ˆˆaÜ˜!œT×"Ò"Ð"Ð"Ü�xŠx˜‹{˜1�~ Ô"Ð"Ð"ô ˜”‰ˆÜœRŸZšZ¨›]¨aÔ0‰
ˆÜ˜ QÕ'Ü˜˜A�  a¥¨uÕ5Ü�3�q•6‹{œc %¨¥(›mÔ+Ð+Ð+Ü˜˜A�  a¥¨uÕ5Ø�1�v˜˜q�Ô!Ð!Ð!Ü�xŠxœ˜a›Ó&¬"¯(ª(°1«+Ô5Ð5Ð5ä˜aÔ%‰ˆÜ˜ UÕ+Ü˜Ÿ™˜u Q�x¨eÕ4Ü˜Ÿ™Ÿ™  q¥°Õ6Ø�u‰u˜˜a�Ô Ð Ð Ù�1‹v�|‰|œrŸxšx¨›{Ô*Ð*Ð*äœbŸjšj¨›m¨qÔ1‰ˆÜ˜ UÕ+Ü˜Ÿ™˜u Q�x¨eÕ4Ü˜Ÿ™Ÿ™  q¥°Õ6Ø�u‰u˜˜a�Ô Ð Ð Ù�1‹v�|‰|œrŸxšx¨›{Ô*Ð*Ð*äœ:×&Õ&ÜœŸš A›Ÿ™¨AÕ.÷ '×&×&Ò&ús   Ë ,K6Ë6L	c                ó’   € V P                  ^
VR7      w  r#p\        V4      w  rV\        V! V4      VP                  V4      RR7       R# )rß  ©r¾  rR   rY   rt   N©r  r$   r   r‹   ©rQ   rR   rw   r�   r4   rF  rI  s   &&     rU   Útest_default_s_is_zeroÚ&TestMakeSplprep.test_default_s_is_zero  s;   € Ø—-‘- "¨�-Ó,‰ˆˆaä˜a“‰ˆÜ™˜A› §¡¨£°%×8rk   c                ó°  € V P                  ^
VR7      w  r#p\        V^ R7      w  rV\        VRR7      w  rx\        WhRR7       \        V! V4      VP                  V4      RR7       \        V! V4      VP                  V4      RR7       VP                  VP                  8X  g   Q hVP
                  P                  VP
                  P                  8X  g   Q hR# )rß  r  r  rY   rt   r¹   N)r  r$   r   r‹   r  r3   rª   )	rQ   rR   rw   r�   r4   r�  Úu_iÚspl_nÚu_ns	   &&       rU   Útest_s_zero_vs_near_zeroÚ(TestMakeSplprep.test_s_zero_vs_near_zero%  s¢   € à—-‘- "¨�-Ó,‰ˆˆaä! ! qÔ)‰
ˆÜ! ! uÔ-‰
ˆä˜ uÕ-Ü™˜c›
 B§H¡H¨Q£K°eÕ<Ü™˜c›
 B§H¡H¨Q£K°dÕ;Ø�z‰z˜UŸZ™ZÔ'Ð'Ð'Ø�w‰w�}‰} §¡§¡Ô-Ð-Ò-rk   c                óV  € \         P                  ! ^\        R7      p\        \        4      ;_uu_ 4        \        V4       RRR4       \        \        4      ;_uu_ 4        \        V^ R7       RRR4       \        \        4      ;_uu_ 4        \        VRR7       RRR4       \        V.RR7      w  r#\        V.RR7      w  rEV! V4      P                  R8X  g   Q h\        V! V4      V.RR7       R#   + '       g   i     Lº; i  + '       g   i     L ; i  + '       g   i     L†; i)	r;  r9   Nr  rç  r�  rY   rt   ©r.   r;  )	rI   rM   rN  rE   rG   r   r$   rª   r   )rQ   rw   r_   r  rF  rI  s   &     rU   r  ÚTestMakeSplprep.test_1D2  sÆ   € Ü�IŠI�aœuÔ%ˆÜœ:×&Õ&Ü�AŒJ÷ 'ô œ:×&Õ&Ü˜˜aÕ ÷ 'ô œ:×&Õ&Ü˜˜cÕ"÷ 'ô ˜1˜# Ô&‰ˆÜ˜q˜c TÔ*‰ˆá�1‹v�|‰|˜vÔ%Ð%Ð%Ü™˜A›  ¨%×0÷ '×&ú÷ '×&ú÷ '×&ús#   ´C2ÁDÂDÃ2D	ÄD	ÄD(	r.  N)r   rç  r  r�  ©r/  r0  r1  r2  rI   r  r`   r¡  r¢  r  r  r  r$  r  r3  r¦  r§  s   @rU   r  r  Ø  st   ø‡ € à˜q Rô ð
 ‡[�[×Ñ˜SÒ"6Ó7ñAó 8ðAð: ‡[�[×Ñ˜SÒ"6Ó7ñ/ó 8ð/òB9ò.÷1ð 1rk   r  c                   óÒ   a € ] tR tRt o ^
^]3R lt]P                  P                  R. RO4      R 4       t	]P                  P                  R. RO4      R 4       t
R tR tR tR	tV tR
# )ÚTestMakeSplprepPeriodiciD  c                ó¬   € VP                  ^ ^VP                  ,          WP                  R7      pVP                  V4      VP	                  V4      .pWEV3# )r   r9   )re   rÔ  rN   r®  r³  )rQ   rS   r4   rR   rw   r�   s   &&&&  rU   r  Ú TestMakeSplprepPeriodic._get_xykG  sE   € Ø�K‰K˜˜1˜RŸU™U�7 A¯Z©ZˆKÓ8ˆØ�V‰V�A‹Y˜Ÿ™˜q›	Ð"ˆØ�Qˆwˆrk   r
  c           
     ó¾  € ^
p\         P                  ! ^ ^\         P                  ,          V4      p\         P                  ! V4      \         P                  ! V4      .p^ ^R^R^R^/p\        WA^R7      w  w  rgr‰\        WARR7      w  r«\        W¹RR7       \        V
P                  4      WQ,          8X  g   Q h\        V
! V4      \        WgV^R	7      ! V4      RRR
7       R# )rß  rÄ  r�  rÔ  r¹  rÑ   r‚  rY   rt   r  rZ   N)rI   re   rÔ  r®  r³  r   r$   r   rQ  r2   r
   )rQ   r
  rS   rw   r�   r  r2   r3   r4   r  rF  rI  s   &&          rU   r  Ú.TestMakeSplprepPeriodic.test_simple_vs_splprepL  sÂ   € ð ˆÜ�KŠK˜˜1œRŸU™U�7 AÓ&ˆÜ�VŠV�A‹YœŸš˜q›	Ð"ˆð ˜˜D " d¨B°°bÐ9ˆ	ô   ¨AÔ.‰‰	ˆˆqÜ˜a¨jÔ9‰ˆô 	˜ EÕ*ô �3—5‘5‹z˜Y�\Ô)Ð)Ð)ô 	™˜A›¤¨¨a°aÕ 8¸Ó ;Ø"¨÷	0rk   c                ó&  € V P                  4       w  r#p\        V\        4      '       g   Q h\        P                  ! V4      ^ ,          ^8X  g   Q h\        W1^R7      w  rE\        \        P                  ! V4      V^R7      w  rg\        WWVR7       \        V^ ,          V^ ,          RR7       \        V^,          4      \        V^,          4      8X  g   Q h\        V^,          V^,          4       F  w  r‰\        W‰RR7       K  	  V^,          V^,          8X  g   Q h\        P                  ! \        WT4      4      \        P                  ! V4      8X  g   Q h\        W1RR7      w  r¥\        WWRR7       V
P                  V^,          8X  g   Q hV
! V4      P                  \        P                  ! V4      8X  g   Q h\        \        P                  ! V4      VRR7      w  r¥\        WWRR7       V
P                  V^,          8X  g   Q hV
! V4      P                  \        P                  ! V4      8X  g   Q h\        \        4      ;_uu_ 4        \        \        P                  ! V4      P                  VRR7       RRR4       R#   + '       g   i     R# ; i)r   r¹  rt   rY   rÑ   r‚  N)r  r%  rî  rI   rª   r   rO   r   rQ  rf  r   r$   r4   rE   rG   r  )rQ   r
  r½   r�   r_   rI  r  r  rù  rú  rF  s   &&         rU   r  Ú+TestMakeSplprepPeriodic.test_array_not_liste  sÖ  € ð —-‘-“/‰ˆˆaÜ˜!œT×"Ò"Ð"Ð"Ü�xŠx˜‹{˜1�~ Ô"Ð"Ð"ô ˜ QÔ'‰ˆÜœRŸZšZ¨›]¨a°QÔ7‰
ˆÜ˜ QÕ'Ü˜˜A�  a¥¨uÕ5Ü�3�q•6‹{œc %¨¥(›mÔ+Ð+Ð+Ü˜#˜a�& %¨¥(Ö+‰FˆBÜ˜B¨×/ñ ,à�1�v˜˜q�Ô!Ð!Ð!Ü�xŠxœ˜a›Ó&¬"¯(ª(°1«+Ô5Ð5Ð5ä˜a¨jÔ9‰ˆÜ˜ UÕ+Ø�u‰u˜˜a�Ô Ð Ð Ù�1‹v�|‰|œrŸxšx¨›{Ô*Ð*Ð*äœbŸjšj¨›m¨q¸*ÔE‰ˆÜ˜ UÕ+Ø�u‰u˜˜a�Ô Ð Ð Ù�1‹v�|‰|œrŸxšx¨›{Ô*Ð*Ð*äœ:×&Õ&ÜœŸš A›Ÿ™¨A°zÕB÷ '×&×&Ò&ús   É-I?É?J	c                ó–   € V P                  ^
VR7      w  r#p\        VRR7      w  rV\        V! V4      VP                  V4      RR7       R# )rß  ©rS   rR   rÑ   rx  rY   rt   Nr  r  s   &&     rU   r  Ú.TestMakeSplprepPeriodic.test_default_s_is_zero„  s>   € Ø—-‘- "¨�-Ó,‰ˆˆaä˜a¨Ô4‰ˆÜ™˜A› §¡¨£°%×8rk   c                ó:  € V P                  ^
VR7      w  r#p\        V^ RR7      w  rV\        VRRR7      w  rx\        WhRR7       VP                  V4      p	\        V! V4      V	RR7       \        V! V4      V	RRR	7       VP                  VP                  8X  g   Q hR
# )rß  r3  rÑ   r‚  rÒ   rY   rt   r¹   rÔ  rZ   N)r  r$   r   r‹   r  )
rQ   rR   rw   r�   r4   r�  r!  r"  r#  Úy_arrs
   &&        rU   r$  Ú0TestMakeSplprepPeriodic.test_s_zero_vs_near_zeroŠ  s‡   € à—-‘- "¨�-Ó,‰ˆˆaä! ! q°*Ô=‰
ˆÜ! ! u°jÔA‰
ˆä˜ uÕ-à—‘˜“ˆÜ™˜c›
 E°Õ6Ü™˜c›
 E°¸4Õ@Ø�z‰z˜UŸZ™ZÔ'Ð'Ò'rk   c                óŽ  € \         P                  ! ^ ^\         P                  ,          ^4      p\         P                  ! V4      p\	        \
        4      ;_uu_ 4        \        V^R7       RRR4       \	        \
        4      ;_uu_ 4        \        V^ RR7       RRR4       \	        \
        4      ;_uu_ 4        \        VRRR7       RRR4       \        V.RRR7      w  r#V! V4      P                  R8X  g   Q h\        V! V4      V.RR7       R#   + '       g   i     L­; i  + '       g   i     L’; i  + '       g   i     Lw; i)	r   rÌ  NrÑ   r‚  rç  rY   rt   r'  )
rI   re   rÔ  r®  rE   rG   r   r$   rª   r   )rQ   rw   rF  rI  s   &   rU   r  ÚTestMakeSplprepPeriodic.test_1D˜  sÖ   € Ü�KŠK˜˜1œRŸU™U�7 AÓ&ˆÜ�FŠF�1‹IˆÜœ:×&Õ&Ü�A˜1Õ÷ 'ô œ:×&Õ&Ü˜˜a¨Õ4÷ 'ô œ:×&Õ&Ü˜˜c¨:Õ6÷ 'ô ˜q˜c U°JÔ?‰ˆá�1‹v�|‰|˜vÔ%Ð%Ð%Ü™˜A›  ¨%×0÷ '×&ú÷ '×&ú÷ '×&ús$   ÁDÂD!Â6D4ÄD	Ä!D1	Ä4E	r.  N)r   rÄ  r�  rÔ  r)  r§  s   @rU   r+  r+  D  su   ø‡ € ð ˜q Rô ð
 ‡[�[×Ñ˜SÒ"7Ó8ñ0ó 9ð0ð0 ‡[�[×Ñ˜SÒ"7Ó8ñCó 9ðCò<9ò(÷1ð 1rk   r+  c                   óB   a € ] tR tRt o R tR tR	R ltR tR tRt	V t
R# )
ÚBatchSplineiª  c               óî   € \         P                  ! W#R4      pVP                  RR V n        VP	                  RVP                  R,          4       Uu. uF  qd! W3/ VB NK  	  upV n        W0n        R# u upi )r.   Nr;   )rI   Úmoveaxisrª   Ú_batch_shaper‚   Ú_splinesÚ_axis)rQ   rw   r�   r  r  ÚkwargsÚyis   &&&&$, rU   rk  ÚBatchSpline.__init__¬  se   € Ü�KŠK˜ Ó$ˆØŸG™G C R˜LˆÔØ;<¿9¹9ÀRÈÏÉÐQSÍÔ;UÓVÑ;U°R˜ Ñ0¨Ô0Ñ;UÑVˆŒØŽ
ùò Ws   ÁA2c                ó  € V P                    Uu. uF
  q"! V4      NK  	  pp\        P                  ! W0P                  VP                  ,           4      pVP                  '       d#   \        P
                  ! VRV P                  4      # T# u upi r‘  )r?  rI   r‚   r>  rª   r=  r@  )rQ   rw   r  r�   s   &&  rU   rý  ÚBatchSpline.__call__²  sd   € Ø%)§]¢]Ó3¡]˜6ˆV�AŽY¡]ˆÐ3Ü�JŠJ�q×+Ñ+¨a¯g©gÕ5Ó6ˆØ12··°Œr�{Š{˜1˜b $§*¡*Ó-Ð?¸aÐ?ùò 4s   �BNc                ó    € V P                    Uu. uF  qDP                  WV4      NK  	  pp\        P                  ! WPP                  4      # u upi rý  )r?  r  rI   r‚   r>  )rQ   rï  rT   r€   r  r�   s   &&&&  rU   r  ÚBatchSpline.integrate·  s@   € Ø?C¿}º}ÓM¹}°V×Ñ˜a KÖ0¹}ˆÐMÜ�zŠz˜!×.Ñ.Ó/Ð/ùò Ns   �Ac                óš   € \         P                  ! V 4      pVP                   Uu. uF  q3P                  V4      NK  	  upVn        V# u upi rý  )r*  Údeepcopyr?  r  ©rQ   râ   r(  r  s   &&  rU   r  ÚBatchSpline.derivative»  s>   € Ü�mŠm˜DÓ!ˆØ<?¿LºLÓI¹L°&×)Ñ)¨"Ö-¹LÑIˆŒØˆ
ùò Jó   ¥Ac                óš   € \         P                  ! V 4      pVP                   Uu. uF  q3P                  V4      NK  	  upVn        V# u upi rý  )r*  rI  r?  r  rJ  s   &&  rU   r  ÚBatchSpline.antiderivativeÀ  s>   € Ü�mŠm˜DÓ!ˆØ@CÇÂÓMÁ°f×-Ñ-¨bÖ1ÁÑMˆŒØˆ
ùò NrL  )r@  r>  r?  rý  )r/  r0  r1  r2  rk  rý  r  r  r  r3  r¦  r§  s   @rU   r;  r;  ª  s$   ø‡ € òò@ô
0ò÷
ð rk   r;  c            
       ó  a € ] tR tRt o ]P
                  P                  R]/ 3]/ 3]RR/3]	RR/3]	RR/3.4      ]P
                  P                  R. RO4      ]P
                  P                  R	. RO4      R
 4       4       4       t
RtV tR# )Ú	TestBatchiÆ  zmake_spline, kwargsrÊ  r0   r  r  r  Ú
eval_shaper  c                óà  € \         P                  P                  R 4      p^
p^^^V3pRp\         P                  ! . VOVN5!  p	\         P                  ! VP                  V4      RV4      p
V\
        8X  dK   ^pV	^ ,          3V^,           ,          V	R,          3V^,           ,          ,           pV\        WËR7      ,          pV! Wš3RV/VB p\        Wš3RVRV/VB pVP                  ! VRV/ p	\         P                  P                  V! V	4      V! V	4      4       VP                  ^4      VP                  ^4      rí\         P                  P                  V! V	4      V! V	4      4       VP                  ^4      VP                  ^4      rí\         P                  P                  V! V	4      V! V	4      4       \         P                  P                  VP                  ! V!  VP                  ! V!  4       R# )l   ®UUû{ )r2   r4   r  r  r¥   N)r   rß  r;   )rI   rP   rÆ  re   r=  r   rH   r;  rÇ  ÚtestingÚassert_allcloser  r  r  )rQ   Úmake_splinerA  r  rQ  rœ   rS   rª   Údomainrw   r�   r4   r2   r(  Úrefs   &&&&&          rU   Ú
test_batchÚTestBatch.test_batchÇ  s”  € ô �i‰i×#Ñ#Ð$4Ó5ˆØˆØ�A�q˜!�ˆØˆä�KŠKÐ#˜Ð# Ó#ˆÜ�KŠK˜Ÿ
™
 5Ó)¨2¨tÓ4ˆàœ/Ô)ØˆAØ�1•�˜1˜q�5Õ! Q r¥U H°°AµÕ$6Õ6ˆAØœd QœnÕ,ˆFá˜!Ñ4 TÐ4¨VÑ4ˆÜ˜!ÑH TÐH°+ÐHÀÑHˆà�KŠK˜Ð1 jÑ1ˆÜ
�
‰
×"Ñ"¡3 q£6©3¨q«6Ô2à×%Ñ% aÓ(¨#×*<Ñ*<¸QÓ*?ˆSÜ
�
‰
×"Ñ"¡3 q£6©3¨q«6Ô2à—>‘> !Ó$ c§n¡n°QÓ&7ˆSÜ
�
‰
×"Ñ"¡3 q£6©3¨q«6Ô2ä
�
‰
×"Ñ" 3§=¢=°&Ñ#9¸3¿=º=È&Ñ;QÖRrk   r.  N)r.  ©r.   rÿ  rF  )r/  r0  r1  r2  r`   r¡  r¢  r   r   r   rX  r3  r¦  r§  s   @rU   rP  rP  Æ  s›   ø‡ € Ø‡[�[×ÑÐ2Ø
˜bÐ	!Ø
 Ð	$Ø
 %¨ Ð	.Ø
˜H iÐ0Ð	1Ø
˜H dÐ+Ð	,ð		óð ‡[�[×Ñ˜\Ò+;Ó<Ø‡[�[×Ñ˜V¢ZÓ0ñSó 1ó =óöSrk   rP  r8  rÿ  rZ  )zr³  rì  rõ  r  rÜ  r•  r*  r˜  r¤  ÚnumpyrI   Úscipy._lib._array_apir   r   r   r   r   r   Úscipy._lib.array_api_extraÚ_libÚarray_api_extrarç  r`   r	   rE   r¯  r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rw  r	  r  Úscipy.sparse.linalgÚsparser·  Úscipy.interpolate._bsplinesr   r   r   r   r   rÉ  r    r!   r"   r#   r$   Úscipy.interpolate._fitpack_implrÔ  Ú_fitpack_implr  Úscipy._lib._utilr%   Úscipy._lib._testutilsr&   Úscipy.interpolate._ndbspliner'   r(   rñ  r)   rë  r*   r¡  r   r,   rª  rô  r÷  rŒ   r�   rö   ru   rò   r^   ró  r-  rx  r   r  r¢  rf  r  rh  r„  r{  rˆ  rŠ  r¹  r»  râ  r4  rf  ré  r  r«  ré  r  r   r"  rl  rn  r}  rÄ  rñ  r  r+  r;  rP  r.  rk   rU   Ú<module>rh     s1  ðÛ 	Û Û Û Û Û Û Û Û 
ã ÷÷ ÷ )Ð (Ý *Û ÷÷ ÷ ÷ õ õ
 ß !Ð !÷Eõ E÷ Bç GÑ Gç /Ð /Ý &Ý 9õ 5å 3Ý -Ý &à—;‘;×/Ñ/Ð ñ �7Ó÷_
)ð _
)ó ð_
)ñD �7Ó÷S$ð S$ó ðS$òl6ò,ò$Gò>òð ô ôð$   bô +ò÷$_)ñ _)ñD Ð%Ó&÷`?ð `?ó 'ð`?òFô8ð8 !Ÿ+™+×1Ñ1°(¸YÈÐ<MÓNÐ ñ �?Ó#÷~:ð ~:ó $ð~:÷Bñ ô>)òX	ò÷(nLñ nLòb*ñ
 Ð(Ó)÷J3ð J3ó *ðJ3ò^
òò7÷:"ñ :"ñz �9Ó÷j4ð j4ó ðj4÷ZWGñ WG÷ta ñ a òLò(ñ. �>Ó"÷lð ló #ðlò^÷2,ñ ,÷^Q7ñ Q7ñh �;ÓôR/Ð(ó R/ó  ðR/ñj �;Óô\0Ð0ó \0ó  ð\0ñ~ �<Ó ÷h1ð h1ó !ðh1ñV �<Ó ÷b1ð b1ó !ðb1÷Jñ ÷8$Só $Srk   