Pattern newPattern = parent.scale(multipliers);
IPoint newMin = weightCoordMin.roundedScale(multipliers);
IPoint newMax = weightCoordMin.roundedScale(multipliers);
long count = 1;
for (int k = 0; k < n; k++) {
IRange range = IRange.valueOf(newMin.coord(k), newMax.coord(k));
if (range.size() >= Integer.MAX_VALUE || (count *= range.size()) >= Integer.MAX_VALUE)
throw new IllegalArgumentException("Too large desired weight matrix after resizing: "
+ "more than 2^31-1 elements");
}
double[] newWeights = new double[(int) count]; // zero-filled