2018-07-04 10:51:47 +00: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-06-28 06:53:50 +00:00
|
|
|
//go:build (!amd64 && !386 && !ppc64le) || purego
|
2018-07-04 10:51:47 +00:00
|
|
|
|
|
|
|
package sha3
|
|
|
|
|
2019-11-22 12:58:03 +00:00
|
|
|
// A storageBuf is an aligned array of maxRate bytes.
|
|
|
|
type storageBuf [maxRate]byte
|
|
|
|
|
|
|
|
func (b *storageBuf) asBytes() *[maxRate]byte {
|
|
|
|
return (*[maxRate]byte)(b)
|
|
|
|
}
|
|
|
|
|
2018-07-04 10:51:47 +00:00
|
|
|
var (
|
|
|
|
xorIn = xorInGeneric
|
|
|
|
copyOut = copyOutGeneric
|
|
|
|
xorInUnaligned = xorInGeneric
|
|
|
|
copyOutUnaligned = copyOutGeneric
|
|
|
|
)
|
|
|
|
|
|
|
|
const xorImplementationUnaligned = "generic"
|