class_docstr: Implementation of the HopSkipJump attack from Jianbo et al. (2019). This is a powerful black-box attack that
  only requires final class prediction, and is an advanced version of the boundary attack.
  
  | Paper link: https://arxiv.org/abs/1904.02144
docstr: Interpolate a new sample based on the original and the current samples.
  
  :param current_sample: Current adversarial example.
  :param original_sample: The original input.
  :param alpha: The coefficient of interpolation.
  :param norm: Order of the norm. Possible values: "inf", np.inf or 2.
  :return: An adversarial example.
docstr_tok: ["Interpolate","a","new","sample","based","on","the","original","and","the","current","samples",".",":","param","current_sample",":","Current","adversarial","example",".",":","param","original_sample",":","The","original","input",".",":","param","alpha",":","The","coefficient","of","interpolation",".",":","param","norm",":","Order","of","the","norm",".","Possible","values",":","``","inf","''",",","np.inf","or","2.",":","return",":","An","adversarial","example","."]
code: def _interpolate(
      current_sample: np.ndarray,
      original_sample: np.ndarray,
      alpha: float,
      norm: Union[int, float, str],
  ) -> np.ndarray:
      """
      Interpolate a new sample based on the original and the current samples.
  
      :param current_sample: Current adversarial example.
      :param original_sample: The original input.
      :param alpha: The coefficient of interpolation.
      :param norm: Order of the norm. Possible values: "inf", np.inf or 2.
      :return: An adversarial example.
      """
      if norm == 2:
          result = (
              1 - alpha
          ) * original_sample + alpha * current_sample
      else:
          result = np.clip(
              current_sample,
              original_sample - alpha,
              original_sample + alpha,
          )
  
      return result
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import logging
  from typing import Optional, Tuple, Union, TYPE_CHECKING
  import numpy
  from tqdm.auto import tqdm
  from art.config import ART_NUMPY_DTYPE
  from art.attacks.attack import EvasionAttack
  from art.estimators.estimator import BaseEstimator
  from art.estimators.classification import ClassifierMixin
  from art.utils import compute_success, to_categorical, check_and_transform_label_format, get_labels_np_array
label_desc: Use image node_id 10 for calling the HopSkipJump obj's underlying member method code with example usage: obj._interpolate(current_sample, original_sample, alpha, norm) and returns: result