Browse Source

Explicit fall-through

tempestpy_adaptions
Matthias Volk 5 years ago
parent
commit
a95f65cc27
  1. 18
      src/storm/storage/BitVector.cpp

18
src/storm/storage/BitVector.cpp

@ -1200,26 +1200,42 @@ namespace storm {
uint64_t k1 = 0; uint64_t k1 = 0;
uint64_t k2 = 0; uint64_t k2 = 0;
// Loop unrolling via Duff's device
// Cases are supposed to fall-through
switch(len & 15) switch(len & 15)
{ {
case 15: k2 ^= ((uint64_t)tail[14]) << 48; case 15: k2 ^= ((uint64_t)tail[14]) << 48;
//fallthrough
case 14: k2 ^= ((uint64_t)tail[13]) << 40; case 14: k2 ^= ((uint64_t)tail[13]) << 40;
//fallthrough
case 13: k2 ^= ((uint64_t)tail[12]) << 32; case 13: k2 ^= ((uint64_t)tail[12]) << 32;
//fallthrough
case 12: k2 ^= ((uint64_t)tail[11]) << 24; case 12: k2 ^= ((uint64_t)tail[11]) << 24;
//fallthrough
case 11: k2 ^= ((uint64_t)tail[10]) << 16; case 11: k2 ^= ((uint64_t)tail[10]) << 16;
//fallthrough
case 10: k2 ^= ((uint64_t)tail[ 9]) << 8; case 10: k2 ^= ((uint64_t)tail[ 9]) << 8;
//fallthrough
case 9: k2 ^= ((uint64_t)tail[ 8]) << 0; case 9: k2 ^= ((uint64_t)tail[ 8]) << 0;
k2 *= c2; k2 = rotl64(k2,33); k2 *= c1; h2 ^= k2; k2 *= c2; k2 = rotl64(k2,33); k2 *= c1; h2 ^= k2;
//fallthrough
case 8: k1 ^= ((uint64_t)tail[ 7]) << 56; case 8: k1 ^= ((uint64_t)tail[ 7]) << 56;
//fallthrough
case 7: k1 ^= ((uint64_t)tail[ 6]) << 48; case 7: k1 ^= ((uint64_t)tail[ 6]) << 48;
//fallthrough
case 6: k1 ^= ((uint64_t)tail[ 5]) << 40; case 6: k1 ^= ((uint64_t)tail[ 5]) << 40;
//fallthrough
case 5: k1 ^= ((uint64_t)tail[ 4]) << 32; case 5: k1 ^= ((uint64_t)tail[ 4]) << 32;
//fallthrough
case 4: k1 ^= ((uint64_t)tail[ 3]) << 24; case 4: k1 ^= ((uint64_t)tail[ 3]) << 24;
//fallthrough
case 3: k1 ^= ((uint64_t)tail[ 2]) << 16; case 3: k1 ^= ((uint64_t)tail[ 2]) << 16;
//fallthrough
case 2: k1 ^= ((uint64_t)tail[ 1]) << 8; case 2: k1 ^= ((uint64_t)tail[ 1]) << 8;
//fallthrough
case 1: k1 ^= ((uint64_t)tail[ 0]) << 0; case 1: k1 ^= ((uint64_t)tail[ 0]) << 0;
//fallthrough
k1 *= c1; k1 = rotl64(k1,31); k1 *= c2; h1 ^= k1; k1 *= c1; k1 = rotl64(k1,31); k1 *= c2; h1 ^= k1;
}; };

Loading…
Cancel
Save