code: def _get_typename(dtype):
      typename = get_typename(dtype)
      if cupy.dtype(dtype).kind == "c":
          typename = "thrust::" + typename
      elif typename == "float16":
          if runtime.is_hip:
              # 'half' in name_expressions weirdly raises
              # HIPRTC_ERROR_NAME_EXPRESSION_NOT_VALID in getLoweredName() on
              # ROCm
              typename = "__half"
          else:
              typename = "half"
      return typename
  
file_path: cupy/cupyx/scipy/signal/_waveforms.py
imports: import cupy
  from cupy._core._scalar import get_typename
  from cupy_backends.cuda.api import runtime
  import numpy
label_desc: Use image node_id 1 for calling a global function with example usage: _get_typename(dtype) and returns: typename