void setAW(unsigned long *a, unsigned long *w) {
	int min = sfmt_get_min_array_size32(&sfmt); //<- Min. size for rand
	int nRandom = 162; //<- 2*80 for the 'a' array and 2 for w
	if(min > 162) {
		nRandom = min;
	}
	uint32_t *rand = malloc(sizeof(uint32_t)*nRandom);

	/* Fill the array with 32-bit random uints */
	sfmt_fill_array32(&sfmt, rand, nRandom);

	/* Map the random integers to our field */
	for(int i = 0; i < 2*80; i++) {
		a[i] = field(rand[i]);
	}
	/* And set the w-values */
	w[0] = field(rand[2*80]);
	w[1] = field(rand[2*80 + 1]);
}
Esempio n. 2
0
int main(){



    int i, j;
    uint32_t *array32 = (uint32_t *)array1;
    sfmt_t sfmt;

    if (sfmt_get_min_array_size32(&sfmt) > BLOCK_SIZE) {
	printf("array size too small!\n");
        return 0;
    }
    /* 32 bit generation */
    sfmt_init_gen_rand(&sfmt, 1234);
    for (i = 0; i < 10; i++) {
	for (j = 0; j < COUNT; j++) {
	    //sfmt_fill_array32(&sfmt, array32, BLOCK_SIZE);
	}
    }
    for(int k=0; k<2100000000; k++)
        sfmt_genrand_uint32(&sfmt);

}