mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-09 09:13:09 +00:00
made switch_bool wires routeable
This commit is contained in:
parent
7acdf976c1
commit
f01d373d1e
@ -37,32 +37,32 @@ impl<F: Extendable<D>, const D: usize> SwitchGate<F, D> {
|
||||
}
|
||||
|
||||
pub fn max_num_copies(num_routed_wires: usize, chunk_size: usize) -> usize {
|
||||
num_routed_wires / (4 * chunk_size)
|
||||
num_routed_wires / (4 * chunk_size + 1)
|
||||
}
|
||||
|
||||
pub fn wire_first_input(&self, copy: usize, element: usize) -> usize {
|
||||
debug_assert!(element < self.chunk_size);
|
||||
copy * (4 * self.chunk_size) + element
|
||||
copy * (4 * self.chunk_size + 1) + element
|
||||
}
|
||||
|
||||
pub fn wire_second_input(&self, copy: usize, element: usize) -> usize {
|
||||
debug_assert!(element < self.chunk_size);
|
||||
copy * (4 * self.chunk_size) + self.chunk_size + element
|
||||
copy * (4 * self.chunk_size + 1) + self.chunk_size + element
|
||||
}
|
||||
|
||||
pub fn wire_first_output(&self, copy: usize, element: usize) -> usize {
|
||||
debug_assert!(element < self.chunk_size);
|
||||
copy * (4 * self.chunk_size) + 2 * self.chunk_size + element
|
||||
copy * (4 * self.chunk_size + 1) + 2 * self.chunk_size + element
|
||||
}
|
||||
|
||||
pub fn wire_second_output(&self, copy: usize, element: usize) -> usize {
|
||||
debug_assert!(element < self.chunk_size);
|
||||
copy * (4 * self.chunk_size) + 3 * self.chunk_size + element
|
||||
copy * (4 * self.chunk_size + 1) + 3 * self.chunk_size + element
|
||||
}
|
||||
|
||||
pub fn wire_switch_bool(&self, copy: usize) -> usize {
|
||||
debug_assert!(copy < self.num_copies);
|
||||
self.num_copies * (4 * self.chunk_size) + copy
|
||||
copy * (4 * self.chunk_size + 1) + 4 * self.chunk_size
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user