?? polinomiala.c
字號(hào):
#include <prototype.h>
#define N 16
#define Simulari 10
Word32 polinomiala(Word16 a[],Word16 x[])
{
#pragma align *a 8 //vectorii se vor considera aliniati in prog care apeleaza functia
#pragma align *x 8
int k,i;
Word32 rezultat[Simulari];
#pragma align rezultat 8
rezultat[Simulari]=0;
for (k=0;k<N;k++)
rezultat[i]=L_mac(rezultat[i],a[k],x[i]^k);
return rezultat[i];
}
/* Mai jos am exemplificat folosirea tehnicii split computation pentru a utiliza in paralel
toate cele 4 unitati ALU, insa am observat ca necesita un timp de rulare mult mai mare
si deci nu potrivita acestei aplicatii. Plus ca precizia este mai mica decat in cazul utilizarii
unei singure unitati ALU (din cauza acumularii in serie a erorilor fiecarui produs)
Word32 rezultat1[Simulari];
#pragma align rezultat1 8
Word32 rezultat2[Simulari];
#pragma align rezultat2 8
Word32 rezultat3[Simulari];
#pragma align rezultat3 8
Word32 rezultat4[Simulari];
#pragma align rezultat4 8
rezultat1[Simulari]=0;
rezultat2[Simulari]=0;
rezultat3[Simulari]=0;
rezultat4[Simulari]=0;
for (k=0;k<N;k=+4)
{ rezultat1[i]=L_mac(rezultat1[i],a[k],x[i]^k);
rezultat2[i]=L_mac(rezultat2[i],a[k+1],x[i]^(k+1));
rezultat3[i]=L_mac(rezultat3[i],a[k+2],x[i]^(k+2));
rezultat4[i]=L_mac(rezultat4[i],a[k+3],x[i]^(k+3));
}
rezultat1[i]=L_add(rezultat1[i],rezultat2[i]);
rezultat3[i]=L_add(rezultat3[i],rezultat4[i]);
rezultat1[i]=L_add(rezultat1[i],rezultat3[i]);
return rezultat1[i];
}
*/
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -