tasm_lib::traits::rust_shadow

Trait RustShadow

Source
pub trait RustShadow {
    // Required methods
    fn inner(&self) -> Rc<RefCell<dyn BasicSnippet>>;
    fn rust_shadow_wrapper(
        &self,
        stdin: &[BFieldElement],
        nondeterminism: &NonDeterminism,
        stack: &mut Vec<BFieldElement>,
        memory: &mut HashMap<BFieldElement, BFieldElement>,
        sponge: &mut Option<VmHasher>,
    ) -> Vec<BFieldElement>;
    fn test(&self);
    fn bench(&self);
}

Required Methods§

Source

fn inner(&self) -> Rc<RefCell<dyn BasicSnippet>>

Source

fn rust_shadow_wrapper( &self, stdin: &[BFieldElement], nondeterminism: &NonDeterminism, stack: &mut Vec<BFieldElement>, memory: &mut HashMap<BFieldElement, BFieldElement>, sponge: &mut Option<VmHasher>, ) -> Vec<BFieldElement>

Source

fn test(&self)

Source

fn bench(&self)

Implementors§

Source§

impl<C: Closure + 'static> RustShadow for ShadowedClosure<C>

Source§

impl<F> RustShadow for ShadowedFunction<F>
where F: Function + 'static,

Source§

impl<P: Procedure + 'static> RustShadow for ShadowedProcedure<P>

Source§

impl<T> RustShadow for ShadowedAccessor<T>
where T: Accessor + 'static,

Source§

impl<T> RustShadow for ShadowedAlgorithm<T>
where T: Algorithm + 'static,

Source§

impl<T> RustShadow for ShadowedMemPreserver<T>
where T: MemPreserver + 'static,

Source§

impl<T> RustShadow for ShadowedReadOnlyAlgorithm<T>
where T: ReadOnlyAlgorithm + 'static,