use sp1_derive::AlignedBorrow;
use std::mem::size_of;
use crate::{air::Word, operations::BabyBearWordRangeChecker};
pub const NUM_BRANCH_COLS: usize = size_of::<BranchCols<u8>>();
#[derive(AlignedBorrow, Default, Debug, Clone, Copy)]
#[repr(C)]
pub struct BranchCols<T> {
pub pc: Word<T>,
pub pc_range_checker: BabyBearWordRangeChecker<T>,
pub next_pc: Word<T>,
pub next_pc_range_checker: BabyBearWordRangeChecker<T>,
pub a_eq_b: T,
pub a_gt_b: T,
pub a_lt_b: T,
pub a_lt_b_nonce: T,
pub a_gt_b_nonce: T,
pub next_pc_nonce: T,
}