UNPKG

@thewtex/vtk.js-esm

Version:

Visualization Toolkit for the Web

41 lines (36 loc) 888 B
function getEndianness() { var a = new ArrayBuffer(4); var b = new Uint8Array(a); var c = new Uint32Array(a); b[0] = 0xa1; b[1] = 0xb2; b[2] = 0xc3; b[3] = 0xd4; if (c[0] === 0xd4c3b2a1) return 'LittleEndian'; if (c[0] === 0xa1b2c3d4) return 'BigEndian'; return null; } var ENDIANNESS = getEndianness(); function swapBytes(buffer, wordSize) { if (wordSize < 2) { return; } var bytes = new Int8Array(buffer); var size = bytes.length; var tempBuffer = []; for (var i = 0; i < size; i += wordSize) { for (var j = 0; j < wordSize; j++) { tempBuffer.push(bytes[i + j]); } for (var _j = 0; _j < wordSize; _j++) { bytes[i + _j] = tempBuffer.pop(); } } } var Endian = { ENDIANNESS: ENDIANNESS, getEndianness: getEndianness, swapBytes: swapBytes }; export default Endian; export { ENDIANNESS, getEndianness, swapBytes };