openvm_circuit/
lib.rs

1#![cfg_attr(feature = "tco", allow(incomplete_features))]
2#![cfg_attr(feature = "tco", feature(explicit_tail_calls))]
3extern crate self as openvm_circuit;
4
5pub use openvm_circuit_derive as derive;
6pub use openvm_circuit_primitives_derive as circuit_derive;
7#[cfg(all(feature = "test-utils", feature = "cuda"))]
8pub use openvm_cuda_backend;
9#[cfg(feature = "test-utils")]
10pub use openvm_stark_sdk;
11
12/// Traits and constructs for the OpenVM architecture.
13pub mod arch;
14/// Instrumentation metrics for performance analysis and debugging
15#[cfg(feature = "metrics")]
16pub mod metrics;
17/// System chips that are always required by the architecture.
18/// (The [PhantomChip](system::phantom::PhantomChip) is not technically required for a functioning
19/// VM, but there is almost always a need for it.)
20pub mod system;
21/// Utility functions and test utils
22pub mod utils;
23
24#[cfg(feature = "cuda")]
25pub(crate) mod cuda_abi;