]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/formula/LinestFormulaFunction.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.spreadsheet.graph / src / org / simantics / spreadsheet / graph / formula / LinestFormulaFunction.java
index dc15b99b1dcf03634dbd2f37b1ca6fecf5c049fb..dd037e9eaae010927dee651aadca7a5474d19014 100644 (file)
@@ -1,77 +1,77 @@
-package org.simantics.spreadsheet.graph.formula;\r
-\r
-import org.apache.commons.math3.stat.regression.OLSMultipleLinearRegression;\r
-import org.simantics.spreadsheet.graph.CellFormulaFunction;\r
-import org.simantics.spreadsheet.graph.CellValueVisitor;\r
-import org.simantics.spreadsheet.graph.SpreadsheetGraphUtils;\r
-import org.simantics.spreadsheet.graph.SpreadsheetMatrix;\r
-import org.simantics.spreadsheet.graph.parser.ast.AstArgList;\r
-\r
-public class LinestFormulaFunction implements CellFormulaFunction<SpreadsheetMatrix> {\r
-\r
-    @Override\r
-    public SpreadsheetMatrix evaluate(CellValueVisitor visitor, AstArgList args) {\r
-        if (args.values.size() != 4)\r
-            throw new IllegalStateException();\r
-\r
-        Object ys = args.values.get(0).accept(visitor);\r
-        Object xs = args.values.get(1).accept(visitor);\r
-\r
-        if (xs instanceof SpreadsheetMatrix) {\r
-\r
-            OLSMultipleLinearRegression reg = new OLSMultipleLinearRegression();\r
-\r
-            SpreadsheetMatrix xsm = (SpreadsheetMatrix) xs;\r
-            SpreadsheetMatrix ysm = (SpreadsheetMatrix) ys;\r
-\r
-            if (xsm.getWidth() > 1) {\r
-\r
-                double y[] = new double[ysm.values.length];\r
-                double x[][] = new double[ysm.values.length][xsm.getWidth()];\r
-\r
-                for (int i = 0; i < ysm.values.length; i++) {\r
-                    y[i] = SpreadsheetGraphUtils.asNumber(ysm.values[i]);\r
-                    for (int j = 0; j < xsm.getWidth(); j++) {\r
-                        x[i][j] = SpreadsheetGraphUtils.asNumber(xsm.get(i, j));\r
-                    }\r
-                }\r
-\r
-                reg.newSampleData(y, x);\r
-\r
-                int width = xsm.getWidth() + 1;\r
-                SpreadsheetMatrix result = new SpreadsheetMatrix(width, 5);\r
-                double[] pars = reg.estimateRegressionParameters();\r
-                for (int i = 0; i < width; i++)\r
-                    result.set(0, width - i - 1, pars[i]);\r
-                double[] errs = reg.estimateRegressionParametersStandardErrors();\r
-                for (int i = 0; i < width; i++)\r
-                    result.set(1, width - i - 1, errs[i]);\r
-\r
-                double sstotal = reg.calculateTotalSumOfSquares();\r
-                double ssresid = reg.calculateResidualSumOfSquares();\r
-                double ssreg = sstotal - ssresid;\r
-                double F = 0;\r
-                double r2 = ssreg / sstotal;\r
-                double sey = reg.estimateRegressionStandardError();\r
-                double df = width;\r
-\r
-                result.set(2, 0, r2);\r
-                result.set(2, 1, sey);\r
-                result.set(3, 0, F);\r
-                result.set(3, 1, df);\r
-                result.set(4, 0, ssreg);\r
-                result.set(4, 1, ssresid);\r
-                result.set(2,2, FormulaError2.NA.getString());\r
-                result.set(3,2, FormulaError2.NA.getString());\r
-                result.set(4,2, FormulaError2.NA.getString());\r
-                \r
-                return result;\r
-\r
-            }\r
-\r
-        }\r
-\r
-        return null;\r
-    }\r
-\r
-}\r
+package org.simantics.spreadsheet.graph.formula;
+
+import org.apache.commons.math3.stat.regression.OLSMultipleLinearRegression;
+import org.simantics.spreadsheet.graph.CellFormulaFunction;
+import org.simantics.spreadsheet.graph.CellValueVisitor;
+import org.simantics.spreadsheet.graph.SpreadsheetGraphUtils;
+import org.simantics.spreadsheet.graph.SpreadsheetMatrix;
+import org.simantics.spreadsheet.graph.parser.ast.AstArgList;
+
+public class LinestFormulaFunction implements CellFormulaFunction<SpreadsheetMatrix> {
+
+    @Override
+    public SpreadsheetMatrix evaluate(CellValueVisitor visitor, AstArgList args) {
+        if (args.values.size() != 4)
+            throw new IllegalStateException();
+
+        Object ys = args.values.get(0).accept(visitor);
+        Object xs = args.values.get(1).accept(visitor);
+
+        if (xs instanceof SpreadsheetMatrix) {
+
+            OLSMultipleLinearRegression reg = new OLSMultipleLinearRegression();
+
+            SpreadsheetMatrix xsm = (SpreadsheetMatrix) xs;
+            SpreadsheetMatrix ysm = (SpreadsheetMatrix) ys;
+
+            if (xsm.getWidth() > 1) {
+
+                double y[] = new double[ysm.values.length];
+                double x[][] = new double[ysm.values.length][xsm.getWidth()];
+
+                for (int i = 0; i < ysm.values.length; i++) {
+                    y[i] = SpreadsheetGraphUtils.asNumber(ysm.values[i]);
+                    for (int j = 0; j < xsm.getWidth(); j++) {
+                        x[i][j] = SpreadsheetGraphUtils.asNumber(xsm.get(i, j));
+                    }
+                }
+
+                reg.newSampleData(y, x);
+
+                int width = xsm.getWidth() + 1;
+                SpreadsheetMatrix result = new SpreadsheetMatrix(width, 5);
+                double[] pars = reg.estimateRegressionParameters();
+                for (int i = 0; i < width; i++)
+                    result.set(0, width - i - 1, pars[i]);
+                double[] errs = reg.estimateRegressionParametersStandardErrors();
+                for (int i = 0; i < width; i++)
+                    result.set(1, width - i - 1, errs[i]);
+
+                double sstotal = reg.calculateTotalSumOfSquares();
+                double ssresid = reg.calculateResidualSumOfSquares();
+                double ssreg = sstotal - ssresid;
+                double F = 0;
+                double r2 = ssreg / sstotal;
+                double sey = reg.estimateRegressionStandardError();
+                double df = width;
+
+                result.set(2, 0, r2);
+                result.set(2, 1, sey);
+                result.set(3, 0, F);
+                result.set(3, 1, df);
+                result.set(4, 0, ssreg);
+                result.set(4, 1, ssresid);
+                result.set(2,2, FormulaError2.NA.getString());
+                result.set(3,2, FormulaError2.NA.getString());
+                result.set(4,2, FormulaError2.NA.getString());
+                
+                return result;
+
+            }
+
+        }
+
+        return null;
+    }
+
+}