openvm_ecc_circuit/weierstrass_chip/
mod.rs

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