code: def process_split_ratio(ratio):
      """Generate split ratio lists.
  
      Args:
          ratio (float or list): a float number that indicates split ratio or a list of float
          numbers that indicate split ratios (if it is a multi-split).
  
      Returns:
          tuple:
          - bool: A boolean variable multi that indicates if the splitting is multi or single.
          - list: A list of normalized split ratios.
      """
      if isinstance(ratio, float):
          if ratio <= 0 or ratio >= 1:
              raise ValueError("Split ratio has to be between 0 and 1")
  
          multi = False
      elif isinstance(ratio, list):
          if any([x <= 0 for x in ratio]):
              raise ValueError(
                  "All split ratios in the ratio list should be larger than 0."
              )
  
          # normalize split ratios if they are not summed to 1
          if math.fsum(ratio) != 1.0:
              ratio = [x / math.fsum(ratio) for x in ratio]
  
          multi = True
      else:
          raise TypeError(
              "Split ratio should be either float or a list of floats."
          )
  
      return multi, ratio
  
file_path: recommenders/recommenders/datasets/split_utils.py
imports: import numpy
  import math
  import logging
  from recommenders.utils.constants import DEFAULT_ITEM_COL, DEFAULT_USER_COL
label_desc: Use image node_id 1 for calling a global function with example usage: process_split_ratio(ratio) and returns: multi,  ratio