sp1_recursion_core_v2/chips/mem/mod.rs
1pub mod constant;
2pub mod variable;
3
4pub use constant::MemoryChip as MemoryConstChip;
5pub use variable::MemoryChip as MemoryVarChip;
6
7use sp1_derive::AlignedBorrow;
8
9use crate::Address;
10
11pub const NUM_MEM_ACCESS_COLS: usize = core::mem::size_of::<MemoryAccessCols<u8>>();
12
13/// Data describing in what manner to access a particular memory block.
14#[derive(AlignedBorrow, Debug, Clone, Copy)]
15#[repr(C)]
16pub struct MemoryAccessCols<F: Copy> {
17 /// The address to access.
18 pub addr: Address<F>,
19 /// The multiplicity which to read/write.
20 /// "Positive" values indicate a write, and "negative" values indicate a read.
21 pub mult: F,
22}