class_docstr: Smoke tests (with a few asserts) for fitpack routines -- mostly
  check that they are runnable
class_docstr_tok: ["Smoke","tests","(","with","a","few","asserts",")","for","fitpack","routines","--","mostly","check","that","they","are","runnable"]
code: def test_smoke_splprep_splrep_splev(self, N, k):
      a, b, dx = 0, 2.0 * np.pi, 0.2 * np.pi
      x = np.linspace(a, b, N + 1)  # nodes
      v = np.sin(x)
  
      tckp, u = splprep([x, v], s=0, per=0, k=k, nest=-1)
      uv = splev(dx, tckp)
      err1 = abs(uv[1] - np.sin(uv[0]))
      assert err1 < 1e-2
  
      tck = splrep(x, v, s=0, per=0, k=k)
      err2 = abs(splev(uv[0], tck) - np.sin(uv[0]))
      assert err2 < 1e-2
  
      # Derivatives of parametric cubic spline at u (first function)
      if k == 3:
          tckp, u = splprep([x, v], s=0, per=0, k=k, nest=-1)
          for d in range(1, k + 1):
              uv = splev(dx, tckp, d)
  
imports: import itertools
  import os
  import numpy
  from numpy.testing import assert_equal, assert_allclose, assert_, assert_almost_equal, assert_array_almost_equal
  from pytest import raises
  import pytest
  from scipy._lib._testutils import check_free_memory
  from scipy.interpolate import RectBivariateSpline
  from scipy.interpolate._fitpack_py import splrep, splev, bisplrep, bisplev, sproot, splprep, splint, spalde, splder, splantider, insert, dblint
  from scipy.interpolate.dfitpack import regrid_smth
  from scipy.interpolate._fitpack2 import dfitpack_int
label_desc: Use image node_id 8 for calling the TestSmokeTests obj's underlying member method code with example usage: obj.test_smoke_splprep_splrep_splev(N, k) without return types