我有一个自定义浮点数据类型,它使用两个 64 位浮点数(dd_real
来自QD 库的 double-double 类)模拟 128 位浮点数。从 C++ 我想将一个 ndarray 导出到 python。我已经知道如何为 64 位浮点数执行此操作,但对于双打我不知何故需要指定我自己的自定义 dtype。怎么做?
注意:numpy 有自己的 128 位浮点数(np.float128),不幸的是,这映射到long double
C/C++ 中,它只是存储在 128 位(在我的所有平台上)的 80 位浮点数。
实际上,应该能够以与 numpy 导出 np.float128 完全相同的方式执行此操作(我只是不知道这是如何完成的),唯一的区别是它dd_real
在 C++ 端使用而不是long double
.
如果这有帮助,我已经将 C++ 类型导出dd_real
到 python 使用boost::python
也许可以以某种方式重用。
到目前为止,我能够研究以下内容