openvm_stark_sdk::engine

Trait StarkEngineWithHashInstrumentation

Source
pub trait StarkEngineWithHashInstrumentation<SC: StarkGenericConfig>: StarkEngine<SC> {
    // Required methods
    fn clear_instruments(&mut self);
    fn stark_hash_statistics<T>(&self, custom: T) -> StarkHashStatistics<T>;
}

Required Methods§

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<P> StarkEngineWithHashInstrumentation<StarkConfig<TwoAdicFriPcs<Goldilocks, Radix2DitParallel<Goldilocks>, MerkleTreeMmcs<<Goldilocks as Field>::Packing, <Goldilocks as Field>::Packing, PaddingFreeSponge<Instrumented<P>, WIDTH, RATE, DIGEST_WIDTH>, TruncatedPermutation<Instrumented<P>, 2, DIGEST_WIDTH, WIDTH>, DIGEST_WIDTH>, ExtensionMmcs<Goldilocks, BinomialExtensionField<Goldilocks, 2>, MerkleTreeMmcs<<Goldilocks as Field>::Packing, <Goldilocks as Field>::Packing, PaddingFreeSponge<Instrumented<P>, WIDTH, RATE, DIGEST_WIDTH>, TruncatedPermutation<Instrumented<P>, 2, DIGEST_WIDTH, WIDTH>, DIGEST_WIDTH>>>, StarkLogUpPhase<Goldilocks, BinomialExtensionField<Goldilocks, 2>, DuplexChallenger<Goldilocks, Instrumented<P>, WIDTH, RATE>>, BinomialExtensionField<Goldilocks, 2>, DuplexChallenger<Goldilocks, Instrumented<P>, WIDTH, RATE>>> for GoldilocksPermutationEngine<Instrumented<P>>
where P: CryptographicPermutation<[Goldilocks; 8]> + CryptographicPermutation<[<Goldilocks as Field>::Packing; 8]> + Clone,

Source§

impl<P> StarkEngineWithHashInstrumentation<StarkConfig<TwoAdicFriPcs<MontyField31<BabyBearParameters>, Radix2DitParallel<MontyField31<BabyBearParameters>>, MerkleTreeMmcs<<MontyField31<BabyBearParameters> as Field>::Packing, <MontyField31<BabyBearParameters> as Field>::Packing, PaddingFreeSponge<Instrumented<P>, WIDTH, RATE, DIGEST_WIDTH>, TruncatedPermutation<Instrumented<P>, 2, DIGEST_WIDTH, WIDTH>, DIGEST_WIDTH>, ExtensionMmcs<MontyField31<BabyBearParameters>, BinomialExtensionField<MontyField31<BabyBearParameters>, 4>, MerkleTreeMmcs<<MontyField31<BabyBearParameters> as Field>::Packing, <MontyField31<BabyBearParameters> as Field>::Packing, PaddingFreeSponge<Instrumented<P>, WIDTH, RATE, DIGEST_WIDTH>, TruncatedPermutation<Instrumented<P>, 2, DIGEST_WIDTH, WIDTH>, DIGEST_WIDTH>>>, StarkLogUpPhase<MontyField31<BabyBearParameters>, BinomialExtensionField<MontyField31<BabyBearParameters>, 4>, DuplexChallenger<MontyField31<BabyBearParameters>, Instrumented<P>, WIDTH, RATE>>, BinomialExtensionField<MontyField31<BabyBearParameters>, 4>, DuplexChallenger<MontyField31<BabyBearParameters>, Instrumented<P>, WIDTH, RATE>>> for BabyBearPermutationEngine<Instrumented<P>>
where P: CryptographicPermutation<[BabyBear; 16]> + CryptographicPermutation<[<BabyBear as Field>::Packing; 16]> + Clone,

Source§

impl<P> StarkEngineWithHashInstrumentation<StarkConfig<TwoAdicFriPcs<MontyField31<BabyBearParameters>, Radix2DitParallel<MontyField31<BabyBearParameters>>, MerkleTreeMmcs<MontyField31<BabyBearParameters>, Bn254Fr, MultiField32PaddingFreeSponge<MontyField31<BabyBearParameters>, Bn254Fr, Instrumented<P>, WIDTH, RATE, DIGEST_WIDTH>, TruncatedPermutation<Instrumented<P>, 2, 1, WIDTH>, 1>, ExtensionMmcs<MontyField31<BabyBearParameters>, BinomialExtensionField<MontyField31<BabyBearParameters>, 4>, MerkleTreeMmcs<MontyField31<BabyBearParameters>, Bn254Fr, MultiField32PaddingFreeSponge<MontyField31<BabyBearParameters>, Bn254Fr, Instrumented<P>, WIDTH, RATE, DIGEST_WIDTH>, TruncatedPermutation<Instrumented<P>, 2, 1, WIDTH>, 1>>>, StarkLogUpPhase<MontyField31<BabyBearParameters>, BinomialExtensionField<MontyField31<BabyBearParameters>, 4>, MultiField32Challenger<MontyField31<BabyBearParameters>, Bn254Fr, Instrumented<P>, WIDTH, 2>>, BinomialExtensionField<MontyField31<BabyBearParameters>, 4>, MultiField32Challenger<MontyField31<BabyBearParameters>, Bn254Fr, Instrumented<P>, WIDTH, 2>>> for BabyBearPermutationRootEngine<Instrumented<P>>
where P: CryptographicPermutation<[Bn254Fr; 3]> + Clone,