Averest


CircuitGate Type

This type provides basic gates for implementing arithmetic circuits. In particular, we have:

  • AND(x1,x2) = x1∧x2
  • XOR(x1,x2) = x1⊕x2
  • OR(x1,x2) = x1∨x2
  • HA(x1,x2) = [|x1⊕x2;x1∧x2|]
  • FA(x1,x2,x3) = [|x1⊕x2⊕x3;x1∧x2∨x3∧(x1⊕x2)|]
  • PG(g1,p1,g2,p2) = [|p2∧p1;g2∨(p2∧g1)|]
  • MX(c,x0,x1) = [|(c?x1[0]:x0[0]);...;(c?x1[n]:x0[n]);|]
  • SW(c,x0,x1) = [|(c?x1[0]:x0[0]);...;(c?x1[n]:x0[n]); (c?x0[0]:x1[0]);...;(c?x0[n]:x1[n])|]

Union cases

Union case Description

AND(string, string)

Full Usage: AND(string, string)

Parameters:
    Item1 : string
    Item2 : string

Item1 : string
Item2 : string

FA(string, string, string)

Full Usage: FA(string, string, string)

Parameters:
    Item1 : string
    Item2 : string
    Item3 : string

Item1 : string
Item2 : string
Item3 : string

HA(string, string)

Full Usage: HA(string, string)

Parameters:
    Item1 : string
    Item2 : string

Item1 : string
Item2 : string

MX(string, string[], string[])

Full Usage: MX(string, string[], string[])

Parameters:
    Item1 : string
    Item2 : string[]
    Item3 : string[]

Item1 : string
Item2 : string[]
Item3 : string[]

NOT string

Full Usage: NOT string

Parameters:
    Item : string

Item : string

OR(string, string)

Full Usage: OR(string, string)

Parameters:
    Item1 : string
    Item2 : string

Item1 : string
Item2 : string

PG(string, string, string, string)

Full Usage: PG(string, string, string, string)

Parameters:
    Item1 : string
    Item2 : string
    Item3 : string
    Item4 : string

Item1 : string
Item2 : string
Item3 : string
Item4 : string

SW(string, string[], string[])

Full Usage: SW(string, string[], string[])

Parameters:
    Item1 : string
    Item2 : string[]
    Item3 : string[]

Item1 : string
Item2 : string[]
Item3 : string[]

XOR(string, string)

Full Usage: XOR(string, string)

Parameters:
    Item1 : string
    Item2 : string

Item1 : string
Item2 : string