code: def fftw_dst_ref(type, size, dt, reference_data):
      x = np.linspace(0, size - 1, size).astype(dt)
      dt = np.result_type(np.float32, dt)
      if dt == np.float64:
          data = reference_data["FFTWDATA_DOUBLE"]
      elif dt == np.float32:
          data = reference_data["FFTWDATA_SINGLE"]
      elif dt == np.longdouble:
          data = reference_data["FFTWDATA_LONGDOUBLE"]
      else:
          raise ValueError()
      y = (data["dst_%d_%d" % (type, size)]).astype(dt)
      return x, y, dt
  
imports: from os.path import join, dirname
  from typing import Callable, Union
  import numpy
  from numpy.testing import assert_array_almost_equal, assert_equal, assert_allclose
  import pytest
  from pytest import raises
  from scipy.fft._pocketfft.realtransforms import dct, idct, dst, idst, dctn, idctn, dstn, idstn
label_desc: Use image node_id 7 for calling a global function with example usage: fftw_dst_ref(type, size, dt, reference_data) and returns: x,  y,  dt