openvm_circuit/
lib.rs

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