Versions in this module Expand all Collapse all v1 v1.0.1 Dec 19, 2023 Changes in this version + var DecomposeScalarG1 = func(scalarField *big.Int, inputs []*big.Int, res []*big.Int) error + var DecomposeScalarG2 = func(scalarField *big.Int, inputs []*big.Int, res []*big.Int) error + func PairingCheck(api frontend.API, P []G1Affine, Q []G2Affine) error + type Curve struct + func NewCurve(api frontend.API) (*Curve, error) + func (c *Curve) Add(P, Q *G1Affine) *G1Affine + func (c *Curve) AddUnified(P, Q *G1Affine) *G1Affine + func (c *Curve) AssertIsEqual(P, Q *G1Affine) + func (c *Curve) Lookup2(b1, b2 frontend.Variable, p1, p2, p3, p4 *G1Affine) *G1Affine + func (c *Curve) MarshalG1(P G1Affine) []frontend.Variable + func (c *Curve) MarshalScalar(s Scalar) []frontend.Variable + func (c *Curve) MultiScalarMul(P []*G1Affine, scalars []*Scalar, opts ...algopts.AlgebraOption) (*G1Affine, error) + func (c *Curve) Neg(P *G1Affine) *G1Affine + func (c *Curve) ScalarMul(P *G1Affine, s *Scalar, opts ...algopts.AlgebraOption) *G1Affine + func (c *Curve) ScalarMulBase(s *Scalar, opts ...algopts.AlgebraOption) *G1Affine + func (c *Curve) Select(b frontend.Variable, p1, p2 *G1Affine) *G1Affine + type G1Affine struct + X frontend.Variable + Y frontend.Variable + func NewG1Affine(v bls24315.G1Affine) G1Affine + func (P *G1Affine) ScalarMul(api frontend.API, Q G1Affine, s interface{}) *G1Affine + func (P *G1Affine) ScalarMulBase(api frontend.API, s frontend.Variable) *G1Affine + func (p *G1Affine) AddAssign(api frontend.API, p1 G1Affine) *G1Affine + func (p *G1Affine) AddUnified(api frontend.API, q G1Affine) *G1Affine + func (p *G1Affine) AssertIsEqual(api frontend.API, other G1Affine) + func (p *G1Affine) Assign(p1 *bls24315.G1Affine) + func (p *G1Affine) Double(api frontend.API, p1 G1Affine) *G1Affine + func (p *G1Affine) DoubleAndAdd(api frontend.API, p1, p2 *G1Affine) *G1Affine + func (p *G1Affine) FromJac(api frontend.API, p1 G1Jac) *G1Affine + func (p *G1Affine) Neg(api frontend.API, p1 G1Affine) *G1Affine + func (p *G1Affine) Select(api frontend.API, b frontend.Variable, p1, p2 G1Affine) *G1Affine + type G1Jac struct + X frontend.Variable + Y frontend.Variable + Z frontend.Variable + func (p *G1Jac) AddAssign(api frontend.API, p1 G1Jac) *G1Jac + func (p *G1Jac) AssertIsEqual(api frontend.API, other G1Jac) + func (p *G1Jac) Assign(p1 *bls24315.G1Jac) + func (p *G1Jac) DoubleAssign(api frontend.API) *G1Jac + func (p *G1Jac) Neg(api frontend.API, p1 G1Jac) *G1Jac + type G2Affine struct + Lines *lineEvaluations + P g2AffP + func NewG2Affine(v bls24315.G2Affine) G2Affine + func NewG2AffineFixed(v bls24315.G2Affine) G2Affine + func NewG2AffineFixedPlaceholder() G2Affine + type G2Jac struct + X fields_bls24315.E4 + Y fields_bls24315.E4 + Z fields_bls24315.E4 + func (p *G2Jac) AddAssign(api frontend.API, p1 *G2Jac) *G2Jac + func (p *G2Jac) AssertIsEqual(api frontend.API, other G2Jac) + func (p *G2Jac) Assign(p1 *bls24315.G2Jac) + func (p *G2Jac) Double(api frontend.API, p1 G2Jac) *G2Jac + func (p *G2Jac) Neg(api frontend.API, p1 G2Jac) *G2Jac + type GT = fields_bls24315.E24 + func FinalExponentiation(api frontend.API, e1 GT) GT + func MillerLoop(api frontend.API, P []G1Affine, Q []G2Affine) (GT, error) + func NewGTEl(v bls24315.GT) GT + func Pair(api frontend.API, P []G1Affine, Q []G2Affine) (GT, error) + type Pairing struct + func NewPairing(api frontend.API) *Pairing + func (p *Pairing) AssertIsEqual(e1, e2 *GT) + func (p *Pairing) FinalExponentiation(e *GT) *GT + func (p *Pairing) MillerLoop(P []*G1Affine, Q []*G2Affine) (*GT, error) + func (p *Pairing) Pair(P []*G1Affine, Q []*G2Affine) (*GT, error) + func (p *Pairing) PairingCheck(P []*G1Affine, Q []*G2Affine) error + type Scalar = emulated.Element[ScalarField] + func NewScalar(v fr_bls24315.Element) Scalar + type ScalarField = emparams.BLS12315Fr