code: def cond_data_gen_helper(draw):
      dtype_x = helpers.dtype_and_values(
          available_dtypes=["float32", "float64"],
          shape=helpers.ints(min_value=2, max_value=5).map(
              lambda x: (x, x)
          ),
          max_value=10,
          min_value=-10,
          allow_nan=False,
          shared_dtype=True,
      ).filter(
          lambda x: np.linalg.cond(x[1][0].tolist())
          < 1 / sys.float_info.epsilon
      )
      p = draw(
          st.sampled_from(
              [
                  None,
                  2,
                  -2,
                  1,
                  -1,
                  "fro",
                  "nuc",
                  float("inf"),
                  -float("inf"),
              ]
          )
      )
      dtype, x = draw(dtype_x)
      return dtype, (x[0], p)
  
imports: import numpy
  import hypothesis.extra.numpy
  from hypothesis import strategies
  from hypothesis.internal.floats import float_of
  from functools import reduce
  from operator import mul
  import sys
  import string
  import ml_dtypes
  import ivy_tests.test_ivy.helpers.globals
  from ..pipeline_helper import WithBackendContext
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers.hypothesis_helpers.dtype_helpers import get_dtypes
  from .None import general_helpers
  from .None import dtype_helpers, number_helpers
  from ..globals import mod_backend
label_desc: Use image node_id 21 for calling a global function with example usage: cond_data_gen_helper(draw) and returns: dtype,  x,  p