mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-05 07:13:08 +00:00
Add hash public input methods (#1529)
* Add hash public input methods * Change vecs to arrays * :: * Fix method name
This commit is contained in:
parent
8753162b77
commit
a7b985ce39
@ -337,10 +337,15 @@ impl<F: RichField + Extendable<D>, const D: usize> CircuitBuilder<F, D> {
|
||||
[0; N].map(|_| self.add_virtual_target())
|
||||
}
|
||||
|
||||
/// Adds a new `HashOutTarget`. `NUM_HASH_OUT_ELTS` being hardcoded to 4, it internally
|
||||
/// adds 4 virtual targets in a vector fashion.
|
||||
/// Adds a new `HashOutTarget`.
|
||||
pub fn add_virtual_hash(&mut self) -> HashOutTarget {
|
||||
HashOutTarget::from_vec(self.add_virtual_targets(4))
|
||||
HashOutTarget::from(self.add_virtual_target_arr::<4>())
|
||||
}
|
||||
|
||||
/// Registers a new `HashOutTarget` as a public input, adding
|
||||
/// internally `NUM_HASH_OUT_ELTS` virtual targets.
|
||||
pub fn add_virtual_hash_public_input(&mut self) -> HashOutTarget {
|
||||
HashOutTarget::from(self.add_virtual_public_input_arr::<4>())
|
||||
}
|
||||
|
||||
/// Adds a new `MerkleCapTarget`, consisting in `1 << cap_height` `HashOutTarget`.
|
||||
@ -353,6 +358,13 @@ impl<F: RichField + Extendable<D>, const D: usize> CircuitBuilder<F, D> {
|
||||
(0..n).map(|_i| self.add_virtual_hash()).collect()
|
||||
}
|
||||
|
||||
/// Registers `n` new `HashOutTarget` as public inputs, in a vector fashion.
|
||||
pub fn add_virtual_hashes_public_input(&mut self, n: usize) -> Vec<HashOutTarget> {
|
||||
(0..n)
|
||||
.map(|_i| self.add_virtual_hash_public_input())
|
||||
.collect()
|
||||
}
|
||||
|
||||
pub(crate) fn add_virtual_merkle_proof(&mut self, len: usize) -> MerkleProofTarget {
|
||||
MerkleProofTarget {
|
||||
siblings: self.add_virtual_hashes(len),
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user