Spec-Zone.ru › NumPy 1.20

NumPy C-API

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

Расширения 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
  • Устаревшие API C
    • Предыстория
    • Механизм устаревания NPY_NO_DEPRECATED_API

© 2005–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/c-api/index.html

Spec-Zone.ru

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