JAL-2403 additional methods to support distance/similarity score
[jalview.git] / src / jalview / math / Matrix.java
index de0bf77..3f0bae4 100755 (executable)
@@ -532,6 +532,7 @@ public class Matrix implements MatrixI
     return value[i][j];
   }
 
+  @Override
   public void setValue(int i, int j, double val)
   {
     value[i][j] = val;
@@ -889,4 +890,50 @@ public class Matrix implements MatrixI
     System.arraycopy(value[i], 0, row, 0, cols);
     return row;
   }
+
+  @Override
+  public double getMaxValue()
+  {
+    if (value == null)
+    {
+      return 0;
+    }
+    double max = -Double.MAX_VALUE;
+    for (double[] row : value)
+    {
+      if (row != null)
+      {
+        for (double x : row)
+        {
+          if (x > max)
+          {
+            max = x;
+          }
+        }
+      }
+    }
+    return max;
+  }
+
+  @Override
+  public void subtractAllFrom(double val)
+  {
+    if (value == null)
+    {
+      return;
+    }
+
+    for (double[] row : value)
+    {
+      if (row != null)
+      {
+        int j = 0;
+        for (double x : row)
+        {
+          row[j] = val - x;
+          j++;
+        }
+      }
+    }
+  }
 }