openvm_algebra_circuit/fp2_chip/
mod.rs1use openvm_circuit::arch::{VmAirWrapper, VmChipWrapper};
2use openvm_mod_circuit_builder::{FieldExpressionCoreAir, FieldExpressionFiller};
3use openvm_rv32_adapters::{Rv32VecHeapAdapterAir, Rv32VecHeapAdapterFiller};
4
5use crate::FieldExprVecHeapExecutor;
6
7mod addsub;
8pub use addsub::*;
9mod muldiv;
10pub use muldiv::*;
11
12pub type Fp2Air<const BLOCKS: usize, const BLOCK_SIZE: usize> = VmAirWrapper<
13 Rv32VecHeapAdapterAir<2, BLOCKS, BLOCKS, BLOCK_SIZE, BLOCK_SIZE>,
14 FieldExpressionCoreAir,
15>;
16
17pub type Fp2Executor<const BLOCKS: usize, const BLOCK_SIZE: usize> =
18 FieldExprVecHeapExecutor<BLOCKS, BLOCK_SIZE, true>;
19
20pub type Fp2Chip<F, const BLOCKS: usize, const BLOCK_SIZE: usize> = VmChipWrapper<
21 F,
22 FieldExpressionFiller<Rv32VecHeapAdapterFiller<2, BLOCKS, BLOCKS, BLOCK_SIZE, BLOCK_SIZE>>,
23>;
24
25#[cfg(test)]
26mod tests;