code: def _partial_tucker_data(draw):
      x_dtype, x, shape = draw(
          helpers.dtype_and_values(
              available_dtypes=helpers.get_dtypes("float"),
              min_num_dims=2,
              max_num_dims=5,
              min_dim_size=2,
              max_dim_size=5,
              min_value=0.1,
              max_value=10.0,
              ret_shape=True,
          )
      )
      dims = len(shape)
      rank = []
      for i in range(dims):
          rank.append(
              draw(helpers.ints(min_value=1, max_value=shape[i]))
          )
      n_modes = draw(helpers.ints(min_value=2, max_value=dims))
      modes = [*range(dims)][:n_modes]
      mask_dtype, mask = draw(
          helpers.dtype_and_values(
              dtype=["int32"],
              shape=shape,
              min_value=0,
              max_value=1,
          )
      )
      svd_mask_repeats = draw(helpers.ints(min_value=0, max_value=3))
      n_iter_max = draw(helpers.ints(min_value=1, max_value=7))
      tol = draw(helpers.floats(min_value=1e-5, max_value=1e-1))
      return (
          x_dtype + mask_dtype,
          x[0],
          rank,
          modes,
          n_iter_max,
          mask[0],
          svd_mask_repeats,
          tol,
      )
  
imports: import math
  from hypothesis import strategies
  from hypothesis import assume
  import numpy
  import pytest
  import itertools
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers import handle_test, BackendHandler
  import ivy
label_desc: Use image node_id 16 for calling a global function with example usage: _partial_tucker_data(draw) and returns: unknown,  x,  rank,  modes,  n_iter_max,  mask,  svd_mask_repeats,  tol