~gandalfn/pantheon-debian/gtk+3.0

« back to all changes in this revision

Viewing changes to debian/missing-sources/zlib.js-0.1.6/src/crc32.js

  • Committer: gandalfn at club-internet
  • Date: 2015-08-20 09:24:34 UTC
  • Revision ID: gandalfn@club-internet.fr-20150820092434-obsec9i2cezvyyt6
Initial commit:

Release 3.14.5-1.1
  * debian/patches/ubuntu_gtk_custom_menu_items.patch:
    -  Add UbuntuMenuItemFactory
  * disable check on build package.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/**
 
2
 * @fileoverview CRC32 実装.
 
3
 */
 
4
goog.provide('Zlib.CRC32');
 
5
 
 
6
goog.require('USE_TYPEDARRAY');
 
7
 
 
8
/** @define {boolean} */
 
9
var ZLIB_CRC32_COMPACT = false;
 
10
 
 
11
goog.scope(function() {
 
12
 
 
13
/**
 
14
 * CRC32 ハッシュ値を取得
 
15
 * @param {!(Array.<number>|Uint8Array)} data data byte array.
 
16
 * @param {number=} pos data position.
 
17
 * @param {number=} length data length.
 
18
 * @return {number} CRC32.
 
19
 */
 
20
Zlib.CRC32.calc = function(data, pos, length) {
 
21
  return Zlib.CRC32.update(data, 0, pos, length);
 
22
};
 
23
 
 
24
/**
 
25
 * CRC32ハッシュ値を更新
 
26
 * @param {!(Array.<number>|Uint8Array)} data data byte array.
 
27
 * @param {number} crc CRC32.
 
28
 * @param {number=} pos data position.
 
29
 * @param {number=} length data length.
 
30
 * @return {number} CRC32.
 
31
 */
 
32
Zlib.CRC32.update = function(data, crc, pos, length) {
 
33
  var table = Zlib.CRC32.Table;
 
34
  var i = (typeof pos === 'number') ? pos : (pos = 0);
 
35
  var il = (typeof length === 'number') ? length : data.length;
 
36
 
 
37
  crc ^= 0xffffffff;
 
38
 
 
39
  // loop unrolling for performance
 
40
  for (i = il & 7; i--; ++pos) {
 
41
    crc = (crc >>> 8) ^ table[(crc ^ data[pos]) & 0xff];
 
42
  }
 
43
  for (i = il >> 3; i--; pos += 8) {
 
44
    crc = (crc >>> 8) ^ table[(crc ^ data[pos    ]) & 0xff];
 
45
    crc = (crc >>> 8) ^ table[(crc ^ data[pos + 1]) & 0xff];
 
46
    crc = (crc >>> 8) ^ table[(crc ^ data[pos + 2]) & 0xff];
 
47
    crc = (crc >>> 8) ^ table[(crc ^ data[pos + 3]) & 0xff];
 
48
    crc = (crc >>> 8) ^ table[(crc ^ data[pos + 4]) & 0xff];
 
49
    crc = (crc >>> 8) ^ table[(crc ^ data[pos + 5]) & 0xff];
 
50
    crc = (crc >>> 8) ^ table[(crc ^ data[pos + 6]) & 0xff];
 
51
    crc = (crc >>> 8) ^ table[(crc ^ data[pos + 7]) & 0xff];
 
52
  }
 
53
 
 
54
  return (crc ^ 0xffffffff) >>> 0;
 
55
};
 
56
 
 
57
/**
 
58
 * @param {number} num
 
59
 * @param {number} crc
 
60
 * @returns {number}
 
61
 */
 
62
Zlib.CRC32.single = function(num, crc) {
 
63
  return (Zlib.CRC32.Table[(num ^ crc) & 0xff] ^ (num >>> 8)) >>> 0;
 
64
};
 
65
 
 
66
/**
 
67
 * @type {Array.<number>}
 
68
 * @const
 
69
 * @private
 
70
 */
 
71
Zlib.CRC32.Table_ = [
 
72
  0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f,
 
73
  0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988,
 
74
  0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064, 0x6ab020f2,
 
75
  0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7,
 
76
  0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9,
 
77
  0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172,
 
78
  0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, 0x42b2986c,
 
79
  0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59,
 
80
  0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423,
 
81
  0xcfba9599, 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924,
 
82
  0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, 0x01db7106,
 
83
  0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433,
 
84
  0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d,
 
85
  0x91646c97, 0xe6635c01, 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e,
 
86
  0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950,
 
87
  0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65,
 
88
  0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7,
 
89
  0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0,
 
90
  0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa,
 
91
  0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
 
92
  0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81,
 
93
  0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a,
 
94
  0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683, 0xe3630b12, 0x94643b84,
 
95
  0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1,
 
96
  0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb,
 
97
  0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc,
 
98
  0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 0xd6d6a3e8, 0xa1d1937e,
 
99
  0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b,
 
100
  0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55,
 
101
  0x316e8eef, 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
 
102
  0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, 0xb2bd0b28,
 
103
  0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d,
 
104
  0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f,
 
105
  0x72076785, 0x05005713, 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38,
 
106
  0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242,
 
107
  0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777,
 
108
  0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69,
 
109
  0x616bffd3, 0x166ccf45, 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2,
 
110
  0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc,
 
111
  0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
 
112
  0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693,
 
113
  0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94,
 
114
  0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d
 
115
];
 
116
 
 
117
/**
 
118
 * @type {!(Array.<number>|Uint32Array)} CRC-32 Table.
 
119
 * @const
 
120
 */
 
121
Zlib.CRC32.Table = ZLIB_CRC32_COMPACT ? (function() {
 
122
  /** @type {!(Array.<number>|Uint32Array)} */
 
123
  var table = new (USE_TYPEDARRAY ? Uint32Array : Array)(256);
 
124
  /** @type {number} */
 
125
  var c;
 
126
  /** @type {number} */
 
127
  var i;
 
128
  /** @type {number} */
 
129
  var j;
 
130
 
 
131
  for (i = 0; i < 256; ++i) {
 
132
    c = i;
 
133
    for (j = 0; j < 8; ++j) {
 
134
      c = (c & 1) ? (0xedB88320 ^ (c >>> 1)) : (c >>> 1);
 
135
    }
 
136
    table[i] = c >>> 0;
 
137
  }
 
138
 
 
139
  return table;
 
140
})() : USE_TYPEDARRAY ? new Uint32Array(Zlib.CRC32.Table_) : Zlib.CRC32.Table_;
 
141
 
 
142
});