uniformSample function

List<double> uniformSample(
  1. int sampleSize,
  2. num xMin,
  3. num xMax, {
  4. int? seed,
})

Returns a random sample following a uniform distribution with non-zero support over the range xMin ... xMax.

Throws an error of type ErrorOfType<InvalidFunctionParameter> if xMin >= xMax.

Implementation

List<double> uniformSample(
  int sampleSize,
  num xMin,
  num xMax, {
  int? seed,
}) {
  if (xMin >= xMax) {
    throw ErrorOfType<InvalidFunctionParameter>(
      invalidState: 'xMin: $xMin >= xMax: $xMax',
      expectedState: 'xMin < xMax',
    );
  }
  final random = Random(seed);
  return List<double>.generate(
    sampleSize,
    (_) => xMin + random.nextDouble() * (xMax - xMin),
  );
}