Hasty Briefsbeta

双语

Floating-Point Printing and Parsing Can Be Simple and Fast

4 months ago
  • #algorithm
  • #floating-point
  • #performance
  • 使用未舍入缩放技术,浮点数的打印和解析可以变得简单快速。
  • 未舍入缩放通过单次64位乘法运算,计算m * 2^e * 10^p的近似值。
  • 所提算法运行速度超过Dragon4、Grisu3、Ryū等现有方法。
  • 本文介绍了未舍入数的概念,它包含以各种方式舍入所需的全部信息。
  • 固定宽度打印将浮点数格式化为最多18位指定小数位数的十进制数字。
  • 十进制解析将最多19位的十进制数字转换为浮点数。
  • 最短宽度打印使用能解析回原数的最短表示形式格式化浮点数。
  • 快速未舍入缩放通过一个简短但精妙的算法实现。
  • 快速缩放正确性的证明概要已给出,完整细节见配套文章。
  • 优化后的快速未舍入缩放在多数情况下仅需单次64位乘法运算。
  • 性能对比显示该实现优于早期算法。
  • 相关工作与历史沿革追溯了本文算法所用思想的起源。