【发布时间】:2014-03-21 08:42:51
【问题描述】:
有人可以通过将以下类型的 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];
});
【问题讨论】:
-
如果
a + b == h - c,您的变体块将被调用一次。正确地它不应该被调用,因为for中的y + b < h - c永远不会是真的。
标签: c++ ios for-loop parallel-processing grand-central-dispatch