| 14 | return ((uint32_t)a[0]) + ((uint32_t)a[1])*256; |
| 15 | } |
| 16 | static uint32_t read32(std::istream& in) { |
| 17 | unsigned char a[4]; |
| 18 | in.read((char*)a, sizeof(a)); |
| 19 | return ((uint32_t)a[0]&0xff) + ((uint32_t)a[1])*256 + ((uint32_t)a[2])*65536 + ((uint32_t)a[3])*256*65536; |
| 20 | } |
| 21 | |
| 22 | static void write16(std::ostream& out, uint16_t value) { |
| 23 | char a[2] = {(char)(value>>0), (char)(value>>8)}; |