aboutsummaryrefslogtreecommitdiff
path: root/generate_parameters.py
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2017-11-02 03:31:31 -0400
committerGravatar Jason Gross <jgross@mit.edu>2017-11-02 03:31:31 -0400
commit9010e4cd5d1e4cef8bc321e6b355f8c1d7588022 (patch)
treeb4f86d11ebb9fd16bc2d912642f97688e432a3d3 /generate_parameters.py
parent80e39fc2e71709b098c42ca88dd5bb8736fd9ab9 (diff)
Fix generation of q hex string
Diffstat (limited to 'generate_parameters.py')
-rw-r--r--generate_parameters.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/generate_parameters.py b/generate_parameters.py
index 82aab3ca2..bb47f638c 100644
--- a/generate_parameters.py
+++ b/generate_parameters.py
@@ -145,7 +145,9 @@ def eval_numexpr(numexpr):
def get_extra_compiler_params(q, base):
q_mpz = repr(re.sub(r'2(\s*)\^(\s*)([0-9]+)', r'(1_mpz\1<<\2\3)', str(q)))
modulus_bytes_val = repr(str(base))
- modulus_array = '{%s}' % ','.join(textwrap.wrap(hex(eval_numexpr(q))[2:].strip('L'), 2))
+ q_hex_stripped = hex(eval_numexpr(q.replace('^', '**')))[2:].strip('L')
+ q_hex_padded = q_hex_stripped.rjust(2 * int((len(q_hex_stripped) + 1) / 2), '0')
+ modulus_array = repr('{%s}' % ','.join('0x%s' % s for s in textwrap.wrap(q_hex_padded, 2)))
return ' -Dq_mpz=%(q_mpz)s -Dmodulus_bytes_val=%(modulus_bytes_val)s -Dmodulus_array=%(modulus_array)s' % locals()
def num_bits(p):