<> <> <> <> <<>> DIRECTORY Core, CoreCreate, CoreOps, Sisyph; TamWires: CEDAR PROGRAM IMPORTS CoreCreate, CoreOps <> = BEGIN Context: TYPE = Sisyph.Context; WIProc: TYPE = PROC[cx: Context _ NIL] RETURNS[wire: Wire _ NIL]; Wire: TYPE = Core.Wire; Wires: TYPE = Core.Wires; globWire: PUBLIC Wire; Dual: PUBLIC WIProc = { a: Core.Wire _ CoreOps.CreateWires[size: 32, name: "perm"]; b: Core.Wire _ CoreCreate.Seq[size: 32, name: "norm"]; FOR bit: NAT IN [0..7] DO FOR byte: NAT IN [0..3] DO a[byte+bit*4] _ b[byte*4+bit]; ENDLOOP; ENDLOOP; wire _ CoreCreate.Seq[size: 2]; wire[0] _ a; wire[1] _ b; globWire _ wire }; END.