系统配置¶
构建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
¶ SIZEOF(短)
-
NPY_SIZEOF_INT
¶ SIEZOF(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
¶ sizeof(longdouble)(宏定义 NPY_SIZEOF_LONGDOUBLE 同样如此。
-
NPY_SIZEOF_PY_INTPTR_T
¶ 此平台上指针的大小(size of(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 新版功能.
平台的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
和小endian体系结构类似。定义在
numpy/npy_endian.h
.
-
PyArray_GetEndianness
()¶ 1.3.0 新版功能.
返回当前平台的结尾。什么之中的一个
NPY_CPU_BIG
,NPY_CPU_LITTLE
或NPY_CPU_UNKNOWN_ENDIAN
.