Spec-Zone.ru › NumPy 1.14

C-типы внешнего интерфейса функций (numpy.ctypeslib)

numpy.ctypeslib.as_array(obj, shape=None) [source]

Создать массив NumPy из массива ctypes или указателя ctypes. Массив NumPy разделяет память с объектом ctypes.

Параметр size должен быть задан при преобразовании из указателя ctypes. Параметр size игнорируется при преобразовании из массива ctypes.

numpy.ctypeslib.as_ctypes(obj) [source]

Создать и вернуть объект ctypes из массива NumPy. На самом деле принимается всё, что экспонирует __array_interface__.

numpy.ctypeslib.ctypes_load_library(*args, **kwds) [source]

ctypes_load_library устарел, используйте load_library вместо него!

Загрузить библиотеку можно, используя >>> lib = ctypes.cdll[<полный_путь_к_файлу>]

Однако существуют платформенные особенности, такие как расширения файлов библиотек, а также тот факт, что Windows загрузит первую библиотеку, найденную с таким именем. NumPy предоставляет функцию load_library для удобства.

Параметры:

libname : str

Имя библиотеки, которое может иметь префикс 'lib', но без расширения.

loader_path : str

Местоположение библиотеки.

Возвращает:

ctypes.cdll[libpath] : объект библиотеки

Объект библиотеки ctypes

Возможные исключения:

OSError

Если библиотека с ожидаемым расширением отсутствует или библиотека повреждена и не может быть загружена.

numpy.ctypeslib.load_library(libname, loader_path) [source]

Загрузить библиотеку можно, используя >>> lib = ctypes.cdll[<полный_путь_к_файлу>]

Однако существуют платформенные особенности, такие как расширения файлов библиотек, а также тот факт, что Windows загрузит первую библиотеку, найденную с таким именем. NumPy предоставляет функцию load_library для удобства.

Параметры:

libname : str

Имя библиотеки, которое может иметь префикс 'lib', но без расширения.

loader_path : str

Местоположение библиотеки.

Возвращает:

ctypes.cdll[libpath] : объект библиотеки

Объект библиотеки ctypes

Возможные исключения:

OSError

Если библиотека с ожидаемым расширением отсутствует или библиотека повреждена и не может быть загружена.

numpy.ctypeslib.ndpointer(dtype=None, ndim=None, shape=None, flags=None) [source]

Проверка массивов в restype/argtypes.

Объект ndpointer используется для описания ndarray в спецификациях restypes и argtypes. Этот подход более гибкий, чем использование, например, POINTER(c_double), так как можно указать несколько ограничений, которые проверяются при вызове функции ctypes. Это включает в себя тип данных, количество измерений, форму и флаги. Если заданный массив не соответствует указанным ограничениям, генерируется TypeError.

Параметры:

dtype : тип данных, необязательно

Тип данных массива.

ndim : int, необязательно

Количество измерений массива.

shape : кортеж целых чисел, необязательно

Форма массива.

flags : строка или кортеж строк

Флаги массива; могут быть одним или несколькими из следующих:

  • C_CONTIGUOUS / C / CONTIGUOUS
  • F_CONTIGUOUS / F / FORTRAN
  • OWNDATA / O
  • WRITEABLE / W
  • ALIGNED / A
  • WRITEBACKIFCOPY / X
  • UPDATEIFCOPY / U
Возвращает:

klass : тип объекта ndpointer

Объект типа, который является _ndtpr объектом, содержащим информацию о dtype, ndim, shape и flags.

Возможные исключения:

TypeError

Если заданный массив не соответствует указанным ограничениям.

Примеры

>>> clib.somefunc.argtypes = [np.ctypeslib.ndpointer(dtype=np.float64,
...                                                  ndim=1,
...                                                  flags='C_CONTIGUOUS')]
... 
>>> clib.somefunc(np.array([1, 2, 3], dtype=np.float64))
... 

© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.14.5/reference/routines.ctypeslib.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API