From: Joe Neeman Date: Fri, 20 Aug 2010 06:27:12 +0000 (-0700) Subject: Optimize optimal-page-breaking. X-Git-Tag: release/2.13.31-1~15 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=fb2da83dbad533dae077e96d314b69a103df6ab3;p=lilypond.git Optimize optimal-page-breaking. Use the new, faster, space_systems_on_best_pages instead of space_systems_on_n_pages and friends. --- diff --git a/lily/optimal-page-breaking.cc b/lily/optimal-page-breaking.cc index 60dddd4212..e9010aec09 100644 --- a/lily/optimal-page-breaking.cc +++ b/lily/optimal-page-breaking.cc @@ -102,13 +102,12 @@ Optimal_page_breaking::solve () for (vsize i = 0; i < current_configuration_count (); i++) { - vsize min_p_count = min_page_count (i, first_page_num); Page_spacing_result cur; - if (min_p_count == page_count || scm_is_integer (forced_page_count)) + if (scm_is_integer (forced_page_count)) cur = space_systems_on_n_pages (i, page_count, first_page_num); else - cur = space_systems_on_n_or_one_more_pages (i, page_count-1, first_page_num, 0); + cur = space_systems_on_best_pages (i, first_page_num); if (cur.demerits_ < best_for_this_sys_count.demerits_) { @@ -162,8 +161,10 @@ Optimal_page_breaking::solve () if (min_p_count > page_count) continue; - else + else if (scm_is_integer (forced_page_count)) cur = space_systems_on_n_pages (i, page_count, first_page_num); + else + cur = space_systems_on_best_pages (i, first_page_num); if (cur.demerits_ < best.demerits_) {