+
    LV-j8	  ã                   óú   € R t ^ RIt^ RIt^ RIHtHt ^ RIHt R t	R	R lt
]! ]P                  4      ]P                  P                  R. R
O4      ]P                  P                  R. RO4      R 4       4       4       tR# )zTests for spline filtering.N)Úassert_almost_equalÚmake_xp_test_case)Úndimagec                óB   € ^ ^.^^.^^^.^^^.^. RO^. RO/pW,          # )z0Knot values to the right of a B-spline's center.)éæ   éL   é   )éB   é   r   © )ÚorderÚknot_valuess   & Úq/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/ndimage/tests/test_splines.pyÚget_spline_knot_valuesr   
   s>   € à�q�cØ�q�cØ�q˜!�fØ�q˜!�fØ’lØ’kð#€Kð ÕÐó    c                óê  € \        V4      p\        P                  ! W34      p\        V4       FA  w  rg\        P                  ! Wa4      pV^ 8X  d   WuWˆ3&   K)  WuWˆV,
          3&   WuW†,
          V3&   KC  	  V^ ,          ^\        VR,          4      ,          ,           p	VR8X  d   ^^rºM$VR8X  d   ^ ^rºMVR8X  d   RRrºM\        RV 24      h\        \        V4      ^,
          4       Fv  p\        WL^,           R 4       F[  w  r×W\W«V,          ,           3;;,          V,          uu&   W\) ^,
          V
) ^,
          W½,          ,
          3;;,          V,          uu&   K]  	  Kx  	  V P                  WY,          4      # )z1Matrix to invert to find the spline coefficients.:r   NNÚmirrorÚreflectú	grid-wrapzunsupported mode Néÿÿÿÿ)
r   ÚnpÚzerosÚ	enumerateÚarangeÚsumÚ
ValueErrorÚrangeÚlenÚasarray)ÚxpÚnr   Úmoder   ÚmatrixÚdiagÚ
knot_valueÚindicesÚknot_values_sumÚstartÚstepÚrowÚidxs   &&&&          r   Úmake_spline_knot_matrixr+      sT  € ä(¨Ó/€Kô �XŠX�q�fÓ€FÜ% kÖ2ÑˆÜ—)’)˜DÓ$ˆØ�1Œ9Ø'1�7Ð#Ó$à.8�7 d�NÐ*Ñ+Ø.8�7•> 7Ð*Ó+ñ 3ð " !•n q¬3¨{¸2­Ó+?Õ'?Õ?€OàˆxÔØ˜‰tØ	�Ô	Ø˜‰tØ	�Ô	Ø˜"‰täÐ,¨T¨FÐ3Ó4Ð4ä”S˜Ó%¨Õ)Ö*ˆÜ(¨¸1µW°XÐ)>Ö?‰OˆCØ˜ S¥Õ(Ð(×)¨ZÕ7Ó)Ø�4˜!•8˜e˜V a�Z¨$­(Õ2Ð2×3°zÕAÕ3ó  @ñ +ð
 �:‰:�fÕ.Ó/Ð/r   r   r!   c                 ó   € ^dpVP                  W2P                  R7      p\        P                  ! V^ V VR7      p\        P                  ! V^V VR7      p\	        W#WR7      p\        WEV,          4       \        WFVP                  ,          4       R# )éd   )Údtype)Úaxisr   r!   )r!   N)ÚeyeÚfloat64r   Úspline_filter1dr+   r   ÚT)r   r!   r   r    r0   Úspline_filter_axis_0Úspline_filter_axis_1r"   s   &&&     r   Ú%test_spline_filter_vs_matrix_solutionr6   8   s{   € ð 	€AØ
�&‰&�Ÿ*™*ˆ&Ó
%€CÜ"×2Ò2°3¸QÀeØ8<ô>Ðä"×2Ò2°3¸QÀeØ8<ô>Ðä$ R¨EÔ=€FÜ˜°FÕ:Ô;Ü˜°F·H±HÕ<Ö=r   )r   )é    r   é   é   é   é   )r   r   r   )Ú__doc__ÚpytestÚnumpyr   Úscipy._lib._array_apir   r   Úscipyr   r   r+   r2   ÚmarkÚparametrizer6   r   r   r   Ú<module>rC      ss   ðÙ !Û ã ß Hå ò	ô0ñD �7×*Ñ*Ó+Ø‡�×Ñ˜Ò"4Ó5Ø‡�×Ñ˜Ò!CÓDñ	>ó Eó 6ó ,ò	>r   