diff --git a/poulpy-schemes/src/tfhe/bdd_arithmetic/bdd_2w_to_1w.rs b/poulpy-schemes/src/tfhe/bdd_arithmetic/bdd_2w_to_1w.rs index 6cd65b1..f167657 100644 --- a/poulpy-schemes/src/tfhe/bdd_arithmetic/bdd_2w_to_1w.rs +++ b/poulpy-schemes/src/tfhe/bdd_arithmetic/bdd_2w_to_1w.rs @@ -30,7 +30,7 @@ where scratch: &mut Scratch, ) where T: UnsignedInteger, - C: GetBitCircuitInfo, + C: GetBitCircuitInfo, R: DataMut, A: DataRef, B: DataRef, @@ -54,7 +54,7 @@ where scratch: &mut Scratch, ) where T: UnsignedInteger, - C: GetBitCircuitInfo, + C: GetBitCircuitInfo, R: DataMut, A: DataRef, B: DataRef, diff --git a/poulpy-schemes/src/tfhe/bdd_arithmetic/eval.rs b/poulpy-schemes/src/tfhe/bdd_arithmetic/eval.rs index af8c59b..99eac90 100644 --- a/poulpy-schemes/src/tfhe/bdd_arithmetic/eval.rs +++ b/poulpy-schemes/src/tfhe/bdd_arithmetic/eval.rs @@ -14,13 +14,13 @@ use poulpy_hal::{ layouts::{Backend, DataMut, Module, Scratch, VecZnxBig, ZnxZero}, }; -use crate::tfhe::bdd_arithmetic::{GetGGSWBit, UnsignedInteger}; +use crate::tfhe::bdd_arithmetic::GetGGSWBit; pub trait BitCircuitInfo: Sync { fn info(&self) -> (&[Node], usize); } -pub trait GetBitCircuitInfo: Sync { +pub trait GetBitCircuitInfo: Sync { fn input_size(&self) -> usize; fn output_size(&self) -> usize; fn get_circuit(&self, bit: usize) -> (&[Node], usize); @@ -38,7 +38,7 @@ pub trait BitCircuitFamily { pub struct Circuit(pub [C; N]); -impl GetBitCircuitInfo for Circuit +impl GetBitCircuitInfo for Circuit where C: BitCircuitInfo + BitCircuitFamily, { @@ -59,21 +59,16 @@ pub trait ExecuteBDDCircuit { R: GLWEInfos, G: GGSWInfos; - fn execute_bdd_circuit( - &self, - out: &mut [GLWE], - inputs: &G, - circuit: &C, - scratch: &mut Scratch, - ) where + fn execute_bdd_circuit(&self, out: &mut [GLWE], inputs: &G, circuit: &C, scratch: &mut Scratch) + where G: GetGGSWBit + BitSize, - C: GetBitCircuitInfo, + C: GetBitCircuitInfo, O: DataMut, { self.execute_bdd_circuit_multi_thread(1, out, inputs, circuit, scratch); } - fn execute_bdd_circuit_multi_thread( + fn execute_bdd_circuit_multi_thread( &self, threads: usize, out: &mut [GLWE], @@ -82,7 +77,7 @@ pub trait ExecuteBDDCircuit { scratch: &mut Scratch, ) where G: GetGGSWBit + BitSize, - C: GetBitCircuitInfo, + C: GetBitCircuitInfo, O: DataMut; } @@ -103,7 +98,7 @@ where 2 * state_size * GLWE::bytes_of_from_infos(res_infos) + self.cmux_tmp_bytes(res_infos, res_infos, ggsw_infos) } - fn execute_bdd_circuit_multi_thread( + fn execute_bdd_circuit_multi_thread( &self, threads: usize, out: &mut [GLWE], @@ -112,7 +107,7 @@ where scratch: &mut Scratch, ) where G: GetGGSWBit + BitSize, - C: GetBitCircuitInfo, + C: GetBitCircuitInfo, O: DataMut, { #[cfg(debug_assertions)]