Documentation
¶
Overview ¶
Package sw (short weierstrass)
Index ¶
- func AddStep(api frontend.API, p1, p2 *G2Affine, ext fields.Extension) (G2Affine, LineEvaluation)
- func DoubleStep(api frontend.API, p1 *G2Affine, ext fields.Extension) (G2Affine, LineEvaluation)
- func MillerLoop(api frontend.API, P G1Affine, Q G2Affine, res *fields.E12, ...) *fields.E12
- type G1Affine
- func (p *G1Affine) AddAssign(api frontend.API, p1 G1Affine) *G1Affine
- func (p *G1Affine) Assign(p1 *bls12377.G1Affine)
- func (p *G1Affine) Double(api frontend.API, p1 G1Affine) *G1Affine
- func (p *G1Affine) FromJac(api frontend.API, p1 G1Jac) *G1Affine
- func (p *G1Affine) MustBeEqual(api frontend.API, other G1Affine)
- func (p *G1Affine) Neg(api frontend.API, p1 G1Affine) *G1Affine
- func (p *G1Affine) ScalarMul(api frontend.API, p1 G1Affine, s interface{}) *G1Affine
- func (p *G1Affine) Select(api frontend.API, b frontend.Variable, p1, p2 G1Affine) *G1Affine
- type G1Jac
- type G2Affine
- func (p *G2Affine) AddAssign(api frontend.API, p1 *G2Affine, ext fields.Extension) *G2Affine
- func (p *G2Affine) Assign(p1 *bls12377.G2Affine)
- func (p *G2Affine) Double(api frontend.API, p1 *G2Affine, ext fields.Extension) *G2Affine
- func (p *G2Affine) MustBeEqual(api frontend.API, other G2Affine)
- func (p *G2Affine) Neg(api frontend.API, p1 *G2Affine) *G2Affine
- type G2Jac
- func (p *G2Jac) AddAssign(api frontend.API, p1 *G2Jac, ext fields.Extension) *G2Jac
- func (p *G2Jac) Assign(p1 *bls12377.G2Jac)
- func (p *G2Jac) Double(api frontend.API, p1 *G2Jac, ext fields.Extension) *G2Jac
- func (p *G2Jac) MustBeEqual(api frontend.API, other G2Jac)
- func (p *G2Jac) Neg(api frontend.API, p1 *G2Jac) *G2Jac
- func (p *G2Jac) ToProj(api frontend.API, p1 *G2Jac, ext fields.Extension) *G2Jac
- type G2Proj
- type LineEvaluation
- type PairingContext
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DoubleStep ¶ added in v0.5.2
Types ¶
type G1Affine ¶
G1Affine point in affine coords
func (*G1Affine) AddAssign ¶
AddAssign adds p1 to p using the affine formulas with division, and return p
func (*G1Affine) MustBeEqual ¶
MustBeEqual constraint self to be equal to other into the given constraint system
func (*G1Affine) ScalarMul ¶
ScalarMul computes scalar*p1, affect the result to p, and returns it. n is the number of bits used for the scalar mul. TODO it doesn't work if the scalar if 1, because it ends up doing P-P at the end, involving division by 0 TODO add a panic if scalar == 1 TODO s is an interface, but treated as a variable (ToBinary), there is no specific path for constants
type G1Jac ¶
G1Jac point in Jacobian coords
func (*G1Jac) DoubleAssign ¶
DoubleAssign doubles the receiver point in jacobian coords and returns it
func (*G1Jac) MustBeEqual ¶
MustBeEqual constraint self to be equal to other into the given constraint system
type G2Affine ¶
G2Affine point in affine coords
func (*G2Affine) Double ¶
Double compute 2*p1, assign the result to p and return it Only for curve with j invariant 0 (a=0).
func (*G2Affine) MustBeEqual ¶
MustBeEqual constraint self to be equal to other into the given constraint system
type G2Jac ¶
G2Jac point in Jacobian coords
func (*G2Jac) MustBeEqual ¶
MustBeEqual constraint self to be equal to other into the given constraint system
type LineEvaluation ¶ added in v0.5.2
LineEvaluation represents a sparse Fp12 Elmt (result of the line evaluation)