github.com/emmansun/gmsm@v0.29.1/sm9/bn256/gfp2_g1_decl.go (about) 1 //go:build (amd64 && !purego && !plugin) || (arm64 && !purego) 2 3 package bn256 4 5 // gfP2 multiplication. 6 // 7 //go:noescape 8 func gfp2Mul(c, a, b *gfP2) 9 10 // gfP2 multiplication. c = a*b*u 11 // 12 //go:noescape 13 func gfp2MulU(c, a, b *gfP2) 14 15 // gfP2 multiplication. c = a*u 16 // 17 //go:noescape 18 func gfp2MulU1(c, a *gfP2) 19 20 // gfP2 square. 21 // 22 //go:noescape 23 func gfp2Square(c, a *gfP2) 24 25 // gfP2 square and mult u. 26 // 27 //go:noescape 28 func gfp2SquareU(c, a *gfP2) 29 30 // Point doubling. Sets res = in + in. in can be the point at infinity. 31 // 32 //go:noescape 33 func curvePointDoubleComplete(c, a *curvePoint) 34 35 // Point addition. Sets res = in1 + in2. in1 can be same as in2, also can be at infinity. 36 // 37 //go:noescape 38 func curvePointAddComplete(c, a, b *curvePoint) 39