1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
|
/*************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include "memory.h"
#include "interface.h"
#ifndef ANSI_ARGS
#ifdef __STDC__
#define ANSI_ARGS(args) args
#else
#define ANSI_ARGS(args) ()
#endif
#endif
int *defaultgen=NULL;
int junk; /* pass useless pointer at times */
#ifdef __STDC__
int *init_rng_simple( int seed, int mult)
#else
int *init_rng_simple(seed,mult)
int mult,seed;
#endif
{
int myid=0, nprocs=1, *temp;
temp = init_rng(myid,nprocs,seed,mult);
if(temp == NULL)
return NULL;
else
{
if(defaultgen != NULL)
free_rng(defaultgen);
defaultgen = temp;
return &junk; /* return "garbage" value */
}
}
#ifdef __STDC__
int get_rn_int_simple(void)
#else
int get_rn_int_simple()
#endif
{
if(defaultgen == NULL)
if(init_rng_simple(0,0) == NULL)
return -1.0;
return get_rn_int(defaultgen);
}
#ifdef __STDC__
float get_rn_flt_simple(void)
#else
float get_rn_flt_simple()
#endif
{
if(defaultgen == NULL)
if(init_rng_simple(0,0) == NULL)
return -1.0;
return get_rn_flt(defaultgen);
}
#ifdef __STDC__
double get_rn_dbl_simple(void)
#else
double get_rn_dbl_simple()
#endif
{
if(defaultgen == NULL)
if(init_rng_simple(0,0) == NULL)
return -1.0;
return get_rn_dbl(defaultgen);
}
#ifdef __STDC__
int pack_rng_simple(char **buffer)
#else
int pack_rng_simple(buffer)
char **buffer;
#endif
{
if(defaultgen == NULL)
return 0;
return pack_rng(defaultgen,buffer);
}
#ifdef __STDC__
int *unpack_rng_simple( char *packed)
#else
int *unpack_rng_simple(packed)
char *packed;
#endif
{
int *temp;
temp = unpack_rng(packed);
if(temp == NULL)
return NULL;
else
{
if(defaultgen != NULL)
free_rng(defaultgen);
defaultgen = temp;
return &junk; /* return "garbage" value */
}
}
#ifdef __STDC__
int print_rng_simple(void)
#else
int print_rng_simple()
#endif
{
if(defaultgen == NULL)
{
fprintf(stderr,"WARNING: No generator initialized so far\n");
return 0;
}
return print_rng(defaultgen);
}
|