static int get_random_num(int min, int max) { // returns roughly uniform distribution. lowest number returned is min+1, and highest // number returned is max -1. // // NOTE: doesn't work well with small ranges -- so instead of get_random_num(-1,5), try // get_random_num(-1,1000) % 5 int the_num; do { the_num = min + (int)(((PerfGetCycleCount() & 65535) / 65535.0) * (max - min)); } while ((the_num == min) || (the_num == max)); return the_num; }