tell / tepla Goto Github PK
View Code? Open in Web Editor NEWA mirror of TEPLA
A mirror of TEPLA
include/tepla/ec/field.h
をinclude/tepla/field.h
に移動する.
gccでコンパイルする時にオプション-std=c11
を必ず付加することを前提とした実装に変更する
src/tepla
の下にあるファイルをsrc
の下に移動させる
v1.0 と v1.1 の差分はまとめるのではなくて1件毎に別個のコミットにするべきか?
A function bn254_fp_random uses a random number generator provided by GNU MP. This generator is not cryptographically secure, also, there exists several problems, and other random functions are also. Be careful when you use them to take benchmarking and deploy into your systems.
The random number generator should be provided by external modules, so API and internals of random number generation should be redesigned.
bn254_fp2_is_sqr
の実装が間違えている?
要確認.
ソースコードのコメントに各APIや関数の解説を埋め込み,Doxygenで文書生成させる
src/tepla/ec_bn254/test
をルートディレクトリ(tepla
に展開しているので,この下)に移動させる
バグがあるのにmake check
が失敗しないのは,テストが不十分だから.
なので充実させる
ビルドツールをAutotoolsからCMakeに移行させる.
ある一定規模以上のアルゴリズムについては,出展を明記する.
情報共有およびメンテナンスのためにも,できるだけ独自実装は避けた方が良いと思われる.
C++からも呼び出せるように,__cplusplusマクロで分岐してextern "C"を挿入する.入れ子にならないように注意.
Semantic Versioningを参考にGitのタグを付けてみる.
ひとまず,今登録されているタグを変更して,一端closeする.
事後報告だけれども,コーディングに一貫性が無い所がいくつか認められたので,astyleを使って整形した.
いくつかまだ調整する必要があるけど,悪くないと思うので,このツールを上手い具合に活用してコーディング規約を決めるのはどうか?
bn254_fp2_cmp
の実装が間違えているので修正する (told by official TEPLA development team)
tepla_
という接頭辞をグローバルシンボル(クライアントコードに提供するインターフェース)に付ける.
G2の有理点判定が間違えているので修正する (told by official TEPLA development team)
このtmpメンバにより,TEPLAをマルチスレッド環境で使うのは難しいと思われる.
このtmpは共有できないので,使う側ではスレッドローカルに初期化を行う必要がある.
スレッドプールを使う?など,色々と方法論は思い浮かぶけれども,敷居が高いと思われるので設計をし直した方が良いだろう.
例えば,有限体(構造体)型Tについて:
bool T_eq(const T*, const T*);
のような等価性を判定する関数を新しく導入する.
但し,bool型はC99のstdbool.hで提供される.
よってこのissueは #8 の一部でもある.
G1とG2の生成元が無限遠点になっているので修正する (told by official TEPLA development team)
要確認だが,*_set_str
が受理する文字列の構文に冗長性が無いようだ.
使い辛いので,冗長性を許すようにする.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.