}
my @options;
for my $option (@{$options{option}}) {
- my ($key,$name,$majority) = $option =~ /^\s*([^:]+)\s*:\s*(.+?)\s*(?::(\d+))?$/;
+ my ($key,$name,$majority) = $option =~ /^\s*([^:]+?)\s*:\s*(.+?)\s*(?::(\d+))?$/;
$majority //= 1;
push @options,{key => $key,
name => $name,
my $ratio = 1.0 * $Beat_Matrix[$i][$max_choices - 1] /
$Beat_Matrix[$max_choices - 1][$i];
$Ratio{$i} = sprintf("%.2f", $ratio);
- if ($ratio < $order_to_options{$i + 1}{majority} and $Beat_Matrix[$i][$max_choices - 1] or $ratio <= 1) {
+ if ($ratio < $order_to_options{$i + 1}{majority} or $ratio <= 1) {
# If the next line is commented out, we get a more verbose set of results
$Drop{$i}++;
print {$RESULTS} "Dropping Option ", $order_to_options{$i + 1}{key},
" because of Majority. ($ratio)";
- my $comparison_sign = $order_to_options{$i + 1}{majority} == 1 ? '<' : '<=';
+ my $comparison_sign = $order_to_options{$i + 1}{majority} == 1 ? '<=' : '<';
printf {$RESULTS} " %6.3f (%d/%d) $comparison_sign %d\n",
$ratio, $Beat_Matrix[$i][$max_choices - 1],
$Beat_Matrix[$max_choices - 1][$i],
} else {
print {$RESULTS} "Option ", $order_to_options{$i + 1}{key}, " passes Majority.";
print {$RESULTS} " ";
- printf {$RESULTS} " %6.3f (%d/%d) >= %d\n",
+ my $comparison_sign = $order_to_options{$i + 1}{majority} == 1 ? '>' : '>=';
+ printf {$RESULTS} " %6.3f (%d/%d) $comparison_sign %d\n",
$ratio, $Beat_Matrix[$i][$max_choices - 1],
$Beat_Matrix[$max_choices - 1][$i],
$order_to_options{$i + 1}{majority};