code: def _aligned_zeros(shape, dtype=float, order="C", align=None):
      """Allocate a new ndarray with aligned memory.
  
      Primary use case for this currently is working around a f2py issue
      in NumPy 1.9.1, where dtype.alignment is such that np.zeros() does
      not necessarily create arrays aligned up to it.
  
      """
      dtype = np.dtype(dtype)
      if align is None:
          align = dtype.alignment
      if not hasattr(shape, "__len__"):
          shape = (shape,)
      size = functools.reduce(operator.mul, shape) * dtype.itemsize
      buf = np.empty(size + align + 1, np.uint8)
      offset = buf.__array_interface__["data"][0] % align
      if offset != 0:
          offset = align - offset
      # Note: slices producing 0-size arrays do not necessarily change
      # data pointer --- so we use and allocate size+1
      buf = buf[offset : offset + size + 1][:-1]
      data = np.ndarray(shape, dtype, buf, order=order)
      data.fill(0)
      return data
  
imports: from contextlib import contextmanager
  import functools
  import operator
  import sys
  import warnings
  import numbers
  from collections import namedtuple
  import inspect
  import math
  from typing import Optional, Union, TYPE_CHECKING, TypeVar
  import numpy
label_desc: Use image node_id 3 for calling a global function with example usage: _aligned_zeros(shape, dtype, order, align) and returns: data