]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/page-spacing-result.cc
Merge commit 'origin/dev/jneeman' into systems-per-page
[lilypond.git] / lily / page-spacing-result.cc
index 9a05ef802b1c87e9a05aaa95e32ec76e9059adb6..19ae1d9b76085bf517606845f805daf90e80a938 100644 (file)
@@ -3,16 +3,18 @@
   
   source file of the GNU LilyPond music typesetter
   
-  (c) 2007 Han-Wen Nienhuys <hanwen@lilypond.org>
+  (c) 2007--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
   
 */
 
 #include "page-spacing-result.hh"
+#include <cstdio>
 
 Page_spacing_result::Page_spacing_result ()
 {
   penalty_ = 0;
   demerits_ = infinity_f;
+  system_count_status_ = SYSTEM_COUNT_OK;
 }
 
 vsize
@@ -24,3 +26,29 @@ Page_spacing_result::system_count () const
 
   return total;      
 }
+
+vsize
+Page_spacing_result::page_count () const
+{
+  return systems_per_page_.size();
+}
+
+Real
+Page_spacing_result::average_force () const
+{
+  Real average_force = 0;
+  for (vsize i = 0; i < page_count (); i++)
+    average_force += force_[i];
+
+  average_force /= page_count ();
+  return average_force;
+}
+
+void
+Page_spacing_result::print () const
+{
+  printf ("penalty %lf, demerits %lf\n" , penalty_, demerits_);
+  for (vsize i = 0; i < page_count (); i++)
+    printf (" %d:  #sys=%d, force=%lf\n", int (i), int (systems_per_page_[i]),
+           force_[i]);
+}