A gate is a building block of an evaluation circuit. For instance, an InputGate represents an abstract unit of input, and a SumGate takes a list of inputs, and has an output which represents the sum of the inputs. For more information on the types of gates available in this package, as well as how to construct gates, see creating input gates.

- DetGate
- DivideGate
- InputGate
- ProductGate
- SumGate

- - Gate -- see arithmetic with circuits
- Gate * Gate -- see arithmetic with circuits
- Gate * Matrix -- see arithmetic with circuits
- Gate * Number -- see arithmetic with circuits
- Gate * RingElement -- see arithmetic with circuits
- Gate + Gate -- see arithmetic with circuits
- Gate + Number -- see arithmetic with circuits
- Gate + RingElement -- see arithmetic with circuits
- Gate - Gate -- see arithmetic with circuits
- Gate - Number -- see arithmetic with circuits
- Gate - RingElement -- see arithmetic with circuits
- Gate / Gate -- see arithmetic with circuits
- Gate ^ ZZ -- see arithmetic with circuits
- Matrix * Gate -- see arithmetic with circuits
- Number * Gate -- see arithmetic with circuits
- Number + Gate -- see arithmetic with circuits
- Number - Gate -- see arithmetic with circuits
- RingElement * Gate -- see arithmetic with circuits
- RingElement + Gate -- see arithmetic with circuits
- RingElement - Gate -- see arithmetic with circuits
- compress(Gate) -- see compressing circuits
- diff(InputGate,Gate) -- see differentiating circuits
- value(Gate,ValueHashTable) -- see evaluating gates