openvm_ecc_circuit/weierstrass_chip/
mod.rs1mod 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 >;