A single random variate drawn from the uniform distribution between a and b, whose type is the common type of these parameters
1 auto rnd = Random(unpredictableSeed); 2 3 // Generate an integer in [0, 1023] 4 auto a = uniform(0, 1024, rnd); 5 assert(0 <= a && a < 1024); 6 7 // Generate a float in [0, 1) 8 auto b = uniform(0.0f, 1.0f, rnd); 9 assert(0 <= b && b < 1); 10 11 // Generate a float in [0, 1] 12 b = uniform!"[]"(0.0f, 1.0f, rnd); 13 assert(0 <= b && b <= 1); 14 15 // Generate a float in (0, 1) 16 b = uniform!"()"(0.0f, 1.0f, rnd); 17 assert(0 < b && b < 1);
Create an array of random numbers using range functions and UFCS
import std.array : array; import std.range : generate, takeExactly; int[] arr = generate!(() => uniform(0, 100)).takeExactly(10).array; assert(arr.length == 10); assert(arr[0] >= 0 && arr[0] < 100);
Generates a number between a and b. The boundaries parameter controls the shape of the interval (open vs. closed on either side). Valid values for boundaries are "[]", "$(LPAREN)]", "[$(RPAREN)", and "()". The default interval is closed to the left and open to the right. The version that does not take urng uses the default generator rndGen.