diff options
author | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2018-05-29 12:39:00 +0100 |
---|---|---|
committer | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2018-09-11 13:38:02 +0000 |
commit | 0b05a0fa74512970ceba3c15ed2cbf027ef7b6da (patch) | |
tree | 8d124229d8b6df177a1e5d37e18681803a221c45 /src/ringct/multiexp.h | |
parent | add pippenger unit tests (diff) | |
download | monero-0b05a0fa74512970ceba3c15ed2cbf027ef7b6da.tar.xz |
Add Pippenger cache and limit Straus cache size
Diffstat (limited to 'src/ringct/multiexp.h')
-rw-r--r-- | src/ringct/multiexp.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/ringct/multiexp.h b/src/ringct/multiexp.h index 2ed8db279..559ab664a 100644 --- a/src/ringct/multiexp.h +++ b/src/ringct/multiexp.h @@ -54,14 +54,17 @@ struct MultiexpData { }; struct straus_cached_data; +struct pippenger_cached_data; rct::key bos_coster_heap_conv(std::vector<MultiexpData> data); rct::key bos_coster_heap_conv_robust(std::vector<MultiexpData> data); -std::shared_ptr<straus_cached_data> straus_init_cache(const std::vector<MultiexpData> &data); +std::shared_ptr<straus_cached_data> straus_init_cache(const std::vector<MultiexpData> &data, size_t N =0); size_t straus_get_cache_size(const std::shared_ptr<straus_cached_data> &cache); rct::key straus(const std::vector<MultiexpData> &data, const std::shared_ptr<straus_cached_data> &cache = NULL, size_t STEP = 0); +std::shared_ptr<pippenger_cached_data> pippenger_init_cache(const std::vector<MultiexpData> &data, size_t N =0); +size_t pippenger_get_cache_size(const std::shared_ptr<pippenger_cached_data> &cache); size_t get_pippenger_c(size_t N); -rct::key pippenger(const std::vector<MultiexpData> &data, size_t c); +rct::key pippenger(const std::vector<MultiexpData> &data, const std::shared_ptr<pippenger_cached_data> &cache = NULL, size_t c = 0); } |