liquid_feedback_core
changeset 368:18289b64def1
In "lf_update_suggestion_order" take ballot weight into account
author | jbe |
---|---|
date | Sun Mar 17 15:37:25 2013 +0100 (2013-03-17) |
parents | f690ef9147f7 |
children | cad83f274b79 |
files | lf_update_suggestion_order.c |
line diff
1.1 --- a/lf_update_suggestion_order.c Sun Mar 17 15:33:27 2013 +0100 1.2 +++ b/lf_update_suggestion_order.c Sun Mar 17 15:37:25 2013 +0100 1.3 @@ -100,7 +100,7 @@ 1.4 } 1.5 if (matches) { 1.6 double score_inc; 1.7 - score_inc = 1.0 / (double)matches; 1.8 + score_inc = (double)ballots[i].weight / (double)matches; 1.9 for (k=0; k<ballots[i].sections[j].count; k++) { 1.10 struct candidate *candidate; 1.11 candidate = ballots[i].sections[j].candidates[k]; 1.12 @@ -112,12 +112,12 @@ 1.13 } 1.14 } 1.15 } 1.16 - scale = (double)candidate_count; 1.17 + scale = (double)0.0; 1.18 for (i=0; i<candidate_count; i++) { 1.19 double max_scale; 1.20 if (candidates[i].score_per_step > 0.0) { 1.21 max_scale = (1.0-candidates[i].score) / candidates[i].score_per_step; 1.22 - if (max_scale <= scale) { 1.23 + if (scale == 0.0 || max_scale <= scale) { 1.24 scale = max_scale; 1.25 candidates[i].reaches_score = 1; 1.26 }