diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index eff9c42..541b8c5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -21,10 +21,10 @@ Run `just` to see all available commands. ## 🚀 Building the project There is a miscellaneous collection of rust programs written using the library, -found in `src/bin`. To execute these programs, run: +found in `examples/`. To execute these programs, run: ```bash -cargo run --release --bin +cargo run --release --example ``` To build the python library, run: diff --git a/quizx/Cargo.toml b/quizx/Cargo.toml index 45a883d..eacd58f 100644 --- a/quizx/Cargo.toml +++ b/quizx/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "quizx" -default-run = "hidden_shift_stabrank" +default-example = "hidden_shift_stabrank" version = { workspace = true } authors = { workspace = true } edition = { workspace = true } diff --git a/quizx/src/bin/big_simp.rs b/quizx/examples/big_simp.rs similarity index 95% rename from quizx/src/bin/big_simp.rs rename to quizx/examples/big_simp.rs index 7405faa..ab02bbd 100644 --- a/quizx/src/bin/big_simp.rs +++ b/quizx/examples/big_simp.rs @@ -23,7 +23,7 @@ use std::time::Instant; // use quizx::tensor::*; fn main() -> Result<(), Box> { - let c = Circuit::from_file("../circuits/large/hwb10.qasm")?.to_basic_gates(); + let c = Circuit::from_file("circuits/large/hwb10.qasm")?.to_basic_gates(); println!("stats before: {}", c.stats()); let mut g: Graph = c.to_graph(); diff --git a/quizx/src/bin/cnot_anneal.rs b/quizx/examples/cnot_anneal.rs similarity index 98% rename from quizx/src/bin/cnot_anneal.rs rename to quizx/examples/cnot_anneal.rs index c7ec2d3..f7727ca 100644 --- a/quizx/src/bin/cnot_anneal.rs +++ b/quizx/examples/cnot_anneal.rs @@ -24,7 +24,7 @@ use std::time::Instant; use std::{thread, time}; fn main() -> Result<(), Box> { - let f = "../circuits/small/tof_10.qasm"; + let f = "circuits/small/tof_10.qasm"; let time = Instant::now(); println!("{}", f); let c = Circuit::from_file(f) diff --git a/quizx/src/bin/compute_tensor.rs b/quizx/examples/compute_tensor.rs similarity index 100% rename from quizx/src/bin/compute_tensor.rs rename to quizx/examples/compute_tensor.rs diff --git a/quizx/src/bin/gauss.rs b/quizx/examples/gauss.rs similarity index 100% rename from quizx/src/bin/gauss.rs rename to quizx/examples/gauss.rs diff --git a/quizx/src/bin/hidden_shift_stabrank.rs b/quizx/examples/hidden_shift_stabrank.rs similarity index 100% rename from quizx/src/bin/hidden_shift_stabrank.rs rename to quizx/examples/hidden_shift_stabrank.rs diff --git a/quizx/src/bin/pauli_gadget_single_q.rs b/quizx/examples/pauli_gadget_single_q.rs similarity index 100% rename from quizx/src/bin/pauli_gadget_single_q.rs rename to quizx/examples/pauli_gadget_single_q.rs diff --git a/quizx/src/bin/pauli_gadget_stabrank.rs b/quizx/examples/pauli_gadget_stabrank.rs similarity index 100% rename from quizx/src/bin/pauli_gadget_stabrank.rs rename to quizx/examples/pauli_gadget_stabrank.rs diff --git a/quizx/src/bin/pauli_gadget_stabrank_met.rs b/quizx/examples/pauli_gadget_stabrank_met.rs similarity index 100% rename from quizx/src/bin/pauli_gadget_stabrank_met.rs rename to quizx/examples/pauli_gadget_stabrank_met.rs diff --git a/quizx/src/bin/pauli_gadget_stabrank_ne.rs b/quizx/examples/pauli_gadget_stabrank_ne.rs similarity index 100% rename from quizx/src/bin/pauli_gadget_stabrank_ne.rs rename to quizx/examples/pauli_gadget_stabrank_ne.rs diff --git a/quizx/src/bin/pauli_gadget_stabrank_single.rs b/quizx/examples/pauli_gadget_stabrank_single.rs similarity index 100% rename from quizx/src/bin/pauli_gadget_stabrank_single.rs rename to quizx/examples/pauli_gadget_stabrank_single.rs diff --git a/quizx/src/bin/read_circuits.rs b/quizx/examples/read_circuits.rs similarity index 85% rename from quizx/src/bin/read_circuits.rs rename to quizx/examples/read_circuits.rs index 3c264db..14c484a 100644 --- a/quizx/src/bin/read_circuits.rs +++ b/quizx/examples/read_circuits.rs @@ -19,11 +19,12 @@ use std::fs; use std::time::Instant; fn main() -> Result<(), Box> { - for e in fs::read_dir("../../circuits")? { + for e in fs::read_dir("circuits/small")? { if let Some(f) = e?.path().to_str() { let time = Instant::now(); println!("{}", f); - Circuit::from_file(f).unwrap_or_else(|_| panic!("circuit failed to parse: {}", f)); + Circuit::from_file(f) + .unwrap_or_else(|e| panic!("circuit failed to parse: {}. {}", f, e)); println!("...done in {:.2?}", time.elapsed()); } } diff --git a/quizx/src/bin/scratch.rs b/quizx/examples/scratch.rs similarity index 100% rename from quizx/src/bin/scratch.rs rename to quizx/examples/scratch.rs diff --git a/quizx/src/bin/simp_and_extract.rs b/quizx/examples/simp_and_extract.rs similarity index 96% rename from quizx/src/bin/simp_and_extract.rs rename to quizx/examples/simp_and_extract.rs index 7a34ecb..763528b 100644 --- a/quizx/src/bin/simp_and_extract.rs +++ b/quizx/examples/simp_and_extract.rs @@ -22,7 +22,7 @@ use quizx::tensor::*; use quizx::vec_graph::*; fn main() -> Result<(), Box> { - let c = Circuit::from_file("../../../circuits/mod5_4.qasm")?; + let c = Circuit::from_file("circuits/small/mod5_4.qasm")?; let c0 = c.to_basic_gates(); println!("Before:\n{}", c0.stats()); // let c = c.to_basic_gates(); diff --git a/quizx/src/bin/spider_chain.rs b/quizx/examples/spider_chain.rs similarity index 100% rename from quizx/src/bin/spider_chain.rs rename to quizx/examples/spider_chain.rs diff --git a/quizx/src/bin/stabrank.rs b/quizx/examples/stabrank.rs similarity index 100% rename from quizx/src/bin/stabrank.rs rename to quizx/examples/stabrank.rs diff --git a/quizx/src/bin/test_all.rs b/quizx/examples/test_all.rs similarity index 93% rename from quizx/src/bin/test_all.rs rename to quizx/examples/test_all.rs index 3b1a2d4..86929ae 100644 --- a/quizx/src/bin/test_all.rs +++ b/quizx/examples/test_all.rs @@ -23,12 +23,12 @@ use std::fs; use std::time::Instant; fn main() -> Result<(), Box> { - for e in fs::read_dir("../circuits/small")? { + for e in fs::read_dir("circuits/small")? { if let Some(f) = e?.path().to_str() { let time = Instant::now(); println!("{}", f); - let c = - Circuit::from_file(f).unwrap_or_else(|_| panic!("circuit failed to parse: {}", f)); + let c = Circuit::from_file(f) + .unwrap_or_else(|e| panic!("circuit failed to parse: {}. {}", f, e)); println!("...done reading in {:.2?}", time.elapsed()); // if c.num_qubits() > 10 { continue; } diff --git a/quizx/src/bin/test_one.rs b/quizx/examples/test_one.rs similarity index 93% rename from quizx/src/bin/test_one.rs rename to quizx/examples/test_one.rs index 5d5252e..1ecaadb 100644 --- a/quizx/src/bin/test_one.rs +++ b/quizx/examples/test_one.rs @@ -22,10 +22,11 @@ use std::time::Instant; use std::{thread, time}; fn main() -> Result<(), Box> { - let f = "../circuits/large/gf2^64_mult.qasm"; + let f = "circuits/large/gf2^64_mult.qasm"; let time = Instant::now(); println!("{}", f); - let c = Circuit::from_file(f).unwrap_or_else(|_| panic!("circuit failed to parse: {}", f)); + let c = + Circuit::from_file(f).unwrap_or_else(|e| panic!("circuit failed to parse: {}. {}", f, e)); println!("...done reading in {:.2?}", time.elapsed()); // println!("Computing tensor");