2020-02-12 19:19:23 +01:00
|
|
|
// 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.
|
|
|
|
|
2021-04-19 12:48:51 +02:00
|
|
|
//go:build (!amd64 && !386 && !ppc64le) || purego
|
2020-02-12 19:19:23 +01:00
|
|
|
|
|
|
|
package sha3
|
|
|
|
|
|
|
|
// A storageBuf is an aligned array of maxRate bytes.
|
|
|
|
type storageBuf [maxRate]byte
|
|
|
|
|
|
|
|
func (b *storageBuf) asBytes() *[maxRate]byte {
|
|
|
|
return (*[maxRate]byte)(b)
|
|
|
|
}
|
|
|
|
|
|
|
|
var (
|
|
|
|
xorIn = xorInGeneric
|
|
|
|
copyOut = copyOutGeneric
|
|
|
|
xorInUnaligned = xorInGeneric
|
|
|
|
copyOutUnaligned = copyOutGeneric
|
|
|
|
)
|
|
|
|
|
|
|
|
const xorImplementationUnaligned = "generic"
|