code: def _idst(
      x,
      type=2,
      n=None,
      axis=-1,
      norm=None,
      overwrite_x=False,
      planner_effort=None,
      threads=None,
      auto_align_input=True,
      auto_contiguous=True,
  ):
      """
      Private function used for the 1D inverse discrete cosine transforms.
  
      It's used by both the `scipy_fftpack` and the `scipy_fft`
      interfaces, which expose public wrappers of this function.
  
      """
      inverse_type = _swap_type_direction(type)
      new_norm = _swap_norm_direction(norm)
  
      planner_effort = _default_effort(planner_effort)
      threads = _default_threads(threads)
  
      return _dst(
          x,
          n=n,
          axis=axis,
          norm=new_norm,
          overwrite_x=overwrite_x,
          type=inverse_type,
          planner_effort=planner_effort,
          threads=threads,
          auto_align_input=auto_align_input,
          auto_contiguous=auto_contiguous,
      )
  
imports: import itertools
  import math
  from numbers import Number
  import operator
  from .None import numpy_fft
  from ..builders._utils import _default_effort, _default_threads, _cook_nd_args
  from ._utils import _Xfftn
  import numpy
  from scipy.fftpack import diff, tilbert, itilbert, hilbert, ihilbert, cs_diff, sc_diff, ss_diff, cc_diff, shift, fftshift, ifftshift, fftfreq, rfftfreq, convolve
  from ..pyfftw import next_fast_len
label_desc: Use image node_id 19 for calling a global function with example usage: _idst(x, type, n, axis, norm, overwrite_x, planner_effort, threads, auto_align_input, auto_contiguous) and returns: _dst