Example #1
0
static guint32 sfmt_rand32 (void)
{
    if (r_i == RSIZE) {
	fill_array32(rbuf, RSIZE);
	r_i = 0;
    }

    return rbuf[r_i++];
}
Example #2
0
char get_random_card(char maxv) {
	#ifdef USE_MERSENNE_TWISTER
		#ifdef USE_BUFFER
			if (bp >= BUFFER_SIZE) {
				fill_array32((uint32_t*) buffer, BUFFER_SIZE/4);
				bp = 0;
			}
			return ((buffer[bp++] & 127) >> 1) % maxv;
		#else
			return (char)(gen_rand32() % maxv);
		#endif
	#else
		return (char) (rand() % maxv);
	#endif
}
Example #3
0
static int sfmt_array_setup (void)
{
    int err = 0;

    if (rbuf == NULL) {
	rbuf = simd_malloc(RSIZE * sizeof *rbuf, &err);
#if 0
	if (!err) {
	    fprintf(stderr, "sfmt_array_setup: allocated array of size %d\n", RSIZE);
	}
#endif
    }

    if (rbuf != NULL) {
	fill_array32(rbuf, RSIZE);
	r_i = 0;
    }

    return err;
}