//go:build !puregopackage aeshashimport ()// hashRandomBytes is 48 since this is what the assembly code depends on.const hashRandomBytes = 48var aeskeysched [hashRandomBytes]bytefunc init() {for , := rangeaeskeysched {if != 0 {// aeskeysched was initialized somewhere else (e.g. tests), so we // can skip initialization. No synchronization is needed since init // functions are called sequentially in a single goroutine (see // https://go.dev/ref/spec#Package_initialization).return } } := (*[hashRandomBytes / 8]uint64)(unsafe.Pointer(&aeskeysched))for := range { [] = rand.Uint64() }}// Enabled returns true if AES hash is available on the system.//// The function uses the same logic than the Go runtime since we depend on// the AES hash state being initialized.//// See https://go.dev/src/runtime/alg.gofunc () bool { returncpu.X86.HasAES && cpu.X86.HasSSSE3 && cpu.X86.HasSSE41 }//go:noescapefunc ( uint32, uintptr) uintptr//go:noescapefunc ( uint64, uintptr) uintptr//go:noescapefunc ( [16]byte, uintptr) uintptr//go:noescapefunc ( []uintptr, sparse.Uint32Array, uintptr)//go:noescapefunc ( []uintptr, sparse.Uint64Array, uintptr)//go:noescapefunc ( []uintptr, sparse.Uint128Array, uintptr)
The pages are generated with Goldsv0.8.2. (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds.