From b49a0b3718050ef7f7088ac406ac0e57d73c74ce Mon Sep 17 00:00:00 2001 From: rudy Date: Thu, 3 Nov 2022 17:40:35 +0100 Subject: [PATCH] feat(cpp): optimized private packing parameters --- concrete-optimizer-cpp/src/concrete-optimizer.rs | 8 ++++++++ concrete-optimizer-cpp/src/cpp/concrete-optimizer.cpp | 2 ++ concrete-optimizer-cpp/src/cpp/concrete-optimizer.hpp | 2 ++ 3 files changed, 12 insertions(+) diff --git a/concrete-optimizer-cpp/src/concrete-optimizer.rs b/concrete-optimizer-cpp/src/concrete-optimizer.rs index 9b03da795..82f4328ed 100644 --- a/concrete-optimizer-cpp/src/concrete-optimizer.rs +++ b/concrete-optimizer-cpp/src/concrete-optimizer.rs @@ -90,6 +90,8 @@ impl From<&ffi::Solution> for ffi::DagSolution { use_wop_pbs: false, cb_decomposition_level_count: 0, cb_decomposition_base_log: 0, + pp_decomposition_level_count: 0, + pp_decomposition_base_log: 0, crt_decomposition: vec![], } } @@ -132,6 +134,8 @@ impl From for ffi::DagSolution { use_wop_pbs: false, cb_decomposition_level_count: 0, cb_decomposition_base_log: 0, + pp_decomposition_level_count: 0, + pp_decomposition_base_log: 0, crt_decomposition: vec![], }, DagSolution::WopSolution(sol) => Self { @@ -150,6 +154,8 @@ impl From for ffi::DagSolution { use_wop_pbs: true, cb_decomposition_level_count: sol.cb_decomposition_level_count, cb_decomposition_base_log: sol.cb_decomposition_base_log, + pp_decomposition_level_count: sol.pp_decomposition_level_count, + pp_decomposition_base_log: sol.pp_decomposition_base_log, crt_decomposition: sol.crt_decomposition, }, } @@ -423,6 +429,8 @@ mod ffi { pub use_wop_pbs: bool, pub cb_decomposition_level_count: u64, pub cb_decomposition_base_log: u64, + pub pp_decomposition_level_count: u64, + pub pp_decomposition_base_log: u64, pub crt_decomposition: Vec, } diff --git a/concrete-optimizer-cpp/src/cpp/concrete-optimizer.cpp b/concrete-optimizer-cpp/src/cpp/concrete-optimizer.cpp index d8cecdfbc..1ceaccdfb 100644 --- a/concrete-optimizer-cpp/src/cpp/concrete-optimizer.cpp +++ b/concrete-optimizer-cpp/src/cpp/concrete-optimizer.cpp @@ -1049,6 +1049,8 @@ struct DagSolution final { bool use_wop_pbs; ::std::uint64_t cb_decomposition_level_count; ::std::uint64_t cb_decomposition_base_log; + ::std::uint64_t pp_decomposition_level_count; + ::std::uint64_t pp_decomposition_base_log; ::rust::Vec<::std::uint64_t> crt_decomposition; using IsRelocatable = ::std::true_type; diff --git a/concrete-optimizer-cpp/src/cpp/concrete-optimizer.hpp b/concrete-optimizer-cpp/src/cpp/concrete-optimizer.hpp index 13bd8a78c..d59f2eeb2 100644 --- a/concrete-optimizer-cpp/src/cpp/concrete-optimizer.hpp +++ b/concrete-optimizer-cpp/src/cpp/concrete-optimizer.hpp @@ -1030,6 +1030,8 @@ struct DagSolution final { bool use_wop_pbs; ::std::uint64_t cb_decomposition_level_count; ::std::uint64_t cb_decomposition_base_log; + ::std::uint64_t pp_decomposition_level_count; + ::std::uint64_t pp_decomposition_base_log; ::rust::Vec<::std::uint64_t> crt_decomposition; using IsRelocatable = ::std::true_type;