Bitcoin Core  0.20.99
P2P Digital Currency
Classes | Macros | Functions | Variables
tests_exhaustive.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "include/secp256k1.h"
#include "assumptions.h"
#include "group.h"
#include "secp256k1.c"
#include "testrand_impl.h"
Include dependency graph for tests_exhaustive.c:

Go to the source code of this file.

Classes

struct  ecmult_multi_data
 

Macros

#define EXHAUSTIVE_TEST_ORDER   13
 

Functions

void ge_equals_ge (const secp256k1_ge *a, const secp256k1_ge *b)
 stolen from tests.c More...
 
void ge_equals_gej (const secp256k1_ge *a, const secp256k1_gej *b)
 
void random_fe (secp256k1_fe *x)
 
static SECP256K1_INLINE int skip_section (uint64_t *iter)
 
int secp256k1_nonce_function_smallint (unsigned char *nonce32, const unsigned char *msg32, const unsigned char *key32, const unsigned char *algo16, void *data, unsigned int attempt)
 
void test_exhaustive_endomorphism (const secp256k1_ge *group)
 
void test_exhaustive_addition (const secp256k1_ge *group, const secp256k1_gej *groupj)
 
void test_exhaustive_ecmult (const secp256k1_context *ctx, const secp256k1_ge *group, const secp256k1_gej *groupj)
 
static int ecmult_multi_callback (secp256k1_scalar *sc, secp256k1_ge *pt, size_t idx, void *cbdata)
 
void test_exhaustive_ecmult_multi (const secp256k1_context *ctx, const secp256k1_ge *group)
 
void r_from_k (secp256k1_scalar *r, const secp256k1_ge *group, int k, int *overflow)
 
void test_exhaustive_verify (const secp256k1_context *ctx, const secp256k1_ge *group)
 
void test_exhaustive_sign (const secp256k1_context *ctx, const secp256k1_ge *group)
 
int main (int argc, char **argv)
 

Variables

static int count = 2
 
static uint32_t num_cores = 1
 END stolen from tests.c. More...
 
static uint32_t this_core = 0
 

Macro Definition Documentation

◆ EXHAUSTIVE_TEST_ORDER

#define EXHAUSTIVE_TEST_ORDER   13

Definition at line 20 of file tests_exhaustive.c.

Function Documentation

◆ ecmult_multi_callback()

static int ecmult_multi_callback ( secp256k1_scalar sc,
secp256k1_ge pt,
size_t  idx,
void *  cbdata 
)
static

Definition at line 196 of file tests_exhaustive.c.

Here is the caller graph for this function:

◆ ge_equals_ge()

void ge_equals_ge ( const secp256k1_ge a,
const secp256k1_ge b 
)

stolen from tests.c

Definition at line 32 of file tests_exhaustive.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ge_equals_gej()

void ge_equals_gej ( const secp256k1_ge a,
const secp256k1_gej b 
)

Definition at line 41 of file tests_exhaustive.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 355 of file tests_exhaustive.c.

Here is the call graph for this function:

◆ r_from_k()

void r_from_k ( secp256k1_scalar r,
const secp256k1_ge group,
int  k,
int *  overflow 
)

Definition at line 233 of file tests_exhaustive.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ random_fe()

void random_fe ( secp256k1_fe x)

Definition at line 58 of file tests_exhaustive.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ secp256k1_nonce_function_smallint()

int secp256k1_nonce_function_smallint ( unsigned char *  nonce32,
const unsigned char *  msg32,
const unsigned char *  key32,
const unsigned char *  algo16,
void *  data,
unsigned int  attempt 
)

Definition at line 78 of file tests_exhaustive.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ skip_section()

static SECP256K1_INLINE int skip_section ( uint64_t *  iter)
static

Definition at line 72 of file tests_exhaustive.c.

Here is the caller graph for this function:

◆ test_exhaustive_addition()

void test_exhaustive_addition ( const secp256k1_ge group,
const secp256k1_gej groupj 
)

Definition at line 107 of file tests_exhaustive.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_exhaustive_ecmult()

void test_exhaustive_ecmult ( const secp256k1_context ctx,
const secp256k1_ge group,
const secp256k1_gej groupj 
)

Definition at line 167 of file tests_exhaustive.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_exhaustive_ecmult_multi()

void test_exhaustive_ecmult_multi ( const secp256k1_context ctx,
const secp256k1_ge group 
)

Definition at line 203 of file tests_exhaustive.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_exhaustive_endomorphism()

void test_exhaustive_endomorphism ( const secp256k1_ge group)

Definition at line 98 of file tests_exhaustive.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_exhaustive_sign()

void test_exhaustive_sign ( const secp256k1_context ctx,
const secp256k1_ge group 
)

Definition at line 296 of file tests_exhaustive.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_exhaustive_verify()

void test_exhaustive_verify ( const secp256k1_context ctx,
const secp256k1_ge group 
)

Definition at line 243 of file tests_exhaustive.c.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ count

int count = 2
static

Definition at line 29 of file tests_exhaustive.c.

◆ num_cores

uint32_t num_cores = 1
static

END stolen from tests.c.

Definition at line 69 of file tests_exhaustive.c.

◆ this_core

uint32_t this_core = 0
static

Definition at line 70 of file tests_exhaustive.c.