zeroieme 发表于 2011-6-24 14:35:56

现在的CPU浮点加法比乘法快多少?这样能提高复数乘法吗?

复数乘法Z=X*Y
标准方法
Zr=Xr*Yr-Xi*Yi
Zi=Xr*Yi+Xi*Yr


仿Karatsuba法
Zr=Xr*Yr-Xi*Yi
Zi=(Xr+Xi)*(Yr+Yi)-(Xr*Yr+Xi*Yi)

这样仿Karatsuba能快些么?

liangbch 发表于 2011-6-24 16:48:24

肯定更慢.
第一种方法: 4次浮点乘, 2次浮点加减法
第一种方法: 5次浮点乘, 5次浮点加减法

G-Spider 发表于 2011-6-24 16:53:34

3次浮点乘,5次浮点加减法

liangbch 发表于 2011-6-24 18:43:37

3# G-Spider
没有仔细看,的确只需要3次乘法。
我认为不会更快。

gxqcn 发表于 2011-6-25 08:44:29

直接算乘法可以并行处理,比如可以用上 SIMD 指令集,
而仿Karatsuba法,则有运算严重的前后依赖关系。
页: [1]
查看完整版本: 现在的CPU浮点加法比乘法快多少?这样能提高复数乘法吗?