X-Git-Url: https://hackdaworld.org/gitweb/?p=physik%2Fmorpheus.git;a=blobdiff_plain;f=random.c;h=51b310b0fa1ff175bbca64095fb8c8d9b88297e6;hp=0b7304f522d3f7dfa7aba85d247d4f8d294f16a4;hb=2114472cdcc3dc98f31f44f104148baaf4058651;hpb=3ec676caee02b75707e472b0294e8be51aab4c42 diff --git a/random.c b/random.c index 0b7304f..51b310b 100644 --- a/random.c +++ b/random.c @@ -6,13 +6,14 @@ #include #include #include + #include "defines.h" -/* global & extern variables */ -extern u32 sum_z_segments; +/* global and extern variables */ +extern u32 sum_z_cells; extern int random_fd; -/* return random integer between 0 - max */ +/* return random integer between 0 - max-1 */ u32 rand_get(u32 max) { u32 rand_int; @@ -21,19 +22,21 @@ u32 rand_get(u32 max) puts("failed reading 4 bytes of random data"); return -23; } - /* segments numbered 0...max-1 */ + /* cells numbered 0...max-1 */ return((u32)(rand_int*(max*1.0/URAND_MAX))); } /* get z value (linear growth of probability with depths) */ -u32 rand_get_lgp(int slope_nel,int start_nel) { +u32 rand_get_lgp(int slope_nel,int start_nel) +{ int z; u32 i; - z=rand_get(sum_z_segments)+1; /* +1 as rand_get returns values 0...max-1 */ + z=rand_get(sum_z_cells)+1; /* +1 as rand_get returns values 0...max-1 */ for(i=1;;i++) { z-=(start_nel+i*slope_nel); if(z<=0) break; } - return(i-1); /* return values 0...z_seg-1 */ + return(i-1); /* return values 0...z_cell-1 */ } +