aboutsummaryrefslogtreecommitdiff
path: root/src/Specific/Framework
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2017-11-02 03:11:38 -0400
committerGravatar Jason Gross <jgross@mit.edu>2017-11-02 03:11:38 -0400
commitc17d449d001239930418c04160ddb168239295ea (patch)
tree83ed43994584c4c3ab856d902ad19167bcef6a44 /src/Specific/Framework
parent498a7dab48c80497a9173d7c94e9e4dde75b73d8 (diff)
Add -D compiler arguments for gmpxx.cpp
Diffstat (limited to 'src/Specific/Framework')
-rw-r--r--src/Specific/Framework/bench/gmpxx.cpp17
-rwxr-xr-xsrc/Specific/Framework/make_curve.py4
2 files changed, 17 insertions, 4 deletions
diff --git a/src/Specific/Framework/bench/gmpxx.cpp b/src/Specific/Framework/bench/gmpxx.cpp
index 4710f8ad3..08f00e9af 100644
--- a/src/Specific/Framework/bench/gmpxx.cpp
+++ b/src/Specific/Framework/bench/gmpxx.cpp
@@ -3,10 +3,21 @@
#include <stdio.h>
#include <gmpxx.h>
+#ifndef q_mpz
+#define q_mpz ((1_mpz<<255)-19)
+#endif
-static const mpz_class q = (1_mpz<<255)-19;
-static const size_t modulus_bytes = 32;
-static const unsigned int a24 = 0x01db41;
+#ifndef modulus_bytes_val
+#define modulus_bytes_val 32
+#endif
+
+#ifndef a24_hex
+#define a24_hex 0x01db41
+#endif
+
+static const mpz_class q = q_mpz;
+static const size_t modulus_bytes = modulus_bytes_val;
+static const unsigned int a24 = a24_hex;
static void fe_print(const mpz_class &x) {
printf("0x"); for (size_t i = modulus_bytes-1; i<modulus_bytes; --i) { printf("%02x", mpz_class(x>>(8*i)).get_ui()&0xff); }
diff --git a/src/Specific/Framework/make_curve.py b/src/Specific/Framework/make_curve.py
index b5c2543d8..ae913d957 100755
--- a/src/Specific/Framework/make_curve.py
+++ b/src/Specific/Framework/make_curve.py
@@ -496,6 +496,8 @@ def main(*args):
outputs[os.path.basename(fname)] = header + '\n' + open(os.path.join(parameters_folder, fname), 'r').read()
if 'compiler' in parameters.keys():
outputs['compiler.sh'] = make_compiler(parameters['compiler'])
+ if 'compilerxx' in parameters.keys():
+ outputs['compilerxx.sh'] = make_compiler(parameters['compilerxx'])
outputs['py_interpreter.sh'] = make_py_interpreter(parameters)
file_list = tuple((k, os.path.join(output_folder, k)) for k in sorted(outputs.keys()))
if not force:
@@ -515,7 +517,7 @@ def main(*args):
new_files.append(fname)
with io.open(fname, 'w', newline='\n') as f:
f.write(unicode(outputs[k]))
- if fname.endswith('compiler.sh') or fname.endswith('py_interpreter.sh'):
+ if any(fname.endswith(name) for name in ('compiler.sh', 'compilerxx.sh', 'py_interpreter.sh')):
mode = os.fstat(f.fileno()).st_mode
mode |= 0o111
mode &= 0o7777