Skip to main content

bloq_stim/
lib.rs

1//! Stim text backend for the `bloq` pipeline.
2//!
3//! Linearizes a compiled [`bloq_ir::Bloq`] program (or a lower-level
4//! `bloq_circuit` coordinate circuit) into Stim's `.stim` circuit text.
5//! The `verify` feature additionally exposes stim-based flow verification.
6
7mod bloq;
8mod dialect;
9mod emit;
10mod layout;
11mod measurement_frame;
12mod plan;
13#[cfg(feature = "verify")]
14mod stim_noise;
15mod text_utils;
16#[cfg(feature = "verify")]
17mod verify;
18
19pub use bloq::{
20    BloqStimOptions, BloqStimSegments, InputTrust, IsolatedTAttemptArtifacts,
21    IsolatedTAttemptManifest, IsolatedTFrameRecipe, IsolatedTFrontierSheet, StimSegment,
22    emit_bloq_stim, emit_bloq_stim_segments, emit_bloq_stim_segments_pair,
23    emit_bloq_stim_segments_with, emit_bloq_stim_with, emit_isolated_t_attempts,
24};
25pub use dialect::{HONEST_T_TAG, StimDialect, clifft_to_stim_text, stim_to_clifft_text};
26pub use emit::StimEmissionError;
27pub use plan::{PlanStim, PlanStimOptions, emit_plan_stim};
28#[cfg(feature = "verify")]
29pub use stim_noise::{StimNoiseError, emit_bloq_stim_with_stim_noise};
30pub use text_utils::write_stim_tag;
31#[cfg(feature = "verify")]
32pub use verify::{StimFlowVerifier, StimVerifyError, emit_annotated_stim};
33
34/// Default extension for Stim circuit text.
35pub const STIM_FILE_EXTENSION: &str = "stim";
36
37/// The most commonly used items, for `use bloq_stim::prelude::*`.
38///
39/// Aggregated into `bloq::prelude` by the `bloq` facade crate.
40pub mod prelude {
41    #[doc(no_inline)]
42    pub use crate::{BloqStimOptions, STIM_FILE_EXTENSION, emit_bloq_stim, emit_bloq_stim_with};
43}