Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.10 KB | None | 0 0
  1. double sumDBIndicies(double* input1, IndiciesInput indicies)
  2. {
  3.     double accumulate = 0;
  4.         unsigned int i = 0;
  5.         switch (indicies.nSingleIndicies % 8) {
  6.                 case 0: do { accumulate += input1[indicies.nSingleIndicies[i++]];
  7.                 case 7: accumulate += input1[indicies.nSingleIndicies[i++]];
  8.                 case 6: accumulate += input1[indicies.nSingleIndicies[i++]];
  9.                 case 5: accumulate += input1[indicies.nSingleIndicies[i++]];
  10.                 case 4: accumulate += input1[indicies.nSingleIndicies[i++]];
  11.                 case 3: accumulate += input1[indicies.nSingleIndicies[i++]];
  12.                 case 2: accumulate += input1[indicies.nSingleIndicies[i++]];
  13.                 case 1: accumulate += input1[indicies.nSingleIndicies[i++]];
  14.         } while (i < indicies.nSingleIndicies);}
  15.  
  16.     for(unsigned int i = 0; i < indicies.nRanges; i++)
  17.     {
  18.         for(double* address = indicies.rangeStartPositions[i] + input1; address < indicies.rangeStartPositions[i] + input1 + indicies.rangeLengths[i]; address++)
  19.         {
  20.             accumulate += *address;
  21.         }
  22.     }
  23.     return accumulate;
  24. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement