code: def data(fp, index, shape=(3, 5), scalar=False) -> np.ndarray:
      if not scalar:
          if fp == "f64":
              return np.random.random(shape).astype(np.float64) - 0.5
          if fp == "f32":
              return np.random.random(shape).astype(np.float32) - 0.5
          if fp == "i64":
              return np.random.randint(
                  low=2147483648,
                  high=2147483648000,
                  size=shape,
                  dtype=np.int64,
              )
          if fp == "i32":
              return np.random.randint(
                  low=-100, high=100, size=shape, dtype=np.int32
              )
      else:
          if fp == "f64":
              return np.random.random(1).astype(np.float64)[0] - 0.5
          if fp == "f32":
              return np.random.random(1).astype(np.float32)[0] - 0.5
          if fp == "i64":
              return np.random.randint(
                  low=2147483648,
                  high=2147483648000,
                  size=1,
                  dtype=np.int64,
              )[0]
          if fp == "i32":
              return np.random.randint(
                  low=-100, high=100, size=1, dtype=np.int32
              )[0]
  
imports: import importlib
  import operator
  import cachetools
  import numpy
  import pytest
  import pickle
label_desc: Use image node_id 3 for calling a global function with example usage: data(fp, index, shape, scalar) and returns: unknown, unknown, np, np, unknown, unknown, np, np