code: def _randint_check_dtype_and_bound(low, high, dtype):
      ivy.utils.assertions.check_all_or_any_fn(
          low,
          high,
          dtype,
          fn=ivy.is_uint_dtype,
          type="any",
          limit=[0],
          message="randint cannot take arguments of type uint",
      )
      ivy.utils.assertions.check_all_or_any_fn(
          low,
          high,
          dtype,
          fn=ivy.is_float_dtype,
          type="any",
          limit=[0],
          message="randint cannot take arguments of type float",
      )
      ivy.utils.assertions.check_less(low, high)
  
file_path: ivy/ivy/functional/ivy/random.py
imports: from typing import Optional, Union
  import ivy
  from ivy.func_wrapper import handle_array_function, infer_dtype, handle_out_argument, to_native_arrays_and_back, inputs_to_native_shapes, handle_nestable, handle_device, handle_backend_invalid
  from ivy.utils.backend import backend_stack
  from ivy.utils.exceptions import handle_exceptions
label_desc: Use image node_id 2 for calling a global function with example usage: _randint_check_dtype_and_bound(low, high, dtype) without return types