blob: 584799c63ddd622cce5eb75805a91f118b623249 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include "varpar.h"
varset_t parset2varset(int v, varset_t set){
varset_t sinkleton = 1U<<v;
varset_t mask = sinkleton - 1;
varset_t low = set & mask;
varset_t high = set & ~mask;
return (high<<1) | low;
}
varset_t varset2parset(int v, varset_t set){
/* assumes v not set */
varset_t sinkleton = 1U<<v;
varset_t mask = sinkleton - 1;
varset_t low = set & mask;
varset_t high = set & ~mask;
return (high>>1) | low;
}
|