From: notmasteryet Date: Sun, 14 Aug 2011 21:34:19 +0000 (-0500) Subject: switch optimization X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=03c5fa3d19bac01a16245ee727b07477b8cabb2f;p=pdf.js.git switch optimization --- diff --git a/pdf.js b/pdf.js index 24d602a..79ae776 100644 --- a/pdf.js +++ b/pdf.js @@ -2081,17 +2081,9 @@ var LZWStream = (function() { dictionaryLengths[nextCode] = dictionaryLengths[prevCode] + 1; dictionaryValues[nextCode] = currentSequence[0]; nextCode++; - switch (nextCode + earlyChange) { - case 512: - codeLength = 10; - break; - case 1024: - codeLength = 11; - break; - case 2048: - codeLength = 12; - break; - } + codeLength = (nextCode + earlyChange) & (nextCode + earlyChange - 1) ? + codeLength : Math.min(Math.log(nextCode + earlyChange) / + 0.6931471805599453 + 1, 12) | 0; } prevCode = code;