Entropy with more than 4 decks can be calculated

This commit is contained in:
Ian Coleman
2016-11-30 19:38:14 +11:00
parent 9495975640
commit fc7c248faf
3 changed files with 65 additions and 8 deletions

View File

@@ -263,7 +263,12 @@ window.Entropy = new (function() {
}
// Work out the total number of bits for this many decks
// See http://crypto.stackexchange.com/q/41886
var gainedBits = Math.log2(factorial(52 * numberOfDecks));
var gainedBits = 0;
// Equivalent of Math.log2(factorial(52*numberOfDecks))
// which becomes infinity for numberOfDecks > 4
for (var i=1; i<=52*numberOfDecks; i++) {
gainedBits = gainedBits + Math.log2(i);
}
var lostBits = 52 * Math.log2(factorial(numberOfDecks));
var maxBits = gainedBits - lostBits;
// Convert the drawn cards to a binary representation.