pub struct StackedPcsData2<D = Digest> { /* private fields */ }Expand description
A struct for holding stacked pcs data. We only need the MerkleTreeGpu from StackedPcsDataGpu
but we wrap the latter in an Arc to provide uniformity in dealing with common main and
preprocessed/cached traces. This struct stores the unstacked traces, in prismalinear
evaluation form, corresponding to the stacked pcs data.
Generic over the Merkle digest type D. The default D = Digest preserves the existing
BabyBear-Poseidon2 behaviour.
Implementations§
Source§impl<D> StackedPcsData2<D>
impl<D> StackedPcsData2<D>
Sourcepub unsafe fn from_raw(
pcs_data: Arc<StackedPcsDataGpu<F, D>>,
traces: Vec<DeviceMatrix<F>>,
) -> Self
pub unsafe fn from_raw( pcs_data: Arc<StackedPcsDataGpu<F, D>>, traces: Vec<DeviceMatrix<F>>, ) -> Self
§Safety
traces must be the traces that were committed to in pcs_data.
pub fn layout(&self) -> &StackedLayout
Auto Trait Implementations§
impl<D> Freeze for StackedPcsData2<D>
impl<D> RefUnwindSafe for StackedPcsData2<D>where
D: RefUnwindSafe,
impl<D> Send for StackedPcsData2<D>
impl<D> Sync for StackedPcsData2<D>
impl<D> Unpin for StackedPcsData2<D>
impl<D> UnsafeUnpin for StackedPcsData2<D>
impl<D> UnwindSafe for StackedPcsData2<D>where
D: RefUnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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