github.com/consensys/gnark@v0.11.0/internal/backend/circuits/iszero.go (about) 1 package circuits 2 3 import ( 4 "github.com/consensys/gnark/frontend" 5 ) 6 7 type isZero struct { 8 X, Y frontend.Variable 9 } 10 11 func (circuit *isZero) Define(api frontend.API) error { 12 13 a := api.IsZero(circuit.X) 14 b := api.IsZero(circuit.Y) 15 c := api.IsZero(1) 16 d := api.IsZero(0) 17 api.AssertIsEqual(a, 1) 18 api.AssertIsEqual(b, 0) 19 api.AssertIsEqual(c, 0) 20 api.AssertIsEqual(d, 1) 21 22 return nil 23 } 24 25 func init() { 26 27 var circuit, good, bad isZero 28 29 good.X = (0) 30 good.Y = (203028) 31 32 bad.X = (23) 33 bad.Y = (0) 34 35 addEntry("isZero", &circuit, &good, &bad, nil) 36 }