diff options
author | MITSUNARI Shigeo <herumi@nifty.com> | 2017-11-27 21:11:44 +0800 |
---|---|---|
committer | MITSUNARI Shigeo <herumi@nifty.com> | 2017-11-27 21:11:44 +0800 |
commit | 97b4208ce18bbe00aa74b55e50fc8d07cd14a1c4 (patch) | |
tree | d37675745bb7f4607f3481ef3f15e885a72c2b6f | |
parent | 6dfc9d153a652aa0ee2884dc2052f480b957816c (diff) | |
download | tangerine-mcl-97b4208ce18bbe00aa74b55e50fc8d07cd14a1c4.tar.gz tangerine-mcl-97b4208ce18bbe00aa74b55e50fc8d07cd14a1c4.tar.zst tangerine-mcl-97b4208ce18bbe00aa74b55e50fc8d07cd14a1c4.zip |
[js] remove exported-mcl.json ; add setInt32 for JS
-rw-r--r-- | Makefile | 7 | ||||
-rw-r--r-- | ffi/js/pre-mcl.js | 5 | ||||
-rw-r--r-- | include/mcl/bn.h | 2 | ||||
-rw-r--r-- | src/bn_c_impl.hpp | 9 |
4 files changed, 17 insertions, 6 deletions
@@ -209,10 +209,6 @@ test: $(TEST_EXE) @sh -ec 'for i in $(TEST_EXE); do $$i|grep "ctest:name"; done' > result.txt @grep -v "ng=0, exception=0" result.txt; if [ $$? -eq 1 ]; then echo "all unit tests succeed"; else exit 1; fi -MCL_JSON=docs/demo/exported-mcl.json -$(MCL_JSON): include/mcl/bn.h - python ffi/js/export-functions.py -json $^ > $(MCL_JSON) - EMCC_OPT=-I./include -I./src -I../cybozulib/include EMCC_OPT+=-O3 -DNDEBUG -DMCLBN_FP_UNIT_SIZE=4 -DMCL_MAX_BIT_SIZE=256 -DMCLSHE_WIN_SIZE=8 EMCC_OPT+=-s WASM=1 -s DISABLE_EXCEPTION_CATCHING=0 -s NO_EXIT_RUNTIME=1 @@ -228,10 +224,9 @@ docs/demo/she_c.js: $(JS_DEP) emcc -o $@ src/fp.cpp src/she_c256.cpp $(EMCC_OPT) --pre-js ffi/js/pre.js cp docs/demo/she.js ../she-wasm/ -../mcl-wasm/mcl_c.js: src/fp.cpp src/bn_c256.cpp $(MCL_JSON) +../mcl-wasm/mcl_c.js: src/fp.cpp src/bn_c256.cpp emcc -o $@ src/fp.cpp src/bn_c256.cpp $(EMCC_OPT) --pre-js ffi/js/pre-mcl.js cp docs/demo/mcl.js ../mcl-wasm/ - cp $(MCL_JSON) ../mcl-wasm/ demo: $(MAKE) docs/demo/she_c.js diff --git a/ffi/js/pre-mcl.js b/ffi/js/pre-mcl.js new file mode 100644 index 0000000..ebc93e5 --- /dev/null +++ b/ffi/js/pre-mcl.js @@ -0,0 +1,5 @@ +if (typeof __dirname === 'string') { + var Module = {} + Module.wasmBinaryFile = __dirname + '/mcl_c.wasm' +} + diff --git a/include/mcl/bn.h b/include/mcl/bn.h index f57aa34..5aee94c 100644 --- a/include/mcl/bn.h +++ b/include/mcl/bn.h @@ -131,6 +131,7 @@ MCLBN_DLL_API void mclBnFr_clear(mclBnFr *x); // set x to y MCLBN_DLL_API void mclBnFr_setInt(mclBnFr *y, int64_t x); +MCLBN_DLL_API void mclBnFr_setInt32(mclBnFr *y, int x); /* ioMode @@ -235,6 +236,7 @@ MCLBN_DLL_API void mclBnG2_mulCT(mclBnG2 *z, const mclBnG2 *x, const mclBnFr *y) MCLBN_DLL_API void mclBnGT_clear(mclBnGT *x); // set x to y MCLBN_DLL_API void mclBnGT_setInt(mclBnGT *y, int64_t x); +MCLBN_DLL_API void mclBnGT_setInt32(mclBnGT *y, int x); // return 0 if success MCLBN_DLL_API int mclBnGT_setStr(mclBnGT *x, const char *buf, size_t bufSize, int ioMode); diff --git a/src/bn_c_impl.hpp b/src/bn_c_impl.hpp index 2f6d90d..fee1576 100644 --- a/src/bn_c_impl.hpp +++ b/src/bn_c_impl.hpp @@ -174,6 +174,10 @@ void mclBnFr_setInt(mclBnFr *y, int64_t x) { *cast(y) = x; } +void mclBnFr_setInt32(mclBnFr *y, int x) +{ + *cast(y) = x; +} int mclBnFr_setStr(mclBnFr *x, const char *buf, size_t bufSize, int ioMode) { @@ -425,6 +429,11 @@ void mclBnGT_setInt(mclBnGT *y, int64_t x) cast(y)->clear(); *(cast(y)->getFp0()) = x; } +void mclBnGT_setInt32(mclBnGT *y, int x) +{ + cast(y)->clear(); + *(cast(y)->getFp0()) = x; +} int mclBnGT_setStr(mclBnGT *x, const char *buf, size_t bufSize, int ioMode) { |