I have a vector of bools that looks like
vector<bool> vals
position: 0 1 2 3 4 5
bool val: 0 1 0 0 1 1
the bool val indexes to a 6x6 matrix A where i have random values stored.
in my following vector, I would want to sum the values of A(1,4),A(4,5),A(5,5)
if i had
position: 0 1 2 3 4 5
bool val: 0 1 1 0 1 0
I would want to sum A(1,2), A(2,4),A(4,4)
what is the fastest way to loop through the bool vector and calculate the values i want?
i was thinking something along the lines of the above, but there are problems when my bool vector vals[0]=1, and my matrix A might have non-zero values for A[row][col] that i sum.Code:double sum = 0; int j = 0; int k = 0; for(int i =0; i<vals.size(); ++i) { k += -(vals[i]-1); j= i*vals[i]; //sum +=A[j-k][j] }
thoughts?