Versions in this module Expand all Collapse all v4 v4.2.5 May 27, 2023 v4.2.4 May 27, 2023 v4.2.3 May 27, 2023 v4.2.2 May 27, 2023 v4.2.1 May 27, 2023 v4.2.0 May 27, 2023 v4.1.3 May 27, 2023 v4.1.2 May 27, 2023 Changes in this version + type E = fe12 + func (e *E) IsOne() bool + func (e *E) One() *E + func (e *E) Set(e2 *E) *E + func (g *E) Equal(g2 *E) bool + type Engine struct + G1 *G1 + G2 *G2 + func NewPairingEngine() *Engine + func (e *Engine) AddPair(g1 *PointG1, g2 *PointG2) *Engine + func (e *Engine) AddPairInv(g1 *PointG1, g2 *PointG2) *Engine + func (e *Engine) Check() bool + func (e *Engine) GT() *GT + func (e *Engine) Reset() *Engine + func (e *Engine) Result() *E + type G1 struct + func NewG1() *G1 + func (g *G1) Add(r, p1, p2 *PointG1) *PointG1 + func (g *G1) Affine(p *PointG1) *PointG1 + func (g *G1) ClearCofactor(p *PointG1) + func (g *G1) DecodePoint(in []byte) (*PointG1, error) + func (g *G1) Double(r, p *PointG1) *PointG1 + func (g *G1) EncodePoint(p *PointG1) []byte + func (g *G1) Equal(p1, p2 *PointG1) bool + func (g *G1) FromBytes(in []byte) (*PointG1, error) + func (g *G1) InCorrectSubgroup(p *PointG1) bool + func (g *G1) IsAffine(p *PointG1) bool + func (g *G1) IsOnCurve(p *PointG1) bool + func (g *G1) IsZero(p *PointG1) bool + func (g *G1) MapToCurve(in []byte) (*PointG1, error) + func (g *G1) MulScalar(c, p *PointG1, e *big.Int) *PointG1 + func (g *G1) MultiExp(r *PointG1, points []*PointG1, powers []*big.Int) (*PointG1, error) + func (g *G1) Neg(r, p *PointG1) *PointG1 + func (g *G1) New() *PointG1 + func (g *G1) One() *PointG1 + func (g *G1) Q() *big.Int + func (g *G1) Sub(c, a, b *PointG1) *PointG1 + func (g *G1) ToBytes(p *PointG1) []byte + func (g *G1) Zero() *PointG1 + type G2 struct + func NewG2() *G2 + func (g *G2) Add(r, p1, p2 *PointG2) *PointG2 + func (g *G2) Affine(p *PointG2) *PointG2 + func (g *G2) ClearCofactor(p *PointG2) + func (g *G2) DecodePoint(in []byte) (*PointG2, error) + func (g *G2) Double(r, p *PointG2) *PointG2 + func (g *G2) EncodePoint(p *PointG2) []byte + func (g *G2) Equal(p1, p2 *PointG2) bool + func (g *G2) FromBytes(in []byte) (*PointG2, error) + func (g *G2) InCorrectSubgroup(p *PointG2) bool + func (g *G2) IsAffine(p *PointG2) bool + func (g *G2) IsOnCurve(p *PointG2) bool + func (g *G2) IsZero(p *PointG2) bool + func (g *G2) MapToCurve(in []byte) (*PointG2, error) + func (g *G2) MulScalar(c, p *PointG2, e *big.Int) *PointG2 + func (g *G2) MultiExp(r *PointG2, points []*PointG2, powers []*big.Int) (*PointG2, error) + func (g *G2) Neg(r, p *PointG2) *PointG2 + func (g *G2) New() *PointG2 + func (g *G2) One() *PointG2 + func (g *G2) Q() *big.Int + func (g *G2) Sub(c, a, b *PointG2) *PointG2 + func (g *G2) ToBytes(p *PointG2) []byte + func (g *G2) Zero() *PointG2 + type GT struct + func NewGT() *GT + func (g *GT) Add(c, a, b *E) + func (g *GT) Exp(c, a *E, s *big.Int) + func (g *GT) FromBytes(in []byte) (*E, error) + func (g *GT) Inverse(c, a *E) + func (g *GT) IsValid(e *E) bool + func (g *GT) Mul(c, a, b *E) + func (g *GT) New() *E + func (g *GT) Q() *big.Int + func (g *GT) Square(c, a *E) + func (g *GT) Sub(c, a, b *E) + func (g *GT) ToBytes(e *E) []byte + type PointG1 [3]fe + func (p *PointG1) Set(p2 *PointG1) *PointG1 + func (p *PointG1) Zero() *PointG1 + type PointG2 [3]fe2 + func (p *PointG2) Set(p2 *PointG2) *PointG2 + func (p *PointG2) Zero() *PointG2