src/globals/utils.c
inline uns64 xor_fold_bits(uns64 src, uns n) {
  uns64 result = 0x0;
  uns   ii;
  ASSERT(0, n < 64);
  for(ii = 0; ii < 64; ii += n) {
    result ^= src & N_BIT_MASK(n);
    src >>= MIN2(n, 64 - ii - n);
  }

  return result;
}
/**************************************************************************************/
/* xor_fold_bits: fold a number onto itself such that it occupies n bits */
fold a number onto itself such that it occupies n bits
fold a number onto itself such that it occupies n bits
inline uns64 xor_fold_bits(uns64 src, uns n) {
  uns64 result = 0x0;
  uns   ii;
  ASSERT(0, n < 64);
  for(ii = 0; ii < 64; ii += n) {
    result ^= src & N_BIT_MASK(n);
    src >>= MIN2(n, 64 - ii - n);
  }
  return result;
}
inline uns64 xor_fold_bits ( uns64 src , uns n ) { uns64 result = 0x0 ; uns ii ; ASSERT ( 0 , n < 64 ) ; for ( ii = 0 ; ii < 64 ; ii += n ) { result ^= src & N_BIT_MASK ( n ) ; src >>= MIN2 ( n , 64 - ii - n ) ; } return result ; }
xor_fold_bits: fold a number onto itself such that it occupies n bits
xor_fold_bits : fold a number onto itself such that it occupies n bits