code: def embedding_helper(draw, mixed_fn_compos=True):
      """Obtain weights for embeddings, the corresponding indices, the padding
      indices.
  
      Parameters
      ----------
      draw
          special function that draws data randomly (but is reproducible) from a given
          data-set (ex. list).
  
      Returns
      -------
          A strategy for generating a tuple
      """
      dtype_weight, weight = draw(
          array_helpers.dtype_and_values(
              available_dtypes=[
                  x
                  for x in draw(
                      dtype_helpers.get_dtypes(
                          "numeric", mixed_fn_compos=mixed_fn_compos
                      )
                  )
                  if "float" in x or "complex" in x
              ],
              min_num_dims=2,
              max_num_dims=2,
              min_dim_size=1,
              min_value=-1e04,
              max_value=1e04,
          )
      )
      num_embeddings, embedding_dim = weight[0].shape
      dtype_indices, indices = draw(
          array_helpers.dtype_and_values(
              available_dtypes=["int32", "int64"],
              min_num_dims=2,
              min_dim_size=1,
              min_value=0,
              max_value=num_embeddings - 1,
          ).filter(lambda x: x[1][0].shape[-1] == embedding_dim)
      )
      padding_idx = draw(
          st.integers(min_value=0, max_value=num_embeddings - 1)
      )
      return (
          dtype_indices + dtype_weight,
          indices[0],
          weight[0],
          padding_idx,
      )
  
imports: from hypothesis import assume, strategies
  from typing import Tuple
  from functools import lru_cache
  import math
  import numpy
  import ivy
  from .None import array_helpers, number_helpers, dtype_helpers
  from ..pipeline_helper import WithBackendContext
  from ivy.functional.ivy.layers import _deconv_length
  from ..globals import mod_backend
label_desc: Use image node_id 14 for calling a global function with example usage: embedding_helper(draw, mixed_fn_compos) and returns: unknown,  indices,  weight,  padding_idx