<s>[INST] Fast way to get a position of combination (without repetitions) This question has an inverse: (Fast way to) Get a combination given its position in (reverse-)lexicographic order

What would be the most efficient way to translate a combination of $k$-tuple into its positions within the $\left(\!\!\binom{n}{k}\!\!\right)$ combinations?
I need this to be fast for combinations of $\left(\!\!\binom{70}{7}\!\!\right)$ order of magnitude - very large, but not exceeding 2 billion (fits into int32 maximum value).
Below is an example of $\left(\!\!\binom{6}{3}\!\!\right)$, where the aim is to quickly translate (a, d, f) tuple to value 9, while in the real problem $k$ ranges between 5 and 8.
$$\begin{array}
{cccccc|c}
a&b&c&d&e&f&^{combination}/_{sort\_order}&
\\\hline
x&x&x& & & &1\\
x&x& &x& & &2\\
x&x& & &x& &3\\
x&x& & & &x&4\\
x& &x&x& & &5\\
x& &x& &x& &6\\
x& &x& & &x&7\\
x& & &x&x& &8\\
x& & &x& &x&9\\
x& & & &x&x&10\\
.&.&.&.&.&.&.\\
 & & &x&x&x&20\\
\end{array}$$
I know that I could pre-calculate all the combinations and reverse the lookup dictionary. However, such dictionary would not be efficient in terms of memory usage. Therefore I am looking for either calculation-based approach, or a more efficient data structure to perform this mapping.
 [/INST] Let us denote your tuple [a b c] as [1 1 1 0 0 0] and so on.
Define $\binom{n}{r}=0$ for $n<r$
For your tuple: $[a d f] = [1 0 0 1 0 1]$
$$P = 1\cdot \binom{0}{1}+0\cdot \binom{1}{1}+0\cdot \binom{2}{1}+1\cdot \binom{3}{2}+0\cdot\binom{4}{2}+1\cdot\binom{5}{3} + 1$$
$$P=0 + 0 +0 +3+0+10+0+1 = 14$$
General Algorithm: 


*

*Calculate the position value of each binary digit using $\binom{n}{r}$

*Take $n$ as position of the digit from left, for leftmost digit $n=0$.

*Write $r$ for each position as the number of 'ONES' counted from left, including the one at current position. 


Example-1: [a b c] = [1 1 1 0 0 0]
Calculate the position of the tuple as sum:
$$P = 1\cdot \binom{0}{1}+1\cdot \binom{1}{2}+1\cdot \binom{2}{3}+0\cdot \binom{3}{3}+0\cdot\binom{4}{3}+0\cdot\binom{5}{3} + 1$$
$$P=0 + 0 +0 +0+0+0+0+1 = 1$$
Example-2: [d e f] = [0 0 0 1 1 1]
$$P = 0\cdot \binom{0}{0}+0\cdot \binom{1}{0}+0\cdot \binom{2}{0}+1\cdot \binom{3}{1}+1\cdot\binom{4}{2}+1\cdot\binom{5}{3} + 1$$
$$S=0+0+0+3+6+10+1=20$$
The lone ONE is added because you are not starting at zero. 
</s>