Versions in this module Expand all Collapse all v0 v0.0.3 Aug 16, 2024 v0.0.2 Aug 14, 2024 Changes in this version + const NbFieldOperationsPerGroup + func GetCircuitVariables(assignment frontend.Circuit, field field.Field) []constraint.Element + func IsAllHintsSolvingTimeDeterminable(rc *RootCircuit) bool + func Validate(rc *RootCircuit) error + func ValidateForLayering(rc *RootCircuit) error + type Circuit struct + Constraints []expr.Expression + Instructions []Instruction + NbExternalInput int + Output []expr.Expression + func (ci *Circuit) Print(field field.Field) + type CircuitForSerialization struct + Constraints []expr.Expression + Instructions []InstructionForSerialization + NbExternalInput int + Output []expr.Expression + type CircuitSolveInfo struct + LayerDoneSignals []int + MaxChanSize int + NbVars int + SolveOrder [][][]int + type InputOrder struct + CircuitInputIds []int + InputLen int + Insn []InputOrderInstruction + type InputOrderInstruction struct + CircuitInputIds []int + SubCircuit []InputOrderInstruction + type InputSolver struct + CircuitsSolveInfo map[uint64]*CircuitSolveInfo + InputOrder *InputOrder + RootCircuit *RootCircuit + func DeserializeInputSolver(data []byte) *InputSolver + func GetInputSolver(rc *RootCircuit, od *InputOrder) *InputSolver + func (is *InputSolver) Serialize() []byte + func (solver *InputSolver) SolveInput(assignment frontend.Circuit, nbThreads int) (Witness, error) + func (solver *InputSolver) SolveInputAuto(assignment frontend.Circuit) (Witness, error) + type InputSolverForSerialization struct + Circuits map[uint64]*CircuitForSerialization + CircuitsSolveInfo map[uint64]*CircuitSolveInfo + Field *big.Int + InputOrder *InputOrder + type Instruction struct + CustomGateType uint64 + HintFunc solver.Hint + Inputs []expr.Expression + OutputIds []int + SubCircuitId uint64 + Type InstructionType + func NewCustomGateInstruction(f solver.Hint, gateType uint64, inputs []expr.Expression, outputId int) Instruction + func NewGetRandomInstruction(outputId int) Instruction + func NewHintInstruction(f solver.Hint, inputs []expr.Expression, outputIds []int) Instruction + func NewInternalVariableInstruction(e expr.Expression, o int) Instruction + func NewSubCircuitInstruction(subId uint64, inputs []expr.Expression, outputsIds []int) Instruction + type InstructionForSerialization struct + CustomGateType uint64 + HintID solver.HintID + Inputs []expr.Expression + OutputIds []int + SubCircuitId uint64 + Type InstructionType + type InstructionType int + const ICustomGate + const IGetRandom + const IHint + const IInternalVariable + const ISubCircuit + type RootCircuit struct + Circuits map[uint64]*Circuit + Field field.Field + func AdjustForLayering(rc *RootCircuit) *RootCircuit + func (rc *RootCircuit) GetStats() Stats + func (rc *RootCircuit) Print() + type Stats struct + NbConstraints int + NbExpandedTerms int + NbRootInput int + NbTotTerms int + type Witness []*big.Int + func (w Witness) Serialize() []byte