Return-Path: X-Original-To: apmail-commons-commits-archive@minotaur.apache.org Delivered-To: apmail-commons-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 1AA60D0E5 for ; Mon, 10 Sep 2012 19:06:43 +0000 (UTC) Received: (qmail 83058 invoked by uid 500); 10 Sep 2012 19:06:42 -0000 Delivered-To: apmail-commons-commits-archive@commons.apache.org Received: (qmail 83002 invoked by uid 500); 10 Sep 2012 19:06:42 -0000 Mailing-List: contact commits-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@commons.apache.org Delivered-To: mailing list commits@commons.apache.org Received: (qmail 82990 invoked by uid 99); 10 Sep 2012 19:06:42 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 10 Sep 2012 19:06:42 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 10 Sep 2012 19:06:38 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 83E2823888E3 for ; Mon, 10 Sep 2012 19:05:54 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1383052 - /commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/ArrayFieldVector.java Date: Mon, 10 Sep 2012 19:05:54 -0000 To: commits@commons.apache.org From: celestin@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20120910190554.83E2823888E3@eris.apache.org> Author: celestin Date: Mon Sep 10 19:05:54 2012 New Revision: 1383052 URL: http://svn.apache.org/viewvc?rev=1383052&view=rev Log: MATH-854: fill the "throws" clause of ArrayFieldVector. Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/ArrayFieldVector.java Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/ArrayFieldVector.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/ArrayFieldVector.java?rev=1383052&r1=1383051&r2=1383052&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/ArrayFieldVector.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/ArrayFieldVector.java Mon Sep 10 19:05:54 2012 @@ -47,7 +47,7 @@ public class ArrayFieldVector field, T[] d) { + public ArrayFieldVector(Field field, T[] d) + throws NullArgumentException { if (d == null) { throw new NullArgumentException(); } @@ -143,7 +145,8 @@ public class ArrayFieldVector field, T[] d, boolean copyArray) { + public ArrayFieldVector(Field field, T[] d, boolean copyArray) + throws NullArgumentException { if (d == null) { throw new NullArgumentException(); } @@ -187,7 +191,8 @@ public class ArrayFieldVector field, T[] d, int pos, int size) { + public ArrayFieldVector(Field field, T[] d, int pos, int size) + throws NullArgumentException, NumberIsTooLargeException { if (d == null) { throw new NullArgumentException(); } @@ -228,7 +234,8 @@ public class ArrayFieldVector v) { + public ArrayFieldVector(FieldVector v) + throws NullArgumentException { if (v == null) { throw new NullArgumentException(); } @@ -245,7 +252,8 @@ public class ArrayFieldVector v) { + public ArrayFieldVector(ArrayFieldVector v) + throws NullArgumentException { if (v == null) { throw new NullArgumentException(); } @@ -261,7 +269,8 @@ public class ArrayFieldVector v, boolean deep) { + public ArrayFieldVector(ArrayFieldVector v, boolean deep) + throws NullArgumentException { if (v == null) { throw new NullArgumentException(); } @@ -277,9 +286,9 @@ public class ArrayFieldVector v1, ArrayFieldVector v2) { - if (v1 == null || - v2 == null) { + public ArrayFieldVector(ArrayFieldVector v1, ArrayFieldVector v2) + throws NullArgumentException { + if (v1 == null || v2 == null) { throw new NullArgumentException(); } field = v1.getField(); @@ -296,9 +305,9 @@ public class ArrayFieldVector v1, T[] v2) { - if (v1 == null || - v2 == null) { + public ArrayFieldVector(ArrayFieldVector v1, T[] v2) + throws NullArgumentException { + if (v1 == null || v2 == null) { throw new NullArgumentException(); } field = v1.getField(); @@ -315,9 +324,9 @@ public class ArrayFieldVector v2) { - if (v1 == null || - v2 == null) { + public ArrayFieldVector(T[] v1, ArrayFieldVector v2) + throws NullArgumentException { + if (v1 == null || v2 == null) { throw new NullArgumentException(); } field = v2.getField(); @@ -341,9 +350,9 @@ public class ArrayFieldVector field, T[] v1, T[] v2) { + public ArrayFieldVector(Field field, T[] v1, T[] v2) + throws NullArgumentException, ZeroException { + if (v1 == null || v2 == null) { + throw new NullArgumentException(); + } if (v1.length + v2.length == 0) { throw new ZeroException(LocalizedFormats.VECTOR_MUST_HAVE_AT_LEAST_ONE_ELEMENT); } @@ -398,7 +411,8 @@ public class ArrayFieldVector add(FieldVector v) { + public FieldVector add(FieldVector v) + throws DimensionMismatchException { try { return add((ArrayFieldVector) v); } catch (ClassCastException cce) { @@ -412,12 +426,14 @@ public class ArrayFieldVector add(ArrayFieldVector v) { + public ArrayFieldVector add(ArrayFieldVector v) + throws DimensionMismatchException { checkVectorDimensions(v.data.length); T[] out = buildArray(data.length); for (int i = 0; i < data.length; i++) { @@ -427,7 +443,8 @@ public class ArrayFieldVector subtract(FieldVector v) { + public FieldVector subtract(FieldVector v) + throws DimensionMismatchException { try { return subtract((ArrayFieldVector) v); } catch (ClassCastException cce) { @@ -441,12 +458,14 @@ public class ArrayFieldVector subtract(ArrayFieldVector v) { + public ArrayFieldVector subtract(ArrayFieldVector v) + throws DimensionMismatchException { checkVectorDimensions(v.data.length); T[] out = buildArray(data.length); for (int i = 0; i < data.length; i++) { @@ -543,7 +562,8 @@ public class ArrayFieldVector ebeMultiply(FieldVector v) { + public FieldVector ebeMultiply(FieldVector v) + throws DimensionMismatchException { try { return ebeMultiply((ArrayFieldVector) v); } catch (ClassCastException cce) { @@ -559,10 +579,12 @@ public class ArrayFieldVector ebeMultiply(ArrayFieldVector v) { + public ArrayFieldVector ebeMultiply(ArrayFieldVector v) + throws DimensionMismatchException { checkVectorDimensions(v.data.length); T[] out = buildArray(data.length); for (int i = 0; i < data.length; i++) { @@ -572,7 +594,8 @@ public class ArrayFieldVector ebeDivide(FieldVector v) { + public FieldVector ebeDivide(FieldVector v) + throws DimensionMismatchException { try { return ebeDivide((ArrayFieldVector) v); } catch (ClassCastException cce) { @@ -588,10 +611,12 @@ public class ArrayFieldVector ebeDivide(ArrayFieldVector v) { + public ArrayFieldVector ebeDivide(ArrayFieldVector v) + throws DimensionMismatchException { checkVectorDimensions(v.data.length); T[] out = buildArray(data.length); for (int i = 0; i < data.length; i++) { @@ -615,7 +640,8 @@ public class ArrayFieldVector v) { + public T dotProduct(FieldVector v) + throws DimensionMismatchException { try { return dotProduct((ArrayFieldVector) v); } catch (ClassCastException cce) { @@ -631,10 +657,12 @@ public class ArrayFieldVector v) { + public T dotProduct(ArrayFieldVector v) + throws DimensionMismatchException { checkVectorDimensions(v.data.length); T dot = field.getZero(); for (int i = 0; i < data.length; i++) { @@ -644,16 +672,19 @@ public class ArrayFieldVector projection(FieldVector v) { + public FieldVector projection(FieldVector v) + throws DimensionMismatchException { return v.mapMultiply(dotProduct(v).divide(v.dotProduct(v))); } - /** Find the orthogonal projection of this vector onto another vector. - * @param v vector onto which instance must be projected - * @return projection of the instance onto v - * @throws IllegalArgumentException if v is not the same size as this + /** Find the orthogonal projection of this vector onto another vector. + * @param v vector onto which {@code this} must be projected + * @return projection of {@code this} onto {@code v} + * @throws DimensionMismatchException if {@code v} is not the same size as + * {@code this} */ - public ArrayFieldVector projection(ArrayFieldVector v) { + public ArrayFieldVector projection(ArrayFieldVector v) + throws DimensionMismatchException { return (ArrayFieldVector) v.mapMultiply(dotProduct(v).divide(v.dotProduct(v))); } @@ -677,8 +708,7 @@ public class ArrayFieldVector outerProduct(ArrayFieldVector v) { final int m = data.length; @@ -770,10 +800,9 @@ public class ArrayFieldVector v) { + public void set(int index, ArrayFieldVector v) throws OutOfRangeException { try { System.arraycopy(v.data, 0, data, index, v.data.length); } catch (IndexOutOfBoundsException e) { @@ -795,10 +824,11 @@ public class ArrayFieldVector v) { + protected void checkVectorDimensions(FieldVector v) + throws DimensionMismatchException { checkVectorDimensions(v.getDimension()); } @@ -806,10 +836,11 @@ public class ArrayFieldVector= getDimension()) { throw new OutOfRangeException(LocalizedFormats.INDEX, index, 0, getDimension() - 1);