code: def _input_fill_and_dtype(draw):
      dtype = draw(helpers.get_dtypes("float", full=False))
      with BackendHandler.update_backend(
          test_globals.CURRENT_BACKEND
      ) as ivy_backend:
          dtype_and_input = draw(helpers.dtype_and_values(dtype=dtype))
          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(st.floats(min_value=-5, max_value=5))
          dtype_to_cast = draw(helpers.get_dtypes("float", full=False))
          return (
              dtype,
              dtype_and_input[1],
              fill_values,
              dtype_to_cast[0],
          )
  
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