aboutsummaryrefslogtreecommitdiff
path: root/src/ringct/multiexp.h
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2018-01-18 12:01:45 +0000
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2018-09-11 13:37:31 +0000
commite895c3def1aa6c037c3d9c2daca8dacbd62e74dd (patch)
tree4c5281f1d9bfda0f0b6e8e2e504a49091204ffab /src/ringct/multiexp.h
parentmultiexp: bos coster now works for just one point (diff)
downloadmonero-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.h7
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);
}