Finished organzing preferential vote tables into one partial. Also changed RubyVote...
[selectricity] / lib / rubyvote / condorcet.rb
index d0210efe19cfbf4fd09f9feb9dc82e4678583b74..0cc169647b4526202347e74054f0173b5d994a69 100644 (file)
@@ -124,32 +124,29 @@ class CondorcetResult < ElectionResult
   
   def victories_and_ties
     victors = Array.new
-    ties = Array.new
-    victories = Hash.new
+    victories_ties = Hash.new
     candidates = @matrix.keys.sort
     
     candidates.each do |candidate|
       candidates.each do |challenger|
         next if candidate == challenger
         diff = @matrix[candidate][challenger] - @matrix[challenger][candidate]
-        if diff > 0 
-          victors << [candidate, challenger, diff]
-        elsif diff == 0 && ties.include?([challenger, candidate]) == false
-          ties << [candidate, challenger] 
+        if diff >= 0 
+          victors << [candidate, challenger, diff] 
         end
       end
     end  
     
     victors.each do |list|
-      if victories.has_key?(list[0])
-        victories[list[0]][list[1]] = list[2]       
+      if victories_ties.has_key?(list[0])
+        victories_ties[list[0]][list[1]] = list[2]       
       else
-        victories[list[0]] = Hash.new
-        victories[list[0]][list[1]] = list[2]
+        victories_ties[list[0]] = Hash.new
+        victories_ties[list[0]][list[1]] = list[2]
       end
     end
     
-    return victoriesties    
+    return victories_ties    
   end
 
   def ranked_candidates

Benjamin Mako Hill || Want to submit a patch?