q.q[0] = q.q[1] = q.q[2] = q.q[3] = 0;
struct Quartet permuteLabels(qbase_t lab[4], int which){  struct Quartet q;  switch (which) {    case 0:      q.q[0] = lab[0]; q.q[1] = lab[1];      q.q[2] = lab[2]; q.q[3] = lab[3];      break;    case 1:      q.q[0] = lab[0]; q.q[1] = lab[2];      q.q[2] = lab[1]; q.q[3] = lab[3];      break;    case 2:      q.q[0] = lab[0]; q.q[1] = lab[3];      q.q[2] = lab[1]; q.q[3] = lab[2];      break;    default:      assert(0 && "quartet phase error");      break;  }  return q;}