Monero
Macros | Functions
multiexp.cpp File Reference
#include "gtest/gtest.h"
#include "crypto/crypto.h"
#include "ringct/rctOps.h"
#include "ringct/multiexp.h"
Include dependency graph for multiexp.cpp:

Macros

#define TESTSCALAR   []{ static const rct::key TESTSCALAR = rct::skGen(); return TESTSCALAR; }()
 
#define TESTPOW2SCALAR   []{ static const rct::key TESTPOW2SCALAR = {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}; return TESTPOW2SCALAR; }()
 
#define TESTSMALLSCALAR   []{ static const rct::key TESTSMALLSCALAR = {{5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}; return TESTSMALLSCALAR; }()
 
#define TESTPOINT   []{ static const rct::key TESTPOINT = rct::scalarmultBase(rct::skGen()); return TESTPOINT; }()
 

Functions

static rct::key basic (const std::vector< rct::MultiexpData > &data)
 
static ge_p3 get_p3 (const rct::key &point)
 
 TEST (multiexp, bos_coster_empty)
 
 TEST (multiexp, straus_empty)
 
 TEST (multiexp, pippenger_empty)
 
 TEST (multiexp, bos_coster_zero_and_non_zero)
 
 TEST (multiexp, straus_zero_and_non_zero)
 
 TEST (multiexp, pippenger_zero_and_non_zero)
 
 TEST (multiexp, bos_coster_pow2_scalar)
 
 TEST (multiexp, straus_pow2_scalar)
 
 TEST (multiexp, pippenger_pow2_scalar)
 
 TEST (multiexp, bos_coster_only_zeroes)
 
 TEST (multiexp, straus_only_zeroes)
 
 TEST (multiexp, pippenger_only_zeroes)
 
 TEST (multiexp, bos_coster_only_identities)
 
 TEST (multiexp, straus_only_identities)
 
 TEST (multiexp, pippenger_only_identities)
 
 TEST (multiexp, bos_coster_random)
 
 TEST (multiexp, straus_random)
 
 TEST (multiexp, pippenger_random)
 
 TEST (multiexp, straus_cached)
 
 TEST (multiexp, pippenger_cached)
 
 TEST (multiexp, scalarmult_triple)
 

Macro Definition Documentation

◆ TESTPOINT

#define TESTPOINT   []{ static const rct::key TESTPOINT = rct::scalarmultBase(rct::skGen()); return TESTPOINT; }()

◆ TESTPOW2SCALAR

#define TESTPOW2SCALAR   []{ static const rct::key TESTPOW2SCALAR = {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}; return TESTPOW2SCALAR; }()

◆ TESTSCALAR

#define TESTSCALAR   []{ static const rct::key TESTSCALAR = rct::skGen(); return TESTSCALAR; }()

◆ TESTSMALLSCALAR

#define TESTSMALLSCALAR   []{ static const rct::key TESTSMALLSCALAR = {{5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}; return TESTSMALLSCALAR; }()

Function Documentation

◆ basic()

static rct::key basic ( const std::vector< rct::MultiexpData > &  data)
static

◆ get_p3()

static ge_p3 get_p3 ( const rct::key point)
static

◆ TEST() [1/21]

TEST ( multiexp  ,
bos_coster_empty   
)

◆ TEST() [2/21]

TEST ( multiexp  ,
straus_empty   
)

◆ TEST() [3/21]

TEST ( multiexp  ,
pippenger_empty   
)

◆ TEST() [4/21]

TEST ( multiexp  ,
bos_coster_zero_and_non_zero   
)

◆ TEST() [5/21]

TEST ( multiexp  ,
straus_zero_and_non_zero   
)

◆ TEST() [6/21]

TEST ( multiexp  ,
pippenger_zero_and_non_zero   
)

◆ TEST() [7/21]

TEST ( multiexp  ,
bos_coster_pow2_scalar   
)

◆ TEST() [8/21]

TEST ( multiexp  ,
straus_pow2_scalar   
)

◆ TEST() [9/21]

TEST ( multiexp  ,
pippenger_pow2_scalar   
)

◆ TEST() [10/21]

TEST ( multiexp  ,
bos_coster_only_zeroes   
)

◆ TEST() [11/21]

TEST ( multiexp  ,
straus_only_zeroes   
)

◆ TEST() [12/21]

TEST ( multiexp  ,
pippenger_only_zeroes   
)

◆ TEST() [13/21]

TEST ( multiexp  ,
bos_coster_only_identities   
)

◆ TEST() [14/21]

TEST ( multiexp  ,
straus_only_identities   
)

◆ TEST() [15/21]

TEST ( multiexp  ,
pippenger_only_identities   
)

◆ TEST() [16/21]

TEST ( multiexp  ,
bos_coster_random   
)

◆ TEST() [17/21]

TEST ( multiexp  ,
straus_random   
)

◆ TEST() [18/21]

TEST ( multiexp  ,
pippenger_random   
)

◆ TEST() [19/21]

TEST ( multiexp  ,
straus_cached   
)

◆ TEST() [20/21]

TEST ( multiexp  ,
pippenger_cached   
)

◆ TEST() [21/21]

TEST ( multiexp  ,
scalarmult_triple   
)