openvm_circuit_primitives/lib.rs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
//! This crate contains a collection of primitives for use when building circuits.
//! The primitives are separated into two types: standalone [Air](p3_air::Air)s and [SubAir]s.
//!
//! The following modules contain standalone [Air]s:
//! - [range]
//! - [range_gate]
//! - [range_tuple]
//! - [var_range]
//! - [xor]
//!
//! The following modules contain [SubAir]s:
//! - [assert_less_than]
//! - [bigint]
//! - [bitwise_op_lookup]
//! - [encoder]
//! - [is_equal]
//! - [is_equal_array]
//! - [is_less_than]
//! - [is_less_than_array]
//! - [is_zero]
/// Derive macros
pub use openvm_circuit_primitives_derive::*;
pub mod assert_less_than;
pub mod bigint;
pub mod bitwise_op_lookup;
pub mod encoder;
pub mod is_equal;
pub mod is_equal_array;
pub mod is_less_than;
pub mod is_less_than_array;
pub mod is_zero;
pub mod range;
pub mod range_gate;
pub mod range_tuple;
pub mod utils;
pub mod var_range;
pub mod xor;
mod sub_air;
pub use sub_air::*;
// keeping to clean up later:
// pub mod offline_checker;