小编Yum*_*Yum的帖子

使用SIMD找出两个元素的最大差异

我编写了一个算法来获得 std::vector 中两个元素之间的最大差异,其中两个值中较大的值必须比较低的值在更高的索引处。

    unsigned short int min = input.front();
    unsigned short res = 0;

    for (size_t i = 1; i < input.size(); ++i)
    {
        if (input[i] <= min)
        {
            min = input[i];
            continue;
        }

        int dif = input[i] - min;
        res = dif > res ? dif : res;
    }

    return res != 0 ? res : -1;
Run Code Online (Sandbox Code Playgroud)

是否可以使用 SIMD 优化此算法?我是 SIMD 的新手,到目前为止我没有成功

algorithm optimization simd

3
推荐指数
1
解决办法
374
查看次数

标签 统计

algorithm ×1

optimization ×1

simd ×1