Return an ndarray of the provided type that satisfies requirements.
This function is useful to be sure that an array with the correct flags is returned for passing to compiled code (perhaps through ctypes).
a : array_like
dtype : data-type
requirements : list of strings
The returned array will be guaranteed to have the listed requirements by making a copy if needed.