Changeset 11742 for branches/HeuristicLab.Problems.GrammaticalOptimization/HeuristicLab.Common/Extensions.cs
- Timestamp:
- 01/09/15 14:57:28 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Problems.GrammaticalOptimization/HeuristicLab.Common/Extensions.cs
r11732 r11742 8 8 public static class Extensions { 9 9 public static bool IsAlmost(this double x, double y) { 10 return Math.Abs(x - y) < 1.0e- 6;10 return Math.Abs(x - y) < 1.0e-12; 11 11 } 12 12 … … 38 38 var ssX = 0.0; 39 39 var ssY = 0.0; 40 foreach (var p in xs.Zip(ys, (x, y) => new { x, y })) { 41 s += (p.x - meanX) * (p.y - meanY); 42 ssX += Math.Pow(p.x - meanX, 2); 43 ssY += Math.Pow(p.y - meanY, 2); 40 var xEnum = xs.GetEnumerator(); 41 var yEnum = ys.GetEnumerator(); 42 while (xEnum.MoveNext() & yEnum.MoveNext()) { 43 var x = xEnum.Current; 44 var y = yEnum.Current; 45 s += (x - meanX) * (y - meanY); 46 ssX += Math.Pow(x - meanX, 2); 47 ssY += Math.Pow(y - meanY, 2); 44 48 } 49 if (xEnum.MoveNext() | yEnum.MoveNext()) throw new ArgumentException("lengths are not equal"); 45 50 46 51 if (s.IsAlmost(0)) return 0;
Note: See TracChangeset
for help on using the changeset viewer.