Packing
Functions
pack_uint8x16
Packs up to 16 uint8 values into a single bytes32. Unfilled slots are set to 0.
function pack_uint8x16(uint8[] memory array) internal pure returns (bytes32 packed);
unpack_uint8x16
Unpacks a bytes32 into uint8 values, stopping at the first zero
function unpack_uint8x16(bytes32 packed) internal pure returns (uint8[] memory array);
pack_uint64x4
Packs up to 4 uint64 values into a bytes32. Fills missing slots with 0.
function pack_uint64x4(uint64[] memory array) internal pure returns (bytes32 packed);
unpack_uint64x4
Unpacks a bytes32 into up to 4 uint64s, skipping zero values
function unpack_uint64x4(bytes32 packed) internal pure returns (uint64[] memory array);
pack_uint64x16
Packs up to 16 uint64s into 4 bytes32 values. Fills missing slots with 0.
function pack_uint64x16(uint64[] memory array) internal pure returns (bytes32 p0, bytes32 p1, bytes32 p2, bytes32 p3);
unpack_uint64x16
Unpacks 4 bytes32 values into an array of up to 16 uint64s, skipping zero values
function unpack_uint64x16(bytes32 p0, bytes32 p1, bytes32 p2, bytes32 p3)
internal
pure
returns (uint64[] memory array);
_pack4
function _pack4(uint64[] memory a, uint256 offset) private pure returns (bytes32 out);
_unpack4
function _unpack4(bytes32 b, uint64[] memory a, uint256 offset) private pure returns (uint256 newOffset);