code: def generalized_normal(key, p, shape=(), dtype="float64"):
      seed = _get_seed(key)
      g = ivy.gamma(1 / p, 1.0, shape=shape, dtype=dtype, seed=seed)
      b = ivy.bernoulli(
          ivy.array([0.5]), shape=shape, dtype=dtype, seed=seed
      )
      r = 2 * b - 1
      return r * g ** (1 / p)
  
imports: import operator
  import ivy
  from ivy.func_wrapper import with_unsupported_dtypes, with_supported_dtypes
  from ivy.functional.frontends.jax.func_wrapper import to_ivy_arrays_and_back, handle_jax_dtype
label_desc: Use image node_id 14 for calling a global function with example usage: generalized_normal(key, p, shape, dtype) and returns: unknown