]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/least-squares.cc
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / lily / least-squares.cc
index d589ea06fcf348f2b74f98f49fbdc18f95b52a79..c7ca185bbfa4ea8de4763339bbaf30c65dab0edb 100644 (file)
@@ -1,26 +1,25 @@
-/*   
+/*
   least-squares.cc -- implement minimise_least_squares
-  
+
   source file of the GNU LilyPond music typesetter
-  
-  (c) 1996--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-  
- */
+
+  (c) 1996--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
+*/
 
 #include "least-squares.hh"
 
 #include "warn.hh"
 
 void
-minimise_least_squares (Real * coef, Real * offset,
-                       Array<Offset> const &input)
+minimise_least_squares (Real *coef, Real *offset,
+                       vector<Offset> const &input)
 {
   Real sx = 0.0;
   Real sy = 0.0;
   Real sqx = 0.0;
   Real sxy = 0.0;
 
-  for (int i = 0; i < input.size ();i++) 
+  for (vsize i = 0; i < input.size ();i++)
     {
       Real x = input[i][X_AXIS];
       Real y = input[i][Y_AXIS];
@@ -33,18 +32,18 @@ minimise_least_squares (Real * coef, Real * offset,
 
   *coef = 0.0;
   *offset = 0.;
-  
-  Real den = (N*sqx - sqr (sx));
+
+  Real den = (N * sqx - sqr (sx));
   if (!N || !den)
     {
       programming_error ("minimise_least_squares ():  Nothing to minimise");
       *coef = 0.0;
-      *offset = N ? sy/N : 0.0;
+      *offset = N ? sy / N : 0.0;
     }
   else
     {
-      *coef = (N * sxy - sx*sy)/den;
-      *offset = (sy - (*coef) * sx)/N;
+      *coef = (N *sxy - sx * sy) / den;
+      *offset = (sy - (*coef) * sx) / N;
     }
 }