使用闪电速度缩放值数组

Ryu*_*yuu 1 c++

我有一个带有12,000个条目的双精度数组.我需要将每个条目的值缩放一个因子(例如0.3345,或6.78.无论如何).

我做的是循环每个条目并执行乘法.当我在基于PPC的100MHz嵌入式系统上工作时,大量的乘法调用正在大大减慢它的速度.

我有办法更快地完成这项工作.类比就像初始化一块内存 - 一个人会使用非常快的memset.我想知道是否有一个等效的方法.

aio*_*obe 12

我想回答一个问题:你真的需要实际乘以每个值吗?

我个人会考虑使用一个更好的数据结构,它隐藏了私有变量中数组的实际内容,并提供了一个只更新scale-field 的缩放函数.然后,数据结构的公共访问方法可以根据每个需要的比例字段简单地缩放值.