Function sra_ind

Source
pub fn sra_ind<F: Field>(i: &[F], j: &[F], s: &[F]) -> F
Expand description

Computes the multilinear extension of the arithmetic right shift indicator at a point.

The shift indicator for arithmetic right shift (sra) behaves like logical right shift, but propagates the sign bit (bit 2^k - 1) for positions shifted beyond the original value. Specifically:

  • sra_ind(i, j, s) = srl_ind(i, j, s) for normal shifted bits
  • Additionally, sra_ind(i, 2^k - 1, s) = 1 for i >= 2^k - s (sign extension)

This function evaluates the multilinear extension of this indicator at the given point (i, j, s) where each coordinate is a field element.

§Arguments

  • i - Slice of field elements representing the output bit position (length k)
  • j - Slice of field elements representing the input bit position (length k)
  • s - Slice of field elements representing the shift amount (length k)

§Panics

Panics if the slices don’t all have the same length.