lib/hash.js
function hash_binary(q, len, k) {
  var sum = 0

  for (var i = 0; i < len; i++) {
    if (q[i]) {
      if (len - i - 1 >= k) {
        sum += choose[len - i - 1][k]
      }

      k--
      if (k === 0) break
    }
  }

  return sum
}
function hash_binary(q, len, k) {
  var sum = 0

  for (var i = 0; i < len; i++) {
    if (q[i]) {
      if (len - i - 1 >= k) {
        sum += choose[len - i - 1][k]
      }

      k--
      if (k === 0) break
    }
  }

  return sum
}
function hash_binary ( q , len , k ) { var sum = 0 for ( var i = 0 ; i < len ; i ++ ) { if ( q [ i ] ) { if ( len - i - 1 >= k ) { sum += choose [ len - i - 1 ] [ k ] } k -- if ( k === 0 ) break } } return sum }
Calculates the binary hash using the choose table.

@name hash_binary
@function
@private
@param {Array} q array with an element for each rank, usually total of 13
@param {Number} len number of ranks, usually 13
@param {Number} k number of cards that make up the hand, 5, 6 or 7
@return {Number} hash sum
Calculates the binary hash using the choose table .