diff options
Diffstat (limited to 'sourcecodes/k-best/src/varpar.c')
| -rw-r--r-- | sourcecodes/k-best/src/varpar.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/sourcecodes/k-best/src/varpar.c b/sourcecodes/k-best/src/varpar.c new file mode 100644 index 00000000..584799c6 --- /dev/null +++ b/sourcecodes/k-best/src/varpar.c @@ -0,0 +1,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; +} + |
