From f684f9ffe6f213abed653d4316bcdd176148cd89 Mon Sep 17 00:00:00 2001 From: rudy Date: Mon, 9 May 2022 11:25:13 +0200 Subject: [PATCH] fix(cpp): move Solution in the namespace --- concrete-optimizer-cpp/src/concrete-optimizer.rs | 1 + .../src/cpp/concrete-optimizer.cpp | 16 +++++++++------- .../src/cpp/concrete-optimizer.hpp | 14 ++++++++------ concrete-optimizer-cpp/tests/src/main.cpp | 2 +- 4 files changed, 19 insertions(+), 14 deletions(-) diff --git a/concrete-optimizer-cpp/src/concrete-optimizer.rs b/concrete-optimizer-cpp/src/concrete-optimizer.rs index 45c19226b..df19d62cd 100644 --- a/concrete-optimizer-cpp/src/concrete-optimizer.rs +++ b/concrete-optimizer-cpp/src/concrete-optimizer.rs @@ -63,6 +63,7 @@ mod ffi { ) -> Solution; } + #[namespace = "concrete_optimizer"] #[derive(Debug, Clone, Copy, Default)] pub struct Solution { pub input_lwe_dimension: u64, //n_big diff --git a/concrete-optimizer-cpp/src/cpp/concrete-optimizer.cpp b/concrete-optimizer-cpp/src/cpp/concrete-optimizer.cpp index 2babc5b13..ec804d308 100644 --- a/concrete-optimizer-cpp/src/cpp/concrete-optimizer.cpp +++ b/concrete-optimizer-cpp/src/cpp/concrete-optimizer.cpp @@ -1,10 +1,13 @@ #include #include -struct Solution; +namespace concrete_optimizer { + struct Solution; +} -#ifndef CXXBRIDGE1_STRUCT_Solution -#define CXXBRIDGE1_STRUCT_Solution +namespace concrete_optimizer { +#ifndef CXXBRIDGE1_STRUCT_concrete_optimizer$Solution +#define CXXBRIDGE1_STRUCT_concrete_optimizer$Solution struct Solution final { ::std::uint64_t input_lwe_dimension; ::std::uint64_t internal_ks_output_lwe_dimension; @@ -20,14 +23,13 @@ struct Solution final { using IsRelocatable = ::std::true_type; }; -#endif // CXXBRIDGE1_STRUCT_Solution +#endif // CXXBRIDGE1_STRUCT_concrete_optimizer$Solution -namespace concrete_optimizer { extern "C" { -::Solution concrete_optimizer$cxxbridge1$optimise_bootstrap(::std::uint64_t precision, ::std::uint64_t security_level, double noise_factor, double maximum_acceptable_error_probability) noexcept; +::concrete_optimizer::Solution concrete_optimizer$cxxbridge1$optimise_bootstrap(::std::uint64_t precision, ::std::uint64_t security_level, double noise_factor, double maximum_acceptable_error_probability) noexcept; } // extern "C" -::Solution optimise_bootstrap(::std::uint64_t precision, ::std::uint64_t security_level, double noise_factor, double maximum_acceptable_error_probability) noexcept { +::concrete_optimizer::Solution optimise_bootstrap(::std::uint64_t precision, ::std::uint64_t security_level, double noise_factor, double maximum_acceptable_error_probability) noexcept { return concrete_optimizer$cxxbridge1$optimise_bootstrap(precision, security_level, noise_factor, maximum_acceptable_error_probability); } } // namespace concrete_optimizer diff --git a/concrete-optimizer-cpp/src/cpp/concrete-optimizer.hpp b/concrete-optimizer-cpp/src/cpp/concrete-optimizer.hpp index 8157e8a35..6db772aeb 100644 --- a/concrete-optimizer-cpp/src/cpp/concrete-optimizer.hpp +++ b/concrete-optimizer-cpp/src/cpp/concrete-optimizer.hpp @@ -2,10 +2,13 @@ #include #include -struct Solution; +namespace concrete_optimizer { + struct Solution; +} -#ifndef CXXBRIDGE1_STRUCT_Solution -#define CXXBRIDGE1_STRUCT_Solution +namespace concrete_optimizer { +#ifndef CXXBRIDGE1_STRUCT_concrete_optimizer$Solution +#define CXXBRIDGE1_STRUCT_concrete_optimizer$Solution struct Solution final { ::std::uint64_t input_lwe_dimension; ::std::uint64_t internal_ks_output_lwe_dimension; @@ -21,8 +24,7 @@ struct Solution final { using IsRelocatable = ::std::true_type; }; -#endif // CXXBRIDGE1_STRUCT_Solution +#endif // CXXBRIDGE1_STRUCT_concrete_optimizer$Solution -namespace concrete_optimizer { -::Solution optimise_bootstrap(::std::uint64_t precision, ::std::uint64_t security_level, double noise_factor, double maximum_acceptable_error_probability) noexcept; +::concrete_optimizer::Solution optimise_bootstrap(::std::uint64_t precision, ::std::uint64_t security_level, double noise_factor, double maximum_acceptable_error_probability) noexcept; } // namespace concrete_optimizer diff --git a/concrete-optimizer-cpp/tests/src/main.cpp b/concrete-optimizer-cpp/tests/src/main.cpp index cb9f32c76..8cd5c3ad1 100644 --- a/concrete-optimizer-cpp/tests/src/main.cpp +++ b/concrete-optimizer-cpp/tests/src/main.cpp @@ -1,7 +1,7 @@ #include "concrete-optimizer.hpp" int main(int argc, char *argv[]) { - auto solution = concrete_optimizer::optimise_bootstrap(1, 128, 1, .05); + concrete_optimizer::Solution solution = concrete_optimizer::optimise_bootstrap(1, 128, 1, .05); if (solution.glwe_polynomial_size != 1024) { return 1;