sp1_core_machine/control_flow/jump/
columns.rs1use sp1_derive::AlignedBorrow;
2use sp1_stark::Word;
3use std::mem::size_of;
4
5use crate::operations::BabyBearWordRangeChecker;
6
7pub const NUM_JUMP_COLS: usize = size_of::<JumpColumns<u8>>();
8
9#[derive(AlignedBorrow, Default, Debug, Clone, Copy)]
10#[repr(C)]
11pub struct JumpColumns<T> {
12 pub pc: Word<T>,
14 pub pc_range_checker: BabyBearWordRangeChecker<T>,
15
16 pub next_pc: Word<T>,
18 pub next_pc_range_checker: BabyBearWordRangeChecker<T>,
19
20 pub op_a_value: Word<T>,
22 pub op_b_value: Word<T>,
24 pub op_c_value: Word<T>,
26
27 pub op_a_0: T,
29
30 pub is_jal: T,
32 pub is_jalr: T,
33
34 pub op_a_range_checker: BabyBearWordRangeChecker<T>,
36}