Dash Core Source Documentation (0.16.0.1)

Find detailed information regarding the Dash Core source code.

tests_exhaustive.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "include/secp256k1.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
 
#define EXHAUSTIVE_TEST_LAMBDA   9 /* cube root of 1 mod 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)
 
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)
 END stolen from tests.c. More...
 
void test_exhaustive_addition (const secp256k1_ge *group, const secp256k1_gej *groupj, int order)
 
void test_exhaustive_ecmult (const secp256k1_context *ctx, const secp256k1_ge *group, const secp256k1_gej *groupj, int order)
 
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, int order)
 
void r_from_k (secp256k1_scalar *r, const secp256k1_ge *group, int k)
 
void test_exhaustive_verify (const secp256k1_context *ctx, const secp256k1_ge *group, int order)
 
void test_exhaustive_sign (const secp256k1_context *ctx, const secp256k1_ge *group, int order)
 
int main (void)
 

Macro Definition Documentation

◆ EXHAUSTIVE_TEST_LAMBDA

#define EXHAUSTIVE_TEST_LAMBDA   9 /* cube root of 1 mod 13 */

Definition at line 21 of file tests_exhaustive.c.

◆ EXHAUSTIVE_TEST_ORDER

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 190 of file tests_exhaustive.c.

References ecmult_multi_data::pt, and ecmult_multi_data::sc.

Referenced by test_exhaustive_ecmult_multi().

◆ ge_equals_ge()

void ge_equals_ge ( const secp256k1_ge a,
const secp256k1_ge b 
)

◆ ge_equals_gej()

◆ main()

◆ r_from_k()

◆ random_fe()

void random_fe ( secp256k1_fe x)

Definition at line 61 of file tests_exhaustive.c.

References secp256k1_fe_set_b32(), and secp256k1_rand256().

Referenced by main().

◆ 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 
)

END stolen from tests.c.

Definition at line 72 of file tests_exhaustive.c.

References EXHAUSTIVE_TEST_ORDER, secp256k1_scalar_get_b32(), and secp256k1_scalar_set_int().

Referenced by test_exhaustive_sign().

◆ test_exhaustive_addition()

◆ test_exhaustive_ecmult()

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

◆ test_exhaustive_ecmult_multi()

◆ test_exhaustive_sign()

void test_exhaustive_sign ( const secp256k1_context ctx,
const secp256k1_ge group,
int  order 
)

◆ test_exhaustive_verify()

Released under the MIT license