Skip to content

Commit 1de6778

Browse files
author
Rúben André Barreiro
committed
Some changes in Classical Circuit added
1 parent 7ce1e47 commit 1de6778

File tree

1 file changed

+42
-5
lines changed

1 file changed

+42
-5
lines changed

src/main/java/org/quisl/framework/java/circuits/classical/ClassicalCircuit.java

Lines changed: 42 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package org.quisl.framework.java.circuits.classical;
22

33
import org.quisl.framework.java.circuits.Circuit;
4-
import org.quisl.framework.java.circuits.common.CircuitPrefixes;
54
import org.quisl.framework.java.circuits.utils.classical.ClassicalMoment;
5+
import org.quisl.framework.java.common.ComputingPrefixes;
66
import org.quisl.framework.java.registers.classical.ClassicalRegister;
7+
import org.quisl.framework.java.units.computing.classical.binary.deterministic.bits.Bit;
78

89
import java.util.Map;
910
import java.util.concurrent.ConcurrentHashMap;
@@ -16,8 +17,8 @@ public class ClassicalCircuit extends Circuit {
1617

1718
public ClassicalCircuit(Long id, ClassicalRegister ... classicalRegisters) {
1819

19-
super( id, CircuitPrefixes.CLASSICAL_CIRCUIT.getCircuitPrefix(),
20-
( "cl-circ-" + id ), classicalRegisters);
20+
super( id, ComputingPrefixes.CLASSICAL_PREFIX.getComputingPrefix(),
21+
( "cl-circ-" + id ), classicalRegisters );
2122

2223
this.classicalRegisters = new ConcurrentHashMap<>();
2324

@@ -39,8 +40,7 @@ public ClassicalCircuit(Long id, ClassicalRegister ... classicalRegisters) {
3940

4041
public ClassicalCircuit(Long id, String classicalCircuitName, ClassicalRegister ... classicalRegisters) {
4142

42-
super( id, CircuitPrefixes.CLASSICAL_CIRCUIT.getCircuitPrefix(),
43-
classicalCircuitName, classicalRegisters);
43+
super( id, ComputingPrefixes.CLASSICAL_PREFIX.getComputingPrefix(), classicalCircuitName, classicalRegisters );
4444

4545
this.classicalRegisters = new ConcurrentHashMap<>();
4646

@@ -61,4 +61,41 @@ public ClassicalCircuit(Long id, String classicalCircuitName, ClassicalRegister
6161
}
6262

6363

64+
public void NOT(Long bitId) {
65+
66+
boolean isBitFound = false;
67+
68+
Bit bitFound = null;
69+
70+
71+
for(ClassicalRegister classicalRegister : this.classicalRegisters.values()) {
72+
73+
Map<Long, Bit> classicalRegisterBits = classicalRegister.getBits();
74+
75+
if (classicalRegisterBits.containsKey(bitId)) {
76+
77+
isBitFound = true;
78+
79+
bitFound = classicalRegisterBits.get(bitId);
80+
81+
break;
82+
83+
}
84+
85+
}
86+
87+
88+
if( isBitFound ) {
89+
90+
NOT(bitId);
91+
92+
}
93+
else {
94+
95+
96+
97+
}
98+
99+
}
100+
64101
}

0 commit comments

Comments
 (0)