1 #include "goom_tools.h" 2 #include <stdlib.h> 3 goom_random_init(int i)4GoomRandom *goom_random_init(int i) { 5 GoomRandom *grandom = (GoomRandom*)malloc(sizeof(GoomRandom)); 6 srand (i); 7 grandom->pos = 1; 8 goom_random_update_array(grandom, GOOM_NB_RAND); 9 return grandom; 10 } 11 goom_random_free(GoomRandom * grandom)12void goom_random_free(GoomRandom *grandom) { 13 free(grandom); 14 } 15 goom_random_update_array(GoomRandom * grandom,int numberOfValuesToChange)16void goom_random_update_array(GoomRandom *grandom, int numberOfValuesToChange) { 17 while (numberOfValuesToChange > 0) { 18 #if RAND_MAX < 0x10000 19 grandom->array[grandom->pos++] = ((rand()<<16)+rand()) / 127; 20 #else 21 grandom->array[grandom->pos++] = rand() / 127; 22 #endif 23 numberOfValuesToChange--; 24 } 25 } 26