sp1_recursion_core/air/
range_check.rsuse p3_field::Field;
use serde::{Deserialize, Serialize};
pub const NUM_RANGE_CHECK_OPS: usize = 2;
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Deserialize)]
pub enum RangeCheckOpcode {
U12 = 0,
U16 = 1,
}
impl RangeCheckOpcode {
pub fn all() -> Vec<Self> {
let opcodes = vec![RangeCheckOpcode::U12, RangeCheckOpcode::U16];
assert_eq!(opcodes.len(), NUM_RANGE_CHECK_OPS);
opcodes
}
pub fn as_field<F: Field>(self) -> F {
F::from_canonical_u8(self as u8)
}
}