-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO.txt
71 lines (41 loc) · 2.14 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
- Extend a quantumn bariable by one extra bit 101 becomes 0101
- Create qutatum variable of size guven by classical int a = 5 qN: b = 10
- CX gate on variables allow different size inputs
- Decide if to allow controlled-swap
- there is apperently a |0> reset gate. then early measurement is compulsory.
- also a if on classsical gate.
- allow a[0] = H(a[0]);
- Do the persist kill in a bit level. Run this and then draw
fn main() {
a: q3 = 0;
a[0] = H(a[0]);
b: q1 = 1;
a[1] = X(b);
a
}
- ADD a shor hand "H(a[0])" to mean "a[0] = H(b)"
- Mutiplexer
a = if_qm(a[0]){a[]}
- prevent errors like cx q[0] q[0]
- Divide AST into several files
- Make function out of common stuff.
- Force reset after every operation and persist if needed later.
-Define persist in a way so that a[0] keeps a new copy of only a[0]
- a = 2 + 3 + 4 ..... constant fold to a = 9
- to handel expr = if_qm(){}{}.
c = if_qm(){}{}
a = c + b
- Error message when try to set varaible name with keyword
-REMEMBER IF ELSE PART NOT MENTIONED ITS TAKEN AS if(){}else{0}
- check what happens for a = a + 1 now
- DO Q-3AC or this will mess up persist kill as threre can be mutiple temp on a single variable
-Define constants to be imported as fn abc(){5} then call as i.abc
- A Debug mode where it shows the values in the Qubit lines after each line is executed by pressing <enter> can convert stuff to zero[stop displaying value of that qubit] in simulator as no entanglement issue
- Single unidifed data type thing become qubit on superposition untill then they are classical. Must allow "a:3 = 0" or "a:3 = max" so one can get |----> and |++++> on H
- Replace ASTId.persist_status's data type from str to something more optimal
- id add(a:q7) and we give a q3 at call then increase it to q7
- Take info from function to get better idea od persist kill- currently we are just choosing which function to use.
- maybe we should allow a: c = 5 b : q{a} = 0 to get |00000>
- Make persist kill mechanism only have the quantum data
- Do Persist-kill inside functions also maybe like the way of doing a new context
- ["w",None,'a'] add something for classical in middle