code: def _get_range_for_grid(draw):
      start = draw(st.booleans())
      step = draw(st.booleans())
      if start:
          start = draw(helpers.ints(min_value=-25, max_value=25))
          stop = draw(st.booleans())
          if stop:
              stop = draw(helpers.ints(min_value=30, max_value=100))
          else:
              stop = None
      else:
          start = None
          stop = draw(helpers.ints(min_value=30, max_value=100))
      if step:
          step = draw(helpers.ints(min_value=1, max_value=5))
          return start, stop, step
      return start, stop, None
  
file_path: ivy/ivy_tests/test_ivy/test_frontends/test_numpy/test_creation_routines/test_numerical_ranges.py
imports: from numpy import mgrid, ogrid
  from hypothesis import strategies
  import ivy
  from ivy.functional.frontends.numpy import mgrid, ogrid
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers import handle_frontend_test, handle_frontend_method
label_desc: Use image node_id 2 for calling a global function with example usage: _get_range_for_grid(draw) and returns: start,  stop,  None, start,  stop,  step