code: def blackman_window(
      size: int,
      *,
      periodic: bool = True,
      dtype: Optional[Union[ivy.Dtype, ivy.NativeDtype]] = None,
      out: Optional[ivy.Array] = None,
  ) -> ivy.Array:
      """Generate a Blackman window. The Blackman window is a taper formed by
      using the first three terms of a summation of cosines. It was designed to
      have close to the minimal leakage possible. It is close to optimal, only
      slightly worse than a Kaiser window.
  
      Parameters
      ----------
      window_length
          the window_length of the returned window.
      periodic
          If True, returns a window to be used as periodic function.
          If False, return a symmetric window.
      dtype
          The data type to produce. Must be a floating point type.
      out
          optional output array, for writing the result to.
  
      Returns
      -------
      ret
          The array containing the window.
  
      Examples
      --------
      >>> ivy.blackman_window(4, periodic = True)
      ivy.array([-1.38777878e-17,  3.40000000e-01,  1.00000000e+00,  3.40000000e-01])
      >>> ivy.blackman_window(7, periodic = False)
      ivy.array([-1.38777878e-17,  1.30000000e-01,  6.30000000e-01,  1.00000000e+00,
          6.30000000e-01,  1.30000000e-01, -1.38777878e-17])
      """
      return ivy.current_backend().blackman_window(
          size, periodic=periodic, dtype=dtype, out=out
      )
  
imports: from typing import Union, Tuple, Optional, Sequence, Iterable, Generator
  import warnings
  import ivy
  from ivy.utils.backend import current_backend
  from ivy.utils.exceptions import handle_exceptions
  from ivy.func_wrapper import outputs_to_ivy_arrays, handle_nestable, to_native_arrays_and_back, handle_out_argument, infer_dtype, handle_array_like_without_promotion, inputs_to_ivy_arrays, handle_device, handle_backend_invalid, handle_array_function
label_desc: Use image node_id 14 for calling a global function with example usage: blackman_window(size) and returns: ivy