xor.go 358 B

123456789101112131415161718
  1. //go:build !amd64
  2. // +build !amd64
  3. package kcp
  4. // xorfwd performs XOR forwards in words, x[i] ^= x[i-4], i from 0 to len
  5. func xorfwd(x []byte) {
  6. for i := 4; i < len(x); i++ {
  7. x[i] ^= x[i-4]
  8. }
  9. }
  10. // xorbkd performs XOR backwords in words, x[i] ^= x[i-4], i from len to 0
  11. func xorbkd(x []byte) {
  12. for i := len(x) - 1; i >= 4; i-- {
  13. x[i] ^= x[i-4]
  14. }
  15. }