Bump version.
[lilypond.git] / lily / page-spacing-result.cc
blobf3d5b21e22c82b818d7a24d00e8a7e9c3200bc52
1 /*
2 page-spacing-result.cc -- implement Page_spacing_result
4 source file of the GNU LilyPond music typesetter
6 (c) 2007--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
8 */
10 #include "page-spacing-result.hh"
11 #include <cstdio>
13 Page_spacing_result::Page_spacing_result ()
15 penalty_ = 0;
16 demerits_ = infinity_f;
19 vsize
20 Page_spacing_result::system_count () const
22 vsize total = 0;
23 for (vsize i = 0; i < systems_per_page_.size(); i++)
24 total += systems_per_page_[i];
26 return total;
29 vsize
30 Page_spacing_result::page_count () const
32 return systems_per_page_.size();
35 Real
36 Page_spacing_result::average_force () const
38 Real average_force = 0;
39 for (vsize i = 0; i < page_count (); i++)
40 average_force += force_[i];
42 average_force /= page_count ();
43 return average_force;
46 void
47 Page_spacing_result::print () const
49 printf ("penalty %lf, demerits %lf\n" , penalty_, demerits_);
50 for (vsize i = 0; i < page_count (); i++)
51 printf (" %d: #sys=%d, force=%lf\n", int (i), int (systems_per_page_[i]),
52 force_[i]);