> I bet that it hangs because the value overflows (becomes negative), thus
> never actually reaching 'to'.

Yeah, slight problem here... I'm not sure there's an easy way to fix it
without changing power to a "long long", which could impact performance..
You can fake it, of course.

  long vnum;
  vnum = number_range(0, 21474) * 100000;
  vnum += number_range(0, 83647);
  room = get_room_index(vnum);

er.. it's really not a very good algorithm if you've only filled, say, 0.01%
of 2 billion rooms, though.  It could take a while to find a valid room in
all that.

--Palrich.


Reply via email to