Author: tchemit Date: 2009-05-16 18:41:40 +0000 (Sat, 16 May 2009) New Revision: 143 Added: nuiton-matrix/trunk/src/main/resources/i18n/nuiton-matrix-en_GB.properties nuiton-matrix/trunk/src/main/resources/i18n/nuiton-matrix-fr_FR.properties nuiton-matrix/trunk/src/test/java/org/nuiton/ Removed: nuiton-matrix/trunk/src/main/resources/i18n/lutinmatrix-en_GB.properties nuiton-matrix/trunk/src/main/resources/i18n/lutinmatrix-fr_FR.properties nuiton-matrix/trunk/src/test/java/org/codelutin/ Modified: nuiton-matrix/trunk/pom.xml nuiton-matrix/trunk/src/main/assembly/deps.xml nuiton-matrix/trunk/src/main/assembly/full.xml nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/AbstractMatrixND.java nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/BasicMatrix.java nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/MatrixHelper.java nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/MatrixStringEncoder.java nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/gui/JAXXMatrixEditor.jaxx nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/gui/MatrixPanelEditor.java nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/gui/MatrixPopupMenu.java nuiton-matrix/trunk/src/site/site.xml nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/BasicMatrixBigTest.java nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/BasicMatrixTest.java nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/FloatVectorTest.java nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/ImportExportMatrixTest.java nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/MatrixHelperTest.java nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/MatrixNDTest.java nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/MatrixStringEncoderTest.java nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/PerfTest.java nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/SubMatrixTest.java nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/gui/MatrixTableModelTest.java Log: migrate to nuiton (part one) Modified: nuiton-matrix/trunk/pom.xml =================================================================== --- nuiton-matrix/trunk/pom.xml 2009-05-16 15:40:30 UTC (rev 142) +++ nuiton-matrix/trunk/pom.xml 2009-05-16 18:41:40 UTC (rev 143) @@ -8,20 +8,20 @@ <!-- ************************************************************* --> <parent> - <groupId>org.codelutin</groupId> - <artifactId>lutinproject</artifactId> - <version>3.4</version> + <groupId>org.nuiton</groupId> + <artifactId>mavenpom</artifactId> + <version>1.0.0-SNAPSHOT</version> </parent> - <artifactId>lutinmatrix</artifactId> - <version>1.4-SNAPSHOT</version> + <artifactId>nuiton-matrix</artifactId> + <version>2.0.0-SNAPSHOT</version> <dependencies> <dependency> - <groupId>org.codelutin</groupId> - <artifactId>lutinutil</artifactId> - <version>${lutinutil.version}</version> + <groupId>org.nuiton</groupId> + <artifactId>nuiton-utils</artifactId> + <version>1.1.0-SNAPSHOT</version> <scope>compile</scope> </dependency> @@ -48,19 +48,27 @@ <!--Jaxx--> <dependency> - <groupId>org.codelutin.jaxx</groupId> + <groupId>org.nuiton.jaxx</groupId> <artifactId>jaxx-runtime-swing</artifactId> <version>${jaxx.version}</version> <scope>compile</scope> </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.6</version> + <scope>test</scope> + </dependency> + + </dependencies> <!-- ************************************************************* --> <!-- *** Project Information ************************************* --> <!-- ************************************************************* --> - <name>LutinMatrix</name> + <name>NuitonMatrix</name> <description>Librairie de matrice multi-dimensions.</description> <inceptionYear>2004</inceptionYear> @@ -71,20 +79,19 @@ <packaging>jar</packaging> <properties> - <!-- id du projet du labs --> - <labs.id>63</labs.id> - <labs.project>${project.artifactId}</labs.project> + + <jaxx.version>1.6.0-SNAPSHOT</jaxx.version> + <maven.test.skip>true</maven.test.skip> + <!-- a supprimer des qu'on pourra deployer les sites sur nuiton --> + <site.deploy.url>scpexe://labs.libre-entreprise.org/home/groups/lutinmatrix/htdocs</site.deploy.url> - <jaxx.version>1.3</jaxx.version> - <i18n.version>0.10</i18n.version> - <lutinutil.version>1.0.4</lutinutil.version> </properties> <build> <plugins> <plugin> - <groupId>org.codelutin.jaxx</groupId> + <groupId>org.nuiton.jaxx</groupId> <artifactId>maven-jaxx-plugin</artifactId> <version>${jaxx.version}</version> <executions> @@ -93,10 +100,11 @@ <goal>generate</goal> </goals> <configuration> - <extraImports> + <extraImportList>jaxx.runtime.SwingUtil,static jaxx.runtime.Util.getStringValue</extraImportList> + <!--extraImports> <value>jaxx.runtime.SwingUtil</value> <value>static jaxx.runtime.Util.getStringValue</value> - </extraImports> + </extraImports--> <addSourcesToClassPath>true</addSourcesToClassPath> <addProjectClassPath>true</addProjectClassPath> </configuration> @@ -106,9 +114,9 @@ <!-- plugin i18n --> <plugin> - <groupId>org.codelutin</groupId> + <groupId>org.nuiton</groupId> <artifactId>maven-i18n-plugin</artifactId> - <version>${i18n.version}</version> + <version>1.0.0-SNAPSHOT</version> <executions> <execution> <goals> @@ -119,72 +127,65 @@ </executions> </plugin> - <!-- Always process jrst files, but only called on pre-site phase --> - <plugin> - <groupId>org.codelutin</groupId> - <artifactId>maven-jrst-plugin</artifactId> - <version>0.8.4</version> - <configuration> - <defaultLocale>fr</defaultLocale> - </configuration> - <executions> - <execution> - <goals> - <goal>jrst</goal> - </goals> - </execution> - </executions> - </plugin> - - <plugin> - <artifactId>maven-assembly-plugin</artifactId> - <configuration> - <descriptors> - <descriptor>src/main/assembly/deps.xml</descriptor> - <descriptor>src/main/assembly/full.xml</descriptor> - </descriptors> - </configuration> - <executions> - <execution> - <goals> - <goal>single</goal> - </goals> - </execution> - </executions> - </plugin> </plugins> + + <pluginManagement> + <plugins> + + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <version>2.1</version> + <configuration> + <descriptors> + <descriptor>src/main/assembly/deps.xml</descriptor> + <descriptor>src/main/assembly/full.xml</descriptor> + </descriptors> + </configuration> + <executions> + <execution> + <goals> + <goal>single</goal> + </goals> + </execution> + </executions> + </plugin> + + <plugin> + <artifactId>maven-site-plugin</artifactId> + <dependencies> + <dependency> + <groupId>org.codelutin</groupId> + <artifactId>doxia-module-jrst</artifactId> + <version>1.0.0</version> + </dependency> + </dependencies> + </plugin> + </plugins> + </pluginManagement> + </build> - <reporting> + + <!--reporting> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> - <artifactId>cobertura-maven-plugin</artifactId> - </plugin> - <plugin> - <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <version>1.2</version> </plugin> </plugins> - </reporting> + </reporting--> <!-- ************************************************************* --> <!-- *** Build Environment ************************************** --> <!-- ************************************************************* --> - <!--Source control management--> - <scm> - <connection>${maven.scm.connection}</connection> - <developerConnection>${maven.scm.developerConnection}</developerConnection> - <url>${maven.scm.url}</url> - </scm> - <!--Code Lutin Repository--> + <!--Nuiton Repository : pourra etre supprimer lorsqu'on sera sur central --> <repositories> <repository> - <id>codelutin-repository</id> - <name>CodeLutinRepository</name> - <url>http://lutinbuilder.labs.libre-entreprise.org/maven2</url> + <id>nuiton-repository</id> + <name>NuitonRepository</name> + <url>${repository.home.url}</url> <snapshots> <enabled>true</enabled> <checksumPolicy>warn</checksumPolicy> @@ -207,23 +208,20 @@ </activation> <build> <plugins> - - <!-- always add license and third-party files to classpath --> + + <!-- launch in a release the assembly automaticly --> <plugin> - <groupId>org.codelutin</groupId> - <artifactId>maven-license-switcher-plugin</artifactId> - <version>0.6</version> + <artifactId>maven-assembly-plugin</artifactId> <executions> <execution> - <id>attach-licenses</id> + <id>attach-assembly</id> + <phase>verify</phase> <goals> - <goal>license</goal> - <goal>third-party</goal> + <goal>single</goal> </goals> </execution> </executions> </plugin> - </plugins> </build> Modified: nuiton-matrix/trunk/src/main/assembly/deps.xml =================================================================== --- nuiton-matrix/trunk/src/main/assembly/deps.xml 2009-05-16 15:40:30 UTC (rev 142) +++ nuiton-matrix/trunk/src/main/assembly/deps.xml 2009-05-16 18:41:40 UTC (rev 143) @@ -14,21 +14,33 @@ <scope>runtime</scope> </dependencySet> </dependencySets> - <files> - <file> - <!--source>target/${artifact.artifactId}-${artifact.version}.jar</source--> - <source>target/${project.build.finalName}.jar</source> - </file> - <!-- <file> - <source>target/classes/THIRD-PARTY.txt</source> - </file> --> - </files> + <fileSets> <fileSet> + <directory>target</directory> + <outputDirectory>/</outputDirectory> <includes> + <include>*.jar</include> + </includes> + <excludes> + <exclude>*-sources.jar</exclude> + <exclude>*-javadoc.jar</exclude> + </excludes> + </fileSet> + <fileSet> + <outputDirectory>/</outputDirectory> + <includes> <include>README*</include> <include>LICENSE*</include> + <include>pom.xml</include> </includes> </fileSet> + <fileSet> + <outputDirectory>/</outputDirectory> + <directory>target/classes</directory> + <includes> + <include>THIRD-PARTY.txt</include> + </includes> + </fileSet> </fileSets> </assembly> \ No newline at end of file Modified: nuiton-matrix/trunk/src/main/assembly/full.xml =================================================================== --- nuiton-matrix/trunk/src/main/assembly/full.xml 2009-05-16 15:40:30 UTC (rev 142) +++ nuiton-matrix/trunk/src/main/assembly/full.xml 2009-05-16 18:41:40 UTC (rev 143) @@ -13,26 +13,35 @@ <scope>runtime</scope> </dependencySet> </dependencySets> - <files> - <file> - <!--source>target/${artifact.artifactId}-${artifact.version}.jar</source--> - <source>target/${project.build.finalName}.jar</source> - </file> - <!-- <file> - <source>target/classes/THIRD-PARTY.txt</source> - </file> --> - </files> <fileSets> <fileSet> + <directory>target</directory> + <outputDirectory>/</outputDirectory> <includes> + <include>*.jar</include> + </includes> + <excludes> + <exclude>*-sources.jar</exclude> + </excludes> + </fileSet> + <fileSet> + <outputDirectory>/</outputDirectory> + <includes> <include>README*</include> <include>LICENSE*</include> <include>pom.xml</include> </includes> </fileSet> <fileSet> + <outputDirectory>/</outputDirectory> + <directory>target/classes</directory> + <includes> + <include>THIRD-PARTY.txt</include> + </includes> + </fileSet> + <fileSet> <directory>src</directory> - <useDefaultExcludes>true</useDefaultExcludes> + <!--useDefaultExcludes>true</useDefaultExcludes--> </fileSet> </fileSets> </assembly> \ No newline at end of file Modified: nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/AbstractMatrixND.java =================================================================== --- nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/AbstractMatrixND.java 2009-05-16 15:40:30 UTC (rev 142) +++ nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/AbstractMatrixND.java 2009-05-16 18:41:40 UTC (rev 143) @@ -31,7 +31,7 @@ import org.apache.commons.lang.math.NumberUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.codelutin.util.ArrayUtil; +import org.nuiton.util.ArrayUtil; /** * AbstractMatrixND. @@ -169,18 +169,22 @@ * Retourne la factory utilisée pour créer cette matrice, la factory * peut-être réutilisé pour créer d'autre matrice si besoin. */ + @Override public MatrixFactory getFactory() { return factory; } + @Override public List[] getSemantics() { return semantics; } + @Override public List getSemantics(int dim) { return semantics[dim]; } + @Override public void setSemantics(int dim, List sem) { if (!(sem instanceof SemanticList)) { sem = new SemanticList(sem); @@ -190,18 +194,22 @@ semantics[dim] = sem; } + @Override public void setName(String name) { this.name = name; } + @Override public String getName() { return name; } + @Override public String[] getDimensionNames() { return dimNames; } + @Override public void setDimensionNames(String[] names) { for (int i = 0; names != null && i < names.length; i++) { setDimensionName(i, names[i]); @@ -213,6 +221,7 @@ * * @deprecated Use #getDimensionNames() */ + @Override public String[] getDimensionName() { return getDimensionNames(); } @@ -222,18 +231,22 @@ * * @deprecated Use #setDimensionName(String[]) */ + @Override public void setDimensionName(String[] names) { setDimensionNames(names); } + @Override public void setDimensionName(int dim, String name) { dimNames[dim] = name; } + @Override public String getDimensionName(int dim) { return dimNames[dim]; } + @Override public double getMaxOccurence() { // on creer un tableau dans cette classe, car on ne sait pas sur quelle // implantation on s'appuie. Mais dans les sous classes, si on a deja @@ -250,14 +263,17 @@ return MatrixHelper.maxOccurence(data); } + @Override public int getNbDim() { return dim.length; } + @Override public int[] getDim() { return dim; } + @Override public int getDim(int d) { return dim[d]; } @@ -266,6 +282,7 @@ * Retourne la matrice elle meme. Les modifications sont faites directement * dessus */ + @Override public MatrixND map(MapFunction f) { for (MatrixIterator i = iterator(); i.next();) { i.setValue(f.apply(i.getValue())); @@ -273,87 +290,106 @@ return this; } + @Override public double getValue(Object[] coordinates) { return getValue(MatrixHelper.semanticsToDimension(getSemantics(), coordinates)); } + @Override public double getValue(Object x) { // on peut utiliser dimHelper car le get ne le reutilisera pas en // interne return getValue(dimHelper.get(x)); } + @Override public double getValue(Object x, Object y) { return getValue(dimHelper.get(x, y)); } + @Override public double getValue(Object x, Object y, Object z) { return getValue(dimHelper.get(x, y, z)); } + @Override public double getValue(Object x, Object y, Object z, Object t) { return getValue(dimHelper.get(x, y, z, t)); }; + @Override public double getValue(int x) { // on peut utiliser dimHelper car le get ne le reutilisera pas en // interne return getValue(dimHelper.get(x)); } + @Override public double getValue(int x, int y) { return getValue(dimHelper.get(x, y)); } + @Override public double getValue(int x, int y, int z) { return getValue(dimHelper.get(x, y, z)); } + @Override public double getValue(int x, int y, int z, int t) { return getValue(dimHelper.get(x, y, z, t)); } + @Override public void setValue(Object[] coordinates, double d) { setValue( MatrixHelper.semanticsToDimension(getSemantics(), coordinates), d); } + @Override public void setValue(Object x, double d) { setValue(dimHelper.get(x), d); } + @Override public void setValue(Object x, Object y, double d) { setValue(dimHelper.get(x, y), d); } + @Override public void setValue(Object x, Object y, Object z, double d) { setValue(dimHelper.get(x, y, z), d); } + @Override public void setValue(Object x, Object y, Object z, Object t, double d) { setValue(dimHelper.get(x, y, z, t), d); } + @Override public void setValue(int x, double d) { setValue(dimHelper.get(x), d); } + @Override public void setValue(int x, int y, double d) { setValue(dimHelper.get(x, y), d); } + @Override public void setValue(int x, int y, int z, double d) { setValue(dimHelper.get(x, y, z), d); } + @Override public void setValue(int x, int y, int z, int t, double d) { setValue(dimHelper.get(x, y, z, t), d); } // TODO peut-etre faire une variante de equals qui regarde par rapport au // coordonnées sémantique + @Override public boolean equals(Object o) { return o instanceof MatrixND && equals((MatrixND) o); } @@ -400,6 +436,7 @@ * @param mat * @return */ + @Override public boolean equalsValues(MatrixND mat) { boolean result = true; // les dimensions doivent-être identique @@ -419,6 +456,7 @@ return result; } + @Override public String toString() { StringBuffer result = new StringBuffer(); result.append("dimensions = [\n"); @@ -433,6 +471,7 @@ return result.toString(); } + @Override public List toList() { List result = new ArrayList(); // [3,2,5,4] @@ -456,6 +495,7 @@ return result; } + @Override public void fromList(List list) { // on suppose que les listes sont bien formé, c-a-d qu'elles sont // toutes de la meme dimension pour une dimension donnée. @@ -502,6 +542,7 @@ * * @see org.codelutin.math.matrix.MatrixND#sumAll() */ + @Override public double sumAll() { double result = 0; for (MatrixIterator i = iterator(); i.next();) { @@ -510,10 +551,12 @@ return result; } + @Override public MatrixND sumOverDim(int dim) { return sumOverDim(dim, getDim(dim)); } + @Override public MatrixND sumOverDim(int dim, int step) { if (step < 0) { step = getDim(dim); @@ -543,6 +586,7 @@ return result; } + @Override public MatrixND sumOverDim(int dim, int start, int nb) { // copie de l'ancienne semantique List[] semantics = new List[getNbDim()]; @@ -578,6 +622,7 @@ return result; } + @Override public MatrixND cut(int dim, int[] toCut) { throw new UnsupportedOperationException("Méthode non implantée"); } @@ -585,6 +630,7 @@ /** * Modifie la matrice actuel en metant les valeurs de mat passé en parametre */ + @Override public MatrixND paste(MatrixND mat) { return paste(new int[getNbDim()], mat); } @@ -597,6 +643,7 @@ * que l'on colle est trop grande, les valeurs qui depasse ne * sont pas prises en compte */ + @Override public MatrixND paste(int[] origin, MatrixND mat) { // TODO, si les matrice mat et this on les memes dimensions // et que origin est 0 @@ -618,6 +665,7 @@ * La copie se fait en fonction de la semantique, si un element dans une * dimension n'est pas trouvé, alors il est passé */ + @Override public MatrixND pasteSemantics(MatrixND mat) { if (mat != null) { for (MatrixIterator mi = mat.iterator(); mi.next();) { @@ -630,6 +678,7 @@ return this; } + @Override public MatrixND getSubMatrix(int dim, int start, int nb) { if (dim < 0) { dim = getNbDim() + dim; @@ -643,6 +692,7 @@ return new SubMatrix(this, dim, start, nb); } + @Override public MatrixND getSubMatrix(int dim, Object start, int nb) { int begin = MatrixHelper.indexOf(getSemantics(), dim, start); return getSubMatrix(dim, begin, nb); @@ -661,6 +711,7 @@ return result; } + @Override public MatrixND getSubMatrix(int dim, Object... elem) { int[] ielem = new int[elem.length]; for (int i = 0; i < ielem.length; i++) { @@ -669,6 +720,7 @@ return getSubMatrix(dim, ielem); } + @Override public MatrixND getSubMatrix(int dim, int[] elem) { return new SubMatrix(this, dim, elem); } @@ -679,6 +731,7 @@ * nombre de dimension, et chacune de ses dimensions doit avoir un nombre * d'element au moins egal a cette matrice. */ + @Override public MatrixND add(MatrixND m) { // TODO si les dimensions sont exactment les memes, on doit pouvoir // gagner du temps en travaillant directement au niveau du vector @@ -695,6 +748,7 @@ * nombre de dimension, et chacune de ses dimensions doit avoir un nombre * d'element au moins egal a cette matrice. */ + @Override public MatrixND minus(MatrixND m) { // TODO si les dimensions sont exactment les memes, on doit pouvoir // gagner du temps en travaillant directement au niveau du vector @@ -704,6 +758,7 @@ return this; } + @Override public MatrixND transpose() { if (getNbDim() > 2) { throw new MatrixException( @@ -733,10 +788,12 @@ } } + @Override public MatrixND reduce() { return reduce(1); } + @Override public MatrixND reduceDims(int... dims) { Arrays.sort(dims); // tableau permettant de faire la correspondance entre les dimensions @@ -767,6 +824,7 @@ return result; } + @Override public MatrixND reduce(int minNbDim) { // tableau permettant de faire la correspondance entre les dimensions // de la matrice actuelle et les dimentsions de la nouvelle matrice @@ -834,6 +892,7 @@ return result; } + @Override public MatrixND mult(MatrixND m) throws MatrixException { if (this.getNbDim() > 2 || m.getNbDim() > 2) { throw new MatrixException( @@ -859,6 +918,7 @@ return result; } + @Override public MatrixND mults(final double d) { map(new MapFunction() { public double apply(double val) { @@ -868,6 +928,7 @@ return this; } + @Override public MatrixND divs(final double d) { map(new MapFunction() { public double apply(double val) { @@ -877,6 +938,7 @@ return this; } + @Override public MatrixND adds(final double d) { map(new MapFunction() { public double apply(double val) { @@ -886,6 +948,7 @@ return this; } + @Override public MatrixND minuss(final double d) { map(new MapFunction() { public double apply(double val) { @@ -900,6 +963,7 @@ * * @return support du CSV */ + @Override public boolean isSupportedCSV() { return getNbDim() <= 2; } @@ -911,6 +975,7 @@ * @param origin le point à partir duquel il faut faire l'importation * int[]{x,y} */ + @Override public void importCSV(Reader reader, int[] origin) throws IOException { int rowsCount = 0; List<Double> row = new ArrayList<Double>(); @@ -1022,6 +1087,7 @@ * @param withSemantics export ou pas des semantiques de la matrice dans le * writer */ + @Override public void exportCSV(Writer writer, boolean withSemantics) throws IOException { int dimsCount = getNbDim(); Modified: nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/BasicMatrix.java =================================================================== --- nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/BasicMatrix.java 2009-05-16 15:40:30 UTC (rev 142) +++ nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/BasicMatrix.java 2009-05-16 18:41:40 UTC (rev 143) @@ -20,7 +20,7 @@ import java.util.Arrays; import java.util.NoSuchElementException; -import org.codelutin.i18n.I18n; +import org.nuiton.i18n.I18n; /** * Objet matrice qui ne permet que le stockage de double dans un matrice à @@ -118,6 +118,7 @@ * Retourne un element de la matrice * * @param pos la position de l'element à retourner + * @return un element de la matrice */ public double getValue(int[] pos) { int indice = coordonatesToLinear(pos); @@ -244,6 +245,7 @@ } } + @Override public String toString() { StringBuffer result = new StringBuffer(); if (getNbDim() == 1) { @@ -280,6 +282,7 @@ return result.toString(); } + @Override public boolean equals(Object o) { if (o instanceof BasicMatrix) { BasicMatrix other = (BasicMatrix) o; @@ -303,10 +306,12 @@ pos = -1; } + @Override public boolean hasNext() { return pos + 1 < matrix.data.size(); } + @Override public boolean next() { if (hasNext()) { pos++; @@ -316,14 +321,17 @@ } } + @Override public double getValue() { return matrix.data.getValue(pos); } + @Override public void setValue(double value) { matrix.data.setValue(pos, value); } + @Override public int[] getCoordinates() { return matrix.linearToCoordinates(pos); } Modified: nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/MatrixHelper.java =================================================================== --- nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/MatrixHelper.java 2009-05-16 15:40:30 UTC (rev 142) +++ nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/MatrixHelper.java 2009-05-16 18:41:40 UTC (rev 143) @@ -73,7 +73,7 @@ * :( * <p> * Remarque: une autre implantation de remplacement a ete faite en utilisant - * le {@link org.codelutin.util.StringUtil#split(String, String)} mais elle + * le {@link org.nuiton.util.StringUtil#split(String, String)} mais elle * etait moins performante (x2) * * @param s la chaine representant les listes de liste Modified: nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/MatrixStringEncoder.java =================================================================== --- nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/MatrixStringEncoder.java 2009-05-16 15:40:30 UTC (rev 142) +++ nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/MatrixStringEncoder.java 2009-05-16 18:41:40 UTC (rev 143) @@ -28,7 +28,7 @@ import org.apache.commons.lang.StringEscapeUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.codelutin.util.StringUtil; +import org.nuiton.util.StringUtil; /** * Convert matrix into {@link String} and inverse. Modified: nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/gui/JAXXMatrixEditor.jaxx =================================================================== --- nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/gui/JAXXMatrixEditor.jaxx 2009-05-16 15:40:30 UTC (rev 142) +++ nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/gui/JAXXMatrixEditor.jaxx 2009-05-16 18:41:40 UTC (rev 143) @@ -52,10 +52,10 @@ import java.awt.event.MouseEvent; import java.util.Iterator; -import org.codelutin.i18n.I18n; +import org.nuiton.i18n.I18n; import org.codelutin.math.matrix.MatrixFactory; import org.codelutin.math.matrix.MatrixND; -import org.codelutin.util.ListenerSet; +import org.nuiton.util.ListenerSet; private final static int DEFAULT_WIDTH = 150; Modified: nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/gui/MatrixPanelEditor.java =================================================================== --- nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/gui/MatrixPanelEditor.java 2009-05-16 15:40:30 UTC (rev 142) +++ nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/gui/MatrixPanelEditor.java 2009-05-16 18:41:40 UTC (rev 143) @@ -42,11 +42,11 @@ import javax.swing.event.TableModelEvent; import javax.swing.event.TableModelListener; -import org.codelutin.i18n.I18n; +import org.nuiton.i18n.I18n; import org.codelutin.math.matrix.MatrixException; import org.codelutin.math.matrix.MatrixFactory; import org.codelutin.math.matrix.MatrixND; -import org.codelutin.util.ListenerSet; +import org.nuiton.util.ListenerSet; /** * JPanel contenant une JTable pour afficher une Matrice a une ou deux Modified: nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/gui/MatrixPopupMenu.java =================================================================== --- nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/gui/MatrixPopupMenu.java 2009-05-16 15:40:30 UTC (rev 142) +++ nuiton-matrix/trunk/src/main/java/org/codelutin/math/matrix/gui/MatrixPopupMenu.java 2009-05-16 18:41:40 UTC (rev 143) @@ -17,7 +17,7 @@ package org.codelutin.math.matrix.gui; -import static org.codelutin.i18n.I18n._; +import static org.nuiton.i18n.I18n._; import java.awt.Toolkit; import java.awt.datatransfer.Clipboard; @@ -44,7 +44,7 @@ import javax.swing.filechooser.FileFilter; import org.codelutin.math.matrix.MatrixND; -import org.codelutin.util.FileUtil; +import org.nuiton.util.FileUtil; /** * Ajout d'un menu contextuel sur la matrice dans l'editeur. Deleted: nuiton-matrix/trunk/src/main/resources/i18n/lutinmatrix-en_GB.properties =================================================================== --- nuiton-matrix/trunk/src/main/resources/i18n/lutinmatrix-en_GB.properties 2009-05-16 15:40:30 UTC (rev 142) +++ nuiton-matrix/trunk/src/main/resources/i18n/lutinmatrix-en_GB.properties 2009-05-16 18:41:40 UTC (rev 143) @@ -1,21 +0,0 @@ -lutinmatrix.create.matrix.button=New matrix -lutinmatrix.create.matrix.message=Matrix size (separate by ';') -lutinmatrix.create.matrix.title=New matrix -lutinmatrix.error=Error -lutinmatrix.error.clipboard.read=Cannot read clipboard -lutinmatrix.error.clipboard.write=Cannot write clipboard -lutinmatrix.error.file.read=Cannot read file -lutinmatrix.error.file.write=Cannot write file -lutinmatrix.invalid.element=Invalid element %s in matrix %s -lutinmatrix.invalid.size=Invalid size\: 0 <\= %d <\= %d -lutinmatrix.menu.action=Copy/Paste -lutinmatrix.menu.action.copy=Copy -lutinmatrix.menu.action.copy.selection=Copy selection -lutinmatrix.menu.action.paste=Paste -lutinmatrix.menu.action.paste.position=Paste at current position -lutinmatrix.menu.csv=Import/Export file CSV -lutinmatrix.menu.csv.export.file=Export to file -lutinmatrix.menu.csv.export.selection=Export selection -lutinmatrix.menu.csv.import.file=Import from file -lutinmatrix.menu.csv.import.position=Import at current position -lutinmatrix.menu.option.semantics=Export/Copy with semantics Deleted: nuiton-matrix/trunk/src/main/resources/i18n/lutinmatrix-fr_FR.properties =================================================================== --- nuiton-matrix/trunk/src/main/resources/i18n/lutinmatrix-fr_FR.properties 2009-05-16 15:40:30 UTC (rev 142) +++ nuiton-matrix/trunk/src/main/resources/i18n/lutinmatrix-fr_FR.properties 2009-05-16 18:41:40 UTC (rev 143) @@ -1,21 +0,0 @@ -lutinmatrix.create.matrix.button=Cr\u00E9er une matrice -lutinmatrix.create.matrix.message=Dimensions de la matrice (s\u00E9par\u00E9es par ';') -lutinmatrix.create.matrix.title=Cr\u00E9er une matrice -lutinmatrix.error=Erreur -lutinmatrix.error.clipboard.read=Donn\u00E9e corrompu dans le bloc note -lutinmatrix.error.clipboard.write=Impossible d'\u00E9crire dans le bloc note -lutinmatrix.error.file.read=Impossible de lire le fichier -lutinmatrix.error.file.write=Impossible d'\u00E9crire dans le fichier -lutinmatrix.invalid.element=L'\u00E9l\u00E9ment demand\u00E9 %s n'existe pas dans la matrice %s -lutinmatrix.invalid.size=La dimension demand\u00E9e n'est pas correcte\: 0 <\= %d <\= %d -lutinmatrix.menu.action=Copier/Coller -lutinmatrix.menu.action.copy=Copier -lutinmatrix.menu.action.copy.selection=Copier la s\u00E9lection -lutinmatrix.menu.action.paste=Coller -lutinmatrix.menu.action.paste.position=Coller \u00E0 la position courante -lutinmatrix.menu.csv=Importer/Exporter fichier CSV -lutinmatrix.menu.csv.export.file=Exporter dans un fichier -lutinmatrix.menu.csv.export.selection=Exporter la s\u00E9lection -lutinmatrix.menu.csv.import.file=Importer depuis un fichier -lutinmatrix.menu.csv.import.position=Importer \u00E0 la position courante -lutinmatrix.menu.option.semantics=Exporter/Copier avec la s\u00E9mantique Copied: nuiton-matrix/trunk/src/main/resources/i18n/nuiton-matrix-en_GB.properties (from rev 142, nuiton-matrix/trunk/src/main/resources/i18n/lutinmatrix-en_GB.properties) =================================================================== --- nuiton-matrix/trunk/src/main/resources/i18n/nuiton-matrix-en_GB.properties (rev 0) +++ nuiton-matrix/trunk/src/main/resources/i18n/nuiton-matrix-en_GB.properties 2009-05-16 18:41:40 UTC (rev 143) @@ -0,0 +1,21 @@ +lutinmatrix.create.matrix.button=New matrix +lutinmatrix.create.matrix.message=Matrix size (separate by ';') +lutinmatrix.create.matrix.title=New matrix +lutinmatrix.error=Error +lutinmatrix.error.clipboard.read=Cannot read clipboard +lutinmatrix.error.clipboard.write=Cannot write clipboard +lutinmatrix.error.file.read=Cannot read file +lutinmatrix.error.file.write=Cannot write file +lutinmatrix.invalid.element=Invalid element %s in matrix %s +lutinmatrix.invalid.size=Invalid size\: 0 <\= %d <\= %d +lutinmatrix.menu.action=Copy/Paste +lutinmatrix.menu.action.copy=Copy +lutinmatrix.menu.action.copy.selection=Copy selection +lutinmatrix.menu.action.paste=Paste +lutinmatrix.menu.action.paste.position=Paste at current position +lutinmatrix.menu.csv=Import/Export file CSV +lutinmatrix.menu.csv.export.file=Export to file +lutinmatrix.menu.csv.export.selection=Export selection +lutinmatrix.menu.csv.import.file=Import from file +lutinmatrix.menu.csv.import.position=Import at current position +lutinmatrix.menu.option.semantics=Export/Copy with semantics Property changes on: nuiton-matrix/trunk/src/main/resources/i18n/nuiton-matrix-en_GB.properties ___________________________________________________________________ Name: svn:keywords + Author Date Id Revision Name: svn:mergeinfo + Name: svn:eol-style + native Copied: nuiton-matrix/trunk/src/main/resources/i18n/nuiton-matrix-fr_FR.properties (from rev 142, nuiton-matrix/trunk/src/main/resources/i18n/lutinmatrix-fr_FR.properties) =================================================================== --- nuiton-matrix/trunk/src/main/resources/i18n/nuiton-matrix-fr_FR.properties (rev 0) +++ nuiton-matrix/trunk/src/main/resources/i18n/nuiton-matrix-fr_FR.properties 2009-05-16 18:41:40 UTC (rev 143) @@ -0,0 +1,21 @@ +lutinmatrix.create.matrix.button=Cr\u00E9er une matrice +lutinmatrix.create.matrix.message=Dimensions de la matrice (s\u00E9par\u00E9es par ';') +lutinmatrix.create.matrix.title=Cr\u00E9er une matrice +lutinmatrix.error=Erreur +lutinmatrix.error.clipboard.read=Donn\u00E9e corrompu dans le bloc note +lutinmatrix.error.clipboard.write=Impossible d'\u00E9crire dans le bloc note +lutinmatrix.error.file.read=Impossible de lire le fichier +lutinmatrix.error.file.write=Impossible d'\u00E9crire dans le fichier +lutinmatrix.invalid.element=L'\u00E9l\u00E9ment demand\u00E9 %s n'existe pas dans la matrice %s +lutinmatrix.invalid.size=La dimension demand\u00E9e n'est pas correcte\: 0 <\= %d <\= %d +lutinmatrix.menu.action=Copier/Coller +lutinmatrix.menu.action.copy=Copier +lutinmatrix.menu.action.copy.selection=Copier la s\u00E9lection +lutinmatrix.menu.action.paste=Coller +lutinmatrix.menu.action.paste.position=Coller \u00E0 la position courante +lutinmatrix.menu.csv=Importer/Exporter fichier CSV +lutinmatrix.menu.csv.export.file=Exporter dans un fichier +lutinmatrix.menu.csv.export.selection=Exporter la s\u00E9lection +lutinmatrix.menu.csv.import.file=Importer depuis un fichier +lutinmatrix.menu.csv.import.position=Importer \u00E0 la position courante +lutinmatrix.menu.option.semantics=Exporter/Copier avec la s\u00E9mantique Property changes on: nuiton-matrix/trunk/src/main/resources/i18n/nuiton-matrix-fr_FR.properties ___________________________________________________________________ Name: svn:keywords + Author Date Id Revision Name: svn:mergeinfo + Name: svn:eol-style + native Modified: nuiton-matrix/trunk/src/site/site.xml =================================================================== --- nuiton-matrix/trunk/src/site/site.xml 2009-05-16 15:40:30 UTC (rev 142) +++ nuiton-matrix/trunk/src/site/site.xml 2009-05-16 18:41:40 UTC (rev 143) @@ -1,39 +1,60 @@ <?xml version="1.0" encoding="UTF-8"?> -<project name="LutinMatrix"> +<project name="${project.name}"> - <publishDate format="dd/MM/yyyy"/> + <publishDate format="dd/MM/yyyy"/> - <skin> - <groupId>org.codelutin</groupId> - <artifactId>maven-lutin-skin</artifactId> - <version>0.2.1</version> - </skin> + <skin> + <groupId>org.codelutin</groupId> + <artifactId>maven-lutin-skin</artifactId> + <version>0.2.3</version> + </skin> - <bannerLeft> - <name>Lutin Matrix</name> - </bannerLeft> + <bannerLeft> + <name>${project.name}</name> + <href>index.html</href> + </bannerLeft> - <bannerRight> - <src>http://www.codelutin.com/images/lutinorange-codelutin.png</src> - <href>http://www.codelutin.com</href> - </bannerRight> + <bannerRight> + <src>http://www.codelutin.com/images/lutinorange-codelutin.png</src> + <href>http://www.codelutin.com</href> + </bannerRight> - <body> - <links> - <item name="Labs" href="http://labs.libre-entreprise.org/"/> - <item name="Code Lutin" href="http://www.codelutin.com/"/> - </links> + <poweredBy> + <logo href="http://maven.apache.org" name="Maven" img="images/logos/maven-feather.png"/> + <logo href="http://jrst.labs.libre-entreprise.org" name="JRst" img="images/jrst-logo.png"/> + <logo href="http://docutils.sourceforge.net/rst.html" name="ReStructuredText" img="images/restructuredtext-logo.png"/> + </poweredBy> - <menu name="Utilisateur"> - <item href="http://lutinbuilder.labs.libre-entreprise.org/maven2/org/codelutin/lutinmatr..." name="Téléchargement"/> - </menu> + <body> + <links> + <item name="Labs" href="http://labs.libre-entreprise.org/"/> + <item name="Nuiton" href="http://www.nuiton.org"/> + <item name="${project.organization.name}" href="${project.organization.url}"/> + </links> - <menu name="Développeur"> - <item name="Serializable" href="Serializable.html"/> - <item name="Todo" href="Todo.html"/> - </menu> + <menu name="Utilisateur"> + <item href="index.html" name="Accueil"/> + </menu> - ${reports} + <menu name="Développeur"> + <item name="Serializable" href="Serializable.html"/> + <item name="Todo" href="Todo.html"/> + </menu> - </body> + <menu name="Téléchargement"> + <item href="${repository.home.url}/org/nuiton/${project.artifactId}/${project.version}/${project.build.finalName}.jar" + name="Librairie (jar)"/> + <item href="${repository.home.url}/org/nuiton/${project.artifactId}/${project.version}/${project.build.finalName}-javadoc.jar" + name="Javadoc (jar)"/> + <item href="${repository.home.url}/org/nuiton/${project.artifactId}/${project.version}/${project.build.finalName}-sources.jar" + name="Sources (jar)"/> + <item href="${repository.home.url}/org/nuiton/${project.artifactId}/${project.version}/${project.build.finalName}-deps.zip" + name="Bundle sans sources (zip)"/> + <item href="${repository.home.url}/org/nuiton/${project.artifactId}/${project.version}/${project.build.finalName}-full.zip" + name="Bundle complêt (zip)"/> + </menu> + + <menu ref="reports"/> + + </body> </project> Copied: nuiton-matrix/trunk/src/test/java/org/nuiton (from rev 142, nuiton-matrix/trunk/src/test/java/org/codelutin) Property changes on: nuiton-matrix/trunk/src/test/java/org/nuiton ___________________________________________________________________ Name: svn:mergeinfo + Modified: nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/BasicMatrixBigTest.java =================================================================== --- nuiton-matrix/trunk/src/test/java/org/codelutin/math/matrix/BasicMatrixBigTest.java 2009-05-16 15:40:30 UTC (rev 142) +++ nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/BasicMatrixBigTest.java 2009-05-16 18:41:40 UTC (rev 143) @@ -15,8 +15,10 @@ * License along with this program. If not, see * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ -package org.codelutin.math.matrix; +package org.nuiton.math.matrix; +import org.codelutin.math.matrix.*; + /** * BasicMatrixBigTest. * Modified: nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/BasicMatrixTest.java =================================================================== --- nuiton-matrix/trunk/src/test/java/org/codelutin/math/matrix/BasicMatrixTest.java 2009-05-16 15:40:30 UTC (rev 142) +++ nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/BasicMatrixTest.java 2009-05-16 18:41:40 UTC (rev 143) @@ -15,8 +15,9 @@ * License along with this program. If not, see * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ -package org.codelutin.math.matrix; +package org.nuiton.math.matrix; +import org.codelutin.math.matrix.*; import java.util.Arrays; import java.util.NoSuchElementException; Modified: nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/FloatVectorTest.java =================================================================== --- nuiton-matrix/trunk/src/test/java/org/codelutin/math/matrix/FloatVectorTest.java 2009-05-16 15:40:30 UTC (rev 142) +++ nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/FloatVectorTest.java 2009-05-16 18:41:40 UTC (rev 143) @@ -15,8 +15,9 @@ * License along with this program. If not, see * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ -package org.codelutin.math.matrix; +package org.nuiton.math.matrix; +import org.codelutin.math.matrix.*; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; Modified: nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/ImportExportMatrixTest.java =================================================================== --- nuiton-matrix/trunk/src/test/java/org/codelutin/math/matrix/ImportExportMatrixTest.java 2009-05-16 15:40:30 UTC (rev 142) +++ nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/ImportExportMatrixTest.java 2009-05-16 18:41:40 UTC (rev 143) @@ -15,8 +15,9 @@ * License along with this program. If not, see * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ -package org.codelutin.math.matrix; +package org.nuiton.math.matrix; +import org.codelutin.math.matrix.*; import java.io.IOException; import java.io.StringReader; import java.io.StringWriter; Modified: nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/MatrixHelperTest.java =================================================================== --- nuiton-matrix/trunk/src/test/java/org/codelutin/math/matrix/MatrixHelperTest.java 2009-05-16 15:40:30 UTC (rev 142) +++ nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/MatrixHelperTest.java 2009-05-16 18:41:40 UTC (rev 143) @@ -15,8 +15,9 @@ * License along with this program. If not, see * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ -package org.codelutin.math.matrix; +package org.nuiton.math.matrix; +import org.codelutin.math.matrix.*; import java.util.List; import org.apache.commons.logging.Log; Modified: nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/MatrixNDTest.java =================================================================== --- nuiton-matrix/trunk/src/test/java/org/codelutin/math/matrix/MatrixNDTest.java 2009-05-16 15:40:30 UTC (rev 142) +++ nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/MatrixNDTest.java 2009-05-16 18:41:40 UTC (rev 143) @@ -15,8 +15,9 @@ * License along with this program. If not, see * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ -package org.codelutin.math.matrix; +package org.nuiton.math.matrix; +import org.codelutin.math.matrix.*; import java.io.IOException; import java.io.StreamTokenizer; import java.io.StringReader; @@ -26,7 +27,7 @@ import java.util.Stack; import org.apache.commons.lang.time.DurationFormatUtils; -import org.codelutin.util.StringUtil; +import org.nuiton.util.StringUtil; import org.junit.Assert; import org.junit.Test; Modified: nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/MatrixStringEncoderTest.java =================================================================== --- nuiton-matrix/trunk/src/test/java/org/codelutin/math/matrix/MatrixStringEncoderTest.java 2009-05-16 15:40:30 UTC (rev 142) +++ nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/MatrixStringEncoderTest.java 2009-05-16 18:41:40 UTC (rev 143) @@ -15,8 +15,9 @@ * License along with this program. If not, see * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ -package org.codelutin.math.matrix; +package org.nuiton.math.matrix; +import org.codelutin.math.matrix.*; import java.io.Serializable; import java.util.ArrayList; import java.util.List; Modified: nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/PerfTest.java =================================================================== --- nuiton-matrix/trunk/src/test/java/org/codelutin/math/matrix/PerfTest.java 2009-05-16 15:40:30 UTC (rev 142) +++ nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/PerfTest.java 2009-05-16 18:41:40 UTC (rev 143) @@ -15,8 +15,9 @@ * License along with this program. If not, see * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ -package org.codelutin.math.matrix; +package org.nuiton.math.matrix; +import org.codelutin.math.matrix.*; import java.util.ArrayList; import java.util.List; Modified: nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/SubMatrixTest.java =================================================================== --- nuiton-matrix/trunk/src/test/java/org/codelutin/math/matrix/SubMatrixTest.java 2009-05-16 15:40:30 UTC (rev 142) +++ nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/SubMatrixTest.java 2009-05-16 18:41:40 UTC (rev 143) @@ -15,8 +15,9 @@ * License along with this program. If not, see * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ -package org.codelutin.math.matrix; +package org.nuiton.math.matrix; +import org.codelutin.math.matrix.*; import java.util.Arrays; import java.util.List; Modified: nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/gui/MatrixTableModelTest.java =================================================================== --- nuiton-matrix/trunk/src/test/java/org/codelutin/math/matrix/gui/MatrixTableModelTest.java 2009-05-16 15:40:30 UTC (rev 142) +++ nuiton-matrix/trunk/src/test/java/org/nuiton/math/matrix/gui/MatrixTableModelTest.java 2009-05-16 18:41:40 UTC (rev 143) @@ -15,8 +15,9 @@ * License along with this program. If not, see * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ -package org.codelutin.math.matrix.gui; +package org.nuiton.math.matrix.gui; +import org.codelutin.math.matrix.gui.*; import java.util.Arrays; import java.util.List;