add setup.py to and an example mpc program

This commit is contained in:
Erik Taubeneck
2022-08-03 15:12:40 -04:00
parent 4859a09633
commit 24a7b4f69d
2 changed files with 38 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
from Compiler.library import print_ln
from Compiler.types import Matrix, sint
from Compiler.compilerLib import Compiler
usage = "usage: %prog [options] [args]"
compiler = Compiler(usage=usage)
compiler.parser.add_option("--rows", dest="rows")
compiler.parser.add_option("--columns", dest="columns")
compiler.parse_args()
if not compiler.options.rows:
compiler.parser.error("--rows required")
if not compiler.options.columns:
compiler.parser.error("--columns required")
@compiler.register_function('testmpc')
def main(compiler):
numrows = int(compiler.options.rows)
numcolumns = int(compiler.options.columns)
rows = range(numrows)
reports = Matrix(numrows, numcolumns, sint)
reports.assign_vector(
sint.get_input_from(0, size=numrows * numcolumns)
)
for row in rows:
print_ln(f"report[{row}]: %s", reports[row].reveal())
if __name__ == "__main__":
compiler.compile_func()

7
setup.py Normal file
View File

@@ -0,0 +1,7 @@
from setuptools import setup, find_packages
setup(
name='mp-spdz-compiler',
version='0.1.0',
packages=find_packages(include=['Compiler', 'Compiler.*'])
)