Spec-Zone.ru › NumPy 1.11

Numpy C-API

Опасайтесь человека, которого не заботят детали.
— Уильям Фезер, старший
Правда где-то есть.
— Крис Картер, «Секретные материалы»

NumPy предоставляет C-API, чтобы пользователи могли расширять систему и получать доступ к объекту массива для использования в других процедурах. Лучший способ по-настоящему понять C-API — это прочитать исходный код. Однако, если вы не знакомы с (C) исходным кодом, это может быть пугающим опытом на первых порах. Будьте уверены, что задача становится проще с практикой, и вы можете удивиться, насколько простым может быть понимание C-кода. Даже если вы не считаете, что можете написать C-код с нуля, намного проще понять и изменить уже написанный исходный код, чем создать его de novo.

Расширения Python особенно просты для понимания, потому что у них все очень похожая структура. Нужно признать, что NumPy — это не тривиальное расширение Python и может потребовать немного большего исследования, чтобы его понять. Это особенно верно из-за методов генерации кода, которые упрощают поддержку очень похожего кода, но могут сделать код несколько менее понятным для начинающих. Однако, при некоторой настойчивости, код можно понять. Надеюсь, это руководство по C-API поможет в процессе ознакомления с работой на уровне компиляции, которую можно выполнить с NumPy, чтобы выжать последнюю каплю необходимой скорости из вашего кода.

  • Типы Python и C-структуры
    • Определены новые типы Python
    • Другие C-структуры
  • Настройка системы
    • Размеры типов данных
    • Информация о платформе
  • API типов данных
    • Перечисленные типы
    • Определения
    • Имена C-типов
    • Форматирование Printf
  • API массивов
    • Структура массива и доступ к данным
    • Создание массивов
    • Работа с типами
    • Флаги массива
    • Альтернативный API метода массива
    • Функции
    • Дополнительные данные со смыслом объекта
    • Итераторы массивов
    • Вещание (многоитераторы)
    • Итератор окрестностей
    • Скаляры массивов
    • Дескрипторы типов данных
    • Утилиты преобразования
    • Разное
  • API итератора массивов
    • Итератор массивов
    • Пример простой итерации
    • Пример простой многократной итерации
    • Типы данных итератора
    • Создание и уничтожение
    • Функции для итерации
    • Преобразование из предыдущих итераторов NumPy
  • API UFunc
    • Константы
    • Макросы
    • Функции
    • Общие функции
    • Импорт API
  • API обобщенных универсальных функций
    • Определения
    • Подробности подписи
    • C-API для реализации элементарных функций
  • Ядра NumPy
    • Библиотека математических ядер NumPy
  • Устаревшие элементы C API
    • Обзор
    • Механизм устаревания NPY_NO_DEPRECATED_API

© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.11.0/reference/c-api.html

Spec-Zone.ru

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