openvm_stark_backend::prover::types

Struct RapView

Source
pub struct RapView<T, Val, Challenge> {
    pub pair: PairView<T, Val>,
    pub per_phase: Vec<RapSinglePhaseView<T, Challenge>>,
}
Expand description

The full RAP trace consists of horizontal concatenation of multiple matrices of the same height:

  • preprocessed trace matrix
  • the main trace matrix is horizontally partitioned into multiple matrices, where each matrix can belong to a separate matrix commitment.
  • after each round of challenges, a trace matrix for trace allowed to use those challenges

Each of these matrices is allowed to be in a separate commitment.

Only the main trace matrix is allowed to be partitioned, so that different parts may belong to different commitments. We do not see any use cases where the preprocessed or after_challenge matrices need to be partitioned.

The generic T may be either just the trace matrix view or the LDE matrix view.

Fields§

§pair: PairView<T, Val>§per_phase: Vec<RapSinglePhaseView<T, Challenge>>

per_phase[i] is a view which is calculated after sampling challenges which depend on observing commitments to pair and per_phase[..i].

Auto Trait Implementations§

§

impl<T, Val, Challenge> Freeze for RapView<T, Val, Challenge>
where T: Freeze,

§

impl<T, Val, Challenge> RefUnwindSafe for RapView<T, Val, Challenge>
where T: RefUnwindSafe, Val: RefUnwindSafe, Challenge: RefUnwindSafe,

§

impl<T, Val, Challenge> Send for RapView<T, Val, Challenge>
where T: Send, Val: Send, Challenge: Send,

§

impl<T, Val, Challenge> Sync for RapView<T, Val, Challenge>
where T: Sync, Val: Sync, Challenge: Sync,

§

impl<T, Val, Challenge> Unpin for RapView<T, Val, Challenge>
where T: Unpin, Val: Unpin, Challenge: Unpin,

§

impl<T, Val, Challenge> UnwindSafe for RapView<T, Val, Challenge>
where T: UnwindSafe, Val: UnwindSafe, Challenge: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize = _

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more