Official Go implementation of the Ethereum protocol
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
//go:build (amd64 && !generic) || (arm64 && !generic)
|
|
|
|
// +build amd64,!generic arm64,!generic
|
|
|
|
|
|
|
|
package bn256
|
|
|
|
|
|
|
|
// This file contains forward declarations for the architecture-specific
|
|
|
|
// assembly implementations of these functions, provided that they exist.
|
|
|
|
|
|
|
|
import (
|
|
|
|
"golang.org/x/sys/cpu"
|
|
|
|
)
|
|
|
|
|
|
|
|
//nolint:varcheck
|
|
|
|
var hasBMI2 = cpu.X86.HasBMI2
|
|
|
|
|
|
|
|
// go:noescape
|
|
|
|
func gfpNeg(c, a *gfP)
|
|
|
|
|
|
|
|
//go:noescape
|
|
|
|
func gfpAdd(c, a, b *gfP)
|
|
|
|
|
|
|
|
//go:noescape
|
|
|
|
func gfpSub(c, a, b *gfP)
|
|
|
|
|
|
|
|
//go:noescape
|
|
|
|
func gfpMul(c, a, b *gfP)
|