// xorWords XORs multiples of 4 or 8 bytes (depending on architecture.) The
// arguments are assumed to be of equal length.
xorWords XORs multiples of 4 or 8 bytes (depending on architecture.) The
arguments are assumed to be of equal length.
// xorWords XORs multiples of 4 or 8 bytes ( depending on architecture . ) The // arguments are assumed to be of equal length .
func xorWords(dst, a, b []byte) {
	dw := *(*[]uintptr)(unsafe.Pointer(&dst))
	aw := *(*[]uintptr)(unsafe.Pointer(&a))
	bw := *(*[]uintptr)(unsafe.Pointer(&b))
	n := len(b) / wordSize
	for i := 0; i < n; i++ {
		dw[i] = aw[i] ^ bw[i]
	}
}
func xorWords ( dst , a , b [ ] byte ) { dw := * ( * [ ] uintptr ) ( unsafe . Pointer ( & dst ) ) aw := * ( * [ ] uintptr ) ( unsafe . Pointer ( & a ) ) bw := * ( * [ ] uintptr ) ( unsafe . Pointer ( & b ) ) n := len ( b ) / wordSize for i := 0 ; i < n ; i ++ { dw [ i ] = aw [ i ] ^ bw [ i ] } }
xorWords XORs multiples of 4 or 8 bytes (depending on architecture.)
xorWords XORs multiples of 4 or 8 bytes ( depending on architecture . )