feat(compiler): support multi-circuit compilation

This commit is contained in:
Alexandre Péré
2024-02-09 11:39:06 +01:00
committed by Alexandre Péré
parent 3247a28d9d
commit 9b5a2e46da
78 changed files with 1200 additions and 865 deletions

View File

@@ -976,6 +976,7 @@ struct OperationDag final : public ::rust::Opaque {
::concrete_optimizer::dag::OperatorIndex add_unsafe_cast_op(::concrete_optimizer::dag::OperatorIndex input, ::std::uint8_t rounded_precision) noexcept;
::concrete_optimizer::dag::DagSolution optimize(::concrete_optimizer::Options options) const noexcept;
::rust::String dump() const noexcept;
void concat(::concrete_optimizer::OperationDag const &other) noexcept;
void tag_operator_as_output(::concrete_optimizer::dag::OperatorIndex op) noexcept;
::concrete_optimizer::dag::CircuitSolution optimize_multi(::concrete_optimizer::Options options) const noexcept;
~OperationDag() = delete;
@@ -1289,6 +1290,8 @@ extern "C" {
void concrete_optimizer$cxxbridge1$OperationDag$optimize(::concrete_optimizer::OperationDag const &self, ::concrete_optimizer::Options options, ::concrete_optimizer::dag::DagSolution *return$) noexcept;
void concrete_optimizer$cxxbridge1$OperationDag$dump(::concrete_optimizer::OperationDag const &self, ::rust::String *return$) noexcept;
void concrete_optimizer$cxxbridge1$OperationDag$concat(::concrete_optimizer::OperationDag &self, ::concrete_optimizer::OperationDag const &other) noexcept;
} // extern "C"
namespace dag {
@@ -1390,6 +1393,10 @@ namespace dag {
return ::std::move(return$.value);
}
void OperationDag::concat(::concrete_optimizer::OperationDag const &other) noexcept {
concrete_optimizer$cxxbridge1$OperationDag$concat(*this, other);
}
namespace dag {
::rust::String CircuitSolution::dump() const noexcept {
::rust::MaybeUninit<::rust::String> return$;

View File

@@ -957,6 +957,7 @@ struct OperationDag final : public ::rust::Opaque {
::concrete_optimizer::dag::OperatorIndex add_unsafe_cast_op(::concrete_optimizer::dag::OperatorIndex input, ::std::uint8_t rounded_precision) noexcept;
::concrete_optimizer::dag::DagSolution optimize(::concrete_optimizer::Options options) const noexcept;
::rust::String dump() const noexcept;
void concat(::concrete_optimizer::OperationDag const &other) noexcept;
void tag_operator_as_output(::concrete_optimizer::dag::OperatorIndex op) noexcept;
::concrete_optimizer::dag::CircuitSolution optimize_multi(::concrete_optimizer::Options options) const noexcept;
~OperationDag() = delete;