.........
" out[i]=0; \r\n"// после десятитысячного шага итерации этот оператор начнёт выполняться в каждом цикле." } \r\n"// т.е. на выходе из цикла по любому будем иметь out[i] = 0;
.........
out[i]+=u; // если к неотрицательному числу прибавить число u большее 10000if(out[i]>10000) // то результат будет больше 10000 (true)out[i]=0; // тогда ... = 0
" out[i]=0; \r\n"// после десятитысячного шага итерации этот оператор начнёт выполняться в каждом цикле." } \r\n"// т.е. на выходе из цикла по любому будем иметь out[i] = 0;
なぜ?
И?...
あなたの考え方についていけません、ごめんなさい。
И?...
И...では
Andrey、それは簡単です。out[ i ]は10000より大きくはできず、大きくなるとすぐに配列の値がゼロになります - 条件によって。u=10001から、常にゼロになります。
ここからは、さらに大きな値のuを0に足していきます。でも、あまり大きくはない、40億以上は確実にない。したがって,配列の値は正であり,ちょうど10000より大きくなります.したがって、再びゼロとなる。といった具合に。そして、ループの外側で、iを0に足すのです。
これは理解できる。不明なのは、なぜ私のOut[]配列がVladimirの 配列と同じものを含むのか、ということです。
なぜなら、ループの外では、配列の値がすでに0であるとき、i = get_global_id(0) がそれに追加されるからです。
では、すべての値をプリントアウトしてください。
590のスリはほぼ揃ったので、次のテストはいつになるかな?
590のスリもほぼ揃ったし......次のテストはいつになるんだろう?