code: def _get_min_max(
      self,
      min_replace,  # type: Union[int, float]
      max_replace,  # type: Union[int, float]
      hard_maximum,  # type: int
  ):
      # type: (...) -> Tuple[int, int]
      if isinstance(min_replace, float):
          min_replace = int(math.floor(hard_maximum * min_replace)) or 1
      if isinstance(max_replace, float):
          max_replace = int(math.ceil(hard_maximum * max_replace))
      else:
          max_replace = min(max_replace, hard_maximum)
      return min_replace, max_replace
  
imports: from __future__ import absolute_import
  import re
  import math
  from typing import List, Tuple, Union, Optional
  import numpy
  from sklearn.utils import check_random_state
  from eli5.utils import indices_to_bool_mask, vstack
label_desc: Use image node_id 4 for calling the TokenizedText obj's underlying member method code with example usage: obj._get_min_max(min_replace, max_replace, hard_maximum) and returns: min_replace,  max_replace