gmsm/sm9/bn256/gfp2_g1_decl.go

40 lines
776 B
Go
Raw Normal View History

//go:build (amd64 && !purego && !plugin) || (arm64 && !purego)
package bn256
// gfP2 multiplication.
//
//go:noescape
func gfp2Mul(c, a, b *gfP2)
// gfP2 multiplication. c = a*b*u
//
//go:noescape
func gfp2MulU(c, a, b *gfP2)
2023-07-27 15:59:52 +08:00
// gfP2 multiplication. c = a*u
//
//go:noescape
func gfp2MulU1(c, a *gfP2)
// gfP2 square.
//
//go:noescape
func gfp2Square(c, a *gfP2)
// gfP2 square and mult u.
//
//go:noescape
func gfp2SquareU(c, a *gfP2)
// Point doubling. Sets res = in + in. in can be the point at infinity.
//
//go:noescape
func curvePointDoubleComplete(c, a *curvePoint)
2023-07-24 13:02:00 +08:00
// Point addition. Sets res = in1 + in2. in1 can be same as in2, also can be at infinity.
//
//go:noescape
func curvePointAddComplete(c, a, b *curvePoint)
2023-07-24 13:02:00 +08:00