49、提升浮点数计算:IFN库的性能与应用

提升浮点数计算:IFN库的性能与应用

1. IFN库的实现与背景

在数值计算领域,为了提升浮点数计算的准确性和性能,我们实现了一种基于改进浮点数(IFNs)的库。IFN库的一个版本完全用C语言实现,不使用通用的垃圾回收器,IFN单元和其他对象(如Q的实例及其尾数)通过一组环形缓冲区进行管理。这种实现方式在某些情况下,可能比Haskell和Boehm的垃圾回收机制的笨拙协作表现更好,尤其适用于复杂问题。

2. 数值实验相关库介绍

为了验证IFN库的性能和适用性,我们将其与其他可计算实数算术库进行了比较,主要涉及Exact Real Arithmetic (ERA)(版本1.0)和iRRAM(版本2013 01)。
- ERA :这是一个由David Lester开发的Haskell库,用于可计算实数。在该库中,一个可计算实数x由一个类型为Int → Integer的函数f表示,对于所有i :: Int(i ≥ 0),满足不等式$f(i) - \frac{1}{2^i} < x < f(i) + \frac{1}{2^i}$。一旦构造了f,用户就可以获得具有所需精度的x的近似值。数值运算符基于CReal类型构建,例如加法的定义如下:

data CReal = CR (Int → Integer)
(+ ) :: CReal → CReal → CReal
(CR x′) + (CR y′) = CR (\p → round uk ((x′ (p + 2) + y′(p + 2)) % 4))
where round uk x = floo
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值