// // MemoryPacker.cpp // Clock Signal // // Created by Thomas Harte on 03/05/2019. // Copyright © 2019 Thomas Harte. All rights reserved. // #include "MemoryPacker.hpp" #include void Memory::PackBigEndian16(const std::vector &source, uint16_t *target) { for(size_t c = 0; c < source.size(); c += 2) { target[c >> 1] = uint16_t(source[c] << 8) | uint16_t(source[c+1]); } } void Memory::PackBigEndian16(const std::vector &source, uint8_t *target) { PackBigEndian16(source, reinterpret_cast(target)); } void Memory::PackBigEndian16(const std::vector &source, std::vector &target) { target.resize(source.size() >> 1); PackBigEndian16(source, target.data()); } void Memory::PackBigEndian16(const std::vector &source, std::vector &target) { target.resize(source.size()); PackBigEndian16(source, target.data()); }