Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Blsct arith classes with tests (#54)
* Added the new classes Scalar and G1Point * Added scalar.{h,cpp} and g1point.{h,cpp} to make file * Implemented more of the operators * Implemented more functions * Added new << >> logic for bitwise ops * implemented Scalar::{Rand,GetString,Hash} * Updated the arith scalar logic * Added more G1Point arith logic, math... * Added hashMapTo * Removed Scalar::hashAndMap * Updates that I forgot to push * Updated G1Point::Rand() * Update the mulVec func in G1Point to throw and exception if gVec and sVec size don't match * Removed the test code that was accidentally added * Implemented mulVec * Removed some unused header calls * Added return statement for G1Point::Double * add g1point/scalar and their tests * ignore .vscode * add endianness parameter to G1Point::MapToG1. add g1point_hash_and_map test * add mulvec_mcl test * add mulvec tests * add scalars and g1points classes * add MapToG1(string&) * extracted common parts of Scalars and G1Points to Elements. add slicing functions to Elements * wip * wip * drop G1point::operator^ * drop the 2nd type artument from Elements * add skeleton elements tests * add elements tests * support non-zero rand generatation * wip * add Elements::FirstNPowers * add .gitignore to exclude dynamically generated files on macos. add Elements::RandomVector * wip * add Scalar::Pow and Scalar::GetBits * add range proof test (not tested) * add type parameter where required * calculate t1, t2 properly * fix typo * add Elements::RepeatN test * add comment * add integration_tests and move such tests there * introduce std::is_same in elements.h * add gg^z == gg^(ones * z) * wip * add working h^mu gg^l test * add Scalars::FirstNInvPow * add multiply inv power seq for G1Points * wip * wip * drop FirstNInvPow. add working 65_g_part_ts_only test * wip * add working range proof test * wip * make the range proof procedure a function * integrate inner product argument to range proof * wip * wip * wip * wip * drop unused variable * separate elements implementation to cpp * clean up code * wip * wip * ignore .vscode add endianness parameter to G1Point::MapToG1. add g1point_hash_and_map test add mulvec_mcl test add mulvec tests add scalars and g1points classes add MapToG1(string&) extracted common parts of Scalars and G1Points to Elements. add slicing functions to Elements wip wip drop G1point::operator^ drop the 2nd type artument from Elements add skeleton elements tests add elements tests support non-zero rand generatation wip add Elements::FirstNPowers add .gitignore to exclude dynamically generated files on macos. add Elements::RandomVector wip add Scalar::Pow and Scalar::GetBits add range proof test (not tested) add type parameter where required calculate t1, t2 properly fix typo add Elements::RepeatN test add comment add integration_tests and move such tests there introduce std::is_same in elements.h add gg^z == gg^(ones * z) wip add working h^mu gg^l test add Scalars::FirstNInvPow add multiply inv power seq for G1Points wip wip drop FirstNInvPow. add working 65_g_part_ts_only test wip add working range proof test wip make the range proof procedure a function integrate inner product argument to range proof wip drop unused variable wip wip wip separate elements implementation to cpp clean up code wip wip * squashed commits * fix typo * migrate indirect MulVec to Elements * fix build issues in clang * fix spelling errors * add newly introduced boost depdendency to lint-includes.py * remove local depdendent functions * wip * remove trailing spaces * Added BLS and MCL libs/includes to kernel build * Updated copy constructor and assignment operators * Added clean steps to clean-local for mcl and bls libs * FORCE mcl and bls libs to build using main project CC and CXX values * replace test_integration_invert_zero by additional test case of Scalars::FirstNPow * use fixture test suite to provide name for bls/arith tests * throw exception when Scalar(0) is inverted * include bls/arith headers in setup_common.h * add g1point and mcl_initializer dependency to test_util source * fix test_util.include * add blsct/arith/scalar depedency to libtest_util * Disabled LLVM use in MCL compilation, this disabled ASM * Added NM to android host configs for depends builds * Added ABI=32 for i386 builds of GMP in depends * fix undefined sanitizer error Co-authored-by: mxaddict <[email protected]>
- Loading branch information