Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- double sumDBIndicies(double* input1, IndiciesInput indicies)
- {
- double accumulate = 0;
- unsigned int i = 0;
- switch (indicies.nSingleIndicies % 8) {
- case 0: do { accumulate += input1[indicies.nSingleIndicies[i++]];
- case 7: accumulate += input1[indicies.nSingleIndicies[i++]];
- case 6: accumulate += input1[indicies.nSingleIndicies[i++]];
- case 5: accumulate += input1[indicies.nSingleIndicies[i++]];
- case 4: accumulate += input1[indicies.nSingleIndicies[i++]];
- case 3: accumulate += input1[indicies.nSingleIndicies[i++]];
- case 2: accumulate += input1[indicies.nSingleIndicies[i++]];
- case 1: accumulate += input1[indicies.nSingleIndicies[i++]];
- } while (i < indicies.nSingleIndicies);}
- for(unsigned int i = 0; i < indicies.nRanges; i++)
- {
- for(double* address = indicies.rangeStartPositions[i] + input1; address < indicies.rangeStartPositions[i] + input1 + indicies.rangeLengths[i]; address++)
- {
- accumulate += *address;
- }
- }
- return accumulate;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement