]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/SpreadsheetMatrix.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.spreadsheet.graph / src / org / simantics / spreadsheet / graph / SpreadsheetMatrix.java
index d9ab4ec55b466289c2da24e959ced70f71f9ca51..b9a4f95cf79d9af0a9fdbb080154868a71bad575 100644 (file)
-package org.simantics.spreadsheet.graph;\r
-\r
-import java.io.Serializable;\r
-\r
-import org.simantics.databoard.binding.mutable.Variant;\r
-import org.simantics.spreadsheet.graph.formula.FormulaError2;\r
-\r
-public class SpreadsheetMatrix implements Serializable {\r
-\r
-       private static final long serialVersionUID = 5729700370527844640L;\r
-       \r
-       private int w;\r
-       private int h;\r
-       public Object[] values;\r
-       \r
-       public SpreadsheetMatrix(int w, int h) {\r
-               this.w = w;\r
-               this.h = h;\r
-               this.values = new Object[w*h];\r
-       }\r
-       \r
-       public Object get(int row, int column) {\r
-               return values[w*row+column];\r
-       }\r
-       \r
-       public void set(int row, int column, Object value) {\r
-               values[w*row+column] = value;\r
-       }\r
-\r
-       public int getWidth() {\r
-               return w;\r
-       }\r
-\r
-       public int getHeight() {\r
-               return h;\r
-       }\r
-       \r
-       public double sum() {\r
-               double result = 0;\r
-               for(int i=0;i<values.length;i++) {\r
-                       Number n = SpreadsheetGraphUtils.asValidNumber(values[i]);\r
-                       if(n != null) result += n.doubleValue();\r
-               }\r
-               return result;\r
-       }\r
-       \r
-       public Object sumWithFormulaError(){\r
-               Double result = 0.0;\r
-               for(int i = 0; i < values.length; i++){\r
-                       Object obj = values[i];\r
-                       if(obj != null){\r
-                               FormulaError2 error = FormulaError2.forObject(obj);\r
-                if(error!=null) return error.getString();\r
-                    \r
-                Number n = SpreadsheetGraphUtils.asValidNumber(obj);\r
-                               if(n != null) result += n.doubleValue();\r
-                       }\r
-               }\r
-               return result;\r
-       }\r
-\r
-       public double average() {\r
-               double result = 0;\r
-               double count = 0;\r
-               for(int i=0;i<values.length;i++) {\r
-                       Number n = SpreadsheetGraphUtils.asValidNumber(values[i]);\r
-                       if(n != null) {\r
-                               result += n.doubleValue();\r
-                               count++;\r
-                       }\r
-               }\r
-               if(count == 0) return result;\r
-               return result / count;\r
-       }\r
-       \r
-       public double countOfActualDoubleValues(){\r
-               double count = 0.0;\r
-               for(int i = 0; i < values.length; i++){\r
-                       Number n = SpreadsheetGraphUtils.asValidNumber(values[i]);\r
-                       if(n!=null) count++;\r
-               }\r
-               return count;\r
-       }\r
-       \r
-       public Object productWithFormulaError(){\r
-               Double result = 1.0;\r
-               boolean atLeastOne = false;\r
-               for(int i = 0; i < values.length; i++){\r
-                       Object obj = values[i];\r
-                       if(obj != null){\r
-                               FormulaError2 error = FormulaError2.forObject(obj);\r
-                       if(error!=null) return error.getString();\r
-                       \r
-                               Number n = SpreadsheetGraphUtils.asValidNumber(values[i]);\r
-                               if(n != null) {\r
-                                       double dval = n.doubleValue();\r
-                                       if(dval<=0) return FormulaError2.NUM.getString();\r
-                                       result = result*dval;\r
-                                       atLeastOne = true;\r
-                               }\r
-                       }\r
-               }\r
-               if(atLeastOne) return result;\r
-               else return 0.0;\r
-       }\r
-       \r
-       public SpreadsheetMatrix pow(Object exponent_) {\r
-               if(exponent_ instanceof SpreadsheetMatrix) {\r
-                       SpreadsheetMatrix exponent = (SpreadsheetMatrix)exponent_;\r
-                       SpreadsheetMatrix result = new SpreadsheetMatrix(exponent.w, h);\r
-                       for(int i=0;i<h;i++) {\r
-                               for(int j=0;j<exponent.w;j++) {\r
-                                       result.set(i,j, Math.pow(SpreadsheetGraphUtils.asNumber(get(i, 0)),\r
-                                                       SpreadsheetGraphUtils.asNumber(exponent.get(0, j))));\r
-                               }\r
-                       }\r
-                       return result;\r
-               } else {\r
-                       double n = SpreadsheetGraphUtils.asNumber(exponent_);\r
-                       SpreadsheetMatrix result = new SpreadsheetMatrix(w, h);\r
-                       for(int i=0;i<result.values.length;i++) {\r
-                               result.values[i] = Math.pow(SpreadsheetGraphUtils.asNumber(values[i]), n);\r
-                       }\r
-                       return result;\r
-               }\r
-       }\r
-       \r
-       \r
+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