protected void checkData(double[][] x, double[] weights, double[] y) { checkData(x, y); if (weights != null) { if (weights.length == 0) { throw new IllegalArgumentException("No data in weights array"); } if (weights.length != x.length) { throw new IllegalArgumentException("Independent variable and weight arrays are not the same length"); } } }
protected void checkData(double[][] x, double[][] weights, double[] y) { checkData(x, y); if (weights != null) { if (weights.length == 0) { throw new IllegalArgumentException("No data in weights array"); } if (weights.length != x.length) { throw new IllegalArgumentException("Independent variable and weight arrays are not the same length"); } int n = weights[0].length; for (double[] w : weights) { if (w.length != n) { throw new IllegalArgumentException("Need a rectangular array of weight"); } } } }
final LeastSquaresRegression regression = new OrdinaryLeastSquaresRegression(); try { regression.checkData(null, null); Assert.fail(); } catch (final IllegalArgumentException e) { regression.checkData(x, null); Assert.fail(); } catch (final IllegalArgumentException e) { regression.checkData(x, (double[]) null, y); Assert.fail(); } catch (final IllegalArgumentException e) { y = new double[3]; try { regression.checkData(x, (double[]) null, y); Assert.fail(); } catch (final IllegalArgumentException e) { regression.checkData(x, (double[]) null, y); Assert.fail(); } catch (final IllegalArgumentException e) { regression.checkData(x, (double[]) null, y); Assert.fail(); } catch (final IllegalArgumentException e) { double[] w1 = new double[0];