[med-svn] [Git][med-team/libsis-base-java][upstream] New upstream version 18.09~pre1+git20180928.45fbd31+dfsg

Andreas Tille gitlab at salsa.debian.org
Tue Oct 27 19:56:39 GMT 2020



Andreas Tille pushed to branch upstream at Debian Med / libsis-base-java


Commits:
1a7b930d by Andreas Tille at 2020-10-27T20:51:16+01:00
New upstream version 18.09~pre1+git20180928.45fbd31+dfsg
- - - - -


9 changed files:

- source/java/ch/systemsx/cisd/base/mdarray/MDAbstractArray.java
- source/java/ch/systemsx/cisd/base/mdarray/MDByteArray.java
- source/java/ch/systemsx/cisd/base/mdarray/MDDoubleArray.java
- source/java/ch/systemsx/cisd/base/mdarray/MDFloatArray.java
- source/java/ch/systemsx/cisd/base/mdarray/MDIntArray.java
- source/java/ch/systemsx/cisd/base/mdarray/MDLongArray.java
- source/java/ch/systemsx/cisd/base/mdarray/MDShortArray.java
- source/java/ch/systemsx/cisd/base/utilities/NativeLibraryUtilities.java
- sourceTest/java/ch/systemsx/cisd/base/mdarray/MDArrayTests.java


Changes:

=====================================
source/java/ch/systemsx/cisd/base/mdarray/MDAbstractArray.java
=====================================
@@ -105,6 +105,14 @@ public abstract class MDAbstractArray<T> implements Serializable,
         }
     }
 
+    protected MDAbstractArray(MDAbstractArray<T> template)
+    {
+        this.dimensions = template.dimensions.clone();
+        this.hyperRowLength = template.hyperRowLength;
+        this.capacityHyperRows = template.capacityHyperRows;
+        this.size = template.size;
+    }
+
     protected int computeHyperRowLength(@SuppressWarnings("hiding")
     int[] dimensions)
     {


=====================================
source/java/ch/systemsx/cisd/base/mdarray/MDByteArray.java
=====================================
@@ -153,6 +153,15 @@ public final class MDByteArray extends MDAbstractArray<Byte>
         }
     }
 
+    /**
+     * Creates an independent copy (clone) of the <var>template</var> provided.
+     */
+    public MDByteArray(MDByteArray template)
+    {
+        super(template);
+        this.flattenedArray = template.flattenedArray.clone();
+    }
+
     private static int[] getDimensions(byte[][] matrix)
     {
         assert matrix != null;
@@ -373,4 +382,10 @@ public final class MDByteArray extends MDAbstractArray<Byte>
         }
     }
 
+    @Override
+    public MDByteArray clone()
+    {
+        return new MDByteArray(this);
+    }
+
 }


=====================================
source/java/ch/systemsx/cisd/base/mdarray/MDDoubleArray.java
=====================================
@@ -153,6 +153,15 @@ public final class MDDoubleArray extends MDAbstractArray<Double>
         }
     }
 
+    /**
+     * Creates an independent copy (clone) of the <var>template</var> provided.
+     */
+    public MDDoubleArray(MDDoubleArray template)
+    {
+        super(template);
+        this.flattenedArray = template.flattenedArray.clone();
+    }
+
     private static int[] getDimensions(double[][] matrix)
     {
         assert matrix != null;
@@ -373,4 +382,10 @@ public final class MDDoubleArray extends MDAbstractArray<Double>
         }
     }
 
+    @Override
+    public MDDoubleArray clone()
+    {
+        return new MDDoubleArray(this);
+    }
+
 }


=====================================
source/java/ch/systemsx/cisd/base/mdarray/MDFloatArray.java
=====================================
@@ -153,6 +153,15 @@ public final class MDFloatArray extends MDAbstractArray<Float>
         }
     }
 
+    /**
+     * Creates an independent copy (clone) of the <var>template</var> provided.
+     */
+    public MDFloatArray(MDFloatArray template)
+    {
+        super(template);
+        this.flattenedArray = template.flattenedArray.clone();
+    }
+
     private static int[] getDimensions(float[][] matrix)
     {
         assert matrix != null;
@@ -373,4 +382,10 @@ public final class MDFloatArray extends MDAbstractArray<Float>
         }
     }
 
+    @Override
+    public MDFloatArray clone()
+    {
+        return new MDFloatArray(this);
+    }
+
 }


=====================================
source/java/ch/systemsx/cisd/base/mdarray/MDIntArray.java
=====================================
@@ -153,6 +153,15 @@ public final class MDIntArray extends MDAbstractArray<Integer>
         }
     }
 
+    /**
+     * Creates an independent copy (clone) of the <var>template</var> provided.
+     */
+    public MDIntArray(MDIntArray template)
+    {
+        super(template);
+        this.flattenedArray = template.flattenedArray.clone();
+    }
+
     private static int[] getDimensions(int[][] matrix)
     {
         assert matrix != null;
@@ -373,4 +382,10 @@ public final class MDIntArray extends MDAbstractArray<Integer>
         }
     }
 
