Versions in this module Expand all Collapse all v0 v0.4.0 Oct 30, 2021 v0.3.0 May 13, 2021 Changes in this version type Chain + func (c Chain) IsAscending() bool v0.2.0 Apr 5, 2021 v0.1.0 Mar 21, 2021 Changes in this version + type Chain []*big.Int + func Int64s(xs ...int64) Chain + func New() Chain + func Plus(a Chain, x *big.Int) Chain + func Product(a, b Chain) Chain + func (c *Chain) AppendClone(x *big.Int) + func (c Chain) Clone() Chain + func (c Chain) End() *big.Int + func (c Chain) Op(k int) (Op, error) + func (c Chain) Ops(k int) []Op + func (c Chain) Produces(target *big.Int) error + func (c Chain) Program() (Program, error) + func (c Chain) Superset(targets []*big.Int) error + func (c Chain) Validate() error + type Op struct + I int + J int + func (o Op) IsDouble() bool + func (o Op) Operands() []int + func (o Op) Uses(i int) bool + type Program []Op + func (p *Program) Add(i, j int) (int, error) + func (p *Program) Double(i int) (int, error) + func (p *Program) Shift(i int, s uint) (int, error) + func (p Program) Adds() int + func (p Program) Count() (doubles, adds int) + func (p Program) Dependencies() []*big.Int + func (p Program) Doubles() int + func (p Program) Evaluate() Chain + func (p Program) ReadCounts() []int