diff options
author | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2018-01-18 12:01:45 +0000 |
---|---|---|
committer | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2018-09-11 13:37:31 +0000 |
commit | e895c3def1aa6c037c3d9c2daca8dacbd62e74dd (patch) | |
tree | 4c5281f1d9bfda0f0b6e8e2e504a49091204ffab /src/ringct/multiexp.h | |
parent | multiexp: bos coster now works for just one point (diff) | |
download | monero-e895c3def1aa6c037c3d9c2daca8dacbd62e74dd.tar.xz |
make straus cached mode thread safe, and add tests for it
Diffstat (limited to 'src/ringct/multiexp.h')
-rw-r--r-- | src/ringct/multiexp.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/ringct/multiexp.h b/src/ringct/multiexp.h index cc53e633e..44998e2e0 100644 --- a/src/ringct/multiexp.h +++ b/src/ringct/multiexp.h @@ -36,6 +36,7 @@ #include <vector> #include "crypto/crypto.h" #include "rctTypes.h" +#include "misc_log_ex.h" namespace rct { @@ -52,9 +53,13 @@ struct MultiexpData { } }; +struct straus_cached_data; + rct::key bos_coster_heap_conv(std::vector<MultiexpData> data); rct::key bos_coster_heap_conv_robust(std::vector<MultiexpData> data); -rct::key straus(const std::vector<MultiexpData> &data, bool HiGi = false); +std::shared_ptr<straus_cached_data> straus_init_cache(const std::vector<MultiexpData> &data); +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); } |