+    @Override
+    public MDIntArray clone()
+    {
+        return new MDIntArray(this);
+    }
+
 }


=====================================
source/java/ch/systemsx/cisd/base/mdarray/MDLongArray.java
=====================================
@@ -153,6 +153,15 @@ public final class MDLongArray extends MDAbstractArray<Long>
         }
     }
 
+    /**
+     * Creates an independent copy (clone) of the <var>template</var> provided.
+     */
+    public MDLongArray(MDLongArray template)
+    {
+        super(template);
+        this.flattenedArray = template.flattenedArray.clone();
+    }
+
     private static int[] getDimensions(long[][] matrix)
     {
         assert matrix != null;
@@ -373,4 +382,10 @@ public final class MDLongArray extends MDAbstractArray<Long>
         }
     }
 
+    @Override
+    public MDLongArray clone()
+    {
+        return new MDLongArray(this);
+    }
+
 }


=====================================
source/java/ch/systemsx/cisd/base/mdarray/MDShortArray.java
=====================================
@@ -153,6 +153,15 @@ public final class MDShortArray extends MDAbstractArray<Short>
         }
     }
 
+    /**
+     * Creates an independent copy (clone) of the <var>template</var> provided.
+     */
+    public MDShortArray(MDShortArray template)
+    {
+        super(template);
+        this.flattenedArray = template.flattenedArray.clone();
+    }
+
     private static int[] getDimensions(short[][] matrix)
     {
         assert matrix != null;
@@ -373,4 +382,10 @@ public final class MDShortArray extends MDAbstractArray<Short>
         }
     }
 
+    @Override
+    public MDShortArray clone()
+    {
+        return new MDShortArray(this);
+    }
+
 }


=====================================
source/java/ch/systemsx/cisd/base/utilities/NativeLibraryUtilities.java
=====================================
@@ -102,7 +102,7 @@ import java.util.zip.ZipFile;
  * mandatory locks make this impossible). This is the 'auto mode' and thus the simplest way of using this utility class for the user of your
  * program.</li>
  * <li>Finally, if no appropriate structure is found in the classpath, {@link #loadNativeLibrary(String)} will fall back to the Java default method of
- * loading JNI libraries via {@link System#loadLibrary()}. This may require the Java property <code>java.library.path</code> to be set and it may
+ * loading JNI libraries via {@link System#loadLibrary(String)}. This may require the Java property <code>java.library.path</code> to be set and it may
  * require the library to follow a platform specific naming convention for the native shared library file.</li>
  * </ol>
  * 


=====================================
sourceTest/java/ch/systemsx/cisd/base/mdarray/MDArrayTests.java
=====================================
@@ -16,6 +16,7 @@
 
 package ch.systemsx.cisd.base.mdarray;
 
+import static org.testng.Assert.assertNotSame;
 import static org.testng.AssertJUnit.assertEquals;
 import static org.testng.AssertJUnit.assertTrue;
 
@@ -288,6 +289,34 @@ public class MDArrayTests
         }
     }
 
+    @Test
+    public void testCloneMDArray()
+    {
+        final float[][] matrix1 = new float[][]
+                {
+                    { 1f, 2f, 3f, 4f },
+                    { 5f, 6f, 7f, 8f },
+                    { 9f, 10f, 11f, 12f } };
+        final MDFloatArray array = new MDFloatArray(matrix1);
+        final MDFloatArray array2 = array.clone();
+        assertNotSame(array2.getAsFlatArray(), array.getAsFlatArray());
+        assertNotSame(array2.dimensions, array.dimensions);
+        assertEquals(array2.hyperRowLength, array.hyperRowLength);
+        assertEquals(array2.capacityHyperRows, array.capacityHyperRows);
+        assertEquals(array2.size, array.size);
+        assertEquals(2, array2.rank());
+        assertEquals(12, array2.size());
+        assertEquals(3, array2.size(0));
+        assertEquals(4, array2.size(1));
+        assertEquals(7f, array2.get(1, 2));
+        final float[][] matrix2 = array2.toMatrix();
+        assertEquals(matrix1.length, matrix2.length);
+        for (int i = 0; i < matrix1.length; ++i)
+        {
+            assertTrue(Arrays.equals(matrix1[i], matrix2[i]));
+        }
+    }
+
     public static void main(String[] args) throws Throwable
     {
         System.out.println(BuildAndEnvironmentInfo.INSTANCE);



View it on GitLab: https://salsa.debian.org/med-team/libsis-base-java/-/commit/1a7b930da1252c9f456231a4376da2b9e58c35e7

-- 
View it on GitLab: https://salsa.debian.org/med-team/libsis-base-java/-/commit/1a7b930da1252c9f456231a4376da2b9e58c35e7
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20201027/c3327f65/attachment-0001.html>


More information about the debian-med-commit mailing list