Function xor_32_shift

Source
pub fn xor_32_shift<AB: AirBuilder>(
    builder: &mut AB,
    a: &[<AB as AirBuilder>::Var; 2],
    b: &[<AB as AirBuilder>::Var; 32],
    c: &[<AB as AirBuilder>::Var; 32],
    shift: usize,
)
Expand description

Verify that a = (b ^ (c << shift))

We assume that a is given as 2 16 bit limbs and both b and c are unpacked into 32 individual bits. We assume that the bits of b have been range checked but not the inputs in c or a. Both of these are range checked as part of this function.