Настройка системы
При построении 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
-
NPY_SIZEOF_INT
-
NPY_SIZEOF_LONG
-
NPY_SIZEOF_LONGLONG -
sizeof(longlong), где longlong определен соответствующим образом на платформе.
-
NPY_SIZEOF_PY_LONG_LONG
-
NPY_SIZEOF_FLOAT
-
NPY_SIZEOF_DOUBLE
-
NPY_SIZEOF_LONG_DOUBLE
-
NPY_SIZEOF_PY_INTPTR_T -
Размер указателя на этой платформе (sizeof(void *)) (Макрос также определяет NPY_SIZEOF_INTP.)
Информация о платформе
-
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
-
PyArray_GetEndianness() -
Добавлено в версии 1.3.0.
Возвращает порядок байт текущей платформы. Один из
NPY_CPU_BIG,NPY_CPU_LITTLE, илиNPY_CPU_UNKNOWN_ENDIAN
© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.12.0/reference/c-api.config.html