github.com/consensys/gnark@v0.11.0/internal/backend/circuits/add.go (about) 1 package circuits 2 3 import ( 4 "github.com/consensys/gnark/frontend" 5 ) 6 7 type addCircuit struct { 8 A, B, C, D frontend.Variable 9 Z frontend.Variable `gnark:",public"` 10 } 11 12 func (circuit *addCircuit) Define(api frontend.API) error { 13 14 a := api.Add(circuit.A, circuit.B, 3, circuit.C, "273823", circuit.D) 15 b := api.Add(circuit.A, 2) 16 c := api.Add(2, circuit.A) 17 d := api.Add(circuit.B, circuit.A) 18 api.AssertIsEqual(a, circuit.Z) 19 api.AssertIsEqual(b, 8) 20 api.AssertIsEqual(c, 8) 21 api.AssertIsEqual(d, 8) 22 return nil 23 } 24 25 func init() { 26 27 var circuit, good, bad addCircuit 28 29 good.A = 6 30 good.B = 2 31 good.C = 123 32 good.D = 76 33 good.Z = 274033 34 35 bad.A = 6 36 bad.B = 2 37 bad.C = 123 38 bad.D = 76 39 bad.Z = 1 40 41 addEntry("add", &circuit, &good, &bad, nil) 42 }