Skip to content

Commit ed6b038

Browse files
authored
feat: add support for hardware randomization (#515)
1 parent b9f2c76 commit ed6b038

File tree

23 files changed

+1029
-23
lines changed

23 files changed

+1029
-23
lines changed

CODEOWNERS

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
crates/lib/src/qpu/experimental @erichulburd
2+
crates/python/src/qpu/experimental.rs @erichulburd
3+
crates/python/qcs_sdk/qpu/experimental @erichulburd
4+
crates/python/tests/qpu/experimental @erichulburd

Cargo.lock

Lines changed: 7 additions & 7 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 & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ tokio = "1.36.0"
1515
# `crates/python/pyproject.toml`.
1616
# The version must also be specified in order to publish to crates.io. Cargo enforces
1717
# that the specified version is the same as the version in the git repository.
18-
quil-rs = { version = "0.29.2", git = "https://github.com/rigetti/quil-rs", tag = "quil-py/v0.13.2" }
18+
quil-rs = { git = "https://github.com/rigetti/quil-rs", tag = "quil-py/v0.15.2" }
1919

2020
# ndarray is used by the `qcs` crate, but it is also used in the `python` crate via a
2121
# re-export through the numpy crate. They should be updated as a pair to keep both

crates/lib/Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ otel-tracing = ["tracing-config", "qcs-api-client-grpc/otel-tracing", "qcs-api-c
1717
libquil = ["dep:libquil-sys"]
1818
grpc-web = ["qcs-api-client-grpc/grpc-web"]
1919
tracing-opentelemetry = ["tracing-config", "qcs-api-client-grpc/tracing-opentelemetry", "qcs-api-client-openapi/tracing-opentelemetry"]
20+
experimental = []
2021

2122
[dependencies]
2223
cached = "0.44.0"
@@ -73,3 +74,4 @@ built = "0.6.1"
7374
name = "compilation-and-simulation-with-libquil"
7475
path = "examples/libquil.rs"
7576
required-features = ["libquil"]
77+

crates/lib/Makefile.toml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,16 @@ run_task = [{name = "test-flow"}]
2222
dependencies = ["clippy-flow"]
2323

2424
[tasks.examples]
25+
dependencies = ["examples-libquil", "examples-experimental"]
26+
27+
[tasks.examples-libquil]
2528
command = "cargo"
2629
args = ["build", "--examples", "--features", "libquil"]
2730

31+
[tasks.examples-experimental]
32+
command = "cargo"
33+
args = ["build", "--examples", "--features", "experimental"]
34+
2835
[tasks.deny]
2936
install_crate = "cargo-deny"
3037
command = "cargo"
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
//! This module supports experimental features that meet the following criteria:
2+
//!
3+
//! * They support recent and compelling research in quantum computing.
4+
//! * Implementation is specific to Rigetti's QPUs; implementation may
5+
//! not othewrise be expressed through a generalized quantum computing
6+
//! language, such as Quil or QASM.
7+
//!
8+
//! As such, the features contained herein should be considered unstable, possibly
9+
//! ephemeral, and subject to specific authorization checks.
10+
pub mod random;

0 commit comments

Comments
 (0)