初始化
This commit is contained in:
44
uni_modules/UniDevTools/node_modules/pngjs/lib/crc.js
generated
vendored
Normal file
44
uni_modules/UniDevTools/node_modules/pngjs/lib/crc.js
generated
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
'use strict';
|
||||
|
||||
var crcTable = [];
|
||||
|
||||
(function() {
|
||||
for (var i = 0; i < 256; i++) {
|
||||
var currentCrc = i;
|
||||
for (var j = 0; j < 8; j++) {
|
||||
if (currentCrc & 1) {
|
||||
currentCrc = 0xedb88320 ^ (currentCrc >>> 1);
|
||||
}
|
||||
else {
|
||||
currentCrc = currentCrc >>> 1;
|
||||
}
|
||||
}
|
||||
crcTable[i] = currentCrc;
|
||||
}
|
||||
}());
|
||||
|
||||
var CrcCalculator = module.exports = function() {
|
||||
this._crc = -1;
|
||||
};
|
||||
|
||||
CrcCalculator.prototype.write = function(data) {
|
||||
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
this._crc = crcTable[(this._crc ^ data[i]) & 0xff] ^ (this._crc >>> 8);
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
CrcCalculator.prototype.crc32 = function() {
|
||||
return this._crc ^ -1;
|
||||
};
|
||||
|
||||
|
||||
CrcCalculator.crc32 = function(buf) {
|
||||
|
||||
var crc = -1;
|
||||
for (var i = 0; i < buf.length; i++) {
|
||||
crc = crcTable[(crc ^ buf[i]) & 0xff] ^ (crc >>> 8);
|
||||
}
|
||||
return crc ^ -1;
|
||||
};
|
||||
Reference in New Issue
Block a user