You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
440 B
25 lines
440 B
const isBigEndian = (new Uint8Array(new Uint32Array([0x12345678]).buffer)[0] === 0x12);
|
|
|
|
const swap = (b, n, m) => {
|
|
let i = b[n];
|
|
b[n] = b[m];
|
|
b[m] = i;
|
|
};
|
|
|
|
const swap32 = array => {
|
|
const len = array.length;
|
|
for (let i = 0; i < len; i += 4) {
|
|
swap(array, i, i + 3);
|
|
swap(array, i + 1, i + 2);
|
|
}
|
|
};
|
|
|
|
const swap32LE = array => {
|
|
if (isBigEndian) {
|
|
swap32(array);
|
|
}
|
|
};
|
|
|
|
module.exports = {
|
|
swap32LE: swap32LE
|
|
};
|