fix(cpp): move Solution in the namespace

This commit is contained in:
rudy
2022-05-09 11:25:13 +02:00
committed by rudy-6-4
parent 30049f9ef4
commit f684f9ffe6
4 changed files with 19 additions and 14 deletions

View File

@@ -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

View File

@@ -1,10 +1,13 @@
#include <cstdint>
#include <type_traits>
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

View File

@@ -2,10 +2,13 @@
#include <cstdint>
#include <type_traits>
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

View File

@@ -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;