numpy.ctypeslib.as_array(obj, shape=None)
[source]
Create a numpy array from a ctypes array or POINTER.
The numpy array shares the memory with the ctypes object.
The shape parameter must be given if converting from a ctypes POINTER. The shape parameter is ignored if converting from a ctypes array
numpy.ctypeslib.as_ctypes(obj)
[source]
Create and return a ctypes object from a numpy array. Actually anything that exposes the __array_interface__ is accepted.
numpy.ctypeslib.as_ctypes_type(dtype)
[source]
Convert a dtype into a ctypes type.
Parameters: |
|
---|---|
Returns: |
|
Raises: |
|
This function does not losslessly round-trip in either direction.
np.dtype(as_ctypes_type(dt))
will:
as_ctypes_type(np.dtype(ctype))
will:
ctypes.Structure
s and ctypes.Union
sctypes.Union
s into single-element ctypes.Structure
snumpy.ctypeslib.ctypes_load_library(*args, **kwds)
[source]
ctypes_load_library
is deprecated, use load_library
instead!
It is possible to load a library using >>> lib = ctypes.cdll[<full_path_name>] # doctest: +SKIP
But there are cross-platform considerations, such as library file extensions, plus the fact Windows will just load the first library it finds with that name. NumPy supplies the load_library function as a convenience.
Parameters: |
|
---|---|
Returns: |
|
Raises: |
|
numpy.ctypeslib.load_library(libname, loader_path)
[source]
It is possible to load a library using >>> lib = ctypes.cdll[<full_path_name>] # doctest: +SKIP
But there are cross-platform considerations, such as library file extensions, plus the fact Windows will just load the first library it finds with that name. NumPy supplies the load_library function as a convenience.
Parameters: |
|
---|---|
Returns: |
|
Raises: |
|
numpy.ctypeslib.ndpointer(dtype=None, ndim=None, shape=None, flags=None)
[source]
Array-checking restype/argtypes.
An ndpointer instance is used to describe an ndarray in restypes and argtypes specifications. This approach is more flexible than using, for example, POINTER(c_double)
, since several restrictions can be specified, which are verified upon calling the ctypes function. These include data type, number of dimensions, shape and flags. If a given array does not satisfy the specified restrictions, a TypeError
is raised.
Parameters: |
|
---|---|
Returns: |
|
Raises: |
|
>>> clib.somefunc.argtypes = [np.ctypeslib.ndpointer(dtype=np.float64, ... ndim=1, ... flags='C_CONTIGUOUS')] ... #doctest: +SKIP >>> clib.somefunc(np.array([1, 2, 3], dtype=np.float64)) ... #doctest: +SKIP
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.17.0/reference/routines.ctypeslib.html