Coder Social home page Coder Social logo

tepla's People

Contributors

tell avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

ysk-knbr

tepla's Issues

Use C11

gccでコンパイルする時にオプション-std=c11を必ず付加することを前提とした実装に変更する

Redesign random number generation

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.

Provide more tests

バグがあるのにmake checkが失敗しないのは,テストが不十分だから.
なので充実させる

Use CMake

ビルドツールをAutotoolsからCMakeに移行させる.

Provide more accurate references of implementation

ある一定規模以上のアルゴリズムについては,出展を明記する.
情報共有およびメンテナンスのためにも,できるだけ独自実装は避けた方が良いと思われる.

Introduce coding standard

事後報告だけれども,コーディングに一貫性が無い所がいくつか認められたので,astyleを使って整形した.

いくつかまだ調整する必要があるけど,悪くないと思うので,このツールを上手い具合に活用してコーディング規約を決めるのはどうか?

tmp data member should be removed

このtmpメンバにより,TEPLAをマルチスレッド環境で使うのは難しいと思われる.

このtmpは共有できないので,使う側ではスレッドローカルに初期化を行う必要がある.

スレッドプールを使う?など,色々と方法論は思い浮かぶけれども,敷居が高いと思われるので設計をし直した方が良いだろう.

Provide predicates for quality testing

例えば,有限体(構造体)型Tについて:

bool T_eq(const T*, const T*);

のような等価性を判定する関数を新しく導入する.

但し,bool型はC99のstdbool.hで提供される.
よってこのissueは #8 の一部でもある.

wrong generators of groups

G1とG2の生成元が無限遠点になっているので修正する (told by official TEPLA development team)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.