aboutsummaryrefslogtreecommitdiff
path: root/src/ringct/multiexp.h
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2018-05-29 12:39:00 +0100
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2018-09-11 13:38:02 +0000
commit0b05a0fa74512970ceba3c15ed2cbf027ef7b6da (patch)
tree8d124229d8b6df177a1e5d37e18681803a221c45 /src/ringct/multiexp.h
parentadd pippenger unit tests (diff)
downloadmonero-0b05a0fa74512970ceba3c15ed2cbf027ef7b6da.tar.xz
Add Pippenger cache and limit Straus cache size
Diffstat (limited to 'src/ringct/multiexp.h')
-rw-r--r--src/ringct/multiexp.h7
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);
}