1
0
mirror of https://github.com/sjwhitworth/golearn.git synced 2025-04-30 13:48:57 +08:00
golearn/base/edf/util.go

33 lines
679 B
Go
Raw Normal View History

2014-08-02 16:22:14 +01:00
package edf
func uint64ToBytes(in uint64, out []byte) {
var i uint64
for i = 0; i < 8; i++ {
out[7-i] = byte((in & (0xFF << i * 8) >> i * 8))
}
}
func uint64FromBytes(in []byte) uint64 {
var i uint64
out := uint64(0)
for i = 0; i < 8; i++ {
out |= uint64(in[7-i] << uint64(i*0x8))
}
return out
}
func uint32FromBytes(in []byte) uint32 {
ret := uint32(0)
ret |= uint32(in[0]) << 24
ret |= uint32(in[1]) << 16
ret |= uint32(in[2]) << 8
ret |= uint32(in[3])
return ret
}
func uint32ToBytes(in uint32, out []byte) {
out[0] = byte(in & (0xFF << 24) >> 24)
out[1] = byte(in & (0xFF << 16) >> 16)
out[2] = byte(in & (0xFF << 8) >> 8)
out[3] = byte(in & 0xFF)
}