或使用SIMD指令?如何使用valarray SIMD支持來優化此代碼?
#include <iostream>
#include <string>
#define sz 10000;
typedef struct pixel{
int b,g,r;
};
int main()
{
pixel * src = new pixel[sz]; // arrays filled
pixel * ker = new pixel[sz]; // by random values
pixel px;
px.r=px.g=px.b=0;
for (int i=0; i<sz; i++){
px.r+=src[i].r*ker[i].r;
px.g+=src[i].r*ker[i].g;
px.b+=src[i].r*ker[i].b;
}
return 0;
}
src - 包含一些隨機值的數組。
ker-like src,也包含隨機值。
的用於循環應該優化
不是應該 'PX.R + = SRC [i]於.R * ker的[I] .R;'' + PX.G = SRC [i]於.G * ker [i] .g;' 'px.b + = src [i] .b * ker [i] .b;' ? – justanothercoder
「blablabla只是一個文本」 - 如果你不喜歡這個網站的規則,你不會被迫參與。如果你想參加,請堅持他們,他們在這裏有一個很好的理由。 – BartoszKP
@BartoszKP,抱歉,但我不知道我應該寫在那裏 –