feat(compiler): Output client parameters when compile to a library

close #198
This commit is contained in:
rudy
2021-12-29 11:34:54 +01:00
committed by Quentin Bourgerie
parent a4e8227692
commit b8bd38dd6c
26 changed files with 889 additions and 271 deletions

View File

@@ -0,0 +1,36 @@
// Part of the Concrete Compiler Project, under the BSD3 License with Zama
// Exceptions. See
// https://github.com/zama-ai/homomorphizer/blob/master/LICENSE.txt for license
// information.
#ifndef CONCRETELANG_SUPPORT_KEYSETCACHE_H_
#define CONCRETELANG_SUPPORT_KEYSETCACHE_H_
#include "concretelang/ClientLib/KeySet.h"
namespace mlir {
namespace concretelang {
class KeySet;
class KeySetCache {
std::string backingDirectoryPath;
public:
KeySetCache(std::string backingDirectoryPath)
: backingDirectoryPath(backingDirectoryPath) {}
llvm::Expected<std::unique_ptr<KeySet>>
tryLoadOrGenerateSave(ClientParameters &params, uint64_t seed_msb,
uint64_t seed_lsb);
private:
static llvm::Expected<std::unique_ptr<KeySet>>
tryLoadKeys(ClientParameters &params, uint64_t seed_msb, uint64_t seed_lsb,
llvm::SmallString<0> &folderPath);
};
} // namespace concretelang
} // namespace mlir
#endif