c++ - dispatch_apply 'for loop' 的 GCD

标签 c++ ios for-loop parallel-processing grand-central-dispatch

有人可以通过将以下类型的 for 循环格式化为 GCD dispatch_apply 查询来帮助我吗?

for (y = a; y + b < h - c; y += d)
{
    // body independent of y
    *m++ = *n++ - *p++; 
}

其中*m*n*p是浮点指针

dispatch_apply API 的描述如下:

dispatch_apply(<#size_t iterations#>, <#dispatch_queue_t queue#>, <#^(size_t)block#>)

这可能更像是一个数学难题,但任何帮助都会很棒!

谢谢。

编辑:我的工作如下:

dispatch_apply((h-c-b-a)/d + 1, someQueue, ^(size_t blkId){
    m[blkId] = n[blkId] - p[blkId];
});

最佳答案

dispatch_apply((h - c - b - a + d - 1)/d, dispatch_main(), ^(blkId) {
    m[blkId] = n[blkId] - p[blkId]
});

更新:以下应该有相同的结果

dispatch_apply(ceil((double)(h - c - b - a) / d ), dispatch_main(), ^(blkId) {
    m[blkId] = n[blkId] - p[blkId]
});

在第一个变体中,我使用了 (int)ceil( x/y ) == (int)( x + y - 1/y )

关于c++ - dispatch_apply 'for loop' 的 GCD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22547947/

相关文章:

c++ - 在函数映射容器 : automatic deduction fails with compiler error 中重载 C++ 函数返回类型

ios - 带约束的 Swift 圆形按钮

algorithm - i 以变量(不是 1 或 0)开始的 for 循环的时间复杂度

c++ - C/C++ - 从封闭类继承的嵌套类

c++ - 使用 Python.h 编译错误 gcc

c++结构定义-如何在其构造函数中定义具有单个参数的成员结构

ios - 隐藏 iPad 上的键盘?

iphone - IOS 配置门户 - 设备不是唯一的

ios - 使用 objective-c 中的 for 循环为数组中存在的每个对象创建一个数组

linux - bash 脚本中的 For 循环不适用于 nohup