Electroneum
Classes | Namespaces | Macros | Functions
multiexp.cc File Reference
#include "misc_log_ex.h"
#include "common/perf_timer.h"
#include "crypto/crypto-ops.h"
#include "common/aligned.h"
#include "rctOps.h"
#include "multiexp.h"
Include dependency graph for multiexp.cc:

Classes

struct  rct::straus_cached_data
 
struct  rct::pippenger_cached_data
 

Namespaces

 rct
 

Macros

#define ELECTRONEUM_DEFAULT_LOG_CATEGORY   "multiexp"
 
#define MULTIEXP_PERF(x)
 
#define RAW_MEMORY_BLOCK
 
#define STRAUS_C   4
 
#define CACHE_OFFSET(cache, point, digit)   cache->multiples[(point)+cache->size*((digit)-1)]
 

Functions

static bool rct::operator< (const rct::key &k0, const rct::key &k1)
 
static rct::key rct::div2 (const rct::key &k)
 
static rct::key rct::pow2 (size_t n)
 
static int rct::test (const rct::key &k, size_t n)
 
static void rct::add (ge_p3 &p3, const ge_cached &other)
 
static void rct::add (ge_p3 &p3, const ge_p3 &other)
 
rct::key rct::bos_coster_heap_conv (std::vector< MultiexpData > data)
 
rct::key rct::bos_coster_heap_conv_robust (std::vector< MultiexpData > data)
 
std::shared_ptr< straus_cached_data > rct::straus_init_cache (const std::vector< MultiexpData > &data, size_t N)
 
size_t rct::straus_get_cache_size (const std::shared_ptr< straus_cached_data > &cache)
 
rct::key rct::straus (const std::vector< MultiexpData > &data, const std::shared_ptr< straus_cached_data > &cache, size_t STEP)
 
size_t rct::get_pippenger_c (size_t N)
 
std::shared_ptr< pippenger_cached_data > rct::pippenger_init_cache (const std::vector< MultiexpData > &data, size_t start_offset, size_t N)
 
size_t rct::pippenger_get_cache_size (const std::shared_ptr< pippenger_cached_data > &cache)
 
rct::key rct::pippenger (const std::vector< MultiexpData > &data, const std::shared_ptr< pippenger_cached_data > &cache, size_t cache_size, size_t c)
 

Macro Definition Documentation

◆ CACHE_OFFSET

#define CACHE_OFFSET (   cache,
  point,
  digit 
)    cache->multiples[(point)+cache->size*((digit)-1)]

◆ ELECTRONEUM_DEFAULT_LOG_CATEGORY

#define ELECTRONEUM_DEFAULT_LOG_CATEGORY   "multiexp"

◆ MULTIEXP_PERF

#define MULTIEXP_PERF (   x)

◆ RAW_MEMORY_BLOCK

#define RAW_MEMORY_BLOCK

◆ STRAUS_C

#define STRAUS_C   4