  A pairing function for the non-negative integers is said to be binary perfect
if the binary representation of the output is of length 2k or less whenever
each input has length k or less. Pairing functions with square shells, such as
the Rosenberg-Strong pairing function, are binary perfect. Many well-known
discrete space-filling curves, including the discrete Hilbert curve, are also
binary perfect. The concept of a binary proportional pairing function
generalizes the concept of a binary perfect pairing function. Binary
proportional pairing functions may be useful in applications where a pairing
function is used, and where the function's inputs have lengths differing by a
fixed proportion. In this article, a general technique for constructing a
pairing function from any non-decreasing unbounded function is described. This
technique is used to construct a binary proportional pairing function and its
inverse.
