// Copyright 2015 The Go Authors. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.packagesha3import"encoding/binary"// xorInGeneric xors the bytes in buf into the state; it// makes no non-portable assumptions about memory layout// or alignment.funcxorInGeneric(d*state,buf[]byte){n:=len(buf)/8fori:=0;i<n;i++{a:=binary.LittleEndian.Uint64(buf)d.a[i]^=abuf=buf[8:]}}// copyOutGeneric copies ulint64s to a byte buffer.funccopyOutGeneric(d*state,b[]byte){fori:=0;len(b)>=8;i++{binary.LittleEndian.PutUint64(b,d.a[i])b=b[8:]}}