[SignalingServer] Optimize dependent modules
[platform/framework/web/wrtjs.git] / signaling_server / service / node_modules / pngjs / lib / crc.js
1 'use strict';
2
3 var crcTable = [];
4
5 (function() {
6   for (var i = 0; i < 256; i++) {
7     var currentCrc = i;
8     for (var j = 0; j < 8; j++) {
9       if (currentCrc & 1) {
10         currentCrc = 0xedb88320 ^ (currentCrc >>> 1);
11       }
12       else {
13         currentCrc = currentCrc >>> 1;
14       }
15     }
16     crcTable[i] = currentCrc;
17   }
18 }());
19
20 var CrcCalculator = module.exports = function() {
21   this._crc = -1;
22 };
23
24 CrcCalculator.prototype.write = function(data) {
25
26   for (var i = 0; i < data.length; i++) {
27     this._crc = crcTable[(this._crc ^ data[i]) & 0xff] ^ (this._crc >>> 8);
28   }
29   return true;
30 };
31
32 CrcCalculator.prototype.crc32 = function() {
33   return this._crc ^ -1;
34 };
35
36
37 CrcCalculator.crc32 = function(buf) {
38
39   var crc = -1;
40   for (var i = 0; i < buf.length; i++) {
41     crc = crcTable[(crc ^ buf[i]) & 0xff] ^ (crc >>> 8);
42   }
43   return crc ^ -1;
44 };