We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 8234115 commit 20d7e0fCopy full SHA for 20d7e0f
cpp/lib/Filter.cpp
@@ -54,13 +54,15 @@ HouLiFilterCached1DVector::HouLiFilterCached1DVector(Grid const &grid)
54
55
void HouLiFilterCached1DVector::operator()(Grid::View::C_XY view) const {
56
for (int ky = 0; ky < grid.KY; ++ky) {
57
+ VReal vfy{factors_y[ky]};
58
+
59
+ // avoid vector dereference inside loop
60
+ Real *fx_addr = factors_x_duped.data();
61
int kx = 0;
- for (; kx <= grid.KX - C_WIDTH; kx += C_WIDTH) {
62
+ for (; kx <= grid.KX - C_WIDTH; kx += C_WIDTH, fx_addr += R_WIDTH) {
63
Real *view_addr = (Real *)&view(kx, ky);
64
VReal input{view_addr};
-
- VReal vfx{&factors_x_duped[kx * 2]};
- VReal vfy{factors_y[ky]};
65
+ VReal vfx{fx_addr};
66
67
eve::store(input * vfx * vfy, view_addr);
68
}
0 commit comments