molstar
Version:
A comprehensive macromolecular library.
52 lines • 1.41 kB
JavaScript
/**
* Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*
* ported from https://github.com/photopea/UZIP.js/blob/master/UZIP.js
* MIT License, Copyright (c) 2018 Photopea
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.adler = exports.crc = void 0;
var CrcTable = (function () {
var tab = new Uint32Array(256);
for (var n = 0; n < 256; n++) {
var c = n;
for (var k = 0; k < 8; k++) {
if (c & 1)
c = 0xedb88320 ^ (c >>> 1);
else
c = c >>> 1;
}
tab[n] = c;
}
return tab;
})();
function _crc(c, buf, off, len) {
for (var i = 0; i < len; i++) {
c = CrcTable[(c ^ buf[off + i]) & 0xff] ^ (c >>> 8);
}
return c;
}
function crc(b, o, l) {
return _crc(0xffffffff, b, o, l) ^ 0xffffffff;
}
exports.crc = crc;
function adler(data, o, len) {
var a = 1, b = 0;
var off = o;
var end = o + len;
while (off < end) {
var eend = Math.min(off + 5552, end);
while (off < eend) {
a += data[off++];
b += a;
}
a = a % 65521;
b = b % 65521;
}
return (b << 16) | a;
}
exports.adler = adler;
//# sourceMappingURL=checksum.js.map
;