]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/SpreadsheetMatrix.java
Adopt spreadsheet changes made in Balas development
[simantics/platform.git] / bundles / org.simantics.spreadsheet.graph / src / org / simantics / spreadsheet / graph / SpreadsheetMatrix.java
diff --git a/bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/SpreadsheetMatrix.java b/bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/SpreadsheetMatrix.java
deleted file mode 100644 (file)
index b9a4f95..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-package org.simantics.spreadsheet.graph;
-
-import java.io.Serializable;
-
-import org.simantics.databoard.binding.mutable.Variant;
-import org.simantics.spreadsheet.graph.formula.FormulaError2;
-
-public class SpreadsheetMatrix implements Serializable {
-
-       private static final long serialVersionUID = 5729700370527844640L;
-       
-       private int w;
-       private int h;
-       public Object[] values;
-       
-       public SpreadsheetMatrix(int w, int h) {
-               this.w = w;
-               this.h = h;
-               this.values = new Object[w*h];
-       }
-       
-       public Object get(int row, int column) {
-               return values[w*row+column];
-       }
-       
-       public void set(int row, int column, Object value) {
-               values[w*row+column] = value;
-       }
-
-       public int getWidth() {
-               return w;
-       }
-
-       public int getHeight() {
-               return h;
-       }
-       
-       public double sum() {
-               double result = 0;
-               for(int i=0;i<values.length;i++) {
-                       Number n = SpreadsheetGraphUtils.asValidNumber(values[i]);
-                       if(n != null) result += n.doubleValue();
-               }
-               return result;
-       }
-       
-       public Object sumWithFormulaError(){
-               Double result = 0.0;
-               for(int i = 0; i < values.length; i++){
-                       Object obj = values[i];
-                       if(obj != null){
-                               FormulaError2 error = FormulaError2.forObject(obj);
-                if(error!=null) return error.getString();
-                    
-                Number n = SpreadsheetGraphUtils.asValidNumber(obj);
-                               if(n != null) result += n.doubleValue();
-                       }
-               }
-               return result;
-       }
-
-       public double average() {
-               double result = 0;
-               double count = 0;
-               for(int i=0;i<values.length;i++) {
-                       Number n = SpreadsheetGraphUtils.asValidNumber(values[i]);
-                       if(n != null) {
-                               result += n.doubleValue();
-                               count++;
-                       }
-               }
-               if(count == 0) return result;
-               return result / count;
-       }
-       
-       public double countOfActualDoubleValues(){
-               double count = 0.0;
-               for(int i = 0; i < values.length; i++){
-                       Number n = SpreadsheetGraphUtils.asValidNumber(values[i]);
-                       if(n!=null) count++;
-               }
-               return count;
-       }
-       
-       public Object productWithFormulaError(){
-               Double result = 1.0;
-               boolean atLeastOne = false;
-               for(int i = 0; i < values.length; i++){
-                       Object obj = values[i];
-                       if(obj != null){
-                               FormulaError2 error = FormulaError2.forObject(obj);
-                       if(error!=null) return error.getString();
-                       
-                               Number n = SpreadsheetGraphUtils.asValidNumber(values[i]);
-                               if(n != null) {
-                                       double dval = n.doubleValue();
-                                       if(dval<=0) return FormulaError2.NUM.getString();
-                                       result = result*dval;
-                                       atLeastOne = true;
-                               }
-                       }
-               }
-               if(atLeastOne) return result;
-               else return 0.0;
-       }
-       
-       public SpreadsheetMatrix pow(Object exponent_) {
-               if(exponent_ instanceof SpreadsheetMatrix) {
-                       SpreadsheetMatrix exponent = (SpreadsheetMatrix)exponent_;
-                       SpreadsheetMatrix result = new SpreadsheetMatrix(exponent.w, h);
-                       for(int i=0;i<h;i++) {
-                               for(int j=0;j<exponent.w;j++) {
-                                       result.set(i,j, Math.pow(SpreadsheetGraphUtils.asNumber(get(i, 0)),
-                                                       SpreadsheetGraphUtils.asNumber(exponent.get(0, j))));
-                               }
-                       }
-                       return result;
-               } else {
-                       double n = SpreadsheetGraphUtils.asNumber(exponent_);
-                       SpreadsheetMatrix result = new SpreadsheetMatrix(w, h);
-                       for(int i=0;i<result.values.length;i++) {
-                               result.values[i] = Math.pow(SpreadsheetGraphUtils.asNumber(values[i]), n);
-                       }
-                       return result;
-               }
-       }
-       
-       
-}
\ No newline at end of file