in commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/shape/BoxSampler.java [254:276]
public static BoxSampler of(UniformRandomProvider rng,
double[] a,
double[] b) {
final int dimension = a.length;
if (dimension != b.length) {
throw new IllegalArgumentException(
new StringBuilder("Mismatch of box dimensions: ").append(dimension).append(',')
.append(b.length).toString());
}
// Detect non-finite bounds
Coordinates.requireFinite(a, "Bound a");
Coordinates.requireFinite(b, "Bound b");
// Low dimension specialisations
if (dimension == TWO_D) {
return new BoxSampler2D(rng, a, b);
} else if (dimension == THREE_D) {
return new BoxSampler3D(rng, a, b);
} else if (dimension > THREE_D) {
return new BoxSamplerND(rng, a, b);
}
// Less than 2D
throw new IllegalArgumentException("Unsupported dimension: " + dimension);
}