github.com/protolambda/zssz@v0.1.5/util/endianness/endianness.go (about) 1 package endianness 2 3 import ( 4 "unsafe" 5 ) 6 7 var IsLittleEndian bool 8 9 func init() { 10 buf := [2]byte{} 11 *(*uint16)(unsafe.Pointer(&buf[0])) = uint16(0xABCD) 12 13 switch buf { 14 case [2]byte{0xCD, 0xAB}: 15 IsLittleEndian = true 16 case [2]byte{0xAB, 0xCD}: 17 IsLittleEndian = false 18 default: 19 panic("Could not determine native endianness.") 20 } 21 }