pythonとcythonのdtypeがごちゃごちゃになったので、整理した。
背景
pythonのdtypeで例えばfloat64
などがあるが、cythonだとfloat64_t
などが使われる。これらの違いは何か。同じように使ってよいか。
float64_tは何なのか
まず、
import numpy as np
cimport numpy as np
とすると、最初の行でnumpy moduleをimportし、次の行でnumpy.pxdを単にincludeする。
cythonのインストールフォルダーを見ると、たしかにnumpy.pxdがあり、float64_t
は
ctypedef double npy_float64
ctypedef npy_float64 float64_t
と定義されている。
結論
float64_t ≠ float64
であり、float64_t = double
だった。
参考