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;