Numba是否支持使用long double类型?
Numba对NumPy float128(long double)的支持说明
- NumPy里的
float128是个易混淆的类型:它并非原生128位浮点数,而是对应系统层面的long double类型,实际精度和字节数取决于平台(比如x86架构下通常是80位扩展精度)。 - 关于Numba的支持情况:
- 官方文档确实未明确提及对
long double或NumPyfloat128的支持。 - 实际使用中,Numba对该类型的支持非常有限:直接在JIT编译函数中使用
np.float128数组,大概率会触发类型错误,或者被自动降级为float64处理。 - 少数平台下可能通过底层C语言的
long double实现有限支持,但这属于非公开行为,没有跨平台兼容性,也得不到官方维护保障。
- 官方文档确实未明确提及对
- 若需高精度运算,优先选择Numba官方支持的标准类型(如
float64);如果必须更高精度,可尝试结合第三方高精度库与Numba扩展机制,但实现复杂度较高。
内容的提问来源于stack exchange,提问作者Simd
相关产品推荐
相关产品推荐

