MCPcopy Create free account
hub / github.com/djhworld/simple-computer / Update

Method Update

components/decoders.go:90–112  ·  view source on GitHub ↗
(inputA, inputB, inputC bool)

Source from the content-addressed store, hash-verified

88}
89
90func (d *Decoder3x8) Update(inputA, inputB, inputC bool) {
91 d.inputA.Update(inputA)
92 d.inputB.Update(inputB)
93 d.inputC.Update(inputC)
94
95 d.notGates[0].Update(d.inputA.Get())
96 d.notGates[1].Update(d.inputB.Get())
97 d.notGates[2].Update(d.inputC.Get())
98
99 d.andGates[0].Update(d.notGates[0].Output(), d.notGates[1].Output(), d.notGates[2].Output())
100 d.andGates[1].Update(d.notGates[0].Output(), d.notGates[1].Output(), d.inputC.Get())
101 d.andGates[2].Update(d.notGates[0].Output(), d.inputB.Get(), d.notGates[2].Output())
102 d.andGates[3].Update(d.notGates[0].Output(), d.inputB.Get(), d.inputC.Get())
103
104 d.andGates[4].Update(d.inputA.Get(), d.notGates[1].Output(), d.notGates[2].Output())
105 d.andGates[5].Update(d.inputA.Get(), d.notGates[1].Output(), d.inputC.Get())
106 d.andGates[6].Update(d.inputA.Get(), d.inputB.Get(), d.notGates[2].Output())
107 d.andGates[7].Update(d.inputA.Get(), d.inputB.Get(), d.inputC.Get())
108
109 for i, _ := range d.outputs {
110 d.outputs[i].Update(d.andGates[i].Output())
111 }
112}
113
114type Decoder4x16 struct {
115 notGates [4]circuit.NOTGate

Callers 1

Test3x8DecoderFunction · 0.95

Calls 3

UpdateMethod · 0.65
GetMethod · 0.45
OutputMethod · 0.45

Tested by 1

Test3x8DecoderFunction · 0.76