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だった。
参考