num clamp(num lower, num upper) { Random random = Random(); var p = random.nextDouble(); var diff = (upper - lower); return lower + diff * p; }