From 5a83e4fc3fd4e541b870f51843a779c9bf253285 Mon Sep 17 00:00:00 2001 From: DeckerSU Date: Fri, 20 Apr 2018 03:32:45 +0300 Subject: [PATCH] src/snark patches for windows build --- src/snark/AUTHORS | 3 + src/snark/Makefile | 21 ++-- src/snark/README.md | 8 +- .../algebra/curves/alt_bn128/alt_bn128_g1.cpp | 11 +- .../algebra/curves/alt_bn128/alt_bn128_g1.hpp | 8 +- .../algebra/curves/alt_bn128/alt_bn128_g2.cpp | 11 +- .../algebra/curves/alt_bn128/alt_bn128_g2.hpp | 8 +- .../curves/alt_bn128/alt_bn128_pairing.cpp | 6 +- .../libsnark/algebra/curves/curve_utils.tcc | 2 +- .../algebra/curves/tests/test_bilinearity.cpp | 42 +++++-- .../algebra/curves/tests/test_groups.cpp | 101 +++++++++------- .../domains/basic_radix2_domain.tcc | 11 +- .../domains/basic_radix2_domain_aux.tcc | 15 +-- .../evaluation_domain/evaluation_domain.hpp | 4 +- .../evaluation_domain/evaluation_domain.tcc | 19 +-- .../algebra/exponentiation/exponentiation.hpp | 2 +- .../algebra/exponentiation/exponentiation.tcc | 4 +- src/snark/libsnark/algebra/fields/bigint.hpp | 4 +- src/snark/libsnark/algebra/fields/bigint.tcc | 27 ++--- .../libsnark/algebra/fields/field_utils.hpp | 8 +- .../libsnark/algebra/fields/field_utils.tcc | 43 +++---- src/snark/libsnark/algebra/fields/fp.hpp | 44 +++---- src/snark/libsnark/algebra/fields/fp.tcc | 38 +++--- .../algebra/fields/fp12_2over3over2.hpp | 4 +- .../algebra/fields/fp12_2over3over2.tcc | 10 +- src/snark/libsnark/algebra/fields/fp2.hpp | 8 +- src/snark/libsnark/algebra/fields/fp2.tcc | 8 +- .../libsnark/algebra/fields/fp6_3over2.hpp | 4 +- .../libsnark/algebra/fields/fp6_3over2.tcc | 4 +- .../algebra/fields/tests/test_bigint.cpp | 90 ++++++++------- .../algebra/fields/tests/test_fields.cpp | 108 +++++++++++++----- .../scalar_multiplication/kc_multiexp.hpp | 6 +- .../scalar_multiplication/kc_multiexp.tcc | 4 +- .../scalar_multiplication/multiexp.tcc | 29 ++--- .../algebra/scalar_multiplication/wnaf.hpp | 2 +- .../algebra/scalar_multiplication/wnaf.tcc | 18 +-- .../common/data_structures/merkle_tree.tcc | 18 +-- .../common/data_structures/sparse_vector.hpp | 16 +-- .../common/data_structures/sparse_vector.tcc | 36 +++--- src/snark/libsnark/common/profiling.cpp | 77 ++++++++----- src/snark/libsnark/common/profiling.hpp | 10 +- src/snark/libsnark/common/serialization.hpp | 2 +- src/snark/libsnark/common/serialization.tcc | 3 +- src/snark/libsnark/common/utils.cpp | 28 ++--- src/snark/libsnark/common/utils.hpp | 17 ++- src/snark/libsnark/common/utils.tcc | 8 ++ .../gadgetlib1/gadgets/basic_gadgets.tcc | 40 +++---- .../gadgets/hashes/sha256/sha256_aux.tcc | 2 +- .../hashes/sha256/sha256_components.hpp | 4 +- .../hashes/sha256/sha256_components.tcc | 6 +- .../sha256/tests/test_sha256_gadget.cpp | 6 +- .../merkle_authentication_path_variable.tcc | 4 +- .../merkle_tree_check_read_gadget.tcc | 4 +- .../merkle_tree_check_update_gadget.hpp | 1 + .../merkle_tree_check_update_gadget.tcc | 4 +- .../tests/test_merkle_tree_gadgets.cpp | 22 ++-- src/snark/libsnark/gadgetlib1/pb_variable.hpp | 4 +- src/snark/libsnark/gadgetlib1/pb_variable.tcc | 4 +- src/snark/libsnark/gtests.cpp | 5 +- .../reductions/r1cs_to_qap/r1cs_to_qap.hpp | 2 +- .../qap/tests/test_qap.cpp | 31 +++-- src/snark/libsnark/relations/variable.hpp | 4 +- .../examples/run_r1cs_ppzksnark.tcc | 2 +- .../r1cs_ppzksnark/r1cs_ppzksnark.hpp | 5 +- .../r1cs_ppzksnark/r1cs_ppzksnark.tcc | 2 +- .../tests/test_r1cs_ppzksnark.cpp | 12 +- 66 files changed, 638 insertions(+), 476 deletions(-) diff --git a/src/snark/AUTHORS b/src/snark/AUTHORS index 1b2d7a247..cdc8d66af 100644 --- a/src/snark/AUTHORS +++ b/src/snark/AUTHORS @@ -17,3 +17,6 @@ External contributors: Tadanori TERUYA Sean Bowe Daira Hopwood + @mugatu on forum.z.cash + David Mercer + Joshua Yabut diff --git a/src/snark/Makefile b/src/snark/Makefile index b865f992f..17dcfdc6e 100644 --- a/src/snark/Makefile +++ b/src/snark/Makefile @@ -6,6 +6,13 @@ #* @copyright MIT license (see LICENSE file) #*******************************************************************************/ +# Determine building operating system +ifeq ($(OS),Windows_NT) + uname_S := Windows +else + uname_S := $(shell uname -s) +endif + # To override these, use "make OPTFLAGS=..." etc. CURVE = BN128 OPTFLAGS = -O2 -march=native -mtune=native @@ -106,18 +113,9 @@ EXECUTABLES_WITH_GTEST = EXECUTABLES_WITH_SUPERCOP = \ libsnark/zk_proof_systems/ppzkadsnark/r1cs_ppzkadsnark/examples/demo_r1cs_ppzkadsnark -GTEST_TESTS = libsnark/gtests +GTEST_TESTS = -GTEST_SRCS = \ - libsnark/algebra/curves/tests/test_bilinearity.cpp \ - libsnark/algebra/curves/tests/test_groups.cpp \ - libsnark/algebra/fields/tests/test_bigint.cpp \ - libsnark/algebra/fields/tests/test_fields.cpp \ - libsnark/gadgetlib1/gadgets/hashes/sha256/tests/test_sha256_gadget.cpp \ - libsnark/gadgetlib1/gadgets/merkle_tree/tests/test_merkle_tree_gadgets.cpp \ - libsnark/relations/arithmetic_programs/qap/tests/test_qap.cpp \ - libsnark/zk_proof_systems/ppzksnark/r1cs_ppzksnark/tests/test_r1cs_ppzksnark.cpp \ - libsnark/gtests.cpp +GTEST_SRCS = DOCS = README.html @@ -175,6 +173,7 @@ all: \ $(if $(NO_GTEST),,$(EXECUTABLES_WITH_GTEST) $(GTEST_TESTS)) \ $(if $(NO_SUPERCOP),,$(EXECUTABLES_WITH_SUPERCOP)) \ $(EXECUTABLES) \ + $(LIBSNARK_A) \ $(if $(NO_DOCS),,doc) doc: $(DOCS) diff --git a/src/snark/README.md b/src/snark/README.md index 89183b43a..d5aa34006 100644 --- a/src/snark/README.md +++ b/src/snark/README.md @@ -14,7 +14,7 @@ Copyright (c) 2012-2014 SCIPR Lab and contributors (see [AUTHORS] file). [TOC]