From bb93a5a51b7e306674fae9098f266401cc2cbe86 Mon Sep 17 00:00:00 2001 From: Dominic Tarr Date: Fri, 9 May 2014 00:35:55 +0200 Subject: [PATCH] export encodingLength --- index.js | 3 ++- length.js | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 length.js diff --git a/index.js b/index.js index 1c4e803..a27770c 100644 --- a/index.js +++ b/index.js @@ -1,4 +1,5 @@ module.exports = { encode: require('./encode.js') , decode: require('./decode.js') -} \ No newline at end of file + , encodingLength: require('./length.js') +} diff --git a/length.js b/length.js new file mode 100644 index 0000000..b3b26e0 --- /dev/null +++ b/length.js @@ -0,0 +1,21 @@ + +var N1 = Math.pow(2, 7) +var N2 = Math.pow(2, 14) +var N3 = Math.pow(2, 21) +var N4 = Math.pow(2, 28) +var N5 = Math.pow(2, 35) +var N6 = Math.pow(2, 42) +var N7 = Math.pow(2, 49) + +module.exports = function (value) { + return ( + value < N1 ? 1 + : value < N2 ? 2 + : value < N3 ? 3 + : value < N4 ? 4 + : value < N5 ? 5 + : value < N6 ? 6 + : value < N7 ? 7 + : 8 + ) +}