diff options
author | Jason Gross <jgross@mit.edu> | 2017-10-14 16:00:59 -0400 |
---|---|---|
committer | Jason Gross <jasongross9@gmail.com> | 2017-10-18 23:01:29 -0400 |
commit | d36702195ac82c2636b2f5842ae5fe210b7c415f (patch) | |
tree | a52b7d2a85bcdd643117650076ac93b0f015e580 /src | |
parent | 1aa16a0a9fa9cd72e2573af59904d00294b96cd3 (diff) |
Fix make_curve.py to handle files from generate_parameters
Diffstat (limited to 'src')
-rwxr-xr-x | src/Specific/Framework/make_curve.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/Specific/Framework/make_curve.py b/src/Specific/Framework/make_curve.py index 9bd260d4e..70b88069d 100755 --- a/src/Specific/Framework/make_curve.py +++ b/src/Specific/Framework/make_curve.py @@ -18,7 +18,7 @@ def compute_c(modulus_str): rest = negate_numexpr(rest.strip()[1:]) ret = [] for part in re.findall(r'(-?[0-9\^\*]+)', rest.replace(' ', '')): - if part.isdigit(): + if part.isdigit() or (part[:1] == '-' and part[1:].isdigit()): ret.append(('1', part)) elif part[:2] == '2^' and part[2:].isdigit(): ret.append((part, '1')) @@ -175,6 +175,11 @@ def nested_list_to_string(v): print('ERROR: Invalid type in nested_list_to_string: %s' % str(type(v))) assert(False) +def as_bool(v): + if isinstance(v, str) or isinstance(v, unicode): return {'true':True, 'false':False}[v] + if isinstance(v, bool): return v + raise Exception('Not a bool: %s' % repr(v)) + def make_curve_parameters(parameters): def fix_option(term, scope_string=''): if not isinstance(term, str) and not isinstance(term, unicode): @@ -470,7 +475,7 @@ def main(*args): outputs['CurveParameters.v'] = make_curve_parameters(parameters) outputs['Synthesis.v'] = make_synthesis(output_prefix) for arg in parameters['operations']: - outputs[arg + '.v'] = make_synthesized_arg(arg, output_prefix, montgomery=(parameters.get('montgomery', 'false') == 'true')) + outputs[arg + '.v'] = make_synthesized_arg(arg, output_prefix, montgomery=as_bool(parameters.get('montgomery', 'false'))) outputs[arg + 'Display.v'] = make_display_arg(arg, output_prefix) for fname in parameters.get('extra_files', []): outputs[os.path.basename(fname)] = open(os.path.join(parameters_folder, fname), 'r').read() |