Bitcoin Core  27.99.0
P2P Digital Currency
Functions
testrand.h File Reference
#include "util.h"
Include dependency graph for testrand.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

static SECP256K1_INLINE void testrand_seed (const unsigned char *seed16)
 Seed the pseudorandom number generator for testing. More...
 
static SECP256K1_INLINE uint32_t testrand32 (void)
 Generate a pseudorandom number in the range [0..2**32-1]. More...
 
static SECP256K1_INLINE uint64_t testrand64 (void)
 Generate a pseudorandom number in the range [0..2**64-1]. More...
 
static SECP256K1_INLINE uint64_t testrand_bits (int bits)
 Generate a pseudorandom number in the range [0..2**bits-1]. More...
 
static uint32_t testrand_int (uint32_t range)
 Generate a pseudorandom number in the range [0..range-1]. More...
 
static void testrand256 (unsigned char *b32)
 Generate a pseudorandom 32-byte array. More...
 
static void testrand256_test (unsigned char *b32)
 Generate a pseudorandom 32-byte array with long sequences of zero and one bits. More...
 
static void testrand_bytes_test (unsigned char *bytes, size_t len)
 Generate pseudorandom bytes with long sequences of zero and one bits. More...
 
static void testrand_flip (unsigned char *b, size_t len)
 Flip a single random bit in a byte array. More...
 
static void testrand_init (const char *hexseed)
 Initialize the test RNG using (hex encoded) array up to 16 bytes, or randomly if hexseed is NULL. More...
 
static void testrand_finish (void)
 Print final test information. More...
 

Function Documentation

◆ testrand256()

static void testrand256 ( unsigned char *  b32)
static

Generate a pseudorandom 32-byte array.

Here is the caller graph for this function:

◆ testrand256_test()

static void testrand256_test ( unsigned char *  b32)
static

Generate a pseudorandom 32-byte array with long sequences of zero and one bits.

Here is the caller graph for this function:

◆ testrand32()

static SECP256K1_INLINE uint32_t testrand32 ( void  )
static

Generate a pseudorandom number in the range [0..2**32-1].

◆ testrand64()

static SECP256K1_INLINE uint64_t testrand64 ( void  )
static

Generate a pseudorandom number in the range [0..2**64-1].

◆ testrand_bits()

static SECP256K1_INLINE uint64_t testrand_bits ( int  bits)
static

Generate a pseudorandom number in the range [0..2**bits-1].

Bits must be 1 or more.

Here is the caller graph for this function:

◆ testrand_bytes_test()

static void testrand_bytes_test ( unsigned char *  bytes,
size_t  len 
)
static

Generate pseudorandom bytes with long sequences of zero and one bits.

Here is the caller graph for this function:

◆ testrand_finish()

static void testrand_finish ( void  )
static

Print final test information.

Here is the caller graph for this function:

◆ testrand_flip()

static void testrand_flip ( unsigned char *  b,
size_t  len 
)
static

Flip a single random bit in a byte array.

Here is the caller graph for this function:

◆ testrand_init()

static void testrand_init ( const char *  hexseed)
static

Initialize the test RNG using (hex encoded) array up to 16 bytes, or randomly if hexseed is NULL.

Here is the caller graph for this function:

◆ testrand_int()

static uint32_t testrand_int ( uint32_t  range)
static

Generate a pseudorandom number in the range [0..range-1].

Here is the caller graph for this function:

◆ testrand_seed()

static SECP256K1_INLINE void testrand_seed ( const unsigned char *  seed16)
static

Seed the pseudorandom number generator for testing.

Here is the caller graph for this function: