ScalES-PPM
Loading...
Searching...
No Matches
Macros | Functions
ppm_random.h File Reference

PRNG C interface. More...

#include <limits.h>
#include <inttypes.h>
#include "core/ppm_extents.h"
#include "core/core.h"

Macros

#define IRAND_MIN   (INT_MIN + 1)
 
#define IRAND_MAX   INT_MAX
 

Functions

unsigned int PPM_ya_rand_init (MPI_Comm comm, int)
 
void PPM_ya_rand_finish (void)
 
int PPM_irandp (void)
 
int PPM_irand (void)
 
uint32_t PPM_ya_random (void)
 
uint64_t PPM_ya_random64 (void)
 
int64_t PPM_irandp8 (void)
 
int64_t PPM_irand8 (void)
 
int PPM_irandr (struct PPM_iinterval range)
 
int64_t PPM_irandr8 (struct PPM_iinterval64 range)
 
void PPM_irand_a (int *a, size_t n)
 
void PPM_irandp_a (int *a, size_t n)
 
void PPM_irandr_a (int *a, size_t n, struct PPM_iinterval range)
 
void PPM_irand_mt_a (int *a, size_t n)
 
void PPM_irandp_mt_a (int *a, size_t n)
 
void PPM_irandr_mt_a (int *a, size_t n, struct PPM_iinterval range)
 
double PPM_drand (void)
 
double PPM_ya_fsgrandom (void)
 
double PPM_drandp (void)
 
double PPM_ya_frandom (void)
 
double PPM_drandr (struct PPM_iinterval_dp range)
 
void PPM_drand_a (double *a, size_t n)
 
void PPM_drand_mt_a (double *a, size_t n)
 
void PPM_drandp_a (double *a, size_t n)
 
void PPM_drandp_mt_a (double *a, size_t n)
 
void PPM_drandr_a (double *a, size_t n, struct PPM_iinterval_dp range)
 
void PPM_drandr_mt_a (double *a, size_t n, struct PPM_iinterval_dp range)
 
float PPM_frand (void)
 
float PPM_ya_fsgrandomf (void)
 
float PPM_frandp (void)
 
float PPM_ya_frandomf (void)
 
float PPM_frandr (struct PPM_iinterval_sp range)
 
void PPM_frand_a (float *a, size_t n)
 
void PPM_frand_mt_a (float *a, size_t n)
 
void PPM_frandp_a (float *a, size_t n)
 
void PPM_frandp_mt_a (float *a, size_t n)
 
void PPM_frandr_a (float *a, size_t n, struct PPM_iinterval_sp range)
 
void PPM_frandr_mt_a (float *a, size_t n, struct PPM_iinterval_sp range)
 
void PPM_irand8_a (int64_t *a, size_t n)
 
void PPM_irand8_mt_a (int64_t *a, size_t n)
 
void PPM_irandp8_a (int64_t *a, size_t n)
 
void PPM_irandp8_mt_a (int64_t *a, size_t n)
 
void PPM_irandr8_a (int64_t *a, size_t n, struct PPM_iinterval64 range)
 
void PPM_irandr8_mt_a (int64_t *a, size_t n, struct PPM_iinterval64 range)
 

Detailed Description

PRNG C interface.

Version
1.0
Author
Thomas Jahns jahns.nosp@m.@dkr.nosp@m.z.de

Function Documentation

◆ PPM_drand()

double PPM_drand ( void )

PRNG function for uniformly distributed double precision floating-point quantities. This routine is synonymous with PPM_ya_fsgrandom.

Returns
random number in range (-1.0,1.0)

◆ PPM_drand_a()

void PPM_drand_a ( double * a,
size_t n )

PRNG function for array of type double

Parameters
apointer to array to fill with random numbers in range (-1.0,1.0)
nnumber of elements in a to fill

◆ PPM_drand_mt_a()

void PPM_drand_mt_a ( double * a,
size_t n )

PRNG function for array of type double, must be called from all threads of an OpenMP thread team.

Parameters
apointer to array to fill with random numbers in range (-1.0,1.0)
nnumber of elements in a to fill

◆ PPM_drandp()

double PPM_drandp ( void )

PRNG function for uniformly distributed double precision floating-point quantities. This routine is synonymous with PPM_ya_frandom.

Returns
random number in range [0.0,1.0)

◆ PPM_drandp_a()

void PPM_drandp_a ( double * a,
size_t n )

PRNG function for array of type double

Parameters
apointer to array to fill with random numbers in range [0.0,1.0)
nnumber of elements in a to fill

◆ PPM_drandp_mt_a()

void PPM_drandp_mt_a ( double * a,
size_t n )

PRNG function for array of type double, must be called from all threads of an OpenMP thread team

Parameters
apointer to array to fill with random numbers in range [0.0,1.0)
nnumber of elements in a to fill

◆ PPM_drandr()

double PPM_drandr ( struct PPM_iinterval_dp range)

PRNG function for uniformly distributed double precision floating-point quantities This routine is synonymous with PPM_drandp.

Parameters
rangerange in which to generate random numbers
Returns
random number in range [range.first,range.last]

◆ PPM_drandr_a()

void PPM_drandr_a ( double * a,
size_t n,
struct PPM_iinterval_dp range )

PRNG function for array of type double

Parameters
apointer to array to fill with random numbers in range [range.first,range.last]
nnumber of elements in a to fill
rangerange in which to generate random numbers

◆ PPM_drandr_mt_a()

void PPM_drandr_mt_a ( double * a,
size_t n,
struct PPM_iinterval_dp range )

PRNG function for array of type double, must be called from all threads of an OpenMP thread team

Parameters
apointer to array to fill with random numbers in range [range.first,range.last]
nnumber of elements in a to fill
rangerange in which to generate random numbers

◆ PPM_frand()

float PPM_frand ( void )

PRNG function for uniformly distributed single precision floating-point quantities. This routine is synonymous with PPM_ya_fsgrandom.

Returns
random number in range (-1.0,1.0)

◆ PPM_frand_a()

void PPM_frand_a ( float * a,
size_t n )

PRNG function for array of type float

Parameters
apointer to array to fill with random numbers in range (-1.0,1.0)
nnumber of elements in a to fill

◆ PPM_frand_mt_a()

void PPM_frand_mt_a ( float * a,
size_t n )

PRNG function for array of type float, must be called from all threads of an OpenMP thread team.

Parameters
apointer to array to fill with random numbers in range (-1.0,1.0)
nnumber of elements in a to fill

◆ PPM_frandp()

float PPM_frandp ( void )

PRNG function for uniformly distributed single precision floating-point quantities. This routine is synonymous with PPM_ya_frandom.

Returns
random number in range [0.0,1.0)

◆ PPM_frandp_a()

void PPM_frandp_a ( float * a,
size_t n )

PRNG function for array of type float

Parameters
apointer to array to fill with random numbers in range [0.0,1.0)
nnumber of elements in a to fill

◆ PPM_frandp_mt_a()

void PPM_frandp_mt_a ( float * a,
size_t n )

PRNG function for array of type float, must be called from all threads of an OpenMP thread team

Parameters
apointer to array to fill with random numbers in range [0.0,1.0)
nnumber of elements in a to fill

◆ PPM_frandr()

float PPM_frandr ( struct PPM_iinterval_sp range)

PRNG function for uniformly distributed single precision floating-point quantities This routine is synonymous with PPM_frandp.

Parameters
rangerange in which to generate random numbers
Returns
random number in range [range.first,range.last]

◆ PPM_frandr_a()

void PPM_frandr_a ( float * a,
size_t n,
struct PPM_iinterval_sp range )

PRNG function for array of type float

Parameters
apointer to array to fill with random numbers in range [range.first,range.last]
nnumber of elements in a to fill
rangerange in which to generate random numbers

◆ PPM_frandr_mt_a()

void PPM_frandr_mt_a ( float * a,
size_t n,
struct PPM_iinterval_sp range )

PRNG function for array of type float, must be called from all threads of an OpenMP thread team

Parameters
apointer to array to fill with random numbers in range [range.first,range.last]
nnumber of elements in a to fill
rangerange in which to generate random numbers

◆ PPM_irand()

int PPM_irand ( void )

PRNG function for type int

Returns
random number in range [IRAND_MIN,IRAND_MAX]

◆ PPM_irand8()

int64_t PPM_irand8 ( void )

PRNG function for type int int64_t

Returns
random number in range [-2^63+1,2^63-1]

◆ PPM_irand8_a()

void PPM_irand8_a ( int64_t * a,
size_t n )

PRNG function for array of type int64_t

Parameters
apointer to array to fill with random numbers in range [-2^63+1,2^63-1]
nnumber of elements in a to fill

◆ PPM_irand8_mt_a()

void PPM_irand8_mt_a ( int64_t * a,
size_t n )

PRNG function for array of type int64_t, must be called from all threads of an OpenMP thread team

Parameters
apointer to array to fill with random numbers in range [-2^63+1,2^63-1]
nnumber of elements in a to fill

◆ PPM_irand_a()

void PPM_irand_a ( int * a,
size_t n )

PRNG function for array of type int

Parameters
apointer to array to fill with random numbers in range [IRAND_MIN,IRAND_MAX]
nnumber of elements in a to fill

◆ PPM_irand_mt_a()

void PPM_irand_mt_a ( int * a,
size_t n )

PRNG function for array of type int, must be called from all threads of an OpenMP thread team

Parameters
apointer to array to fill with random numbers in range [IRAND_MIN,IRAND_MAX]
nnumber of elements in a to fill

◆ PPM_irandp()

int PPM_irandp ( void )

PRNG function for type int

Returns
random number in range [0,IRAND_MAX]

◆ PPM_irandp8()

int64_t PPM_irandp8 ( void )

PRNG function for type int int64_t

Returns
random number in range [0,2^63-1]

◆ PPM_irandp8_a()

void PPM_irandp8_a ( int64_t * a,
size_t n )

PRNG function for array of type int64_t

Parameters
apointer to array to fill with random numbers in range [0,2^63-1]
nnumber of elements in a to fill

◆ PPM_irandp8_mt_a()

void PPM_irandp8_mt_a ( int64_t * a,
size_t n )

PRNG function for array of type int64_t, must be called from all threads of an OpenMP thread team

Parameters
apointer to array to fill with random numbers in range [0,2^63-1]
nnumber of elements in a to fill

◆ PPM_irandp_a()

void PPM_irandp_a ( int * a,
size_t n )

PRNG function for array of type int

Parameters
apointer to array to fill with random numbers in range [0,IRAND_MAX]
nnumber of elements in a to fill

◆ PPM_irandp_mt_a()

void PPM_irandp_mt_a ( int * a,
size_t n )

PRNG function for array of type int, must be called from all threads of an OpenMP thread team

Parameters
apointer to array to fill with random numbers in range [0,IRAND_MAX]
nnumber of elements in a to fill

◆ PPM_irandr()

int PPM_irandr ( struct PPM_iinterval range)

PRNG function for type int

Parameters
rangerange in which to generate random number
Returns
random number in range [range.first,range.last]

◆ PPM_irandr8()

int64_t PPM_irandr8 ( struct PPM_iinterval64 range)

PRNG function for type int64_t

Parameters
rangerange in which to generate random number
Returns
random number in range [range.first,range.last]

◆ PPM_irandr8_a()

void PPM_irandr8_a ( int64_t * a,
size_t n,
struct PPM_iinterval64 range )

PRNG function for array of type int64_t

Parameters
apointer to array to fill with random numbers in range [range.first,range.last]
nnumber of elements in a to fill
rangerange in which to generate random numbers

◆ PPM_irandr8_mt_a()

void PPM_irandr8_mt_a ( int64_t * a,
size_t n,
struct PPM_iinterval64 range )

PRNG function for array of type int64_t, must be called from all threads of an OpenMP thread team

Parameters
apointer to array to fill with random numbers in range [range.first,range.last]
nnumber of elements in a to fill
rangerange in which to generate random numbers

◆ PPM_irandr_a()

void PPM_irandr_a ( int * a,
size_t n,
struct PPM_iinterval range )

PRNG function for array of type int

Parameters
apointer to array to fill with random numbers in range [range.first,range.last]
nnumber of elements in a to fill
rangerange in which to generate random numbers

◆ PPM_irandr_mt_a()

void PPM_irandr_mt_a ( int * a,
size_t n,
struct PPM_iinterval range )

PRNG function for array of type int, must be called from all threads of an OpenMP thread team

Parameters
apointer to array to fill with random numbers in range [range.first,range.last]
nnumber of elements in a to fill
rangerange in which to generate random numbers

◆ PPM_ya_frandom()

double PPM_ya_frandom ( void )

PRNG function for uniformly distributed double precision floating-point quantities This routine is synonymous with PPM_drandp.

Returns
random number in range [0.0,1.0)

◆ PPM_ya_frandomf()

float PPM_ya_frandomf ( void )

PRNG function for uniformly distributed single precision floating-point quantities This routine is synonymous with PPM_frandp.

Returns
random number in range [0.0,1.0)

◆ PPM_ya_fsgrandom()

double PPM_ya_fsgrandom ( void )

PRNG function for uniformly distributed double precision floating-point quantities This routine is synonymous with PPM_drand.

Returns
random number in range (-1.0,1.0)

◆ PPM_ya_fsgrandomf()

float PPM_ya_fsgrandomf ( void )

PRNG function for uniformly distributed single precision floating-point quantities This routine is synonymous with PPM_frand.

Returns
random number in range (-1.0,1.0)

◆ PPM_ya_random()

uint32_t PPM_ya_random ( void )

PRNG function for type int uint32_t

Returns
random number in range [0,2^32-1]

◆ PPM_ya_random64()

uint64_t PPM_ya_random64 ( void )

PRNG function for type int uint64_t

Returns
random number in range [0,2^64-1]

Das diesem Bericht zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung, und Forschung unter dem Förderkennzeichen 01IH08004E gefördert. Die Verantwortung für den Inhalt dieser Veröffentlichung liegt beim Autor.