github.com/consensys/gnark@v0.11.0/internal/backend/circuits/neg.go (about) 1 package circuits 2 3 import ( 4 "github.com/consensys/gnark/frontend" 5 ) 6 7 type negCircuit struct { 8 X frontend.Variable 9 Z frontend.Variable `gnark:",public"` 10 } 11 12 func (circuit *negCircuit) Define(api frontend.API) error { 13 a := api.Mul(circuit.X, circuit.X) 14 b := api.Neg(circuit.X) 15 c := api.Add(a, b) 16 api.AssertIsEqual(c, circuit.Z) 17 return nil 18 } 19 20 func init() { 21 22 var circuit, good, bad negCircuit 23 24 good.X = (6) 25 good.Z = (30) 26 27 bad.X = (7) 28 bad.Z = (30) 29 30 addEntry("neg", &circuit, &good, &bad, nil) 31 }