Files
MP-SPDZ/doc/reading-table.py
2025-12-24 13:47:42 +11:00

47 lines
1.3 KiB
Python
Executable File

#!/usr/bin/python
import glob, os, sys, csv
from collections import defaultdict
sys.path.insert(0, os.path.abspath('..'))
from Compiler.compilerLib import Compiler
from Compiler.papers import *
def protocols():
exclude = 'no', 'bmr-program',
for sub in '', 'BMR/':
for filename in glob.glob('../Machines/%s*-party.cpp' % sub):
name = os.path.basename(filename)[:-10]
if not (name in exclude or name.endswith('-prep')):
yield name
out = csv.writer(open('protocol-reading.csv', 'w'))
protocol_links = set()
for protocol in sorted(protocols()):
protocol = Compiler.short_protocol_name(protocol)
assert os.path.exists('../Scripts/%s.sh' % protocol)
reading = reading_for_protocol(protocol)
assert reading
out.writerow([protocol, reading])
protocol_links.update(reading.split(', '))
refs = defaultdict(set)
for filename in glob.glob('../Compiler/*.py'):
for line in open(filename):
m = re.search(r"reading.'([^']*)', '([^']*)'", line)
if m:
refs[m.group(2)].add(m.group(1))
out = csv.writer(open('other-reading.csv', 'w'))
for ref, keywords in sorted(refs.items(), key=lambda x: list(sorted(
re.sub('\(', '', xx).lower() for xx in x[1]))):
out.writerow([', '.join(sorted(keywords, key=lambda x: x.lower())),
papers[ref]])
del out