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