mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-03 22:33:06 +00:00
more general kernel peek
This commit is contained in:
parent
b89e668b55
commit
5e3e40a094
@ -11,7 +11,8 @@ use crate::generation::prover_input::EvmField::{
|
||||
};
|
||||
use crate::generation::prover_input::FieldOp::{Inverse, Sqrt};
|
||||
use crate::generation::state::GenerationState;
|
||||
use crate::witness::util::{kernel_general_peek, stack_peek};
|
||||
use crate::memory::segments::Segment::BnPairing;
|
||||
use crate::witness::util::{kernel_peek, stack_peek};
|
||||
|
||||
/// Prover input function represented as a scoped function name.
|
||||
/// Example: `PROVER_INPUT(ff::bn254_base::inverse)` is represented as `ProverInputFn([ff, bn254_base, inverse])`.
|
||||
@ -71,7 +72,7 @@ impl<F: Field> GenerationState<F> {
|
||||
Bn254Base => {
|
||||
let mut f: [U256; 12] = [U256::zero(); 12];
|
||||
for i in 0..12 {
|
||||
f[i] = kernel_general_peek(self, ptr + i);
|
||||
f[i] = kernel_peek(self, BnPairing, ptr + i);
|
||||
}
|
||||
f
|
||||
}
|
||||
|
||||
@ -40,12 +40,14 @@ pub(crate) fn stack_peek<F: Field>(state: &GenerationState<F>, i: usize) -> Opti
|
||||
}
|
||||
|
||||
/// Peek at the SEGMENT_KERNEL_BN_PAIRING item at address `i`
|
||||
pub(crate) fn kernel_general_peek<F: Field>(state: &GenerationState<F>, i: usize) -> U256 {
|
||||
state.memory.get(MemoryAddress::new(
|
||||
state.registers.context,
|
||||
Segment::BnPairing,
|
||||
i,
|
||||
))
|
||||
pub(crate) fn kernel_peek<F: Field>(
|
||||
state: &GenerationState<F>,
|
||||
segment: Segment,
|
||||
virt: usize,
|
||||
) -> U256 {
|
||||
state
|
||||
.memory
|
||||
.get(MemoryAddress::new(state.registers.context, segment, virt))
|
||||
}
|
||||
|
||||
pub(crate) fn mem_read_with_log<F: Field>(
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user