Настройка системы
При создании 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.hGNU Libc. Если big endian,NPY_BYTE_ORDER==NPY_BIG_ENDIAN, и аналогично для little endian архитектур.Определено в
numpy/npy_endian.h.
- intPyArray_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_CPU_BIG
Директивы компилятора
- NPY_LIKELY
- NPY_UNLIKELY
- NPY_UNUSED
Обработка прерываний
- NPY_INTERRUPT_H
- NPY_SIGSETJMP
- NPY_SIGLONGJMP
- NPY_SIGJMP_BUF
- NPY_SIGINT_ON
- NPY_SIGINT_OFF
© 2005–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/c-api/config.html