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