openvm_ecc_circuit/weierstrass_chip/
mod.rs

1mod add_ne;
2mod curves;
3mod double;
4mod preflight;
5
6pub use add_ne::*;
7pub use curves::CurveType;
8pub use double::*;
9
10#[cfg(test)]
11mod tests;
12
13use openvm_circuit::arch::{VmAirWrapper, VmChipWrapper};
14use openvm_mod_circuit_builder::{FieldExpressionCoreAir, FieldExpressionFiller};
15use openvm_rv32_adapters::{Rv32VecHeapAdapterAir, Rv32VecHeapAdapterFiller};
16
17pub type WeierstrassAir<const NUM_READS: usize, const BLOCKS: usize, const BLOCK_SIZE: usize> =
18    VmAirWrapper<
19        Rv32VecHeapAdapterAir<NUM_READS, BLOCKS, BLOCKS, BLOCK_SIZE, BLOCK_SIZE>,
20        FieldExpressionCoreAir,
21    >;
22
23pub type WeierstrassChip<F, const NUM_READS: usize, const BLOCKS: usize, const BLOCK_SIZE: usize> =
24    VmChipWrapper<
25        F,
26        FieldExpressionFiller<
27            Rv32VecHeapAdapterFiller<NUM_READS, BLOCKS, BLOCKS, BLOCK_SIZE, BLOCK_SIZE>,
28        >,
29    >;