[Lutinmatrix-commits] r127 - in lutinmatrix/trunk/src: main/java/org/codelutin/math/matrix test/java/org/codelutin/math/matrix
Author: jcouteau Date: 2009-03-16 17:59:20 +0000 (Mon, 16 Mar 2009) New Revision: 127 Modified: lutinmatrix/trunk/src/main/java/org/codelutin/math/matrix/AbstractMatrixND.java lutinmatrix/trunk/src/main/java/org/codelutin/math/matrix/MatrixND.java lutinmatrix/trunk/src/test/java/org/codelutin/math/matrix/MatrixNDTest.java Log: Add addition and subtraction with a scalar to MatrixND Modified: lutinmatrix/trunk/src/main/java/org/codelutin/math/matrix/AbstractMatrixND.java =================================================================== --- lutinmatrix/trunk/src/main/java/org/codelutin/math/matrix/AbstractMatrixND.java 2009-03-13 17:27:34 UTC (rev 126) +++ lutinmatrix/trunk/src/main/java/org/codelutin/math/matrix/AbstractMatrixND.java 2009-03-16 17:59:20 UTC (rev 127) @@ -876,6 +876,24 @@ }); return this; } + + public MatrixND adds(final double d) { + map(new MapFunction() { + public double apply(double val) { + return val + d; + } + }); + return this; + } + + public MatrixND minuss(final double d) { + map(new MapFunction() { + public double apply(double val) { + return val - d; + } + }); + return this; + } /** * Determine si la matrice supporte l'import et l'export CSV Modified: lutinmatrix/trunk/src/main/java/org/codelutin/math/matrix/MatrixND.java =================================================================== --- lutinmatrix/trunk/src/main/java/org/codelutin/math/matrix/MatrixND.java 2009-03-13 17:27:34 UTC (rev 126) +++ lutinmatrix/trunk/src/main/java/org/codelutin/math/matrix/MatrixND.java 2009-03-16 17:59:20 UTC (rev 127) @@ -575,6 +575,16 @@ * Multiplication d'une matrice par un scalaire */ public MatrixND divs(final double d); + + /** + * Addition d'un scalaire à une matrice + */ + public MatrixND adds(final double d); + + /** + * Soustractiond'un scalaire à une matrice + */ + public MatrixND minuss(final double d); /** * Donne la matrice sous forme de List de list ... de double Modified: lutinmatrix/trunk/src/test/java/org/codelutin/math/matrix/MatrixNDTest.java =================================================================== --- lutinmatrix/trunk/src/test/java/org/codelutin/math/matrix/MatrixNDTest.java 2009-03-13 17:27:34 UTC (rev 126) +++ lutinmatrix/trunk/src/test/java/org/codelutin/math/matrix/MatrixNDTest.java 2009-03-16 17:59:20 UTC (rev 127) @@ -395,8 +395,56 @@ Assert.assertEquals(6.5, mat2.getValue(1, 2, 0), 0); Assert.assertEquals(6.5, mat2.getValue(2, 2, 2), 0); } + + @Test + public void testAdds() throws Exception { + List s1 = Arrays.asList(new String[] { "a", "b", "c" }); + List s2 = Arrays.asList(new String[] { "e", "f", "g" }); + List s3 = Arrays.asList(new String[] { "k", "l", "m" }); + MatrixND mat1 = getFactory().create("Ma mat", + new List[] { s1, s2, s3 }, + new String[] { "dim abc", "dim efg", "dim klm" }); + MatrixND mat2 = getFactory().create("Ma mat", + new List[] { s1, s2, s3 }, + new String[] { "dim abc", "dim efg", "dim klm" }); + + MatrixHelper.fill(mat1, 3); + MatrixHelper.fill(mat2, 26); + + mat1.adds(3); + mat2.adds(4); + + Assert.assertEquals(6, mat1.getValue(0, 0, 0), 0); + Assert.assertEquals(30, mat2.getValue(1, 2, 0), 0); + Assert.assertEquals(30, mat2.getValue(2, 2, 2), 0); + } + @Test + public void testMinuss() throws Exception { + List s1 = Arrays.asList(new String[] { "a", "b", "c" }); + List s2 = Arrays.asList(new String[] { "e", "f", "g" }); + List s3 = Arrays.asList(new String[] { "k", "l", "m" }); + + MatrixND mat1 = getFactory().create("Ma mat", + new List[] { s1, s2, s3 }, + new String[] { "dim abc", "dim efg", "dim klm" }); + MatrixND mat2 = getFactory().create("Ma mat", + new List[] { s1, s2, s3 }, + new String[] { "dim abc", "dim efg", "dim klm" }); + + MatrixHelper.fill(mat1, 3); + MatrixHelper.fill(mat2, 26); + + mat1.minuss(3); + mat2.minuss(4); + + Assert.assertEquals(0, mat1.getValue(0, 0, 0), 0); + Assert.assertEquals(22, mat2.getValue(1, 2, 0), 0); + Assert.assertEquals(22, mat2.getValue(2, 2, 2), 0); + } + + @Test public void testPaste() throws Exception { MatrixND mat1 = getFactory().create(new int[] { 6, 7, 8 });
participants (1)
-
jcouteau@users.labs.libre-entreprise.org