code: def _input_fill_and_dtype(draw):
      dtype = draw(helpers.get_dtypes("float", full=False))
      dtype_and_input = draw(helpers.dtype_and_values(dtype=dtype))
      with BackendHandler.update_backend(
          test_globals.CURRENT_BACKEND
      ) as ivy_backend:
          if ivy_backend.is_uint_dtype(dtype[0]):
              fill_values = draw(st.integers(min_value=0, max_value=5))
          elif ivy_backend.is_int_dtype(dtype[0]):
              fill_values = draw(st.integers(min_value=-5, max_value=5))
          else:
              fill_values = draw(
                  helpers.floats(
                      min_value=-5,
                      max_value=5,
                      large_abs_safety_factor=10,
                      small_abs_safety_factor=10,
                      safety_factor_scale="log",
                  )
              )
          dtype_to_cast = draw(helpers.get_dtypes("float", full=False))
      return dtype, dtype_and_input[1], fill_values, dtype_to_cast[0]
  
file_path: ivy/ivy_tests/test_ivy/test_frontends/test_numpy/test_creation_routines/test_from_shape_or_value.py
imports: from hypothesis import strategies
  import ivy_tests.test_ivy.helpers
  import ivy_tests.test_ivy.helpers.globals
  from ivy_tests.test_ivy.helpers import handle_frontend_test, BackendHandler
label_desc: Use image node_id 1 for calling a global function with example usage: _input_fill_and_dtype(draw) and returns: dtype,  dtype_and_input,  fill_values,  dtype_to_cast