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

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
};