System configuration

当构建NumPy时,记录有关系统配置的信息,并使用NumPy的C API提供给扩展模块。这些主要在numpyconfig.h中定义(包括在ndarrayobject.h中)。公共符号前缀为NPY_*NumPy还提供了一些查询有关所使用平台信息的功能。

对于私人使用,NumPy还在NumPy包含目录中构造一个config.h,它不是由NumPy导出的(即使用numpy C API不会看到这些符号的python扩展),避免命名空间污染。

Data type sizes

定义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)。

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

版本1.3.0中的新功能。

CPU平台的架构;只定义了上述之一。

numpy/npy_cpu.h中定义

NPY_LITTLE_ENDIAN
NPY_BIG_ENDIAN
NPY_BYTE_ORDER

版本1.3.0中的新功能。

便携式替代GNU Libc的endian.h宏。如果是big endian,NPY_BYTE_ORDER == NPY_BIG_ENDIAN,类似地对于小端体系结构。

numpy/npy_endian.h中定义。

PyArray_GetEndianness()

版本1.3.0中的新功能。

返回当前平台的字节顺序。NPY_CPU_BIGNPY_CPU_LITTLENPY_CPU_UNKNOWN_ENDIAN中的一个。