系统配置#
构建 NumPy 时,会记录有关系统配置的信息,并可使用 NumPy 的 C API 供扩展模块使用。这些主要在numpyconfig.h
(包含在
)中定义ndarrayobject.h
。公共符号以 为前缀NPY_*
。 NumPy 还提供了一些用于查询正在使用的平台信息的函数。
对于私人使用,NumPy 还在config.h
NumPy include 目录中构造了一个 NumPy 不导出的目录(即使用 numpy C API 的 python 扩展不会看到这些符号),以避免命名空间污染。
数据类型大小#
定义常量NPY_SIZEOF_{CTYPE}
以便预处理器可以使用 sizeof 信息。
-
NPY_SIZEOF_SHORT #
尺寸(短)
-
NPY_SIZEOF_INT #
大小(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_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 版本中的新增功能。
平台的CPU架构;仅定义了上述之一。
定义于
numpy/npy_cpu.h
-
NPY_LITTLE_ENDIAN #
-
NPY_BIG_ENDIAN #
-
NPY_BYTE_ORDER #
1.3.0 版本中的新增功能。
endian.h
GNU Libc 宏的可移植替代品。如果是大端,则NPY_BYTE_ORDER
==NPY_BIG_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_CPU_BIG #
编译器指令#
-
NPY_LIKELY #
-
NPY_UNLIKELY #
-
NPY_UNUSED #