Настройка системы
При построении NumPy информация о настройке системы записывается и становится доступной для модулей расширения с помощью C API NumPy. Они в основном определены в numpyconfig.h (включены в ndarrayobject.h). Публичные символы имеют префикс NPY_*. NumPy также предлагает некоторые функции для запроса информации о используемой платформе.
Для внутреннего использования NumPy также строит config.h в каталоге заголовков NumPy, который не экспортируется NumPy (то есть, расширения Python, использующие C API NumPy, не увидят эти символы), чтобы избежать загрязнения пространства имён.
Размеры типов данных
Константы NPY_SIZEOF_{CTYPE} определены таким образом, чтобы информация о sizeof была доступна препроцессору.
-
NPY_SIZEOF_SHORT -
sizeof(short)
-
NPY_SIZEOF_INT -
sizeof(int)
-
NPY_SIZEOF_LONG -
sizeof(long)
-
NPY_SIZEOF_LONGLONG -
sizeof(longlong), где longlong определено соответствующим образом на платформе.
-
NPY_SIZEOF_PY_LONG_LONG
-
NPY_SIZEOF_FLOAT -
sizeof(float)
-
NPY_SIZEOF_DOUBLE -
sizeof(double)
-
NPY_SIZEOF_LONG_DOUBLE
-
NPY_SIZEOF_LONGDOUBLE -
sizeof(longdouble)
-
NPY_SIZEOF_PY_INTPTR_T
-
NPY_SIZEOF_INTP -
Размер указателя на этой платформе (sizeof(void *))
Информация о платформе
-
NPY_CPU_X86
-
NPY_CPU_AMD64
-
NPY_CPU_IA64
-
NPY_CPU_PPC
-
NPY_CPU_PPC64
-
NPY_CPU_SPARC
-
NPY_CPU_SPARC64
-
NPY_CPU_S390
-
NPY_CPU_PARISC -
Новое в версии 1.3.0.
Архитектура процессора платформы; определен только один из вышеперечисленных.
Определено в
numpy/npy_cpu.h
-
NPY_LITTLE_ENDIAN
-
NPY_BIG_ENDIAN
-
NPY_BYTE_ORDER -
Новое в версии 1.3.0.
Переносимые альтернативы макросам
endian.hиз GNU Libc. Если используется big endian,NPY_BYTE_ORDER==NPY_BIG_ENDIAN, и аналогично для архитектур little endian.Определено в
numpy/npy_endian.h.
-
int PyArray_GetEndianness() -
Новое в версии 1.3.0.
Возвращает порядок байтов текущей платформы. Один из
NPY_CPU_BIG,NPY_CPU_LITTLEилиNPY_CPU_UNKNOWN_ENDIAN.-
NPY_CPU_BIG
-
NPY_CPU_LITTLE
-
NPY_CPU_UNKNOWN_ENDIAN
-
Директивы компилятора
-
NPY_LIKELY
-
NPY_UNLIKELY
-
NPY_UNUSED
Обработка прерываний
-
NPY_INTERRUPT_H
-
NPY_SIGSETJMP
-
NPY_SIGLONGJMP
-
NPY_SIGJMP_BUF
-
NPY_SIGINT_ON
-
NPY_SIGINT_OFF
© 2005–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/c-api/config.html