util: properly utilize bn.js.

Signed-off-by: Fedor Indutny <fedor@indutny.com>
This commit is contained in:
Christopher Jeffrey 2014-05-18 10:20:30 -05:00 committed by Fedor Indutny
parent 9bec16ca49
commit 5ee3fbcf72

View File

@ -180,11 +180,9 @@ utils.writeU64 = function writeU64(dst, num, off) {
if (!off)
off = 0;
var n = new bn(num);
var left = n.shrn(32);
//var right = n.andln(0xffffffff);
var right = ((n.words[1] & 0xff) << 24) | n.words[0];
if (right < 0) right += 0x100000000;
var num = new bn(num);
var left = +num.shrn(32).toString(10);
var right = +num.maskn(32).toString(10);
dst[off] = right & 0xff;
dst[off + 1] = (right >>> 8) & 0xff;
@ -221,11 +219,9 @@ utils.writeU64BE = function writeU64BE(dst, num, off) {
if (!off)
off = 0;
var n = new bn(num);
var left = n.shrn(32);
//var right = n.andln(0xffffffff);
var right = ((n.words[1] & 0xff) << 24) | n.words[0];
if (right < 0) right += 0x100000000;
var num = new bn(num);
var left = +num.shrn(32).toString(10);
var right = +num.maskn(32).toString(10);
dst[off] = (left >>> 24) & 0xff;
dst[off + 1] = (left >>> 16) & 0xff;