Versions in this module Expand all Collapse all v0 v0.1.2 Apr 28, 2020 Changes in this version + const ID + func MulByNonResidue(out, in *fp.Element) *fp.Element + func MulByNonResidueInv(out, in *fp.Element) *fp.Element + type Curve struct + B fp.Element + func BLS381() *Curve + func (curve *Curve) FinalExponentiation(z *e12, _z ...*e12) e12 + func (curve *Curve) MillerLoop(P G1Affine, Q G2Affine, result *e12) *e12 + type G1Affine struct + X fp.Element + Y fp.Element + func (p *G1Affine) Equal(a *G1Affine) bool + func (p *G1Affine) IsInfinity() bool + func (p *G1Affine) Neg(a *G1Affine) *G1Affine + func (p *G1Affine) String(curve *Curve) string + func (p *G1Affine) ToJacobian(Q *G1Jac) *G1Jac + type G1Jac struct + X fp.Element + Y fp.Element + Z fp.Element + func (p *G1Jac) Add(curve *Curve, a *G1Jac) *G1Jac + func (p *G1Jac) AddMixed(a *G1Affine) *G1Jac + func (p *G1Jac) Clone() *G1Jac + func (p *G1Jac) Double() *G1Jac + func (p *G1Jac) Equal(a *G1Jac) bool + func (p *G1Jac) MultiExp(curve *Curve, points []G1Affine, scalars []fr.Element) chan G1Jac + func (p *G1Jac) Neg(a *G1Jac) *G1Jac + func (p *G1Jac) ScalarMul(curve *Curve, a *G1Jac, scalar fr.Element) *G1Jac + func (p *G1Jac) ScalarMulByGen(curve *Curve, scalar fr.Element) *G1Jac + func (p *G1Jac) Set(a *G1Jac) *G1Jac + func (p *G1Jac) String(curve *Curve) string + func (p *G1Jac) Sub(curve *Curve, a G1Jac) *G1Jac + func (p *G1Jac) ToAffineFromJac(res *G1Affine) *G1Affine + func (p *G1Jac) ToProjFromJac() *G1Jac + func (p *G1Jac) WindowedMultiExp(curve *Curve, points []G1Jac, scalars []fr.Element) *G1Jac + type G2Affine struct + X e2 + Y e2 + func (p *G2Affine) Equal(a *G2Affine) bool + func (p *G2Affine) IsInfinity() bool + func (p *G2Affine) Neg(a *G2Affine) *G2Affine + func (p *G2Affine) String(curve *Curve) string + func (p *G2Affine) ToJacobian(Q *G2Jac) *G2Jac + type G2Jac struct + X e2 + Y e2 + Z e2 + func (p *G2Jac) Add(curve *Curve, a *G2Jac) *G2Jac + func (p *G2Jac) AddMixed(a *G2Affine) *G2Jac + func (p *G2Jac) Clone() *G2Jac + func (p *G2Jac) Double() *G2Jac + func (p *G2Jac) Equal(a *G2Jac) bool + func (p *G2Jac) MultiExp(curve *Curve, points []G2Affine, scalars []fr.Element) chan G2Jac + func (p *G2Jac) Neg(a *G2Jac) *G2Jac + func (p *G2Jac) ScalarMul(curve *Curve, a *G2Jac, scalar fr.Element) *G2Jac + func (p *G2Jac) ScalarMulByGen(curve *Curve, scalar fr.Element) *G2Jac + func (p *G2Jac) Set(a *G2Jac) *G2Jac + func (p *G2Jac) String(curve *Curve) string + func (p *G2Jac) Sub(curve *Curve, a G2Jac) *G2Jac + func (p *G2Jac) ToAffineFromJac(res *G2Affine) *G2Affine + func (p *G2Jac) ToProjFromJac() *G2Jac + func (p *G2Jac) WindowedMultiExp(curve *Curve, points []G2Jac, scalars []fr.Element) *G2Jac + type PairingResult = e12