OpenCL: testes internos de implementação em MQL5 - página 45

 
MetaDriver:
.........
"      out[i]=0;         \r\n" // после десятитысячного шага итерации этот оператор начнёт выполняться в каждом цикле.
"   }                    \r\n" // т.е. на выходе из цикла по любому будем иметь out[i] = 0;
......... 
Porquê?
 
joo:
Porquê?
out[i]+=u;       // если к неотрицательному числу прибавить число u большее 10000
if(out[i]>10000)  // то результат будет больше 10000 (true)
  out[i]=0;      // тогда ... = 0
 

И?...

Não consigo acompanhar o seu pensamento, peço desculpa.

 
joo:

И?...

И... então...

"      out[i]=0;         \r\n" // после десятитысячного шага итерации этот оператор начнёт выполняться в каждом цикле.
"   }                    \r\n" // т.е. на выходе из цикла по любому будем иметь out[i] = 0;
 

Andrey, é simples: out[ i ] não pode ser superior a 10000, e assim que for superior, o valor da matriz é zerado - pela condição. A partir de u=10001, será sempre zerada.

A partir daqui, vamos começar a adicionar valores ainda maiores de u a zero. Mas não demasiado grande, não mais do que 4 mil milhões, com certeza. Assim, o valor da matriz é positivo e exactamente superior a 10000. Portanto, é novamente zero. E assim por diante. E depois, fora do laço, adicionamos i a zero.

 

Isto é compreensível. O que não é claro é porque é que a minha matriz Out[] conterá a mesma coisa que a matriz de Vladimir:

"__kernel void MFractal(                                    \r\n"
"                       __global int *out                   \r\n"
"                      )                                    \r\n"
"  {                                                        \r\n"
"   out[get_global_id(0)]= get_global_id(0);                \r\n"
"  }                                                        \r\n";
 
joo: É claro. O que não é claro é porque é que a minha matriz Out[] conterá o mesmo valor que a matriz de Vladimir:

Porque fora do loop, quando o valor do array já é zero, i = get_global_id(0) é adicionado a ele.

Bem, vá em frente e imprima todos os valores.

 
Já tenho quase o sli dos 590 juntos quando é o próximo teste?
 
casinonsk:
Já tenho quase o sli dos 590 juntos, quando é o próximo teste?
Agora é a sua vez de escrever algo. )
 
casinonsk:
Já quase consegui juntar o sli do 590 quando é que vai ter lugar o próximo teste?
Faça os primeiros testes a este seu "sli" e afixe-o aqui. Pelo menos alguma diversão...
Razão: