一尘不染

numpy.float128的内部精度是多少?

python

numpy.float128内部映射到什么精度?是__float128还是长双倍?(或完全其他!!)

如果有人知道,这个问题可能会引起关注:在C中将__float128转换为(16字节)长的双精度数,而只是精度损失,是否安全?(这是为了与在长双精度上运行的C
lib接口)。

编辑:根据评论,平台为“ Linux-3.0.0-14-generic-x86_64-with-
Ubuntu-11.10-oneiric”。现在,如果numpy.float128的精度取决于平台,则对我来说也是有用的知识!

需要明确的是,这是我感兴趣的 精度 ,而不是元素的大小。


阅读 302

收藏
2021-01-20

共1个答案

一尘不染

强烈建议您使用longdouble而不是float128,因为ATM很乱。Python将在初始化期间将其强制转换为float64。

在numpy内部,它可以是双精度型或长双精度型。它在npy_common.h中定义,取决于您的平台。我不知道您是否可以将其直接包含在源代码中。

如果您在算法的这一部分中不需要性能,那么一种更安全的方法可能是将其导出为字符串,然后使用strold

2021-01-20