From: miha-q <> Date: Sun, 4 Aug 2024 18:44:44 +0000 (-0400) Subject: Sun Aug 4 02:44:44 PM EDT 2024 X-Git-Url: http://www.foleosoft.com/?a=commitdiff_plain;h=27c173df7477730fd7b317a4c90cb248c312645e;p=QAnsel.git Sun Aug 4 02:44:44 PM EDT 2024 --- diff --git a/examples/toffoli.txt b/examples/toffoli.txt new file mode 100644 index 0000000..398551d --- /dev/null +++ b/examples/toffoli.txt @@ -0,0 +1,243 @@ +qreg q[3]; +creg c[3]; + +//000 +reset q[0]; +reset q[1]; +reset q[2]; +measure q[0] -> c[0]; +measure q[1] -> c[1]; +measure q[2] -> c[2]; +print c; +//ccx +h q[2]; +cx q[1], q[2]; +tdg q[2]; +cx q[0], q[2]; +t q[2]; +cx q[1], q[2]; +tdg q[2]; +cx q[0], q[2]; +t q[1]; +t q[2]; +h q[2]; +cx q[0], q[1]; +t q[0]; +tdg q[1]; +cx q[0], q[1]; +measure q[0] -> c[0]; +measure q[1] -> c[1]; +measure q[2] -> c[2]; +print c; +print q; + +//001 +set q[0]; +reset q[1]; +reset q[2]; +measure q[0] -> c[0]; +measure q[1] -> c[1]; +measure q[2] -> c[2]; +print c; +//ccx +h q[2]; +cx q[1], q[2]; +tdg q[2]; +cx q[0], q[2]; +t q[2]; +cx q[1], q[2]; +tdg q[2]; +cx q[0], q[2]; +t q[1]; +t q[2]; +h q[2]; +cx q[0], q[1]; +t q[0]; +tdg q[1]; +cx q[0], q[1]; +measure q[0] -> c[0]; +measure q[1] -> c[1]; +measure q[2] -> c[2]; +print c; +print q; + +//010 +reset q[0]; +set q[1]; +reset q[2]; +measure q[0] -> c[0]; +measure q[1] -> c[1]; +measure q[2] -> c[2]; +print c; +//ccx +h q[2]; +cx q[1], q[2]; +tdg q[2]; +cx q[0], q[2]; +t q[2]; +cx q[1], q[2]; +tdg q[2]; +cx q[0], q[2]; +t q[1]; +t q[2]; +h q[2]; +cx q[0], q[1]; +t q[0]; +tdg q[1]; +cx q[0], q[1]; +measure q[0] -> c[0]; +measure q[1] -> c[1]; +measure q[2] -> c[2]; +print c; +print q; + +//011 +set q[0]; +set q[1]; +reset q[2]; +measure q[0] -> c[0]; +measure q[1] -> c[1]; +measure q[2] -> c[2]; +print c; +//ccx +h q[2]; +cx q[1], q[2]; +tdg q[2]; +cx q[0], q[2]; +t q[2]; +cx q[1], q[2]; +tdg q[2]; +cx q[0], q[2]; +t q[1]; +t q[2]; +h q[2]; +cx q[0], q[1]; +t q[0]; +tdg q[1]; +cx q[0], q[1]; +measure q[0] -> c[0]; +measure q[1] -> c[1]; +measure q[2] -> c[2]; +print c; +print q; + +//100 +reset q[0]; +reset q[1]; +set q[2]; +measure q[0] -> c[0]; +measure q[1] -> c[1]; +measure q[2] -> c[2]; +print c; +//ccx +h q[2]; +cx q[1], q[2]; +tdg q[2]; +cx q[0], q[2]; +t q[2]; +cx q[1], q[2]; +tdg q[2]; +cx q[0], q[2]; +t q[1]; +t q[2]; +h q[2]; +cx q[0], q[1]; +t q[0]; +tdg q[1]; +cx q[0], q[1]; +measure q[0] -> c[0]; +measure q[1] -> c[1]; +measure q[2] -> c[2]; +print c; +print q; + +//101 +set q[0]; +reset q[1]; +set q[2]; +measure q[0] -> c[0]; +measure q[1] -> c[1]; +measure q[2] -> c[2]; +print c; +//ccx +h q[2]; +cx q[1], q[2]; +tdg q[2]; +cx q[0], q[2]; +t q[2]; +cx q[1], q[2]; +tdg q[2]; +cx q[0], q[2]; +t q[1]; +t q[2]; +h q[2]; +cx q[0], q[1]; +t q[0]; +tdg q[1]; +cx q[0], q[1]; +measure q[0] -> c[0]; +measure q[1] -> c[1]; +measure q[2] -> c[2]; +print c; +print q; + +//110 +reset q[0]; +set q[1]; +set q[2]; +measure q[0] -> c[0]; +measure q[1] -> c[1]; +measure q[2] -> c[2]; +print c; +//ccx +h q[2]; +cx q[1], q[2]; +tdg q[2]; +cx q[0], q[2]; +t q[2]; +cx q[1], q[2]; +tdg q[2]; +cx q[0], q[2]; +t q[1]; +t q[2]; +h q[2]; +cx q[0], q[1]; +t q[0]; +tdg q[1]; +cx q[0], q[1]; +measure q[0] -> c[0]; +measure q[1] -> c[1]; +measure q[2] -> c[2]; +print c; +print q; + +//111 +set q[0]; +set q[1]; +set q[2]; +measure q[0] -> c[0]; +measure q[1] -> c[1]; +measure q[2] -> c[2]; +print c; +//ccx +h q[2]; +cx q[1], q[2]; +tdg q[2]; +cx q[0], q[2]; +t q[2]; +cx q[1], q[2]; +tdg q[2]; +cx q[0], q[2]; +t q[1]; +t q[2]; +h q[2]; +cx q[0], q[1]; +t q[0]; +tdg q[1]; +cx q[0], q[1]; +measure q[0] -> c[0]; +measure q[1] -> c[1]; +measure q[2] -> c[2]; +print c; +print q; + diff --git a/src/index.html b/src/index.html index 3fea49f..877d18f 100644 --- a/src/index.html +++ b/src/index.html @@ -222,6 +222,7 @@ { ProgramTrack.STATE = [ [], [] ]; ProgramTrack.draw(); + displayResults([]); }, adjust: x => { @@ -846,7 +847,8 @@ return; } var a = document.createElement("a"); - a.href = "data:text/plain," + btoa(escape(JSON.stringify(ProgramTrack.STATE))); + var obj = { info: "QAnsel v0.4", data: ProgramTrack.STATE }; + a.href = "data:text/plain," + btoa(escape(JSON.stringify(obj))); a.download = "program.txt"; document.body.appendChild(a); a.click(); @@ -910,6 +912,10 @@ { $("td[onclick*=adjust]")[i].style.display = "none"; } + for (var i = 0; i < $("[pidx*='," + ProgramTrack.STATE[0].length + "']").length; i++) + { + $("[pidx*='," + ProgramTrack.STATE[0].length + "']")[i].style.display = "none"; + } $(".main-table")[0].cellPadding = 0; $(".main-table")[0].cellSpacing = 0; $(".program-track")[0].cellPadding = 0; @@ -960,6 +966,10 @@ { $("td[onclick*=adjust]")[i].style.display = ""; } + for (var i = 0; i < $("[pidx*='," + ProgramTrack.STATE[0].length + "']").length; i++) + { + $("[pidx*='," + ProgramTrack.STATE[0].length + "']")[i].style.display = ""; + } $(".main-table")[0].cellPadding = backups[6]; $(".main-table")[0].cellSpacing = backups[7]; $(".program-track")[0].cellPadding = backups[8]; @@ -1003,7 +1013,8 @@ { try { - ProgramTrack.STATE = JSON.parse(unescape(atob(reader.result))); + var obj = JSON.parse(unescape(atob(reader.result))); + ProgramTrack.STATE = obj.data; ProgramTrack.draw(); } catch diff --git a/src/src.zip b/src/src.zip index 7a927cb..8a951c6 100644 Binary files a/src/src.zip and b/src/src.zip differ