我理解的GCD是如何工作的,如下一個簡單的例子:GCD測試 - 測試循環語句之間的依賴關係
for(i=1; i<=100; i++)
{
X[2*i+3] = X[2*i] + 50;
}
我們首先將其轉換爲以下形式: X[a*i + b]
和X[c*i + d]
a=2
,b=3
,c=2
,d=0
和GCD(a,c)=2
和(d-b)
是-3
。由於2
不會將-3
分開,所以不存在依賴關係。
但是我們怎麼能在雙重嵌套循環上做這個GCD測試呢?
例如:
for (i=0; i<10; i++){
for (j=0; j<10; j++){
A[1+2*i + 20*j] = A[2+20*i + 2*j);
}
}