Skip to content

Commit 61da210

Browse files
authored
ppvm-pauli-word-2 Patch (#246)
This patch introduces the ppvm-pauli-word-2 crate from #204. On top of the crate shown in that PR, this patch also includes the following: - Separate parsing and formatting, phase representation, hashing, and gate operations into into modules - Reject construction beyond backing-storage capacity, including identity-only strings. - Reject mixed-width multiplication and column insertion/replacement. - Enforce logical qubit bounds in column toggles, Clifford gates, and symplectic mutations. - Reject identical qubits in two-qubit Clifford gates before mutation. - Removed Clone for PauliStorage
1 parent 99ca34f commit 61da210

12 files changed

Lines changed: 2075 additions & 0 deletions

File tree

‎Cargo.lock‎

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎Cargo.toml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ members = [
2323
"crates/ppvm-vihaco",
2424
"crates/ppvm-cli",
2525
"crates/ppvm-traits-2",
26+
"crates/ppvm-pauli-word-2",
2627
# Runnable copies of the Rust code blocks in skills/ppvm-usage/SKILL.md.
2728
# Built by `cargo build --workspace --all-targets` in CI so the skill
2829
# can't silently drift away from the public API.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
[package]
2+
name = "ppvm-pauli-word-2"
3+
version = "0.1.0"
4+
edition = "2024"
5+
6+
[dependencies]
7+
ppvm-traits-2 = { version = "0.1.0", path = "../ppvm-traits-2"}
8+
bitvec = "1.0.1"
9+
bytemuck = { version = "1", features = ["min_const_generics"] }
10+
fxhash = "0.2.1"
11+
num = "0.4.3"

0 commit comments

Comments
 (0)