This is documentation for an old release of NumPy (version 1.18). Read this page in the documentation of the latest stable release (version 2.2).
System configuration¶
When NumPy is built, information about system configuration is
recorded, and is made available for extension modules using NumPy’s C
API. These are mostly defined in numpyconfig.h
(included in
ndarrayobject.h
). The public symbols are prefixed by NPY_*
.
NumPy also offers some functions for querying information about the
platform in use.
For private use, NumPy also constructs a config.h
in the NumPy
include directory, which is not exported by NumPy (that is a python
extension which use the numpy C API will not see those symbols), to
avoid namespace pollution.
Data type sizes¶
The NPY_SIZEOF_{CTYPE}
constants are defined so that sizeof
information is available to the pre-processor.
-
NPY_SIZEOF_SHORT
¶ sizeof(short)
-
NPY_SIZEOF_INT
¶ sizeof(int)
-
NPY_SIZEOF_LONG
¶ sizeof(long)
-
NPY_SIZEOF_LONGLONG
¶ sizeof(longlong) where longlong is defined appropriately on the platform.
-
NPY_SIZEOF_PY_LONG_LONG
¶
-
NPY_SIZEOF_FLOAT
¶ sizeof(float)
-
NPY_SIZEOF_DOUBLE
¶ sizeof(double)
-
NPY_SIZEOF_LONG_DOUBLE
¶ sizeof(longdouble) (A macro defines NPY_SIZEOF_LONGDOUBLE as well.)
-
NPY_SIZEOF_PY_INTPTR_T
¶ Size of a pointer on this platform (sizeof(void *)) (A macro defines NPY_SIZEOF_INTP as well.)
Platform information¶
-
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
¶ New in version 1.3.0.
CPU architecture of the platform; only one of the above is defined.
Defined in
numpy/npy_cpu.h
-
NPY_LITTLE_ENDIAN
¶
-
NPY_BIG_ENDIAN
¶
-
NPY_BYTE_ORDER
¶ New in version 1.3.0.
Portable alternatives to the
endian.h
macros of GNU Libc. If big endian,NPY_BYTE_ORDER
==NPY_BIG_ENDIAN
, and similarly for little endian architectures.Defined in
numpy/npy_endian.h
.
-
PyArray_GetEndianness
()¶ New in version 1.3.0.
Returns the endianness of the current platform. One of
NPY_CPU_BIG
,NPY_CPU_LITTLE
, orNPY_CPU_UNKNOWN_ENDIAN
.