build: automate a part of the release process

This commit is contained in:
Arthur Meyre
2021-09-20 17:23:02 +02:00
parent 35011bd403
commit 10cbfa1652
3 changed files with 109 additions and 13 deletions

View File

@@ -0,0 +1,36 @@
import random
import concrete.numpy as hnp
def main():
def function_to_compile(x):
return x + 42
n_bits = 3
x = hnp.EncryptedScalar(hnp.UnsignedInteger(n_bits))
engine = hnp.compile_numpy_function(
function_to_compile,
{"x": x},
[(i,) for i in range(2 ** n_bits)],
)
inputs = []
labels = []
for _ in range(4):
sample_x = random.randint(0, 2 ** n_bits - 1)
inputs.append([sample_x])
labels.append(function_to_compile(*inputs[-1]))
correct = 0
for input_i, label_i in zip(inputs, labels):
result_i = engine.run(*input_i)
if result_i == label_i:
correct += 1
if __name__ == "__main__":
main()