UNPKG

513 BJavaScriptView Raw
1"use strict";
2
3var pow2 = [];
4for(var i = 0; i < 32; i++)
5 pow2[i] = Math.pow(2, i);
6
7
8function unsigned(buffer, offset, length) {
9 var result = 0;
10 var blen = buffer.length * 8;
11
12 offset = offset || 0;
13
14 if(offset < 0)
15 offset = blen + offset;
16
17 if(length === undefined)
18 length = blen - offset;
19
20 if(!length)
21 return 0;
22
23 for(var i = 0, j = offset + length - 1; i < length; i++, j--)
24 result += buffer[j >> 3] & pow2[7 - j % 8] ? pow2[i] : 0;
25
26 return result;
27}
28
29module.exports = unsigned;