MCPcopy
hub / github.com/stemkoski/stemkoski.github.com / _readUInt32

Function _readUInt32

MathBox/mathbox-core.js:1460–1490  ·  view source on GitHub ↗
(buf, offset, littleEndian, noAssert)

Source from the content-addressed store, hash-verified

1458}
1459
1460function _readUInt32 (buf, offset, littleEndian, noAssert) {
1461 if (!noAssert) {
1462 assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
1463 assert(offset !== undefined && offset !== null, 'missing offset')
1464 assert(offset + 3 < buf.length, 'Trying to read beyond buffer length')
1465 }
1466
1467 var len = buf.length
1468 if (offset >= len)
1469 return
1470
1471 var val
1472 if (littleEndian) {
1473 if (offset + 2 < len)
1474 val = buf[offset + 2] << 16
1475 if (offset + 1 < len)
1476 val |= buf[offset + 1] << 8
1477 val |= buf[offset]
1478 if (offset + 3 < len)
1479 val = val + (buf[offset + 3] << 24 >>> 0)
1480 } else {
1481 if (offset + 1 < len)
1482 val = buf[offset + 1] << 16
1483 if (offset + 2 < len)
1484 val |= buf[offset + 2] << 8
1485 if (offset + 3 < len)
1486 val |= buf[offset + 3]
1487 val = val + (buf[offset] << 24 >>> 0)
1488 }
1489 return val
1490}
1491
1492Buffer.prototype.readUInt32LE = function (offset, noAssert) {
1493 return _readUInt32(this, offset, true, noAssert)

Callers 2

mathbox-core.jsFile · 0.70
_readInt32Function · 0.70

Calls 1

assertFunction · 0.70

Tested by

no test coverage detected